practica 6 e digital

Upload: eduardo-felix-ramirez-palacios

Post on 19-Oct-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.