Full adder
/*
输入 A 输入 B 进位输入 (Cin) 和数 (Sum) 进位输出 (Carry)
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
*/
module top_module(
input a, b, cin,
output cout, sum );
assign sum = a^b^cin;
assign cout = (a & b) | (a & cin) | (b & cin);
endmodule