ece465 fsm state minimization for completely specified machines shantanu dutt acknowledgement:...

25
ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes (some modifications made by Prof. Dutt)

Upload: fernando-maggart

Post on 15-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

ECE465

FSM State Minimization for Completely Specified Machines

Shantanu Dutt

Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes(some modifications made by Prof. Dutt)

Page 2: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

State Minimization of Seq. Ckts.

Removal of redundant states Important because:

Cost(a): # of FFs # of states Cost(b): logic complexity # of states Easier to diagnose faults if there are no redundant states

Example: Odd-parity detection

0 (even) 1 (odd)

Reset 1/1

1/0

A

B

C

D0/0 0/1

1/1

1/00/0 0/0

1/01/1

0/1

0/1Minimal FSM Non-minimal FSM

Can this sub-optimal design be corrected by systematic techniques?

Reset

Page 3: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Definitions

Two states Si and Sj are 1-equivalent, if any input sequence (can be multiple bits) of length 1 produce identical output responses.

Two states Si and Sj are k-equivalent, if any input sequence of length k produces identical output sequences.

Example 1

0 1

A C/1 B/0

B C/1 E/0

C B/1 E/0

D D/0 B/1

E E/0 A/1

Initial State.

Input sequence

00 01 10 11

A 11 10 01 00

B 11 10 00 01

C 11 10 00 01

D 00 11 01 10

E 00 11 01 10

2-equiv.

Page 4: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Examples (contd.)

Example1 (contd.)

Init. St.

Input sequence

000 001 010 011 100 101 110 111

A 111 110 100 101 011 010 000 001

B 111 110 100 101 000 001 011 010

C 111 110 100 101 000 001 011 010

D 000 001 011 010 111 110 100 101

E 000 001 011 010 111 110 101 100

3-equiv.

General formulation for number of i/p sequence of length k for m i/p bits: 2mk

Page 5: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Examples (contd.)

Example 2: Parity detection

A

B

C

D

1/1

1/00/0 0/0

1/01/1

0/1

0/1

Init.st.

Input Sequence

00 01 10 11

A 00 01 11 10

B 00 01 11 10

C 11 10 00 01

D 11 10 00 01

2-equiv.

R

Page 6: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Definitions (Contd.) Basic Definition: States Si,……,Sj of a seq. ckt. are said to be

equivalent if and only if for every possible i/p seq. of any length, the o/p’s produced by the ckt will be identical irrespective of whether the ckt is in states Si,……,Sj when the i/p seq. starts.

Si,……,Sj are k-equivalent for all k Alternative (and more practical!) definition for equivalence:

Si and Sj are equiv. if and only if for every possible i/p Ip of length 1

(i) The o/p’s produced by states Si = o/p’s produced by Sj.

(ii) The next states Sk for Si and Sl for Sj are equivalent.

Definition: Implied pairs (or implied next-state [NS] pairs) of a pair of states Si, Sj is a pair of states Sk,Sl which are N.S.’s of Si and Sj for the same 1-length I/P Ip

This is a recursive definition that helps in detecting more equiv. states once some sets of equiv. states are detected.

Si

Sj

Sk

Sl

0/1

0/1

Sp

Sq1/0

1/0Implied pairsof Si, Sj

Implied pairsof Si, Sj

Page 7: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Equivalent State Detection Using the 2nd State Equiv Defn

Idea 1: Using defn. 2’s negation—Si, Sj are non-equiv. if any of their implied pairs are

not equiv. (i.e., not k-equiv. for some k), iteratively find non-equiv state pairs Stop when no more non-equiv state pairs cannot be found The remaining state pairs are equivalent (a la Sherlock Holmes!—after all

alternatives are eliminated the remaining possibility has to be correct, however, implausible it may seem to be)

This is the partitioning method Idea 2:

Bootstrap the equiv state-pair finding process by finding a base & easy-to-detect-&-verify pattern that implies equivalency, e.g., see the foll. pattern which implies equiv. of states B and C:

Use these initial pair of equiv states to

determine other equiv state pairs

using defn. 2. This is the implication table method

B CState pair

0/1

0/1

E

1/0

1/0

Page 8: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Definitions (Contd.) The second definition is the same as the first one

Necessity for (i) is clear Necessity for (ii), let Sk, Sl not be equivalent

=> There is an input seq. I1,……,It that produces different o/p’s starting from states Sk and Sl

=> The seq. Ip, I1,……,It produces diff. o/p starting from Si and Sj

=> Si, Sj are not equiv. Sufficiency

Si

Sk1

Ip1/Op

