Simplification of StilCiitSequential...

Preview:

Citation preview

Chapter 9

Simplification ofS ti l Ci itSequential Circuits

9. Simplification of Sequential Circuits

9.1 State reduction: 함축표 법

9.2 State reduction: 등가 클래스 법

9 3 Choosing a State Assignment9.3 Choosing a State Assignment

9.1 State reduction

★ 상태할당 알고리즘(State assignment algorithm): 다음 조건들을 최대한 만족하는

상태들은 인접한 코드를 할당.

규칙1 : 동일한 차기 상태를 갖는 두 상태

규칙 2 : 하나의 상태로부터 천이되는 차기 상태들

규칙 3 동일한 출력을 내는 상태들규칙 3 : 동일한 출력을 내는 상태들

* 우선 순위 : 규칙 1 > 규칙 2 > 규칙 3

★등가 상태(State equivalence)

*Two states Sa and Sb, are equivalent iff for every possible input sequence, the t t th d th t t t i l toutputs are the same and the next states are equivalent.

* Properties:(1) 대칭성(Symmetry): If Sa = Sb , then Sb = Sa ( ) 대칭성( y y) ,(2) 재귀성(Reflexivity): If Sa = Sa , for any state

(3) 천이성(Transitivity): If Sa = Sb , and Sb = Sc , then Sa = Sc

9.1 State reduction: 함축표 법

★ 동기순서회로의 경제적 구현방법

1.상태수의 축소:

* 플립플롭 수가 작아진다.

* 등가인 상태들을 찾아 하나의 상태로 나머지 등가인 상태들을 대치하여 사용

2 효과적인 상태할당: 플립플롭 구동 게이트 수가 작아진다2.효과적인 상태할당: 플립플롭 구동 게이트 수가 작아진다

* 각 상태에 어떤 코드를 할당하느냐에 따라 게이트 수가 다르게 나타날 수 있음

★ 상태 감축법(State reduction)

1. 등가 클래스(Equivalence classes) 법:

* 주어진 입력에 대한 다음 상태 및 출력을 바탕으로 전체 상태를 같은 성질을

가진 상태 클래스로 분류하여 상태 수를 축소하는 방법

2 함축표(Implication chart) 법:2. 함축표(Implication chart) 법:

* 그래프를 이용하여 다음 상태 및 출력을 이용하여 전체 상태들 가운데서 등가가

아닌 상태를 제거하는 방법

9.1 State reduction: 함축표 법

★ 함축표 (Implication chart) 법

등가 상태가 될 가능성이 있는 상태를 짝으로 묶는 표를 구성하여 상태를 축소* 등가 상태가 될 가능성이 있는 상태를 짝으로 묶는 표를 구성하여 상태를 축소하는 그래프적 방법.

(S S ) (S S ) (S S ) (S S ) (S S ) (S S )(S0, S1), (S0, S2), … (S0, Sn), (S1, S2), (S1, S3), … (Sn-1, Sn)

Implies the possibility that S0 = S1

S1

S2

0 1

* 함축표: - 가로축: 전체 상태 중에서 마지막

상태를 제외한 나머지 상태를 좌에서 우

S3

S4

의 순서로 정렬

- 세로축: 전체 상태 중에서 처음 상

S5

S0 S1 S2 S3 S4

태를 제외한 나머지 상태를 상에서 하로의 순서로 정렬

9.1 State reduction: 함축표 법

S0 X 1 2 4 7 11

S1 1 X 3 6 8 12S1 1

S1 1 X 3 6 8 12

S2 2 3 X 6 9 13

S3 4 5 6 X 10 14

S2 2 3

S3 4 5 6

S4 7 8 9 10S3 4 5 6 X 10 14

S4 7 8 9 10 X 15

S5 11 12 13 14 15 X

S4 7 8 9 10

S5 11 12 13 14 15

S0 S1 S2 S3 S4 S5S0 S1 S2 S3 S4 S5

