Sei sulla pagina 1di 30

Universidad Don Bosco

I.

Instituto de Investigacin e Innovacin en Electrnica

Spartan-6-LX9-MicroBoard.

1. Tarjeta.

Figura 1: Vista superior.

Figura 2: Vista inferior.

2. Diagrama de pines de entrada y salida.

Figura 3: Descripcin de pines.

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

3. Ejemplo de especificacin de pines en archivo *.ucf1.


Donde GPIO_IO_O_pin corresponde al nombre asignado a la variable que se define en la entidad
del elemento que queremos desarrollar en el cdigo VHDL, ya sea este Entrada o Salida. F15 por
ejemplo representa el nombre fsico del pin 1 del puerto J5 por el cual queremos enviar o recibir
un dato a un estndar de 3.3V definido con la palabra reservada LVCMOS33. El texto en verde
son comentarios que se omitirn en el Place & Route.
# Connector J5
NET "GPIO_IO_O_pin<0>"
NET "GPIO_IO_O_pin<1>"
NET "GPIO_IO_O_pin<2>"
NET "GPIO_IO_O_pin<3>"
NET "GPIO_IO_O_pin<4>"
NET "GPIO_IO_O_pin<5>"
NET "GPIO_IO_O_pin<6>"
NET "GPIO_IO_O_pin<7>"

LOC = F15 | IOSTANDARD = LVCMOS33;


LOC = F16 | IOSTANDARD = LVCMOS33;
LOC = C17 | IOSTANDARD = LVCMOS33;
LOC = C18 | IOSTANDARD = LVCMOS33;
LOC = F14 | IOSTANDARD = LVCMOS33;
LOC = G14 | IOSTANDARD = LVCMOS33;
LOC = D17 | IOSTANDARD = LVCMOS33;
LOC = D18 | IOSTANDARD = LVCMOS33;

# "PMOD1_P1"
# "PMOD1_P2"
# "PMOD1_P3"
# "PMOD1_P4"
# "PMOD1_P7"
# "PMOD1_P8"
# "PMOD1_P9"
# "PMOD1_P10"

NET "GPIO_IO_O_pin<8>" LOC = H12 | IOSTANDARD = LVCMOS33;


NET "GPIO_IO_O_pin<9>" LOC = G13 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<10>" LOC = E16 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<11>" LOC = E18 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<12>" LOC = K12 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<13>" LOC = K13 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<14>" LOC = F17 | IOSTANDARD = LVCMOS33;
NET "GPIO_IO_O_pin<15>" LOC = F18 | IOSTANDARD = LVCMOS33;

# "PMOD2_P1"
# "PMOD2_P2"
# "PMOD2_P3"
# "PMOD2_P4"
# "PMOD2_P7"
# "PMOD2_P8"
# "PMOD2_P9"
# "PMOD2_P10"

# Connector J4

4. Caractersticas y beneficios principales2.

1
2

10/100 Ethernet PHY


128 Mb Multi-I/O SPI Flash
4-bit DIP switch
64 MB LPDDR SDRAM
Four LEDs
On-board USB JTAG circuitry
Over-voltage and ESD protection on USB
Programmable clock chip
Reset and PROG push-buttons
Several pre-built MicroBlaze systems
Single-chip, 3-rail power with Power Good indicator
Spartan-6 XC6SLX9-2CSG324C FPGA
Two Digilent Pmod compatible headers (2x6)
USB-to-UART port

User Constraints File, por sus siglas en ingles (UCF).


Tomado de: http://www.xilinx.com/products/boards-and-kits/1-3i2dfk.html

Luis Kelman Belloso Huezo

Universidad Don Bosco

II.

Instituto de Investigacin e Innovacin en Electrnica

Clasificacin de tarjeta por cdigo.

Figura 4: Clasificacin de tarjetas Spartan3.

Figura 5: Xilinx Spartan-6 XC6SLX9-CSG324 FPGA de la UDB.

III.

Pasos para la creacin de aplicaciones.

1. Esquematizar mental o grficamente el circuito que se pretende desarrollar.


2. Crear el proyecto conforme a las especificaciones de la tarjeta con su respectiva FPGA
(ver figura 6 y 7).
3. Escribir el cdigo vhdl.
4. Sintetizar el cdigo.
3

Segunda referencia bibliogrfica, pgina 5.

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

5. Verificar el diagrama esquemtico.


6. Realizar el test bench para el archivo vhdl (simular el comportamiento del sistema).
7. Asignar las variables segn las especificaciones de pines de la tarjeta que se posea.
8. Realizar el Place & Route.
9. Generar el Programming File.
10. Descargar el archivo con extensin .bit sobre la FPGA.
11. Realizar las pruebas de funcionamiento.

1. Esquematizar mental o grficamente el circuito que se pretende desarrollar.


La idea del primer cdigo ejemplo de VHDL hace referencia a los circuitos de las figuras 6
y 7, la funcin es que cuando se accione un interruptor del minidip SW1 en la figura 5 se
encienda el correspondiente Led (figura 6), pasando los datos a travs de la Spartan 6
FPGA (Figura 7).
LED1 LED2 LED3