1

O/P O1

Sk2

O2

Sj

Sl1

Ip1/Op

1

O1

Sl2

O2

… …

Same

Equiv.

Equiv.

Equiv.• Consider any i/p seq Ip, I1,……,It • After recv’ing Ip Si & Sj produce the same o/p and fo to equiv states (by defn) Sk

p & Slp

• Since Skp & Slp are equiv states, seq I1,……,It will produce identical o/ps from either state• Thus Si & Sj produce identical o/ps for any arbitrary seq, and are thus equivalent

Page 9: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Definitions (Contd.)

For a set S of elements, a binary relation R is a set of ordered pairs (Si, Sj) s.t. Si, Sj belong to S, and SiΔSj, where Δ is the actual relation represented by R

A relation R on elements of S is reflexive if xΔx, e.g., Δ is ≤, state equivalency (SE)

A relation R on elements of S is symmetric if xΔy yΔx, e.g., Δ is =, SE A relation R on elements of S is transitive if xΔy and yΔz xΔz

e.g., ≤, SE A relation R on elements of S is equivalent if it is reflexive,

symmetric and transitive. Example: sibling relationship, =, SE A relation R is a compatibility relation if it is reflexive and

symmetric. Example: friendship, gcd (greatest common divisor) > 1

Page 10: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Definitions (Contd.) Note 1: If there is an equivalence relation R on a set S, the the

elements of S can be partitioned into disjoint subsets called equivalence classes, where elements in each subset are related to each other by relation R:

Important concept for completely specified FSMs—each equiv. class of equiv. state does not conflict w/ any other class, and thus can replace each equiv. class in a well-defined way by a

single state Note 2: If there is a compatibility relation R on a set S, then R defines subsets of

S referred to as compatibility classes (the elements in a subset Si are related to each other by R). These subsets are not disjoint, in general.

Important concept for incompletely specified FSMs—need to find maximal set of mutually compatible states for maximum reduction in the # of states

Equivalent classes are disjoint Compatibiity classes may intersect

Page 11: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Minimization Method for Completely Specified FSMs Two methods. Partitioning and Implication Table The Partitioning Method:

Use condition (i) of the alternative equivalency defn to determine initial partition P1=subsets/blocks of 1-equiv. states;/* k-equivalency & equivalency are equivalence classes */i=0;Repeati = i+1; For each subset/block Cj in Pi do Begin

Two or more states in Cj are placed in the same block of Pi+1 iff for each I/P value of length 1 their next states lie in the same block of Pi. Otherwise, the relevant states are separated into diff. blocks based on where their next states lie.

EndPi+1=set of all new blocks created. /* each bl. contains (i+1)-equiv states */

Until (Pi=Pi+1) /* Note: this uses condition (ii) of the alternative equivalency defn to construct equivalent state sets */

Page 12: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method (contd)

Let Pk be the final partition

Pk is an equivalence relation.

All blocks in Pk contain equivalent sets

Eliminate all but one state in each block Ci denoted repr(Ci) of Pk and reduces the FSM as follows A) For arc(s) from states in Ci to a state in Cj, draw an arc (w/

the same input/output values) with same labels from repr(Ci) to repr(Cj). Do not duplicate arcs.

b) Resulting FSM is minimized.

Page 13: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method: Example 1

A

B

C

D

1/1

1/00/0 0/0

1/01/1

0/1

0/1Non-minimal STD

P1=(A,B) (C,D)

P2=(A,B) (C,D)

No change from P1; stop

A D

Reset 1/1

1/0

0/0 0/1

Minimal STD

P1=(A,B) (C,D)

X=0: NS: B A C DX=1: NS: C D A B

Page 14: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method: Example 2

A/1E/0E

B/1D/0D

E/0B/1C

E/0C/1B

B/0C/1A

10 P1=(A,B,C) (D,E)X=0 C C B D EX=1 B E E B A

N.S.’sNeed to check for each I/P of length 1

P2=(A) (B,C) (D,E)X=0 C B D EX=1 E E B A

N.S. will not change, but whether N.S.’s belong to same blocks will

P4=(A) (B,C) (D) (E)

= P3

X=0 C BX=1 E E

P3=(A) (B,C) (D) (E)

A/1E/0E

B/1D/0D

E/0B/1B

B/0B/1A

10

Page 15: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method—Why It works (basic idea)? Lemma 1: If there are two states A1, B1 that are k-equiv. but not

(k+1)-equiv then the algorithm will detect this in iteration k Proof: By definition of (k+1)-equivalency, A1, B1 will have at least

