LABORATORIO DE SISTEMAS DIGITALES .Practica N° 05. Contador 0-9 con LEDs de la tarjeta FPGA y DISPLAY de 7 segmentos con VHDL
Enviado por kellogstj4 • 26 de Abril de 2021 • Documentos de Investigación • 953 Palabras (4 Páginas) • 322 Visitas
Practica N° 05. Contador 0-9 con LEDs de la tarjeta FPGA y DISPLAY de 7
segmentos con VHDL..
LABORATORIO DE SISTEMAS DIGITALES.
Área Académica de Eléctrica, Electrónica y Control
Viernes 25 marzo 2021
[pic 1]
Kevin Jair Sánchez Carrillo
0224203
IME
INTRODUCCIÓN
Marco teórico:
En esta práctica usaremos más a detalle Quartus, analizando más a detalle las diversas herramientas, en este caso el uso de VHDL y programando FPGA.
Objetivo:
∙ Que el alumno elabore su primer programa con el reloj interno del FPGA en VHDL mostrando salidas en secuencia de leds y Display de 7 segmentos.
Resultados esperados:
Espero aprender a usar mejor Quartus, ya que se ve que tiene muchas herramientas, como lo es programar el FPGA.
DESARROLLO
Equipo y material necesario:
Computadora.
Fuente de 5VDC.
Multímetro.
Tarjeta FPGA Altera Cyclone II EP2C5T144
Programador Altera USB Blaster
Display de 7 segmentos de 1 o 4 dígitos
Teoría:
VHDL es un lenguaje de descripción de circuitos electrónicos digitales que utiliza distintos niveles de abstracción. El significado de las siglas VHDL es VHSIC (Very High Speed Integrated Circuits) Hardware Description Language. Esto significa que VHDL permite acelerar el proceso de diseño. VHDL no es un lenguaje de programación, por ello conocer su sintaxis no implica necesariamente saber diseñar con él. VHDL es un lenguaje de descripción de hardware, que permite describir circuitos síncronos y asíncronos.
Los dispositivos de lógica programable más versátiles son los
FPGA (Field Programmable Gate
Array), ya que permiten realizar diseños a medida, con bajo
costo de desarrollo, incluso para la
producción de pocas unidades. Sus bloques lógicos y sus
recursos de interconexión son
configurables, características por las que son ampliamente
empleados al realizar prototipos
express.
En el presente trabajo se plantea el desarrollo de un sistema
basado en FPGA.
- DATOS MEDIDOS Y/O RESULTADOS:
Usamos el siguiente código:
-------------------------------------------------------------
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY Practice_05 IS
PORT (
clock : IN STD_LOGIC;
LEDs : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
Output_01: out STD_LOGIC
);
END Practice_05;
ARCHITECTURE COUNTER OF Practice_05 IS
constant max_count: INTEGER := 50000000;--50000000;
constant f: INTEGER := 1;
constant T1: INTEGER := max_count/f;
constant retraso: INTEGER := T1/3;
constant Duty: INTEGER := 50;--ciclo de trabajo entre 0 y 100
signal count1: INTEGER range 0 to T1;
signal count2: INTEGER range 0 to 7;
signal clk_state: STD_LOGIC := '0';
--signal D: integer := (T1/100)*Duty;-- ciclo de trabajo 1/100
BEGIN
-----------------señales de reloj----------------------------
-------------------------------------------------------------
process(clock,count1,count2)
--variable D: integer := (T1/100)*Duty;-- ciclo de trabajo 1/100
variable D: integer;-- := (T1/100)*Duty;-- ciclo de trabajo 1/100
begin
D:=(T1/100)*Duty;
-------------------------------------------------------------
if clock'event and clock='1' then
if count1 < T1 then
count1 <= count1+1;
else
count1 <= 0;
count2 <= (count2+1);
end if;
end if;
-------------------------------------------------------------
if count1 < D then
Output_01<='1';
else
Output_01<='0';
end if;
-------------------------------------------------------------
if count2 = 8 then
count2 <= 0;
Universidad Panamericana Práctica No. 05
Elaborado por: ANTONIO VALDERRÁBANO GONZÁLEZ 3 de 3
...