Slang продолжает развиваться. В проекте появился новый инструмент - slang-netlist.
Теперь можно построить структурный граф непосредственно из RTL на SystemVerilog, без работы с инструментами синтеза. Это открывает возможность проще анализировать дизайн еще на раннем этапе разработки.
Что уже умеет slang-netlist:
Для разрабочиков это означает, что многие задачи по анализу связности и путей сигналов, изучению проекта - значительно упрощается.
Отдельно интересно, как это можно использовать вместе с WavePeek и LLM-агентами.
Вместо множества "grep" по RTL файлам для поиска всех вхождений сигнала агент может один раз построить граф зависимостей через "slang-netlist" и дальше выполнять навигацию по нему. Это делает анализ fan-in/fan-out и поиск путей между сигналами значительно быстрее и надежнее, поскольку агент работает со структурой дизайна, а не с текстом исходников.
Репозиторий: https://github.com/jameshanlon/slang-netlist
Теперь можно построить структурный граф непосредственно из RTL на SystemVerilog, без работы с инструментами синтеза. Это открывает возможность проще анализировать дизайн еще на раннем этапе разработки.
Что уже умеет slang-netlist:
Bit-level resolution of data dependencies across continuous and procedural assignments.
Procedural flow analysis in always blocks, including evaluation of constant-valued conditions, unrolling of static loops, and tracking of non-blocking assignments.
Path finding and combinational loop detection.
Driver, port, and register reporting.
Для разрабочиков это означает, что многие задачи по анализу связности и путей сигналов, изучению проекта - значительно упрощается.
Отдельно интересно, как это можно использовать вместе с WavePeek и LLM-агентами.
Вместо множества "grep" по RTL файлам для поиска всех вхождений сигнала агент может один раз построить граф зависимостей через "slang-netlist" и дальше выполнять навигацию по нему. Это делает анализ fan-in/fan-out и поиск путей между сигналами значительно быстрее и надежнее, поскольку агент работает со структурой дизайна, а не с текстом исходников.
Репозиторий: https://github.com/jameshanlon/slang-netlist