module MUT4B(R,A,B);
parameter S=4;
input[S:1] A,B;
output[2*S:1] R;
reg[2*S:1] R,AT;
reg[S:1] BT,CT;
always @(A,B)
begin
R=0;AT={{S{1'B0}},A};
BT=B;CT=S;
for(CT=S;CT>0;CT=CT-1)
begin
if(BT[1]) R=R+AT;
AT=AT<<1;BT=BT>>1;
end
end
endmodule
这个程序里面有一句话不知道怎么理解,就是AT={{S(1'B0)},A};这是关于4位乘法器的程序,希望有懂的朋友给我讲解下,最好能举个例子,这样理解的更好一些.谢谢大家啦. |