LED4

DIP1
DIP2
DIP3
DIP4

Figura 6: Circuito a generar con el VHDL.

Figura 7: Esquemtico de la tarjeta conectado.

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

2. Creacin de proyectos con ISE y Spartan-6 LX9.


a) Iniciar el software ISE.
Inicio / Todos los Programas / Xilinx Design Tools / ISE Design Suite 14.7 / ISE
Design Tools / 32-bit Project Navigator
Inicio / Todos los Programas / Xilinx Design Tools / ISE Design Suite 14.7 / ISE
Design Tools / 64-bit Project Navigator
b) Creacin de un Proyecto en ISE.
1) En la barra de mens seleccione File/New Project. Aparecer la ventana de opciones
de un nuevo proyecto (New Project Wizard).
2) Introduzca el nombre del ejercicio de laboratorio, y navegue para encontrar el
directorio ya creado o cree uno. Ver figura 8.
3) Seleccione tipo HDL desde la opcin Top-Level Source Type y presione el botn
Next, lo cual desplegar la ventana de la figura 9.

Figura 8: Creacin de un nuevo proyecto, pasos 1), 2) y 3).

4) Seleccione las opciones de la figura 9 (conforme a la tarjeta sobre la que desarrollar la


aplicacin, ver figura 5 para el caso de la universidad) y luego presione el botn Next lo
que desplegar la ventana de la figura 10.
Property Name
Family
Device
Package
Speed
Luis Kelman Belloso Huezo

Value
Spartan6
XC6SLX9
CSG324
-2
5

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Preferred language
VHDL Source Analysis Standard

VHDL
VHDL-200X

5) Presione el botn Finish para crear el proyecto.

Figura 9: Configuracin de nuevo proyecto, paso 4).

Figura 10: Configuracin de nuevo proyecto, paso 5).

3. Creacin de archivo VHDL (very hardware description language).


1) De clic derecho sobre la segunda lnea (xc6slx9-2csg324) del cuadro superior izquierdo
de la ventana de navegacin del proyecto (figura 11).
2) Elija la opcin New Source
Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 11: Creacin de archivos, pasos 1) y 2).

3) En la ventana New Source Wizard, seleccione la opcin VHDL Module, colquele un


nombre al archivo en el campo File Name:, este ser el nombre que adopte la entidad
dentro de nuestro bloque o circuito a describir, verifique que el check box Add to
Project este activo y de clic en el botn Next tal como lo indica la figura 12.

Figura 12: Creacin de archivos, paso 3).

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

4) Como puede observar en la figura 13 ya aparece el nombre de la entidad, coloque en las


filas los nombres de las variables de entrada y salida de su sistema, as como la
longitud de los vectores o buses a utilizar (considerando que la posicin 0 cuenta como
valor) con la lista desplegable elija la direccin del flujo de datos (in, out o inout) tal
como lo indica la figura 13 y de clic en el botn Next.

Figura 13: Creacin de archivos, paso 4), eleccin de entradas y salidas del componente.

5) La figura 14 muestra un breve resumen de los atributos seleccionados en la creacin del


modulo VHDL. De clic izquierdo en el botn Finish.

Figura 14: Creacin de archivos, paso 5).

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

6) Se mostrar en el editor de cdigo VHDL de ISE, el uso de libreras por defecto, la


descripcin de la entidad con sus respectivos puertos, una serie de comentarios (en
color verde) y dentro de la arquitectura (despus de la palabra reservada Begin)
escribiremos cdigo que describa el circuito que deseamos implementar sobre la
FPGA4. Para este ejemplo escribiremos entre la palabra Begin y end Behavioral; la
sentencia (ver figura 15, note que se ha sombreado la nica lnea de cdigo que se ha
escrito):
Salidas <= Entradas;

Figura 15: Creacin de archivos VHDL, paso 6).

4. Sintetizar el cdigo.
Este proceso permite:
Verificar la sintaxis del cdigo VHDL escrito.
La conversin del cdigo VHDL a un circuito digital equivalente ya sea a LUTs o
circuitos MSI.
Abrir una vista del circuito digital equivalente al cdigo VHDL escrito.
1) De clic izquierdo sobre el nombre del archivo VHDL debajo de la lnea xc6slx92csg324, del cuadro superior izquierdo de la ventana de navegacin del proyecto (figura
16).
2) En el cuadro inferior izquierdo, de clic derecho sobre la opcin Synthetize XST, elija
la opcin Rerun All del men desplegable.
4

Se debe aclarar que al interior de la FPGA no existen compuertas, lo que la FPGA hace es crear LUT
(lookup table del ingls "tabla de consulta"), la interpretacin de las mismas la hace el ISE para nuestro mejor
entendimiento.

Luis Kelman Belloso Huezo

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 16: Sintetizar cdigo VHDL, paso 2).

5. Verificar el diagrama esquemtico.


