General CRC Generator HDL Optimized
生成CRC码位并将其添加到输入数据中。
类型: HDLCRCGenerator
图书馆中的路径:
|
资料描述
座 General CRC Generator HDL Optimized ,这是类似于块 General CRC Generator 生成循环冗余校验(CRC)控制位并将其添加到输入数据。 座 General CRC Generator HDL Optimized 针对HDL代码生成进行了优化。 块不是一次处理整个帧,而是接收并返回带有伴随控制信号的数据样本流。 控制信号指示样本和帧边界的准确性。 为了实现更高的吞吐量,块接受高达CRC长度的矢量数据并实现并行架构。
港口
输入
#
数据
—
输入数据
标量,标量 | 向量资料
Details
输入数据:
-
标量,标量-表示若干位的整数。 对于这种情况,块支持无符号整数(UInt8,UInt16或UInt32)或数据类型fixdt(0,N,0); -
向量资料-二进制值的向量。 对于这种情况,块支持数据类型漂浮64或布尔.
数据的宽度必须小于或等于CRC的长度,并且CRC的长度必须是数据宽度的倍数。 CRC-CCITT/CRC-16的可接受数据宽度值 — 16, 8, 4, 2 和 1.
*示例:*矢量输入 UInt8 — [0, 0, 0, 1, 0, 0, 1, 1] 相当于 19.
| 数据类型 |
|
| 复数支持 |
非也。 |
#
开始,开始
—
输入帧开始指示器
标量,标量
Details
输入帧开始的指示符。
| 数据类型 |
|
| 复数支持 |
非也。 |
#
恩丁
—
输入帧结束指示器
标量,标量
Details
输入帧结束的指示符。
| 数据类型 |
|
| 复数支持 |
非也。 |
#
[医]缬氨酸
—
可接受输入数据的指标
标量,标量
Details
可接受的输入数据的指示符。
这是指示*dataIn*端口上的数据是否有效的控制信号。
| 数据类型 |
|
| 复数支持 |
非也。 |
输出
#
数据输出
—
输出数据
标量,标量 | 向量资料
Details
输出添加校验和的数据。 输出数据的类型和维度与输入数据相同。
| 数据类型 |
|
| 复数支持 |
非也。 |
#
开始
—
输出帧开始指示器
标量,标量
Details
输出帧开始的指示符。
| 数据类型 |
|
| 复数支持 |
非也。 |
#
结束,结束
—
输出帧结束指示器
标量,标量
Details
输出帧结束的指示符。
| 数据类型 |
|
| 复数支持 |
非也。 |
#
有效输出
—
可接受的输出数据指示器
标量,标量
Details
可接受的输出数据的指示符。
这是指示*dataOut*端口上的数据是否有效的控制信号。
| 数据类型 |
|
| 复数支持 |
非也。 |
参数
参数
#
Polynomial —
生成多项式
Array of real numbers
Details
将生成多项式定义为系数按度数降序排列的二进制向量。 向量的长度等于多项式加的程度 1.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
# Initial state — 移位寄存器的初始状态
Details
将内部移位寄存器的初始状态指定为二进制标量或矢量。 允许使用单精度和双精度数字,但它们仍然必须等于 0.0,或 1.0. 对于矢量输入,初始状态的长度必须等于生成多项式的程度。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
#
Direct method —
启用直接校验和计算算法
Logical
Details
选择此选项可使用直接CRC校验和计算算法。 如果未选中,则该块使用间接算法来计算CRC校验和。
有关直接和间接算法的详细信息,请参阅 直接和间接CRC算法。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Reflect input —
输入字节的顺序
Logical
Details
指定输入字节的顺序:
-
选中此框,以便块在进入移位寄存器之前翻转每个输入字节。;
-
取消选中此框,以便块将消息数据传输到移位寄存器不变。
如果选中该框,则输入数据宽度必须为 8.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Reflect CRC checksum —
校验和字节顺序
Logical
Details
指定校验和字节的顺序:
-
选中此框,以便块在将校验和传递到最终XOR阶段之前翻转校验和的每个字节。;
-
取消选中此框,以便块将校验和字节不变地传输到最终的XOR级。
如果选中该框,则输入数据宽度必须为 8.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
# Final XOR value — 校验和
Details
将校验和指定为二进制标量或向量。 允许使用单精度和双精度数字,但它们仍然必须等于 0.0,或 1.0. 块在将其添加到输入数据之前对具有该值的CRC校验和执行异或操作。
如果指定向量输入,则向量的长度必须等于生成多项式的程度。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
算法
当您使用向量或整数输入时,块实现并行CRC算法[1]。
为了确保现代通信系统的高吞吐量,该块以并行架构实现CRC算法。 这种体系结构以递归方式计算 每个CRC校验和位 的输入位。 在帧结束时,校验和结果被添加到消息中。 对于多项式长度 递归校验和计算 并行的位数如下:
哪里
-
-这是矩阵 上 ,其中选择当前状态的元素来计算具有新输入位的多项式;
-
-这是 -提供相对于生成多项式排序并用零填充的新输入位的元素向量;
-
-该块使用逻辑和;
-
-块使用逻辑异或实现。
文学作品
-
Campobello,G.,G.Patane和M.Russo。 "并行Crc实现。"IEEE Transactions on Computers52,no.10(2003年10月):1312-1319。 https://doi.org/10.1109/TC.2003.1234528…;