Генерация HDL-кода и синтез FPGA из модели Simulink

В этом примере показано, как можно сгенерировать HDL-код для простой встречной модели и синтезировать сгенерированный код на Xilinx® FPGA при помощи Simulink® HDL Workflow Advisor. Чтобы создать эту модель, смотрите, Создают Совместимую с HDL Модель Simulink.

HDL Workflow Advisor Simulink

HDL Workflow Advisor проводит вас по генерации HDL-кода для Подсистемы Simulink и процесса проектирования FPGA, такого как:

  • Проверка модели для совместимости генерации HDL-кода и автоматически фиксация несовместимых настроек.

  • Генерация HDL-кода, испытательного стенда и скриптов, чтобы создать и запустить код и испытательный стенд.

  • Генерация cosimulation или испытательных стендов SystemVerilog DPI и покрытия кода (требует HDL Verifier™).

  • Синтез и анализ синхронизации посредством интеграции со сторонними инструментами синтеза.

  • Обратная корректировка проекта модели с информацией о критическом пути и другой информацией получена во время синтеза.

  • Полные автоматизированные рабочие процессы для выбранных целевых устройств разработки FPGA и рабочий процесс ввода-вывода FPGA Simulink Real-Time™, включая FPGA в симуляции цикла.

Простая встречная модель

Откройте эту модель, чтобы видеть простой счетчик. Модель подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. Пороговое значение установлено в 15. Чтобы изменить пороговое значение, измените значение входа к count_threshold порт. Разрешать сигнал задает, рассчитывает ли счетчик вверх или содержит предыдущее значение. Значение 1 указывает, что счетчик рассчитывает вверх постоянно.

Настройте инструмент Path

Синтезировать ваш проект на целевой платформе, прежде чем вы откроете 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

Запустить HDL Workflow Advisor с модели Simulink,

  1. Во вкладке Apps выберите HDL Coder.

  2. Выберите 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.

Сгенерируйте HDL-код

  1. В 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.

  2. В задаче Set Target Frequency задайте целевую частоту, которой вы хотите, чтобы проект достиг при помощи Целевого Параметра Частоты. В данном примере установите Target Frequency (MHz) на 200.

  3. Чтобы проверять вы моделируете для совместимости генерации кода, запускаете задачи в папке Prepare Model For HDL Code Generation. Щелкните правой кнопкой по задаче Check Sample Times и выберите Run to Selected Task. Если выполнение задачи генерирует предупреждение, выберите Modify All и повторно выполните задачу.

  4. Чтобы изменить генерацию кода, используйте задачи в Set Code Generation Options. Например, чтобы настроить целевой язык HDL и целевую папку генерации кода, используйте задачу Set Basic Options. После того, как вы внесете изменения, нажмите Apply.

  5. Чтобы сгенерировать код, щелкните правой кнопкой по задаче Generate RTL Code and Testbench и выберите Run to Selected Task.

Выполните синтез FPGA и анализ

  1. В FPGA Synthesis and Analysis> Perform Synthesis and P/R> задача Run Implementation, очистите Skip this task и нажмите Apply. Затем щелкните правой кнопкой по этой задаче и выберите Run to Selected Task.

    Задача отображает сумму ресурсов, использованных проектом и задержкой информационного канала. Слабым является различие между необходимым временем и временем поступления для комбинационного пути. В этом случае слабым является положительное значение, что означает, что данные прибыли намного ранее, чем необходимое время.

    Resource and timing report summary information.

  2. Щелкните правой кнопкой по 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 Запуска со Скриптом.

Смотрите также

| |

Похожие темы