Блок 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> Optimization выберите Use trigger signal as clock.
Установите TriggerAsClock
свойство с помощью makehdl
или hdlset_param
. Например, чтобы сгенерировать HDL-код, который использует триггерный сигнал в качестве часов для инициированных подсистем в подсистеме DUT, myDUT
, в модели, myModel
, Введите:
makehdl ('myModel/myDUT','TriggerAsClock','on')
HDL Coder™ поддерживает генерацию HDL-кода для инициированных подсистем, которые отвечают следующим условиям:
Инициированная подсистема не является DUT.
Подсистема и не инициирована и включена.
Триггерный сигнал является скаляром.
Типом данных триггерного сигнала является любой boolean
или ufix1
.
Выходные параметры инициированной подсистемы имеют начальное значение 0.
Все вводы и выводы инициированной подсистемы (включая триггерный сигнал) запускаются на том же уровне.
Параметр Show output port блока Trigger устанавливается на Off
.
Если 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 выбрана.