1.2 Features ...............................................................................................................................................................................4
2.2.2 Configuring FPGA with SPI FLASH (default)...............................................................................................................9
2.2.3 Configuring FPGA over USB .......................................................................................................................................9
2.3 Creating a .HEX file..............................................................................................................................................................9
2.5 Avnet USB Utility................................................................................................................................................................11
2.12 Communication (RS-232, USB 2.0) ...............................................................................................................................18
2.12.2 USB 2.0 .....................................................................................................................................................................18
2.14.2 USB Power................................................................................................................................................................22
2.14.3 TI TPS75003..............................................................................................................................................................22
3.1 What is included.................................................................................................................................................................22
3.1.1 Segment Test Project ................................................................................................................................................22
4.0 List of Partners........................................................................................................................................................................23
Table 1 - Ordering Information ...................................................................................................................................................................6
Table 2 - Spartan-3E Attributes by Density ................................................................................................................................................7
Table 3 - FPGA Configuration from PROM/JTAG … Jumper Setting.........................................................................................................8
The purpose of this manual is to describe the functionality and contents of the Spartan-3E Evaluation Kit from Avnet Electronics
Marketing. This document includes instructions for operati ng the board, descriptions of the hard ware features and explanations of the
example projects.
1.1 Description
The Spartan-3E Evaluation Kit provides a platform for engineers designing with the Xilinx Spartan-3E FPGA. The board
provides the necessary hardware to not only evaluate the features of the Spartan-3E but also to implement user applications
with a basic set of peripherals. Example projects are provided to help the user understa nd the design tool flow and leverage
from known functional designs.
1.2 Features
FPGA
— Xilinx XC3S100E-TQ144 Spartan-3E FPGA
Board I/O Connectors
— 50-pin header for user I/O
— 8 discrete LEDs
— 2 push-buttons
— 4-position DIP-switch
— Dual character alpha numeric display
Memory
— ST Microelectronics SPI serial FLASH
Communication
— USB 2.0
— RS-232 serial port
Power
— USB or 5V wall-mount (not included)
— Texas Instruments TPS75003 triple supply
Configuration
— SPI serial FLASH to FPGA
— USB download utility
— Support for Xilinx Parallel Cable IV
— Fly-wire support for and Xilinx or compatible cable
The Spartan-3E Evaluation Kit from Avnet Electronics Marketing comes with example proj ects designed in Xilinx ISE. The
example projects help the user get started by leveraging a lready tested an d functional de signs. The e xample projects that will
be discussed in detail later in this document are listed below.
*Note: There may be additional demos which were developed after the printing of this document. For additional demo
applications, please contact your local Avnet FAE.
Segment Test Project
— Display count value on segment display
— Provide test message over RS-232
— Source Code Included
The following table lists the evaluation kit part numbers and available software options.
For more information, visit the Internet link at
Part Number Hardware
ADS-XLX-SP3E-EVL100 Xilinx Spartan-3E Evaluation Kit with an XC3S100E
ADS-BASEX-BUNDLE ISE BaseX (only available with purchase of the above part number)
This section of the manual describes the hardware of the Spartan-3E Evaluatio n Board. T he hardware was design ed with the Spart an3E FPGA as the focal point. The block diagram is shown in
The Spartan-3E Evaluation Board was designed to support the Spartan-3E FPGA in the 144-pin package (TQ144). This
package supports two densities 3S100E and 3S250E tho ugh initially only the 3S100E will be offered in a product. Table 2
describes the attributes of the Spartan-3E device based on density.
Spartan-
3E System Logic BlockRAM
Part Gates Cells (bits) BRAM Multipliers DCMs User I/O (144
The Spartan-3E Evaluation Board supports Boundary-scan (JT AG) and SPI programming methods. In addition, the user may
use the Avnet USB utility to configure the FPGA and/or SPI flash device.
Configuration Mode
(M2 : M1 : M0)
SPI DEFAULT
(0:0:1)
Boundary Scan
(1:0:1)
USB
(NA)
USB CCLK En
JP4
Mode Select
JP6
Notes
DEFAULT
FPGA provides SPI protocol to
read from the Flash.
FPGA will not attempt
configuration over SPI or other
means. It may be programmed
directly over the JTAG interface.
In this mode the FPGA is
configured over USB from a
Host PC. A Windows utility is
provided.
Table 3 -
FPGA Configuration from PROM/JTAG … Jumper Setting
2.2.1 Boundary Scan
Programming the Spartan-3E FPGA via Boundary-scan re quires a JTAG download cable (not included in the kit).
The Spartan-3E Evaluation Board has connectors to support both the flying leads connection of the Parallel Cable III
and the ribbon cable connection of the Parallel Cable IV. These connectors are labele d “J4” and “JP7” respectively.
When programming the FPGA via the JTAG interface, it is good practice to pl ace the de vice in Boundar y Scan mode.
This may be accomplished using the Mode select jumper JP6. With JP6 off, the mode pins M[2:0] will be 001 which
enables SPI programming mode. With JP6 installed, the mode pins M[2:0] will be 101 which enabl es boundary scan
mode. Note that power should be removed when changing the programming Mode.
For Boundary Scan mode, place
a jumper at JP6
Figure 4 - Boundary Scan Mode Selection via JP6
JTAG Header (J4)
J4 is a 6x1 standard 0.1” header and is intended for use with flying lea ds, such as those of the Xilin x Parallel Cable 3
(PC3) downloading/debugging cable. Connect the leads as indicated in Table 4 below for “J4” as demonstrated in
Figure 5.
JP7 is intended for connection to a 14-pin ribbon as supplied with a Xilinx Paral lel Cable IV or MultiPro Desktop T ool.
Connect the ribbon cable to JP7 as shown below. Note t hat the ribbon and connector are keyed to ensure proper
installation.
Such as used with Parallel Cable
Keyed Connection–
Only Plugs in One
Pin 1
Figure 6 -
Configuration Connections – Par IV
For further information regarding Xilinx configuration solutions, please visit:
When the configuration mode is set to SPI the Spartan3E will attempt to configure after power up by sequentially
loading data from the SPI FLASH starting at address 0x0. SPI mode is selected by removing the jumper at JP6
which is the factory default.
The SPI FLASH is programmed via the methods discussed in section 2.4 of this manual using a HEX file as
generated according to the instructions in section 2.3.
2.2.3 Configuring FPGA over USB
The FPGA pins required for configuration are attached to the CY68013 USB controller allowing a host controller to
initialize the Spartan3E FPGA and download a new .BIT configuration file. This kit includ es a Windows utility for
configuration and programming over USB. These functions are not s upported by Avnet on other platforms but source
code is included as a reference for customers who want to add it. The operation of the utility is described in sectio n
2.5 of this manual.
2.3 Creating a .HEX file
Configuration via SPI requires that a .HEX file be generated from a working .BIT configuration file. Due to the time and
complexity involved with creating this file and programmi ng the SPI FLASH device it is recommended that the .BIT file be
tested prior to committing it to FLASH.
NOTE: When creating the HEX file, be sure to use a BIT which was generated with the startup clock option set for CCLK
(typically the default).
The screen shots that follow show the step by step procedures of creating a .HEX file using iMPACT 7.1. This procedure may
need to be modified when using a different version of the tool.
Immediately after opening iMPACT it is necessary to either select a preexisting
project or create a new one. This process assumes that a new project will be
created. The project can be saved after completing the process to save steps on
subsequent passes.
In the next 2 screens select “Prepare Configuration Files” and “PROM File” and
clicking “Next” after each.
The following screen shown at the left is where the properties of the file to be
generated are set. Even though the SPI PROM on the board is not manufactured
by Xilinx, select “Xilinx PROM” as the target and “HEX” for the format.
The Checksum Fill Value is the expected value in FLASH after it has been erased,
“FF” for this device.
The “PROM File Name” is the name of the file to be generated (.HEX will be added
by the tool) and location is the path to where it is to be saved. These can be any
valid windows expressions but avoid spaces as the Xilinx tools sometime have
trouble with spaces in file names and pathways.
In the next window check “Auto Select PROM” and then next twice.
The next step is to add the .BIT file to be converted.
** NOTE **
The BIT file must be created with CCLK selected as the start up clock or the
resulting HEX file will not configure the FPGA.
Multiple file are not supported so select NO when asked if a second file is to be
added.
Then “Finish” and “Yes” to generate the file.
2.4 Programming SPI FLASH
An FPGA configuration file should first be tested by programming the BIT format directly into the FPGA via boundar y scan.
See the appropriate section of this document for boundary scan (JTAG) programming. When a bit file has been teste d to the
point where it is ready for non-volatile storage, iMPACT should be used to convert the BIT to a HEX format as describe d in
Section 2.3. When creating the HEX file, be sure to use a BIT which was generated with the startup c lock option set for CCLK
(typically the default).
The primary purpose of the SPI FLASH on this board is to store the configuration file for the FPGA but the unused portion of
the FLASH, or the entire FLASH if an alternate configuration method is used, can be used to store user data or code require by
the FPGA application.
The programming methods below can be used to write configuration and/or data to the device.
** NOTE**
JP8 provides write protection for the SPI FLASH device so this shunt must be removed before programming.
External Programming
There are many programmers on the market which are capable of progr amming the SPI device. To program the device with
this method, it would likely require the device be removed from the P CB. While external programming may be ideal for a
production environment prior to mounting the components, it is obviously not for development. Thus a method of in-circuit
programming is desirable.
In-Circuit Programming
In-Circuit programming of the SPI FLASH can be accomplis hed on this board from a host PCI via U SB with the provided utilit y
or with an external controller via the interface provided by the header “J6”.
Programming via USB
The Avnet USB utility may be used to writ e data to the SPI Flash device. The Avnet USB utility will accept a HEX fil e as
an input and program it into the SPI Flash. T he HEX is actually an ASCII file, so there is a conversion going o n in the
background which is transparent to the user. For additional informatio n on the Avnet USB utility, please see the i ncluded
documentation.
Programming with J6
The SPI Flash pins have been made available at J6. T his will allow the user to progr am the part via an external custom
method. It may be necessary when programming the SPI in this mode to place a shunt on JP9 to hold the Spartan3E
PROG# pin low tri-stating the FPGA pins to avoid contention on the programming signals. The pinout for J6 is given in the
following table.
This method of programming is allowed but it is not supported by Avnet.
Programming with FPGA
Since the configuration pins of the FPGA are available as I/O, the user could create IP to read/write the SPI Flash. At the
time of this publication, an example project for doing so was not available. The task of creating such a pr oject is left to the
user. Check with your local Avnet FAE to see if such projects or cores are currently available through Avnet or Xilinx.
2.5 Avnet USB Utility
The Avnet USB Utility may be used to configure the FPGA and pro gram the SPI Flash memory as mentioned in the previous
section. This section will describe the basic operation of the Avnet USB utility; more detailed information is available in the
utility user manual. Whether configuring the FPGA or programming t he FLASH make sure that the BIT file is configured with
the startup clock set to CCLK and that there is a shunt on JP4 enabling the USB controller to drive the CCLK signal.
The following instructions and screen shot are an overview of t he procedure. They assume that the driver and utility version
3.0 or later has been properly installed. Consult the USB Utility User Manual as needed for this procedure.
1. Connect a USB cable from the host PC to the Spartan3E Ev aluation board.
Note: The board will draw its power from the USB port, so there is no need to apply power to the optional
barrel power input.
2. Wait! It will take a few seconds to scan the USB bus and show the available Avnet Boards
3. Select “Spartan 3E Eval” in the “Board” drop down menu.
4. Select the desired mode from the “Mode” drop-down menu.
5. Browse to or enter a filename appropriate for the selected mode.
a. “ConfigFPGA” requires a .BIT file
b. “Write SPI” (Configuration)requires a .HEX file and must start at address “0000 0”
For other options reference the Utility User Guide
6. Click the “Execute” button, the operation d oes n’t start until this button is selected.
7. Wait! After a few seconds a progress bar will track the progress.
8. A window will pop up when the process completes or if it errors out.
This section provides a description of the jumper settings for the Evaluation Board. The jumpers are listed in order by JP
number. The board is ready to use out of the box with the default jumper settings.
JP1 “USB RESET”
JP2 “USB EEPROM WC#”
For normal operation, leave shunts off or place at position 2-3. Pin is internally pulled low.
Default: Open, read/write enabled.
JP3 “USB EEPROM Unused Pins”
which are not otherwise connected on this board.
JP4 “USB CCLK ENABLE”
FPGA.
Default: Open, the FPGA provides the configuration clock.
JP5 “Display Enable”
JP6 “Force JTAG Mode”
uninstalled, the FPGA will be in SPI mode.
JP7 “JTAG Par – IV””
ribbon, as used with the Xilinx Parallel IV cable.
– Jumper installed forces Cypress USB device into reset.
– Serial EEPROM write protect, install a shunt at position 1-2 to protect data in the upper quadrant.
– JP3 is actually a 10x2 header which allows user access to the Cypress EZUSBFX2 part
– USB CCLK Enable, when installed enables the USB device to drive the configuration clock of the
– Jumper position 1-2 to enable the 2 character led segment display.
– Use this jumper to enable JTAG mode. When installed, FPGA is in boundary scan mode. When
– This is actually a connector. Use this connector when programming the device over JTAG with a
JP8 “SPI Flash WP” – A jumper on JP8 forces the devices WP# signal low, and places the device in write protect mode. For
normal operation (writes enabled) leave this jumper uninstalled.
JP9 “FPGA Prog”
FPGA’s pins in tri-state condition. Note that if HSWAP is enabled, the FPGA will have internal pull-ups on the pins.
– A jumper at this position will force the FPGA Prog# signal low. This jumper may be used to place the
The following figure illustrates the default placement of the jumpers installed on the Spartan-3E Evaluation Board.
JP3
USB
J5
+5V
JP7
J4
Par-IV Prog
JR1
JP2
TP2TP3TP1
IN
6
GND
TMS
TCK
TDO
TDI
Fly-Wire
Programming
Dip
Switches
3.3V2.5V
U11
TI
Texas Instruments
TPS75003
JP1 JP4
Cypress
U3
U10
Flash
SPI
100
MHz
U1
U2
USB 2.0
J6
JP8JP9
SW3
6
J1
LEDs
Figure 9 - Default Jumper Placement
1.2V
J3
SW1
Xilinx
XC3S100E
FPGA
FPGA Reconfig
General Purpose I/O Header
DB9
RS232
RS232
SW2
JP6
JP5
U9
electronics marketing
DESIGN SERVICES
JTx Resistor Jumpers
Additional flexibility has been designed into the circuit in the form of resistor jumpers “JTx” and series resistors that can be
moved or removed to alter the functionality of the board. The purpose of some of these compon ents may be discuss ed i n other
sections of this manual others may not be discussed at all. T he position of these components should not be altered without
careful review of the schematics and associated component data sheets to prevent damage to the board.
2.7 Clocks
The Spartan-3E Evaluation Board uses a 100MHz system clock. If other frequencies ar e desired, a DCM may be used in the
FPGA to obtain the target frequency.
Freq GCLK Input FPGA pin# Notes
100MHz YES P129 Use internal DCM to obtain other frequencies.
2.8 On-board Display (2 Character Alphanumeric LED)
The Spartan-3E Evaluation board uses a dual digit 14-se gment alphanumeric display from Lite-On. To enable the display,
place a jumper at JP5 position 1-2. Each segment may be controlled by the FPGA General Purpose I/O bus as listed below.
The GEN_IO 9 and 10 nets are used to drive the segment anodes, while a logic low on GEN_IO11-25 ena bles the individual
segments.
Display Pin# Display Pin Name FPGA Pin# GEN_IO#
11 Char2 Anode P7 9
16 Char1 Anode P91 10
8 DP P8 11
17 P P88 12
13 N P14 13
2 M P87 14
4 L P15 15
5 K P86 16
6 J P16 17
14 H P82 18
15 G P26 19
18 F P85 20
1 E P20 21
7 D P83 22
9 C P21 23
10 B P81 24
12 A P22 25
Table 7 - Ethernet PHY Modes
2.9 DIP & Push-butto n Switches
A four-position dipswitch (SPST) has been installed on the board and attached to the FPGA. These switches provide digital
inputs to user logic as needed. The signals are pulled low (0) by 4.7K ohm resistors when the switch is open and ti ed to 3.3V
(1) when the switch is closed.
Two momentary closure push buttons h ave been installed on the board and attached to the FPGA. These buttons can be
programmed by the user and are ideal for logic res et and similar fu nctions. Pull down resistors hold the signals low (0) until the
switch closure pulls it high (1).
Eight discrete LEDs are installed on the board and can be used to displa y the status of the internal logic. These LEDs are
attached as shown below and are lit by forcing the associated FPGA I/O pin to a logic (1) and are off when the pin is Low (0).
These pins are shared with the General Purpose bus as indicated below.
The Spartan-3E Evaluation Board is populated with a 4Mbit low voltage serial flash memory from ST Microelectronics. This
memory may be used to configure the S3E FPGA or to store user data.
2.11.1 SPI Flash
Manufacturer: ST Microelectronics
Part #: M25P40-VMN6P
Attributes of the Serial Flash memory:
4Mbit
Up to 40MHz SPI compatible serial interface
2.7V to 3.6V operation
Since the FPGA programming pins are available to the user after configuration, it is possible to use memory for
external data storage. The following table illustrates the pin-outs of the FPGA to SPI flash memory.
SPI Flash Pin# SPI Flash Pin Name FPGA Signal Name FPGA pin#
For communication, the Spartan-3E FPGA has access to an RS232 transceiver and a USB2.0 transceiver.
2.12.1 RS-232
Manufacturer: Harris/Intersil
Part #: ICL3222CA
The RS-232 transceiver is a 3222 available from Harris/Intersil (ICL3222CA) and Anal og Devices (ADM3222). This
transceiver is operating at 3.3V for VCC. The internal charge pump creates the RS232 compatible output levels.
The standard RX and TX lines (pin3 and pi n2) are connected to the FPGA by way of the 3 222. Please see the table
below for the FPGA pin-out.
A straight through serial cable should be used to plug “J3” into a standard PC serial port (male DB9).
Signal Name FPGA pin# Xcvr pin# Note
(from FPGA perspective)
Transmit (RS232_TX1) P67 13 Out to DB9-2
Receive (RS232_ RX1) P47 15 In from DB9-3
CTS (RS232_ CTS) P68 12 Out to DB9-8
RTS (RS232_ RTS) P48 10 In from DB9-7
Table 12 - RS-232 FPGA Pin-out
Signal Name DB9 J3 Xcvr pin#
TX 2 17
RX 3 16
CTS 8 8
RTS 7 9
GND 5 -
Table 13 - RS-232 Connector Pin-out
2.12.2 USB 2.0
Manufacturer: Cypress
Part #: CY7C68013-100AC
The Spartan-3E Evaluation Board includes a Cypress EZ-USB FX2™ USB Microcontroller, part num ber CY7C68013100AC. The EZ-USB FX2 device is a single-chip integr ated USB 2.0 transceiver, Serial Interface Engine (SIE) and
8051 microcontroller. This device supports full-speed (12 Mbps) and high-speed (480 Mbps) modes, but does not
support low-speed mode (1.5 Mbps). The FX2 interface to the Spartan-3E FPGA is a programmable state machine
that supports 8- or 16-bit parallel data transfers. This interface is c alled the General Programmable Interface (GPIF).
The GPIF is controlled by Waveform Descriptors that are created with the Cypress “GPIFT ool” utility and downloaded
to the FX2 over the USB cable. The GPIF descriptors are stored in i nternal RAM and are loaded by the firmware
during initialization. The GPIF interface is made up of the signals in the following table, which are connected to
Spartan-3E FPGA.
Some of the additional GPIF pins are connected to the configurati on port on the Spartan-3E FPGA. This provides for
the development of a FPGA configuration tool, which may be created by Avnet at a later date. The pins which will
affect FPGA configuration are shaded in the following table.
The USB FX2 device can also be used in a slave mode where the FPGA accesses the FX2 like a FIFO. For more
information about the FX2 modes of operation, see the “EZ-USB FX2 Technical Reference Manual” and the FX2
datasheet available on Cypress Semiconductor’s web site (
GPIFADR[0] USB_PC0 P71 Optional FPGA_CCLK out – See schematic sheet 4.
Affected by JP4, CTL4_IFC_EN, and IFCLK
GPIFADR[1] FPGA_M2 P57 SelectMAP port mode - M2
GPIFADR[2] FPGA_M1 P58, P60 SelectMAP port mode - M1
GPIFADR[3] FPGA_M0 P59, P62 SelectMAP port mode - M0
GPIFADR[4] FPGA_MOSI P44 FPGA Master Out Slave In (input to SPI Flash). May
GPIFADR[5] DIN(MISO) P63 Programming input to FPGA (Data out from SPI
Flash). May be used to program FPGA or read data
GPIFADR[6] FPGA_CS# P39 CS pin for SPI Flash Part
GPIFADR[7] - - No Connect
GPIFADR[8] USB_PE7 - Address output connected to JP3:16
IFCLK USB_IFCLK P126 Interface clock
PA0/INT0# USB_INT0# P135 Port A I/O or active-low interrupt 0
PA1/INT1# USB_INT1# P134 Port A I/O or active-low interrupt 1
PA2/SLOE USB_SLOE P125 Port A I/O or slave-FIFO output enable
PA3/WU2 USB_WU2 P124 Port A I/O or alternate wake-up pin
PA4/FIFOADR0 USB_FA0 P123 Port A I/O or slave-FIFO address select 0
PA5/FIFOADR1 USB_FA1 P122 Port A I/O or slave-FIFO address select 1
PA6/PKTEND USB_PEND P117 Port A I/O or slave-FIFO packet end
PA7/SLCS# USB_SLCS# P116 Port A I/O or slave-FIFO enable
RESET# USB_RESET# - Not connected to FPGA. May use JP1 to force USB
The Spartan-3E Evaluation Board may be populated with a 50-pin (2x25) header for access to I/Os.
2.13.1 Header “J1”
The 50-pin header labeled “J1” on the Spartan-3E Evaluation Boar d is connected to 47 I/O pins on the Spartan-3E
FPGA. Pin 48 on the header provides either 3.3V or 5.0V dependin g on the jumper pad installation on JT9 (3.3V is
the default). Note that the pins of header JP1 are shared with several other peripher als including LEDs and LED
segment display. Please see the schematic and/or other sections of this document for details.
The following table shows the pin-out for the header connector.
The Spartan-3E Evaluation Kit may be powered from an external 5V AC/DC Ada pter (not supplied with the kit) or the USB
interface.
2.14.1 External AC/DC Adapter “J5”
An AC/DC adapter is not provided with the kit. To power the board with an external supply, the user will provide +5V
at the barrel connector labeled “J5”. The barrel co nnector dimensions are given in the figure below. Note that the
connection is center positive.
IMPORTANT:
Note that there is no protection for reverse power supply polarity so take necessary precautions to ensure that the
center pin is +5V, and the ring is ground!
Figure 10 - Barrel Power Connector "J5"
2.14.2 USB Power
The Spartan-3E Evaluation kit may be powered from the USB port. T o do so, use a sta ndard USB c able pl ugged int o
a PC (or standard USB host) and plug the peripheral side of the cable in to JR1. This will supply +5V to the TI voltage
regulator.
2.14.3 TI TPS75003
For voltage regulation, the Spartan-3E Evaluation kit uses a Texas Instruments TPS75003. This is a triple-supply
power management IC, and is designed for use with FPGAs and ASICs. It features two 95% efficient buck regulators
and an LDO. In this application, it uses the 5V input from the barre l or USB con nectors t o prov ide the 3. 3V, 2.5V, and
1.2V required by the Spartan 3E device.
3.0 Software/BSP
This section of the manual describes the example projects included in the kit.
3.1 What is included
All of the example projects included in the Spartan-3E Evaluation Kit were created using the Xilinx Integrated Software
Environment (ISE) 7.1.
ISE Example Projects
oSegment Test Project
3.1.1 Segment Test Project
This example is intended to provide a test count on the segment dis play as well as blinking LE Ds and a terminal output.
The user may connect to the DB9 connector with a standard RS23 2 straight through (non-nullmodem) type cable. A
terminal program (such as Hyperterm) may be used to view the output at 9600, 8, N, 1.