====== Getting started with the Xilinx Spartan-3AN Starter Kit ======
[ __[[vlsi:workbook:fpga#contents|Back to index]]__ ]
[ __[[vlsi:workbook:fpga:spartan3an:test|Test]]__ ]
[ __[[vlsi:workbook:fpga:spartan3an:programming|Programming options (tmp)]]__ ]
[ __[[vlsi:workbook:fpga:xilinx:spartan3an:ucf|UCF location constraints]]__ ]
== Contents ==
* Introduction
* Reference documentation
* ...
**Keywords:**
====== Introduction ======
Xilinx Spartan-3 boards and kits main page: \\
[[http://www.xilinx.com/products/boards_kits/spartan.htm]]
Xilinx Spartan-3A starter kit: \\
[[http://www.xilinx.com/products/boards-and-kits/HW-SPAR3A-SK-UNI-G.htm]]
====== Reference documentation ======
Very good getting started book:
P.P. Chu, //FPGA Prototyping By Verilog Examples Xilinx Spartan-3 Version// \\
P.P. Chu, //FPGA Prototyping By VHDL Examples Xilinx Spartan-3 Version//
Xilinx official documentation: \\
[[http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/spartan-3_kits/spartan-3a_starter_kit.html]] \\
[[http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/spartan-3_kits/spartan-3an_starter_kit.html]]
//Spartan-3A/3AN Out of the box, now what?// \\
[[http://www.xilinx.com/products/boards/s3astarter/files/s3ask_out.pdf]]
//Spartan-3A/3AN FPGA Starter Kit Board User Guide// \\
[[http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf]]
//Spartan-3A/3AN Starter Kit Schematics// \\
[[http://www.xilinx.com/support/documentation/boards_and_kits/s3astarter_schematic.pdf]]
//Spartan-3 Generation Configuration User Guide// \\
[[http://www.xilinx.com/support/documentation/user_guides/ug332.pdf]]
\\
Download the most important documentation:
cd ~/scratch/xilinx/doc/spartan3an
wget http://www.xilinx.com/support/documentation/data_sheets/ds557.pdf
wget http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf
wget http://www.xilinx.com/support/documentation/boards_and_kits/s3astarter_schematic.pdf
wget http://www.xilinx.com/support/documentation/boards_and_kits/s3a_starter_gerbers.pdf
wget http://www.xilinx.com/support/documentation/boards_and_kits/s3astarter_bom.xls
wget http://www.xilinx.com/support/documentation/user_guides/ug332.pdf
====== Board ======
[[http://www.xilinx.com/images/image106303.jpg]]
{{:vlsi:workbook:fpga:xilinx:spartan3an:pictures:spartan3an_board.jpg?500}}
====== On-board embedded USB/JTAG programming interface ======
The board comes with an **integrated Platform Cable USB**.
[[http://xlnx.lithium.com/t5/Spartan-Family-FPGAs/Can-t-find-USB-on-the-Spartan-3A-AN-starter-board-schematic/td-p/180786]]
Xilinx **does not disclose** details (specs and schematics) about the
USB Platform Cable design.
[[http://www.intilinux.com/programmazione/478/usare-le-board-xilinx-fpga-su-linux/]]
[[http://www.youtube.com/watch?v=CjZ5QwyZRrY]|
How to use Xilinx iMPACT without the windrv kernel module under Linux (YouTube vide tutorial)]]
[[http://www.fpgarelated.com/comp.arch.fpga/thread/43078/xilinx-platform-cable-usb-protocol-specifications-and-or-open-source-firmware-replacement.php]]
====== USB cable =====
The kit provides a **standard male A/B USB cable** for firmware downloads. Note that **this is NOT the official Xilinx USB cable**
provided by Xilinx! Just no more than a standard USB cable!
{{:vlsi:workbook:fpga:spartan3an:usb_ab_male_cable.jpg?300}}
:!: //**Note**// \\
Cable drivers for UNIX/Linux ?
Official page from Xilinx: \\
//Platform Cable USB/USB-II - Libusb Driver support available on Linux// \\
[[http://www.xilinx.com/support/answers/29310.html]]
Other resources:
* [[https://m.youtube.com/watch?v=CjZ5QwyZRrY]]
* [[http://www.xilinx.com/support/answers/29310.htm]]
* [[http://www.xilinx.com/support/answers/54381.htm]]
* [[http://forums.xilinx.com/t5/Design-Tools-Others/USB-Jtag-cable-drivers/td-p/394857]]
* [[http://ashwith.wordpress.com/2012/06/10/setup-xilinx-ise-14-1-free-version-and-digilents-adept-utilities-in-fedora-17-64-bit/]]
* [[http://aalonso.wordpress.com/2010/02/02/xilinx-11-4-on-fedora-12-playing-with-spartan-3e-starter-kit/]]
* [[http://forums.xilinx.com/t5/Installation-and-Licensing/How-to-install-Xilinx-ISE-and-USB-drivers-CentOS-5/td-p/54250/page/2]]
* [[https://www.wrbishop.com/fpga/how-to-configure-xilinx-fpga-design-suite-13-3-under-rhelcentos-6-x-fedora-15/]]
* [[http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/pim_t_linux_cable_drivers.htm]]
* [[http://rmdir.de/~michael/xilinx/]]
* [[http://elinux.org/Install_Xilinx_USB_cable_drivers_for_Ubuntu]]
* [[http://tingcao.wordpress.com/2012/05/11/install-xilinx-cable-drivers-on-32-bit-ubuntu/]]
* [[http://forums.xilinx.com/t5/Installation-and-Licensing/Installing-Xilinx-14-webpack-on-Ubuntu-12-04/td-p/248770]]
* [[http://javispedro.com/fpga/xilinx-usb-linux.html]]
* [[http://forums.xilinx.com/t5/Design-Tools-Others/iMPACT-tips-for-modern-linux-distros/td-p/146486]]
* [[http://www.xilinx.com/support/answers/22648.html]]
* [[http://wiki.gentoo.org/wiki/Xilinx_USB_JTAG_Programmers]]
* [[http://www.george-smart.co.uk/wiki/Xilinx_JTAG_Linux]]
* [[https://wiki.archlinux.org/index.php/Xilinx_ISE_WebPACK]]
* [[http://ashwith.wordpress.com/2012/06/10/setup-xilinx-ise-14-1-free-version-and-digilents-adept-utilities-in-fedora-17-64-bit/]]
* [[http://www.linuxjournal.com/magazine/fpga-programming-linux]]
$ lsusb
...
Bus 002 Device 011: ID 03fd:000d Xilinx, Inc.
Modified UDEV rule file:
ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0008", MODE="666"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xup.hex -D $tempnode"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_emb.hex -D $tempnode"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xlp.hex -D $tempnode"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xp2.hex -D $tempnode"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xse.hex -D $tempnode"
[[http://svenand.blogdrive.com/archive/114.html]]
====== USB-to-JTAG cable =====
To connect to JTAG pin headers. It does not come with the kit. You may buy a
**[[http://www.xilinx.com/products/boards-and-kits/HW-USB-II-G.htm|Xilinx Platform Cable USB II]]**
or a less expensive cable **[[http://www.digilentinc.com/Products/Detail.cfm?Prod=JTAG-USB|from Digilent]]**.
{{:vlsi:workbook:fpga:spartan3an:usb_to_jtag_cable_digilent.jpg?350}}
[[http://www.xilinx.com/support/documentation/data_sheets/ds593.pdf]]
====== Digilent programmign cable/Adept sofware ======
[[http://www.xilinx.com/support/answers/54382.htm]]
[[http://ashwith.wordpress.com/2012/06/10/setup-xilinx-ise-14-1-free-version-and-digilents-adept-utilities-in-fedora-17-64-bit/]]
====== Design examples from Xilinx ======
[[http://www.xilinx.com/products/boards/s3astarter/reference_designs.htm]]
\\
**Demo Design for the Starter Kit Board** \\
[[http://www.xilinx.com/products/boards/s3astarter/reference_designs.htm#demo]]
[[http://www.xilinx.com/products/boards/s3astarter/files/s3ask_demo.pdf]]
wget http://www.xilinx.com/products/boards/s3astarter/files/s3ask_demo.pdf
Source code: ''s3ask_demo.zip'' (Xilinx login required for downloads)
\\
**Device DNA Reader** \\
[[http://www.xilinx.com/products/boards/s3astarter/reference_designs.htm#dna_reader]]
[[http://www.xilinx.com/products/boards/s3astarter/files/s3ask_dna_reader.pdf]]
wget http://www.xilinx.com/products/boards/s3astarter/files/s3ask_dna_reader.pdf
Source code: ''s3ask_dna_reader.zip'' (Xilinx login required for downloads)
mkdir sources
unzip -d sources/ s3ask_dna_reader.zip
====== Web tutorials and other resources ======
Lot of examples can be found at [[http://www.fpga4fun.com/]]
\\
**Turning on/off a simple LED with a D-FlipFlop**
* [[http://m.youtube.com/watch?v=eLOLBYxLXcE]]
\\
**Basic LED blinking using binary counters**
* [[http://www.fpga4fun.com/ISEQuickStart.html]]
* [[http://therobotfix.wordpress.com/2011/06/27/getting-started-with-spartan-3e-fpga-and-verilog/]]
* [[http://m.youtube.com/watch?v=2qx7Xef2LGE]]
* [[http://m.youtube.com/watch?v=qXlM8p0u-as]]
\\
A nice collection of FPGA projects by Mike Field at //hamsterworks.co.nz//,
[[http://hamsterworks.co.nz/mediawiki/index.php/FPGA_Projects]]
====== ======
\\
----
Last update: [[pacher@NOSPAMto.infn.it]] - Sep 21, 2013
~~NOTOC~~