S0 S1 S2 S3 S4 S5

S1

S2

Implies the possibility that S0=S

1

S3

S4

S5

S0

S1

S2

S3

S4

9.1 State reduction: 함축표 법

S5 11 12 13 14 15 XS4 15

S4 7 8 9 10 X 15

S3 4 5 6 X 10 14

S2 2 3 X 6 9 13

S3 10 14

S2 6 9 13S2 2 3 X 6 9 13

S1 1 X 3 5 8 12

S0 X 1 2 4 7 11

S1 3 5 8 12

S0 1 2 4 7 11S0 X 1 2 4 7 11

S0 S1 S2 S3 S4 S5S0 S1 S2 S3 S4 S5

함축표 그리기 매우 불편!!!

9.1 State reduction: 함축표 법

차기상태

* 상태 축소 과정(State reduction procedures)

S

Implies the possibility that S0 = S1

현재상태

차기상태

x = 0 z x = 1 z

S1

S2

상태

S0

S1

S4

S5

00

S3

S3

10

S3

S1

S2

S3

S4

S

5

S4

S5

S2

S

0000

3

S1

S1

S5

S

1010

S4

S5

S5 S1 0 S2 0

표 상태표

S0 S1 S2 S3 S4

표 채워지지 않은 함축표표. 상태표 표. 채워지지 않은 함축표

[Step 1]: 주어진 상태표로부터 채워지지 않은 함축표 작성(함축표 내의 사각형은 등가 상태가 될 가능성이 있는 상태들의 조합을 나타냄)

9.1 State reduction: 함축표 법

차기상태S1

현재상태 x = 0 z x = 1 z S2

S

S1, S3

S SS0

S1

S2

S

S4

S5

S4

S

0000

S3

S3

S1

S

1010

S3

S4

S1, S3

S2, S4S

3, S

5

S2, S4S

1, S

5S3

S4

S5

S5

S2

S1

000

S1

S5

S2

010

S5

S0 S1 S2 S3 S4

S1, S5S

2, S

3

S1, S5S

1, S

2

표. 상태 표

0 1 2 3 4

표. 함축표

[Step 2]: 함축표에 나타난 각각의 사각형에 대하여 출력이 서로 다른 사각형에‘X’표 표시 (서로 같을 수 없음을 나타냄)

[Step 3]: 나머지 사각형에 대하여 2가지 상태가 같아질 조건을 표시

9.1 State reduction: 함축표 법

S1

S2

S

S1, S3

S S

S1

S3

S4

S1, S3

S2, S4S

3, S

5

S2, S4S

1, S

5

S2

S

S1, S3

S S

S5

S0 S1 S2 S3 S4

S1, S5S

2, S

3

S1, S5S

1, S

2

S3

S4

S1, S3

S2, S4S

3, S

5

S2, S4S

1, S

50 1 2 3 4

표. 함축표S5

S0 S1 S2 S3 S4

S1, S5S

2, S

3

S1, S5S

1, S

2

[Step 4]: 각각의 사각형 내에 표시된 함축된 등가 상태 조건을 검사하여 서로같아질 수 없는 쌍이 존재하는 사각형은 ‘X’로 표시

0 1 2 3 4

[Step 5]: 최종적으로 남은 사각형을 나타내는 상태만이 등가 상태를 구성S0 = S2, S1 = S3

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

10/0

A11/1

00/0; 11/100/0

01/0 11/1

B C01/0

01/0

00/010/0

D E

10/1 00/0;01/0;11/1

00/0

10/1 11/1

D E

10/0

00/0

01/0

9.1 State reduction: 함축표 법

차기상태, xy/z

현재상태 00 z 01 z 11 z 10 z

A B 0 C 0 B 1 A 0BCDE

EACC

0000

CBDC

0000

BCAC

1111

DDBE

1100E C 0 C 0 C 1 E 0

표. 상태표

9.1 State reduction: 함축표 법

