Программа для создания блок-схемы Verilog
Я хочу создать программу для анализа Verilog и отображения блок-схемы. Может ли кто-нибудь помочь мне с тем, какие алгоритмы мне нужно изучить? Я нашел хороший парсер Verilog, но теперь мне нужно найти связь между каждым блоком и разместить их соответственно. Это не должно быть значительно оптимизировано.
ОБНОВИТЬ:
сейчас я использую ironPython для рисования блок-схемы в Visio.
- Создать список блоков с их входами и выходами
- Создайте график, который сопоставляет все выходы блока с их соответствующими входами. Это в основном имеет все связи между блоками.
- Найдите место для них на диаграмме Visio.
- Нарисуй их на Visio
- Подключите их на Visio.
3 ответа
Yosys - это инструмент для синтеза verilog с открытым исходным кодом. Он также может быть использован для анализа конструкций и создания схем (используя GraphViz). Смотрите скриншоты на веб-странице:
Если я правильно понимаю ваши требования, Yosys уже делает то, что вы хотите. Если вы все еще хотите написать свою собственную программу, вы можете использовать Yosys как справочную информацию, чтобы начать работу.
(Раскрытие конфликта интересов: я автор Yosys.)
Вы также можете попробовать использовать синтез Altera, EASE, конструктор HDL, Synplify HDL Analyst, nSchema или Xilinx PlanAhead.
Если вам нужен только просмотрщик блоков и их взаимосвязей, попробуйте Graphviz. Пример, который вы можете найти в другом потоке Stackru. Вы можете просто проанализировать дизайн HDL и построить их соотношение, а затем записать в текстовый формат в синтаксисе Graphviz. Затем вызовите программу для генерации
Например, если вы хотите реализовать расширенный просмотрщик, он может увеличивать / уменьшать, панорамировать, переходить в / выводить блок и выделять, это другая история.