exponenta event banner

Задачи советника по рабочим процессам Simscape HDL

С помощью Simscape HDL Workflow Advisor можно создать модель реализации HDL. Затем можно создать код HDL для модели реализации и развернуть код на платформах FPGA. Чтобы открыть Advisor, запустите sschdladvisor функция. Например:

sschdladvisor('sschdlexHalfWaveRectifierExample')

В Simscape HDL Workflow Advisor для получения сводной информации о каждой папке или задаче Simscape HDL Workflow Advisor щелкните правой кнопкой мыши эту папку или задачу и выберите Что это?.

Папка помощника по рабочим процессам Simscape HDL

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

  • Папка совместимости генерации кода состоит из задач, которые проверяют, является ли модель коммутируемой линейной системой и использует ли она правильные настройки конфигурации решателя.

  • Папка преобразования State-space состоит из задач, которые извлекают параметры state-space из модели для создания модели реализации.

  • Папка создания модели реализации состоит из задачи, которая генерирует модель реализации HDL из параметров state-space.

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

Папка совместимости создания кода

Задачи в папке совместимости «» Создание кода «» проверяют:

  • В модели Simscape правильно заданы настройки конфигурации решателя, и настройки согласованы между блоками конфигурации решателя внутри каждой сети.

  • Модель использует коммутируемые линейные блоки.

Задача проверки конфигурации решателя

Задача проверки конфигурации решателя проверяет, заданы ли правильные настройки и согласованы ли они в блоках конфигурации решателя (Simscape) внутри каждой сети в модели Simscape.

Помощник проверяет, были ли заданы эти параметры для всех блоков конфигурации решателя:

  • Выбран вариант Использовать локальный решатель

  • Для типа решателя установлено значение Backward Euler

  • Время дискретной выборки, Ts указано

  • Использование итераций непротиворечивости среды выполнения с фиксированной стоимостью либо выбрано, либо очищено

  • Значение нелинейных итераций совпадает, если выбран параметр Использовать итерации непротиворечивости времени выполнения с фиксированной стоимостью

Если эти настройки не заданы, задача предоставляет ссылку на блок конфигурации решателя в модели и изменяемые настройки.

Проверить коммутируемую линейную задачу

Задача Проверка переключенных линейных блоков проверяет, используются ли переключенные линейные блоки в модели Simscape.

Чтобы эта задача прошла, используемая модель должна содержать линейные или коммутируемые линейные блоки. Нелинейные блоки и изменяющиеся во времени блоки (например, блоки переменного индуктора и переменного конденсатора) не поддерживаются.

Линейные блоки - это блоки, которые определяются линейным соотношением. Например, резистор является линейным блоком, поскольку он определяется уравнением V = IR. Аналогично, индуктор является линейным, потому что он определяется V = d/dt I L. Коммутируемые линейные блоки представляют собой блоки, такие как диоды или переключатели. Эти блоки определяются таким линейным соотношением, как V = IR где R может переключаться между двумя или более значениями в зависимости от состояния диодов или переключателей.

Эта задача выполняется simscape.findNonlinearBlocks (Simscape) в модели для проверки наличия нелинейных блоков. Например:

sschdladvisor('sschdlexHalfWaveRectifierExample')
Если модель содержит нелинейные блоки, выполнение этой задачи завершается неуспешно. В журнале результатов отображаются ссылки на нелинейные блоки в модели. Чтобы продолжить рабочий процесс, замените нелинейные блоки на коммутируемые линейные блоки и повторно запустите задачу.

По завершении этой задачи отображается следующее:

  • Сообщение, указывающее, что модель переключается линейно.

  • Количество сетей Simscape, присутствующих в модели.

  • Количество алгебраических и дифференциальных переменных для каждой сети Simscape со ссылками на блоки в модели Simscape, связанные с этими переменными.

    Дифференциальные переменные потребляют квадратичное количество ресурсов множителя на целевом устройстве FPGA. Алгебраические переменные потребляют линейное количество ресурсов множителя. Эту информацию можно использовать для определения количества ресурсов мультипликатора, потребляемых конструкцией Simscape на устройстве FPGA.

  • Сообщение со ссылками на блоки Simulink-PS Converter (Simscape) и PS-Simulink Converter (Simscape) в модели, если для этих блоков используются имена по умолчанию.

    Входные и выходные порты HDL Subsystem в модели реализации используются имена, заданные для блоков Конвертер Simulink-PS и Конвертер PS-Simulink. Чтобы избежать этого сообщения, используйте значимое имя для этих блоков.

Папка преобразования пространства состояния

Прежде чем создать модель реализации HDL, запустите задачу в этой папке, чтобы получить параметры состояния-пространства из модели. Задачи в этой модели:

  • Моделирование модели Simscape для извлечения дифференциальных алгебраических уравнений.

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

Извлечение уравнений

Задача «Извлечь уравнения» моделирует модель Simscape для извлечения дифференциальных алгебраических уравнений. Эта задача выводит значение времени остановки моделирования из исходной модели Simscape.

Если эта задача пройдена, отображается количество состояний, входов, выходов, режимов и дифференциальных переменных для каждой сети Simscape, присутствующей в модели. Задача также отображает сообщение, если модель является чисто линейной и не содержит нелинейных элементов.

Количество режимов ограничено количеством переключателей в модели Simscape. Максимальное количество возможных режимов: 2^(number of switches). Все режимы, создаваемые консультантом, выполняются в соответствии с входными параметрами с помощью логики переключения. В зависимости от конструкции модели Simscape выбирается допустимое количество режимов.

Дискретизировать уравнения

Эта задача дискретизирует дифференциальные алгебраические уравнения и генерирует абстрактное дискретное представление состояния-пространства. Эта задача представляет модель в виде линейных режимов. Каждый режим представлен набором матриц состояния-пространства. Эта задача выводит значение времени дискретной выборки из исходной модели Simscape.

Если эта задача пройдена, отображается время дискретной выборки и количество параметров и режимов для каждой сети Simscape, присутствующей в модели.

Папка создания модели реализации

Задача в папке создания модели реализации генерирует модель реализации HDL из дискретного представления состояния-пространства. Модель реализации представляет алгоритм Simscape с использованием блоков Simulink ®, совместимых с формированием кода HDL. Если задача Создать модель реализации в этой папке проходит, она предоставляет ссылку на модель реализации.

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

Чтобы создать модель реализации HDL из дискретного представления состояния-пространства, запустите эту задачу. Модель реализации HDL содержит HDL Subsystem моделирует уравнения state-space с использованием параметров state-space, полученных при выполнении задачи Get state-space parameters. HDL Subsystem блок представляет DUT, для которого можно создать код HDL.

Перед выполнением этой задачи можно выполнить следующие действия.

  • Укажите пользовательское значение для параметра Число итераций решателя. Дополнительные сведения см. в разделе Использование числа итераций решателя.

  • Используйте параметр «Точность с плавающей запятой», чтобы указать, HDL Subsystem в созданной модели реализации хранятся типы матриц в single или double и вычисляет результаты в single или double типы данных. Дополнительные сведения см. в разделах Точность с плавающей запятой и числовая точность.

  • Используйте логику генерации проверки для модели реализации, чтобы создать логику, которая проверяет, является ли созданная модель реализации HDL функционально эквивалентной исходной модели Simscape. Логика создается для каждой сети Simscape, присутствующей в модели. Можно задать допуск для числовой корректности с помощью логического допуска проверки. Допуск логики проверки является абсолютным значением. Например, можно задать значение допуска, равное 1e-12.

При прохождении задачи появится ссылка на модель внедрения.

Связанные темы