Генерация HDL-кода и синтез FPGA Используя HDL Workflow Advisor Simulink

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

Простая модель суммирующего счетчика

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

open_system('hdlcoder_simple_up_counter.slx')
set_param('hdlcoder_simple_up_counter', 'SimulationCommand', 'Update')

О HDL Workflow Advisor

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

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

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

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

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

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

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

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

Если вы не хотите синтезировать свой проект, но хотеть сгенерировать HDL-код, вы не должны устанавливать инструмент path. В HDL Workflow Advisor, на Set Target> шаг Set Target Device and Synthesis Tool, оставляют установку Synthesis tool No Synthesis Tool Specified по умолчанию, и затем запустите рабочий процесс.

Если вы хотите синтезировать свой проект на целевой платформе, прежде чем вы откроете HDL Workflow Advisor и запустите рабочий процесс, создадите путь к вашему инструменту Synthesis. Этот пример использует Xilinx Vivado, таким образом, вы, должно быть, уже установили Xilinx Vivado. Чтобы установить инструмент path, используйте hdlsetuptoolpath функционируйте, чтобы указать на установленный исполняемый файл Xilinx Vivado 2019.1. Чтобы узнать о последних поддерживаемых инструментах, смотрите Поддержку Языка HDL и Поддерживаемые Сторонние программы и Оборудование.

hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath',...
 'C:\Xilinx\Vivado\2019.1\bin\vivado.bat');

Примечание

Опционально, можно использовать различный инструмент синтеза по вашему выбору и последовать этому примеру. Чтобы установить путь к тому инструменту синтеза, используйте hdlsetuptoolpath.

Откройте HDL Workflow Advisor

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

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

  2. Выберите DUT Subsystem в своей модели и убедитесь, что это имя Subsystem появляется в опции Code for. Чтобы помнить выбор, можно прикрепить эту опцию. Нажмите Workflow Advisor.

Когда вы открываете HDL Workflow Advisor, генератор кода может предупредить, что папка проекта несовместима. Чтобы открыть Советника, выберите Remove slprj and continue.

В HDL Workflow Advisor левая панель перечисляет папки в иерархии. Каждая папка представляет группу или категорию связанных задач. Расширение папок показывает доступные задачи в каждой папке. От левой панели можно выбрать папку или отдельную задачу. HDL Workflow Advisor отображает информацию о выбранной папке или задаче на правой панели. Содержимое правой панели зависит от выбранной папки или задачи. Для некоторых задач правая панель содержит простые средства управления для выполнения задачи и области отображения для сообщений о состоянии и других результатов задачи. Для других задач, которые включают код установки или параметры генерации испытательного стенда, правая панель отображает несколько параметров и настроек опции.

Чтобы узнать больше о каждой отдельной задаче, щелкните правой кнопкой по той задаче и выберите What's This?.

Чтобы узнать больше об окне HDL Workflow Advisor, смотрите Начало работы с HDL Workflow Advisor.

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

  1. В Set Target> шаг Set Target Device and Synthesis Tool, для Synthesis tool, выбирают Xilinx Vivado и выберите Run This Task.

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

  3. Оставьте все настройки, чтобы принять значение по умолчанию и щелкнуть правой кнопкой по задаче Check Sample Times и выбрать Run to Selected Task.

    Путем выполнения задач в папке Prepare Model For HDL Code Generation HDL Workflow Advisor проверяет модель на совместимость генерации кода.

    Примечание

    Если выполнение задачи генерирует предупреждение, выберите Modify All и повторно выполните задачу.

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

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

    Примечание

    Если вы хотите сгенерировать испытательный стенд HDL или модель валидации, можно задать соответствующие настройки в задаче Generate RTL Code and Testbench. Чтобы задать дополнительные опции испытательного стенда, используйте задачу Set Testbench Options.

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

  1. В FPGA Synthesis and Analysis> Perform Synthesis and P/R> задача Perform Place and Route, очистите Skip this task и нажмите Apply.

  2. Щелкните правой кнопкой по Annotate Model with Synthesis Result и выберите Run to Selected Task.

  3. Просмотрите аннотируемый критический путь в модели.

    Примечание

    Если вы выбираете Intel Quartus Pro или Microsemi Libero SoC как Synthesis tool, задача Annotate Model with Synthesis Result не доступна. В этом случае можно запустить рабочий процесс к синтезу и затем просмотреть отчеты синхронизации, чтобы видеть критический путь.

Запустите рабочий процесс в командной строке со скриптом

Чтобы запустить рабочий процесс HDL в командной строке, можно экспортировать настройки Workflow Advisor в скрипт. Чтобы экспортировать в скрипт, в окне HDL Workflow Advisor, выбирают File> Export to Script. В диалоговом окне Export Workflow Configuration введите имя файла и сохраните скрипт.

Скрипт является файлом MATLAB®, который можно запустить из командной строки. Можно изменить скрипт непосредственно или, импортировать скрипт в HDL Workflow Advisor, изменить задачи и экспортировать обновленный скрипт. Чтобы узнать больше, смотрите Рабочий процесс HDL Запуска со Скриптом.

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

| |

Похожие темы