HDL과 검증

시뮬레이션에서 리셋이 없는 레지스터의 값이 처음에 X였다. 실제 칩에서는 어떻게 된다고 생각할 수 있는가?

  1. A전원을 켰을 때 0이나 1 중 하나가 되지만, 어느 쪽이 될지는 정해져 있지 않다
  2. B실제 칩에서도 0과 1의 중간 전압으로 멈춰 있다
  3. C실제 칩에서는 반드시 0이 된다
정답과 해설 보기

정답: A. 전원을 켰을 때 0이나 1 중 하나가 되지만, 어느 쪽이 될지는 정해져 있지 않다

실제 플립플롭은 전원을 켜면 0이나 1 중 하나의 안정된 상태로 수렴하지만, 어느 쪽이 될지는 칩이나 위치, 온도 등에 따라 달라지며 정해져 있지 않습니다. 시뮬레이션의 X는 "어느 쪽인지 모른다"는 것을 나타냅니다. 그 값이 회로 동작에 영향을 준다면 리셋으로 정해진 값으로 만들어야 합니다. 데이터 경로처럼 사용하기 전에 반드시 쓰이는 레지스터에서는 리셋을 생략하기도 합니다.

  • A. 올바릅니다. 그래서 리셋이나 초기화가 중요합니다.
  • B. 플립플롭은 0이나 1 중 하나로 수렴합니다.
  • C. 반드시 0이 된다고는 할 수 없습니다.
이 분야 연습하기 분야로 돌아가기

HDL과 검증의 다른 문제

  1. 위 기술에서 sel이 X(불정)일 때 Verilog 시뮬레이션에서는 y에 b가 선택된다. 이 성질이 검증에서 문제가 되는 이유로 올바른 것은?
  2. HDL에서 Z(하이 임피던스)를 출력하는 트라이스테이트 기술에 대해 일반적으로 올바른 것은?
  3. HDL 검증에서 사용하는 테스트벤치의 설명으로 올바른 것은?
  4. 테스트벤치의 위 기술로 만들어지는 클록의 주기는 얼마인가? (시간 단위는 1 ns로 한다)
  5. 테스트벤치에서 회로에 대한 입력을 클록 상승과 같은 시각에 블로킹 대입으로 바꾸면 문제가 생길 수 있다. 주된 이유와 대책의 조합으로 올바른 것은?

이 분야의 비교