Professional Documents
Culture Documents
9: Secuenciales
Abstraccin
Inputs
Combinational
Logic
State Inputs
Outputs
State Outputs
Storage Elements
9: Secuenciales
Clock
9: Secuenciales
Elementos de almacenamiento:
latches y flip-flops
D Q
CLK
positive
edge-triggered
flip-flop
D
CLK
Qedge
D Q
G
Qlatch
CLK
transparent
(level-sensitive)
latch
Flip Flop JK
Diagrama de estados
Tabla transiciones
Ecuacion caraterstica
9: Secuenciales
Flip Flop JK
Tabla Caracterstica
Tabla de Excitaciones
9: Secuenciales
Flip Flop T
9: Secuenciales
Flip Flop D
9: Secuenciales
Representaciones de mquinas de
estados finitos (finite state machines)
Lgica secuencial
secuencia a travs una serie de estados
basado en secuencia de valores de seales de input
(x)
010
001
x=0
x=1
100
111
x=0
x=1
110
9: Secuenciales
5 estados
5 auto-transiciones
6 otras transiciones entre estados
1 transicin de reset (de todos los estados) al estado
S1
ERROR
closed
not equal
& new
reset
not equal
& new
not equal
& new
S3
S1
S2
closed
closed
closed
mux=C1 equal mux=C2 equal mux=C3 equal
& new
& new
& new
not new
not new
OPEN
open
not new
9: Secuenciales
10
input mostrado en
arcos de transiciones
valores de output
mostrado en nodo IN
de estado
CLK
0
001
OUT3
D Q
110
1
1
101
OUT2
D Q
1
010
000
D Q
100
1
OUT1
111
0
1
0
011
9: Secuenciales
11
Ejemplo: Contadores
Contadores
proceden a travs de secuencia de estados bien
definida en respuesta a enable.
000
010
011
100
3-bit up-counter
111
110
101
9: Secuenciales
12
diagrama de estados.
Como una tabla de verdad (se especifican
todos los outputs para las combinaciones de
input).
present state
next state
Ejemplo: contador
0
000
001 1
001
000
010
011
100
3-bit up-counter
111
110
101
1
2
3
4
5
6
7
001
010
011
100
101
110
111
010
011
100
101
110
111
000
2
3
4
5
6
7
0
9: Secuenciales
13
Implementacin
Un flip-flop para cada bit de estado
Lgica combinacional basada en codificacin
C3
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
N3
C1
0
1
0
1
0
1
0
1
C3
N3
0
0
0
1
1
1
1
0
N2
0
1
1
0
0
1
1
0
N1
1
0
1
0
1
0
1
0
N1 <=
N2 <=
<=
N3 <=
<=
<=
<=
N2
C3
C1
C1C2 + C1C2
C1 xor C2
C1C2C3 + C1C3 + C2C3
(C1C2)C3 + (C1 + C2)C3
(C1C2)C3 + (C1C2)C3
(C1C2) xor C3
N1
C3
C1 0
C1 1
C1 0
C2
C2
C2
9: Secuenciales
14
Implementacin (cont)
Contador
D Q
D Q
CLK
"1"
9: Secuenciales
15
Implementacin: Registro de
corrimiento
Input determina prximo estado
In
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
C3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
N1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
N2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
N3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
100
0
1
0
0
001
N1 <= In
N2 <= C1
N3 <= C2
IN
101
0
0
OUT1
DQ
1
010
000
110
DQ
111
0
0
011
OUT2
OUT3
DQ
CLK
9: Secuenciales
16
0
1
0
0
1
1
010
101
0
1
1
1
0
1
1
0
0
011
1
0
1
1
1
0
1
1
0
0
0
0
1
1no usados
110
17
C+
B+
C
0
A+
C
1
C
0
C+ <= A
B+ <= B + AC
A+ <= BC
9: Secuenciales
18
111
001
000
110
001
000
100
110
100
010
101
011
010
101
011
9: Secuenciales
19
C+
B+
C
0
State
A
C+
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
C
0
B
Present
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A+
Next State
B+ A+
1
0
1
0
1
1
0
1
1
0
1
0
0
0
0
0
111
001
000
110
100
010
101
011
9: Secuenciales
20
Actividad
C=0
D=X
00
C=1
D=0
11
C=1
D=1
01
C=0
D=X
C=0
D=X
C=1
D=0
C=1
D=0
10
C=1
D=0
C=0
D=X
S1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
S0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
D N1 N0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1 9:0Secuenciales
0
0
1
1
1
0
21
Actividad (cont)
S1
S1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
S0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
N1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
N0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
C
0
S0
D
1
S1
C 1
0 D
1
N1 = CS1
+ CDS0S1 + DS0S1
+ CDS0S1 + DS0S1
N0 = CS0 + CS0
S0
9: Secuenciales
22
9-Sistemas Secuenciales
9.1 Maquinas de Estados Finitos
9.2 Mealy y Moore
9.3 Implementacin en Verilog
9: Secuenciales
23
Modelo de Contador/registro de
corrimiento
Valores almacenados en registros representan
next state
logic
Current State
Next State
Outputs
9: Secuenciales
24
Modelo general
Inputs: x
lgica output
FS
lgica prximo
estado: FPE
Outputs: z
Next State: y(n+1)
9: Secuenciales
25
Inputs
Outputs
next state
logic
Next State
Current State
Next State
State
Clock 0
5
9: Secuenciales
26
Mquinas Moore
outputs cambian durante cambios del reloj (siempre un
ciclo ms tarde)
en mquinas Mealy, input puede causar cambios en output
de inmediato cuando cambie lgica puede causar
problemas cuando se conectan mltiples mquinas
9: Secuenciales
27
Moore: z = F(y)
combinational
logic for
next state
reg
logic for
outputs
outputs
state feedback
inputs
logic for
outputs
combinational
logic for
next state
Mealy: z = F(y, x)
outputs
reg
state feedback
inputs
Mealy Sincrnica
logic for
outputs
combinational
logic for
next state
outputs
reg
state feedback
9: Secuenciales
28
B/0
D/1
0
reset
0
1
A/0
1
1
C/0
1
E/1
current
reset input state
1
0
0
A
0
1
A
0
0
B
0
1
B
0
0
C
0
1
C
0
0
D
0
1
D
0
0
E
0
1
E
next
state
A
B
C
B
D
E
C
E
C
B
D
output
0
0
0
0
0
0
1
1
1
1
9: Secuenciales
29
reset/0
0/1
1/1
1/0
current
reset input state
1
0
0
A
0
1
A
0
0
B
0
1
B
0
0
C
0
1
C
next
state
A
B
C
B
C
B
C
output
0
0
0
0
1
1
0
C
1/0
9: Secuenciales
30
Maquina Mealy
Maquina Mealy Sincrnica
Inputs
output
logic
Outputs
next state
logic
Current State
9: Secuenciales
31
son depositados
Acepta diferentes monedas 50 (N), 100
(D)
Reset
No entrega cambio
N
Coin
Sensor
Vending
Machine
FSM
Open
Release
Mechanism
Clock
9: Secuenciales
32
Representacin abstracta
Reset
S0
N
S1
N
S3
N
S7
[open]
S2
D
S4
[open]
S5
[open]
D
S6
[open]
D
S8
[open]
9: Secuenciales
33
estados si es posible
present
state
0
Reset
0
N
50
N
D
100
N+D
150
[open]
inputs
D N
0
0
0
1
1
0
1
1
50
0
0
0
1
1
0
1
1
100
0
0
0
1
1
0
1
1
150 tabla de
estados
next
output
state
open
0
0
50
0
100
0
50
0
100
0
150
0
100
0
150
0
150
0
150
1
simblica
9: Secuenciales
34
next state
D1 D0
0 0
0 1
1 0
0 1
1 0
1 1
1 0
1 1
1 1
1 1
output
open
0
0
0
0
0
0
0
0
0
1
9: Secuenciales
35
D1
0 0 1 1
0 1 1 1
D
X X 1 X
1 1 1 1
Q0
Q1
D0
Q1
Open
0 0 1 0
0 1 1 0
1 0 1 1
N
D
X X 1 X
0 0 1 0
N
D
0 1 1 1
X X 1 X
0 0 1 0
Q0
Q0
D1 = Q1 + D + Q0 N
D0 = Q0 N + Q0 N + Q1 N + Q1 D
OPEN = Q1 Q0
9: Secuenciales
36
next state
D3 D2 D1 D0
0 0 0 1
0 0 1 0
0 1 0 0
- - - 0 0 1 0
0 1 0 0
1 0 0 0
- - - 0 1 0 0
1 0 0 0
1 0 0 0
- - - 1 0 0 0
output
open
0
0
0
0
0
0
0
0
0
1
D0 = Q0 D N
D1 = Q0 N + Q1 D N
D2 = Q0 D + Q1 N + Q2 D N
D3 = Q1 D + Q2 D + Q2 N + Q3
OPEN = Q3
9: Secuenciales
37
Mealy
Reset
0
[0]
N D
N
D
50
[0]
100
[0]
N D
D/0
50
N D/0
100
N D/0
150
Reset/1
N/0
N D
N+D
150
[1]
N D/0
N/0
N
D
(N D + Reset)/0
Reset/0
D/1
N+D/1
Reset
9: Secuenciales
38
Reset/0
present stateinputs
Q1 Q0
D N
0 0
0
0
0
1
1
0
1
1
0 1
0
0
0
1
1
0
1
1
1 0
0
0
0
1
1
0
1
1
1 1
N D/0
N/0
D/0
50
N D/0
100
N D/0
150
Reset/1
N/0
D/1
N+D/1
Q1
Open
0 0 1 0
0 0 1 1
D
X X 1 X
0 1 1 1
Q0
D0
D1
OPEN
next
D1
0
0
1
0
1
1
1
1
1
state
D0
0
1
0
1
0
1
0
1
1
output
open
0
0
0
0
0
1
0
1
1
39
9: Secuenciales
40
9-Sistemas Secuenciales
9.1 Maquinas de Estados Finitos
9.2 Mealy y Moore FSMs
9.3 Implementacin en Verilog
9: Secuenciales
41
input
Moore
Mealy
zero
[0]
1
0
0
0
0/0
one1
[0]
1
zero
[0]
0/0
1/0
one1
[0]
1/1
two1s
[1]
9: Secuenciales
42
asignar estados
zero
[0]
1
// state variables
0
0
one1
[0]
1
two1s
[1]
9: Secuenciales
43
always @(state)
case (state)
zero: out = 0;
one1: out = 0;
two1s: out = 1;
endcase
endmodule
9: Secuenciales
44
zero
[0]
0/0
0/0
1/0
one1
[0]
1/1
9: Secuenciales
45
zero
[0]
0/0
0/0
1/0
one1
[0]
1/1
9: Secuenciales
46
Resumen MEFs
HDLs
9: Secuenciales
47