之前写这道题的时候,可能网页翻译不太行,结果自己写了一个add16,原来题目已经定义过add16,只需要你定义add1即可,正确结果如下:
module top_module (
input [31:0] a,
input [31:0] b,
output [31:0] sum
);
reg link;
add16 add16_inst1(.a(a[15:0]),.b(b[15:0]),.cin(0),.sum(sum[15:0]),.cout(link));
add16 add16_inst2(.a(a[31:16]),.b(b[31:16]),.cin(link),.sum(sum[31:16]));
endmodule
//定义单位全加器
module add1 (input a,input b, input cin,output sum, output cout);
reg [1:0] temp;
always@(*) begin
temp=a+b+cin;
sum=temp[0];
cout=temp[1];
end
endmodule