🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

testbench에 대해서 질문있습니다.

22.02.23 17:20 작성 조회수 555

1

안녕하세요 맛비님. verilog HDL 강의 잘 보고 있습니다. 몇가지 질문이 있어 질문을 올리게 되었습니다.

1. "Testbench와 DUT 이해해보기" 강의에서 Testbench는 3가지로 이루어졌다고 하셨고 여기서 stimulus, Module, checker 부분을 설명해주셨습니다. 여기서 Module에 해당하는 부분이 DUT이고 stimulus의 경우 DUT에 연결할 input(reg type으로 선언하는 것) 이고 checker의 경우 initial을 통해 딜레이를 걸어주며 넣는 코드 부분에 해당한다고 이해하면 될까요? 

답변 1

답변을 작성해보세요.

0

안녕하세요 :)

stimulus 는 한글로 '자극' 이라는 뜻이죠. 즉 모듈을 동작시키려면, input 즉, 자극이 있어야 합니다.

DUT 에 '자극'을 주지 않으면 동작하지 않습니다.

저번 시간에 clock 을 testbench 상에서 generation 했었죠. 이것을 모듈의 input 으로 사용한다면, 이는 곧 stimulus 가 되는 겁니다. 저번시간에 이미 clock 이라는 stimulus 를 완성 시킨거죠.

 

자극을 줬으면 결과를 확인 해야겠죠. checker 라고 부르구요. 모듈의 출력이 설계자가 원하는 대로 나왔는지를 비교하는 과정입니다.

여기서 stimulus 와 checker 는 개념일 뿐이지, Verilog 의 특수한 문법이 아닙니다. 우리가 C 에서 A 라는 function 을 구현하는데, function 자체가 C의 문법은 아니잖아요. Verilog 의 Stimulus 와 Checker 또한 rule 이 아닌 개념입니다. 

 

1. "Testbench와 DUT 이해해보기" 강의에서 Testbench는 3가지로 이루어졌다고 하셨고 여기서 stimulus, Module, checker 부분을 설명해주셨습니다. 여기서 Module에 해당하는 부분이 DUT이고 stimulus의 경우 DUT에 연결할 input(reg type으로 선언하는 것) 이고 checker의 경우 initial을 통해 딜레이를 걸어주며 넣는 코드 부분에 해당한다고 이해하면 될까요? 

-> initial을 통해 딜레이를 걸어주며 넣는 코드 부분에 해당한다고 이해하면 될까요? 

DUT 의 input 을 제어하는데 사용하시면, Stimulus 입니다.

DUT 의 출력 값 비교를 위해 사용되는 코드라면 Checker 입니다.

 

즐공하세요 :)

권준범님의 프로필

권준범

질문자

2022.02.23

감사합니다:)

채널톡 아이콘