Инициированная подсистема

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

Описание

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

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

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

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

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

  • Использование инициированных подсистем может влиять на результаты синтеза следующими способами:

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

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

Используя блок Signal Builder

Когда вы соединяете выходные параметры от блока Signal Builder до инициированной подсистемы, вы можете должны быть использовать блок Rate Transition. Запускать все инициированные порты подсистемы на том же уровне:

  • Если триггерным источником является блок Signal Builder, но другие инициированные входные параметры подсистемы прибывают из других источников, вставляют блок Rate Transition в путь прохождения сигнала, прежде чем триггер ввел.

  • Если все входные параметры (включая триггер) прибывают из блока Signal Builder, у них есть тот же уровень, таким образом, специальное действие не требуется.

Используя триггер как часы

Можно сгенерировать код, который использует триггерный сигнал в качестве часов со свойством TriggerAsClock. Смотрите Триггер Использования Как Часы в Инициированных Подсистемах.

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

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

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

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

No HDL

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

Индивидуальная настройка интерфейса черного квадрата

Для архитектуры BlackBox можно настроить имена порта и установить атрибуты интерфейса внешнего компонента. Смотрите Настраивают Черный квадрат или HDL Интерфейс Cosimulation.

Свойства блока 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.

  • Все вводы и выводы инициированной подсистемы (включая триггерный сигнал) запускаются на том же уровне. (См. Используя блок Signal Builder для получения информации об особом случае.)

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

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

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

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

    • Один порт RAM

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

    • Интегратор дискретного времени

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

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

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

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

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

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

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

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

    • Пиксельный поток FIFO (Vision HDL Toolbox™)

    • Генератор Последовательности PN, если опция Use trigger signal as clock выбрана.

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

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

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

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

|

Введенный в R2014a