State Control

Задайте синхронный сброс и включите поведение для блоков с состоянием

Библиотека

HDL Coder™ / Подсистемы HDL

  • State Control block

Описание

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

  • Для поведения симуляции Simulink по умолчанию, набор State control к Classic. Поведение симуляции в Classic режим эквивалентен, когда вы не используете блок State Control в подсистеме.

  • Для синхронного аппаратного поведения симуляции, набор State control к Synchronous. Блок State Control в Synchronous режим улучшает поведение симуляции HDL блоков с состоянием или блоков, которые сбросили или включают порты. Когда использование Synchronous режим блока, сгенерированный HDL-код использует меньше аппаратных ресурсов, и поведение симуляции Simulink тесно совпадает с тем из цифрового оборудования.

Смотрите синхронное поведение подсистемы с блоком Госконтроля.

Параметры

State control

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

Ограничения

Ограничения уровня подсистемы

  • Условные подсистемы с помощью классической семантики не могут иметь подсистем с синхронной семантикой в них.

  • Вы не можете сгладить синхронную подсистему в классическую систему.

  • Условные подсистемы должны быть одним уровнем, когда вы используете блок State Control в синхронном режиме.

  • Synchronous Enabled Subsystem не может содержать подсистемы сброса или порт параметра сброса. Например, у вас не может быть блока Delay с внешним портом сброса в подсистеме.

  • Все подсистемы действия, соединенные с If и блоками Switch Case, должны иметь ту же семантику, или классическую или синхронную.

  • Эти блоки не поддерживаются в синхронном режиме:

Ограничения уровня модели

  • Сигналы переменного размера не поддерживаются с синхронной семантикой.

  • Синхронная семантика не распространяет через контуры модели. Если ваша родительская модель имеет синхронную семантику, любой модели, на которую ссылаются, нужно было задать синхронную семантику явным образом. На корневом уровне каждой модели, на которую ссылаются добавьте блок State Control с набором параметров State control к Synchronous.

Поддерживаемые блочные режимы

Следующие ограничения применяются к блокам в синхронном режиме:

  • Блок Delay: Когда вы имеете внешний порт сброса, устанавливаете External reset на Level hold.

  • Метод ssSetStateSemanticsClassicAndSynchronous должен быть установлен в true.

  • Stateflow® Chart (Stateflow): установите State Machine Type на Moore.

  • Блок MATLAB Function:

    • У вас не может быть Системных объектов в блоке MATLAB Function.

    • Если вы используете непрямое сквозное соединение в блоке MATLAB Function, не программируйте выходные параметры, чтобы использовать входные параметры, или обновил персистентные переменные. Блок MATLAB Function должен управлять выходными параметрами от персистентных переменных.

      Чтобы использовать непрямое сквозное соединение, в Портах и Менеджере данных, снимают флажок Allow direct feedthrough. Смотрите Использование Непрямое Сквозное соединение в блоке MATLAB function.

Неподдерживаемые блоки

Следующие блоки не позволены в синхронном режиме:

  • Набор единичной задержки блокируется в подбиблиотеке Additional Math & Discrete> Additional Discrete в Simulink, таком как блоки Unit Delay External IC и Unit Delay Resettable

  • Блоки Simulink с набором Input processing к Columns as channels (frame based), где этот параметр применяется.

  • Непрерывные блоки времени и блоки с непрерывным уровнем

  • Discrete-Time Integrator с портом сброса

  • From Workspace

  • Trigger

  • LMS Filter

  • HDL Minimum Resource FFT

  • DC Blocker

  • PN Sequence Generator

  • Convolutional Interleaver и Convolutional Deinterleaver

  • General Multiplexed Interleaver и General Multiplexed Deinterleaver

  • Convolutional Encoder и Viterbi Decoder

  • Sample and Hold

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2016a