Getting started with the Xilinx Spartan-3AN Starter Kit

[ Back to index ] [ Test ] [ Programming options (tmp) ] [ UCF location constraints ]

Contents

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

spartan3an_board.jpg

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/

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!

:!: 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:

$ 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 Xilinx Platform Cable USB II or a less expensive cable from Digilent.

usb_to_jtag_cable_digilent.jpg

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


Basic LED blinking using binary counters


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