Моделируя с Simulink, Stateflow и блоками MATLAB function

Можно следовать этой инструкции как общей практике для моделирования проекта с различными блоками в Simulink® Library Browser.

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

ID инструкции

1.1.8

Серьезность

Информативный

Описание

Когда вы создадите модель Simulink для генерации HDL-кода, используйте блоки Simulink, блоки MATLAB function и блоки Stateflow® на основе приложения. Эти данные показывают пример того, как можно использовать различные блоки в DUT.

Блоки Simulink

Используйте блоки Simulink, чтобы моделировать арифметические алгоритмы, которые выполняют числовую обработку, или содержит обратную связь.

Блоки MATLAB function

Используйте блоки MATLAB function, чтобы смоделировать управляющую логику, условные переходы такой как будто еще операторы и простая машина состояний. Можно также использовать блоки MATLAB function, чтобы смоделировать IP, который записан с помощью кода MATLAB®.

Блоки Stateflow

Используйте эти блоки Stateflow, чтобы смоделировать ваш алгоритм:

  • Таблица Изменения состояния: Используйте эти блоки, чтобы смоделировать машину состояний, которая управляет выводом с помощью знания прошлого и настоящего.

  • График: Используйте эти блоки для образцовых блок-схем с помощью условного выражения, если еще ответвления и машина состояний, которая управляет выводом с помощью знания прошлого и настоящего.

  • Таблица истинности: Используйте эти блоки для образцового условного выражения если еще ответвления.

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

Модели - ссылки

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

Примечание

Когда вы генерируете HDL-код для Подсистемы, которая не является в верхнем уровне модели, HDL Coder™ преобразовывает Подсистему в модель - ссылку.

Модель, на которую ссылаются, обработана подобная Атомарной подсистеме. В некоторых случаях алгебраический цикл может потенциально произойти и может предотвратить генерацию HDL-кода. Чтобы сгенерировать код, или удалить алгебраический цикл в вашем проекте, или, в диалоговом окне Configuration Parameters, задают установку Minimize algebraic loop occurrences.

Подсистемы BlackBox

Для подсистем, которые вы хотите моделировать в своем проекте и включать HDL-код, который вы создали, используйте подсистемы BlackBox. Чтобы создать Подсистему BlackBox, установите Архитектуру HDL Подсистемы или Модели - ссылки к BlackBox. Можно использовать эту архитектуру, чтобы включить рукописный HDL-код в модель Simulink. Для получения дополнительной информации смотрите, Проверяют Комбинацию Рукописного и Сгенерированного HDL-кода (HDL Verifier).

Если вы генерируете модель Simulink с помощью HDL-кода, который вы создали, используйте импорт HDL. Чтобы узнать больше, см. Импорт HDL Verilog: Импортируйте Код Verilog и Сгенерируйте Модель Simulink.

HDL блоки Cosimulation

Если у вас есть симулятор HDL, такой как Mentor Graphics® ModelSim® или Cadence Incisive®, можно использовать HDL блоки Cosimulation, чтобы моделировать HDL-код для DUT и инстанцировать этого HDL-кода в сгенерированном коде.

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

Руководства по моделированию

Похожие темы