Комментарии 4
Если писать на чизеле как на верилоге, то профита не будет. Будет тот же верилог, но с другим синтаксисом. Чтобы профит был, нужно сильно сломать привычный подход к написанию RTL. Очень сильно. И Скалу подучить. Такое мое ИМХО :)
Есть примеры? Нужно написать какой-то базовый набор классов и потом пользоваться экземплярами этих классов?
В общем да. Применять более программистский подход - максимально переиспользовать код (в виде API чизела), использовать ООП в плане построения абстракций, инкапсуляции и сокрытия, использовать возможности скалы. На таком маленьком проекте это конечно не просто показать, но есть куда стремиться.
В качестве примеров можно посмотреть открытые проекты на чизеле и спинале, например VexRiscv.
Примерно так же получается, когда программист на Си начинает писать код на С++. У него первое время выходи тот же Си, только файл с другим расширением. Потом приходит понимание, как надо.
Еще бы сравнить результаты синтеза и имплементации sv и chisel. А то не ясны предпосылки и преимущества его использования. Более компактный код, более понятный ооп-программистам? Отлично, но в кристалле нет инкапсуляции, наследования и полиморфизма. Как получить выгоду от скрещивания бульдога с носорогом - классов с лутами и ff? И где потом в таком компактном коде искать фанауты и logic levels? Не нравится мне этот тренд натагивания fpga на программистов (или наоборот), который в итоге сводится к надежде на умный сапр и констрэйны.
Chisel, первый взгляд RTL-разработчика