Repolode
chipsalliance

chipsalliance/chisel

Встроенный в Scala язык описания аппаратуры для создания параметризуемых генераторов цифровых схем, выпускающих Verilog.

Звёзды
4,829
Форки
666
Открытые issues
522
Последний коммит
вчера

Что это?

Chisel (Constructing Hardware in a Scala Embedded Language) — язык описания аппаратуры для проектирования цифровых устройств на уровне регистровых передач. Вместо того чтобы писать Verilog вручную, разработчики пишут код на Scala, который строит схемы, и используют для генерации аппаратуры обычные конструкции языка — функции, классы и циклы. Результат — синтезируемый Verilog или SystemVerilog, пригодный для разработки ASIC и FPGA.

В основе Chisel лежит генератор схем: параметризуемый класс Scala, например FIR-фильтр, заданный списком коэффициентов, можно создавать и повторно использовать в разных проектах. Стандартная библиотека Chisel (chisel3.util) содержит готовые компоненты, такие как FIFO-очереди, арбитры и интерфейсы ready-valid. Chisel использует промежуточное представление FIRRTL и компилятор CIRCT firtool.

Проект распространяется по лицензии Apache 2.0 и развивается под эгидой CHIPS Alliance. В репозитории есть подпроекты с основной библиотекой, плагином компилятора и библиотекой симуляции svsim, рассчитанной на Verilator и VCS. В документации также приведены ссылки на руководства, учебник и шаблон проекта.

Ключевые возможности

  • 01Описывает аппаратуру на Scala, позволяя повторно использовать классы, функции и циклы для создания параметризуемых схем.
  • 02Генерирует синтезируемый Verilog или SystemVerilog с помощью ChiselStage и firtool.
  • 03Предоставляет стандартную библиотеку с FIFO-очередями, арбитрами и интерфейсами Decoupled ready-valid.
  • 04Включает svsim для запуска симуляций в Verilator и VCS.
  • 05Собирается с помощью Mill и публикует артефакты для использования в проектах sbt.

Сценарии использования

  • Разработка повторно используемых параметризуемых IP-блоков для ASIC или FPGA.
  • Создание процессоров или ускорителей с помощью генераторного подхода к написанию кода.
  • Изучение цифровой схемотехники с современным языком программирования и онлайн-руководствами.
  • Генерация Verilog из кода на Scala для последующих этапов синтеза и симуляции.

Быстрый старт

  1. 1

    Начните с репозитория Chisel Template, в котором уже настроен проект

  2. 2

    Или настройте собственный проект, добавив зависимость Chisel и плагин компилятора в build.sbt

  3. 3

    Попробуйте онлайн-учебник Chisel Bootcamp в браузере — настройка не требуется

Что важно знать

  • Для работы нужна цепочка инструментов Scala и sbt на JVM, что усложняет настройку.
  • Для генерации Verilog необходим компилятор firtool, поэтому некоторые онлайн-среды, например Scastie, не могут генерировать Verilog.

Темы

#hardware-description-language#rtl#scala#verilog#fpga#asic#chip-design#hdl#chip-generator#chisel

Частые вопросы

Что такое chisel?
Встроенный в Scala язык описания аппаратуры для создания параметризуемых генераторов цифровых схем, выпускающих Verilog. Chisel (Constructing Hardware in a Scala Embedded Language) — язык описания аппаратуры для проектирования цифровых устройств на уровне регистровых передач. Вместо того чтобы писать Verilog вручную, разработчики пишут код на Scala, который строит схемы, и используют для генерации аппаратуры обычные конструкции языка — функции, классы и циклы. Результат — синтезируемый Verilog или SystemVerilog, пригодный для разработки ASIC и FPGA.
chisel можно использовать бесплатно? Какая у него лицензия?
chisel распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
chisel всё ещё поддерживается?
Активно поддерживается. Последний коммит в chisel — 6 нояб. 2026 г..
Для чего можно использовать chisel?
Разработка повторно используемых параметризуемых IP-блоков для ASIC или FPGA. Создание процессоров или ускорителей с помощью генераторного подхода к написанию кода. Изучение цифровой схемотехники с современным языком программирования и онлайн-руководствами. Генерация Verilog из кода на Scala для последующих этапов синтеза и симуляции.
Как установить chisel?
Начните с репозитория Chisel Template, в котором уже настроен проект Или настройте собственный проект, добавив зависимость Chisel и плагин компилятора в build.sbt Попробуйте онлайн-учебник Chisel Bootcamp в браузере — настройка не требуется
Где скачать chisel?
Исходный код и инструкции по установке — на GitHub: https://github.com/chipsalliance/chisel

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Высокопроизводительное ядро RISC-V с открытым исходным кодом, написанное на Scala с использованием Chisel и разработанное проектом XiangShan.

Другое#risc-v#processor#chisel
7,4 тыс.+14 за неделю977ScalaMulanPSL-2.0Обновлён 8 часов назад

64-битное ядро RISC-V на SystemVerilog, запускающее Linux на FPGA-плате Arty A7; RTL, тесты и документация созданы с помощью Claude Code.

Другое#risc-v#cpu#fpga
168+4 за неделю32SystemVerilogApache-2.0Обновлён 18 дней назад

Модульный расширяемый фреймворк на Go для создания серверов потокового вещания с поддержкой RTMP, RTSP, HLS, WebRTC и других протоколов.

2,4 тыс.+1 за неделю352GoAGPL-3.0Активно поддерживаетсяОбновлён 2 месяца назад