我已经用 VHDL 生成了以太网 10GE MAC 设计。现在我正在尝试实施CRC。我在 VHDL 中有一个 64 位并行 CRC-32 生成器。
规格:
- 数据总线为 64 位
- 控制总线为 8 位(用于验证数据字节)
问题:
假设我的传入数据包长度为 14 字节(假设没有填充)。
CRC 是针对一个时钟周期中的前 8 个字节计算的,但是当我尝试计算剩余 6 个字节的 CRC 时,由于附加了零,结果是错误的。
有没有一种方法可以使用 64 位并行 CRC 生成器为任何长度的字节数据包长度生成 CRC?
我尝试过:
我使用了不同的并行 CRC 生成器(8 位并行 CRC、16 位并行 CRC 生成器等)。但这会消耗大量 FPGA 资源。我想只使用 64 位并行 CRC 生成器来节省资源。