Сгенерируйте модель программного интерфейса, чтобы зондировать и ядро IP HDL быстрого прототипирования

Когда вы запускаете рабочий процесс элемента кода аппаратного программного обеспечения для платформ SoC, вы генерируете ядро IP HDL для алгоритма DUT, и затем интегрируете ядро IP в исходный проект. Смотрите Рабочий процесс Элемента кода аппаратного программного обеспечения для Платформ SoC.

Чтобы протестировать ядро IP HDL на целевом компьютере, сгенерируйте модель программного интерфейса. Модель программного интерфейса использует блоки драйверов AXI, чтобы протестировать базовую функциональность IP HDL в симуляции режима external mode.

Необходимые условия

  • Целевая платформа, такая как ZedBoard, где вы хотите развернуть свою модель программного интерфейса.

  • Последняя версия стороннего инструмента синтеза, такого как Xilinx® Vivado®. Смотрите Поддержку Языка HDL и Поддерживаемые Сторонние программы и Оборудование. На вашем сеансе MATLAB®, установленном путь к тому установленному инструменту синтеза при помощи hdlsetuptoolpath функция.

  • Если вы генерируете модель программного интерфейса, устанавливаете Embedded Coder® и Simulink® Coder™.

  • Установите HDL Coder™ и пакеты поддержки Embedded Coder для целевой платформы. На Панели инструментов MATLAB нажмите кнопку Home> Add-Ons> Get Add-Ons. Смотрите Получают и Управляют Дополнениями.

Сгенерируйте программный интерфейс

При выполнении рабочего процесса генерации ядра IP можно сгенерировать скрипт программного интерфейса и модель от HDL Workflow Advisor пользовательский интерфейс или в командной строке.

От пользовательского интерфейса, в Embedded System Integration> задача Generate Software Interface, устанавливают флажок Generate Software interface model.

Если вы предназначаетесь для автономных плат FPGA, вы не можете сгенерировать модель программного интерфейса. Вместо этого можно сгенерировать скрипт программного интерфейса и протестировать ядро IP при помощи Ведущего драйвера AXI MATLAB.

  1. В задаче Set Target Reference Design, набор Insert JTAG MATLAB as AXI Master к на. Запустите рабочий процесс к задаче Generate Software Interface.

  2. В задаче Generate Software Interface установите флажок Generate Software interface script и запустите эту задачу.

В командной строке экспортируйте настройки HDL Workflow Advisor в скрипт, и затем используйте эти свойства с объектом Workflow Configuration. Этот скрипт задает выполнение задачи программного интерфейса путем генерации модели и скрипта. Если вы пропускаете задачу установкой RunTaskGenerateSoftwareInterface ко лжи, то модель и скрипт не сгенерированы. Смотрите Конфигурируют и Рабочий процесс Генерации Ядра IP Запуска со Скриптом.

% Export Workflow Configuration Script

% ...

%% Load the Model
load_system('hdlcoder_led_blinking');

%% Model HDL Parameters
% Set Model HDL parameters

% ...

hdlset_param('hdlcoder_led_blinking', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('hdlcoder_led_blinking', 'Workflow', 'IP Core Generation');

% ...

% Set Workflow tasks to run
hWC.RunTaskGenerateSoftwareInterface = true;
hWC.GenerateSoftwareInterfaceModel = true;
hWC.GenerateSoftwareInterfaceScript = true;

% ...

%% Run the workflow
hdlcoder.runWorkflow('hdlcoder_led_blinking/led_counter', hWC);

Модель программного интерфейса

Когда вы запускаете рабочий процесс для платформ SoC, модель программного интерфейса сгенерирована, чтобы протестировать базовую функциональность IP HDL. Если вам установили Embedded Coder и Simulink Coder, можно сгенерировать встроенный код из модели и создать и запустить исполняемый файл на процессоре ARM. Когда вы предназначаетесь для автономных плат FPGA, вы не можете сгенерировать модель программного интерфейса, потому что платы не имеют встроенного процессора ARM. Вместо этого сгенерируйте скрипт программного интерфейса, чтобы протестировать ядро IP при помощи Ведущего устройства AXI MATLAB.

Модель интерфейса сгенерированного программного обеспечения заменяет алгоритм DUT в вашей исходной модели с блоками драйверов AXI на основе таблицы интерфейса целевой платформы и настроек исходного проекта. Чтобы протестировать базовую функциональность IP HDL, симулируйте модель в режиме external mode, чтобы работать на целевом компьютере. Модели включили параллельное выполнение по умолчанию, что означает, что несколько задач выполняются одновременно процессором на борту платформы SoC.

Модель программного интерфейса имеет то же имя как ваша исходная модель с префиксным gm_ и постфиксный _interface. Сгенерированная модель от генерации HDL-кода имеет префиксный gm_. Чтобы указать, что вы используете эту модель в качестве модели программного интерфейса, измените префикс в sm_.

Откройте модель hdlcoder_sfir_fixed_stream. Эта модель сопоставляет sfir_fixed модель к упрощенному AXI4-потоковому протоколу путем вставки Valid предупредите как порт элемента управления вводом.

open_system('hdlcoder_sfir_fixed_stream')

Streaming symmetric FIR filter model.

  1. Откройте HDL Workflow Advisor для подсистемы DUT. В задаче Set Target Device and Synthesis Tool задайте IP Core Generation как Target workflow и ZedBoard как Target platform. Нажмите Run this task.

  2. В задаче Set Target Reference Design задайте систему По умолчанию с интерфейсом AXI4-Stream как Target Reference Design. Нажмите Run this task.

  3. В задаче Set Target Interface сопоставьте порты DUT, чтобы предназначаться для интерфейсов в таблице интерфейса Целевой платформы. Нажмите Run this task.

    Map target platform interfaces for DUT subsystem in FIR filter streaming model.

  4. Щелкните правой кнопкой по задаче Generate Software Interface и выберите Run to selected task. Запустите рабочий процесс, чтобы сгенерировать модель программного интерфейса.

Модель интерфейса сгенерированного программного обеспечения имеет имя gm_hdlcoder_sfir_fixed_stream_interface.slx. Поскольку ваша исходная модель использует скалярные порты для портов данных x_in_data и y_out_data, задача Generate software interface выводит предупреждение, что AXI4-потоковые IIO блоки драйверов автоматически не сгенерированы в модели программного интерфейса. Можно или вставить блоки драйверов от Библиотеки Пакета Поддержки Embedded Coder для целевой платформы в Браузере Библиотеки Simulink или повторно выполнить рабочий процесс путем отображения портов данных с векторными сигналами. Видеть модель программного интерфейса, которой вставили AXI4-потоковые IIO блоки драйверов в него, открытый hdlcoder_sfir_fixed_stream_sw. Модель использует AXI4-Stream IIO Write (Пакет Поддержки Embedded Coder для Платформы Xilinx Zynq) и AXI4-Stream IIO Read (Пакет Поддержки Embedded Coder для Платформы Xilinx Zynq) блоки для портов данных. Порты фильтра сопоставлены с AXI4-облегченными блоками драйверов.

open_system('hdlcoder_sfir_fixed_stream_sw')

Generated software interface model with additional AXI4-Stream Driver blocks mapped to DUT ports.

Сконфигурируйте модель со временем остановки inf. На вкладке Hardware аппаратные настройки заданы на модели. Можно затем соединиться, и создать и запустить приложение на целевой платформе, чтобы проверить базовую функциональность IP HDL. Смотрите Начало работы с AXI4-потоковым Интерфейсом в Рабочем процессе Zynq.

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

Объекты

Функции

Похожие темы