Парсер уровня шлюза Verilog

Я хочу проанализировать код уровня ворот Verilog и сохранить данные в структуре данных (например, на графике).

Затем я хочу сделать что-то с воротами на C/C++ и вывести соответствующий файл Verilog.

(Я хотел бы создать одну программу, ввод и вывод которой являются кодом уровня ворот Verilog)

(input.v => myProgram => output.v)

Есть ли для этого какая-либо библиотека или открытый исходный код?

Я обнаружил, что это можно сделать с помощью Flex и Bison, но я понятия не имею, как использовать Flex и Bison.


person user2261693    schedule 17.05.2013    source источник


Ответы (3)


Несколько дней назад был похожий вопрос о выполнении этого в ruby, в котором я указал на свой Verilog анализатор gem. Не уверен, что он достаточно надежен для вас, но хотел бы получить отзывы, отчеты об ошибках, запросы функций.

Существуют парсеры perl verilog, но я не использовал ни один из них напрямую и избегаю perl, надеюсь, другие смогут добавить информацию о других парсерах.

person Morgan    schedule 17.05.2013

Я успешно использовал Verilog-Perl для анализа кода Verilog. Он хорошо поддерживается: он даже поддерживает последние расширения SystemVerilog.

person toolic    schedule 17.05.2013
comment
stackoverflow.com/questions/9066483/ - person toolic; 17.05.2013

Yosys (https://github.com/cliffordwolf/yosys) — это платформа для Verilog Synthesis, написанная на C++. . Yosys все еще находится в стадии разработки, но если вы хотите только читать и записывать списки соединений на уровне шлюза, он может делать то, что вам нужно.

PS: Справочное руководство (которое также охватывает API-интерфейсы C++) находится в пути. Я уже написал около 100 страниц, но не могу опубликовать это, пока не закончу бакалавриат. диссертацию (еще месяц или около того).

person CliffordVienna    schedule 18.05.2013