Для каждой подсистемы

Неоднократно выполняйте алгоритм на каждом элементе или подмассиве входного сигнала и конкатенируйте результаты (HDL Coder)

Описание

Чтобы повторить тот же алгоритм для каждого элемента или подмассива входных сигналов, используйте Для Каждого блока Subsystem. Блок уменьшает время симуляции, потому что это обрабатывает отдельные элементы или подмассивы входных сигналов одновременно. Для получения информации о поведении симуляции и параметрах блоков, видьте Каждую Подсистему.

При помощи блока For Each в Для Каждой Подсистемы, можно задать, как разделить элементы входных сигналов. Partition Dimension параметров блоков и Partition Width задают размерность, через которую можно нарезать входной сигнал и ширину каждого среза соответственно. Чтобы разделить вектор - строку, задайте Partition Dimension как 2. Чтобы разделить вектор-столбец, задайте Partition Dimension как 1. Чтобы узнать больше о параметрах блоков, видьте Каждого.

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

Ограничения

  • Вы не можете использовать Для Каждого блока Subsystem как DUT.

  • Вы не можете разделить параметры маски Для Каждой Подсистемы для генерации HDL-кода.

Архитектура 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-кода. Чтобы ввести комплексные сигналы, можно преобразовать этот сигнал в массив сигналов, и затем ввести к блоку. Чтобы узнать больше, смотрите, Генерируют HDL-код для Блоков Внутри Для Каждой Подсистемы

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

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

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

Введенный в R2017a