1) De clic izquierdo sobre el nombre del archivo VHDL debajo de la lnea xc6slx92csg324, del cuadro superior izquierdo de la ventana de navegacin del proyecto (figura
16).

Figura 17: Sintetizar cdigo VHDL, paso 2).

Circuito simple:
2) De doble clic izquierdo sobre la opcin View Technology Schematic.
3) De clic en el botn Add -> y luego el botn Create Schematic (figura 18).
Luis Kelman Belloso Huezo

10

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 18: Verificar diagrama esquemtico, paso 3).

Circuito complejo (es una abstraccin del diseo):


4) De doble clic izquierdo sobre la opcin View RTL Schematic.
5) En la ventana (figura 19) que se despliegue presione el botn Ok.
6) De clic en el botn Add -> y luego el botn Create Schematic (figura 20).
7) Se desplegar una figura de bloque que al hacer doble clic izquierdo sobre la misma
mostrar el circuito de la figura 21.

Figura 19: Verificar diagrama esquemtico, paso 5).

Luis Kelman Belloso Huezo

11

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 20: Verificar diagrama esquemtico, paso 6).

Figura 21: Verificar diagrama esquemtico, paso 7).

6. Realizar el test bench para el archivo vhdl (simular el comportamiento del


sistema).
1) De clic derecho sobre la segunda lnea (xc6slx9-2csg324) del cuadro superior izquierdo
de la ventana de navegacin del proyecto (figura 11).
2) Elija la opcin New Source
3) En la ventana New Source Wizard, seleccione la opcin VHDL Test Bench,
colquele un nombre al archivo en el campo File Name:, la extensin del archivo ser
Luis Kelman Belloso Huezo

12

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

.vhd al igual que al archivo del cdigo fuente en VHDL por lo que si escribe el mismo
nombre para el test bench estar intentando sobre escribir el cdigo VHDL, por lo que
se recomienda agregar _tb al final del nombre del archivo del teste bench para
diferenciarlo del cdigo VHDL.
4) Verifique que el check box Add to Project este activo y de clic en el botn Next tal
como lo indica la figura 22.

Figura 22: Creacin de archivo test bench, pasos 3) y 4).

5) De clic izquierdo en el botn Next -> de la figura 23.


6) Para finalizar de clic izquierdo en el botn Finish -> de la figura 24.

Figura 23: Creacin de archivo test bench, paso 5).

Luis Kelman Belloso Huezo

13

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 24: Creacin de archivo test bench, paso 6).

7) Comente o elimine las partes referidas al clock porque el circuito de la figura 7 no


utiliza el reloj.

Luis Kelman Belloso Huezo

14

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

8) Luego se agregan las combinaciones posibles de los interruptores de entrada en la


seccin del proceso de estimulacin stim_proc:.

Figura 25: Creacin de archivo test bench, pasos 9) al 11).

Luis Kelman Belloso Huezo

15

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

9) De clic izquierdo en el botn de opcin Simulation en el cuadro superior izquierdo.


10) Seleccione
el
nombre
del
archivo
del
test
bench:
KBH001_LX9_Handshaking_tb.vhd (este es el nombre del ejemplo que se est
realizando).
11) Luego en el cuadro inferior izquierdo de clic derecho sobre la opcin Behavioral
Check Syntax y elija la opcin Run tal como se muestra en la figura 25. Si usted no ha
guardado el archivo antes de correr esta opcin le pedir guardar el archivo del test
bench tal como se indica en la figura 26 a lo que deber contestar en el botn Yes.

Figura 26: Creacin de archivo test bench, paso 11).

12) En el cuadro inferior izquierdo de clic derecho sobre la opcin Simulate Behavioral
Model y elija la opcin Run de la figura 25. Esto abrir el software Isim donde podr
corroborar las respuestas en el diagrama de tiempos de la figura 27.
13) De clic en el icono Zoom to Full View y verifique que a medida que las entradas toman
valores cada 50 ns las Salidas obtienen el valor de las Entradas.

Figura 27: Creacin de archivo test bench, paso 13).

7. Asignar las variables segn las especificaciones de pines de la tarjeta


(archivo .ucf) que se posea.
1) De clic derecho sobre la segunda lnea (xc6slx9-2csg324) del cuadro superior izquierdo
de la ventana de navegacin del proyecto (figura 11).
2) Elija la opcin New Source
Luis Kelman Belloso Huezo

16

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

3) En la ventana New Source Wizard, seleccione la opcin Implementation Constraints


File, colquele un nombre al archivo en el campo File Name:, la extensin del archivo
ser .ucf.
4) Verifique que el check box Add to Project este activo y de clic en el botn Next tal
como lo indica la figura 28.
5) Para finalizar el asistente de clic izquierdo en el botn Finish de la figura 29.

Figura 28: Creacin de archivo de relacin de pines, paso 3).

Figura 29: Creacin de archivo de relacin de pines, paso 3).

6) Abra el archivo Avt_S6LX9_MicroBoard_UCF_110804.ucf y copie el contenido del


