【发布时间】:2021-08-19 08:34:59
【问题描述】:
我想知道 FPGA 上的 64 位 CRC 与同一 FPGA 上的两个 32 位 CRC(不同的多项式)有何不同。两个 32 位 CRC 会比执行单个 64 位 CRC 更复杂吗?是需要一段时间还是会很快?
如何计算复杂度(或进行复杂度分析)?
任何帮助将不胜感激 谢谢。
【问题讨论】:
标签: complexity-theory fpga crc
我想知道 FPGA 上的 64 位 CRC 与同一 FPGA 上的两个 32 位 CRC(不同的多项式)有何不同。两个 32 位 CRC 会比执行单个 64 位 CRC 更复杂吗?是需要一段时间还是会很快?
如何计算复杂度(或进行复杂度分析)?
任何帮助将不胜感激 谢谢。
【问题讨论】:
标签: complexity-theory fpga crc
我想知道 FPGA 上的 64 位 CRC 与同一 FPGA 上的两个 32 位 CRC(不同的多项式)有何不同。
在“普通”FPGA 上,比较哪种信息(CRC、校验和、浮点值……)并不重要:
检查一个 64 位值是否等于另一个 64 位值需要相同数量的资源(门或时间)。
如果您使用具有内置 CRC 单元(例如)支持 CRC32 但不支持 CRC64 的 FPGA,这当然不是真的......
两个 32 位 CRC 会比执行单个 64 位 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"长”信号线。)
需要一段时间还是很快?
如何计算复杂度(或进行复杂度分析)?
每个位都需要一个时钟周期 - 在这两种情况下。
请注意,FPGA 的工作方式与计算机完全不同:
您通常不需要时间来执行某些操作,但所有操作都是同时执行的......
【讨论】: