В этом примере показано, как сгенерировать Simulink® Интерфейсная подсистема В реальном времени для Simscape™ двухуровневая модель объекта управления конвертера. Можно затем развернуть интерфейсную модель на модуле ввода-вывода FPGA Speedgoat. Этот пример использует модуль Speedgoat IO334-325k.
Симуляция модели объекта управления на FPGA обеспечивает:
Симуляция в реальном времени: оборудование в цикле обеспечивает симуляцию в реальном времени вашей модели объекта управления Simscape на целевом компьютере.
Аппаратное ускорение: Ускоренная симуляция комплексных физических систем на оборудовании, в то время как реконфигурируемый FPGAs обеспечивает быстрое прототипирование.
Использовать рабочий процесс:
Разработайте модель Simscape и преобразуйте ее в модель реализации при помощи HDL Workflow Advisor Simscape.
Сгенерируйте HDL-код и разверните код в модуль ввода-вывода Speedgoat при помощи HDL Workflow Advisor.
Прежде, чем развернуть ваш алгоритм на модуле ввода-вывода Speedgoat:
1. Установите последнюю версию Xilinx® Vivado®, как перечислено в Поддержке Языка HDL и Поддерживаемых Сторонних программах и Оборудовании.
Затем установите инструмент path на установленный исполняемый файл Xilinx Vivado при помощи hdlsetuptoolpath
функция.
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat')
2. Для симуляции в реальном времени, настроенной среда разработки и настройки целевого компьютера. Смотрите Начало работы с Simulink Real-Time (Simulink Real-Time).
3. Установите Библиотеку ввода-вывода Speedgoat и пакеты Интегрирования HDL Coder Speedgoat. Смотрите Установку Пакеты Интегрирования HDL Coder Speedgoat.
Открыть эту модель, введите:
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 для:
Произведите ссылочную волну.
Сравните выборку с треугольной несущей.
Сгенерируйте переключатель - на импульсе, если выборка выше, чем сигнал несущей или выключать импульс, если выборка ниже, чем несущая.
Симулируйте модель.
sim('TwoLevelConverter_HDL') open_system('TwoLevelConverter_HDL/Load Scope')
Чтобы сгенерировать модель реализации, используйте 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, сохраняют настройки по умолчанию для задач, и затем запускают задачи. Вы видите ссылку на модель в Сгенерировать задаче модели реализации. Эта модель имеет то же имя как исходная модель, снабженная префиксом gmStateSpaceHDL
.
Открыть модель реализации, введите:
load_system('gmStateSpaceHDL_TwoLevelConverter_HDL') open_system('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system') set_param('gmStateSpaceHDL_TwoLevelConverter_HDL','SimulationCommand','update')
Модель реализации заменяет подсистему Simscape на алгоритм HDL, который выполняет расчеты пространства состояний. Когда вы перешли в этой подсистеме, вы видите несколько задержек, сумматоров, и Умножение матриц блоки, которые моделируют уравнения пространства состояний. От и блоки Goto в этой подсистеме обеспечивают тот же вход как та из исходной модели к HDL Subsystem
.
open_system('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/HDL Subsystem/HDL Algorithm')
HDL Workflow Advisor проводит вас по генерации HDL-кода и процессу проектирования FPGA. Используйте Советника:
Проверяйте модель на совместимость генерации HDL-кода и зафиксируйте несовместимые настройки.
Сгенерируйте HDL-код, испытательный стенд и скрипты, чтобы создать и запустить код и испытательный стенд.
Выполните анализ синтеза и синхронизации.
Разверните сгенерированный код на SoCs, FPGAs и модулях ввода-вывода Speedgoat.
Чтобы открыть HDL Workflow Advisor для подсистемы в модели, используйте hdladvisor
функция.
load_system('sschdlexTwoLevelConverterIgbtExample') hdladvisor('sschdlexTwoLevelConverterIgbtExample/Simscape_system')
Левая панель содержит папки, которые представляют группу связанных задач. Расширение папок и выбор задачи отображают информацию о той задаче на правой панели. Правая панель содержит простые средства управления для выполнения задачи к продвинутым параметрам и настройкам опции что генерация испытательного стенда и код системы управления. Чтобы узнать больше о каждой задаче, щелкните правой кнопкой по той задаче и выберите What, Это?. Смотрите Начало работы с HDL Workflow Advisor.
1. Откройте HDL Workflow Advisor для модели реализации.
hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/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. Щелкните правой кнопкой по Generate RTL Code и задаче IP Core и выберите Run to Selected Task. Когда модель использует векторные типы данных, Сгенерировать Код RTL и сбои Ядра IP потому что ScalarizePorts
свойство должно быть установлено в dutlevel
. Щелкните по ссылке, чтобы изменить эти настройки и повторно выполнить задачу.
6. Запустите рабочий процесс к задаче интерфейса Generate Simulink Real-Time. В Создают задачу Проекта, можно открыть проект Vivado и видеть реализованный проект. После передач задачи интерфейса Generate Simulink Real-Time щелкните по ссылке, чтобы открыть Модель Интерфейса Simulink Real-Time.
Для быстрого прототипирования можно экспортировать настройки HDL Workflow Advisor в скрипт. Скрипт является файлом MATLAB®, который можно запустить из командной строки. Можно затем изменить и запустить скрипт или импортировать настройки в Пользовательский интерфейс HDL Workflow Advisor.
Чтобы экспортировать скрипт Рабочего процесса HDL, после того, как вы запустите задачи в Советнике, выбирают File> Export to Script. В данном примере, когда вы экспортируете в скрипт, этот файл показывает настройки вы сохраненный.
edit('hdlworkflow_slrt.m')
Чтобы импортировать скрипт Рабочего процесса HDL, в HDL Workflow Advisor, выбирают File> Import from Script. Выберите файл скрипта и нажмите Open. HDL Workflow Advisor обновляет задачи с импортированными настройками скрипта.
Для примера, который показывает, как запустить приложение реального времени путем развертывания потока битов FPGA, смотрите Оборудование в Реализации цикла Модели Simscape на Модулях ввода-вывода FPGA Speedgoat.