B B

C

D

B, CA, E

B C;

C

D

B, CA, E

B C;D

EA, EB C

B, C;D, C, A, B

C, D; B, EA C

D

EA, EB C

B, C;D, C, A, B

C, D; B, EA C

A B C D

B, C A, C

함축표 처리결과

A B C D

B, C A, C

함축표 처리결과

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

차기상태, xy/z

현재상태 00 z 01 z 11 z 10 z

AB

BE A

00

CC

BB

00

BB

11

AD

01B

C BDE A

EACC

A

BB

0000

CBDC

B

B

0000

BCAC

B

B

1111

DDBE A

1100

차기상태, xy/z

수정된 상태표

현재상태 00 z 01 z 11 z 10 z

S0S1

S1S0

00

S1S1

00

S1S1

11

S0S2

011

S2

0S1 0

1S2 0

1S0 1

2S1 0

상태명을 변경한 후의 간략화된 상태표

9.1 State reduction: 함축표 법

10/0

S0

11/1

00/0

00/0, 01/0, 11/1

S1 S210/1

00/0, 10/0

01/0, 11/1

01/0

간략화된 Mealy 상태도

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

9.1 State reduction: 함축표 법

현재상태

차기상태, x/Z2Z1

0 Z Z 1 Z Z상태 x = 0 Z2 Z1 x = 1 Z2 Z1

01

04

00

00

12

00

001

2345

47265

00010

00101

21654

00101

000015

678

5138

0010

1101

4687

1101

10018 8 0 1 7 1 1

표 6.3.4.3 상태표

9.1 State reduction: 함축표 법

0, 41, 2

10, 41, 2

1

0, 7

3

21, 24, 7

0, 7

3

21, 24, 7

5

4

5

4

6

7

1, 2

3, 65, 8

6

7

1, 2

3, 65, 8

8

0 1 2 3 4 5 6 7

5, 84, 7

표 6 3 4 3의 함축표 표 6 3 4 3에 대한 완성된 함축표

8

0 1 2 3 4 5 6 7

5, 84, 7

표 6.3.4.3의 함축표 표 6.3.4.3에 대한 완성된 함축표

9.1 State reduction: 함축표 법

차기상태

현재상태

차기상태

x = 0 Z2 Z1 x = 1 Z2 Z12 1 2 1

01

04

00

00

12 1

00

001

2 1345

47 42 16 35

00010

00101

2 116 354

00101

000015

6 37 48 5

5138 5

0010

1101

46 38 57 4

1101

10018 5 8 5 0 1 7 4 1 1

수정된 상태표

9.1 State reduction: 함축표 법

차기상태

현재상태 x = 0 Z2 Z1 x = 1 Z2 Z1

ABCD

ADBC

0001

0010

BBCE

0010

0000D

ECE

10

01

ED

01

01

상태명을 변경한 후의 간략화된 상태표

9.2 State reduction: 등가 클래스 법

차기상태

★ State reduction procedures 예제

차기상태

현재상태

차기상태

x = 0 z x = 1 z현재상태

차기상태

x = 0 z x = 1 z상태

S0

S1

S4

S5

00

S3

S3

10

상태

S0

S2

S4

S4

00

S3

S1

111

S2

S3

S4

S

5

S4

S5

S2

S

0000

3

S1

S1

S5

S

1010

2

S4

S1

S3

S

4

S2

S5

S5

S

0000

1

S5

S3

S1

S

1000S5 S1 0 S2 0

표 상태 표

S5 S1 0 S2 0

표 상태 표의 분류표 6.3.4.1 상태 표 표 6.3.4.1 상태 표의 분류

[Step 1-1]: 동일한 입력에 대하여 동일한 출력을 가지는 상태끼리 분류C1= (S0, S2, S4) , C2= (S1, S3, S5)

9.2 State reduction: 등가 클래스 법

* State reduction procedures

현재상태

현재상태

차기상태

