Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Моделирование ПЛИС при помощи модели Си++?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Koluchiy
Поступила тут идея при помощи специальной программы транслировать код Verilog в Си++, потом это компилировать и производить симуляцию при помощи получившегося .ехе файла.
Попробовали в программе Верилятор - на простых примерах работает.
Одна пока проблема - не понимает конструкции Verilog2001 и новее.

Кто-нибудь пробовал таким макаром симулировать большие проекты?
Какими программами для конвертации пользуетесь?
Какие подводные камни?
warrior-2001
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Поступила тут идея ...
Кто-нибудь пробовал таким макаром симулировать большие проекты?


Хорошая идея.
Да, пробовали. Synopsys и Mentor Graphics пробовали в той или иной степени. Читал ещё работы некоторых ВУЗов нашей страны, которые тоже брались за такие задачи.
Но полноценных результатов с хорошим выходом это не даст.
Лучше посмотрите на связку Матлаба с Altera или Xilinx. Это уже ближе к реальности.
Vadim
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Поступила тут идея при помощи специальной программы транслировать код Verilog в Си++, потом это компилировать и производить симуляцию при помощи получившегося .ехе файла.

Свежая идея sm.gif Так работает, например, VCS.
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Одна пока проблема - не понимает конструкции Verilog2001 и новее.

Очень странно. Он умеет некоторым образом даже SV. Но только синтезируемые конструкции.
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Кто-нибудь пробовал таким макаром симулировать большие проекты?

Свой последний проект таким образом симулировал. Только вот не знаю, большой он или нет sm.gif
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Какими программами для конвертации пользуетесь?

Ну verilator же sm.gif
Цитата(Koluchiy @ Aug 2 2016, 19:33) *
Какие подводные камни?

Verilator не умеет 4-значную логику, он её преобразует в 2-значную. Мне пришлось писать на SystemC дополнительные модули, а в синтезируемых исходниках использовать макросы, чтобы без модификации скармливать их и verilator-у, и симулятору, и синтезатору.
Denisnovel
Так же работает симулятор CVC. Раньше он был платный, но сейчас его сделали свободным. К сожалению от только под Linux.
Так же он предоставляется в исходниках. Их нужно компилировать. К недостатка можно отнести отсутствие GUI. Диаграммы необходимо смотреть в свободном редакторе.
Koluchiy
Цитата(Vadim @ Aug 3 2016, 11:59) *
Свежая идея sm.gif Так работает, например, VCS.

И как его скорость симуляции по сравнению с Questa?

Цитата
Очень странно. Он умеет некоторым образом даже SV. Но только синтезируемые конструкции.

Модели хилых корок, подсунутые в Верилятор, постоянно ругаются на всякие deassign и т.п.. Или есть свежая версия, которая всё это нормально кушает?
Vadim
Цитата(Koluchiy @ Aug 3 2016, 12:55) *
И как его скорость симуляции по сравнению с Questa?

Этот вопрос уже обсуждался, если интересно, поищите. Я не занимался сравнениями, но рискну предположить, что в среднем скорости одинаковы.
Цитата(Koluchiy @ Aug 3 2016, 12:55) *
Модели хилых корок, подсунутые в Верилятор, постоянно ругаются на всякие deassign и т.п.. Или есть свежая версия, которая всё это нормально кушает?

Неужели deassign синтезируется? Посмотрел стандарт(IEEE Std 1364.1-2002, стр. 47-48), сделал вывод - нет. Сам я ядра не использую, но подозреваю, что Вы скармливаете verilator-у модель аппаратного блока для симуляции. Поправьте, если я не прав.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.