【交流】大家在做乘法器都用什么算法?

[复制链接]
4227|8
 楼主| wycawyc 发表于 2010-4-2 11:40 | 显示全部楼层 |阅读模式
如题。大家做乘法器用什么算法呢?有没有人做过基于booth或者wallace算法的?和并行/并行的快速阵列+流水线结构相比。那种在面积上更有优势。看到一个资料上说以前在asic上常用booth和Wallace算法。但是fpga上不常使用。是什么原因呢。
Adu0227 发表于 2010-4-2 19:06 | 显示全部楼层
在忙这个,高手期待中
mr.king 发表于 2010-4-2 21:15 | 显示全部楼层
FPGA有乘法器
chenhongyi 发表于 2010-4-5 20:39 | 显示全部楼层
用FPGA的专用乘法器。
用IP最好的。
 楼主| wycawyc 发表于 2010-4-6 09:22 | 显示全部楼层
想更深入的了解一下基本运算的实现算法和结构。望高手解答。有没有可能做到比ip更小的面积?加法的算法又是什么?自己做出来的总是比ip大不少。主要是进位链怎样实现的。想知道用什么算法完成的。有了解的给解答一下。多谢啦。
mugenwon 发表于 2010-4-6 12:45 | 显示全部楼层
我没弄过,但我觉得从小学的乘法口诀出发,用查表的方法应该会快点。用硬件来查表,配合加法应该可行。
patrick007 发表于 2010-4-7 22:56 | 显示全部楼层
并行 面积大 关键路径大 cycle 少
串行 面积小 关键路径小 cycle 多

但一般乘法都是允许多周期,关注吞吐率,所以很多都做串行,深度流水,asic上二进制的可以干到10到12个fo4之内,ibm的声称做到了8个fo4,但是对比之后和频率有出入,可能他们做门级或晶体管级的优化了。那就不是一般人能超越的了。
那fpga上也能搞到20个lut之内,速度多高你可以算,也可以和ip核的比较一下。我想通常情况下,ip核的设计还是可以的。
具体到细节,有很多奇技淫巧的方法去优化。

wallance tree是做多操作数相加的,所以一般在并行乘法器里面,就是一到两个周期就出结果。
串行里面好多方法,不拘泥于booth
 楼主| wycawyc 发表于 2010-4-8 15:15 | 显示全部楼层
多谢指点
520810 发表于 2010-4-8 19:45 | 显示全部楼层
学习,每天都学一点就是最大的进步
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

30

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部