[디지털논리회로2] 6. 상태 축소와 할당

State Reduction and Assignment

 

상태 축소를 하는 이유는 사용하는 플립플롭의 갯수를 줄이게 되면 얻을 수 있는 이득이 증가하기 때문이다.

플립 플롭을 줄일수록 회로의 크기, Gate 수, 전력소모, 발열에서의 이득이 증가한다.

 

예로 플립플롭이 2개일 때와 3개일 때를 비교해보면

F/F 2개 : State는 00, 01, 10, 11로 총 4개의 상태가 존재하게 된다.

F/F 3개 : State는 000, 001, 010, 011, 100, 101, 110, 111로 총 8개의 상태가 존재하게 된다.

 

→ 같은 동작을 하는 State들은 하나만 남겨둔다.

이 때 주의할 점은 Next State(다음 상태)가 동일하며, Ext Output 또한 동일한 값을 갖는 Present State를 같은 동작이라 한다.

이 테이블에서 b=c가 성립하며 이 때 하나를 소거하여 상태를 축소한다.

 

처음 주어진 테이블에서 상태를 축소한 후에 다시 테이블을 작성했을 때 축소를 할 수 있는 경우가 또 발생할 수 있다. 그렇기 때문에, 축소를 한 후에 표를 정확히 작성하는 것이 중요하다.

조금 더 복잡한 테이블을 가지고 상태를 축소해 보면 다음과 같다.

상태 축소를 할 때 계속 명심해야 할 것은 Next State와 Ext Output이 같아야지만 축소할 수 있다는 것이다.

이 조건에 부합하는 Present State는 다음과 같다.

e=g

이에 따라 g를 e로 변환하고 Present State는 소거한다.

 

축소한 테이블이다. 이 때 축소할 수 있는 State가 있기 때문에 이를 다시 정리할 필요가 있다.

d=f

 

현재 상태가 c와 e를 봤을 때 Next State는 같으나 Ext Output이 동일하지 않다. 그 외에 축소할 상태는 더 보이지 않기 때문에 이 테이블이 우리가 원하는 최종 목적지임을 알 수 있다.