Verilog笔记之booth乘法器

以3*7为例,首先写出乘数和被乘数的二进制表达式,分别为0011,0111;

其中,3是被乘数,7是乘数,将乘数的补码形式表示出来,为:1001

booth乘法器步骤

1、初始化p空间,其位数为2*n+1,n为乘数及被乘数的位数,本例中n为4,所以有

    p=0000 0000 0

2、将被乘数写入p[4:1],即

    p=0000 0011 0

3、判断p[1:0],如下:

         

 

p[1:0]的值
操作
00
无操作,右移一位
01
p[8:5]加乘数,右移一位
11
无操作,右移一位
10
p[8:5]减乘数,右移一位

对于本例,过程如下:

 

p[1:0]的值
操作
10
p[8:5]减乘数,右移一位-->p=1100 1001 1
11
无操作,右移一位         -->p=1110 0100 1
01
p[8:5]加乘数,右移一位-->p=0010 1010 0
00
无操作,右移一位         -->p=0001 0101 0

操作完成后,p[8:1]即为运算结果,即0001 0101(21)

 

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值