Bit Concat
Объединяет до 16 входных слов в одно выходное.
Тип: Bit Concat
Путь в библиотеке:
|
Описание
Блок Bit Concat объединяет до 16 входных слов в одно выходное. Входной порт L обозначает младшее входное слово. Входной порт H обозначает старшее входное слово. Для скалярных входов к блоку должны быть подключены два или более входных сигналов. Для векторных входов к блоку должен быть подключен хотя бы один вход. Порядок слов на выходе справа налево повторяет порядок входных слов от младшего к старшему. Подробнее о работе блока см. в разделе Алгоритмы.
Порты
Выход
#
OUT_1
—
объединенное выходное слово
скаляр | вектор | матрица
Details
На выходе получается объединенное слово, расположенное в порядке от младшего к старшему значению входных слов. Максимальный размер слова на выходе составляет 16 бит.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Вход
#
H
—
старшее входное слово
скаляр | вектор | матрица
Details
Старшее слово на входе блока, которое становится крайним левым значением в объединенном выходном сигнале.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
L
—
младшее входное слово
скаляр | вектор | матрица
Details
Младшее слово на входе блока, которое становится крайним правым значением в объединенном выходном сигнале.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Параметры
Основные
#
Number of Inputs —
количество входных сигналов
Int64 integer
Details
Количество входных сигналов в виде целого положительного числа. Количество входных портов на иконке блока обновляется, когда значение параметра Number of Inputs изменяется. Минимальное количество сигналов — 1, максимальное — 16.
| Убедитесь, что значение Number of Inputs равно количеству сигналов, которые подключаются к блоку. Если блок имеет неподключенные входы, при генерации кода возникнет ошибка. |
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
Алгоритмы
Принцип работы блока зависит от количества и размеров входов:
-
Один входной порт: на входной порт поступает скаляр или вектор. Если входной сигнал — вектор, генератор кода объединяет отдельные элементы вектора. Например, если входным вектором является
[1 2]с типом данныхUInt8, на выходе объединяются элементы1и2таким образом, что1образует старший значащий бит (MSB). На выходе получаем скаляр типаUInt16с битовым представлением0000000100000010 = 258. -
Два входных порта: на входной порт поступают любые комбинации скаляров и векторов.
-
Если на один входной порт поступает скаляр, а на другой вектор, то генератор кода выполняет скалярное расширение. Каждый элемент вектора объединяется со скаляром, и на выходе получается вектор той же размерности, что и вектор на входе. Например, рассмотрим вектор
[1 2], подаваемый на вход порта H, и скалярное значение3, подаваемое на вход порта L. Оба входа имеют тип данныхUInt8. На выходе получается вектор с типом данныхUInt16, который объединен таким образом, что старший значащий бит является объединением элементов1и3, а младший значащий бит — объединением элементов2и3. -
Если на оба входных порта поступают вектора, они должны иметь одинаковый размер. В этом случае последний элемент — это младшее слово, а первый элемент — старшее слово. Например, рассмотрим два входных вектора
[1 2]и[3 4], которые имеют тип данныхUInt8. На выходе получается вектор с типом данныхUInt16, который объединен таким образом, что старший значащий бит является объединением элементов1и3, а младший значащий бит — объединением элементов2и4.
-
-
Три или более входных порта (максимум
16): на входной порт поступает скаляр или вектор. Все векторные входы должны иметь одинаковый размер. Например, рассмотрим три векторных входа[1 2],[3 4]и[5 6], такие, что вектор[1 2]является входом в порт H, а[5 6]— в порт L. В этом случае на выходе получается вектор, который сначала объединяет[1 2]и[3 4]. Результат этого вычисления затем объединяется с вектором[5 6].