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 값, 입력이 바뀐 시각, 첫 상승 에지의 위치를 비교합니다. 조합 선택 식부터 바꿀 이유는 아직 없습니다.
✓ 학습 완료