4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
Máquinas de Estado Finito en VHDL
1. CIRCUITOS DIGITALES II
MÁQUINAS DE ESTADO EN VHDL
FSM (FINITE STATE MACHINE)
Ing. Fernando Aparicio Urbano Molano 1
2. MÁQUINAS DE ESTADO EN VHDL
FLIP-
FLIP-FLOP TIPO D
Ing. Fernando A. Urbano M. 2
3. MÁQUINAS DE ESTADO EN VHDL
MAQUINAS DE ESTADO
Entrada Lógica Salida
combinacional
pr_state nx_state
Lógica Clock
secuencial Reset
Ing. Fernando A. Urbano M. 3
4. MÁQUINAS DE ESTADO EN VHDL
DISEÑO DE LA SECCIÓN SECUENCIAL
Los FF están en la sección inferior, así que las
señales clock y reset están conectadas a
ellos. La entrada es el estado siguiente
(nx_state), mientras que su única salida es
el estado actual (pr_state). Como el circuito
es secuencial, requiere un PROCESS
Ing. Fernando A. Urbano M. 4
5. MÁQUINAS DE ESTADO EN VHDL
DISEÑO DE LA SECCIÓN SECUENCIAL (2)
Consiste de un reset asíncrono, el cuál
determina el estado inicial del sistema (state0),
seguido por el almacenamiento síncrono de
nx_state (flanco positivo del reloj), el cuál
generará pr_state.
Ing. Fernando A. Urbano M. 5
6. MÁQUINAS DE ESTADO EN VHDL
DISEÑO DE LA SECCIÓN SECUENCIAL (2)
Consiste de un reset asíncrono, el cuál
determina el estado inicial del sistema (state0),
seguido por el almacenamiento síncrono de
nx_state (flanco positivo del reloj), el cuál
generará pr_state.
Ing. Fernando A. Urbano M. 6
7. MÁQUINAS DE ESTADO EN VHDL
DISEÑO DE LA SECCIÓN SECUENCIAL (3)
Ventajas: el estilo de la sección secuencial es
estándar, genera un mínimo de registros, el
número de FF generados es igual al número
de bits necesitados para codificar todos los
estados de la FSM.
n =
log2 Nro. de registros
n es el número de estados
Ing. Fernando A. Urbano M. 7
8. MÁQUINAS DE ESTADO EN VHDL
DISEÑO SECCIÓN COMBINACIONAL (1)
Esta etapa es completamente combinacional,
también puede usarse código concurrente.
Este código también es bien simple, hace dos
cosas: (a) asigna el valor de salida y (b)
establece el estado siguiente.
Ing. Fernando A. Urbano M. 8
9. MÁQUINAS DE ESTADO EN VHDL
TEMPLATE PARA LA
FSM (1)
Ing. Fernando A. Urbano M. 9
10. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (1)
Un contador es un ejemplo de una máquina
de Moore, la salida depende solamente del
estado almacenado. Ya se ha implementado
este circuito de manera combinacional, ahora
se implementara usando máquinas de estado.
Ing. Fernando A. Urbano M. 10
11. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (2)
Ing. Fernando A. Urbano M. 11
12. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (3)
Ing. Fernando A. Urbano M. 12
13. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (4)
Ing. Fernando A. Urbano M. 13
14. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (5)
Ing. Fernando A. Urbano M. 14
15. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (7)
Ing. Fernando A. Urbano M. 15
16. MÁQUINAS DE ESTADO EN VHDL
EJEMPLO: CONTADOR BCD (8)
Ing. Fernando A. Urbano M. 16
17. MÁQUINAS DE ESTADO EN VHDL
DISEÑO 2: SALIDA ALMACENADA
Esta es una máquina de Mealy, ya que la
salida depende de la entrada actual. La salida
debe cambiar cuando la entrada cambie
(salida asíncrona).
Realicemos un diseño basado en el diagrama
de estados. Sin embargo, hagamos que la
salida sea síncrona (cambie únicamente con
el flanco ascendente del reloj)
Ing. Fernando A. Urbano M. 17
18. MÁQUINAS DE ESTADO EN VHDL
DISEÑO 2: SALIDA ALMACENADA (1)
Ing. Fernando A. Urbano M. 18
19. MÁQUINAS DE ESTADO EN VHDL
DISEÑO 2: SALIDA ALMACENADA (2)
Ing. Fernando A. Urbano M. 19
20. MÁQUINAS DE ESTADO EN VHDL
DISEÑO 2: SALIDA ALMACENADA (3)
Ing. Fernando A. Urbano M. 20
21. MÁQUINAS DE ESTADO EN VHDL
DISEÑO 2: SALIDA ALMACENADA (4)
Ing. Fernando A. Urbano M. 21