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

Переключатель

Переключает выход между первым и третьим входами на основе значения второго входа.

Тип: Switch

Путь в библиотеке:

/Basic/Signal Routing/Switch

Описание

Блок Переключатель пропускает сигнал с первого или третьего входа в зависимости от значения сигнала на втором входе. Первый и третий входы — входные сигналы, второй вход — управляющий. Условие, при котором блок пропускает на выход сигнал с первого входа, задается параметрами Критерии для прохождения первого входа и Порог.

Порты

Выход

# OUT_1 — выходной сигнал
скаляр | вектор

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Вход

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

Details

Первый из двух входных сигналов. Блок передает либо один, либо другой входной сигнал на выход, исходя из значения управляющего сигнала. Условие, при котором блок пропускает на выход сигнал с первого входа, задается параметрами Критерии для прохождения первого входа и Порог.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

# IN_2 — управляющий сигнал
скаляр | вектор

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

# IN_3 — второй входной сигнал
скаляр | вектор

Details

Второй из двух входных сигналов. Блок передает либо один, либо другой входной сигнал на выход, исходя из значения управляющего сигнала. Условие, при котором блок пропускает на выход сигнал с первого входа, задается параметрами Критерии для прохождения первого входа и Порог.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Параметры

Основные

# Критерии для прохождения первого входа — критерий для выбора передачи первого входного сигнала
u2 >= Threshold | u2 > Threshold | u2 ~= 0

Details

Выберите условие, при котором блок передаст на выход первый входной сигнал. Если управляющий вход IN_2 удовлетворяет условиям, заданным в параметре Критерии для прохождения первого входа, блок передаст первый входной сигнал In_1. В ином случае блок передает второй входной сигнал IN_3. Варианты для выбора:

  • u2 >= Threshold — управляющий вход больше или равен пороговому значению;

  • u2 > Threshold — управляющий вход больше порогового значения;

  • u2 ~= 0 — управляющий вход отличен от нуля.

Подсказка

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

  • u2 >= Threshold, где пороговое значение равно 1;

  • u2 > Threshold, где пороговое значение равно 0;

  • u2 ~= 0.

В ином случае блок Переключатель игнорирует пороговые значения и использует булево значение для маршрутизации сигнала. При значении 1 блок передает первый вход, а при значении 0 – третий вход.

Значения

u2 >= Threshold | u2 > Threshold | u2 ~= 0

Значение по умолчанию

u2 > Threshold

Имя для программного использования

Criteria

Настраиваемый

Нет

Вычисляемый

Нет

# Порог — пороговое значение, используемое в критерии
Скаляр / массив вещественных чисел

Details

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Критерии для прохождения первого входа значение u2 >= Threshold или u2 > Threshold.

Значение по умолчанию

0.0

Имя для программного использования

Threshold

Настраиваемый

Да

Вычисляемый

Да

Атрибуты сигнала

# Требования идентичности входных данных — все входные данные должны иметь одинаковый тип
Логический тип

Details

Установите этот флажок, чтобы все входные данные имели один и тот же тип данных.

Значение по умолчанию

false (выключено)

Имя для программного использования

InputSameDT

Настраиваемый

Нет

Вычисляемый

Нет

# Тип выходных данных — тип выходных данных
Наследовать автоматически | Наследовать от первого входа | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Фиксированная точка

Details

Укажите тип выходных данных.

Тип может быть унаследован или указан напрямую.

Значения

Inherit: auto | Same as first input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Значение по умолчанию

Inherit: auto

Имя для программного использования

OutDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Тип выходного сигнала с фиксированной точкой — тип выходных данных с фиксированной точкой
Тип данных

Details

Укажите тип выходных данных с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип выходных данных значение Фиксированная точка.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

OutDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

# Режим округления целых чисел — режим округления для операций с фиксированной точкой
К большему | Конвергентный | К меньшему | К ближайшему | К целому | К нулю

Details

Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:

  • К меньшему — округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности).

  • К большему — округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности).

  • Конвергентный — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа.

  • К ближайшему — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности).

  • К целому — округляет число до ближайшего целого числа.

  • К нулю — округляет число в сторону нуля.

Параметры блока всегда округляют до ближайшего представимого значения.

Значения

Ceiling | Convergent | Floor | Nearest | Round | Zero

Значение по умолчанию

Floor

Имя для программного использования

RndMeth

Настраиваемый

Нет

Вычисляемый

Нет

# Ограничение на целочисленное переполнение — метод действия при переполнении
Логический тип

Details

При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату.

Действие Причины для принятия этого решения Что происходит при переполнении Пример

Установите этот флажок.

В вашей модели возможно переполнение, и вам нужна явная защита от насыщения в генерируемом коде.

Переполнения насыщаются до минимального или максимального значения, которое может представлять данный тип данных.

Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до -128 или 127.

Не устанавливайте этот флажок.

Вы хотите оптимизировать эффективность генерируемого кода.
Вы хотите избежать чрезмерного уточнения того, как блок обрабатывает сигналы, выходящие за пределы диапазона.

Переполнения оборачиваются в соответствующее значение, которое может быть представлено типом данных.

Число 130 не помещается в знаковое 8-битное целое число и сворачивается в -126

Значение по умолчанию

false (выключено)

Имя для программного использования

SaturateOnIntegerOverflow

Настраиваемый

Нет

Вычисляемый

Нет

Дополнительные возможности

Генерация Си кода: Да

Генерация Verilog: Да