如何解决哪个更复杂?使用不同的多项式计算 64 位 CRC 或两个 32 位 CRC?
我想知道 FPGA 上的 64 位 CRC 与同一 FPGA 上的两个 32 位 CRC(不同的多项式)相比如何。两个 32 位 CRC 会比执行单个 64 位 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 上,64 位 CRC 和两个 32 位 CRC 都将花费 5”长”信号线。)
需要一段时间还是很快?
如何计算复杂度(或进行复杂度分析)?
每个位需要一个时钟周期 - 在这两种情况下。
请注意,FPGA 的工作原理与计算机完全不同:
您通常不需要时间来执行某些操作,但所有操作都是同时执行的...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。