one implied next-state pair (A2, B2) that are (k-1)-equiv but not k-equiv (otherwise A1, B1 will be (k+1)-equiv.)

In iteration k, A2, B2 will be in diff. blocks (assuming lemma true for smaller values of k—proof by induction)

this will be detected in iter. k, and A1, B1 will thus be separated in diff. blocks at the end of iter. k.

Theorem 1: All blocks contain equivalent states after the algorithm terminates.

Proof: Suppose not for 2 states X, Y that are in the same block when algo terminates, and let algo terminate in iter. m.

By Lemma 1, X, Y are at least m-equiv. By our assumption, then there must be a j >= m s.t.. X, Y are

j-equiv but not (j+1)-equiv. By Lemma 1, the algo will catch this in iter. j. By Lemma 1, if we run the algo up to iter. j, the algo will

separate X, Y in separate blocks in this iter. However, algo terminated in iter. m means Pm = Pm+1.

If we run the algo for more iterations, its partition input remains unchanged compared to iter. m, and it will thus producing the same result as iter. m

We will get:: Pm = Pm+1 = Pm+2 = ……. = Pj+1. Thus X,Y remains in the same block in iter. j X, Y are (j+1)-equiv and we reach a contradiction w/ our assumption. Theorem 1 has to be true

A1

A2

B1

B2

(k-1)-equiv, but

not k-equiv.

k-equiv, butnot (k+1)-equiv.

Page 16: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method—Why It works? (detailed proofs) Lemma 1: If there are two states that are k-equiv. but not (k+1)-equiv

then the algorithm will detect this in iteration k Proof by induction

Basis (k=0): Not 1-equiv. is caught at iteration 0 (before iteration 1, i.e., when forming P1)

Hypothesis: True for k=m To prove for k=m+1: Use property: If two states A1 and B1 are

(m+1)-equiv but not (m+2)-equiv., at least one of their N.S. pairs (A2, B2) has to be m-equiv. but not (m+1)-equiv. Can be easily proved by contradiction—do as an exercise. A1

A2

Am+1

Am+2

B1

B2

Bm+1

Bm+2

m equiv.

1 equiv.m

Hence, by ind. hypothesis, A2 and B2 are in diff. blocks of Pm+1 (i.e., their non-(m+1)-equiv. is detected in iter m) according to the hypothesis

Thus, by the procedure, A1 and B1 will be in diff. blocks of Pm+2 at the end of iteration m+1, i.e., their non-(m+2)-equiv is detected in iter m+1

not 1 equiv.

Page 17: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Partitioning Method (contd) Theorem 1: All blocks contain equivalent states after the algorithm

terminates. Proof: Assume the program terminates at iteration m Following lemma 1, if two states are not i-equiv. for I ≤ m, they are

put into different blocks. Since Pm+1=Pm, for any future iteration j (j>m), i.e., if we were to

run the procedure up to iteration j, the partition will not change: we will get

Pm= Pm+1= Pm+2 = …… = Pj If any two states in Pk are not equiv they are not j-equiv. for j >

m, they will be put in two blocks in iteration j > m procedure will continue till at least iteration j >m Pm+1 != Pm, (otherwise the partitions will never change after Pm) and we reach a contradiction. Thus all states in a block are equivalent.

Theorem 2: All equivalent states are in the same blocks, i.e., two equivalent states will not be in different blocks. Proof Outline: Follows from the procedure: If two states are in

different blocks, then they were detected as not k-equivalent for some k, and thus are not equivalent. Thus no 2 equivalent states can be in different blocks after the procedure terminates. Hence each block will contain the maximal set of equivalence states, i.e., each block is an equivalence class

Page 18: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

State Minimization—Implication Table Method Definition

Implied pairs of a pair of states Si, Sj is a pair of states Sk,Sl which are N.S.’s of Si and Sj for the same 1-length I/P Ip

Implication Table Procedure (good manual method for small problems) Step 1: Form an implication table (a diagonaled square) by

vertically listing all states except the first, and horizontally listing all states except the last.

A/1E/0E

B/1D/0D

E/0B/1C

E/0C/1B

B/0C/1A

10B

C

D

E

A B C D

Step 2: Put X’s for state pairs in the table that are not 1- equiv.

Page 19: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Implication Table Procedure

Step 3: Use cond. (ii) of defn. 2 for equiv. states for other squares.

A/1E/0E

B/1D/0D

E/0B/1C

E/0C/1B

B/0C/1A

10

DCBA

E

D

C

AB

BCBE

BEB

