Academy
English한국어

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입니다.

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