Academy
English한국어

7 / 24 · 개념

놓치지 않는 MUX 테스트

선택 신호 반전과 저장 시점 오류를 찾는 사례를 만듭니다.

학습 목표

  • 정상 동작과 오류를 구별하는 입력 만들기
  • 기대값과 관측값을 분리해 기록하기

잘못된 코드도 통과하는 테스트 피하기

a와 b를 항상 같은 값으로 주면 선택 신호가 고장 나도 출력이 맞아 보입니다. 먼저 a=0, b=1에서 sel을 바꾸고, 다음에는 a=1, b=0으로 반대 방향도 확인하세요.

입력 파일을 바꾸기 전에 기대값을 따로 계산합니다. 실행 결과를 본 뒤 기대값을 맞춰 쓰면 비교의 의미가 없어집니다. 원본과 수정본의 파일 이름도 구분해 두세요.

확인할 것입력 조건비교 지점
선택 방향a와 b를 다르게 두고 sel 변경y
선택하지 않은 입력선택된 입력은 유지하고 다른 입력 변경y 유지
저장 동작에지 사이에서 sel 변경y와 sampled_y 비교
전체 조합a, b, sel의 8개 조합진리표

첫 불일치부터 원인 좁히기

불일치가 있으면 첫 번째로 달라진 시점과 입력 조합을 기록하세요. y부터 다르면 선택 식이나 입력 연결을, y는 맞고 sampled_y만 다르면 초기값과 클록 에지를 먼저 살펴봅니다.

여덟 조합을 모두 확인해도 실제 칩의 모든 전기적 특성을 검증한 것은 아닙니다. 이번 목표는 주어진 RTL의 0/1 선택 규칙과 저장 동작을 설명할 수 있게 되는 것입니다.

직접 생각해 보기

y는 진리표와 같은데 sampled_y만 한 에지 어긋납니다. 가장 먼저 무엇을 비교할까요?

해설 보기

초기 sampled_y 값, 입력이 바뀐 시각, 첫 상승 에지의 위치를 비교합니다. 조합 선택 식부터 바꿀 이유는 아직 없습니다.

선택은 이 브라우저에만 적용됩니다. 언제든 푸터에서 변경할 수 있습니다.