Adder3

2023. 6. 13. 17:48FPGA/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