Enabled подсистема

Представляйте подсистему, выполнение которой включено внешним входом (HDL Coder)

Описание

Активированная подсистема является подсистемой, которая получает управляющий сигнал через блок Enable. Активированная подсистема выполняется на каждом шаге симуляции, где управляющий сигнал имеет положительное значение.

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

Лучшые практики

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

  • Для результатов синтеза совпадать с результатами Simulink®, порт Enable должен управляться зарегистрированной логикой (с синхронными часами) на FPGA.

  • Поместите единичные задержки на Enabled выходные сигналы Подсистемы. Выполнение так препятствует тому, чтобы генератор кода вставил дополнительные обходные регистры в HDL-код.

  • Enabled подсистемы могут влиять на результаты синтеза следующими способами:

    • В некоторых случаях скорость системных часов может понизиться небольшим процентом.

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

Архитектура HDL

АрхитектураОписание
Module (значение по умолчанию)Сгенерируйте код для подсистемы и блоков в подсистеме.
BlackBox

Сгенерируйте интерфейс черного квадрата. Сгенерированный HDL-код включает только определения порта ввода/вывода для подсистемы. Поэтому можно использовать подсистему в модели, чтобы сгенерировать интерфейс к существующему, вручную записанному HDL-коду.

Генерация интерфейса черного ящика для подсистем подобна генерации интерфейса блока Model без сигналов часов.

No HDL

Удалите подсистему из сгенерированного кода. Можно использовать подсистему в симуляции, однако, обработать его как "нет" в HDL-коде.

Свойства блока HDL

Общий

AdaptivePipelining

Автоматическая конвейерная вставка на основе инструмента синтеза, предназначайтесь для частоты и размеров слова множителя. Значением по умолчанию является inherit. См. также AdaptivePipelining.

BalanceDelays

Обнаруживает введение новых задержек вдоль одного пути и вставляет соответствие с задержками на других путях. Значением по умолчанию является inherit. См. также BalanceDelays.

ClockRatePipelining

Вставьте конвейерные регистры на более быстрой тактовой частоте вместо более медленной скорости передачи данных. Значением по умолчанию является inherit. См. также ClockRatePipelining.

ConstrainedOutputPipeline

Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.

DistributedPipelining

Конвейерно обработайте распределение регистра или повторную синхронизацию регистра. Значением по умолчанию является off. См. также DistributedPipelining.

DSPStyle

Синтез приписывает для отображения множителя. Значением по умолчанию является none. См. также DSPStyle.

FlattenHierarchy

Удалите иерархию подсистемы из сгенерированного HDL-кода. Значением по умолчанию является inherit. См. также FlattenHierarchy.

InputPipeline

Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.

OutputPipeline

Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.

SharingFactor

Количество функционально эквивалентных ресурсов, чтобы сопоставить с одним совместно используемым ресурсом. Значение по умолчанию 0. См. также Разделение ресурсов.

StreamingFactor

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

Целевая спецификация

Этот блок не может быть DUT, таким образом, настройки свойства блока во вкладке Target Specification проигнорированы.

Ограничения

HDL Coder™ поддерживает генерацию HDL-кода для активированных подсистем, которые отвечают следующим условиям:

  • Активированная подсистема не является DUT.

  • Подсистема и не инициирована и включена.

  • Разрешать сигнал является скаляром.

  • Типом данных разрешать сигнала является или boolean или ufix1.

  • Выходные параметры активированной подсистемы имеют начальное значение 0.

  • Все вводы и выводы активированной подсистемы (включая разрешать сигнал) запускаются на том же уровне.

  • Параметр Show output port блока Enable устанавливается на Off.

  • Параметр States when enabling блока Enable устанавливается на held (т.е. блок Enable не сбрасывает состояния, когда включено).

  • Параметр Output when disabled для активированных выходных портов подсистемы устанавливается на held (т.е. активированная подсистема не сбрасывает выходные значения, когда отключено).

  • Если DUT содержит следующие блоки, RAMArchitecture установлен в WithClockEnable:

    • Двухпортовый RAM

    • Простой двухпортовый RAM

    • Один порт RAM

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

    • Десятикратное уменьшение CIC

    • Интерполяция CIC

    • КИХ-десятикратное уменьшение

    • КИХ-интерполяция

    • Субдискретизировать

    • Сверхдискретизировать

    • HDL Cosimulation блокируется для HDL Verifier™

    • Переход уровня

Пример

Автоматический пример Контроллера Усиления показывает, как можно использовать включенные подсистемы в генерации HDL-кода. Открыть пример, введите:

hdlcoder_agc

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

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

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

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

|

Введенный в R2014a