본문 바로가기
HW Design/1. Verilog HDL Basic

[Testbench] 4. initial block

by 한PU 2024. 1. 13.
728x90
반응형
  • procedural block의 type 중 하나
    • always blocks도 procedural block
  • initial block
    • 이 블록 내에서 작성하는 모든 코드는 시뮬레이션 시 ==한 번만 실행==
initial begin
    // 코드 작성
end
  • initial block
    • ==not synthesizable==
      • 시뮬레이션 목적으로만 사용
    • 신호를 초기화 할 때도 사용 가능
      • stimulus code를 작성할 때는 거의 항상 이용
  • Basic example
    • 2 input과 gate를 test
      • 4 가지 input 경우의 수를 신호로 입력해야함.
      • delay operator도 사용해야함.
        • 경우의 수 사이를 delay
          • 신호가 전파될 수 있는 시간이 있어야 하기에 중요.
initial begin
    // input, AND gate 생성 코드
    // 신호 사이는 10 time delay
    and_in = 2b'00;
    #10
    and_in = 2b'01;
    #10
    and_in = 2b'10;
    #10
    and_in = 2b'11;
end
728x90
반응형

'HW Design > 1. Verilog HDL Basic' 카테고리의 다른 글

[Testbench] 6. System Tasks  (0) 2024.01.13
[Testbench] 5. forever loop  (0) 2024.01.13
[Testbench] 3. Time 모델링  (1) 2024.01.10
[Testbench] 2. DUT 인스턴스화  (0) 2024.01.10
[Testbench] 1. 테스트벤치의 구조  (0) 2024.01.10