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

Constant

Постоянное значение.

Тип: Constant

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

/Basic/Sources/Constant

Описание

Блок Constant генерирует действительный или комплексный сигнал постоянного значения.

Блок генерирует выходной сигнал в виде скаляра, вектора, матрицы или шины в зависимости от размерности параметра Constant value.

Подробнее о типах шин читайте Пользовательские типы шин.

Выходной сигнал блока имеет те же размеры и элементы, что и параметр Constant value.

Порты

Выход

# OUT_1 — постоянное значение
скаляр | вектор | матрица | шина

Details

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

Типы данных

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

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

Да

Параметры

Основные

# Constant value — значение константы

Details

Задайте выход постоянного значения блока.

Вы можете ввести любое значение, включая логические ключевые слова true и false.

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

1.0

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

Value

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

Да

Вычисляемый

Да

# Sample time — интервал между шагами расчета
SampleTime (real number / vector of two real numbers)

Details

Задает интервал времени, в течение которого выходной сигнал блока Constant может изменяться во время моделирования (например, из-за настройки параметра Constant value).

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

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

Inf

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

SampleTime

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

Нет

Вычисляемый

Да

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

# Output data type — тип выходных данных
Inherit: auto | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point | BusSignal

Details

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

Значения

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

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

Inherit: auto

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

OutDataTypeStr

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

Нет

Вычисляемый

Нет

# Output fixed-point type — тип выходных данных с фиксированной точкой
Data type

Details

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Output data type значение Fixed-point.

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

fixdt(1, 16, 0)

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

OutDataTypeStrFixed

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

Нет

Вычисляемый

Да

# Output bus type — тип выходной шины
Data type

Details

Описывает тип шины, которую выдает блок.

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Output data type значение BusSignal.

Особый случай: нулевая шина

Если для блока Constant выбран тип данных BusSignal и параметр Constant value равен 0 или 0.0, на выходе формируется шина, все сигналы которой равны нулю с учетом базовых типов и размерностей, заданных в Output bus type. Это эквивалентно вызову convert(<ИмяТипаШины>, 0).

Правила заполнения:

  • Скаляры целочисленных типов получают значение 0 соответствующего разряда (например, Int8(0), Int64(0));

  • Скаляры вещественных типов — 0.0 соответствующего формата (например, Float32(0.0), Float64(0.0));

  • Массивы/матрицы заполняются нулями требуемой формы (fill(zero(T), dims));

  • Вложенные шины заполняются рекурсивно по тем же правилам.

Пример

Пусть в рабочем пространстве определен тип:

MyBus = BusSignal{(:s1, :s2, :s3), Tuple{Int64, Float64, Int8}, ((), (2,), (2, 2)), :MyBus}

В блоке Constant установите:

  • Output data type = BusSignal,

  • Output bus type = MyBus,

  • Constant value = 0.

Тогда выход блока будет:

(s1 = 0, s2 = [0.0, 0.0], s3 = Int8[0 0; 0 0])

Если Constant value задан именованным кортежем (или объектом шины), то он должен соответствовать структуре Output bus type; авто-заполнение нулями применяется только для значений 0/0.0.

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

BusSignal((), (), ())

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

OutDataTypeStrBus

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

Нет

Вычисляемый

Да

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

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

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