Chisel (язык программирования)
![]() | |
Парадигмы | Мультипарадигмальность : параллельная , функциональная , императивная , объектно-ориентированная. |
---|---|
Семья | Скала |
Разработчик | Калифорнийский университет, Беркли |
Впервые появился | июнь 2012 г |
Стабильная версия | 3.6.0
/ 14 апреля 2023 г |
Дисциплина набора текста | Предполагаемый , статический , сильный , структурный. |
Объем | Лексический (статический) |
Язык реализации | Скала |
Платформа | Виртуальная машина Java (JVM) JavaScript ( Scala.js ) LLVM ( Scala Native ) (экспериментальный) |
Веб-сайт | www |
Chisel ( аббревиатура от «Конструирование оборудования на встроенном языке Scala»). [1] с открытым исходным кодом ) — это язык описания аппаратного обеспечения (HDL), используемый для описания цифровой электроники и схем на уровне передачи регистров . [2] [3]
Chisel основан на Scala как предметно-ориентированном языке (DSL). Chisel унаследовал аспекты объектно-ориентированного и функционального программирования Scala для описания цифрового оборудования. Использование Scala в качестве основы позволяет описывать генераторы схем. Высококачественная документация в свободном доступе существует на нескольких языках. [4]
Схемы, описанные в Chisel, можно преобразовать в описание в Verilog для синтеза и моделирования .
Примеры кода [ править ]
Простой пример, описывающий схему сумматора и показывающий организацию компонентов в модуле с портами ввода и вывода :
class Add extends Module {
val io = IO(new Bundle {
val a = Input(UInt(8.W))
val b = Input(UInt(8.W))
val y = Output(UInt(8.W))
})
io.y := io.a + io.b
}
32-битный регистр со значением сброса 0:
val reg = RegInit(0.U(32.W))
Мультиплексор : является частью библиотеки Chisel
val result = Mux(sel, a, b)
Используйте [ править ]
Хотя Chisel еще не стал основным языком описания оборудования, его исследовали несколько компаний и учреждений. Наиболее известным применением Chisel является реализация набора инструкций RISC-V , чипа Rocket с открытым исходным кодом. [5] Агентство перспективных исследовательских проектов Министерства обороны ( DARPA ) упоминает Chisel как технологию, позволяющую повысить эффективность проектирования электроники, когда небольшие группы разработчиков создают более крупные конструкции. [6] Google использовала Chisel для разработки тензорного процессора для периферийных вычислений . [7] Некоторые разработчики предпочитают Chisel, поскольку он требует в 5 раз меньше кода и его разработка намного быстрее, чем Verilog. [8]
Схемы, описанные в Chisel, можно преобразовать в описание в Verilog для синтеза и моделирования с помощью программы под названием FIRRTL . [9] [ нужен лучший источник ]
См. также [ править ]
Ссылки [ править ]
- ^ Бахрах, Дж.; Во, Х.; Ричардс, Б.; Ли, Ю.; Уотерман, А.; Авижиенис Р.; Вавжинек, Дж.; Асанович, К. (июнь 2012 г.). «Chisel: создание аппаратного обеспечения на встроенном языке Scala» . Материалы 49-й ежегодной конференции по автоматизации проектирования (DAC 2012) . Сан-Франциско, Калифорния, США: Ассоциация вычислительной техники (ACM). стр. 1216–25. дои : 10.1145/2228360.2228584 . ISBN 978-1-4503-1199-1 .
- ^ «Долото» . люди.eecs.berkeley.edu . Калифорния, США: Калифорнийский университет, Беркли . Архивировано из оригинала 16 октября 2021 г. Проверено 8 июля 2020 г.
- ^ Бахрах, Джонатан (ред.). «Долото: ускорение проектирования оборудования» (PDF) . РИСК-V . Калифорния, США: RISC-V International.
- ^ Шоберль, Мартин (30 августа 2019 г.). Цифровой дизайн с долотом (на английском, китайском, японском и вьетнамском языках) (2-е изд.). Kindle Direct Publishing. ISBN 978-1689336031 .
- ^ Асанович, Крсте ; и др. «ракетный чип» . Гитхаб . RISC-V International . Проверено 11 ноября 2016 г.
- ^ Мур, Сэмюэл К. (16 июля 2018 г.). «DARPA планирует масштабный ремейк американской электроники» . IEEE-спектр . Институт инженеров по электротехнике и электронике (IEEE) . Проверено 10 июня 2020 г.
- ^ Дерек Локхарт, Стивен Твигг, Рави Нараянасвами, Джереми Кориелл, Удай Дасари, Ричард Хо, Дуг Хогберг, Джордж Хуанг, Ананд Кейн, Чинтан Каур, Тао Лю, Адриана Маджоре, Кевин Таунсенд, Эмре Тансер (16 ноября 2018 г.). Опыт создания Edge TPU с Chisel . Проверено 10 июня 2020 г.
- ^ «64-битный процессор RISC-V с открытым исходным кодом XiangShan составит конкуренцию Arm Cortex-A76 — CNX Software» . CNX Software — Новости встраиваемых систем . 05.07.2021 . Проверено 26 марта 2022 г.
- ^ «Структура аппаратного компилятора Chisel/FIRRTL» . Проверено 8 сентября 2022 г.