Академический Документы
Профессиональный Документы
Культура Документы
0. Introduccin
1. FSM Mealy y Moore
2. Sntesis FSM:
Codificacin estados
Tabla de estados
Tabla de excitacin
INTRODUCCIN
n
Latches
Combinacional
output
input
state
FFs
rst
clk
Combinacional
output
state
rst
0001
0010
1110
1111
Diagrama de
estados de un
contador
ascendente de 4-bits
state
F
S
FFs
rst
i0
F(i0,S0)
F
S
FFs
S0
clk
FSM Mealy
input
rst
(asynch)
clk
input
state
output
state
rst
i0
i2
S0/
/F(S0)
F(S1)
S1
i2
state/output
state/output
state/F(state)
state/F(state)
i0
F(i2,S1)
i2
i0/F(i0,S1)
S0
i1/F(i1,S0)
output=F(input,state)
i2/F(i2,S0)
i0/F(i0,S0)
F(i1,S1)
S1
input/output
input/output
input/F(input,state)
input/F(input,state)
i1
i1
output=F(state)
F(i1,S0)
F(S0)
S0
clk
FSM Moore
input
rst
(asynch)
clk
input
state
output
i2/F(i2,S2)
S2
S2/
/F(S2)
F(i1,S0)
i2
i1
i1
i2
i2/F(i2,S1) i0/F(i0,S2)
i1
S1/
/F(S1)
S0
F(S0)
i1
i1/F(i1,S2)
S0
i0
F(i0,S0)
i0
i1
i0
S1
i1/F(i1,S1)
i0
SINTESIS DE FSM
FF1
J K
0 X
0 X
1 X
0 X
X 1
X 0
X 0
X 0
State table
state input output
0
1
S0 S1
0
S2 S1
1
S2 S3
1
S0 S3
0
S0
S1
S2
S3
State Codification
(gray codification)
J
K
clk
state Q[1:0]
S0
0 0
S1
0 1
S2
1 1
S3
1 0
FF0
J K
0 X
1 X
X 0
X 0
0 X
0 X
X 0
X 1
JK-FF
SINTESIS DE FSM
S1/1
State diagram
1
1
S3/0
S2/1
0
S0/0
0
1
Excitation table
(JK FFs)
state input output state+
Q[1:0]
Q+[1:0]++
00
0
0
00
00
1
0
01
01
0
1
11
01
1
1
01
10
0
0
00
10
1
0
10
11
0
1
11
11
1
1
10
input output
0
1
00 01
0
11 01
1
11 10
1
00 10
0
State table
state
Q[1:0]
00
01
11
10
0X
X1
1X
Q
X0
0
0
T-FF
00
input
00
X
FF1
K
01
0
0
0
1
11
10
output
KFF1=input*Q[0]
FF0
FF1
TFF0=input*(Q[1]Q[0])
input
TFF1=input*(Q[1]Q[0]) input
00
01
0
Input
11
1
FF1
T
10
01
input
11
FF0
T
10
Q[1:0]
input
00
X
FF0
J
01
X
0
X
0
11
10
FF1
Q
Q
FF0
Q
Q
C
JFF0=input*Q[1]
clk
J
K
J
K
rst
FF1
FF0
01
00
input
11
X
FF0
K
10
output
FF0
T
0
1
0
0
0
0
0
1
clk
rst
output
KFF0=input*Q[1]
Excitation table
(T FFs)
Q[1:0]
SINTESIS DE FSM
0
0
input
00
1
FF1
J
01
X
X
X
X
11
10
output=Q[0]
input
J
K
J
K
rst
Q[1:0]
SINTESIS DE FSM
clk
JFF1=input*Q[0]
Q[1:0]
Q[1:0]
Q[1:0]
00
input
0
1
0001 0010
0100 0010
0100 1000
0001 1000
01
00
Input
11
1
state
Q[3:0]
0001
0010
0100
1000
FF2
D
10
Input
DFF2=input*(Q[2]+Q[1])
FF0
D
01
11
00
10
DFF0=input*(Q[3]+Q[0])
output
0
1
1
0
output=Q[3]+Q[1]
input
Excitation table
(D FFs)
clk
rst
FF0
FF3
FF2
FF1
D PQ
D
C
output
SINTESIS DE FSM
01
State table
1
0
0
0
State Codification
(one-hot codification)
00
Input
state Q[3:0]
S0
0 0 0
S1
0 0 1
S2
0 1 0
S3
1 0 0
FF3
D
01
X
1
X
0
11
10
11
Input
DFF3=input*(Q[3]+Q[2])
FF1
D
10
DFF1=input*(Q[1]+Q[0])
Q[2]/Q[1]
Q[3]/Q[0]
Q[3]/Q[2]
Q[1]/Q[0]