Разверните модели объекта управления Simscape™ в модули ввода-вывода FPGA Speedgoat

В этом примере показано, как можно развернуть модели объекта управления Simscape на модулях ввода-вывода FPGA Speedgoat при помощи HDL Workflow Advisor. Этот рабочий процесс является двухступенчатым процессом.

  1. Разработайте модель Simscape и преобразуйте ее в модель реализации при помощи HDL Workflow Advisor Simscape. HDL-код сгенерирован из этой модели реализации. Для получения дополнительной информации смотрите, Генерируют HDL-код для Моделей Simscape.

  2. Разверните HDL-код в модуль ввода-вывода Speedgoat при помощи HDL Workflow Advisor.

Почему развертывают модель Simulink в модули FPGA Speedgoat

Можно использовать HDL Workflow Advisor, чтобы развернуть модель Simulink™ в модули ввода-вывода FPGA Speedgoat. Симуляция модели объекта управления на FPGA обеспечивает:

  • Симуляция в реальном времени: оборудование в цикле обеспечивает симуляцию в реальном времени вашей модели объекта управления Simscape.

  • Аппаратное ускорение: скорость симуляции увеличений физических систем путем реализации его на оборудовании как реконфигурируемый FPGAs обеспечивает быстрое аппаратное прототипирование. Можно использовать эту возможность смоделировать комплексные физические системы.

Настройте и настройка

Развернуть модели объекта управления Simscape на модули FPGA Speedgoat:

1. Установите Xilinx Vivado®

Speedgoat FPGA IO333-325K использует Xilinx Vivado. Если это уже не присутствует, Xilinx Vivado v2018.2 установки. Затем установите инструмент path на установленный исполняемый файл Xilinx Vivado 2018.2. Чтобы установить инструмент path, используйте hdlsetuptoolpath функция.

hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2018.2\bin\vivado.bat')

2. Настройте Модуль ввода-вывода

Чтобы запустить симуляцию модели объекта управления Simscape в режиме реального времени на оборудовании, необходимо настроить модуль ввода-вывода. Для получения информации о подготовке модуля ввода-вывода смотрите Xilinx HDL Software для Оборудования ввода-вывода Speedgoat.

HDL Workflow Advisor

HDL Workflow Advisor проводит вас по этапам генерации HDL-кода для Подсистемы Simulink и процесса проектирования FPGA, таким как:

  • Проверка модели для совместимости генерации HDL-кода и автоматически фиксация несовместимых настроек.

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

  • Синтез и анализ синхронизации посредством интеграции со сторонними инструментами синтеза.

  • Завершая автоматизированные рабочие процессы для развертывания на аппаратных платформах, таких как Система на чипе (SoC), FPGAs и модули ввода-вывода Speedgoat.

В этом примере показано, как использовать HDL Workflow Advisor, чтобы развернуть HDL-код на модуле Speedgoat IO333-325K, который использует Xilinx Vivado. Например, чтобы открыть HDL Workflow Advisor для Подсистемы в модели, введите:

load_system('sschdlexTwoLevelConverterIgbtExample')
hdladvisor('sschdlexTwoLevelConverterIgbtExample/Simscape_system')

Для получения дополнительной информации смотрите hdladvisor.

В HDL Workflow Advisor левая панель перечисляет папки в иерархии. Каждая папка представляет группу или категорию связанных задач. Расширение папок показывает доступные задачи в каждой папке. От левой панели можно выбрать папку или отдельную задачу. HDL Workflow Advisor отображает информацию о выбранной папке или задаче на правой панели. Содержимое правой панели зависит от выбранной папки или задачи. Для некоторых задач правая панель содержит простые средства управления для выполнения задачи и области отображения для сообщений о состоянии и других результатов задачи. Для других задач, которые включают код установки или параметры генерации испытательного стенда, правая панель отображает несколько параметров и настроек опции.

Чтобы узнать больше о каждой отдельной задаче, щелкните правой кнопкой по той задаче и выберите What, Это?.

Для получения дополнительной информации смотрите Начало работы с HDL Workflow Advisor.

Две модели конвертера идеала уровня

Этот пример использует Двухуровневый Идеальный конвертер модель объекта управления Simscape. Открыть эту модель, введите:

open_system('sschdlexTwoLevelConverterIdealExample')

Сохраните эту модель локально как TwoLevelConverter_HDL.slx запускать этот рабочий процесс.

open_system('TwoLevelConverter_HDL')
set_param('TwoLevelConverter_HDL','SimulationCommand','update')

open_system('TwoLevelConverter_HDL/Simscape_system')

Подсистема Simscape получает импульсы управления с шестью переключателями, как введено. Подсистема Simscape действует как генератор, который использует двухуровневый, основанный на поставщике услуг метод PWM для:

  1. Произведите ссылочную волну.

  2. Сравните выборку с треугольной несущей.

  3. Сгенерируйте переключатель - на импульсе, если выборка выше, чем сигнал поставщика услуг или выключать импульс, если выборка ниже, чем несущая.

Сгенерируйте модель реализации HDL

Чтобы сгенерировать модель реализации, используйте HDL Workflow Advisor Simscape. Запустите sschdladvisor функционируйте для своей модели:

