Когда вы запускаете рабочий процесс элемента кода аппаратного программного обеспечения для платформ 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.
В задаче Set Target Reference Design, набор Insert JTAG MATLAB as AXI Master к на. Запустите рабочий процесс к задаче Generate Software Interface.
В задаче 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')
Откройте HDL Workflow Advisor для подсистемы DUT. В задаче Set Target Device and Synthesis Tool задайте IP Core Generation
как Target workflow и ZedBoard как Target platform. Нажмите Run this task.
В задаче Set Target Reference Design задайте систему По умолчанию с интерфейсом AXI4-Stream как Target Reference Design. Нажмите Run this task.
В задаче Set Target Interface сопоставьте порты DUT, чтобы предназначаться для интерфейсов в таблице интерфейса Целевой платформы. Нажмите Run this task.
Щелкните правой кнопкой по задаче 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')
Сконфигурируйте модель со временем остановки inf
. На вкладке Hardware аппаратные настройки заданы на модели. Можно затем соединиться, и создать и запустить приложение на целевой платформе, чтобы проверить базовую функциональность IP HDL. Смотрите Начало работы с AXI4-потоковым Интерфейсом в Рабочем процессе Zynq.