Синтезатор Synplify в связке с Quartus Altera

Синтезатор Synplify в связке с Quartus AlteraСинтезатор Synplify и Quartus Altera неплохо стыкуются. В конечном итоге такая связка может немного уменьшить количество триггеров проекта на ПЛИС FPGA, поскольку синтезатор Synplify считается более прогрессивным. Для того, чтобы проверить данное утверждение выполним полную компиляцию известного проекта на FPGA Uart на VHDL который имеет иерархическую структуру. Компиляцию выполним тремя способами: на базе Quartus90; на базе Quartus90+Synplify; на базе Synplify+Quatus90. Все будет адаптировано для внедрения на реальную отладочную плату типа DE0 Board.

Одновременно с этим делом мы научимся создавать проект в Synplify синтезировать его и передавать для дальнейшей компиляции в Quartus и наоборот, запускать из Quartus синтез проекта на FPGA в Synplify. Начнем с того, что откомпилируем проект на Quartus и зафиксируем результаты:

проект на Quartus

Теперь откомпилируем проект на Quartus с применением синтезатора Synplify. Для этого нужно выполнить небольшую подготовку.

  • Открыть проект в Quartus90 обратив внимание на то, чтобы имя верхнеуровневого entity и имя ревизии были разные, если необходимо исправить одинаковость, например изменив имя ревизии.

    Открыть проект в Quartus90

  • Установить пути для запуска Synplify - Tools/Options/EDA Tool Option

    Tools/Options/EDA Tool Option


  • Отредактировать установки проекта Assigments/Settings/EDA Tool Settings...

    Установки проекта

Все. Теперь можно запускать компилятор Quartus. В результате анализ и синтез проекта будет выполнен на Synplify - на выходе получится вериложный нетлист с примитивами с расширением .vqm - в нашем случае uart.vqm который будет находиться в папке synplify_uartq90_work (находится в папке с проектом), которую создает синтезатор Synplify. А Quartus уже всю остальную компиляцию выполнит на базе этого нетлиста. Результат на скриншоте:

Синтезатор Synplify в Quartus

Явно видно, что количество триггеров уменьшилось на 1. Маловато будет. Но и проект совсем небольшой. Далее сделаем примерно то же, но создадим новый проект на базе тех же файлов в Synplify, отсинтезируем его с выходом вериложного нетлиста и запустим из Synplify Quartus для дальнейшей компиляции проекта. Итак создаем проект в Synplify File/Build Project

новый проект в Synplify

Далее нужно добавить все выбранные файлы в проект нажав на кнопку Add All и потом выполнить команду File/Save As..- и сохранить проект под именем prj_1. Получится что-то вроде этого

Добавление файлов в проект на Synplify

Далее нужно выставить опци реализации нажав на кнопку Implementation Options...

Затем клик по большой кнопке Run запустит синтезатор. Завершится все созданием все того же вериложного нетлиста uart.vqm который будет находиться в папке rev_1 проекта. Теперь достаточно выполнить команду показанную на скриншоте - запустится Quartus где нужно в свою очередь запустить компиляцию на базе нетлиста uart.vqm предварительно установив в PinPlaner ножки боарда DE0 такие же как и в исходном проекте на Quartus.

Запуск Quartus из Synplify

Результат компиляции на скриншоте ниже.

Результаты компиляции Synplify Quartus

Результат еще лучше, чем в предыдущем случае. Отсюда вывод - имеет смысл использовать продвинутый синтезатор Synplify для синтеза Altera FPGA проектов и передачи результатов синтеза для дальнейшей компиляции в Quartus. Вышеупомянутые проекты в сжатом виде по ссылке ниже. Ваши комменты по теме Quartus+Synplify будут полезны всем плисоводам.

комментариев: ()

Перейти и растаять в своей любимой социалке