多位数据硬件中的CRC实现



我知道网上有免费的生成器,但我想了解CRC是如何为多位数据生成的。我希望了解在我们开始考虑并行输入位的那一刻,逻辑的展开是如何工作的。串行实现很容易理解,但我需要了解并行实现背后的逻辑。

软件通常使用表查找一次处理多个位,例如 256 个条目表一次处理 8 位,或者可以使用无进位乘法(如 X86 PCLMULQDQ)指令进行 CRC。

对于硬件,二进制 (GF(2)) 矩阵乘以固定矩阵通常用于替换表查找,因为它需要较少的门。例如,编码矩阵不是将 8 位输入转换为 32 位 crc 的 256 x 32 位查找表,而是 8 x 32 位矩阵。矩阵乘法将是数据[1][8] ·编码[8][32] = CRC[1][32]。

相关内容

  • 没有找到相关文章

最新更新