exponenta event banner

Аппаратная реализация модели Simscape в модулях ввода-вывода FPGA Speedgoat

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

Рабочий процесс «оборудование в цикле»

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

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

  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. Если открыть диалоговое окно Параметры блока (Block Parameters) для блока Конфигурация решателя (Solver Configuration), будет выбран параметр Использовать локальный решатель (Use local solver) и Backward Euler указывается как тип решателя. См. раздел Начало работы с оборудованием Simscape в цикле.

Для просмотра функциональных возможностей алгоритма смоделируйте модель.

sim(ModelName)
open_system([ModelName, '/Scope'])

2. Настройте модель Simscape для совместимости с HDL с помощью hdlsetup функция:

hdlsetup('sschdlexHalfWaveRectifierExample')

Создание модели внедрения HDL

Для создания модели внедрения ЛПВП:

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

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

  • Создание кода HDL, тестового стенда и сценариев для создания и запуска кода и тестового стенда.

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

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

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

  hdladvisor('gmStateSpaceHDL_sschdlexHalfWaveRectifierEx/Simscape_system/HDL Subsystem')

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

Создание битового потока FPGA для платформы Speedgoat

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 со сценарием.

Развертывание битового потока на Speedgoat IO334-325k Target

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.