Оборудование -в цикле Реализация модели Simscape на ввод-вывод модулях Speedgoat FPGA

Этот пример показывает, как синтезировать и сгенерировать битовый поток FPGA из Simscape™ модели выпрямителя половинной волны и загрузить битовый поток в цель ввода/вывода 334-325K FPGA Speedgoat для реализации «Оборудование в цикле» (HIL).

Оборудование -in-the Цикла Workflow

  1. Сгенерируйте модель реализации HDL из модели Simscape с помощью Simscape HDL Workflow Advisor. Модель реализации HDL является моделью Simulink ®, которая заменяет алгоритм Simscape на HDL-совместимые блоки

  2. Сгенерируйте битовый поток FPGA для модели реализации HDL с помощью HDL Workflow Advisor

  3. Загрузите битовый поток в модуль ввода-вывода 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

Чтобы сгенерировать модель реализации 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.

Setup и строение

Модуль 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 Workflow Advisor поможет вам с генерацией HDL-кода и процессом проекта FPGA. Используйте Advisor для:

  • Проверьте модель на совместимость генерации HDL-кода и исправьте несовместимые настройки.

  • Сгенерируйте HDL-код, испытательный стенд и скрипты для создания и запуска кода и испытательного стенда.

  • Выполните синтез и временной анализ.

  • Развертывание сгенерированного кода на модулях SoCs, FPGA и Speedgoat ввода-вывода.

Чтобы открыть HDL Workflow Advisor, используйте hdladvisor функция.

  hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')

Левая панель содержит папки, которые представляют группу связанных задач. При развертывании папок и выборе задачи сведения об этой задаче отображаются на правой панели. Правая панель может содержать простые элементы управления для запуска задачи в продвинутые параметры и настройки опций, которые код системы управления и испытательный стенд генерацию. Чтобы узнать больше о каждой задаче, щелкните правой кнопкой мыши эту задачу и выберите «Что это?» См. Раздел «Начало работы с HDL Workflow Advisor».

Сгенерируйте Bitstream FPGA для платформы Speedgoat

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 со скриптом.

Развертывание Bitstream на Speedgoat IO334-325k Target

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.