|
发表于 2009-10-31 20:49:45
|
显示全部楼层
1 一个8位串行乘法器
其中一个部部分reg[15:0] reg[7:0]y_reg
t<={{8{x[7]}},x}这句是什么意思
if(y_reg[0]==1) 这个又是为什么?意思我懂
begin
......
.......
2 4位流水线乘法器
begin
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,a'bo};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,a'bo};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;
我试试解释下,如果不对多多包含,
t<={{8{x[7]}},x}就是T={X(7), X(7),X(7),X(7),X(7),X(7),X(7),X(7)}
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,a'bo};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,a'bo};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;
这个就是说检查其中一个乘数的每一位,你这应该是四位的乘法,所以他要判断每一位,如果是1就让stored暂时移位,最后再把stored0 stored3 stored1 stored2
加起来就对了 这样太麻烦了
|
|