본문 바로가기
디지털 논리회로

디지털 논리회로 / Moore FSM과 Mealy FSM의 장단점

by clean_h 2021. 5. 3.
728x90

Moore FSM과 Mealy FSM

Machine종류에는 moore machine mearly machine이 있다.

  • Mealy machine : 출력이 현재 상태와 입력 모두에 의해서 결정된다. Glitch lssue에 의해 문제가 생길 수 있다.
  • Mealy FSM : arcs indicate input / output
  • Moore machine : 출력이 현재 상태에 의해서만 결정이 된다. Glitch issue 없이 안정적이다. 대부분의 system에서는 moore machine을 선호한다. 현재의 상태에만 의존을 하기 때문에 지금의 입력엔 무관하다.

 

좌측 : Moore machine, 우측 : Mealy machine

    

 

Moore machine state에는 output이 정의 되어있다. Mealy machine에는 ‘/’을 이용하여 input/output처럼 구분하여 사용하게 된다.

또한 moore machine state transition tableoutput table을 따로 나눠서 그릴 수 있고, mealy machinestated transition tableoutput table을 같이 한번에 표로 나타낼 수 있다.

Moore FSMstate machine 설계가 직관적이어서, 현재 state에 의해서만 결과값이 출력되므로 이해하기 쉬운 반면에 mealy FSM은 직관적이지가 않아, 이해하기 어렵다는 단점이 있다. 그러나 mealy FSM은 같은 동작을 표현할 때 moore FSM보다 적은 state를 갖게 된다는 장점을 가지게 되고 Mealy FSM은 더 많은 state를 가지게 되므로 단점이라 할 수 있다. 그래서 Moore FSM을 기준으로 Mealy FSM을 응용하면 좀 더 최적의 모델을 구현할 수 있다.

 

Ring counter에 대하여 조사하고 설명한다.

Ring counter clock이 발생할 때 마다 카운터 출력으로 1 shift되는 counter이다. 카운터 출력 중 오직 한 출력만 1이 발생하므로 카운터 값을 디코딩 하지 않아도 10진 변환이 가능하다. Ring counter을 사용하게 되면 decoding logic이 필요 없다. Clock이 발생하면 1이 이동하게 되므로 해당 10진 출력만 1이고 나머지는 모두 0이 된다. 따라서 출력 값만 보면 clock이 몇 개 발생했는지 알 수 있다.

비트 2진 카운터의 경우, 계수 범위가 0~(2^n-1)인 반면에 n비트 ring counter의 계수 범위가 0~(n-1)이다. 따라서 계수 범위가 매우 작다. 동일한 계수 범위를 갖기 위해서는 ring counter의 플립 플롭의 개수가 많이 필요하다.

 

728x90

댓글