mismo a su archivo KBH001_LX9_Handshaking_tb.ucf recin generado y deje
nicamente la parte de los leds e interruptores. El contenido de su archivo debera
verse similar al de la Figura 30.

Luis Kelman Belloso Huezo

17

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 30: Creacin de archivo de relacin de pines, paso 6).

7) Relacione las variables del cdigo VHDL (KBH001_LX9_Handshaking.vhd) dentro


de la entidad conforme a la descripcin de pines de la tarjeta
(KBH001_LX9_Handshaking_tb.ucf) con su respectiva FPGA (figura 2 y 3).
KBH001_LX9_Handshaking.ucf

LSB

MSB

KBH001_LX9_Handshaking.vhd
Figura 31: Creacin de archivo de relacin de pines, paso 7).

Luis Kelman Belloso Huezo

18

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

8. Realizar el Place & Route.


1) De clic izquierdo en el botn de opcin Implementation en el cuadro superior
izquierdo.
2) Seleccione el nombre del archivo del cdigo VHDL: KBH001_LX9_Handshaking.vhd
(este es el nombre del ejemplo que se est realizando).
3) Luego en el cuadro inferior izquierdo de clic derecho sobre la opcin Implement
Design y elija la opcin Rerun All tal como se muestra en la figura 32.

Figura 32: Place & Route, paso 3).

9. Generar el Programming File.


1) En el recuadro superior izquierdo, seleccione el nombre del archivo del cdigo VHDL:
KBH001_LX9_Handshaking.vhd (este es el nombre del ejemplo que se est realizando).
2) Luego en el cuadro inferior izquierdo de clic derecho sobre la opcin Generate
Programming File y elija la opcin Rerun All tal como se muestra en la figura 33.
Esto permitir crear el archivo que se descargar sobre la FPGA para hacer la funcin
que se programo en VHDL.

Figura 33: Generate Programming File, paso 2).

Luis Kelman Belloso Huezo

19

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

10.Descargar el archivo con extensin .bit sobre la FPGA.


1) Inserte la tarjeta de la FPGA Spartan-6-LX9-MicroBoard por medio del conector USB
frontal (Forma 1 de poder programar la tarjeta) de la misma en la PC.

Figura 34: Conexin de tarjeta para programacin.


Esta tarjeta ofrece tres formas de programar la memoria flash serial:
a) iMPACT Programacin indirecta SPI a travs del conector USB a JTAG
(Procedimiento # 1)
b) SFUTIL Programacin directa SPI a travs del conector USB a SPI (Procedimiento
# 2)
c) iMPACT Programacin indirecta SPI mediante un cable JTAG externa
(Procedimiento # 3)
2) Ahora en el software ISE Project Navigator, seleccione en el recuadro superior
izquierdo, el nombre del archivo del cdigo VHDL: KBH001_LX9_Handshaking.vhd
(este es el nombre del ejemplo que se est realizando).
3) Luego en el cuadro inferior izquierdo de clic derecho sobre la opcin Manage
Configuration Project (iMPACT) y elija la opcin Rerun All tal como se muestra en
la figura 35.
4) La accin anterior har que se despliegue la ventana de la figura 36. En la cual debe dar
doble clic izquierdo sobre la opcin Boundary Scan del recuadro superior izquierdo.
Luis Kelman Belloso Huezo

20

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 35: Descargar archivo sobre la FPGA, paso 3).

5) El proceso anterior har que la parte derecha de la ventana se haga de color blanco
esperando que Ud establezca la comunicacin entre la PC y la tarjeta (reconocimiento
de la misma), para lo cual debe dar clic izquierdo en el icono Initialize Chain (ver
figura 37).

Figura 36: Descargar archivo sobre la FPGA, paso 4).

6) Se desplegar una ventana (ver figura 38) donde se pregunta si quiere asignar un nuevo
archivo de configuracin a la tarjeta, de clic izquierdo en el botn Yes. Aparecer en el
fondo blanco un integrado que hace referencia a la FPGA que desea programar.
Luis Kelman Belloso Huezo

21

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

Figura 37: Descargar archivo sobre la FPGA, paso 5).

Figura 38: Descargar archivo sobre la FPGA, paso 6).

7) Se desplegar una ventana de dialogo donde debe seleccionar el archivo .bit creado en
la seccin anterior, bsquelo en el directorio donde se guardo, seleccinelo y de clic en
el botn open (ver figura 39).

Figura 39: Descargar archivo sobre la FPGA, paso 7).

Luis Kelman Belloso Huezo

22

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

8) Un nueva ventana (ver figura 40) ms se desplegar preguntando si quiere dejar


permanente el programa VHDL en la FPGA, a lo cual responder que No.

Figura 40: Descargar archivo sobre la FPGA, paso 8).

9) Seleccione el botn Ok en la ventana de la figura 41, para afirmar que se quiere


descargar el programa sobre la FPGA.
10) De doble clic izquierdo sobre la opcin Program del recuadro inferior izquierdo (ver
figura 42), se realizar el proceso de grabacin y la tarjeta estar lista para verificar
fsicamente el cdigo VHDL implementado.