sschdladvisor('TwoLevelConverter_HDL')
### Running Simscape HDL Workflow Advisor for <a href="matlab:(TwoLevelConverter_HDL)">TwoLevelConverter_HDL</a>

Чтобы сгенерировать модель реализации, в HDL Workflow Advisor Simscape, сохраняют настройки по умолчанию для всех задач, и затем запускают задачи. Вы видите ссылку на модель в Сгенерировать задаче модели реализации.

Модель реализации

Открыть модель реализации, введите:

open_system('gmStateSpaceHDL_TwoLevelConverter_HDL')

Модель содержит две подсистемы. Модели HDL Subsystem представление пространства состояний, которое вы сгенерировали из модели Simscape. Порты этой подсистемы используют то же имя в качестве Simulink-PS Converter и блоков PS-Simulink Converter, которые вы используете в своей исходной модели Simscape. Если вы перешли в этой Подсистеме, вы видите несколько задержек, сумматоров, и Умножение матриц блоки, которые моделируют уравнения пространства состояний. От и блоки Goto в этой подсистеме обеспечивают тот же вход как та из исходной модели к HDL Subsystem.

Разверните два уровня модель конвертера IGBT в модуль Speedgoat IO333-325K

В этом примере показано, как развернуть модель реализации Двух Уровней Конвертер IGBT к модулю FPGA Speedgoat IO333-325K при помощи HDL Workflow Advisor. Модуль FPGA Speedgoat IO333 использует Xilinx Vivado и Инфраструктуру Генерации Ядра IP. Прежде чем вы запустите Советника по вопросам Рабочего процесса, убедитесь, что вы задали путь к установленному исполняемому файлу Xilinx Vivado.

1. Открытый HDL Workflow Advisor

Открыть HDL Workflow Advisor для модели Implementation, введите:

hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL/HDL Subsystem')

2. В задаче Инструмента Целевого устройства и Синтеза Набора, установленной эти параметры и, выбирают Run This Task:

  • Целевой рабочий процесс как Simulink Real-Time FPGA I/O

  • Целевая платформа как Speedgoat IO333-325K

  • Инструмент Synthesis как Xilinx Vivado

3. В Целевой задаче Исходного проекта Набора выберите значение x4 для параметра PCIe lanes, и выберите Run This Task.

4. В Поставившей Целевой Интерфейсной задаче сопоставьте Ввод и вывод single порты типа данных к PCIe Interface и выберите Run This Task.

5. В Целевой задаче Частоты Набора выберите целевую частоту, которая является в области значений. Если целевая частота установлена в более высокие значения, она приводит к отказу сгенерировать поток битов, когда вы запускаете Поток битов FPGA Сборки задачи. Этот пример имеет Целевой набор Частоты к 50 MHz.

6. Щелкните правой кнопкой по Generate RTL Code и задаче IP Core и выберите Run to Selected Task. Этот шаг генерирует предупреждение, если модель использует векторные типы данных. Щелкните по ссылке в предупреждении, выберите порты вектора Scalarize и повторно выполните задачу.

7. Запустите рабочий процесс к задаче интерфейса Generate Simulink Real-Time. В Создают задачу Проекта, можно открыть проект Vivado и видеть реализованный проект.

8. Когда задача интерфейса Generate Simulink Real-Time передает, вы видите ссылку, чтобы открыть Модель Интерфейса Simulink Real-Time. Выберите эту ссылку.

Экспортируйте рабочий процесс HDL в скрипт

Опционально, вы можете:

  • Сохраните настройки HDL Workflow Advisor, чтобы написать сценарий и запустить скрипт с помощью командной строки.

  • Импортируйте настройки, чтобы изменить его и повторно выполнить его с помощью Пользовательского интерфейса HDL Workflow Advisor.

Экспортируйте скрипт рабочего процесса HDL

  1. В HDL Workflow Advisor сконфигурируйте и запустите все задачи.

  2. Выберите File> Export to Script.

  3. В диалоговом окне Export Workflow Configuration введите имя файла и сохраните скрипт.

Скрипт является файлом MATLAB®, который можно запустить из командной строки.

Импортируйте скрипт рабочего процесса HDL

  1. В HDL Workflow Advisor выберите File> Import from Script.

  2. В диалоговом окне настройки Рабочего процесса Импорта выберите файл скрипта и нажмите Open.

HDL Workflow Advisor обновляет задачи с импортированными настройками скрипта.

Пример Рабочего процесса ввода-вывода FPGA Simulink Real-Time

В этом примере показано, как сконфигурировать и запустить экспортируемый скрипт Рабочего процесса HDL.

Чтобы сгенерировать скрипт Рабочего процесса HDL, сконфигурируйте и запустите HDL Workflow Advisor со своим проектом Simulink, затем экспортируйте скрипт.

Этим скриптом является Simulink Real-Time FPGA I/O скрипт рабочего процесса, который предназначается для Speedgoat IO333-325K модуль, который использует инструмент синтеза Xilinx Vivado.

Отредактировать экспортируемый скрипт в окне команды MATLAB, введите:

edit('hdlworkflow_slrt.m')

Смотрите также

Функции

Похожие темы