В этом примере показано, как можно сгенерировать HDL-код для простой встречной модели и синтезировать сгенерированный код на Xilinx® FPGA при помощи Simulink® HDL Workflow Advisor. Чтобы создать эту модель, смотрите, Создают Совместимую с HDL Модель Simulink.
HDL Workflow Advisor проводит вас по генерации HDL-кода для Подсистемы Simulink и процесса проектирования FPGA, такого как:
Проверка модели для совместимости генерации HDL-кода и автоматически фиксация несовместимых настроек.
Генерация HDL-кода, испытательного стенда и скриптов, чтобы создать и запустить код и испытательный стенд.
Генерация cosimulation или испытательных стендов SystemVerilog DPI и покрытия кода (требует HDL Verifier™).
Синтез и анализ синхронизации посредством интеграции со сторонними инструментами синтеза.
Обратная корректировка проекта модели с информацией о критическом пути и другой информацией получена во время синтеза.
Полные автоматизированные рабочие процессы для выбранных целевых устройств разработки FPGA и рабочий процесс ввода-вывода FPGA Simulink Real-Time™, включая FPGA в симуляции цикла.
Откройте эту модель, чтобы видеть простой счетчик. Модель подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. Пороговое значение установлено в 15
. Чтобы изменить пороговое значение, измените значение входа к count_threshold
порт. Разрешать сигнал задает, рассчитывает ли счетчик вверх или содержит предыдущее значение. Значение 1
указывает, что счетчик рассчитывает вверх постоянно.
Синтезировать ваш проект на целевой платформе, прежде чем вы откроете HDL Workflow Advisor и запустите рабочий процесс, создадите путь к вашему инструменту синтеза. Этот пример использует Xilinx Vivado®, таким образом, вы, должно быть, уже установили Xilinx Vivado. Чтобы установить инструмент path, используйте hdlsetuptoolpath
функционируйте, чтобы указать на установленный исполняемый файл Xilinx Vivado 2019.2.
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath',... 'C:\Xilinx\Vivado\2019.2\bin\vivado.bat');
hdlsetuptoolpath
. Чтобы узнать о последних поддерживаемых инструментах, смотрите Поддержку Языка HDL и Поддерживаемые Сторонние программы и Оборудование.Если вы хотите сгенерировать HDL-код, но не синтезировать ваш проект, вы не должны устанавливать инструмент path.
Запустить HDL Workflow Advisor с модели Simulink,
Во вкладке Apps выберите HDL Coder.
Выберите DUT Subsystem в своей модели, HDL_DUT
, и убедитесь, что это имя появляется в опции Code for на вкладке HDL Code. Чтобы помнить выбор, прикрепите эту опцию. Нажмите Workflow Advisor.
Когда вы открываете HDL Workflow Advisor, генератор кода может предупредить, что папка проекта несовместима. Чтобы открыть Советника, выберите Remove and continue.
HDL Workflow Advisor отображает группу задач на левой панели, сгруппированной папками. Расширение папок показывает доступные задачи в каждой папке. Выбор задачи или папки отображает информацию о той задаче или папке на правой панели. Правая панель имеет простые средства управления для выполнения задачи к нескольким параметрам и опциям для кода или генерации испытательного стенда, и содержит область отображения для сообщений о состоянии и других результатов задачи.
Чтобы узнать больше о каждой отдельной задаче, щелкните правой кнопкой по той задаче и выберите What's This?.
Смотрите начало работы с HDL Workflow Advisor.
В Set Target> шаг Set Target Device and Synthesis Tool, для Synthesis tool, выбирают Xilinx Vivado
и выберите Run This Task. См. также Рабочие процессы в HDL Workflow Advisor. Чтобы сгенерировать HDL-код, но не синтезировать код, оставьте установку Synthesis tool No Synthesis Tool Specified
.
В задаче Set Target Frequency задайте целевую частоту, которой вы хотите, чтобы проект достиг при помощи Целевого Параметра Частоты. В данном примере установите Target Frequency (MHz) на 200
.
Чтобы проверять вы моделируете для совместимости генерации кода, запускаете задачи в папке Prepare Model For HDL Code Generation. Щелкните правой кнопкой по задаче Check Sample Times и выберите Run to Selected Task. Если выполнение задачи генерирует предупреждение, выберите Modify All и повторно выполните задачу.
Чтобы изменить генерацию кода, используйте задачи в Set Code Generation Options. Например, чтобы настроить целевой язык HDL и целевую папку генерации кода, используйте задачу Set Basic Options. После того, как вы внесете изменения, нажмите Apply.
Чтобы сгенерировать код, щелкните правой кнопкой по задаче Generate RTL Code and Testbench и выберите Run to Selected Task.
В FPGA Synthesis and Analysis> Perform Synthesis and P/R> задача Run Implementation, очистите Skip this task и нажмите Apply. Затем щелкните правой кнопкой по этой задаче и выберите Run to Selected Task.
Задача отображает сумму ресурсов, использованных проектом и задержкой информационного канала. Слабым является различие между необходимым временем и временем поступления для комбинационного пути. В этом случае слабым является положительное значение, что означает, что данные прибыли намного ранее, чем необходимое время.
Щелкните правой кнопкой по Annotate Model with Synthesis Result и выберите Run to Selected Task. Если вы выбрали Intel Quartus Pro
или Microsemi Libero SoC
как Synthesis tool, задача Annotate Model with Synthesis Result не доступна. Чтобы видеть критический путь, запустите рабочий процесс к синтезу и затем откройте отчеты синхронизации.
Просмотрите аннотируемый критический путь в модели.
Критический путь является комбинационным путем между вводом и выводом, который имеет максимальную задержку. Задержкой критического пути встречной модели является 2.77ns
. Задержка информационного канала, о которой сообщают в задаче Run Implementation, является больше, чем критический путь, потому что это составляет маршрутизацию задержек на целевом FPGA. Чтобы сохранить ресурсы, оптимизируйте критический путь, и улучшите синхронизацию своего проекта на целевом FPGA, используйте скорость и оптимизацию области в HDL Coder™. Чтобы узнать больше, смотрите Скорость и Оптимизацию области в HDL Coder.
Чтобы запустить рабочий процесс HDL в командной строке MATLAB®, экспортируйте настройки Workflow Advisor в скрипт. Чтобы экспортировать в скрипт, в окне HDL Workflow Advisor, выбирают File> Export to Script. В диалоговом окне Export Workflow Configuration введите имя файла и сохраните скрипт. Смотрите Рабочий процесс HDL Запуска со Скриптом.
hdladvisor
| hdlsetuptoolpath
| makehdl