Figura 41: Descargar archivo sobre la FPGA, paso 9).

Figura 42: Descargar archivo sobre la FPGA, paso 10).

Luis Kelman Belloso Huezo

23

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

11.Realizar las pruebas de funcionamiento.


1) Sin desconectar la tarjeta de la computadora realice las pruebas de funcionamiento.
2) Como la funcin del cdigo VHDL es cumplir con la estructura del circuito de la figura
6 y 7, accione un interruptor del minidip SW1 de la tarjeta, esta accin debe encender
el Led correspondiente a ese interruptor.

IV.

Bibliografa.

1. http://www.xilinx.com/products/boards-and-kits/1-3i2dfk.html
2. All Programmable Low-End Portfolio Product Selection Guide:
http://www.xilinx.com/publications/prod_mktg/low-end-portfolio-product-selectionguide.pdf
3. Xilinx Spartan-6 FPGA LX9 MicroBoard User Guide:
http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430
%2Ftrunk%2Ffpga%2Fxilinx_avnet_lx9microbard%2Fdoc%2FXilinx_Spartan6_LX9_MicroBoard_Rev_B2_Hardware_User_Guide.pdf
4. http://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html
5. http://community.em.avnet.com/t5/Spartan-6-LX9-MicroBoard/LX9-PinoutDiagram/td-p/3749
6. TE CONNECTIVITY INTERCONNECT SOLUTIONS FOR THE XILINX
SPARTAN-6 FPGA LX9 MICROBOARD
http://www.em.avnet.com/en-us/design/drc/Documents/Xilinx/TE-AES-S6MB-LX9-G13.2-V2.pdf
7. Configuring the Xilinx Spartan - 6 LX9 MicroBoard:
http://www.em.avnet.com/Support%20And%20Downloads/Avnet_Spartan6_LX9_MicroBoard_Configuration_Guide_v1_1.pdf
8. Tutorial 1 Creating an AXI based Embedded System:
http://www.eeworld.com.cn/uploadfile/Xilinx/uploadfile/201107/20110712024756897.
pdf
9. Spartan-6 Family Overview:
http://www.xilinx.com/support/documentation/data_sheets/ds160.pdf
10. Spartan-6 FPGA Data Sheet: DC and Switching Characteristics:
http://www.xilinx.com/support/documentation/data_sheets/ds162.pdf
11. Spartan6 Product Brief:
http://www.xilinx.com/publications/prod_mktg/Spartan6_Product_Brief.pdf
12. Spartan-6 FPGA Packaging and Pinouts: Product Specification:
http://www.xilinx.com/support/documentation/user_guides/ug385.pdf
13. Driver (C:\Xilinx\14.7\ISE_DS\common\bin\nt64\digilent):

Luis Kelman Belloso Huezo

24

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

http://forums.xilinx.com/t5/General-Technical-Discussion/xilinx-spartan-6-lx9microboard-ise-driver/m-p/317679#M13784
14. http://xgoogle.xilinx.com/search?output=xml_no_dtd&ie=UTF-8&oe=UTF8&client=support&proxystylesheet=support&site=Answers_Docs&filter=0&resultsVie
w=category&tab=sd&num=1000&sortBy=displayOrder&show_dynamic_navigation=1
&sort=date%3AD%3AR%3Ad1&documentClass=Document&requiredfields=Archived%3Atrue&getfields=*&q=+inmeta:Document%2520Type%3DPackage%2520
Specifications+inmeta:Devices%3DSpartan%252D6+inmeta:Document%2520Class%3
DDocument+inmeta:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Do
cument%2520Type%3DPackage%2520Specifications+inmeta:Devices%3DSpartan%2
52D6+inmeta:Document%2520Class%3DDocument+inmeta:Product%2520Type%3D
Silicon%2520Devices
15. http://xgoogle.xilinx.com/search?output=xml_no_dtd&ie=UTF-8&oe=UTF8&client=support&proxystylesheet=support&site=Answers_Docs&filter=0&resultsVie
w=category&tab=sd&num=1000&sortBy=date&show_dynamic_navigation=1&sort=d
ate%3AD%3AR%3Ad1&documentClass=Document&requiredfields=Archived%3Atrue&getfields=*&q=+inmeta:Document%2520Type%3DApplication%2
520Notes+inmeta:Devices%3DSpartan%252D6+inmeta:Document%2520Class%3DDo
cument+inmeta:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Docum
ent%2520Type%3DApplication%2520Notes+inmeta:Devices%3DSpartan%252D6+in
meta:Document%2520Class%3DDocument+inmeta:Product%2520Type%3DSilicon%
2520Devices
16. http://www.fpga4fun.com/JTAG.html
17. http://linuxzone.es/crear-lanzadores-dentro-de-los-menus-de-gnome/

V.

Anexos.

