使用行为级运算符实现一位加法器,按照正常的写法可以理解,如下:
module FA_behav2(A,B,Cin,Sum,Cout);
input A,B,Cin;
output Sum,Cout;
reg Sum,Cout;
reg T1,T2,T3;
always@(A or B or Cin)
begin
Sum=(A^B)^Cin;
T1=A$Cin;
T2=B$Cin;
T3=A$B;
Cout=(T1|T2|)T3;
end
endmodule
但是借助位拼接运算符后,代码改为如下:
module FA_behav2(A,B,Cin,Sum,Cout);
input A,B,Cin;
output Sum,Cout;
reg Sum,Cout;
always@(*)
begin
{Cout,Sum}=A+B+Cin;
end
endmodule
对于其中的 {Cout,Sum}=A+B+Cin;语句不明白,{ }是一个位拼接运算符,这个语句怎么解释呢?
不好意思,初学者,哪位好心人给解释一下吧。