Советы HDL Workflow Advisor Simscape и инструкции

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

sschdladvisor('sschdlexHalfWaveRectifierExample')

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

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

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

sschdladvisor('sschdlexHalfWaveRectifierExample')

Запустите рабочий процесс к задаче Check Switched Linear.

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

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

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

Когда вы запускаете задачу Extract Equations, HDL Workflow Advisor Simscape сообщает о времени остановки симуляции. Время остановки симуляции соответствует количеству времени, что Советник исполняется симуляция на вашей модели Simscape. Время остановки не должно быть значительно большое таким образом, что Советнику требуется много времени, чтобы запустить эту задачу. Используйте время остановки, которое достаточно, чтобы достигнуть необходимого количества режимов для вашей модели. Чтобы изменить время остановки, перейдите к модели Simscape, и затем задайте Stop Time.

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

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

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

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

open_system('sschdlexBridgeRectifierExample')

В Simscape_system Subsystem, вы видите эти четыре диода, расположенные в настройке моста.

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

  • Диоды D1 и D2 ON, D3 и D4 OFF

  • Диоды D1 и D2 OFF, D3 и D4 ON

  • Диоды D1, D2, D3, и D4 OFF

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

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

Измените шаг расчета

Когда вы запускаете задачу Discretize Equations, HDL Workflow Advisor Simscape сообщает о дискретном шаге расчета. Дискретный шаг расчета соответствует шагу расчета что использование Советника, чтобы дискретизировать дифференциальные алгебраические уравнения к параметрам пространства состояний. Чтобы изменить шаг расчета, в вашей модели Simscape, открывают диалоговое окно Block Parameters для блока Solver Configuration, и затем задают Sample time.

Шаг расчета и уравнения дискретизации

В задаче Discretize Equations HDL Workflow Advisor Simscape дискретизирует дифференциальные алгебраические уравнения в параметры пространства состояний. Вы извлекаете дифференциальные алгебраические уравнения путем симуляции модели Simscape в предыдущей задаче, Extract Equations. Задача Discretize Equations запускается намного быстрее, чем задача Extract Equations, потому что Советник только должен дискретизировать дифференциальные алгебраические уравнения к параметрам пространства состояний.

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

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

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

В задаче Generate implementation model можно задать Number of solver iterations. Количество итераций решателя относится к числу раз, модель в пространстве состояний выполняется на режим. HDL Workflow Advisor Simscape генерирует количество итераций, которые требуются для выполнения модели в пространстве состояний, автоматически.

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

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

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

На блоке Solver Configuration флажок Use fixed-cost runtime consistency iterations снимается по умолчанию. Если вы устанавливаете этот флажок, установка Nonlinear iterations на блоке Solver Configuration становится тем же самым как установкой Number of solver iterations в задаче Generate implementation model.

По умолчанию Nonlinear iterations установлен в 2. Когда вы запускаете задачу Generate implementation model, Советник устанавливает Number of solver iterations на 2 и эта установка не может быть изменена. Изменить Number of solver iterations, также:

  • Измените Nonlinear iterations.

  • Очистите Use fixed-cost runtime consistency iterations и затем измените Number of solver iterations.

Чтобы узнать больше об установке Use fixed-cost runtime consistency iterations, смотрите Solver Configuration (Simscape). См. также Решатели для Симуляции В реальном времени (Simscape).

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

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

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

Обменивание числовой точности и частоты дискретизации

Чтобы проверить, совпадают ли числовые результаты модели реализации HDL с исходной моделью Simscape, выберите Generate validation logic for the implementation model. Если числовые результаты модели реализации HDL не соответствуют, можно увеличить число итераций решателя. Чтобы узнать больше, смотрите, Увеличивают Число Итераций Решателя.

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

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

Используйте установку Floating-point precision, чтобы задать, хотите ли вы алгоритм в HDL Subsystem в сгенерированной модели реализации, чтобы использовать single или double типы данных при выполнении матричных расчетов.

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

Чтобы узнать больше о настройках точности с плавающей точкой и компромиссах, смотрите Использование Большая Точность С плавающей точкой.

Похожие темы