Step 3: a) Put a ‘\/’ mark if the implied pairs in a cell:

either contains only the states that define the cell or is the same state (e.g., (E,E))—singleton states

b) For the remaining cells, write all implied pairs (do not include the same state pair and singleton states as they do not contribute to non-equivalency) of the states defining the cell that not meet the above two conditions

B CState pair

0/1

0/1

E

1/0

1/0

Page 20: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Implication Table Procedure (contd) Step 4:

Repeat Put a mark ‘\/’ if all implied pairs have the mark ‘\/’ in

their cell Put a X if any implied pair has an X in its cell

Until no change. Step 5: Remaining cells (w/ only implied states or ‘\/’) are

equiv. Note: Cells w/ only implied pairs form closed systems (see

defn in next slide) of implied pairs w/ neither ‘\/’ nor X marks in them. I/Ps to any state pairs in this system will either: remain in the closed system producing identical o/ps

(since these state pairs are at least 1-equivalent) or go out of the system to either:

(a) singleton states o (b) equivalent states,

and from thereon also produce identical o/ps. Thus these state pairs are equivalent.

• Form the largest equivalent sets by transitivity: (Si, Sj) and (Sj, Sk)=>(Si, Sj, Sk)

• Note: (Si, Sk) will also be equivalent from the implication table, since “state equivalence” is an equivalence relation

A3B3

AB

A1B1

A2B2Equiv. states

(a)

Equiv. states Non-equivstates

UV

U1V1U2V2

X

(b)

A1,B1

E,E

C,D

Closed System

Equiv. states

Sin

gle

ton

sta

te

Implicationarc

(c)

A2,B2

A3,B3

A4,B4

X,Y

Eq

uiv

. st

ate

s

Page 21: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Implication Table Procedure

A/1E/0E

B/1D/0D

E/0B/1C

E/0C/1B

B/0C/1A

10

DCBA

E

D

C

AB

BCBE

BEB X

X

X

Only B, C are equivalent.Choose B as the repr. of (B,C)

A/1E/0E

B/1D/0DE/0B/1B

B/0B/1A

10

Page 22: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Implication Table Example (contd)

0 1

A E/0 D/0

B A/1 F/0

C C/0 A/1

D B/0 A/0

E D/1 C/0

F C/0 D/1

G H/1 G/1

H C/1 B/1

(AD)(BE)(CF)(G)(H)

C

B

GFEDCBA

H

G

F

E

CHBG

AD

ADCF

BED

ADBE

CF

A closed system of state pairs w/ implication arcs

• An implication arc AD BE means BE is the implied state pair of AD• A closed system of state pairs is a group of state pairs s.t.:(a) there is a directed path betw. any 2 state pairs, and(b) there are no outgoing arcs from any state pair in the group to a state pair outside this group that is not the same state or equiv states

Equiv. Classes:

X

Page 23: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

BCDF

BCBCAF

DGAF

BGAF

DGAF

BD

DFDFAF

BDAF

AF

00 01 11 10

A D/0 D/0 F/0 A/0

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

C C/1 D/0 E/1 A/0

D D/0 B/0 A/0 F/0

E C/1 F/0 E/1 A/0

F D/0 D/0 A/0 F/0

G G/0 G/0 A/0 A/0

H B/1 D/0 E/1 A/0

GFEDCBA

H

G

F

E

D

C

B

Equivalence classes:(AF)(BC)(BH)=>(CH) => (BCH)(D)(E)(G)

Page 24: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

00 01 11 10

A D/0 D/0 F/0 A/0

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

C C/1 D/0 E/1 A/0

D D/0 B/0 A/0 F/0

E C/1 F/0 E/1 A/0

F D/0 D/0 A/0 F/0

G G/0 G/0 A/0 A/0

H B/1 D/0 E/1 A/0

Equivalence classes:(AF)(BC)(BH)=>(CH) => (BCH)(D)(E)(G)

00 01 11 10

A D/0 D/0 F/0 A/0

B B/1 D/0 E/1 A/0

D D/0 B/0 A/0 F/0

E B/1 A/0 E/1 A/0

G G/0 G/0 A/0 A/0

Choose B as the repr. of (BCH) & A as repr. of (A

F)

Page 25: ECE465 FSM State Minimization for Completely Specified Machines Shantanu Dutt Acknowledgement: Slides prepared by Huan Ren from Prof. Dutt’s Lecture Notes

Backup

BDD

CDD AF

DDD BDAF

EDD DFAF DF

FDD BD

GDD DGAF BGAF DGAF

HDD BCAF BC BCDF

A B C D E F G