用verilog语言设计2位全加器

2025-02-24 05:33:22
推荐回答(3个)
回答1:

参考代码如下,
module add_1bit (a, b, ci, s, co)
input a, b, ci; //Ci为上个进位。
output reg s, co; //co为当前的进位,s为加结果
always@(*)
begin
co = (a&b) | (b&ci) | (ci&a);

if (ci)
s = ! (a^b);
else
s = (a^b);
end

endmodule

回答2:

module add(a,b,c,sum,cout);
input[1:0] a,b;
input c;
output[1:0] sum;
output cout;

assign {cout,sum}=a+b+c;

endmodule

回答3:

module adder2(a,b,cin,sum,cout);
input[1:0] a,b;
output[1:0] sum;
output cout;

assign {cout,sum}=a+b+cin;

endmodule