Adder3
2023. 6. 13. 17:48ㆍFPGA/HDLBits
728x90
Problem Statement
Now that you know how to build a full adder, make 3 instances of it to create a 3-bit binary ripple-carry adder. The adder adds two 3-bit numbers and a carry-in to produce a 3-bit sum and carry out. To encourage you to actually instantiate full adders, also output the carry-out from each full adder in the ripple-carry adder. cout[2] is the final carry-out from the last full adder, and is the carry-out you usually see.
module top_module(
input [2:0] a, b,
input cin,
output [2:0] cout,
output [2:0] sum );
adder U1(
.a(a[0]),
.b(b[0]),
.cin(cin),
.cout(cout[0]),
.sum(sum[0])
);
adder U2(
.a(a[1]),
.b(b[1]),
.cin(cout[0]),
.cout(cout[1]),
.sum(sum[1])
);
adder U3(
.a(a[2]),
.b(b[2]),
.cin(cout[1]),
.cout(cout[2]),
.sum(sum[2])
);
endmodule
module adder(
input a, b, cin,
output cout, sum );
assign {cout,sum} = a + b + cin;
endmodule
전가산기를 3개 붙인 것으로 인스턴스화 시켜 붙인다.
'FPGA > HDLBits' 카테고리의 다른 글
Dff (0) | 2023.06.13 |
---|---|
Exams/m2014 q4j (0) | 2023.06.13 |
Fadd (0) | 2023.06.12 |
Hadd (0) | 2023.06.12 |
Mux256to1v (0) | 2023.06.12 |