Altifigence Academy

34 / 36 · 개념

작은 상태 기계 설계

상태·입력·다음 상태를 전이표로 정리합니다.

학습 목표

  • 상태 전이표를 작성합니다.
  • 현재 상태와 다음 상태를 분리합니다.

상태는 기억해야 할 정보를 나타냅니다.

요청을 받은 뒤 완료 신호를 기다리는 제어기는 IDLE과 BUSY로 표현할 수 있습니다. IDLE에서 start=1이면 BUSY로, BUSY에서 done=1이면 IDLE로 이동합니다.

입력 둘이 동시에 1일 때도 규칙이 필요합니다. 여기서는 현재 IDLE이면 start만, BUSY이면 done만 판단합니다. 리셋은 IDLE로 돌아갑니다.

현재 상태조건다음 상태
IDLEstart=0IDLE
IDLEstart=1BUSY
BUSYdone=0BUSY
BUSYdone=1IDLE

다음 상태를 계산한 뒤 에지에서 저장합니다.

조합 논리는 next_state를 계산하고 always_ff는 클록 에지에서 state<=next_state를 저장합니다. state만으로 정하는 출력은 Moore 방식, 현재 입력에도 의존하는 출력은 Mealy 방식이라고 합니다.

여러 클록 도메인의 신호를 직접 상태 전이에 쓰는 것은 이 예제의 범위 밖입니다. 이 강의에서는 모든 입력이 같은 클록에 맞춰 안정된다고 가정합니다.

직접 생각해 보기

현재 BUSY이며 start=1, done=0이면 다음 상태는 무엇인가요?

해설 보기

BUSY를 유지합니다. 이 상태에서는 done만 전이 조건입니다.

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