



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Circuitos VHDL diseño de circuitos electrónicos programables
Tipo: Esquemas y mapas conceptuales
1 / 7
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




PRÁCTICA B DISEÑO Y CONSTRUCCIÓN DE UN RELOJ DIGITAL. OBJETIVO: Aprender el manejo de la descripción por comportamiento de varios bloques funcionales dentro del lenguaje VHDL, la cual consiste, como su nombre indica, en describir el comportamiento de algún sistema digital. ESPECIFICACIONES: Se requiere el diseño y construcción de un reloj digital que cuente con 4 displays los dos primeros para visualizar las horas y los siguientes dos para los minutos. Cada vez que se llegue a 23horas con 59 minutos, se volverá a empezar la cuenta. La siguiente figura muestra el diagrama del bloque de éste sistema. DIAGRAMA DE BLOQUE: Dentro del cronómetro digital existen varios bloques funcionales, los cuales serán unidos mediante señales. Las siguiente figura muestra los bloques funcionales del sistema “Reloj digital”:
BLOQUES FUNCIONALES:
UNIDADES : process ( segundo ) begin if rising_edge ( segundo ) then if U ="1001" then U <="0000"; N <= '1'; else U <= U+1; N <= '0'; end if; end if; end process; DECENAS : process ( N ) begin if rising_edge ( N ) then if D ="0101" then D <="0000"; E <= '1'; else D <= D+1; E <= '0'; end if; end if; end process;
HORA1 : process ( E ) begin if rising_edge ( E ) then if H1 ="1001" then H1 <="0000"; Z <= '1'; AUX <= '0'; elsif H1 = “0011” AND H2 = “0010” THEN H1 <= “0000”; AUX <= '1'; Z <= '1'; ELSIF H1 <= H1+1; Z <= '0'; AUX <= '0'; end if; end if; end process; HORA2 : process ( Z ) begin if rising_edge ( Z ) then if AUX <= '1'; H2 <="0000"; elsif H2 <= H2+1; end if; end if; end process;
"0000000" when "1000", -- 8 "0010000" when "1001", - - 9 "1000000" when others; --F with H2 SELECT display4 <= "1000000" when "0000", -- 0 "1111001" when "0001", -- 1 "0100100" when "0010", -- 2 "0110000" when "0011", -- 3 "0011001" when "0100", -- 4 "0010010" when "0101", -- 5 "0000010" when "0110", -- 6 "1111000" when "0111", -- 7 "0000000" when "1000", -- 8 "0010000" when "1001", -- 9 "1000000" when others; --F end Behavioral;