x = 0 z x = 1 z

차기상태

x = 0 x = 1

C1

S0

S2

C1

C1

C2

C2

상태 x = 0 z x = 1 z

S0

SS4

S00

S3

S11 C1

C2

S2

S4

S1

S3

C1

C1

C2

C2

C2

C2

C2

C2

S2

S4

S1

S3

S4

S2

S5

S5

0000

S1

S5

S3

S1

1100

S5 C2 C1

표 상태 표 1 등가 차기 클래스표

3

S5

5

S1 01

S2 0

표 6.3.4.1 상태 표 1-등가 차기 클래스표

[Step 1-2]: 분류된 상태표로부터 1-등가 차기 클래스표 작성

9.2 State reduction: 등가 클래스 법

차기상태 차기상태

현재현재상태 x = 0 x = 1 x = 0 x = 1

현재상태

C11S0

S2

S

C11

C11

C

C21

C21

CC1

S0

S2

S

C1

C1

C

C2

C2

C

C21

C22

S4

S1

S3

S5

C11

C22

C22

C21

C22

C21

C21

C11

C2

S4

S1

S3

S5

C1

C2

C2

C2

C2

C2

C2

C1

2 등가 차기 클래스표 1 등가 차기 클래스표

5 2 1

2-등가 차기 클래스표 1-등가 차기 클래스표

[Step 2]: 1-등가 차기 클래스표를 이용하여 Step-1에서와 같은 방법으로2-등가 차기 클래스표 작성

9.2 State reduction: 등가 클래스 법

차기상태차기상태

현재상태 x = 0 x = 1

현재상태 x = 0 x = 1

S0

S2

S4

S

C111

C112

C112

C112

C111

C

C211

C211

C221

C

C11S0

S2

S

C11

C11

C

C21

C21

C S1

S3

S5

C211

C221

C221

C221

C211

C211

C211

C111C21

C22

S4

S1

S3

S5

C11

C22

C22

C21

C22

C21

C21

C11

3-등가 차기 클래스표

2 등가 차기 클래스표

[Step 3]: 2-등가 차기 클래스표를 이용하여 Step-1에서와 같은 방법으로

2-등가 차기 클래스표

3-등가 차기 클래스표 작성

9.2 State reduction: 등가 클래스 법

차기상태

현재상태 x = 0 x = 1

S0

S2

S4

S

C111

C112

C112

C112

C111

C

C211

C211

C221

CS1

S3

S5

C211

C221

C221

C221

C211

C211

C211

C111

4-등가 차기 클래스표

[St 4][Step 4]: * k-등가 차기 클래스표를 이용하여 Step-1에서와 같은 방법으로

(k+1)-등가 차기 클래스표 작성

* k-등가 차기 클래스표와 (k+1)-등가 차기 클래스표 가 같으면 멈춤

9.2 State reduction: 등가 클래스 법

차기상태

현재상태 x = 0 x = 1

S0

S2

S4

S

C111

C112

C112

C112

C111

C

C211

C211

C221

CS1

S3

S5

C211

C221

C221

C221

C211

C211

C211

C111

4-등가 차기 클래스표

[Step 5]: (k+1) 등가 차기 클래스표 내의 각각의 클래스에 속하는 상태를 같은 상태로 할당* (k+1)-등가 차기 클래스표 내의 각각의 클래스에 속하는 상태를 같은 상태로 할당

* 최종 상태 4가지: S0 = S2, S1= S3 , S4, S5

* 같은 상태로 할당된 상태를 바탕으로 상태표를 다시 작성

9.2 State reduction: 등가 클래스 법

차기상태

현재상태 x = 0 z x = 1 zS0

SS4

S00

S3 S1

S S10

S0 = S2, S1= S3S1

S2 S0

S3 S1

S4

S5

S4

S5

S2 S0

0000

S3 S1

S1

S1

S5

01014

S5

2 0

S1 05

S2 S0 0

