
Сообщение от
Vslav
А если я перепишу Верилог на Си, сил хватит?
Это смотря как переписать.

Сообщение от
Vslav
Можно даже поискать автоматический транслятор Верилог->Cи, тут Patron упоминал про такой
Попробовал я поконвертировать этим Verilator'ом. Модель VM1 из архива vm1_rev12j из директории Async он переварить не смог, пишет такую вещь:
Код:
%Error-MODDUP: vm1_plm.v:1492: Duplicate declaration of module: vm1_pli
%Error-MODDUP: vm1_qbus.v:856: ... Location of original declaration
Впрочем и на модели из более ранних архивов так же ругается, только номера строк другие.
Хотя вроде бы всё не так, в строке 1492 vm1_plm.v - объявление модуля, а в строке 856 vm1_qbus.v - его использование, и никакого объявления. Да ещё и Multiple top level modules ему не нравятся. В общем, всё равно, не понимая, что там к чему в верилог файле, сконвертировать как надо вряд ли получится.
Зато второй подопытный - vp_037.v сконвертировался с кучей варнингов об неоптимизабельных сигналах. На выходе получились те же яйца, только в профиль - ничего не понятно, но теперь на с++, к тому же сильно разбухшая каша из кода, в которой от строгости и лаконичности верилога не осталось и следа.

Сообщение от
Vslav
Переписывание не должно занять много времени, если не заниматься оптимизацией
А и не надо никаких оптимизаций, их всегда можно сделать потом. Я более чем уверен, что у Вас переписание верилога на Си, не важно ++ или просто С, получится эффективнее, чем у автоматического транслятора. К тому же, как мне кажется, сопоставление одного и того же, описанного на Си и Верилоге, поможет в будущем лучше понимать Верилог.
А я, если честно, ожидал окончания реверсинга и написания документации, потому что, имея словесное описание разобраться в алгоритмах на верилоге гораздо проще, поэтому до этого времени просто наблюдал за темой.