You are on page 1of 23

Tutorial 1 FPGA Xilinx Spartan3

TUTORIAL
PROGRAMACION DE FPGA EN SOFTWARE XILINX-ISE
WEBPACK

El objetivo del tutorial, es enseñar al alumno el uso y programación de los


FPGA’s. Por medio del VHDL (Very high speed integrated circuit Hardware
Description Language), el software Xilinx-ISE WEBPACK para su
implementación y el software Digilent ExPort, este último para descargarlo al
dispositivo FPGA.

Se realizará un sumador de 3 bits, como se muestra a continuación

I. Se expresa la ecuación.

Suma = A + B + C

II. Se realiza la tabla de verdad en base a la ecuación con todas sus


posibilidades: 2n = 24 = 8 donde “n” son el número de variables de entrada.

4 2 1 2 1
A B C SC S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

III. Se reduce la ecuación, utilizando las reglas del algebra booleana.

SC = A BC + AB C + ABC + ABC
SC = BC (A + A) + A(B C + BC )
SC = BC + A(B ⊕ C )
S = A B C + A BC + AB C + ABC
S = A (B C + BC ) + A(B C + BC )
(
S = A (B ⊕ C ) + A B ⊕ C )
S = A ⊕ (B ⊕ C )

1
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
IV. A continuación se configura la programación en el software Xilinx-ISE
WEBPACK

Primero es recomendable crear una carpeta en la unidad C, para guardar


cada proyecto que se realice, ya que al no existir un orden los archivos que se
generan pudiesen guardarse en otras ubicaciones y al momento de
ejecutarse, al no encontrarse los archivos en la carpeta creada en C, pudiese
generar un error.

1. Se crea la carpeta en la unidad C.

La carpeta se
llamará “Tutorial
Sumador”.

2. Se abre el programa (start → programs → Xilinx ISE Design Suite → Project


Navigator).
3. Se inicia un nuevo proyecto.

2
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

4. Se nombra el proyecto, para fines practicos lo llamamos


SUMADOR_TUTORIAL.

Nombre del
proyecto. Se busca la carpeta
en donde se desea
guardar el proyecto,
en nuestro caso
utilizamos la carpeta
creada en C,
“Tutorial Sumador”.

5. Se selecciona las opciones de acuerdo a las caracteristicas del FPGA y se le


da clic en “Next”.

3
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

6. Se selecciona “New Source”.

7. Se selecciona el modulo VHDL y se escribe un nombre al archivo, que en este


caso se nombrara igual SUMADOR_TUTORIAL y se selecciona ”Next”.

4
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
8. Se introducen las variables y se definen cuales son entradas y salidas en la
columna de “Description” y por último se selecciona “Next”.

En esta
opción elije si
es entrada o
salida.

9. Se termina de configurar el proyecto y se da clic en “Finish”.

5
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
10. A continuación aparece la pantalla, donde muestra si se desea crear el
directorio del proyecto, donde se selecciona la opción “Yes”.

11. Se selecciona “Next”.

6
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

12. Se selecciona nuevamente “Next”.

13. Se finaliza el proyecto, seleccionando la opción “Finish”.

7
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
14. Se selecciona “OK” en la pantalla emergente titulada “Adding Source
Files…”. (En versiones anteriores puede no aparecer la siguiente pantalla.)

15. Se observa las Iibrerias predeterminadas.

8
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
16. Se escriben las ecuaciones del sumador de 3 bits en el lenguaje VHDL en el
cuerpo del programa (begin-end).

Cuerpo del programa

17. Se compila el programa en la ventana de “processes”, en “Synthesize- XST”


se da doble clic para compilar el programa y emergerá una pantalla donde se
aceptan los cambios.

9
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

18. Si apareciese algún o algunos WARNINGS, se


recomienda volver a compilar con un clic
derecho en “Synthesize- XST” y en “rerun”.

19. En la ventana de “processes”, a


continuación se despliegua el árbol de
“Synthesize- XST” y se selecciona dando
doble clic en “View RTL Schematic” para
ver su diagrama esquemático.

20. Aparece la vista del diagrama, si se le da doble clic dentro del cuadro que
encierra la compuerta, aparecen los diagramas de sus componentes. Si se da
doble clic fuera del recuadro que encierran las compuertas, regresará a su
forma simplificada.

