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

[复制链接]
7433|10
 楼主| wmsk 发表于 2011-10-18 19:00 | 显示全部楼层 |阅读模式
老板让做,没有概念啊。555555555,求助大家了。
 楼主| 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的乘法器。
有问题问我

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

谢谢大圣!  发表于 2019-9-25 20:43
 楼主| wmsk 发表于 2011-10-18 19:07 | 显示全部楼层
大圣,感谢啊。
 楼主| wmsk 发表于 2011-10-18 19:07 | 显示全部楼层
学习啦。回头有问题问你:)
GoldSunMonkey 发表于 2011-10-18 19:37 | 显示全部楼层
不客气
jakfens 发表于 2011-10-19 08:56 | 显示全部楼层
:lol 大圣就是一座宝山 永远挖不光啊
dongzainanfang 发表于 2012-7-31 15:06 | 显示全部楼层
强悍!
wll123hi 发表于 2019-6-24 17:00 | 显示全部楼层
GoldSunMonkey 发表于 2011-10-18 19:06
代码为32位的布斯乘法器和测试程序,以及25的乘法器。
有问题问我

解压后怎么什么也没有呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

411

帖子

1

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