打印

求Booth乘法器的原理和Verilog代码

[复制链接]
5920|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wmsk|  楼主 | 2011-10-18 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wmsk|  楼主 | 2011-10-18 19:00 | 只看该作者
求大家帮忙了。谢谢啦。

使用特权

评论回复
板凳
GoldSunMonkey| | 2011-10-18 19:04 | 只看该作者
假设X、Y都是用补码形式表示的机器数,[X]补和[Y]补=Ys.Y1Y2…Yn,都是任意符号表示的数。
比较法求新的部分积,取决于两个比较位的数位,即Yi+1Yi的状态。
布斯乘法规则归纳如下:
首先设置附加位Yn+1=0,部分积初值[Z0]补=0。
当n≠0时,判YnYn+1,
        若YnYn+1=00或11,即相邻位相同时,上次部分积右移一位,直接得部分积。
        若YnYn+1=01,上次部分积加[X]补,然后右移一位得新部分积。
        若YnYn+1=10,上次部分积加[-X]补,然后右移一位得新部分积。
当n=0时,判YnYn+1(对应于Y0Y1),运算规则同(1)只是不移位。即在运算的最后一步,乘积不再右移。
注意:
(A)比较法中不管乘数为正为负,符号位都参加运算,克服了校正法的缺点
(B)运算过程中采用变形补码运算(双符号位)
(C)算法运算时的关键是YnYn+1的状态:后者(Yn+1)减前者(Yn),判断是加减(+/-X)

使用特权

评论回复
地板
GoldSunMonkey| | 2011-10-18 19:06 | 只看该作者
代码为32位的布斯乘法器和测试程序,以及25的乘法器。
有问题问我

Desktop.rar

2.01 KB

使用特权

评论回复
评论
对羊毛过敏 2019-9-25 20:43 回复TA
谢谢大圣! 
5
wmsk|  楼主 | 2011-10-18 19:07 | 只看该作者
大圣,感谢啊。

使用特权

评论回复
6
wmsk|  楼主 | 2011-10-18 19:07 | 只看该作者
学习啦。回头有问题问你:)

使用特权

评论回复
7
GoldSunMonkey| | 2011-10-18 19:37 | 只看该作者
不客气

使用特权

评论回复
8
jakfens| | 2011-10-19 08:56 | 只看该作者
:lol 大圣就是一座宝山 永远挖不光啊

使用特权

评论回复
9
dongzainanfang| | 2012-7-31 15:06 | 只看该作者
强悍!

使用特权

评论回复
10
wll123hi| | 2019-6-24 17:00 | 只看该作者
GoldSunMonkey 发表于 2011-10-18 19:06
代码为32位的布斯乘法器和测试程序,以及25的乘法器。
有问题问我

解压后怎么什么也没有呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

411

帖子

1

粉丝