Avt_S6LX9_MicroBoard_UCF_110804.ucf
# ---------------------------------------------------------------------------# _____
# / \
# /____ \____
# / \===\ \==/
# /___\===\___\/ AVNET Design Resource Center
#
\======/
www.em.avnet.com/s6microboard
#
\====/
# ---------------------------------------------------------------------------#
# Created With Avnet UCF Generator V0.3.0
# Date: Friday, November 12, 2010
# Time: 4:11:53 PM
#

Luis Kelman Belloso Huezo

25

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

# Updates
# 4 Jan 2011 -- added DIPs; changed IOSTANDARD for LEDs and LPDDR
#
11 Jan 2011 -- Changed IOSTANDARD for DIPs to LVCMOS33.
#
Replaced '#' on the end of net names with '_n'
# 14 Jan 2011 -- Added I2C for CDCE913 clock chip
#
Added formatting and section breaks
# 27 Jan 2011 -- Updated URL for PMODs
# 04 Aug 2011 -- Renaming USER_RESET_N to USER_RESET since it is not low-enabled;
#
Added extra comment on Ethernet PHY RXD pull-ups
#
Removed extraneous quote mark in I2C port syntax
#
# This design is the property of Avnet. Publication of this
# design is not authorized without written consent from Avnet.
#
# Please direct any questions to:
# Avnet Technical Forums
# http://community.em.avnet.com/t5/Spartan-6-LX9-MicroBoard/bd-p/Spartan-6LX9MicroBoard
#
# Avnet Centralized Technical Support
# Centralized-Support@avnet.com
# 1-800-422-9023
#
# Disclaimer:
# Avnet, Inc. makes no warranty for the use of this code or design.
# This code is provided "As Is". Avnet, Inc assumes no responsibility for
# any errors, which may appear in this code, nor does it make a commitment
# to update the information contained herein. Avnet, Inc specifically
# disclaims any implied warranties of fitness for a particular purpose.
#
Copyright(c) 2011 Avnet, Inc.
#
All rights reserved.
#
# ---------------------------------------------------------------------------############################################################################
# VCC AUX VOLTAGE
############################################################################
CONFIG VCCAUX=3.3;
############################################################################
# User Reset Push Button
# Ignore the timing for this signal
# Internal pull-down required since external resistor is not populated
############################################################################
NET USER_RESET LOC = V4 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "USER_RESET"
NET USER_RESET TIG;
############################################################################
# Micron N25Q128 SPI Flash
# This is a Multi-I/O Flash. Several pins have dual purposes
# depending on the mode.
############################################################################
NET SPI_SCK
LOC = R15 | IOSTANDARD = LVCMOS33;
# "CCLK"
NET SPI_CS_n
LOC = V3 | IOSTANDARD = LVCMOS33;
# "SPI_CS#"

Luis Kelman Belloso Huezo

26

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

NET SPI_MOSI_MISO0 LOC = T13 | IOSTANDARD = LVCMOS33;


NET SPI_MISO_MISO1 LOC = R13 | IOSTANDARD = LVCMOS33;
NET SPI_Wn_MISO2
LOC = T14 | IOSTANDARD = LVCMOS33;
NET SPI_HOLDn_MISO3 LOC = V14 | IOSTANDARD = LVCMOS33;

# "MOSI_MISO0"
# "D0_DIN_MISO_MISO1"
# "D1_MISO2"
# "D2_MISO3"

############################################################################
# Texas Instruments CDCE913 Triple-Output PLL Clock Chip
# Y1: 40 MHz, USER_CLOCK can be used as external configuration clock
# Y2: 66.667 MHz
# Y3: 100 MHz
############################################################################
NET USER_CLOCK
LOC = V10 | IOSTANDARD = LVCMOS33;
# "USER_CLOCK"
NET CLOCK_Y2
LOC = K15 | IOSTANDARD = LVCMOS33;
# "CLOCK_Y2"
NET CLOCK_Y3
LOC = C10 | IOSTANDARD = LVCMOS33;
# "CLOCK_Y3"
NET USER_CLOCK TNM_NET = USER_CLOCK;
TIMESPEC TS_USER_CLOCK = PERIOD USER_CLOCK 40000 kHz;
NET CLOCK_Y2 TNM_NET = CLOCK_Y2;
TIMESPEC TS_CLOCK_Y2 = PERIOD CLOCK_Y2 66666.7 kHz;
NET CLOCK_Y3 TNM_NET = CLOCK_Y3;
TIMESPEC TS_CLOCK_Y3 = PERIOD CLOCK_Y3 100000 kHz;
############################################################################
# The following oscillator is not populated in production but the footprint
# is compatible with the Maxim DS1088LU
############################################################################
NET BACKUP_CLK
LOC = R8 | IOSTANDARD = LVCMOS33;
# "MAIN_CLK"
############################################################################
# User DIP Switch x4
# Internal pull-down required since external resistor is not populated
############################################################################
NET GPIO_DIP1
LOC = B3 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "GPIO_DIP1"
NET GPIO_DIP2
LOC = A3 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "GPIO_DIP2"
NET GPIO_DIP3
LOC = B4 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "GPIO_DIP3"
NET GPIO_DIP4
LOC = A4 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "GPIO_DIP4"
############################################################################
# User LEDs
############################################################################
NET GPIO_LED1
LOC = P4 | IOSTANDARD = LVCMOS18;
# "GPIO_LED1"
NET GPIO_LED2
LOC = L6 | IOSTANDARD = LVCMOS18;
# "GPIO_LED2"
NET GPIO_LED3
LOC = F5 | IOSTANDARD = LVCMOS18;
# "GPIO_LED3"
NET GPIO_LED4
LOC = C2 | IOSTANDARD = LVCMOS18;
# "GPIO_LED4"
############################################################################
# Silicon Labs CP2102 USB-to-UART Bridge Chip
############################################################################
NET USB_RS232_RXD LOC = R7 | IOSTANDARD = LVCMOS33;
# "USB_RS232_RXD"
NET USB_RS232_TXD LOC = T7 | IOSTANDARD = LVCMOS33;
# "USB_RS232_TXD"
############################################################################
# Texas Instruments CDCE913 programming port

