UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO.
FACULTAD DE INGENIERÍA.
DIVISIÓN DE INGENIERÍA ELÉCTRICA.
Profesor
:
Ing. Arredondo Garza José Antonio de Jesus
Materia
:
Arquitectura de computadoras
Integrantes:
:
Castillo Montes Alan
Pantoja Ramírez Maximiliano
Ramírez Flores Karla Viridiana
Torres Peña Jesús Francisco
Práctica 1
:
Introducción a las Herramientas de
Desarrollo de los FPGAs
Fecha de entrega
:
Jueves 29 de Noviembre del 2018
Índice
Objetivo
2
Introducción
2
Material
2
Desarrollo
3
Capturas
3
Conclusiones
4
Objetivo
Conocer la estructura y características de la tarjeta de los dispositivos lógicos programables que se
dispone en el laboratorio, tarjeta TerAsic, el software de operación de esta, Quartus, y su
programación en lenguaje VHDL y gráfico.
Introducción
Una FPGA o matriz de puertas programables (del inglés Field Programmable Gate Array) es un
dispositivo programable que contiene bloques de lógica cuya interconexión y funcionalidad puede ser
configurada in situ mediante un lenguaje de descripción especializado. La lógica programable puede
reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema
combinacional hasta complejos sistemas en un chip.
Para poder manejar de forma correcta una FPGA existen diversas herramientas para lograrlo, la
principal es un IDE (entorno de desarrollo integrado) los cuales son de vital importancia para la
programación de éstas. Durante el desarrollo de esta práctica lograremos apreciar y ejemplificar el
manejo del software VHDL Quartus v9.1 el cuál será nuestra herramienta principal a lo largo del
curso para la programación de nuestra FPGA.
La gran parte de las tarjetas recientes FPGA cuenta con un reloj integrado, sin embargo, este es de una
frecuencia muy alta, esto es con el propósito de que se apliquen divisores de frecuencia con los
cuales se toma la señal del reloj, y mediante una operación se calcula el número de operaciones que se
deben hacer para que el reloj se tarde lo deseado en emitir la señal de subida o bajada según sea el
caso.
Material
●
●
Tarjeta de desarrollo FPGA Cyclone II.
IDE para el desarrollo de programas VHDL Quartus v9.1
Desarrollo
Código:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity divider is
Port ( reloj : in std_logic; div_clk : out std_logic);
end divider;
architecture Behavioral of divider is begin
process (reloj)
variable cuenta: std_logic_vector (27 downto 0):=X"0000000"; begin
if rising_edge (reloj) then
if cuenta=X"4000000" then
cuenta:=X"0000000"; else
cuenta:= cuenta+1; end if;
end if;
div_clk <= cuenta (25); end process;
end Behavioral;
Capturas
Gráfica antes de la simulación
Gráfica final
Conclusiones
-Castillo Montes Alan
La práctica se desarrolló bien y pudimos observar la gráfica como nos la mostraba el manual.
En conclusión, la práctica se realizó de una manera correcta procurando hacer ver el correcto
funcionamiento de las FPGA y complementar algunos conceptos ya empleados en clase.
-Pantoja Ramírez Maximiliano
Se cumplió el objetivo de la práctica ya que logramos comprender más a fondo el funcionamiento del
lenguaje vhdl y también sobre la herramienta para compilar dicho lenguaje, así como también
pudimos observar y simular a la perfección en el programa de Quartus II.
-Ramírez Flores Karla Viridiana
La práctica tuvo varios problams en cuanto a la compilación y progrmaación a la hora de pasarla a un
fpga, pero comprobamos que funciona gracias a la simulación lograda y a los pasos seguidos en el
manual, así que los objetivos fueron cumplidos.
.
-Torres Peña Jesús Francisco
Se cumplió el objetivo de esta práctica ya que se pudo ver el manejo de la FPGA y recordamos
algunos conceptos ya aprendidos anteriormente sobre el manejo de estas, adema que no recordaba
mucho del lenguaje VHDL.