一个超级难的简单计算题
3个正整数,A为12bit,B和C为10bit,且B255
问题是:计算A*B/C的商和余数,无论用什么芯片,时间最短能达到多少?
如果把A,B,C扩展到16bit,又如何?
苦想了一个多月,仍然没有找到一个很好的解决办法,目前只做到了30ns
提问者:gaofang36
地点:-
浏览次数:1122
提问时间:07-30 01:16
我有更好的答案
- 11条回答
-
www1222
08-02 22:49
如果把A,B,C扩展到16bit,又如何? 若用16位的片子已经是16位的了,不用扩!
30ns 这个已经很快了,5MIPS单片机单周期200ns,ST的M4据说最快为168MIPS,单周期也要6ns。
你用什么芯片运算的啊? DSP ?
加快速度:提升主频,或超频计算!!
-
点睡12你吃的啥
08-08 01:27
我用FPGA整的,ARM能做单周期除法?
-
guotong1984
07-31 00:30
多少主频都没说,30ns怎么做参考?
-
西安易珀电气技术有限公司
08-05 03:16
FPGA做的,目前最快能做到9个clock,跑333MHz,总延时为30ns
整个数据处理环路为12个clock,延时为40ns,且无法解开环路,无法通过并行化来提升性能。
瓶颈就在这个乘除法,每减少一个clock,都是十分有意义的
-
60user146
08-04 12:47
http://www.docin.com/p-200198263.html
号称2周期
-
60user57
08-01 22:07
这个NB ! ! !
2周期 ! ! !
-
fanxiecheng
08-06 20:32
??????????????/
-
Tutut
08-04 00:28
最快的就是用FPGA内部的硬件乘法器,但我还是不相信楼主用了9个周期
是否LZ为了提高速度内插了寄存器?
LZ能再详细说一下用什么器件、加了哪些时序约束就好了。
-
60user189
08-01 14:09
上图是一个月来尝试的各种计算方式。
各种除法器流水线级数各不相同,工作频率也不相同,但总的运算时间却很难突破。
其中有单周期除法,100ns
High-Radix,50ns
xilinx生成的除法器,150ns
查表试商法等等
目前做到最快的有三种方式:
1.先计算A*B,1clk,再经查表试商8clk,总共9clk,工作到333MHz,延时30ns
2.先计算A*B,1clk,再经查表试商5clk,总共6clk,工作到200MHz,延时还是30ns
3.计算M=A*B,同时查表求D=2^S/C,1clk;计算N=M*D,1clk;商Q=N/2^S,直接移位,计算R=Q*C-M,1clk;比较R与C,修正Q,1clk;总共4clk,跑到166MHz,延时24ns;很难提高速度;插入合适的寄存器后,能跑到200MHz,但是需要6clk,延时还是30ns
-
60user15
08-06 05:21
我大概试了下,确实很难突破。
fpga实现除法是基于组合逻辑,这样的话,光靠eda工具产生除法电路,应该是做不到了,人能干预的仅仅是时序约束部分。
-
60user172
08-03 00:17
那一篇号称只用2周期做除法运算的文章不是NB,是SB!