State Assignment
State reduction may reduce the number of Flip-Flops but it is not necessarily reduces the implementation of combinational logic for the next state transition State assignment is also necessary to produce a race free circuit
Race is a condition where two or more bits in the state transition changes simultaneously.
Rule 1: States that have the same next state for a given input should be given a logically adjacent assignments
A A A
Rule 2: States that are the next states of a single present state, under logically adjacent inputs, should be given logically adjacent assignments
A A A
Rule 3: Two or more present states that produce the same output, for a given combination input should be made logically adjacent assignment Rule 1 has higher precedence over Rule 2 and Rule 3 Rule 3 need only be applied to one output. Rule 3 only takes precedence for large number of output We will not always be able to get adjacent assignment
Example
x=0 A B C D C/0 C/0 B/0 A/1 x=1 D/0 A/0 D/0 B/1
Rule 2: Since we only have one input the x = 0 and x = 1 are logically adjacent input. Possible adjacent states (C,D), (A,C), (B,D), and (A,B) Rule 3: Not applied (# of states > # of outputs)
Example
x=0 A B C D C/0 C/0 B/0 A/1 x=1 D/0 A/0 D/0 B/1
Rule 1: (A,B), (A,C) Rule 2: (C,D), (A,C), (B,D), and (A,B) Draw a K-map of possible assignment
y2\y1 0 1 0 A C 1 B D A : 00 B : 01 C : 10 D : 11
Example
x=0 A B C D E F G H A/0 B/0 D/0 F/1 C/0 D/1 B/0 F/0 x=1 B/0 C/0 E/0 G/0 B/1 H/0 C/1 G/0 00 A E 01 B G
Rule 1:
For x = 0: (B,G), (C,F), (D,H) For x = 1: (A,E), (B,G), (D,H) (A,B), (B,C)3x, (D,E), (F,G)2x, (D,H) (D,F), (E,G)
Rule 2:
Rule 3:
y3\y2y1 0 1
11 C F
10 H D
Example
x=0 A B C D E F A C A B C D x=1 C D F E C E
Rule 1:
For x = 0: (A,C) (B,E) For x = 1: (A,E) (D,F) (A,C) (C,D) (A,F) (B,E) (D,E)
Rule 2:
y3\y2y1 0 1
00 A E
01 C B
11 D
10 F
Unused States