Engee 文档

经过优化的通用 CRC 发生器 HDL

生成CRC码位并将其添加到输入数据中。

类型: HDLCRCGenerator

图书馆中的路径:

/Basic/Additional/Discrete/General CRC Generator HDL Optimized

资料描述

经过优化的通用 CRC 发生器 HDL ,这是类似于块 通用 CRC 生成器 生成循环冗余校验(CRC)控制位并将其添加到输入数据。 座 经过优化的通用 CRC 发生器 HDL 针对HDL代码生成进行了优化。 块不是一次处理整个帧,而是接收并返回带有伴随控制信号的数据样本流。 控制信号指示样本和帧边界的准确性。 为了实现更高的吞吐量,块接受高达CRC长度的矢量数据并实现并行架构。

港口

输入

# 数据 — 输入数据
标量,标量 | 向量资料

Details

输入数据:

  • 标量,标量 -表示若干位的整数。 对于这种情况,块支持无符号整数(UInt8, UInt16UInt32)或数据类型 fixdt(0,N,0);

  • 向量资料 -二进制值的向量。 对于这种情况,块支持数据类型 漂浮64布尔.

数据的宽度必须小于或等于CRC的长度,并且CRC的长度必须是数据宽度的倍数。 CRC-CCITT/CRC-16的可接受数据宽度值 — 16, 8, 4, 21.

*示例:*矢量输入 UInt8[0, 0, 0, 1, 0, 0, 1, 1] 相当于 19.

数据类型

漂浮64, UInt8, UInt16, UInt32, 布尔, 固定

复数支持

非也。

# 开始,开始 — 输入帧开始指示器
标量,标量

Details

输入帧开始的指示符。

数据类型

布尔

复数支持

非也。

# 恩丁 — 输入帧结束指示器
标量,标量

Details

输入帧结束的指示符。

数据类型

布尔

复数支持

非也。

# [医]缬氨酸 — 可接受输入数据的指标
标量,标量

Details

可接受的输入数据的指示符。

这是指示*dataIn*端口上的数据是否有效的控制信号。

数据类型

布尔

复数支持

非也。

输出

# 数据输出 — 输出数据
标量,标量 | 向量资料

Details

输出添加校验和的数据。 输出数据的类型和维度与输入数据相同。

数据类型

漂浮64, UInt8, UInt16, UInt32, 布尔, 固定

复数支持

非也。

# 开始 — 输出帧开始指示器
标量,标量

Details

输出帧开始的指示符。

数据类型

布尔

复数支持

非也。

# 结束,结束 — 输出帧结束指示器
标量,标量

Details

输出帧结束的指示符。

数据类型

布尔

复数支持

非也。

# 有效输出 — 可接受的输出数据指示器
标量,标量

Details

可接受的输出数据的指示符。

这是指示*dataOut*端口上的数据是否有效的控制信号。

数据类型

布尔

复数支持

非也。

参数

参数

# 多项式 — 生成多项式
Array of real numbers

Details

将生成多项式定义为系数按度数降序排列的二进制向量。 向量的长度等于多项式加的程度 1.

默认值

[1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]

程序使用名称

Polynomial

可调谐

可计算

# 初始状态 — 移位寄存器的初始状态

Details

将内部移位寄存器的初始状态指定为二进制标量或矢量。 允许使用单精度和双精度数字,但它们仍然必须等于 0.0,或 1.0. 对于矢量输入,初始状态的长度必须等于生成多项式的程度。

默认值

0

程序使用名称

InitialState

可调谐

可计算

# 直接方法 — 启用直接校验和计算算法
Logical

Details

选择此选项可使用直接CRC校验和计算算法。 如果未选中,则该块使用间接算法来计算CRC校验和。

有关直接和间接算法的详细信息,请参阅 直接和间接CRC算法

默认值

false (关掉)

程序使用名称

DirectMethod

可调谐

可计算

# 反射输入 — 输入字节的顺序
Logical

Details

指定输入字节的顺序:

  • 选中此框,以便块在进入移位寄存器之前翻转每个输入字节。;

  • 取消选中此框,以便块将消息数据传输到移位寄存器不变。

如果选中该框,则输入数据宽度必须为 8.

默认值

false (关掉)

程序使用名称

ReflectInput

可调谐

可计算

# 反射 CRC 校验和 — 校验和字节顺序
Logical

Details

指定校验和字节的顺序:

  • 选中此框,以便块在将校验和传递到最终XOR阶段之前翻转校验和的每个字节。;

  • 取消选中此框,以便块将校验和字节不变地传输到最终的XOR级。

如果选中该框,则输入数据宽度必须为 8.

默认值

false (关掉)

程序使用名称

ReflectCRCChecksum

可调谐

可计算

# 最终 XOR 值 — 校验和

Details

将校验和指定为二进制标量或向量。 允许使用单精度和双精度数字,但它们仍然必须等于 0.0,或 1.0. 块在将其添加到输入数据之前对具有该值的CRC校验和执行异或操作。

如果指定向量输入,则向量的长度必须等于生成多项式的程度。

默认值

0

程序使用名称

FinalXORValue

可调谐

可计算

算法

当您使用向量或整数输入时,块实现并行CRC算法[1]

为了确保现代通信系统的高吞吐量,该块以并行架构实现CRC算法。 这种体系结构以递归方式计算 每个CRC校验和位 的输入位。 在帧结束时,校验和结果被添加到消息中。 对于多项式长度 递归校验和计算 并行的位数如下:

哪里

  • -这是矩阵 ,其中选择当前状态的元素来计算具有新输入位的多项式;

  • -这是 -提供相对于生成多项式排序并用零填充的新输入位的元素向量;

  • -该块使用逻辑和;

  • -块使用逻辑异或实现。

general crc generator hdl optimized 1 cn

文学作品

  1. 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…​;