Parallel processing 多位数据的硬件CRC实现

Parallel processing 多位数据的硬件CRC实现,parallel-processing,crc,crc64,Parallel Processing,Crc,Crc64,我知道网上有免费的生成器,但我想了解如何为多位数据生成CRC。我希望了解,当我们开始考虑并行输入位时,逻辑的展开是如何工作的。串行实现很容易理解,但我需要理解并行实现背后的逻辑 软件通常使用表格查找一次处理多个位,例如256项表格一次处理8位,或者可以使用无卡利乘法(如X86 PCLMULQDQ)指令进行CRC 对于硬件,二进制(GF(2))矩阵乘以固定矩阵通常用于替换表查找,因为它需要较少的门。例如,编码矩阵将是8 x 32位矩阵,而不是将8位输入转换为32位crc的256 x 32位查找表。

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

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


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

这很有意义。非常感谢。