Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.
OBJETIVO:
Implementacin de un proyecto que incluya componentes software y hardware en la tarjeta SPARTAN 3EStarter, mediante las herramientas de diseo de Xilinx.
ISE Project Navigator v14.7 e iMPACT (para descarga del bitstream).
2.
CONSIDERACIONES PREVIAS:
Para la implementacin de este proyecto se usar el ISE Design Suite 14.7, que incluye las siguientes
herramientas, que para esta aplicacin cumplirn con las funciones que se presentan a continuacin:
I.
ISE Project Navigator: Es el contenedor del sistema principal y del subsistema que implementa el
microprocesador microblaze.
II.
El paquete de desarrollo EDK (Embedded Development Kit) se utiliza para construir el sistema de
procesamiento embebido denominado MicroBlaze. La implementacin de este sistema incluye las
siguientes herramientas:
a. Xilinx Platform Studio (XPS): usado para el diseo y configuracin del sistema embebido de
procesamiento, que en este caso ser el MicroBlaze.
b. Xilinx Software Development Kit (SDK): Ambiente integrado de desarrollo (IDE) para la
programacin de aplicaciones (software) en el MicroBlaze.
III.
El proyecto que se implementar tendr como objetivo visualizar actividad en los leds de tarjeta
SPARTAN 3E-Starter. La tarjeta tiene ocho leds, cuatro de ellos sern controlados por hardware
mediante una descripcin en VHDL y los otros cuatro sern controlados por software mediante un
programa implementado en el MicroBlaze.
IV.
Es necesario estudiar previamente el manual de tarjeta sobre la cual se va a implementar el diseo, para
este tutorial se utilizar la tarjeta SPARTAN 3E-Starter, cuyo manual se encuentra disponible en:
http://www.digilentinc.com/Data/Products/S3EBOARD/S3EStarter_ug230.pdf. Debe tener en cuanta
esta manual para la configuracin de entradas y salidas del sistema.
V.
El Error! Reference source not found. al final de este documento muestra detalles sobre el archivo de
configuracin de pines sugerido por el fabricante. Este archivo ser utilizado en este tutorial.
3.
3.1.
4.
CONSIDERACIONES GENERALES:
Cree una carpeta denominada leds_onoff_project. Dentro de esta carpeta se crearn, a lo largo de este
tutorial, los proyectos necesarios para el desarrollo de este ejercicio.
4.1.
4.2.
Abra el XPS:
Windows All Programs Xilinx Design Tools ISE Design Suite 14.7 EDK Xilinx Platform Studio
4.3.
Cree un nuevo proyecto seleccionando la opcin Create New Project Using Base System Builder.
4.4.
Ingrese el nombre del proyecto como se muestra en la figura. En la seccin de seleccin del sistema de
interconexin seleccione la opcin PLB System. Haga click en OK para continuar.
4.5.
En este caso crearemos un nuevo diseo, seleccione: I would like to create a new design y haga click en
Next.
4.6.
En la siguiente venta se selecciona la tarjeta que va a trabajar, en este caso seleccione Spartan 3E Starter
Board. Haga click en Next para continuar.
4.7.
4.8.
En la siguiente ventana podra configurar algunas opciones relacionadas con la frecuencia del reloj, el
tamao de la memoria o la habilitacin de Unidad de Punto Flotante. Para este ejemplo deje las opciones
que aparecen por defecto y haga click en Next.
4.9.
En la siguiente ventana puede aadir o remover perifricos del sistema. Para este ejemplo se dejarn
nicamente los perifricos necesarios, establezca la configuracin que se muestra en la siguiente figura:
4.10. En la siguiente ventana se puede configurar la Cache del procesador. Para este procesador no hay
memoria cache. Haga click en Next para continuar.
4.11. En la siguiente ventana (ver siguiente figura) aparecer un resumen del sistema que est creando. Haga
click en Finish para terminar el proceso.
4.12. Una vez que el asistente (BSB wizard) ha finalizado la creacin del sistema, se podran hacer las
modificaciones necesarias para cumplir con las especificaciones del diseo. Para este ejemplo no se
requieren modificaciones adicionales.
4.13. Generacin del Netlist (generacin del mdulo hardware que representa el MicroBlaze):
Hardware
Generate Netlist.
4.14. Cuando la generacin del Netlist haya finalizado contine con la siguiente seccin.
5.
5.1.
5.2.
En la carpeta raz cree un proyecto con el nombre ise_project. Haga click en Next para continuar.
5.3.
Configure el dispositivo como se muestra en la figura. Haga click en Next y en Finish para terminar.
5.4.
Aada el procesador embebido. Haga click en: Project Add Source, seleccione el archivo
E:\leds_onoff_project\mb_system\ microblaze_system.xmp. Si le aparece un mensaje sugiriendo que el
Proyecto creado anteriormente en el XPS ser modificado, seleccione la opcin Always Reload. Haga
click OK para finalizar.
5.5.
Puede ver el cdigo sugerido por ISE para declarar e instanciar el componente relativo al microblaze, para
esto haga doble click sobre la opcin View HDL Instantiation Template.
5.6.
Cree una nueva fuente (VHDL Module) con el nombre hw_top_module y copie el siguiente cdigo.
----------------------------------------------------------------------------------- Creado por: Javier Soto. 24/04/2015
---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity hw_top_module is
port( clk_50M : in std_logic;
reset
: in std_logic;
leds
: out std_logic_vector(7 downto 0));
end hw_top_module;
architecture Behavioral of hw_top_module is
COMPONENT microblaze_system
PORT(
fpga_0_clk_1_sys_clk_pin : IN std_logic;
fpga_0_rst_1_sys_rst_pin : IN std_logic;
fpga_0_LEDs_8Bit_GPIO_IO_O_pin : OUT std_logic_vector(0 to 7)
);
END COMPONENT;
attribute box_type : string;
attribute box_type of microblaze_system : component is "user_black_box";
signal fpga_0_clk_1_sys_clk_pin : std_logic;
5.7.
Cree un archivo de descripcin de pines (Project New Source Implementation Constaints File) con el
siguiente contenido:
NET
NET
NET
NET
NET
NET
NET
NET
NET
NET
"CLK_50M" LOC
"RESET" LOC =
"LEDS<7>" LOC
"LEDS<6>" LOC
"LEDS<5>" LOC
"LEDS<4>" LOC
"LEDS<3>" LOC
"LEDS<2>" LOC
"LEDS<1>" LOC
"LEDS<0>" LOC
5.8.
Asegrese que la propiedad FPGA start-Up Clock este en el valor JTAG Clock.
Para esto, en la ventana de procesos, haga click derecho sobre Generate programming file, seleccione
Process Properties, seleccione la categora Startup Options, en la propiedad FPGA start-Up Clock
seleccione el valor JTAG Clock.
5.9.
5.10. Abra el software de programacin iMPACT: haga doble click sobre Manage Configuration Project
(iMPACT).
5.11. Configuracin del iMPACT para programar el dispositivo (ver Figura 1).
a. Haga doble click sobre el cono Boundary Scan.
b. Haga click sobre el cono Initialize Chain.
c. Haga click derecho sobre el chip (xc3s500e) y seleccione la opcin Assign New Configuration File ,
donde asignar el archivo de configuracin o bitstream
(E:\leds_onoff_project\ise_projecthw_top_module.bit).
d. En la siguiente ventana haga click en No, debido a que no se han creado archivos de configuracin
para programar otros dispositivos disponibles en la tarjeta.
e. Haga nuevamente click derecho sobre el chip (FPGA) y seleccione la opcin Program, para descargar
el bitstream a la FPGA.
f. Haga click en OK en la ventana Device Programming Properties para continuar.
g. Si su circuito fue programado exitosamente aparecer el mensaje Program Succeeded y los leds que
han sido configurados por hardware parpadearn.
b. Initialize Chain
a. Boundary Scan
e.
c.
d.
6.
6.1.
6.2.
Haga doble click sobre Export Hardware Design To SDK with Bitstream.
6.3.
Es posible que el sistema le pregunte por la ubicacin del espacio de trabajo (o Workspace) donde
almacenar los proyectos software de su diseo. Para este ejemplo seleccione la ubicacin:
E:\leds_onoff_project\SDK_Workspace
6.4.
6.5.
En la siguiente ventana ingrese el nombre del proyecto que va a crear. Tenga en cuenta que este es un
proyecto de software que estar ligado al proyecto de hardware (microblaze_system_hw_platform)
creado anteriormente. Tenga en cuenta que en este caso tambin se crear un nuevo paquete de soporte
a la tarjeta o Board Support Package (BSP). Haga click en Next para continuar.
6.6.
Seleccione una plantilla para el nuevo proyecto que est creando. En este caso se escoger una aplicacin
vaca, como se muestra a continuacin. Haga click en Finish para continuar.
6.7.
Cree una nueva fuente en el proyecto software que acaba de crear: En el proyecto leds_onoff_swprj,
haga click derecho sobre la carpeta src y cree un nuevo archivo como se muestra en la figura. El nuevo
archivo se llamar led_onoff_code.c.
6.8.
6.9.
Para compilar el archivo debe guardarlo (Ctr+S). El archivo se compilar automticamente siempre y
cuando este habilitada esta opcin (Project Build Automatically).
, y seleccione la
6.11. La secuencia programada por software debera verse simultneamente con la secuencia programada por
hardware.