차기상태

수정된 상태표

현재상태 x = 0 z x = 1 z

S0 S4 0 S1 1S1

S4

S5

S5

S0

S1

000

S1

S5

S0

010 간략화된 상태표

9.2 State reduction: 등가 클래스 법

P0 = (A)(B)(C)(D) P8 = (AC)(BD)

P1 = (AB)(C)(D)

P2 = (AC)(B)(D)

P9 = (AD)(BC)P10 = (ABC)(D)

2 ( )( )( )

P3 = (AD)(B)(C)P11 = (ABD)(C)P12 = (ACD)(B)

P4 = (A)(BC)(D)

P5 = (A)(BD)(C)

12 ( )( )P13 = (A)(BCD)PN = (ABCD)5

P6 = (A)(B)(CD)

P (AB)(CD)

PN (ABCD)

P7 = (AB)(CD)

9.2 State reduction: 등가 클래스 법

9.2 State reduction: 등가 클래스 법

9.2 State reduction: 등가 클래스 법

• Pa Pb if and only if all states in the same block of Pb are also in the same block of P .in the same block of Pa .

• Two states are in the same block of product Pc if and only if they are in the same block of both P and Pthey are in the same block of both Pa and Pb .

• Two states are in the same block of the sum Pd if they are in the same block of either P or P or bothsame block of either Pa or Pb or both.

Step 1: For each pair of states, find the smallest SP partition that h i h bl kputs those two states in the same block.

Step 2: Find the sum of all of the SP partitions found in step 1 and, if new ones are found, repeat step 2 on these new ones.

9.2 State reduction: 등가 클래스 법

(AB) (CD) (AB)(CD) = P1

(AC) (AB) (CD) (ABCD) = PN(AC) (AB) (CD) (ABCD) PN

(AD) (BC) (AD)(BC) = P2(BC) (AD) (AD)(BC) = P(BC) (AD) (AD)(BC) = P2(BD) (AB) PN(CD) (AB) (AB)(CD) = P1

9.2 State reduction: 등가 클래스 법

9.2 State reduction: 등가 클래스 법

P1 = (ACE)(B)(D) P5 = (A)(B)(CE)(D)P1 (ACE)(B)(D) P5 (A)(B)(CE)(D)P2 = (ADE)(BC) P6 = (ACE)(BD)P3 = (AE)(B)(C)(D) P7 = (AE)(BD)(C)P4 = (A)(BD)(C)(E) P8 = (A)(BD)(CE)

9.2 State reduction: 등가 클래스 법

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

P1 = (AB)(C)(DF)(E) P6 = (AB)(CE)(DF)1 ( )( )( )( ) 6 ( )( )( )P2 = (ABC)(DEF) P7 = (ABDF)(C)(E)P3 = (AD)(B)(C)(E)(F) P8 = (ABDF)(CE)P4 = (AF)(BD)(C)(E) P9 = (AD)(BF)(C)(E)P5 = (A)(BF)(C)(D)(E)

9.3 Choosing a State Assignment

P1 = (AB)(C)(DF)(E) P9 = (AF)(BCDE)1 ( )( )( )( ) 9 ( )( )

1 1 2 2 2D x q D xq x q

9.3 Choosing a State Assignment

3 2 3 1 2 1 3D x q q xq q z x q xq

State Assignment algorithm

State Assignment algorithm

* Some simple guidelines for obtaining state assignments

(1) Rule I: Two or more present states that have the same next state for a given input combination should be made adjacent.

(2) Rule II: For any present state and two adjacent input combinations, the two next states should be made adjacent.

(3) Rule III: Tow or more present states that produce the same output symbol, I.e., 0 or 1, for a given input combination should be made adjacent. This rule need only be applied to one of the output symbols.

* Priorities: Rule I > Rule II > Rule III 의 순서로 우선

Some simple guidelines for obtaining state assignments

(1) Rule I: Two or more present states that have the same next state for a given input combination should be made adjacent.

