Está en la página 1de 7

Tecnológico Nacional de México

Campus Querétaro

Practica 3
Contador Ascendente y Descendente del (0 al 9) y del (9 a 0)

Que presenta:

Sandoval Frías David.

Estudiante de la carrera:

Ingeniería en electrónica

Docente

VICTOR JUAN ARCE FARFAN

Asignatura

Diseño digital con VHDL

Fecha:20/03/2022
DISEÑO DIGITAL VHDL

I.- Introducción:

En esa práctica tendrá como finalidad el crear un programa que realice un conteo del
0 al 9 ascendentemente (0,1,2,3,4 … 9) y ascendentemente (9,8,7,6…0) y mostrarlos
en los displays de la FPGA, para esto es necesario el crear internamente un divisor
de reloj digital(de aproximadamente 1 s) ya incluido en la tarjeta para poder cambiar
de estado del 0 al 9 o del 9 al 0 , igualmente se tendrá que declarar un botón que
externamente se pueda elegir el modo del conteo si es ascendente o descendente y
por ultimo vincular la variable que lleva el conteo con un decodificar BCD a 7
segmentos y pasar el código a la FPGA para su demostración.

II.- Marco teórico:

FPGA: es el acrónimo de Field Programmable Gate Arrays y no es más que una serie
de dispositivos basados en semiconductores a base de matrices de bloques lógicos
configurables o CLB, donde además se conectan a través de lo que en el sector se
denomina como interconexiones programables.

Quartus II: Altera Quartus II es un programa de software de diseño que te permite


crear diseños para el arreglo de compuertas programables en campo (FPGA),
HardCopy Application Specific Integrated Circuit (ASIC) y dispositivos lógicos
programables complejos (CPLD). Este programa cuenta con una interfaz gráfica de
usuario (GUI) y crear archivos de programación.

Display: El display de 7 segmentos es un dispositivo electrónico que se utiliza para


representar visualmente números y algunos caracteres. Este display es muy popular
debido a su gran efectividad y simplicidad al momento de utilizarlo.

Decodificador (BCD a 7 Segmentos): es un circuito combinacional, cuya función es


convertir un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M
líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N),
tales que cada línea de salida será activada para una sola de las combinaciones
posibles de entrada.

El reloj digital: es un componente del microprocesador que emite una serie de


pulsos eléctricos a intervalos constantes llamados ciclos, estos ciclos marcan el ritmo
que ha de seguirse para la realización de cada paso para poder simular el tiempo
dependiendo de longitud de onda entre más corta más rápido y entre más larga más
lenta así pudiendo calcular segundos si se ajusta correctamente en la medida que es
aproximadamente 50MGhz .
DISEÑO DIGITAL VHDL

III.- Desarrollo:

----Programa -----------------------------------------------------------------------------------------------

-- Contador descendiente y ascendente del 0 al 9

--SANDOVAL FRIAS DAVID

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;--libreria de sumas y restas sin signo

entity Contador is

port

clk : in std_logic;--reloj

Q : inout std_logic_vector (3 downto 0);-- 4 bits (0 - 9)

Disp : out std_logic_vector (6 downto 0);--Display

up_down: in std_logic;--Ascendente y Descendente

selc: out std_logic_vector (3 downto 0);

clock_out : out std_logic

);

end Contador;

architecture reloj of Contador is

signal Count: INTEGER range 0 to 49_999_999 ;

signal tmp: std_logic:= '0';

signal flag: std_logic:= '0';

begin

process (clk,up_down) begin

------- Reloj -----

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


DISEÑO DIGITAL VHDL

Count <= Count + 1;

if (Count = 49_999_999) then

tmp <= not tmp;

Count <= 1;

--------------------------

--------Ascendente---------

if (up_down = '0') then

Q <= Q + 1;

if ( Q = "1001") then

Q <= "0000";

end if;

--------------------------

------Decendente----------

else

Q <= Q - 1;

if ( Q = "0000") then

Q <= "1001";

end if;

end if;

--------------------------

end if;

end if;

clock_out <= not tmp;

end process;

-----------Decodificador-----------

Process (Q) begin

case Q is

when "0000" => Disp <= "1000000"; -- 0


DISEÑO DIGITAL VHDL

when "0001" => Disp <= "1111001"; -- 1

when "0010" => Disp <= "0100100"; -- 2

when "0011" => Disp <= "0110000"; -- 3

when "0100" => Disp <= "0011001"; -- 4

when "0101" => Disp <= "0010010"; -- 5

when "0110" => Disp <= "0000011"; -- 6

when "0111" => Disp <= "1111000"; -- 7

when "1000" => Disp <= "0000000"; -- 8

when others => Disp <= "0011000"; -- 9

end case;

selc<= "1110";

end process;

------------------------------------

end reloj;

---------------------------------------------------------------------------------------------------------------

--Pin planner –
DISEÑO DIGITAL VHDL

----------------------------------------------------------------------------------------------------------------

--Imágenes--

ASCENDENTE

DESCENDENTE
DISEÑO DIGITAL VHDL

IV.- Conclusiones:

• Esta práctica podría considerarse una introducción al clock integrado de la


FPGA siendo que el funcionamiento es relativamente sencillo, solo se utilizó
un solo display por lo que no había necesidad de añadir la parte de decenas
al código, se aprovechan los pulsos constantes del clock (cuya frecuencia
también es posible modificar) para realizar un cambio de estado. Se utilizo el
botón o switch para realizar la inversión del conteo.

• En esta práctica la considero una buena introducción al manejo de los displays


y como interaccionar con ellos a partir de condiciones y poder asignarles pines
de las FPGA para futuras prácticas.

Bibliografía:

----------------------------------------------------------------------------------------------------------------

Página web (2012). Altera Quartus II Herramientas de desarrollo. 2022, de Computer


informacion Sitio web: Altera Quartus II Herramientas de desarrollo (wingwit.com)

JFVILLA. (2020). Decodificadores BCD a 7 segmentos . 22-11-2021, de 7Robot Sitio


web: https://wp.7robot.net/decodificadores-de-bcd-a-7-segmentos/

LORENAGANTISANCH. (9 SEPTIEMBRE, 2019). Decodificador binario a 7


segmentos. 13 Marzo,2022, de PSOC BLOG Sitio web: Decodificador binario a 7
segmentos – PSOC BLOG (wordpress.com)

Ingeniería Mecafenix. (2018). Display de 7 segmentos. 2022, de La enciclopedia de


la ingeniería Sitio web: Display de 7 segmentos (como se usa) - Ingeniería
Mecafenix (ingmecafenix.com)

----------------------------------------------------------------------------------------------------

También podría gustarte