当我可以访问 8 字节并行 CRC 逻辑时,我能否为 9 字节数据计算 CRC-32?

Can I calculate CRC-32 for 9-bytes of data when I have access to an 8-byte parallel CRC logic?

我有并行 CRC-32 计算器的 VHDL 代码,它一次获取 8 字节的输入数据。我要称它为 "CRC_32_8" 模块。

我正在尝试使用此模块 CRC_32_8 计算 9 字节输入数据的 CRC-32。但是得到错误的结果。

我所做的是: 首先,我使用 CRC_32_8 模块对输入数据的八个最低有效字节计算了 CRC-32。 然后,我将 CRC-32 结果连同剩余的 1 字节输入数据一起提供给 CRC_32_8。但是我得到了错误的结果。

我使用在线 CRC 计算器检查了我的结果: https://www.lammertbies.nl/comm/info/crc-calculation.html

我使用的 CRC 多项式是: 0x04C11DB7

你可以想出七个字节,这些字节可以放在一条消息的前面,使 CRC-32 保持不变。然后,您可以在九个字节之前加上该序列,以将 16 个字节提供给一次八个计算器。这是一个这样的十六进制序列,假设您的 CRC 被反映出来,就像使用该多项式的标准 CRC-32 一样:

56 a5 79 b9 00 00 00