Документация Engee

Variant Sink

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

variant sink

Описание

Блок Variant Sink позволяет включить в один слой несколько реализаций компонента на месте назначения (sink) сигнала.

Блок Variant Sink имеет только один входной порт и один или несколько выходных портов. Альтернативные варианты к выходному порту блока подключают так, чтобы во время выполнения модели был активен максимум один вариант.

Использование блока Variant Sink позволяет:

  • Распространять условия выбора альтернативных вариантов по всей модели.

  • Engee устраняет неактивные блоки во всей модели, что повышает производительность во время выполнения. Если все варианты неактивны, Engee полностью удаляет область вариантов из вашей модели.

  • Источники и места назначений вариантов предоставляют интерфейсы компонентов, которые можно использовать для быстрого моделирования вариантов.

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Выход

Port_1 — выходной сигнал для первого варианта
скаляр | вектор | матрица

Выходной сигнал для первого варианта.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Port_N — выходной сигнал для n-го варианта
скаляр | вектор | матрица

Выходной сигнал для n-го варианта.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Параметры

Main

Variant control mode — режим управления вариантами
expression (по умолчанию) | label | sim codegen switching

Управление вариантами, определяющее выбор активного варианта, может быть любого из этих типов.

  • expression — В этом режиме Engee выбирает активный вариант на основе оценки условий варианта. Когда выражение условия оценивается как true, соответствующий вариант становится активным. Когда выражение условия оценивается как false, соответствующий вариант становится неактивным.

  • label — В этом режиме Engee выбирает активный вариант на основе имени варианта. Элемент управления вариантом представляет собой строку и не требует создания переменных в рабочих пространствах.

  • sim codegen switching — чтобы автоматически переключаться между вариантами для рабочих процессов моделирования и генерации кода без создания переменных в рабочем пространстве, используйте режим переключения sim codegen. При симуляции модели Engee автоматически выбирает ветвь sim в качестве активного варианта. Аналогично, когда вы выполняете симуляцию в режиме "программа в цикле" (SIL) или "процессор в цикле" (PIL), генерируете код или используете внешний режим, Engee автоматически выбирает ветвь codegen. См. раздел Переключение между вариантами для рабочих процессов моделирования и генерации кода без использования управляющих переменных в блоках вариантов.

Зависимости

Программное использование

Параметр блока

VariantControlMode

Значения

expression | label

По умолчанию

expression

Number of choices — количество вариантов
2 (по умолчанию) | целое положительное число

Количество вариантов в виде целого положительного числа. Максимальное число вариантов - 32.

Port N Variant control expression — выражение, определяющее активность N-го выходного порта

Выражение, определяющее активность N-го выходного порта. Вместо выражения можно указать строку "default", чтобы выбрать активный вариант по умолчанию, который будет использоваться, если все остальные выражения ложны.

Должен быть указан только один вариант по умолчанию, иначе произойдет ошибка.

Port N Variant control label — метка N-го порта

Все данные, введенные в это поле, будут считаться строкой. Активный вариант следует выбрать в поле Label mode active choice, куда необходимо ввести метку активного варианта.

Port N Variant control switch — метка N-го порта для режима sim codegen switching

Эти поля отображаются, если Variant control mode равно sim codegen switching. В этом режиме всегда доступны два настраиваемых порта: для одного из них должно быть выбрано значение (sim), а для другого — (codegen).

Label mode active choice — имя активного выбора в режиме метки
нет (по умолчанию)

Имя активного выбора в режиме метки. Введенное имя станет активной меткой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение label.

Allow zero active variant controls — моделирование без выбора активного варианта
выключено (по умолчанию) | включено

Установите этот флажок, чтобы разрешить возможность, при которой ни один из вариантов не будет активным.

Если флажок не установлен Engee генерирует ошибку при отсутствии выбора активного варианта.

Зависимости

Чтобы использовать этот параметр, установите для параметра Variant control mode значение expression.

Программное использование

Параметр блока

AllowZeroVariantControls

Значения

off

on

По умолчанию