View
7
Download
0
Category
Preview:
Citation preview
UNIVERSIDAD DE GUANAJUATO
DIVISION DE INGENIERIAS CAMPUS IRAPUATO-
SALAMANCA
PRACTICA #6: MAQUINAS DE
ESTADO EN VHDL
INTEGRANTES:
RAMREZ PALACIOS EDUARDO FLIX
MAGDALENO SALDIVAR KAREN PAULINA
FECHA: 14/03/2014
ELECTRONICA DIGITAL II
1
Objetivos:
Entender el funcionamiento y las tablas de estado de mquinas de estados. Implementar una
mquina de estados mediante lgica programable.
Componentes:
Sin componentes.
Equipo:
1 Equipo de cmputo con paquete de software Active-HDL.
6.1 Introduccin
Las mquinas de estado son sistemas que generan una serie de acciones en funcin de la secuencia
en las variables de entrada. Si la salida del sistema secuencial es funcin solamente del estado
presente, el sistema se conoce como maquina Moore. Cuando la salida del sistema secuencial es
funcin del estado presente y de la entrada, la red se conoce como maquina Mealy.
6.2 Desarrollo
En esta prctica se implementara una maquina Moore utilizando lgica programable. Es un detector
de secuencia que en cada secuencia 101 se produzca una salida Z=1 coincidente con el ultimo 1. La
mquina no se reinicia al ocurrir una salida 1.
Tabla de ejemplo de entradas y salidas
x = 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0
z = 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
Tiempo 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2
Diagrama de estados del detector de secuencias
Y su tabla de estados:
Estado Presente
Estado Siguiente Salida Presente
x = 0 x =1
0 1 0 2 1 0 0 3 0 2 1 1
Finalmente, el cdigo para esta mquina es:
Estado Presente
Estado Siguiente Salida Presente
x = 0 x =1
00 00 01 0
01 11 01 0
11 00 10 0
10 11 01 1
library IEEE; use IEEE.std_logic_1164.all; entity SeqDet1 is port( RST: in std_logic; CLK: in std_logic; XIN: in std_logic; FO: out std_logic; ); end SeqDet1; architecture Universal of SeqDet1 Is type TipoEstados is (S0, S1, S2, S3); signal e_p: TipoEstados; begin asign_estados: process(CLK, e_p)
begin if(CLKevent AND CLK = 0) then case e_p is when S0 => if(XIN = 0) then e_p
3
6.2.1 Simulacion Active-HDL
e_p
4
6.3 Ejercicio
1. Obtener el diagrama de estados, la tabla de estados y el cdigo en VHDL para el mismo
circuito pero implementndolo con una mquina Mealy.
Diagrama de estados del detector de secuencias
Estado Presente Estado Siguiente Salida
x =0 x = 1 x=0 x=1
0 1 0 0 2 1 0 0 0 1 0 1
Estado Presente Estado Siguiente Salida
x =0 x = 1 x=0 x=1
00 01 0 0 01 10 01 0 0
10 00 01 0 1
0
0
0
0
1
0
1
0
0
0
0 1
2
5
6.3.1 Cdigo VHDL Mquina Mealy
library IEEE; use IEEE.std_logic_1164.all; entity Mealy is port( RST: in std_logic; CLK: in std_logic; XIN: in std_logic; FO: out std_logic; ); end Mealy; architecture Maquina of Mealy Is type TipoEstados is (S0, S1, S2,); signal e_p: TipoEstados; begin asign_estados: process(CLK, e_p)
begin if(CLKevent AND CLK = 0) then case e_p is when S0 => if(XIN = 1) then FO
6
6.3.2 Simulacion en Active-DHL Mquina Mealy
6.4 Conclusiones
Ramrez Palacios Eduardo Flix
Al trmino de esta prctica me hizo recordar cmo se programa en Active al igual que recordar cmo
se simulaba, compilando nuestro programa en active nos podemos dar una mejor idea de cmo
cambian los estados en una mquina Moore y sus seales de salida al darle una seal de reloj. Al
comienzo de esta prctica ya al momento de correr el programa no apareca el botn de compilar
disponible y fue debido a que se movi una parte del programa.
Magdaleno Saldvar Karen Paulina
En la prctica tuvimos un pequeo problema ya que no corra perfectamente el programa Active
HDL, ya una vez que pudimos realizar el cdigo paso a paso nos pudimos percatar de los errores
que se tenan de tambin de las cosas que se tenan que considerar, fue muy interesante poder
volver a trabajar con este programa ya que no haba vuelto a trabajar con l y as poder acordarme
de cosas que no recordaba, ya que entender su procedimiento me es ms complejo ya que se tiene
que programar y se tienen que considerar varios conocimientos al momento de correr el programa.
Recommended