전기전자/반도체 설계

반도체 설계 독학으로 시작하기 2탄(예제 코드 테스트벤치, And gate)

Standard Eom 2025. 3. 30. 09:54

2번째 문서는 간단한 Verilog 예제코드 작성으로 And_gate의 입력과 결과 출력을 진행한다. 간단한 Windows 명령어의 조작만 사용한다면 쉽게 따라 할 수 있다. 앞 발행 글을 확인하여 개발환경 구성을 선행 후 해당 내용을 확인하기를 바란다..


1. 간단한 Verilog 코드 작성

새로운 Verilog 파일 생성

VS Code에서 새 파일을 만들고 파일 이름을 and_gate.v로 저장. (.v Verilog 파일 확장자이다.)

 

아래 코드를 파일에 복사/붙여넣기 하십시오. 간단한 AND 게이트를 설계한 예제이다.

module and_gate (
    input a,
    input b,
    output y
);
    assign y = a & b;
endmodule

 

저장.


2. 테스트벤치 작성

시뮬레이션을 위해 테스트벤치 파일을 추가로 작성한다.

위와 동일한 방법으로 and_gate_tb.v라는 파일을 새로 만든다.

아래 테스트벤치 코드를 복사/붙여넣기하여 저장.

`timescale 1ns/1ps



module and_gate_tb;

reg a, b;

wire y;



// DUT (Device Under Test)

and_gate uut (

.a(a),

.b(b),

.y(y)

);



initial begin

// Test cases

$monitor("a=%b, b=%b, y=%b", a, b, y);



a = 0; b = 0; #10;

a = 0; b = 1; #10;

a = 1; b = 0; #10;

a = 1; b = 1; #10;



$finish;

end

endmodule

3. 시뮬레이션 실행

1) 명령 프롬프트(CMD)실행 후 위에서 작성한 and_gate.v라는 Verilog 파일들이 저장된 디렉토리로 이동한다.

(명령어 예: cd C:\Users\User01\바탕 화면)

 

2) 아래 명령어를 입력하여 Icarus Verilog로 컴파일한다.

iverilog -o and_gate_tb.vvp and_gate.v and_gate_tb.v

 

3) 컴파일된 파일을 실행한다.

vvp and_gate_tb.vvp

 

4)결과 확인

출력에 각 테스트 케이스의 결과가 표시된다.

a=0, b=0, y=0

a=0, b=1, y=0

a=1, b=0, y=0

a=1, b=1, y=1

and_gate_tb.v:23: $finish called at 40000 (1ps)