Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I.
Spartan-6-LX9-MicroBoard.
1. Tarjeta.
# "PMOD1_P1"
# "PMOD1_P2"
# "PMOD1_P3"
# "PMOD1_P4"
# "PMOD1_P7"
# "PMOD1_P8"
# "PMOD1_P9"
# "PMOD1_P10"
# "PMOD2_P1"
# "PMOD2_P2"
# "PMOD2_P3"
# "PMOD2_P4"
# "PMOD2_P7"
# "PMOD2_P8"
# "PMOD2_P9"
# "PMOD2_P10"
# Connector J4
1
2
II.
III.
LED4
DIP1
DIP2
DIP3
DIP4
Value
Spartan6
XC6SLX9
CSG324
-2
5
Preferred language
VHDL Source Analysis Standard
VHDL
VHDL-200X
Figura 13: Creacin de archivos, paso 4), eleccin de entradas y salidas del componente.
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.
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
11
12
.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.
13
14
15
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.
16
17
LSB
MSB
KBH001_LX9_Handshaking.vhd
Figura 31: Creacin de archivo de relacin de pines, paso 7).
18
19
20
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).
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
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).
22
23
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):
24
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
#
25
# 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#"
26
# "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
27
28
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"
29
NET PMOD1_P10
# "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
# "PMOD2_P1"
# "PMOD2_P2"
# "PMOD2_P3"
# "PMOD2_P4"
# "PMOD2_P7"
# "PMOD2_P8"
# "PMOD2_P9"
# "PMOD2_P10"
30