一、移位相加乘法器
移位相加的原理
从被乘数的最低位开始判断,若为1,则乘数左移i(i=0,1(width-1))位后,与上一次和进行相加,若为0,则乘数左移i位后,以0相加。直到被乘数的最高位。
实际是由移位运算和加法运算构成。比较高速。
优点: 占用资源较少,主要在低速信号处理中
缺点: 串行乘法器的速度比较慢,一个结果输出需要更多的时钟周期。在高位宽的乘法运算中非常明显。所以可以采用改进的流水线形式来实现移位相加。
1、串行形式,使用状态机来实现
module multiply1#(
parameter DATAWIDTH=9
)(clk, x, y, result);
parameter s0 =