0 - Sistemas Digitales UIS

Circuitos Secuenciales
Máquinas de Estado
Por:
Carlos A. Fajardo
[email protected]
¿Qué hemos visto?
Sistemas Digitales
Profesor: Carlos Fajardo
2
Estructura de un circuito
secuencial síncrono
Lógica de
Salida
Entrada
externa
Lógica del
estado
Siguiente
D_bus
D
Q
Q_bus
Registro
clk
Sistemas Digitales
Profesor: Carlos Fajardo
3
Contador Binario Ascendente
Salida
clk
D
Q
Q_bus
Registro
+1
D_bus
Reset
Reset
Sistemas Digitales
Profesor: Carlos Fajardo
4
Registros de desplazamiento
Lógica de
Salida
Entrada
serie
Desplaza
1 - bit
D_bus
D
Q
Q(0)
Q_bus
Registro
clk
Sistemas Digitales
Profesor: Carlos Fajardo
5
Maquina de estados finitos
Finite State Machine (FSM)
Sistemas Digitales
Profesor: Carlos Fajardo
6
Máquina de estados finitos
• Circuitos secuenciales regulares: La lógica del
estado siguiente tiene un patrón definido (un
contador , desplazar un bit)
– Contadores
– Registros.
• Máquina de estados finitos: La lógica del
estado siguiente NO tiene un patrón definido.
Sistemas Digitales
Profesor: Carlos Fajardo
7
Generalidades de las FSM
• Son circuitos síncronos.
• El circuito va cambiando de estado con cada
flanco de reloj.
• El estado siguiente está determinado por la
lógica del estado siguiente.
Sistemas Digitales
Profesor: Carlos Fajardo
8
Clasificación según las salidas
Lógica de
Salida
Mealy
Entrada
externa
Lógica del
estado
Siguiente
D_bus
D
Q
Registro
clk
Sistemas Digitales
Profesor: Carlos Fajardo
Salida
Mealy
Q_bus
Lógica de
Salida
Moore
Salida
Moore
9
Clasificación según las salidas
X
Lógica de
Salida
Mealy
Entrada
externa
Lógica del
estado
Siguiente
D_bus
D
Q
Registro
clk
Sistemas Digitales
Profesor: Carlos Fajardo
Q_bus
Lógica de
Salida
Moore
Salida
Mealy
Salida
Moore
10
Nuestro Enfoque: Salidas tipo Moore
Entrada
externa
Lógica del
estado
Siguiente
D_bus
D
Q
Q_bus
Lógica de
Salida
Moore
Salida
Moore
Registro
clk
Sistemas Digitales
Profesor: Carlos Fajardo
11
FSM
Diagrama de Estados
Sistemas Digitales
Profesor: Carlos Fajardo
12
Diagrama de Estados
Contados Ascente/Descendente
a/y
S0
Y=00
a
a
a
a
S1
Y=01
S3
Y=11
a
a
Sistemas Digitales
entradas / salidas
a
S2
Y=10
Profesor: Carlos Fajardo
a
13
Diagrama de Estados
Contados Ascente/Descendente
a/y
S0
Y=00
a
a
a
a
S1
Y=01
S3
Y=11
a
a
Sistemas Digitales
a
S2
Y=10
a
Profesor: Carlos Fajardo
• Cada circulo representa
un estado de la FSM.
• Cada estado tiene un
nombre único
• Un arco representa la
condición de salto de un
estado a otro estado.
• Cada arco tiene una
condición lógica para que
se dé el salto.
• Ocurre un salto cuando
la condición es 1.
14
Cómo se implementa una
FSM
Sistemas Digitales
Profesor: Carlos Fajardo
15
Implementación de una FSM
a
a/y
S0
entradas / salidas
y=0
a
S1
S2
a
y=0
y=1
a
Sistemas Digitales
Profesor: Carlos Fajardo
16
Implementación de una FSM
a
S0
00
a/y
entradas / salidas
y=0
a
S1
01
S2
10
a
y=1
y=1
a
Sistemas Digitales
Profesor: Carlos Fajardo
17
Implementación de una FSM
Lógica del
Estado
Siguiente
0
2
2
00
D
Q
Lógica de
Salida
y
00
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
18
Simulación
Lógica del
Estado
Siguiente
1
2
2
01
D
Q
Lógica de
Salida
y
00
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
19
Simulación
Lógica del
Estado
Siguiente
1
2
2
01
D
Q
Lógica de
Salida
y
01
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
20
Simulación
Lógica del
Estado
Siguiente
0
2
2
10
D
Q
Lógica de
Salida
y
01
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
21
Simulación
Lógica del
Estado
Siguiente
0
2
2
10
D
Q
Lógica de
Salida
y
10
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
22
Lógica del
Estado
Siguiente
0
2
2
00
D
Q
Lógica de
Salida
y
10
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
23
Simulación
Lógica del
Estado
Siguiente
0
2
2
00
D
Q
Lógica de
Salida
y
00
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
24
Tabla de estados
Lógica del estado
Siguiente
Sistemas Digitales
a
Q1
Q0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Profesor: Carlos Fajardo
D1
D0
25
Tabla de estados
Lógica del estado
Siguiente
Sistemas Digitales
a
Q1
Q0
D1
D0
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Profesor: Carlos Fajardo
26
Tabla de estados
Sistemas Digitales
a
Q1
Q0
D1
D0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Profesor: Carlos Fajardo
27
Tabla de estados
Lógica del estado
Siguiente
Sistemas Digitales
a
Q1
Q0
D1
D0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
x
x
1
0
0
1
0
1
1
1
0
1
1
1
Profesor: Carlos Fajardo
28
Tabla de estados
Lógica del estado
Siguiente
Sistemas Digitales
a
Q1
Q0
D1
D0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
x
x
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
x
x
Profesor: Carlos Fajardo
29
Lógica de Salida
a
Q1
Q0
D1
D0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
x
x
1
0
0
0
1
1
0
1
0
1
1
1
0
0
0
1
1
1
x
x
Utilizando Mapas de Karnaught
𝐷1 = 𝑎 ∙ 𝑄0
𝐷0 = 𝑎 ∙ 𝑄1
Sistemas Digitales
Profesor: Carlos Fajardo
30
Tabla de estados
Lógica de
salida
Sistemas Digitales
Profesor: Carlos Fajardo
Q1
Q0
y
0
0
0
0
1
1
1
0
1
1
1
x
31
Tabla de estados
Lógica de
salida
Q1
Q0
y
0
0
0
0
1
1
1
0
1
1
1
x
Utilizando Mapas de Karnaught
y = 𝑄1 𝑜𝑟 𝑄2
Sistemas Digitales
Profesor: Carlos Fajardo
32
Implementación de una FSM
2
2
D
y
Q
a
Registro
clk
reset
Sistemas Digitales
Profesor: Carlos Fajardo
33
Descripción en VHDL
Opción 1 – No se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
34
Descripción en VHDL
Opción 1 – No se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
35
Descripción en VHDL
Opción 1 – No se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
36
Descripción en VHDL
Opción 1 – No se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
37
Descripción en VHDL
Opción 2 – Si se utiliza
• La lógica del estado siguiente se hace con un
case
• La lógica de salida se hace con un
with-select
Sistemas Digitales
Profesor: Carlos Fajardo
38
Descripción en VHDL
Opción 2 – Si se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
39
Descripción en VHDL
Opción 2 – Si se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
40
Descripción en VHDL
Opción 2 – Si se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
41
Descripción en VHDL
Opción 2 – Si se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
42
Descripción en VHDL
Opción 2 – Si se utiliza
Sistemas Digitales
Profesor: Carlos Fajardo
43
Ejercicio 1: Puerta TIA
Adaptado de: http://www.dea.icai.upcomillas.es/daniel/
Sistemas Digitales
Profesor: Carlos Fajardo
44
Puerta TIA
Sistemas Digitales
Profesor: Carlos Fajardo
45
Puerta TIA
El profesor Bacterio le ha pedido ayuda para que le diseñe el circuito de
control de la nueva puerta secreta que se va a instalar en el cuartel
general de la T.I.A. La puerta secreta ha sido convenientemente disimulada
en un cartel publicitario de un conocido fabricante de puertas, tal como se
muestra en la figura siguiente:
La puerta secreta está diseñada para ser usada única y exclusivamente por
la pareja de superagentes más famosa de la agencia: Mortadelo y Filemón.
Para ello se han colocado dos sensores a ambos lados de la puerta justo a
la altura de la cabeza de cada uno de los dos agentes, representados en la
figura mediante Sm y Sf.
Sistemas Digitales
Profesor: Carlos Fajardo
46
El funcionamiento de la puerta
• Para activar el mecanismo Mortadelo y Filemón han de colocarse a ambos
lados de la puerta, justo delante de su sensor correspondiente. Cuando el
sistema detecte esta situación se encenderá una luz que se ha disimulado
justo detrás de las letras “E” del cartel.
• A continuación Filemón tendrá que colocarse delante de la puerta para
que el sensor Sf deje de detectarlo. Para confirmar este paso el circuito
apagará la letra “E”.
• Cuando Mortadelo vea que se ha apagado la luz se pondrá también
delante de la puerta para que el sensor Sm deje de detectarlo.
• El circuito entonces activará una señal para abrir
la puerta, esta señal sólo deben durar un ciclo de reloj.
Sistemas Digitales
Profesor: Carlos Fajardo
47
El funcionamiento de la puerta
• Una vez iniciada la secuencia, si en algún paso se realiza
una acción equivocada, como por ejemplo que sea
Mortadelo en lugar de Filemón el primero en ponerse
delante de la puerta, se activará una alarma para alertar a
todos los agentes de la T.I.A. de un posible intento de asalto
a su sede. Dicha alarma seguirá activa hasta que se vuelva a
inicializar el circuito con la señal de reset.
Para tener en cuenta:
• Los sensores Sm y Sf dan un 1 cuando detectan una
persona enfrente de ellos y un 0 en caso contrario.
• El sistema cuenta con un reloj de 50MHz.
Sistemas Digitales
Profesor: Carlos Fajardo
48
Diagrama de Estados
reset
Sm, Sf / E, P , A
Sm  Sf
ESPERA
Sm  Sf
000
Abrir_P
010
Alarma
Encender_E
100
001
Sm  Sf
Sm
Sf
Sm  Sf
Sm  Sf
Apagar_E
000
Sm  Sf
Sistemas Digitales
Profesor: Carlos Fajardo
49
Tarea:
Hacer la descripción en
VHDL – Opción 2
Sistemas Digitales
Profesor: Carlos Fajardo
50
fin
Sistemas Digitales
Profesor: Carlos Fajardo
51