В этом примере показано, как синтезировать и генерировать битовый поток FPGA из Simscape™ модели полуволнового выпрямителя и загружать битовый поток в Speedgoat FPGA I/O 334-325K target для реализации аппаратного обеспечения в цикле (HIL).
Создайте модель реализации HDL из модели Simscape с помощью помощника по рабочим процессам Simscape HDL. Модель реализации HDL представляет собой модель Simulink ®, которая заменяет алгоритм Simscape блоками, совместимыми с HDL
Создание битового потока FPGA для модели реализации HDL с помощью помощника по рабочим процессам HDL
Загрузите битовый поток в модуль ввода/вывода 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. Если открыть диалоговое окно Параметры блока (Block Parameters) для блока Конфигурация решателя (Solver Configuration), будет выбран параметр Использовать локальный решатель (Use local solver) и Backward Euler указывается как тип решателя. См. раздел Начало работы с оборудованием Simscape в цикле.
Для просмотра функциональных возможностей алгоритма смоделируйте модель.
sim(ModelName)
open_system([ModelName, '/Scope'])

2. Настройте модель Simscape для совместимости с HDL с помощью hdlsetup функция:
hdlsetup('sschdlexHalfWaveRectifierExample')
Для создания модели внедрения ЛПВП:
1. Откройте помощник по рабочим процессам Simscape HDL:
sschdladvisor('sschdlexHalfWaveRectifierExample')
2. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, выберите шаг Создать модель реализации, а затем установите флажок Генерировать логику валидации для модели реализации. Использовать логический допуск проверки 0.001. Щелкните правой кнопкой мыши шаг Создать модель реализации и выберите Выполнить до выбранной задачи.
Консультант создает модель реализации HDL и модель проверки состояния пространства. Чтобы сравнить функциональность модели реализации HDL с исходным алгоритмом Simscape, откройте и смоделируйте модель проверки состояния пространства. Выходные данные этой модели соответствуют исходной модели Simscape. Для получения более системной проверки см. раздел Проверка модели внедрения HDL в алгоритм Simscape.
См. также Задачи консультанта по рабочим процессам Simscape HDL.
Модуль Speedgoat IO334-325K FPGA использует инфраструктуру рабочих процессов Xilinx ® Vivado ® и IP Core Generation. Перед развертыванием модели внедрения HDL в модуле ввода-вывода Speedgoat:
1. Установка Xilinx Vivado и путь к инструменту установки
Установите последнюю версию Xilinx ® Vivado ®, указанную в разделе Поддержка языка HDL и Поддерживаемые сторонние инструменты и оборудование. Затем установите путь к установленному исполняемому файлу Xilinx Vivado с помощью hdlsetuptoolpath функция.
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat')
2. Установка библиотеки Speedgoat и Speedgoat - пакеты интеграции кодеров HDL
Установите библиотеку Speedgoat Library и пакеты интеграции кодера Speedgoat - HDL. См. раздел Установка Speedgoat HCIP.
3. Настройка модуля ввода/вывода
Для моделирования в реальном времени настройте модуль ввода-вывода. См. Программное обеспечение Xilinx HDL для оборудования ввода-вывода Speedgoat.
Консультант по рабочим процессам HDL помогает создавать коды HDL и разрабатывать FPGA. Используйте Advisor для:
Проверьте модель на совместимость генерации кода HDL и исправьте несовместимые настройки.
Создание кода HDL, тестового стенда и сценариев для создания и запуска кода и тестового стенда.
Выполните анализ синтеза и синхронизации.
Развертывание созданного кода на модулях SoC, FPGA и Speedgoat I/O.
Чтобы открыть помощник по рабочим процессам HDL, используйте hdladvisor функция.
hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')Левая панель содержит папки, представляющие группу связанных задач. При развертывании папок и выборе задачи на правой панели отображается информация об этой задаче. Правая панель может содержать простые элементы управления для выполнения задачи с расширенными параметрами и параметрами, управляющими созданием кода и тестового стенда. Чтобы узнать больше о каждой задаче, щелкните ее правой кнопкой мыши и выберите «Что это?». См. раздел Начало работы с консультантом по рабочим процессам HDL.
1. Откройте модель внедрения HDL, а затем откройте помощник по рабочим процессам HDL для модели реализации.
open_system('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx')
hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/HDL Subsystem')2. В задаче Задать целевое устройство и средство синтеза укажите целевой рабочий процесс как Simulink Real-Time FPGA I/O и целевая платформа в качестве Speedgoat IO334-325K.

