18 / 24 · 개념
직렬 입력을 시간 순서로 읽기
한 번에 한 비트씩 들어오는 입력을 표로 정리합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
학습 목표
- 직렬 입력을 에지별 값으로 정리하기
- 마지막 입력과 저장된 전체 벡터 구분하기
한 번에 한 비트씩 들어오는 데이터
din은 1비트 입력이라 1011을 한 순간에 넣을 수 없습니다. 네 번의 상승 에지에서 1, 0, 1, 1을 순서대로 샘플하도록 줍니다. q는 최근에 샘플한 세 비트를 함께 저장합니다.
여기서는 입력이 에지 전에 안정되어 있고 리셋이 풀렸다고 가정합니다. 에지 사이에서 din이 바뀌어도 저장은 다음 상승 에지에서 이루어집니다.
| 샘플 순서 | din | 이전 q | 다음 q |
|---|---|---|---|
| 1 | 1 | 000 | 001 |
| 2 | 0 | 001 | 010 |
| 3 | 1 | 010 | 101 |
| 4 | 1 | 101 | 011 |
입력 문자열을 그대로 읽으면 안 되는 이유
네 번째 샘플 뒤 q=011은 최근 세 입력 0, 1, 1을 오래된 것부터 보여 줍니다. 첫 입력 1은 저장 폭을 넘어 빠졌습니다. 모든 입력의 이력을 보관하는 메모리와는 다릅니다.
실습 파일의 첫 din=0은 리셋 주기에 해당합니다. 이후 1, 0, 1, 1을 보는 네 샘플과 리셋 주기를 구분해서 번호를 붙이면 표와 파형을 맞추기 쉽습니다.
직접 생각해 보기
리셋 후 din에 1을 세 번 연속 넣으면 각 에지 뒤 q는 어떻게 될까요?
해설 보기
001 → 011 → 111입니다. 새 1은 매번 q[0]에 들어오고 이전 비트는 높은 번호로 이동합니다.
✓ 학습 완료