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)



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com