哪个更复杂?计算一个 64 位 CRC 或两个具有不同多项式的 32 位 CRC?

which one is more complex? calculating a 64 bits CRC or two 32 bits CRCs with different polynomials?

我想知道 FPGA 上的 64 位 CRC 与同一 FPGA 上的两个 32 位 CRC(不同的多项式)相比如何。两个 32 位 CRC 会比执行单个 64 位 CRC 更复杂吗?是要花点时间还是会很快?

如何计算复杂度(或进行复杂度分析)?

任何帮助将不胜感激 谢谢。

I was wondering how 64-bit CRC on an FPGA compares to two 32-bit CRCs (different polynomials) on the same FPGA.

在“普通”FPGA 上,比较哪种信息(CRC、校验和、浮点值...)并不重要:

检查一个 64 位值是否等于另一个 64 位值需要相同数量的资源(门或时间)。

如果您使用具有内置 CRC 单元(例如)支持 CRC32 但不支持 CRC64 的 FPGA,这当然不是真的...

Would two 32 bits CRC be more complicated than performing a single 64-bit CRC?

在这两种情况下,您都需要 64 个逻辑单元(这意味着:64 个 LUT 和 64 个触发器)。

在64位CRC的情况下,63个逻辑单元必须连接到前一个逻辑单元,并且必须有一条信号线连接第一个和最后一个逻辑单元。

在两个32位CRC的情况下,62个逻辑单元必须连接到前一个逻辑单元,并且必须有两条信号线连接每个CRC的第一个和最后一个逻辑单元。

如果您的 FPGA 允许在不使用“长”信号线的情况下连续连接 64 个单元,则 64 位 CRC 可以节省一条“长”信号线。

(编辑: 在我的评估板上的 FPGA 上,你可以连续连接 16 个单元;在这样的 FPGA 上,onw 64 位 CRC 和两个 32 位CRC 将花费 5 条“长”信号线。)

Is it going to take a while or it would be fast?

How can I calculate the complexity (or do a complexity analysis)?

在这两种情况下,每位都需要一个时钟周期。

请注意,FPGA 的工作方式与计算机完全不同:

您通常不需要时间来执行某些操作,但所有操作都是同时执行的...