【问题标题】:CRC implementation in Hardware for multi-bit data多位数据的硬件 CRC 实现
【发布时间】:2019-11-25 15:47:31
【问题描述】:

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

【问题讨论】:

    标签: parallel-processing crc crc64


    【解决方案1】:

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

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

    【讨论】:

    • 这是有道理的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多