Verilog HDL을 이용해서 4bit Full Adder(덧셈기)를 구현한 코드

아래 코드는 4bit Full Adder(덧셈기)를 표현한것으로

C0는 외부에서 들어오는 Carry 이고, 4bit A와 4bit B를 더해서

결과를 S, 거기에서 생기는 Carry를 C4에 넣는 코드이다.

아래 코드는 Behavior Level 로 작성한 코드이다.

Gate Level로 표현된 자료는 인터넷에 찾으면 된다.


module bit_adder(S,C4,A,B,C0);
  input [3:0]A,B;
  input C0;
  output [3:0]S;
  output C4;

  reg [3:0]S;
  reg C4;


  always @ (A or B or C0)
  begin
      S = A + B + C0;
      if ( A+B+C0 > 5’b01111)
        C4 = 1’b1;
      else
        C4 = 1’b0;
  end
endmodule


코드를 설명 하자면, A , B 또는 C0가 변경이 되면 아래에 있는 begin-end블럭을 실행

하게 되는데, A와 B 그리고 C0를 결과 S에 저장하고

그 셋 결과가 4 bit 1111보다 큰 결과가 나오면 Carry Out인 C4를 1로 출력하고

그보다 작으면 Carry Out인 C4를 0으로 출력하게 된다.