我了解在线有免费的生成器,但我想了解如何为多位数据生成CRC。
我知道单位数据的硬件实现(串行实现)。
答案 0 :(得分:0)
软件通常使用表查找来一次处理多个位,例如256个条目表一次处理8个位,或者可以对CRC使用无进位乘法(例如X86 PCLMULQDQ)指令。
对于硬件,通常使用二进制(GF(2))矩阵乘以固定矩阵来代替表查找,因为它需要较少的门。例如,编码矩阵将是8 x 32位矩阵,而不是将8位输入转换为32位crc的256 x 32位查找表。矩阵乘法将是data [1] [8]·encode [8] [32] = crc [1] [32]。