23 / 24 · 개념
방향·리셋·입력 순서 점검
한 비트 패턴으로 뒤집힌 연결을 찾아냅니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
학습 목표
- 비트 하나의 이동으로 방향 오류 찾기
- 기대 상태를 매 에지마다 다시 계산하기
대칭적인 패턴은 오류를 감춘다
000이나 111만 사용하면 이동 방향을 잘못 연결해도 차이가 잘 드러나지 않습니다. 1 하나를 넣고 0을 이어 넣는 패턴은 001 → 010 → 100을 만들어 방향을 분명하게 보여 줍니다.
예상과 반대로 100 → 010 → 001이 나오면 입력을 어느 위치에 붙였는지 확인하세요. 첫 값부터 다르면 초기 상태, 리셋 구간, 비트 표시 순서를 먼저 비교합니다.
| 증상 | 점검할 부분 |
|---|---|
| 첫 데이터 에지에 100이 나옴 | din이 최상위 비트에 들어가는지 |
| 항상 000 | 리셋이 활성화되어 있거나 din이 계속 0인지 |
| 한 에지씩 어긋남 | 리셋 주기를 데이터로 세었는지 |
| 모든 단계가 동시에 din으로 바뀜 | 갱신 전 값과 새로 대입한 값의 구분 |
한 행씩 예측하고 비교하기
표의 각 행에는 이전 q, 이번 din, 이번 rst, 다음 q를 적습니다. rst=1이면 다른 값과 관계없이 000이고, rst=0이면 이전 q[1:0] 뒤에 din을 붙입니다. 결과가 다르면 그 행부터 원인을 좁힙니다.
원본 실습을 이해한 뒤에는 입력 순서를 바꾼 복사본으로 연습해 보세요. 코드는 그대로 두고 입력만 바꾸면 데이터 흐름에 대한 예측이 맞는지 집중해서 확인할 수 있습니다.
직접 생각해 보기
리셋 후 입력 1, 1, 0을 주었는데 100, 110, 011이 나왔습니다. 무엇을 의심할까요?
해설 보기
새 입력이 q[2]에 들어가는 반대 방향 연결을 의심합니다. 이 코스의 기대값은 001, 011, 110입니다.
✓ 학습 완료