Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-22/post/vlsihub/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
Существует достаточное количество опенсорсных парсеров/лексических анализаторов Verilog/SystemVerilog и мне всегда не до конца были понятны юзкейсы их использования: ведь намного проще и гибче управлять генерацией HDL кода @VLSI HUB
TG Telegram Group & Channel
VLSI HUB | United States America (US)
Create: Update:

Существует достаточное количество опенсорсных парсеров/лексических анализаторов Verilog/SystemVerilog и мне всегда не до конца были понятны юзкейсы их использования: ведь намного проще и гибче управлять генерацией HDL кода, чем потом пытаться его анализировать или изменять имеющуюся кодовую базу.

И вот наконец мне встретился кейс для применения анализатора HDL на практике: выявление изменений портов модуля между текущей и предыдущей версиями HDL.

Это можно было бы решить малой кровью и полуручными операциями с использованием grep|cut|sort|sed если бы не особый синтаксис описания портов в стиле:

inout a1, a2, a3, a4, a5;
input [7:0] bcc, bcd, bcf;
..

который башу уже не по зубам.

Подробнее про кейс: разработчик аналогового/миксед-сигнал блока может выгрузить автоматически генерируемый HDL на 100500 портов, часть из которых изменилась (в т.ч. может измениться тип порта) и задача обнаружить эти изменения и проапдейтить инстанциирование модуля в топ-левел блоке и при появлении непонятных портов (или нелогичных типов портов) задать необходимые вопросы разработчику.

Т.е. утилита такого формата здорово бы уменьшила влияние человеческого фактора и сократила расходуемые на это инженеро-часы:
verilog-ports-diff verilog-a.v verilog-b.v


Не попадалось ли кому-либо чего-то готового на эту тему?
(реплики "да там работы на 5 минут" к рассмотрению не принимаются)

@vlsihub

Существует достаточное количество опенсорсных парсеров/лексических анализаторов Verilog/SystemVerilog и мне всегда не до конца были понятны юзкейсы их использования: ведь намного проще и гибче управлять генерацией HDL кода, чем потом пытаться его анализировать или изменять имеющуюся кодовую базу.

И вот наконец мне встретился кейс для применения анализатора HDL на практике: выявление изменений портов модуля между текущей и предыдущей версиями HDL.

Это можно было бы решить малой кровью и полуручными операциями с использованием grep|cut|sort|sed если бы не особый синтаксис описания портов в стиле:
inout a1, a2, a3, a4, a5;
input [7:0] bcc, bcd, bcf;
..

который башу уже не по зубам.

Подробнее про кейс: разработчик аналогового/миксед-сигнал блока может выгрузить автоматически генерируемый HDL на 100500 портов, часть из которых изменилась (в т.ч. может измениться тип порта) и задача обнаружить эти изменения и проапдейтить инстанциирование модуля в топ-левел блоке и при появлении непонятных портов (или нелогичных типов портов) задать необходимые вопросы разработчику.

Т.е. утилита такого формата здорово бы уменьшила влияние человеческого фактора и сократила расходуемые на это инженеро-часы:
verilog-ports-diff verilog-a.v verilog-b.v


Не попадалось ли кому-либо чего-то готового на эту тему?
(реплики "да там работы на 5 минут" к рассмотрению не принимаются)

@vlsihub
🤔511👍1🤯1🫡1


>>Click here to continue<<

VLSI HUB




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Too many connections in /var/www/db.php:16 Stack trace: #0 /var/www/db.php(16): mysqli_connect() #1 /var/www/hottg/function.php(212): db() #2 /var/www/hottg/function.php(115): select() #3 /var/www/hottg/post.php(351): daCache() #4 /var/www/hottg/route.php(63): include_once('...') #5 {main} thrown in /var/www/db.php on line 16