实验资源来自于MOOC-华中科技大学-计算机硬件系统设计
计算机硬件系统设计_华中科技大学_中国大学MOOC(慕课)
我感觉是移位乘法器,不过课件里就这么写了,那就这么叫吧。
——————————————————————————————————————
一、原码一位乘法器
由原码一位乘法可知,乘数依次从最低位乘以被乘数,然后和部分积进行累加。
因为乘数每次用完最低位后就不用了,所以我们可以右移一位,将最低位丢掉。
在进行累加时,因为每次做完乘法都是高一位的,所以我们把部分积右移一位,这样就可以实现对齐。
另外,丢掉的那一位可以存在乘数寄存器的最高位,这样每次右移丢掉的一位都在最前列。在运行8次后,第一次丢掉的刚好到达最低位。
乘法部分
如果Yi = 0,则结果为0,如果Yi = 1,则结果为X。
可知乘法可以用数据选择器实现。
对运算次数进行控制,在第0次运算时,把Y载入乘数寄存器中。在第8次运算后停止运算。
硬件逻辑如下,因为无符号运算,所以不需要考虑符号位。
由此设计电路
二、补码一位乘法器
由补码一位乘法可知,每次累加由Yi和Yi+1决定。
Yi>Yi+1 累加X的补码
Yi<Yi+1 累加X
Yi=Yi+1 累加0
其次,部分积和乘数同原码一位乘法一样,需要进行有右移。
不同的是多了一位Yn+1,就需要我们把Yn+1也并入右移中。
其余与源码一位乘法器相同。
硬件逻辑如下
可设计电路得
三、测试电路
如果本文对你有用,点个赞再走吧!或者关注我,我会带来更多优质的内容。