我目前正在从事一个项目,我试图找出在芯片级设计中实施时哪种算法更好。我将这些推到我的 FPGA 板上。我正在用 Verilog 编写代码。我需要的是一个比较量规
a) 2 个函数的时间复杂度。
b) 最坏情况时序
c) 功耗
例如,
方法一:prod = mult1 * mult2;
其中 mult1 和 mult2 是两个 8 位输入。
方法二:prod = ((mult1+mult2-100) * 100) + ((100-mult1) * (100-mult2))
其中 mult1 和 mult2 是两个 8 位输入。
所以我有兴趣知道芯片计算产品所需的总时间,从传入 2 个输入到计算产品的时间。
我正在处理的算法都是 O(n)。所以我知道渐近无关紧要。但是,我有兴趣了解在 FPGA 或 ASIC 板上实现时所采用的确切的最坏情况时序,以便我可以尝试改进功能。我也知道这些计算需要纳秒来计算,但是,这就是我想要改进的。
我看到一些声称有更快算法的期刊出版物。然而,当我使用 Xilinx 和综合报告实现相同的功能时,我得到了不同的结果。
是否有计算功耗和最坏情况时序的软件?或者任何人都可以向我指出一些可以帮助我的文章吗?