Reloj Digital En Vhdl

  • Uploaded by: By241
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Reloj Digital En Vhdl as PDF for free.

More details

  • Words: 486
  • Pages: 5
Loading documents preview...
SISTEMAS DIGITALES

UTPL

UNIVERSIDAD TECNICA PARTICULAR DE LOJA ELECTRÓNICA Y TELECOMUNICACIONES SISTEMAS DIGITALES Integrantes: Maritza Chalan y María Sánchez Fecha: 15/09/2017 PRÁCTICA: DESARROLLO DE RELOJ DIGITAL EN VHDL

OBJETIVO: Aprender el manejo de la descripción por comportamiento de varios bloques funcionales dentro del lenguaje VHDL ESPECIFICACIONES: Se requiere el diseño y construcción de un reloj digital que cuente las horas, minutos y segundos. La siguiente figura muestra el diagrama del bloque de éste sistema.

Fig. 1 Diagrama de b loques en VHDL del reloj digital.

CODIGO DEL RELOJ DIGITAL EN VHDL:

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

RELOJ DIGITAL

SISTEMAS DIGITALES use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all;

entity reloj is port ( clk

: in std_logic;

rst

: in std_logic;

segundos_LSB : inout std_logic_vector(3 downto 0); segundos_MSB : inout std_logic_vector(3 downto 0); minutos_LSB : inout std_logic_vector(3 downto 0); minutos_MSB : inout std_logic_vector(3 downto 0); horas_LSB

: inout std_logic_vector(3 downto 0);

horas_MSB

: inout std_logic_vector(3 downto 0)

); end entity reloj;

architecture Behavioral of reloj is

signal contador : integer range 0 to 33554432;-- 25 bits signal clk_1hz : std_logic;

begin

-- proceso para conseguir una señal de 1HZ a partir de una señal "clk" de 50MHz

CLK_1HZ_PROC : process(clk, rst) is begin if (rst = '1') then

RELOJ DIGITAL

UTPL

SISTEMAS DIGITALES contador <= 0; elsif (clk'event and clk= '1') then if (contador = 25000000) then clk_1hz <= not clk_1hz; contador <= 0; else contador <= contador + 1; end if; end if; end process CLK_1HZ_PROC;

-- proceso que incrementa los contadores a partir de la señal de 1Hz

RTC_PROC : process(clk_1hz, rst) is begin if (rst='1') then segundos_LSB <= (others => '0'); segundos_MSB <= (others => '0'); minutos_LSB <= (others => '0'); minutos_MSB <= (others => '0'); horas_LSB <= (others => '0'); horas_MSB <= (others => '0'); elsif (clk_1hz'event and clk_1hz= '1') then if (segundos_LSB = "1001" )then segundos_LSB <= (others => '0'); if (segundos_MSB = "0101") then segundos_MSB <= (others => '0' ); if (minutos_LSB = "1001" ) then minutos_LSB <= (others => '0'); if (minutos_MSB = "0101" )then minutos_MSB <= (others => '0'); if ((horas_LSB = "0011") and (horas_MSB = "0010")) then

RELOJ DIGITAL

UTPL

SISTEMAS DIGITALES horas_MSB <= (others => '0'); horas_LSB <= (others => '0'); elsif (horas_LSB = "1001") then horas_LSB <= (others => '0'); horas_MSB <= horas_MSB + '1'; else horas_LSB <= horas_LSB + '1'; end if; else minutos_MSB <= minutos_MSB + '1'; end if; else minutos_LSB <= minutos_LSB + '1'; end if; else segundos_MSB <= segundos_MSB + '1'; end if; else segundos_LSB <= segundos_LSB + '1'; end if; end if; end process RTC_PROC;

end Behavioral;

RELOJ DIGITAL

UTPL

SISTEMAS DIGITALES

UTPL

SIMULACIÓN: En las siguientes figuras demostramos la simulación del reloj digital, que indican el correcto funcionamiento del programa.

Fig. 2 Simulación del CLK

Fig. 3 Diagrama de tiempo del reloj digital

RELOJ DIGITAL

Related Documents

Reloj Digital En Vhdl
February 2021 0
Reloj Digital
February 2021 0
Vhdl
January 2021 6
Tutorial Vhdl
January 2021 5
Vhdl Maxinez
January 2021 3
Ejemplos Practicos Vhdl
January 2021 0

More Documents from "Eduardo Garcia Breijo"

Reloj Digital En Vhdl
February 2021 0