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

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

Оборудование в рабочем процессе цикла

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

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

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

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

Setup и настройка

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

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

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

  • Выполните анализ синтеза и синхронизации.

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

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

  hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')

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

Сгенерируйте поток битов FPGA для целевого компьютера Speedgoat

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

Разверните поток битов в цель Speedgoat IO334-325k

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.