exponenta event banner

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

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

sschdladvisor('sschdlexHalfWaveRectifierExample')

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

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

После выполнения задачи Проверить коммутируемую линейную (Check Switched Linear) задача сообщает количество дифференциальных и алгебраических переменных для каждой сети Simscape, присутствующей в модели. Например, этот рисунок иллюстрирует, что в модели примера повышающего преобразователя есть две дифференциальные и две алгебраические переменные sschdlexBoostConverterExample.

sschdladvisor('sschdlexHalfWaveRectifierExample')

Запустите workflow-процесс в задачу Проверка коммутируемых линейных.

Просматривая количество алгебраических и дифференциальных переменных, можно определить, как конструкция потребляет ресурсы на устройстве FPGA. Если Nd - количество дифференциальных переменных и Na - количество алгебраических переменных, использование ресурсов на целевом оборудовании изменяется в соответствии с соотношением Nd*(Nd+Na). Дифференциальные переменные потребляют квадратичное количество ресурсов множителя на целевом устройстве FPGA. Алгебраические переменные потребляют линейное количество ресурсов множителя. С помощью этой информации можно определить, сколько ресурсов мультипликатора потребляет конструкция Simscape на устройстве FPGA и готова ли конструкция к преобразованию в представление пространства состояния.

Установка времени остановки моделирования для извлечения уравнений

Изменение времени остановки моделирования

При выполнении задачи «Извлечение уравнений» помощник Simscape HDL Workflow Advisor сообщает время остановки моделирования. Время остановки моделирования соответствует времени, затрачиваемому консультантом на выполнение моделирования в модели Simscape. Время остановки не должно быть значительно большим, так что для выполнения этой задачи консультанту требуется много времени. Используйте время остановки, достаточное для достижения требуемого количества режимов для модели. Чтобы изменить время остановки, перейдите к модели Simscape и укажите время остановки.

Время остановки моделирования и количество режимов

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

Для переключаемой линейной модели каждый переключающий элемент в конструкции имеет два режима. Коммутируемая линейная модель с n коммутационные элементы имеют 2^n возможные режимы. Для моделей Simscape с большим количеством переключающих элементов количество режимов может стать значительно большим. Например, венский выпрямитель имеет 21 переключающие элементы, которые преобразуются в 2^21 возможные режимы. Simscape HDL Workflow Advisor может занять много времени, чтобы смоделировать такую большую модель и охватить такое большое количество режимов. Кроме того, модель реализации HDL, создаваемая для такой конструкции, может потреблять большое количество ресурсов или даже не помещаться на целевом устройстве FPGA.

В большинстве случаев при моделировании модели Advisor не должен достигать всего 2^n режимы. Например, рассмотрим модель мостового выпрямителя. Чтобы открыть эту модель, введите:

open_system('sschdlexBridgeRectifierExample')

Внутри Simscape_system Подсистема, вы видите четыре диода в конфигурации моста.

Поскольку каждый диод имеет два состояния, конструкция Simscape может иметь 2^4 = 16 возможные состояния. В отличие от этого, мостовой выпрямитель имеет только три режима. Режимы:

  • Диоды D1 и D2 являются ON, D3 и D4 являются OFF

  • Диоды D1 и D2 являются OFF, D3 и D4 являются ON

  • Диоды D1, D2, D3, и D4 являются OFF

В этом примере показано, что на основе алгоритма Simscape и входных данных для проекта можно установить минимальное значение времени остановки моделирования, которое охватывает количество достигаемых режимов.

Изменение времени выборки для дискретизации уравнений

Изменение времени образца

При выполнении задачи Дискретизация уравнений помощник Simscape HDL Workflow Advisor сообщает время дискретной выборки. Время дискретной выборки соответствует времени выборки, которое Помощник использует для дискретизации дифференциальных алгебраических уравнений к параметрам состояния-пространства. Чтобы изменить время образца, в модели Simscape откройте диалоговое окно Параметры блока (Block Parameters) для блока Конфигурация решателя (Solver Configuration), а затем укажите время образца (Sample time).

