HDL과 검증

랜덤 입력을 사용하는 테스트에서 난수 시드(seed)를 기록해 두는 이유로 올바른 것은?

  1. A같은 시드를 사용하면 같은 입력 순서를 재현할 수 있어, 발견된 불량을 몇 번이든 다시 조사할 수 있기 때문
  2. B시드를 기록하면 난수를 더 빠르게 만들 수 있기 때문
  3. C시드를 기록하지 않으면 시뮬레이션이 시작되지 않기 때문
정답과 해설 보기

정답: A. 같은 시드를 사용하면 같은 입력 순서를 재현할 수 있어, 발견된 불량을 몇 번이든 다시 조사할 수 있기 때문

시뮬레이션의 난수는 시드로부터 정해진 절차로 만들어지는 의사 난수이므로, 같은 시드라면 같은 순서가 됩니다. 랜덤 테스트에서 불량이 발견되어도 시드를 모르면 같은 상황을 다시 만들 수 없어, 원인을 조사하거나 수정 후 고쳐졌는지 확인할 수 없습니다. 매번 다른 시드로 많은 테스트를 돌리고, 실패했을 때의 시드를 기록해 두는 것이 기본입니다.

  • A. 올바릅니다. 재현할 수 없는 불량은 고치기 어려워집니다.
  • B. 속도와는 관계가 없습니다.
  • C. 기록하지 않아도 시작됩니다.
이 분야 연습하기 분야로 돌아가기

HDL과 검증의 다른 문제

  1. SystemVerilog의 제약 조건 기반 랜덤 검증(constrained random verification)에 대한 설명으로 올바른 것은?
  2. 회로 설계에서 수행하는 회귀 테스트(regression test)의 설명으로 올바른 것은?
  3. SystemVerilog의 logic형의 장점으로 올바른 것은?
  4. SystemVerilog의 always_ff나 always_comb를 Verilog의 always 대신 사용하는 장점으로 올바른 것은?
  5. 위와 같이 parameter를 사용하여 module을 작성하는 장점으로 올바른 것은?

이 분야의 비교