입력: 2-bit x, y / 출력: 3-bit led(합의 최대 비트) 구성. x[0]⊕y[0]을 led[0]으로, 발생한 캐리는 상위 비트 합으로 전달한다. 상위 비트는 x[1], y[1], carry를 더하는 Full Adder와 결합해 전체 2-bit adder를 완성했다.
아래 코드는 굳이 data flow 형태로 다 풀어서 적었는데, 2 개의 1 bit full adder를 이어 붙여서 structural modeling으로 구현할 수도 있다. x[0]과 y[0]을 첫 번째 full adder에 넣고( carry-in = 0 ) 그 결과 나온 carry-out, x[1],x[2] 를 두 번째 full adder 모듈의 인자로 넣으면 전체 결과를 얻을 수 있다.
Full_Adder_2bit.v
테스트 (tb_Full_Adder_2bit.v)
x, y를 reg [1:0], led를 wire [2:0]으로 두고, 초기값 2’b00에서 시작해 for문으로 모든 (i,j) 16개 조합을 검증했다. 결과는 led에 정확히 출력됨을 확인.