01/Z

A

00 01 11 10F0

F2F1

01/ZB

C

E01/Z01/Z

0 2 6 4

00 01 11 10

0

F0

CA

D

C01/Z

1 3 7 5

1 DB

[상태할당 규칙 1의 예](a) 부분 상태도 (b) K-Map

Some simple guidelines for obtaining state assignments

(2) Rule II: For any present state and two adjacent input combinations, the two next states should be made adjacent.

B

C00 01 11 10F0

F2F1

C

D

A0

1

2

3

6

7

4

5

00 01 11 10

0

0

EDCB

E

1 3 7 5

1

[상태할당 규칙 2의 예](a) 부분 상태도 (b) K-Map

Some simple guidelines for obtaining state assignments

(3) Rule III: Tow or more present states that produce the same output symbol, i.e., 0 or 1, for a given input combination should be made adjacent. This rule need only be applied to one of the output symbols.This rule need only be applied to one of the output symbols.

9.3 Choosing a State Assignment

차기상태차기상태 및 출력

상태 X = 0 X = 1

A A/0 C/0

현재상태 x = 0 x = 1

A A CABCD

A/0C/1A/1B/0

/

C/0D/0F/1E/0/

ABCD

ACAB

CDFE

EF

C/0D/0

C/1E/1

EF

CD

CE

표9 상태표에 출력이 포함된 경우 및 포함되지 않은 경우

★ Unused states의 처리★ Unused states의 처리* Don’t care로 처리: 간단* 초기 상태로 처리: 만일의 사태에 대비할 수 있음

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

00 01 11 10F1

F3F2

00 01 11 10F1

F3F2

0

1

2

3

6

7

4

5

0 CDFA0

1

2

3

6

7

4

5

00 01 11 10

0

1

EBFA

1 BE1 3 7 5

1 DC

(a) 상태할당 #1 (b) 상태할당 #2

0 2 6 4

00 01 11 10F1

F3F2

(a) 상태할당 #1 (b) 상태할당 #2

1 3 7 5

1

0

E B

FA

D

C

1 E BD

(c) 상태할당 #3

표 9에 대한 상태할당 맵

9.3 Choosing a State Assignment

상태 F3 F2 F1 상태할당 3

AB

01

00

01

상태할당 1ABC

001

010

010

BCDE

1000

0110

1011

CDEF

1100

0101

0010

Fd*

d*

111

011

001

d*

d*

11

01

11

상태할당 2

* 무관항(Don’t care) 상태

상태할당 2ABCD

0101

0100

0011

표 9에 대한 3가지 상태할당 방법DEFd*

1100

0011

1001

d* 1 1 1

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

9.3 Choosing a State Assignment

* 표 9에 대한 2진 상태 할당

상태 F3 F2 F1

ABCD

0000

0011

0101D

EFd

0111

1001

1010

d 1 1 1

9.3 Choosing a State Assignment

차기상태

현재상태 X 0 X 1

* State assignment techniques

현재상태 X = 0 X = 1

F2 F1 D2 D1 D2 D1

상태할당 1

차기상태

상태할당 1

ABC

001

010

001

0/00/01/0

010

1/00/01/0

상태표

현재상태

차기상태

x = 0 x = 1

A A/0 B/0

D 1 1 0/

0/1 0/

1/0

상태할당 2

A 0 0 0 0/0 0 1/0

BCD

A/0D/0A/1

C/0B/0B/0

BCD

011

110

010

0/00/00/1

100

1/01/01/0

상태할당

9.3 Choosing a State Assignment

No of stateNo. of state

variables No of nonequivalentNo. of state(N)

variables(M)

No. of nonequivalentstates (S)

2 1 12345

1223

133

1406789

3334

420840840

10 81×1069101620

4445

10.81×106

75.67×106

54.48×109

143.14×1021

Nonequivalent state assignment possibilities for example stateand state

Recommended