Luis Kelman Belloso Huezo

27

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

# Internal pull-ups required since external resistors are not populated


############################################################################
NET SCL
LOC=P12 | IOSTANDARD = LVCMOS33 | PULLUP; # "SCL"
NET SDA
LOC=U13 | IOSTANDARD = LVCMOS33 | PULLUP; # "SDA"
############################################################################
# Micron MT46H32M16LFBF-5 LPDDR
############################################################################
CONFIG MCB_PERFORMANCE= STANDARD;
# Addresses
NET LPDDR_A0
LOC = J7 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A0"
NET LPDDR_A1
LOC = J6 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A1"
NET LPDDR_A2
LOC = H5 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A2"
NET LPDDR_A3
LOC = L7 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A3"
NET LPDDR_A4
LOC = F3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A4"
NET LPDDR_A5
LOC = H4 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A5"
NET LPDDR_A6
LOC = H3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A6"
NET LPDDR_A7
LOC = H6 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A7"
NET LPDDR_A8
LOC = D2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A8"
NET LPDDR_A9
LOC = D1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A9"
NET LPDDR_A10
LOC = F4 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A10"
NET LPDDR_A11
LOC = D3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A11"
NET LPDDR_A12
LOC = G6 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_A12"
NET LPDDR_BA0
LOC = F2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_BA0"
NET LPDDR_BA1
LOC = F1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_BA1"
# Data
NET LPDDR_DQ0
LOC = L2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ0"
NET LPDDR_DQ1
LOC = L1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ1"
NET LPDDR_DQ2
LOC = K2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ2"
NET LPDDR_DQ3
LOC = K1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ3"
NET LPDDR_DQ4
LOC = H2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ4"
NET LPDDR_DQ5
LOC = H1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ5"
NET LPDDR_DQ6
LOC = J3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ6"
NET LPDDR_DQ7
LOC = J1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ7"
NET LPDDR_DQ8
LOC = M3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ8"
NET LPDDR_DQ9
LOC = M1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ9"
NET LPDDR_DQ10
LOC = N2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ10"
NET LPDDR_DQ11
LOC = N1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ11"
NET LPDDR_DQ12
LOC = T2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ12"
NET LPDDR_DQ13
LOC = T1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ13"
NET LPDDR_DQ14
LOC = U2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ14"
NET LPDDR_DQ15
LOC = U1 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_DQ15"
NET LPDDR_LDM
LOC = K3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_LDM"
NET LPDDR_UDM
LOC = K4 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_UDM"
NET LPDDR_LDQS
LOC = L4 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_LDQS"
NET LPDDR_UDQS
LOC = P2 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_UDQS"
# Clock
NET LPDDR_CK_N
LOC = G1 | IOSTANDARD = DIFF_MOBILE_DDR;
# "LPDDR_CK_N"
NET LPDDR_CK_P
LOC = G3 | IOSTANDARD = DIFF_MOBILE_DDR;
# "LPDDR_CK_P"
NET LPDDR_CKE
LOC = H7 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_CKE"
# Control
NET LPDDR_CAS_n
LOC = K5 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_CAS#"
NET LPDDR_RAS_n
LOC = L5 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_RAS#"

Luis Kelman Belloso Huezo

28

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

