tutorial sobre FPGAs - Cinvestav

Anuncio
CINVESTAV-Tamaulipas
Arquitectura de Computadoras
Agosto - Diciembre 2013
Instructor: Dr. César Torres Huitzil
Laboratorio I
Este laboratorio proporciona una introducción al uso de las herramientas asistidas por computadora (CAD) para la programación de dispositivos lógicos programables (FPGA - Field
Programmable Gate Array), útiles en la implementación de sistemas digitales y particularmente de utilidad en el curso de Arquitectura de Computadoras para el diseño del procesador
MIPS simple. Especı́ficamente, se introduce el uso de la herramienta Xilinx ISE Design Suite
para la programación de dispositivos FPGA a partir de la sı́ntesis de un diseño especificado
en un lenguaje de descripción de hardware (VHDL).
El desarrollo de este laboratorio consiste esencialmente en seguir un conjunto de pasos del
flujo de diseño a manera de tutorial en el entorno de desarrollo de Xilinx ISE. Sin embargo
es importante poner atención y analizar cada uno de estos pasos y comprender el proceso de
diseo basado en FPGA. Se asume que ha realizado la instalación exitosa de las herramietas
Xilinx ISE y se cuenta con la tarjeta de prototipado Spartan3E starter kit.
Se implementarán tres circuitos digitales simples a partir de códigos fuente con la descripción VHDL de cada uno de ellos, asi como el archivo de restricciones de usuario
(UCF): a) una compuerta and de dos entradas, b) un multiplexor de 4-1, de un bit y
c) un contador ascendente de 4 bits,
Creación de un proyecto en Xilinx ISE
1. Ejecute Xilinx ISE y cree un nuevo proyecto para cada uno de los circuitos digitales
a implementar. Asigne un nombre al proyecto. Asegurese de seleccionar los siguientes
parámetros: Device options: Family −→ Spartan3E, Device −→ XC3S500E, Package
−→ FG320, Speed −→ -5, Top-level source type −→ HDL, Syntheis tool −→ XST.
2. Agregue los códigos fuente (.vhd y .ucf) de uno de los circuitos digitales sugeridos.
Dentro de ISE vaya a Project −→ Add source. Para implementar y verificar al resto
de los circuitos se repite el procedimiento.
3. Seleccione el archivo gate.vhd en la ventana Hierarchy dentro de ISE. Haga click
con botón derecho y seleccione Set as Top Module en las opciones presentadas. El
contenido de gate.vhd se muestra como ejemplo en el listado de código de la página 2.
1
2
Laboratorio Arquitectura de Computadoras
4. En la ventana de Processes, ejecute la siguiente secuencia de pasos al dar doble click
en cada etapa: 1) Synthesize - XST, 2) Implement Design, Generate Programming File.
library IEEE;
use IEEE.STD LOGIC 1164.ALL;
use IEEE.STD LOGIC ARITH.ALL;
use IEEE.STD LOGIC UNSIGNED.ALL;
entity gate is
Port ( a : in STD LOGIC;
b : in STD LOGIC;
c : out STD LOGIC);
end gate;
architecture Behavioral of gate is
begin
process(a,b)
begin
c <= a and b;
end process;
end Behavioral;
5. Asegurese que la fase anterior este libre de errores. Dentro de la carpeta del proyecto,
se habrá creado el archivo con extensión (.bit), el cual se usará con la herramienta
IMPACT para la programación fı́sica del dispositivo FPGA.
Trabajo requerido
• Realice una validación funcional de cada uno de los circuitos utilizando el simulador
iSim: Design −→ View −→ Simulation −→ Simulate Behavioral Model
• Escriba un reporte breve del trabajo realizado. El reporte debe ser enviado electrónicamente
(PDF) en formato libre. En el reporte debe incluir al menos lo siguiente.
1. Una descripción breve de la funcionalidad de cada una de las etapas fundamentales
en el flujo de diseño FPGA.
2. Transfiera y valide los circuitos en la tarjeta de desarrollo Spartan3E500 starter
kit. Comente sus experiencias.
Descargar