34 / 36 · 개념
작은 상태 기계 설계
상태·입력·다음 상태를 전이표로 정리합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
학습 목표
- 상태 전이표를 작성합니다.
- 현재 상태와 다음 상태를 분리합니다.
상태는 기억해야 할 정보를 나타냅니다.
요청을 받은 뒤 완료 신호를 기다리는 제어기는 IDLE과 BUSY로 표현할 수 있습니다. IDLE에서 start=1이면 BUSY로, BUSY에서 done=1이면 IDLE로 이동합니다.
입력 둘이 동시에 1일 때도 규칙이 필요합니다. 여기서는 현재 IDLE이면 start만, BUSY이면 done만 판단합니다. 리셋은 IDLE로 돌아갑니다.
| 현재 상태 | 조건 | 다음 상태 |
|---|---|---|
| IDLE | start=0 | IDLE |
| IDLE | start=1 | BUSY |
| BUSY | done=0 | BUSY |
| BUSY | done=1 | IDLE |
다음 상태를 계산한 뒤 에지에서 저장합니다.
조합 논리는 next_state를 계산하고 always_ff는 클록 에지에서 state<=next_state를 저장합니다. state만으로 정하는 출력은 Moore 방식, 현재 입력에도 의존하는 출력은 Mealy 방식이라고 합니다.
여러 클록 도메인의 신호를 직접 상태 전이에 쓰는 것은 이 예제의 범위 밖입니다. 이 강의에서는 모든 입력이 같은 클록에 맞춰 안정된다고 가정합니다.
직접 생각해 보기
현재 BUSY이며 start=1, done=0이면 다음 상태는 무엇인가요?
해설 보기
BUSY를 유지합니다. 이 상태에서는 done만 전이 조건입니다.
✓ 학습 완료