(Viene de la página anterior)
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
entity dos is
Port ( clk2 : in STD_LOGIC;
div44: inout STD_LOGIC_VECTOR (1 downto 0);
div4 : out STD_LOGIC;
selec: out STD_LOGIC_VECTOR (4 downto 0));
end dos;
architecture Behavioral of dos is
begin

BLOQUE TRES se obtiene un clock de periodo igual a 1 segundo, para conseguirlo se necesita dividir la frecuencia inicial de 1500Hz entre 1500, lo cual dará como resultado 1Hz, equivalente a 1 ciclo por segundo.
entity tres is
Port (div4 : in STD_LOGIC;
segun : inout STD_LOGIC);
end tres;
architecture Behavioral of tres is
signal a:integer;
begin

BLOQUE CUATRO empezará la secuencia del reloj, el cual está conectado en cascada con los siguientes bloques, este bloque será utilizado para mostrar los segundos.
entity cuatro is
Port (segun : in STD_LOGIC;
dig00 : inout STD_LOGIC_VECTOR (3 downto 0);
dig1 : out STD_LOGIC;
sal1 : out STD_LOGIC_VECTOR (3 downto 0));
end cuatro;
architecture Behavioral of cuatro is

BLOQUE CINCO continúa la cuenta de los segundos en decenas, así que solo llegará a la cuenta de 5 y se reiniciará.
entity cinco is
Port (dig1 : in STD_LOGIC;
dig11 : inout STD_LOGIC_VECTOR (3 downto 0);
dig2 : out STD_LOGIC;
sal2 : out STD_LOGIC_VECTOR (3 downto 0));
end cinco;
architecture Behavioral of cinco is

BLOQUE SEIS inicia la cuenta de minutos una vez que ya han transcurrido 60 segundo, para esto se utiliza la señal que le proporciona el contador anterior.
entity seis is
Port (dig2 : in STD_LOGIC;
dig22 : inout STD_LOGIC_VECTOR (3 downto 0);
dig3 : out STD_LOGIC;
sal3 : out STD_LOGIC_VECTOR (3 downto 0));
end seis;
architecture Behavioral of seis is

BLOQUE SIETE es el ultimo contador, indica las decenas de minutos que han transcurrido.
entity siete is
Port (dig3 : in STD_LOGIC;
dig33 : inout STD_LOGIC_VECTOR (3 downto 0);
sal4 : out STD_LOGIC_VECTOR (3 downto 0));
end siete;
architecture Behavioral of siete is

BLOQUE OCHO
entity ocho is
Port ( sal1,sal2,sal3,sal4: in STD_LOGIC_VECTOR (3 downto 0);
selec: in STD_LOGIC_VECTOR (4 downto 0);
aseg : out STD_LOGIC_VECTOR (3 downto 0));
end ocho;
architecture Behavioral of ocho is

end Behavioral;
BLOQUE NUEVE este es un demultiplexor que permite llevar la información a cada display, el bloque dos habilita el display de los segundo, y el demultiplexor deja pasar la cuenta del de los segundos, haciendo lo mismo para cada display, de esta manera estaremos enviando a cada display, la cuenta correspondiente en segundos, decenas de segundos, minutos y decenas de minutos cada 1/1500 parte de segundo, lo cual será inapreciable para el ojo humano.
entity nueve is
Port ( aseg: in STD_LOGIC_VECTOR (3 downto 0);
adys : out STD_LOGIC_VECTOR (6 downto 0));
end nueve;
architecture Behavioral of nueve is

BLOQUE DIEZ este bloque es un acoplador digital para impedir pérdidas de información, que podrían ocurrir, multiplexar los display’s y al mismo tiempo multiplexar la información, este es transparente a al bloque dos, ha diferencia de un flip-flop tipo "D", este no necesita esperar un ciclo de reloj para actualizar la salida.
entity diez is
Port ( idys: in STD_LOGIC_VECTOR (4 downto 0);
odys: out STD_LOGIC_VECTOR (4 downto 0));
end diez;
architecture Behavioral of diez is

Reloj en tiempo real (clic en la imagen para ver video de funcionamiento)
Para actualizar el refresh de los display’s había tomado en cuenta una frecuencia de 1 cuarta parte de segundo, con el cual se obtenía un parpadeo en cada desplegado del display, así que se optó por elevar la frecuencia a 1500 Hz y olvidarse de un problema subsecuente, se observó que ha diferencia de una realización en lenguaje AHDL, la programación en VHDL permite, manipular el sistema con el clock de entrada para actualizar simultáneamente la salida, ya se basa en lógica combinacional.
BIBLIOGRAFÍA:
Circuit Design with VHDL
Volnei A. Pedroni
Designer's Guide to Vhdl
Peter J. Ashenden, Softcover
FPGA-based System Design
Wayne Wolf
NOTAS:
user guide spartan 3
Alberto Torres Gil
MÉXICO
INVESTIGADOR BUAP
MÉXICO, H.H.PUEBLA DE ZARAGOZA, 15 MARZO DE 2007
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Hardware |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo en formato DOC desde el menú superior.