Engee 文档

比特串联

将最多 16 个输入字合并为一个输出字。

类型: Bit Concat

图书馆中的路径:

/Basic/Logic and Bit Operations/Bit Concat

说明

比特串联 将最多 16 个输入字合并为一个输出字。输入端口 L 表示最低输入字。输入端口 H 表示最高输入字。对于标量输入,必须有两个或更多输入信号连接到块。对于矢量输入,至少有一个输入必须连接到程序块。从右到左的输出字顺序与从低到高的输入字顺序相同。有关程序块操作的更多详情,请参阅"…​…​ "部分。 算法.

端口

输入

H - 高输入字
标量 | 向量 | 矩阵

块输入的高级字,成为组合输出信号的最左值。

数据类型: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, Fixed

L - 低输入字
标量 | 向量 | 矩阵

程序块的低阶输入字,在组合输出信号中成为最右边的值。

数据类型: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool, Fixed

输出

Output - 组合输出字
标量 | 向量 | 矩阵

输出字是一个组合字,按照输入字从最小值到最大值的顺序排列。输出字的最大值为 16 位。

数据类型: Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

参数

输入信号数 - 输入信号数
2(默认) | `小于或等于 16 的正整数

输入信号的正整数。当 Number of Inputs 的值发生变化时,程序块图标上的输入端口数也会随之更新。信号的最小数目为 "1",最大数目为 "16"。

确保 Number of Inputs 的值等于连接到程序块的信号数。如果单元有未连接的输入端,则在生成代码时会出现错误。
软件使用

块参数

numInputs

价值观

целое 正数, меньшее или равное 16

默认值

2

算法

程序块的运行原理取决于输入的数量和大小:

  • 单输入端口:输入端口输入标量或矢量。如果输入是矢量,代码生成器会组合矢量的各个元素。例如,如果输入向量是数据类型为 UInt8`的[1 2],则输出会将元素 `12 合并,使 1 构成最有效位(MSB)。输出是数据类型为 UInt16 的标量,其位表示为 0000000100000010 = 258

  • 两个输入端口:输入端口接收标量和矢量的任意组合。

    • 如果一个输入端口接收标量,另一个接收向量,代码生成器将执行标量扩展。矢量的每个元素都与标量结合,输出是一个与输入矢量维度相同的矢量。例如,将向量 [1 2] 输入端口 H 的输入端,将标量值 3 输入端口 L 的输入端。这两个输入的数据类型都是 UInt8。输出是一个数据类型为 UInt16 的向量,其组合方式为高有效位是元素 13 的合并,低有效位是元素 23 的合并。

    • 如果两个输入端口都接收向量,它们的大小必须相同。在这种情况下,最后一个元素是低字节,第一个元素是高字节。例如,考虑两个输入向量 [1 2][3 4],它们的数据类型为 UInt8。输出是一个数据类型为 UInt16`的向量,合并后,高有效位是元素 `13 的合并,低有效位是元素 24 的合并。

  • 三个或更多输入端口(最多 16):标量或矢量输入到一个输入端口。所有矢量输入的大小必须相同。例如,考虑三个向量输入`[1 2][3 4][5 6],这样向量[1 2]` 是端口 H 的输入,[5 6] 是端口 L 的输入。在这种情况下,输出是一个首先合并了 [1 2][3 4] 的向量。 然后将计算结果与向量 [5 6] 结合起来。

附加选项

C 代码生成: 是