Время выборки и дискретизирующие уравнения

В задаче Дискретизировать уравнения помощник Simscape HDL Workflow Advisor дискретизирует дифференциальные алгебраические уравнения в параметры состояния-пространства. Дифференциальные алгебраические уравнения извлекаются путем моделирования модели Simscape в предыдущей задаче «Извлечение уравнений». Задача «Дискретизировать уравнения» выполняется намного быстрее, чем задача «Извлечь уравнения», поскольку Консультант должен только дискретизировать дифференциальные алгебраические уравнения в соответствии с параметрами состояния-пространства.

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

Использование числа итераций решателя

Что такое число итераций решателя?

В задаче Создать модель реализации (Generate implementation model) можно указать число итераций решателя. Число итераций решателя относится к числу запусков модели state-space для каждого режима. Помощник Simscape HDL Workflow Advisor автоматически генерирует количество итераций, необходимых для выполнения модели пространства состояний.

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

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

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

В блоке Конфигурация решателя флажок Использовать итерации согласованности среды выполнения с фиксированной стоимостью снят по умолчанию. Если этот флажок установлен, параметр Нелинейные итерации (Nonlinear iterations) в блоке Конфигурация решателя (Solver Configuration) становится таким же, как и параметр Количество итераций решателя (Number of solver iterations) в задаче Создать модель реализации (Generate implementation model).

По умолчанию для нелинейных итераций задано значение 2. При выполнении задачи Создать модель реализации (Generate implementation model) помощник устанавливает для числа итераций решателя значение 2 и этот параметр нельзя изменить. Чтобы изменить число итераций решателя, выполните одно из следующих действий.

  • Изменить нелинейные итерации.

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

Дополнительные сведения о параметре Использовать итерации согласованности среды выполнения с фиксированной стоимостью см. в разделе Конфигурация решателя (Simscape). См. также Solvers для моделирования в реальном времени (Simscape).

Изменение количества итераций решателя

По умолчанию для этой задачи можно изменить число итераций решателя. Увеличение числа итераций решателя повышает численную точность созданной модели реализации HDL. Для достижения более высоких частот дискретизации уменьшите число итераций решателя. Выберите значение для количества итераций решателя, отличающихся числовой точностью и частотой дискретизации.

В блоке Конфигурация решателя (Solver Configuration), если задать параметр Использовать итерации согласованности среды выполнения с фиксированной стоимостью (Use fixed-cost runtime consistency iterations), нельзя изменить параметр Количество итераций решателя (Number of solver iterations) для этой задачи. Чтобы изменить число итераций решателя, в блоке Конфигурация решателя (Solver Configuration) измените параметр Нелинейные итерации (Nonlinear iterations) и повторно запустите задачу Создать модель реализации (Generate implementation model).

Сравнение числовой точности и частоты выборки

Для проверки соответствия числовых результатов модели реализации HDL исходной модели Simscape выберите Генерировать логику проверки для модели реализации. Если числовые результаты из модели реализации HDL не совпадают, можно увеличить число итераций решателя. Дополнительные сведения см. в разделе Увеличение числа итераций решателя.

Изменение числа итераций решателя приводит к нарушению числовой точности частоты дискретизации. Увеличение числа итераций решателя увеличивает время выборки модели реализации HDL, что может уменьшить частоту дискретизации. См. раздел Уменьшение числа итераций решателя.

Точность с плавающей запятой и числовая точность

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

Точность с плавающей запятойОписание
DoubleИспользуя double точность с плавающей запятой повышает численную точность формируемой модели и максимально достижимую целевую частоту. Однако потребление площади и задержка трубопровода также увеличиваются.
SingleЭто параметр по умолчанию для точности с плавающей запятой.
Single coefficient, double computationЭтот режим предлагает компромисс между Single и Double режимы точности с плавающей запятой. Чтобы сохранить использование памяти, коэффициенты, которые хранятся в single. Матричные вычисления затем выполняются в double для повышения точности.

Дополнительные сведения о параметрах точности с плавающей запятой и компромиссах см. в разделе Использование точности с плавающей запятой большего размера.

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