Sei sulla pagina 1di 73

1

Synthesis of Sequential Machines


2
Introduction
Study of Two Level logic Synthesis

Finite State Machine

Optimization Reducing the number of states and
assign binary codes.

Restrict on study of networks of machines.
3
General Introduction
Digital electronics Circuits
Combinational Logic Ciruits
Sequential Logic Circuits
Combinational Logic
Basic element are Gates
Circuit Behavior: Output depends on the present input
Examples: Comparator, Arithmetic Circuits
Sequential Logic
Basic elements are Flip Flops and Latches
Further Classified into Synchronous and Asynchronous based on
the clock.
Circuit Behavior: Output depends on the past history.
Examples: Counters, Shift Registers.


4
5
6
Classification of FSM
FSM Classification

Class A Machines / Mealy Machine
Class B Machine / Moore Machine
Class C Machine
Class D Machine
Class E Machine.

We restrict to Class A and Class B Machines.
7
Class A / Mealy machine
Mealy Machine: M(S, I, O, , ) but
: S x I O (i.e. output depends on both present
state and present input)
for digital circuits, typically I = {0,1}m and
O = {0,1}n
In addition, (for both Moore and Mealy machines) certain
states are classified as reset or initial states
Finite automata are similar to FSMs, but
they do not produce any outputs,
they just accept input sequences (an accepting set
of states is given).

8
Class A/Mealy Machine
9
10
Class B /Moore Machine
Moore Machine: is a quintuple: M(S, I, O, , )
S: finite non-empty set of states
I: finite non-empty set of inputs
O: finite non-empty set of outputs
: S x I S transition (or next state) function
: S O output function (note: output only a
function of present state)

11
Class B /Moore Machine
12
13
Other Class Machine
14
Simplified FSM Design Flow
Specification
State Minimization
State Encoding
Verification /
Testing
Logic/
Timing Optimization
15
Steps Involved In Designing The FSM
1. Problem Analysis
2. Defining the Black Box
3. Draw the State Diagram (STG)/ASM
4. Draw the state Table/Flow table
5. Draw the State Transition Table
6. Draw the excitation Table
7. Using K-map/QM method find the output and
next state decoder function.
8. Implement the design.

16
Example
Design an sequential circuit which detects the sequence
0101 continuously in the data sequence using D-FF.
Solution:
Black Box
17
Step 2 State Diagram
18
State Table
19
State Transition Table
20
Reduction Using K-map
21
Reduction Using K-map
22
Reduction Using K-map
23
Implementation
CLK
24
Moore Machine
25
Moore Machine-State Table
26
Moore Machine
Repeat the Steps as done for Mealy Machine.


27
State Reduction
28
State Reduction
29
30
31
32
Incompletely Specified FSM
An FSM is incompletely specified if the
next state function and/or the output
functions are specified only for some
combinations of inputs and present states.
33
34
35
Finite Automata
Similar to FSM whose task is only to
declare inputs accepted or rejected.
Classification
Deterministic
Non-deterministic

36
37
38
State Equivalence and State Minimization
K-equivalence
Two State Si

and Sj, of Machine M are distinguishable
if and only if there exists at least one finite input
sequence which can be applied to M,causes different
output sequences, depending on whether Si and Sj is
the initial state.
If there exists for pair (Si,Sj) a distinguishing
sequence of length k,the states in (Si,Sj) are said to
be k-distinguishtable.

39
Flow Table
PS NS,Z
X=0 X=1
A E,0 D,1
B F,0 B,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
40
Contd..

states A and B are 1-distinguishable, since
a 1 input applied to A yields an output 1,
versus an output 0 from B.
states A and E are 3-distinguishable, since
input sequence 111 applied to A yields
output 100, versus an output 101 from E.

41
Definition
States Si and Sj of Machine M are said to
be equivalent if and only if ,for every
possible input sequence, the same output
sequence will be produced regardless of
whether Si and Sj is the initial state.
42
Minimization Procedure
Objective:
To describe a procedure for determining the
sets of equivalent states of as specified
machine M.

43
Step One
Partition the states of M into subsets such
that all states in the same subset are 1-
equivalent.
Consider the example shown
44
Example
PS NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
45
Minimization Procedure


P0=(ABCDEF)


0-distinguistablility





PS
NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
46
Minimization Procedure
P0=(ABCDEF)
P1=(ACE)(BDF)

1-equivalent
Obtained by
inspecting table and
placing those states
having same outputs
under all inputs, in the
same block.
PS
NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
47
Minimization Procedure
P0=(ABCDEF)
P1=(ACE)(BDF)
P2=(ACE)(BD)(F)

