微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决哪个更复杂?使用不同的多项式计算 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 举报,一经查实,本站将立刻删除。