Upload
leonardo-mora
View
220
Download
0
Embed Size (px)
Citation preview
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%A1ntico8/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