1 加法
1.1 单bit加法
1.1.1 半加器
a | b | co | so |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
module half_add(a,b,so,co); //半加器
input a,b;
output so,co;
assign so = a ^ b;
assign co = a & b;
endmodule
1.1.2 全加器
a | b | in | sum | cout |
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 full_add1(a,b,in,sum,cout); //全加器
input a,b,in;
output sum,cout;
half_add(.a(a), .b(b), .so(sum_b), .co(co1));
half_add(.a(in)