如何在5个时钟周期内实现150个10位二进制数的累加,时钟频率为100M
时间:10-02
整理:3721RD
点击:
如何在5个时钟周期内实现150个10位二进制数的累加,时钟频率为100M,FPAG为spartan6系列的。感谢大侠
加法器树?
1、建一个表
2、150个数,每个对应的位分一组,10bit位共10组
3、每组组成一个序列,查表,表中返回的是值是该组中1的个数,作为该组的和值
(现在知道这个表怎么做了吧?)
4、10组中高n位的组左移n位,得到10个数
5、预计前面也就需要查表一个周期,剩下的就是4个周期这10个数的加法,好搞多了吧?
请问这个查找表的表怎么做,难道是做成地址宽度为150,深度为2^150的一个ROM表吗?这个深度也太大了吧,
额, 写的时候没仔细去想这个表,要是没有个好办法统计这150个bit位的和,这个方法就不可行了
3~4个数并行加呗,分5级做,不过输入数据够宽的,这150个数从哪里来?带宽够吗?
目前来看只有这种方法可行了。谢谢
还可以考虑 直接用assign把所有的加了,也就是直接组合运算,等3~4周期时间直接去读取结果
板子上跑起来,用signalTap抓取个数验证一下,如果结果对的,那第5个周期的结果应该可以得到稳定的正确的结果
使用DSP48,如果你没有资源限制的话
旁观一下