Этот пример показывает, как синтезировать и сгенерировать битовый поток FPGA из Simscape™ модели выпрямителя половинной волны и загрузить битовый поток в цель ввода/вывода 334-325K FPGA Speedgoat для реализации «Оборудование в цикле» (HIL).
Сгенерируйте модель реализации HDL из модели Simscape с помощью Simscape HDL Workflow Advisor. Модель реализации HDL является моделью Simulink ®, которая заменяет алгоритм Simscape на HDL-совместимые блоки
Сгенерируйте битовый поток FPGA для модели реализации HDL с помощью HDL Workflow Advisor
Загрузите битовый поток в модуль ввода-вывода Speedgoat FPGA с помощью Simulink Real-Time Explorer для симуляции оборудования в цикле.
Откройте модель выпрямителя полуволн Simscape. В командной строке MATLAB ® введите:
ModelName = 'sschdlexHalfWaveRectifierExample'; open_system(ModelName) set_param(ModelName, 'SimulationCommand', 'update');
open_system([ModelName, '/Simscape_system'])
Полуволновый выпрямитель состоит из Резистора, который является линейным блоком, и Диода, который является коммутируемым линейным блоком. На входах и выходного портов модель имеет блоки Simulink-PS Converter и PS-Simulink Converter. Настройки решателя настроены на совместимость с Simscape HDL Workflow Advisor. Если вы открываете диалоговое окно Параметров блоков для блока Solver Configuration, выбирается Use local решателя и Backward Euler
задается как тип Solver. Смотрите Запуск с оборудованием Simscape - в Цикл Рабочего процесса.
Чтобы увидеть функциональность алгоритма, симулируйте модель.
sim(ModelName)
open_system([ModelName, '/Scope'])
2. Сконфигурируйте модель Simscape для совместимости с HDL с помощью hdlsetup
функция:
hdlsetup('sschdlexHalfWaveRectifierExample')
Чтобы сгенерировать модель реализации HDL:
1. Откройте Simscape HDL Workflow Advisor:
sschdladvisor('sschdlexHalfWaveRectifierExample')
2. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, выберите шаг Generate implementation model, а затем установите флажок Generate valiadtion logic for the implementation model. Используйте логический допуск валидации 0.001
. Щелкните правой кнопкой мыши шаг Сгенерировать модель реализации и выберите Выполнить до выбранной задачи.
Advisor генерирует модель реализации HDL и модель валидации в пространстве состояний. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, откройте и симулируйте модель валидации пространства состояний. Выходы этой модели совпадают с исходной моделью Simscape. Для более системной верификации смотрите Валидация модели реализации HDL в алгоритм Simscape.
См. также Simscape HDL Workflow Advisor Tasks.
Модуль Speedgoat IO334-325K FPGA использует инфраструктуру рабочих процессов Xilinx ® Vivado ® и IP Core Generation. Перед развертыванием модели реализации HDL на модуле ввода-вывода Speedgoat:
1. Установка Xilinx Vivado и путь к инструменту Setup
Установите последнюю версию Xilinx ® Vivado ®, указанную в HDL Language Support и поддерживаемых сторонних программах и оборудовании. Затем установите инструмент путь к установленному исполняемому файлу Xilinx Vivado при помощи hdlsetuptoolpath
функция.
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat')
2. Установка библиотеки Speedgoat и пакета Speedgoat - HDL Coder Интегрирования
Установите библиотеку Speedgoat и пакеты Speedgoat - HDL Coder Integration. См. «Установка Speedgoat HCIP».
3. Setup модуля ввода-вывода
Для симуляции в реальном времени настройте модуль ввода-вывода. Смотрите программное обеспечение Xilinx HDL для оборудования ввода-вывода Speedgoat.
HDL Workflow Advisor поможет вам с генерацией HDL-кода и процессом проекта FPGA. Используйте Advisor для:
Проверьте модель на совместимость генерации HDL-кода и исправьте несовместимые настройки.
Сгенерируйте HDL-код, испытательный стенд и скрипты для создания и запуска кода и испытательного стенда.
Выполните синтез и временной анализ.
Развертывание сгенерированного кода на модулях SoCs, FPGA и Speedgoat ввода-вывода.
Чтобы открыть HDL Workflow Advisor, используйте hdladvisor
функция.
hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')
Левая панель содержит папки, которые представляют группу связанных задач. При развертывании папок и выборе задачи сведения об этой задаче отображаются на правой панели. Правая панель может содержать простые элементы управления для запуска задачи в продвинутые параметры и настройки опций, которые код системы управления и испытательный стенд генерацию. Чтобы узнать больше о каждой задаче, щелкните правой кнопкой мыши эту задачу и выберите «Что это?» См. Раздел «Начало работы с HDL Workflow Advisor».
1. Откройте модель реализации HDL, а затем откройте HDL Workflow Advisor для модели реализации.
open_system('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx') hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/HDL Subsystem')
2. В задаче Set Target Device и Synthesis Tool задайте Целевой рабочий процесс следующим Simulink Real-Time FPGA I/O
и целевую платформу как Speedgoat IO334-325K
.
3. В задаче Set Target Reference Design выберите значение x4
для параметра PCIe lanes
и выберите Run This Task.
4. В задаче Set Target Interface сопоставьте вход и выход single
порты типа данных в PCIe Interface
и выберите Run This Task.
5. В задаче Set Target Frequency установите Целевую частоту (МГц) следующим 100
.
6. Щелкните правой кнопкой мыши задачу Generate Simulink Real-Time Interface и выберите Run to Selected Task, чтобы сгенерировать HDL-ядро IP, битовый поток FPGA и загрузить битовый поток на цель IO334 Speedgoat.
Модель Simulink Real-Time Interface генерируется и называется как gm_gmStateSpaceHDL_sschdlexHalfWaveRectifierEx_slrt.
Для быстрого прототипирования можно экспортировать настройки Workflow Advisor в скрипт. Скрипт является файлом MATLAB, который вы запускаете из командной строки. Можно изменить и запустить скрипт или импортировать настройки в интерфейс пользователя HDL Workflow Advisor. Чтобы сохранить процесс, в интерфейсе пользователя HDL Workflow Advisor, выберите Файл > Экспортом для Скрипта. Сохраните файл следующим 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, а затем нажмите кнопку Properties на панели инструментов. В Рабочей области целевых свойств нажмите Host-to-Target Communication.
Установите IP-адрес следующим 10.10.10.15
, Порт как 22222
, Маска подсети как 255.255.255.0
, и шлюз как 10.10.10.10
.
Установите целевой драйвер следующим Auto
и тип шины как PCI
.
б. На рабочем месте «Целевые свойства» нажмите «* Параметры целевого объекта».
Выберите Поддержка и Graphics mode.
Щелкните Загрузка строения в рабочей области Целевые свойства.
Выберите режим загрузки следующим Network
и щелкните Создать загрузочный диск. Целевой MAC-адрес отображается в поле MAC-адреса.
Сохраните строение нажатием кнопки сохранения.
3. Создайте приложение реального времени
Откройте модель Simulink Real-Time Interface. Добавьте блок Scope к модели и соедините его с выходами. Логгирование сигналов выхода для просмотра результатов моделирования на Данные моделирования Inspector.
4. Создайте и запустите приложение реального времени
Нажмите кнопку Run on Target на вкладке REAL_TIME, чтобы скомпилировать и загрузить модель в Speedgoat IO334-325k target.
Имя целевого объекта tg
создается в рабочем пространстве MATLAB, и модель запускается в целевой области. Наблюдайте за выходом результатов симуляции на Данные моделирования Inspector. Результаты симуляции загруженной модели совпадают с исходной симуляцией модели Simscape.