Конкатенации до 128 входных слов в один выход
HDL Coder / Логика и Битовые операции
Блок Bit Concat конкатенирует до 128 входных слов в один выход. Входной порт пометил L
определяет входное слово самое низкоуровневое. Порт пометил H
определяет входное слово самого высокого порядка. Блок использует bitconcat
функционируйте таким образом, что справа налево упорядоченное расположение слов в выходе следует за низким-к-высокому упорядоченным расположением входных сигналов. Чтобы изучить, как блок действует, см. Алгоритмы.
Number of Inputs: Введите целое число, задающее количество входных сигналов. Количество входных портов блока обновляется, когда вы изменяете Number of Inputs.
Значение по умолчанию: 2
Минимум: 1
Максимум: 128
Внимание
Убедитесь, что Number of Inputs равен количеству сигналов, которые вы соединяете с блоком. Если блок имеет несвязанные входные параметры, ошибка происходит во время генерации кода.
Блок имеет до 128 входных портов с H
представление самого высокого порядка ввело слово и L
представление входного слова самого низкоуровневого. Максимальный конкатенированный выходной размер слова составляет 128 битов.
Входной параметр: фиксированная точка, целое число (подписанный или без знака), булевская переменная
Вывод : фиксированная точка Без знака или целое число
Блок использует bitconcat
функция, чтобы вычислить результат. То, как блок действует, зависит от номера и размерностей входных параметров, можно следующим образом:
Один вход: вход является скаляром или вектором. Когда вход является вектором, генератор кода конкатенирует отдельные векторные элементы. Например, если входным вектором является [1 2]
это имеет тип данных ufix4
, выход конкатенирует элементы 1
и 2
таким образом, что 1
формирует MSB (Старший значащий Бит). Выход:
y = dec2bin ('00010010') = 18
Два входных параметров: Входные параметры являются любой комбинацией скаляра и вектора.
Когда один вход является скаляром, и другой вектор, генератор кода выполняет скалярное расширение. Каждый векторный элемент конкатенирован со скаляром, и выход имеет ту же размерность как вектор. Например, рассмотрите векторный [1 2]
введите к H
порт и скалярное значение 3
как введено к L
порт. Оба входных параметров имеют тип данных ufix4
. Выход является вектором, который конкатенирует таким образом, что MSB является конкатенацией элементов 1
и 3
, и LSB является конкатенацией элементов 2
и 3
.
y = [dec2bin ('00010011') dec2bin ('00100100')] = [19 35]
Когда оба входных параметров являются векторами, у них должен быть тот же размер. В этом случае последним элементом является слово самое низкоуровневое, и первым элементом является самое высокое слово порядка. Например, считайте два входных вектора [1 2]
и [3 4]
это имеет тип данных ufix4
. Выход является вектором, который конкатенирует таким образом, что MSB является конкатенацией элементов 1
и 3
, и LSB является конкатенацией элементов 2
и 4
.
y = [dec2bin ('00010011') dec2bin ('00100100')] = [19 36]
Три или больше входных параметров (до максимума 128
входные параметры): Входные параметры являются однородно скаляром или вектором. Все векторные входные параметры должны иметь тот же размер. Например, полагайте, что три вектора вводят [1 2]
, [3 4], и
[5 6]
таким образом, что векторный [1 2]
вводится к H
порт и [5 6]
вводится к L
порт. В этом случае выход является вектором, который сначала конкатенирует [1 2]
и [3 4]
.
работайте временно = [dec2bin ('00010011') dec2bin ('00100100')] = [19 36]
Результат этого расчета затем конкатенирован с векторным [5 6]
произвести выход.
y = [dec2bin ('000100110101') dec2bin ('001001000110')] = [309 582]