Блок Triggered Subsystem является блоком Subsystem, который выполняется каждый раз, когда управляющий сигнал имеет триггерное значение. Чтобы узнать больше о блоке, смотрите Triggered Subsystem.
При использовании триггируемых подсистем в моделях, предназначенных для генерации HDL-кода, рассмотрите следующее:
Поскольку синтез заканчивается, чтобы совпадать с Simulink® результаты, управляйте триггерным портом с зарегистрированной логикой (с синхронными часами) на FPGA.
Это - хорошая практика, чтобы поместить единичные задержки на выходные сигналы Триггируемой подсистемы. Выполнение так препятствует тому, чтобы генератор кода вставил дополнительные обходные регистры в HDL-код.
Использование триггируемых подсистем может влиять на результаты синтеза следующими способами:
В некоторых случаях скорость системных часов может понизиться небольшим процентом.
Сгенерированный код использует больше ресурсов, масштабирующихся с количеством экземпляров триггируемой подсистемы и количеством выходных портов на подсистему.
Когда вы соединяете выходные параметры от блока Signal Builder до триггируемой подсистемы, вы можете должны быть использовать блок Rate Transition. Запускать все порты триггируемой подсистемы на том же уровне:
Если триггерный источник является блоком Signal Builder, но другие входные параметры триггируемой подсистемы прибывают из других источников, вставляют блок Rate Transition в путь прохождения сигнала, прежде чем триггер ввел.
Если все входные параметры (включая триггер) прибывают из блока Signal Builder, у них есть тот же уровень, таким образом, специальное действие не требуется.
Используя триггер, когда часы в триггируемых подсистемах позволяют вам разделить свой проект в различные области часов в сгенерированном коде. Убедитесь, что установка Clock edge в диалоговом окне Configuration Parameters совпадает с Trigger type блока Trigger в триггируемой подсистеме.
Например, можно смоделировать:
Проект с часами, которые запускаются на том же уровне, но несовпадающий по фазе.
Синхронизируйте области, управляемые внешним или внутренним делителем часов.
Синхронизируйте области, управляемые часами, уровни которых не являются целочисленными множителями друг друга.
Внутренне сгенерированные часы.
Синхронизируйте пропускание для проекта малой мощности.
Примечание
Используя триггер, когда часы для триггируемых подсистем могут привести к синхронизации несоответствий одного цикла во время симуляции испытательного стенда.
Когда вы используете триггер в качестве часов в триггируемых подсистемах, каждый сигнал данных о вводе или выводе триггируемой подсистемы должен иметь задержки сразу снаружи и сразу в подсистеме. Эти задержки действуют как интерфейс синхронизации между областями, запускающимися на различных уровнях.
Во вкладке HDL Code Generation> Global Settings> Ports выберите Use trigger signal as clock.
Установите TriggerAsClock
использование свойства makehdl
или hdlset_param
. Например, чтобы сгенерировать HDL-код, который использует триггерный сигнал в качестве часов для триггируемых подсистем в подсистеме DUT, myDUT
, в модели, myModel
, Введите:
makehdl ('myModel/myDUT','TriggerAsClock','on')
HDL Coder™ поддерживает генерацию HDL-кода для триггируемых подсистем, которые отвечают следующим условиям:
Триггируемая подсистема не является DUT.
Подсистема и не инициирована и включена.
Триггерный сигнал является скаляром.
Выходные параметры триггируемой подсистемы имеют начальное значение 0.
Все вводы и выводы триггируемой подсистемы (включая триггерный сигнал) запускаются на том же уровне.
Параметр Show output port блока Trigger устанавливается на Off
.
Флажок Latch input by delaying outside signal не является выбранным On блока Inport в Triggered Subsystem.
Если DUT содержит следующие блоки, RAMArchitecture
установлен в WithClockEnable
:
Двухпортовый RAM
Простой двухпортовый RAM
Один порт RAM
Триггируемая подсистема не содержит следующие блоки:
Discrete-Time Integrator
CIC Decimation
CIC Interpolation
FIR Decimation
FIR Interpolation
Downsample
Upsample
HDL Cosimulation блокируется для HDL Verifier™
Rate Transition
Pixel Stream FIFO (Vision HDL Toolbox™)
PN Sequence Generator, если опция Use trigger signal as clock выбрана.