参考代码如下,
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