NET LPDDR_WE_n
LOC = E3 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_WE#"
NET LPDDR_RZQ
LOC = N4 | IOSTANDARD = MOBILE_DDR;
# "LPDDR_RZQ"
############################################################################
# All the IO resources in an IO tile which contains DQSP/UDQSP are used
# irrespective of a single-ended or differential DQS design. Any signal that
# is connected to the free pin of the same IO tile in a single-ended design
# will be unrouted. Hence, the IOB cannot used as general pupose IO.
############################################################################
CONFIG PROHIBIT = P1,L3;
############################################################################
# National Semiconductor DP83848J 10/100 Ethernet PHY
# Pull-ups on RXD are necessary to set the PHY AD to 11110b.
# Must keep the PHY from defaulting to PHY AD = 00000b
# because this is Isolate Mode
############################################################################
NET ETH_COL
LOC = M18 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "ETH_COL"
NET ETH_CRS
LOC = N17 | IOSTANDARD = LVCMOS33 | PULLDOWN; # "ETH_CRS"
NET ETH_MDC
LOC = M16 | IOSTANDARD = LVCMOS33;
# "ETH_MDC"
NET ETH_MDIO
LOC = L18 | IOSTANDARD = LVCMOS33;
# "ETH_MDIO"
NET ETH_RESET_n
LOC = T18 | IOSTANDARD = LVCMOS33 | TIG;
# "ETH_RESET#"
NET ETH_RX_CLK
LOC = L15 | IOSTANDARD = LVCMOS33;
# "ETH_RX_CLK"
NET ETH_RX_D0
LOC = T17 | IOSTANDARD = LVCMOS33 | PULLUP; # "ETH_RX_D0"
NET ETH_RX_D1
LOC = N16 | IOSTANDARD = LVCMOS33 | PULLUP; # "ETH_RX_D1"
NET ETH_RX_D2
LOC = N15 | IOSTANDARD = LVCMOS33 | PULLUP; # "ETH_RX_D2"
NET ETH_RX_D3
LOC = P18 | IOSTANDARD = LVCMOS33 | PULLUP;
# "ETH_RX_D3"
NET ETH_RX_DV
LOC = P17 | IOSTANDARD = LVCMOS33;
# "ETH_RX_DV"
NET ETH_RX_ER
LOC = N18 | IOSTANDARD = LVCMOS33;
# "ETH_RX_ER"
NET ETH_TX_CLK
LOC = H17 | IOSTANDARD = LVCMOS33;
# "ETH_TX_CLK"
NET ETH_TX_D0
LOC = K18 | IOSTANDARD = LVCMOS33;
# "ETH_TX_D0"
NET ETH_TX_D1
LOC = K17 | IOSTANDARD = LVCMOS33;
# "ETH_TX_D1"
NET ETH_TX_D2
LOC = J18 | IOSTANDARD = LVCMOS33;
# "ETH_TX_D2"
NET ETH_TX_D3
LOC = J16 | IOSTANDARD = LVCMOS33;
# "ETH_TX_D3"
NET ETH_TX_EN
LOC = L17 | IOSTANDARD = LVCMOS33;
# "ETH_TX_EN"
############################################################################
# Peripheral Modules and GPIO
# Peripheral Modules (PMODs) were invented by Digilent Inc. as small,
# inexpensive add-on boards for FPGA development boards. With costs
# starting as low as $10, PMODs allow you to add a number of capabilities
# to your board, including A/D, D/A, Wireless Radio, SD Card, 2x16
# Character LCD and a variety of LEDs, switches, and headers. See the
# complete library of Digilent PMODs at
# https://www.digilentinc.com/PMODs
############################################################################
# Connector J5
NET PMOD1_P1
LOC = F15 | IOSTANDARD = LVCMOS33;
# "PMOD1_P1"
NET PMOD1_P2
LOC = F16 | IOSTANDARD = LVCMOS33;
# "PMOD1_P2"
NET PMOD1_P3
LOC = C17 | IOSTANDARD = LVCMOS33;
# "PMOD1_P3"
NET PMOD1_P4
LOC = C18 | IOSTANDARD = LVCMOS33;
# "PMOD1_P4"
NET PMOD1_P7
LOC = F14 | IOSTANDARD = LVCMOS33;
# "PMOD1_P7"
NET PMOD1_P8
LOC = G14 | IOSTANDARD = LVCMOS33;
# "PMOD1_P8"
NET PMOD1_P9
LOC = D17 | IOSTANDARD = LVCMOS33;
# "PMOD1_P9"

Luis Kelman Belloso Huezo

29

Universidad Don Bosco

Instituto de Investigacin e Innovacin en Electrnica

NET PMOD1_P10

LOC = D18 | IOSTANDARD = LVCMOS33;

# "PMOD1_P10"

# Connector J4
NET PMOD2_P1
NET PMOD2_P2
NET PMOD2_P3
NET PMOD2_P4
NET PMOD2_P7
NET PMOD2_P8
NET PMOD2_P9
NET PMOD2_P10

LOC = H12 | IOSTANDARD = LVCMOS33;


LOC = G13 | IOSTANDARD = LVCMOS33;
LOC = E16 | IOSTANDARD = LVCMOS33;
LOC = E18 | IOSTANDARD = LVCMOS33;
LOC = K12 | IOSTANDARD = LVCMOS33;
LOC = K13 | IOSTANDARD = LVCMOS33;
LOC = F17 | IOSTANDARD = LVCMOS33;
LOC = F18 | IOSTANDARD = LVCMOS33;

# "PMOD2_P1"
# "PMOD2_P2"
# "PMOD2_P3"
# "PMOD2_P4"
# "PMOD2_P7"
# "PMOD2_P8"
# "PMOD2_P9"
# "PMOD2_P10"

Luis Kelman Belloso Huezo

30

Potrebbero piacerti anche