지난번에 마든 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 |