2-equivalent
Observed iff states
are 1-equivalent.


PS
NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
48
Minimization Procedure
P0=(ABCDEF)
P1=(ACE)(BDF)
P2=(ACE)(BD)(F)
P3=(AC)(E)(BD)(F)
P4=(AC)(E)(BD)(F)
PS
NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D F,0 B,0
E C,0 F,1
F B,0 C,0
49
In General
P
K+1
partition is obtained from P
K
by
placing in the same block of P
K
and whose
I
i
successors for every possible I
i
are also
common block of P
K
.
50
Theorem
The equivalence partition is unique

If two states S
i
and S
j
of machine M are
distinguishable then they are
distinguishable by a sequence of length
n-1 or less ,where n is the number of
states in M.
51
Machine equivalence


Two Machines M1 and M2 are said to be
equivalent iff for every state in M1,there is
a corresponding equivalent state in M2
and vice versa.
52
Machine equivalence
P3=(AC)(E)(BD)(F)

(AC) s1
(E) s2
(BD) s3
(F) s4

53
Reduced Flow Table
PS NS,Z
X=0 X=1
s1 s2,0 s3,1
s2 s1,0 s4,1
s3 s4,0 s3,0
s4 s3,0 s1,0
54
55
56
Example
PS NS,Z
X=0 X=1
A E,0 D,1
B F,0 D,0
C E,0 B,1
D B,0 F,0
E C,0 F,1
F B,0 C,0
57
State Equivalence
P
1
=P
0
={B
1
}={A,B,C,D,E,F}
X=0=> O
0
={0,0,0,0,0,0}
X=1=>O
1
={1,0,1,0,1,0}
P
1
1
={{A,C,E}{B,D,F}}
B1={B,D,F}
t
0
= {D,B,B} when x=0 => b
0
= {1,1,1}
t
1
={F,F,C} when x=1 => b
1
={1,1,2}
58
State Equivalence
P
2
={{B,D},{F}}
B2={A,C,E} yield no refinement.
P
2
={{B,D},{F},{A,C,E}}
For k=3 first two blocks yield no refinement
B
3
={A,C,E}
t
0
={E,E,C} when x=0; b
0
={3,3,3}
t
1
={D,B,F} when x=1; b
1
={1,1,2}
P
3
={{B,D},{F},{A,C},{E}}

59
60
61
62
State Equivalence
P
1
=P
0
={{A,B,C,D,E,F,G}}
O
0
=(0,0,0,0,1,0,0)
O
1
=(0,1,1,0,0,0,0)
P
1
={{A,B,C,D,F,G},{E}} when x=0 --- 1
P
1=
{{A,D,E,F,G}{BC}} when x=1 ---- 2
Refine=> 1 Intersection 2
P
1
={{A,D,F,G}{B,C}{E}}
63
State Equivalence
Consider B1
t
0
={E,G,E,D} b
0
=(3,1,3,1) when x=0
t
1
={C,A,D,G} b
1
=(2,1,1,1) when x=1
Pb
0
={{A,F}{D,G}} Pb
1
={{A},{D,F,G}}
Refine P
2
={{A}{D,G}{F}}.
So P
2
={{A}{B,C}{D,G}{E}{F}}
III
larly
P
3
={{A}{B}{C}{D}{E}{F}{G}}

64
Moore Machine
65
Partition for a Moore Machine
Similar as done with Mealy Machine.
Imagine for the different inputs same output.
P
0
= (3,4,5,6)(1,2,7,8)
P
1=
(3,4,5,6)(1,2)(7,8)

a=(1,2) b=(3,4,5,6) c=(7,8)
66
67
Iterative Collapsing Approach
Collapsed Flow table is constructed, in
which each occurrence of any member of
a given class as a next is replaced by its
representative.
One Checks if the partition P
1
is consistent
with the modified table ie all members of
each equivalence class must have
identical entries in the new flow table.
68
Example
69
Iterative Collapsed Method

P
1
={{A,D,F,G},{B,C},{E}}


We select representives A,B,E and
construct the collapsed flow table.

70
This is not consistent, since rows A,D,F,G are not identical, although
rows D and G are and B and C are.
71
Iterative Collapsed Method
The partition is refined into
P
2
= {{A},{B,C}{D,G}{E},{F}}
as before.

The next step is to collapse the original
table by replacing G by block 3
representive D and C by block 2
representive B.


72
This flow table is still not consistent ,since rows D,G are not
identical,neither B,C.
73
Iterative Collapsed Method
At this point the partition is refined to the
minimum partition ,which of course is
consistent ,so

P
3
= {{A},{B},{C},{D},{E},{F},{G}}

Potrebbero piacerti anche