Processing math: 100%

Verilog

Verilog - 4bit full adder testbench

_KDE_ 2025. 3. 16. 13:10

지난번에 마든 4bit_full_adder를 testbench를 돌려서 제대로 돌아가는지 확인하겠습니다.

 

 


tb 모듈(tb_4bit_full_adder)을 만들어줍니다.

tb 모듈에는 input, output port가 존재하지 않습니다. tb모듈 밖에서 값이 들어오는 것이아니라

tb 모듈 내부에서 값을 생성할 것이기 때문입니다.


테스트를 위해 지난번 만든 fourbit_full_adder를 인스턴스화해줍니다.


인스턴스화한 모듈의 input 부분은 reg를, output 부분은 wire를 선언해서 연결해줍니다.

 

 

※input을 reg로, output을 wire로 선언하는 이유 : 

테스트벤치를 작성할 때 저희는 input에 직접 여러 값을 넣어서 바꿔줘야하고 그로 나온 output을 확인할 겁니다.

reg는 값을 직접할당할 수 있습니다.

wire는 값을 직접할당할 수 없고 단순확인만 가능하기 때문입니다.


아래와 같이 testbench를 위해 입력값을 정해줍니다.


테스트벤치 결과

30ns~을 보면

input으로 a = 13과 b =  12 그리고 cin이 1로 들어왔습니다.

그럼 결과는 13 + 12 + 1 = 26이어야 합니다.

 

s[3:0]값을 보면 10 그리고 carry는 1입니다.

10+1×24=26이 됩니다.

 

'Verilog' 카테고리의 다른 글

Verilog - CLK divider  (0) 2025.03.20
Verilog - 4bit full adder  (2) 2025.03.16
Verilog - 1bit Half Adder, Full Adder (인스턴스화)  (1) 2025.03.09
Verilog 1주차 - Testbench  (0) 2025.03.03
Verilog 1주차 - 기본 작성법  (0) 2025.03.03