Запуск симуляции IP-ядер фирмы GoWiN
При разработке под GOWIN нередко возникает необходимость произвести моделирование блока, в состав которого входит набор IP ядер. Поскольку собственного инструмента моделирования на момент версии 1.9.8.10 нет, а решение DS Cloud может быть недоступно, необходимо самостоятельно решить этот вопрос.
К счастью, в комплекте с Quartus Prime разработчику всегда доступен бесплатный инструмент ModelSim/QuestaSim Starter Edition, в котором предлагается производить соответствующие операции по моделированию.
Рассмотрим моделирование IP-ядра на примере FIFO. Рассмотрим структуру директории, в которую сложились исходники, после генерации всех файлов:
- *.ipc-файл — файл конфигурации IP-ядра, который использует сам GOWIN EDA
- *.vhd — шифрованный исходник ядра, используемый при компиляции
- *_temp.vhd — template-файл, в котором сделана заготовка подключения блока как компонента в VHDL
- *.vho и *.vo файлы — файлы модели ядра на VHDL и Verilog, которые мы будем моделировать
Перейдем к Modelsim
Если посмотреть внутренности *.vho и *.vo файлов, можно увидеть, что они представляют собой набор межсоединенных базовых компонентов, взятых из библиотеки GOWIN. Соответственно, эту библиотеку необходимо организовать в Modelsim:
vlib gw2a_lib vlog -reportprogress 300 -work gw2a_lib C:/Gowin/Gowin_V1.9.8.10/IDE/simlib/gw2a/prim_sim.v |
Внимание! в примере указан путь к библиотеке gw2a, поскольку разработка проекта велась для этого семейства ПЛИС, для вашего случая может понадобиться набор примитивов gw1n, компилировать которые необходимо в другую библиотеку
Данный набор команд создаст библиотеку примитивов, которая используется в архитектуре FIFO. Соответственно, для моделирования самого IP-ядра необходимо его добавить и запустить с подключением библиотеки, которую мы скомпилировали:
|
Теперь результаты моделирования можно посмотреть на временной диаграмме