Документация 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

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

Нет

Вычисляемый

Нет

# Тип выходных данных — тип выходных данных
Наследование автоматически | Тот же, что и у входные данных | 64-битное число с плавающей запятой | 32-битное число с плавающей запятой | 16-битное число с плавающей запятой | 64-битное число с плавающей запятой | Беззнаковое 8-битное целое число | Знаковое 16-битное целое число | Беззнаковое 16-битное целое число | Знаковое 32-битное целое число | Беззнаковое 32-битное целое число | Знаковое 64-битное целое число | Беззнаковое 64-битное целое число | Знаковое 128-битное целое число | Беззнаковое 128-битное целое число | Булевый | С фиксированной точкой

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 кода: Да