В этом примере показано, как синтезировать и сгенерировать FPGA передают поток битов из модели полупериодного выпрямителя Simscape™ и загружать поток битов на ввод-вывод FPGA Speedgoat 334-325K цель для Оборудования в цикле (HIL) реализация.
Сгенерируйте модель реализации HDL из модели Simscape при помощи HDL Workflow Advisor Simscape. Модель реализации HDL является моделью Simulink®, которая заменяет алгоритм Simscape на совместимые с HDL блоки
Сгенерируйте поток битов FPGA для модели реализации HDL при помощи HDL Workflow Advisor
Загрузите поток битов на модуль ввода-вывода FPGA Speedgoat при помощи Simulink Real-Time Explorer для Аппаратно-программного моделирования.
Откройте Simscape половина модели выпрямителя волны. В командной строке MATLAB®, введите:
ModelName = 'sschdlexHalfWaveRectifierExample'; open_system(ModelName) set_param(ModelName, 'SimulationCommand', 'update');
open_system([ModelName, '/Simscape_system'])
Полупериодный выпрямитель состоит из Резистора, который является линейным блоком и Диодом, который является коммутируемым линейным блоком. В интерфейсах порта ввода и вывода модель имеет блоки PS-Simulink Converter и Simulink-PS Converter. Настройки решателя сконфигурированы для совместимости с HDL Workflow Advisor Simscape. Если вы открываете диалоговое окно Block Parameters для блока Solver Configuration, Использование, локальный решатель выбран и Backward Euler
задан как тип Решателя. Смотрите Начало работы с Оборудованием Simscape в Рабочем процессе цикла.
Чтобы видеть функциональность алгоритма, симулируйте модель.
sim(ModelName)
open_system([ModelName, '/Scope'])
2. Сконфигурируйте Модель Simscape для совместимости HDL при помощи hdlsetup
функция:
hdlsetup('sschdlexHalfWaveRectifierExample')
Сгенерировать модель реализации HDL:
1. Откройте HDL Workflow Advisor Simscape:
sschdladvisor('sschdlexHalfWaveRectifierExample')
2. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, выберите шаг модели реализации Generate, и затем выберите Generate valiadtion логика для флажка модели реализации. Используйте допуск логики Валидации 0.001
. Щелкните правой кнопкой по модели реализации Generate, продвигаются и выбирают Run to Selected Task.
Советник генерирует модель реализации HDL и модель валидации пространства состояний. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, откройте и симулируйте модель валидации пространства состояний. Выход этой модели совпадает с исходной моделью Simscape. Для более системной верификации смотрите, Подтверждают Модель Реализации HDL к Алгоритму Simscape.
См. также Задачи HDL Workflow Advisor Simscape.
Модуль FPGA Speedgoat IO334-325K использует Xilinx® Vivado® и инфраструктуру рабочего процесса Генерации Ядра IP. Прежде чем вы развернете модель реализации HDL на модуле ввода-вывода Speedgoat:
1. Установите инструмент Path Setup и Xilinx Vivado
Установите последнюю версию Xilinx® Vivado®, как перечислено в Поддержке Языка HDL и Поддерживаемых Сторонних программах и Оборудовании. Затем установите инструмент path на установленный исполняемый файл Xilinx Vivado при помощи hdlsetuptoolpath
функция.
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat')
2. Установите ввод-вывод Speedgoat Blockset и Speedgoat - Пакеты Интегрирования HDL Coder
Установите Библиотеку ввода-вывода Speedgoat и Speedgoat - пакеты Интегрирования HDL Coder. Смотрите Установку Speedgoat HCIP.
3. Модуль ввода-вывода Setup
Для симуляции в реальном времени, настроенной модуль ввода-вывода. Смотрите Xilinx HDL Software для Модулей ввода-вывода Speedgoat.
HDL Workflow Advisor проводит вас по генерации HDL-кода и процессу проектирования FPGA. Используйте Советника:
Проверяйте модель на совместимость генерации HDL-кода и зафиксируйте несовместимые настройки.
Сгенерируйте HDL-код, испытательный стенд и скрипты, чтобы создать и запустить код и испытательный стенд.
Выполните анализ синтеза и синхронизации.
Разверните сгенерированный код на SoCs, FPGAs и модулях ввода-вывода Speedgoat.
Чтобы открыть HDL Workflow Advisor, используйте hdladvisor
функция.
hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')
Левая панель содержит папки, которые представляют группу связанных задач. Расширение папок и выбор задачи отображают информацию о той задаче на правой панели. Правая панель может содержать простые средства управления для выполнения задачи к продвинутым параметрам и настройкам опции что генерация испытательного стенда и код системы управления. Чтобы узнать больше о каждой задаче, щелкните правой кнопкой по той задаче и выберите What, Это?. Смотрите Начало работы с HDL Workflow Advisor.
1. Откройте модель реализации HDL, и затем откройте HDL Workflow Advisor для модели реализации.
open_system('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx') hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/HDL Subsystem')
2. В задаче Инструмента Целевого устройства и Синтеза Набора задайте Целевой рабочий процесс как Simulink Real-Time FPGA I/O
и Целевая платформа как Speedgoat IO334-325K
.
3. В Целевой задаче Исходного проекта Набора выберите значение x4
для параметра PCIe lanes
, и выберите Run This Task.
4. В Поставившей Целевой Интерфейсной задаче сопоставьте ввод и вывод single
порты типа данных к PCIe Interface
и выберите Run This Task.
5. В Целевой задаче Частоты Набора, набор Целевая Частота (МГц) как 100
.
6. Щелкните правой кнопкой по Сгенерировать задаче Интерфейса Simulink Real-Time и выберите Run to Selected Task, чтобы сгенерировать ядро IP HDL, поток битов FPGA, и загрузить поток битов на цель Speedgoat IO334.
Модель Simulink Real-Time Interface генерируют и называют как gm_gmStateSpaceHDL_sschdlexHalfWaveRectifierEx_slrt.
Для быстрого прототипирования можно экспортировать настройки Workflow Advisor в скрипт. Скриптом является файл MATLAB, который вы запускаете из командной строки. Можно изменить и запустить скрипт или импортировать настройки в Пользовательский интерфейс HDL Workflow Advisor. Чтобы сохранить рабочий процесс, в Пользовательском интерфейсе HDL Workflow Advisor, выбирают File> Export to Script. Сохраните файл как hdlworkflow_slrt_IO334.m
.
Чтобы импортировать этот файл, в Пользовательском интерфейсе HDL Workflow Advisor, выбирают File> Import from Script. В диалоговом окне Import Workflow Configuration выберите hdlworkflow_slrt_IO334.m
файл. HDL Workflow Advisor обновляет задачи согласно импортированному скрипту. Смотрите Рабочий процесс HDL Запуска со Скриптом.
1. Соедините компьютер разработчика, чтобы предназначаться
Соедините компьютер разработчика с целью при помощи перекрестного сетевого кабеля. IP-адресом целевого компьютера Speedgoat является 10.10.10.15
. Установите IP-адрес линии связи между компьютером разработчика и целевым компьютером к значению 10.10.10.12
потому что линия связи должна быть в той же сети.
2. Setup и конфигурирует Simulink Real-Time Explorer
Вы загружаете поток битов при помощи Simulink Real-Time Explorer. Чтобы открыть Simulink Real-Time Explorer, введите команду slrtExplorer
. В качестве альтернативы можно открыть Проводник от вкладки REAL-TIME Панели инструментов Simulink.
slrtExplorer
a. В TARGET панель нажимает Add Target button, и затем кликает по Кнопке свойства на панели инструментов. В Рабочей области Target Properties нажмите Host-to-Target Communication.
Установите IP-адрес как 10.10.10.15
, Порт как 22222
, Маска подсети как 255.255.255.0
, и шлюз как 10.10.10.10
.
Установите Целевой драйвер как Auto
и Тип шины как PCI
.
b. На Рабочем месте Target Properties щелкните *Настройки Target.
Выберите USB Support и Графический режим.
Нажмите рабочую область Boot Configuration in Target Properties.
Выберите Режим начальной загрузки как Network
и нажмите на загрузочный диск Create. Целевой Мак адрес появляется в поле Мак адреса.
Сохраните настройку путем нажимания кнопки сохранения.
3. Создайте приложение реального времени
Откройте модель Simulink Real-Time Interface. Добавьте блок Scope в модель и соедините ее с выходными параметрами. Регистрируйте выходные сигналы, чтобы просмотреть результаты извилистости на Инспекторе Данных моделирования.
4. Создание и запуск приложения реального времени
Нажмите Run on Target button на вкладке REAL_TIME, чтобы скомпилировать и загрузить модель на цель Speedgoat IO334-325k.
Имя целевого объекта tg
создается в рабочем пространстве MATLAB, и модель запущена на цели. Наблюдайте выходные результаты симуляции относительно Инспектора Данных моделирования. Результаты симуляции загруженной модели совпадают с исходной симуляцией модели Simscape.