practica 7 (maquina de estado finito).pdf

Upload: leonardo-mora

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    1/7

    SEP DGEST SNEST

    INSTITUTO TECNOLGICO DE MATAMOROS

    DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA

    DISEO DIGITAL CON VHDL8:00 a 9:00pm, Lunes, Mircoles, Viernes

    7:00 a 9:00 pm, Martes

    Practica 7.- Maquinas de Estado F ini to

    Alumnos: Nm. de control:

    Leonardo Adn Mora Vzquez 11260099Jos Fortino Rico San Martn 11260110Luis Eduardo Guzmn Puga 11260085

    Julin Vera vila 11260125

    Profesor: Ing. Arturo Rodrguez Casas

    H. MATAMOROS, TAM. 21 DE OCTUBRE DE 2013

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    2/7

    OBJETIVO

    Implementar un contador de 3 bits ascendente/descendente usando el Aldec HDL

    y mquinas de estado finito.

    MARCO TERICO

    MAQUINA DE ESTADO FINITO

    Una mquina de estados se denomina mquina de estados finitos (FSM por finite

    state machine) si el conjunto de estados de la mquina es finito, este es el nico

    tipo de mquinas de estados que podemos modelar en un computador en la

    actualidad; debido a esto se suelen utilizar los trminos mquina de

    estados y mquina de estados finitos de forma intercambiable. Sin embargo un

    ejemplo de una mquina de estados infinitos sera uncomputador cuntico esto es

    debido a que los Qubit que utilizara este tipo de computadores toma valores

    continuos, en contraposicin losbits toman valores discretos (0 1). Otro buen

    ejemplo de una mquina de estados infinitos es unaMquina universal de Turing la

    cual se puede definir tericamente con una "cinta" o memoria infinita.

    Una Mquina de Estado Finito (Finite State Machine), llamada tambin Autmata

    Finito es una abstraccin computacional que describe el comportamiento de un

    sistema reactivo mediante un nmero determinado de Estados y un nmero

    determinado de Transiciones entre dicho Estados.

    http://es.wikipedia.org/wiki/Computador_cu%C3%A1nticohttp://es.wikipedia.org/wiki/Qubithttp://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttp://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttp://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/Qubithttp://es.wikipedia.org/wiki/Computador_cu%C3%A1ntico
  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    3/7

    DIAGRAMA DE ESTADOS

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    4/7

    DIVISOR DE RELOJ (500ms)

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity divisorreloj is

    Port ( clkindiv, reset : in STD_LOGIC; -- Reloj de entrada a la FPGA

    pulsoout : out STD_LOGIC); -- salida del divisorreloj para conectar al circuito

    end divisorreloj;

    architecture a_divisorreloj of divisorreloj is

    signal contador : STD_LOGIC_VECTOR (25 downto 0);

    signal pulso : STD_LOGIC;begin

    process (clkindiv, reset)

    begin

    if (clkindiv'event and clkindiv='1') then

    contador

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    5/7

    BCD A 7 SEGMENTOS

    library ieee;

    use ieee.std_logic_1164.all;

    entity BCD_A_7Seg isport(BCD: in std_logic_vector (3 downto 0);

    seg : out std_logic_vector(6 downto 0));

    end BCD_A_7Seg;

    architecture BCD_A_7Seg of BCD_A_7Seg is

    begin

    DecodificadorProc: process (BCD) -- corre el proceso si la entrada BCD cambia.

    begin

    case BCD is

    -- Catodo valor bajo-- abcdefg

    --GFEDCBA

    when "0000" => seg seg seg seg seg seg seg seg

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    6/7

    CONEXIN DE LOS COMPONENTES

    library ieee;

    use ieee.std_logic_1164.all;

    use ieee.std_logic_arith.all;

    use ieee.std_logic_unsigned.all;

    entity contadorconreloj is

    port(

    CLK50M, UPDOWN, reset: in std_logic;

    anodo7seg: out std_logic_vector(3 downto 0);

    display:out std_logic_vector(6 downto 0));

    end contadorconreloj;

    architecture Arq_contadorconreloj of contadorconreloj is

    component divisorreloj

    port(

    clkindiv: in std_logic;reset: in std_logic;

    pulsoout: out std_logic);

    end component;

    component contador3bits

    port(

    CLK, X: in std_logic;

    A,B,C: out std_logic);

    end component;

    component BCD_A_7Seg

    port(

    BCD: in std_logic_vector(3 downto 0);

    Seg: out std_logic_vector(6 downto 0));

    end component;

    signal CLK1: std_logic;

    signal B: std_logic_vector(3 downto 0);

    begin

    B(3) reset, pulsoout => CLK1);

    U2: contador3bits

    port map(CLK => CLK1, X => UPDOWN, A => B(2), B => B(1), C=>B(0));

    U3: BCD_A_7Seg

    port map (BCD => B, Seg => display );

    end Arq_contadorconreloj;

  • 8/14/2019 Practica 7 (Maquina de Estado Finito).pdf

    7/7

    CONCLUSIN

    Durante la realizacin de la prctica se presentaron inconvenientes, uno de ellosera que no hacia la cuenta correctamente, despus de revisar el cdigo

    encontramos el error y lo solucionamos, al finalizar la prctica pudimos apreciar

    mejor el funcionamiento practico de una mquina de estado finito y como se podra

    aplicar en la vida cotidiana