10
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

21.Forma del diagrama desarrollado.

22. En la primer ventana de “Synthesis/Implementation”(en versiones


posteriores a la versión 9.02 sólo aparece como “Implementation”), dar un
clic derecho y agregar nueva fuente (New Source) para crear los diagramas
de tiempo para la simulación.

11
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

Nota: Para poder agregar


una nueva fuente, en la
ventana de “Processes”,
la pestaña de “Source”
debe estar seleccionado.

23. Se selecciona la opción “Test Bench WaveForm” y al archivo se nombra


diferente que el archivo anterior, en este caso se nombró “SUMTUT”.

12
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

24. Se asocia este archivo con el anterior dando clic en “Next”.

25.Se finaliza la asociación.

13
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
26. Se asiganan los parametros. Para el caso se da un tiempo de reloj alto y
bajo de 10 nanosegundos durante el cambio de fase y un tiempo total de
simulación de 100 ns.

Ventana con datos


predeterminados.

Se selecciona el
término LSB

Se selecciona la
opción “Dual
Edge”

Se deselecciona
la opción

14
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

27. Se acomoda y realiza los cambios necesarios para crear el diagrama de


tiempos con las señales de entrada, de acuerdo a las entradas de la tabla de
verdad.

28. Se guardan los cambios.

29. En la ventana de source, en el menu de “Sources for:” se selecciona


“Behavioral Simulation” y en la ventana “processes”, se selecciona la opción
“Simulate behavioral Model” se da doble clic, para ver el comportamiento de
las salidas.

15
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

30. Si aparece esta pantalla, regresa al paso anterior y se ejecuta de nuevo en


“rerun”, acepatando los cambios.
31. Para correr la simulación, oprime el botón que se ecuentra en la barra de

16
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
herramientas .

32. Se regresa nuevamente al despliegue de la ventana de “Sources” y se


selecciona la opción “Synthesis/Implementation”, y se un clic derecho en
cualquier parte de la ventana para agregar una nueva fuente “New Source”.

33. Se selecciona la opción “Implementation Constraints File” y se nombra el


archivo como el primero.
17
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

34. Se finaliza.

18
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
35. En la ventana de “processes” se selecciona la opción “Edit Constraints
(Text)”. Aquí se declara las entradas y salidas de acuerdo a la hoja de
especificaciones de la compuerta.Una vez realizado se guardan los cambios.

Entradas y salidas del circuito, según la


hoja de datos del FPGA.
36. Se selecciona la opción “Generate Programming File” y se da doble clic para
generar el archivo.bit, que se usa para la configuracion del FPGA.

Nota: Se debe seleccionar esta parte


para poder ver la opción “Generate
Programming File”, de lo contrario no
aparecerá.

19
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
37. Por último aparce una ventana de diálogo y se cierra, por tanto nuestro
programa queda finalizado.

38. El archivo .bit se guarda en la carpeta que se creo en C.

20
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

V. A continuación se presenta el modo de programación del circuito.

1. Se abre el programa (start → programs → Digilent → Adept → ExPort).

2. Se agrega el archivo para programar el circuito en “Add File...”, en el menú o


el icono de acceso directo.

21
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3

3. Se busca el archivo .bit en la carpeta creada para el sumador en la unidad C


y se abre.

4. Una vez abierto aparece disponible en la ventana de “Configuration Files”. A


continuación se selecciona el archivo del menú y se da clic en el botón de
“Initialize Chain”.

22
Electrónica Digital
M.C. Lidia Rascón M.
Tutorial 1 FPGA Xilinx Spartan3
5. Se busca el nombre de nuestro archivo agregado y se da clic en “Program
Chain”, para hacer la descarga al circuito del FPGA.

6. Por último, emerge un mensaje diciendo que el dispositivo ha sido


programado exitosamente y se la da “OK”..

7. Así se concluye este tutorial, donde se enseño una forma sencilla de


programar un FPGA, desde sus ecuaciones hasta descarga final al circuito.

Autores del tutorial:

M.C. Lidia Rascón M.


Eduardo Martínez Mejía
Diego Alonso López Medina
Juan Ángel Ibarra Moreno

23
Electrónica Digital
M.C. Lidia Rascón M.

You might also like