3. В задаче «Задать целевое ссылочное проектирование» выберите значение x4 для параметра PCIe lanesи выберите «Запустить эту задачу».
4. В задаче Set Target Interface сопоставьте входные и выходные данные. single порты типа данных для PCIe Interface и выберите Запустить эту задачу.

5. В задаче «Задать целевую частоту» задайте целевую частоту (МГц) как 100.
6. Щелкните правой кнопкой мыши задачу «Создать интерфейс Simulink в реальном времени» и выберите команду «Выполнить до выбранной задачи», чтобы создать ядро IP-адреса HDL, битовый поток FPGA и загрузить битовый поток в целевой объект IO334 Speedgoat.
Создается модель интерфейса Simulink в реальном времени с именем gm_gmStateSpaceHDL_sschdlexHalfWaveRectifierEx_slrt.

Для быстрого создания прототипов можно экспортировать параметры помощника по рабочим процессам в сценарий. Сценарий представляет собой файл MATLAB, запускаемый из командной строки. Можно изменить и запустить сценарий или импортировать настройки в пользовательский интерфейс помощника по рабочим процессам HDL. Чтобы сохранить рабочий процесс, в пользовательском интерфейсе помощника по рабочим процессам HDL выберите «Файл» > «Экспорт в сценарий». Сохраните файл как hdlworkflow_slrt_IO334.m.
Чтобы импортировать этот файл, в пользовательском интерфейсе помощника по рабочим процессам HDL выберите «Файл» > «Импорт из сценария». В диалоговом окне «Импорт конфигурации рабочего процесса» выберите hdlworkflow_slrt_IO334.m файл. Помощник по рабочим процессам HDL обновляет задачи в соответствии с импортированным сценарием. См. раздел Запуск потока операций HDL со сценарием.
1. Подключение компьютера разработки к целевому объекту
Подключите компьютер разработки к цели с помощью перекрестного сетевого кабеля. IP-адрес целевого устройства Speedgoat: 10.10.10.15. Установка значения IP-адреса канала связи между компьютером разработки и целевым компьютером 10.10.10.12 поскольку канал связи должен находиться в одной сети.
2. Настройка и настройка Simulink Real-Time Explorer
Загрузка битового потока выполняется с помощью Simulink Real-Time Explorer. Чтобы открыть обозреватель Simulink Real-Time, введите команду slrtExplorer. Также можно открыть Проводник на вкладке РЕАЛЬНОЕ ВРЕМЯ панели инструментов Simulink.
slrtExplorer
О. На панели TARGET нажмите кнопку Add Target, а затем нажмите кнопку Properties на панели инструментов. В рабочей области «Свойства целевого объекта» выберите «Связь между хостами и целевыми объектами».
Установить IP-адрес как 10.10.10.15, Порт как 22222, Маска подсети как 255.255.255.0и шлюз как 10.10.10.10.
Задать целевой драйвер как Auto и Тип шины как PCI.
b. На рабочем месте Свойства цели щелкните * Настройки цели.
Выберите режим USB Support and Graphics.
Щелкните Конфигурация загрузки (Boot Configuration) в рабочей области Свойства цели (Target Properties).
Выберите режим загрузки в качестве Network и нажмите кнопку Create boot disk (Создать загрузочный диск). В поле MAC-адреса появится целевой MAC-адрес.
Сохраните конфигурацию, нажав кнопку «Сохранить».
3. Создание приложения в реальном времени
Откройте модель интерфейса Simulink в реальном времени. Добавьте в модель блок области и подключите его к выходам. Запишите выходные сигналы для просмотра результатов моделирования в инспекторе данных моделирования.

4. Создание и запуск приложения в реальном времени
Нажмите кнопку Run on Target на вкладке REAL_TIME для компиляции и загрузки модели в Speedgoat IO334-325k target.
Имя целевого объекта tg создается в рабочей области MATLAB, и модель запускается на целевом объекте. Просмотрите выходные результаты моделирования в инспекторе данных моделирования. Результаты моделирования загруженной модели соответствуют исходному моделированию модели Simscape.