XC3S100E-5FT256GC [XILINX]

Spartan-3E FPGA Family: Complete Data Sheet; 的Spartan- 3E FPGA系列:完整的数据手册
XC3S100E-5FT256GC
型号: XC3S100E-5FT256GC
厂家: XILINX, INC    XILINX, INC
描述:

Spartan-3E FPGA Family: Complete Data Sheet
的Spartan- 3E FPGA系列:完整的数据手册

文件: 总231页 (文件大小:4876K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
0
R
Spartan-3E FPGA Family:  
Complete Data Sheet  
0
0
DS312 November 9, 2006  
Product Specification  
Module 1:  
Introduction and Ordering Information  
Module 3:  
DC and Switching Characteristics  
DS312-1 (v3.4) November 9, 2006  
DS312-3 (v3.4) November 9, 2006  
Introduction  
DC Electrical Characteristics  
-
-
-
-
Absolute Maximum Ratings  
Supply Voltage Specifications  
Recommended Operating Conditions  
DC Characteristics  
Features  
Architectural Overview  
Package Marking  
Ordering Information  
Switching Characteristics  
-
-
-
-
-
-
I/O Timing  
SLICE Timing  
DCM Timing  
Block RAM Timing  
Multiplier Timing  
Configuration and JTAG Timing  
Module 2:  
Functional Description  
DS312-2 (v3.4) November 9, 2006  
Input/Output Blocks (IOBs)  
-
-
Overview  
SelectIO™ Signal Standards  
Configurable Logic Block (CLB)  
Block RAM  
Dedicated Multipliers  
Digital Clock Manager (DCM)  
Clock Network  
Configuration  
Powering Spartan-3E FPGAs  
Production Stepping  
Module 4:  
Pinout Descriptions  
DS312-4 (v3.4) November 9, 2006  
Pin Descriptions  
Package Overview  
Pinout Tables  
Footprint Diagrams  
© 2005-2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc.  
All other trademarks are the property of their respective owners.  
DS312 November 9, 2006  
www.xilinx.com  
1
R
Complete Data Sheet  
2
www.xilinx.com  
DS312 November 9, 2006  
Product Specification  
8
Spartan-3E FPGA Family:  
Introduction and Ordering  
Information  
R
0
DS312-1 (v3.4) November 9, 2006  
Product Specification  
Introduction  
The Spartan™-3E family of Field-Programmable Gate  
Arrays (FPGAs) is specifically designed to meet the needs  
of high volume, cost-sensitive consumer electronic applica-  
tions. The five-member family offers densities ranging from  
100,000 to 1.6 million system gates, as shown in Table 1.  
-
True LVDS, RSDS, mini-LVDS, differential  
HSTL/SSTL differential I/O  
Enhanced Double Data Rate (DDR) support  
DDR SDRAM support up to 333 Mb/s  
-
-
Abundant, flexible logic resources  
-
Densities up to 33,192 logic cells, including  
optional shift register or distributed RAM support  
Efficient wide multiplexers, wide logic  
Fast look-ahead carry logic  
Enhanced 18 x 18 multipliers with optional pipeline  
IEEE 1149.1/1532 JTAG programming/debug port  
The Spartan-3E family builds on the success of the earlier  
Spartan-3 family by increasing the amount of logic per I/O,  
significantly reducing the cost per logic cell. New features  
improve system performance and reduce the cost of config-  
uration. These Spartan-3E enhancements, combined with  
advanced 90 nm process technology, deliver more function-  
ality and bandwidth per dollar than was previously possible,  
setting new standards in the programmable logic industry.  
-
-
-
-
Hierarchical SelectRAM™ memory architecture  
-
-
Up to 648 Kbits of fast block RAM  
Up to 231 Kbits of efficient distributed RAM  
Because of their exceptionally low cost, Spartan-3E FPGAs  
are ideally suited to a wide range of consumer electronics  
applications, including broadband access, home network-  
ing, display/projection, and digital television equipment.  
Up to eight Digital Clock Managers (DCMs)  
-
-
-
-
Clock skew elimination (delay locked loop)  
Frequency synthesis, multiplication, division  
High-resolution phase shifting  
The Spartan-3E family is a superior alternative to mask pro-  
grammed ASICs. FPGAs avoid the high initial cost, the  
lengthy development cycles, and the inherent inflexibility of  
conventional ASICs. Also, FPGA programmability permits  
design upgrades in the field with no hardware replacement  
necessary, an impossibility with ASICs.  
Wide frequency range (5 MHz to over 300 MHz)  
Eight global clocks plus eight additional clocks per  
each half of device, plus abundant low-skew routing  
Configuration interface to industry-standard PROMs  
-
-
-
Low-cost, space-saving SPI serial Flash PROM  
x8 or x8/x16 parallel NOR Flash PROM  
Low-cost Xilinx Platform Flash with JTAG  
Features  
Complete Xilinx ISE™ and WebPACK™ development  
system support  
Very low cost, high-performance logic solution for  
high-volume, consumer-oriented applications  
MicroBlaze™ and PicoBlaze  
cores  
embedded processor  
Proven advanced 90-nanometer process technology  
Multi-voltage, multi-standard SelectIO™ interface pins  
Fully compliant 32-/64-bit 33 MHz PCI support  
(66 MHz in some devices)  
Low-cost QFP and BGA packaging options  
-
-
Up to 376 I/O pins or 156 differential signal pairs  
LVCMOS, LVTTL, HSTL, and SSTL single-ended  
signal standards  
-
-
Common footprints support easy density migration  
Pb-free packaging options  
-
-
3.3V, 2.5V, 1.8V, 1.5V, and 1.2V signaling  
622+ Mb/s data transfer rate per I/O  
Table 1: Summary of Spartan-3E FPGA Attributes  
CLB Array  
(One CLB = Four Slices)  
Equivalent  
Logic  
Block  
RAM  
bits(1)  
Maximum  
Maximum Differential  
System  
Gates  
Total  
Total  
Distributed  
RAM bits(1)  
Dedicated  
Multipliers DCMs User I/O  
Device  
XC3S100E  
XC3S250E  
XC3S500E  
Cells  
Rows Columns CLBs  
Slices  
I/O Pairs  
100K  
250K  
500K  
2,160  
5,508  
22  
34  
46  
60  
76  
16  
26  
34  
46  
58  
240  
612  
960  
15K  
38K  
72K  
4
2
4
4
8
8
108  
172  
232  
304  
376  
40  
2,448  
4,656  
8,672  
14,752  
216K  
360K  
504K  
648K  
12  
20  
28  
36  
68  
10,476  
19,512  
33,192  
1,164  
2,168  
3,688  
73K  
92  
XC3S1200E 1200K  
136K  
231K  
124  
156  
XC3S1600E 1600K  
Notes:  
1. By convention, one Kb is equivalent to 1,024 bits.  
© 2005-2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc.  
All other trademarks are the property of their respective owners.  
DS312-1 (v3.4) November 9, 2006  
Product Specification  
www.xilinx.com  
3
R
Introduction and Ordering Information  
Architectural Overview  
The Spartan-3E family architecture consists of five funda-  
mental programmable functional elements:  
Digital Clock Manager (DCM) Blocks provide  
self-calibrating, fully digital solutions for distributing,  
delaying, multiplying, dividing, and phase-shifting clock  
signals.  
Configurable Logic Blocks (CLBs) contain flexible  
Look-Up Tables (LUTs) that implement logic plus  
storage elements used as flip-flops or latches. CLBs  
perform a wide variety of logical functions as well as  
store data.  
These elements are organized as shown in Figure 1. A ring  
of IOBs surrounds a regular array of CLBs. Each device has  
two columns of block RAM except for the XC3S100E, which  
has one column. Each RAM column consists of several  
18-Kbit RAM blocks. Each block RAM is associated with a  
dedicated multiplier. The DCMs are positioned in the center  
with two at the top and two at the bottom of the device. The  
XC3S100E has only one DCM at the top and bottom, while  
the XC3S1200E and XC3S1600E add two DCMs in the  
middle of the left and right sides.  
Input/Output Blocks (IOBs) control the flow of data  
between the I/O pins and the internal logic of the  
device. Each IOB supports bidirectional data flow plus  
3-state operation. Supports a variety of signal  
standards, including four high-performance differential  
standards. Double Data-Rate (DDR) registers are  
included.  
Block RAM provides data storage in the form of  
18-Kbit dual-port blocks.  
Multiplier Blocks accept two 18-bit binary numbers as  
inputs and calculate the product.  
The Spartan-3E family features a rich network of traces that  
interconnect all five functional elements, transmitting sig-  
nals among them. Each functional element has an associ-  
ated switch matrix that permits multiple connections to the  
routing.  
Notes:  
1. The XC3S1200E and XC3S1600E have two additional DCMs on both the left and right sides as  
indicated by the dashed lines. The XC3S100E has only one DCM at the top and one at the bottom.  
Figure 1: Spartan-3E Family Architecture  
4
www.xilinx.com  
DS312-1 (v3.4) November 9, 2006  
Product Specification  
R
Introduction and Ordering Information  
Configuration  
I/O Capabilities  
Spartan-3E FPGAs are programmed by loading configura-  
tion data into robust, reprogrammable, static CMOS config-  
uration latches (CCLs) that collectively control all functional  
elements and routing resources. The FPGA’s configuration  
data is stored externally in a PROM or some other non-vol-  
atile medium, either on or off the board. After applying  
power, the configuration data is written to the FPGA using  
any of seven different modes:  
The Spartan-3E FPGA SelectIO interface supports many  
popular single-ended and differential standards. Table 2  
shows the number of user I/Os as well as the number of dif-  
ferential I/O pairs available for each device/package combi-  
nation.  
Spartan-3E FPGAs support the following single-ended  
standards:  
3.3V low-voltage TTL (LVTTL)  
Master Serial from a Xilinx Platform Flash PROM  
Serial Peripheral Interface (SPI) from an  
industry-standard SPI serial Flash  
Low-voltage CMOS (LVCMOS) at 3.3V, 2.5V, 1.8V,  
1.5V, or 1.2V  
3V PCI at 33 MHz, and in some devices, 66 MHz  
HSTL I and III at 1.8V, commonly used in memory  
applications  
Byte Peripheral Interface (BPI) Up or Down from an  
industry-standard x8 or x8/x16 parallel NOR Flash  
Slave Serial, typically downloaded from a processor  
Slave Parallel, typically downloaded from a processor  
Boundary Scan (JTAG), typically downloaded from a  
processor or system tester.  
SSTL I at 1.8V and 2.5V, commonly used for memory  
applications  
Spartan-3E FPGAs support the following differential stan-  
dards:  
LVDS  
Bus LVDS  
mini-LVDS  
RSDS  
Differential HSTL (1.8V, Types I and III)  
Differential SSTL (2.5V and 1.8V, Type I)  
2.5V LVPECL inputs  
Table 2: Available User I/Os and Differential (Diff) I/O Pairs  
VQ100  
CP132  
TQ144  
PQ208  
FT256  
FG320  
FG400  
FG484  
VQG100  
CPG132  
TQG144  
PQG208  
FTG256  
FGG320  
FGG400  
FGG484  
Device  
User Diff User Diff User Diff User Diff User Diff User Diff User Diff User Diff  
66  
(7)  
30  
(2)  
83  
(11)  
35  
(2)  
108  
(28)  
40  
(4)  
XC3S100E  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
66  
(7)  
30  
(2)  
92  
(7)  
41  
(2)  
108  
(28)  
40  
(4)  
158  
(32)  
65  
(5)  
172  
(40)  
68  
(8)  
XC3S250E  
XC3S500E  
XC3S1200E  
92  
(7)  
41  
(2)  
158  
(32)  
65  
(5)  
190  
(41)  
77  
(8)  
232  
(56)  
92  
(12)  
-
-
-
-
-
-
-
-
-
-
-
-
190  
(40)  
77  
(8)  
250  
(56)  
99  
(12)  
304  
(72)  
124  
(20)  
-
-
-
-
-
-
-
-
250  
(56)  
99  
(12)  
304  
(72)  
124  
(20)  
376 156  
(82) (21)  
XC3S1600E  
Notes:  
-
-
1. All Spartan-3E devices provided in the same package are pin-compatible as further described in Module 4: Pinout Descriptions.  
2. The number shown in bold indicates the maximum number of I/O and input-only pins. The number shown in (italics) indicates the number  
of input-only pins.  
DS312-1 (v3.4) November 9, 2006  
www.xilinx.com  
5
Product Specification  
R
Introduction and Ordering Information  
Package Marking  
Figure 2 provides a top marking example for Spartan-3E  
FPGAs in the quad-flat packages. Figure 3 shows the top  
marking for Spartan-3E FPGAs in BGA packages except  
the 132-ball chip-scale package (CP132 and CPG132). The  
markings for the BGA packages are nearly identical to those  
for the quad-flat packages, except that the marking is  
rotated with respect to the ball A1 indicator. Figure 4 shows  
the top marking for Spartan-3E FPGAs in the CP132 and  
CPG132 packages.  
Use the seven digits of the Lot Code to access additional  
information for a specific device using the Xilinx web-based  
Genealogy Viewer.  
On the QFP and BGA packages, the optional numerical  
Stepping Code follows the Lot Code. If no Stepping Code  
appears, then the device is Stepping 0.  
The “5C” and “4I” part combinations may be dual marked  
as “5C/4I”. All “5C” and “4I” part combinations use the  
Stepping 1 production silicon and have a ‘1’ Stepping Code  
mark.  
Mask Revision Code  
Fabrication Code  
R
R
Process Technology  
SPARTAN  
XC3S250ETM  
PQ208AGQ0525  
D1234567A  
Device Type  
Date Code  
Package  
Stepping Code (optional)  
Lot Code  
Speed Grade  
4C  
Temperature Range  
Pin P1  
DS312-1_06_102905  
Figure 2: Spartan-3E QFP Package Marking Example  
Mask Revision Code  
R
BGA Ball A1  
Fabrication Code  
Process Code  
R
SPARTAN  
Device Type  
XC3S250ETM  
FT256AGQ0525  
D1234567A  
4C  
Date Code  
Package  
Stepping Code (optional)  
Lot Code  
Speed Grade  
Temperature Range  
DS312-1_02_090105  
Figure 3: Spartan-3E BGA Package Marking Example  
Ball A1  
Device Type  
3S250E  
F1234567-0525  
PHILIPPINES  
Lot Code  
Date Code  
Temperature Range  
Package  
C5 = CP132  
C6 = CPG132  
C5AGQ  
4C  
Speed Grade  
Process Code  
Mask Revision Code  
Fabrication Code  
DS312-1_05_032105  
Figure 4: Spartan-3E CP132 and CPG132 Package Marking Example  
6
www.xilinx.com  
DS312-1 (v3.4) November 9, 2006  
Product Specification  
R
Introduction and Ordering Information  
ture ranges. Both the standard –4 and faster –5 speed  
grades are available for the Commercial temperature range.  
However, only the –4 speed grade is available for the Indus-  
trial temperature range. See Table 2 for valid device/pack-  
age combinations.  
Ordering Information  
Spartan-3E FPGAs are available in both standard and  
Pb-free packaging options for all device/package combina-  
tions. All devices are available in Pb-free packages, which  
adds a ‘G’ character to the ordering code. All devices are  
available in either Commercial (C) or Industrial (I) tempera-  
Standard Packaging  
(additional code to specify Stepping 1)  
Example: XC3S250E -4 FT 256 C S1  
Device Type  
Temperature Range:  
C = Commercial (TJ = 0oC to 85oC)  
I = Industrial (TJ = -40oC to 100oC)  
Speed Grade  
Package Type  
Number of Pins  
DS312_03_111805  
Pb-Free Packaging  
(additional code to specify Stepping 1)  
Example: XC3S250E -4 FT G 256 C S1  
Device Type  
Temperature Range:  
C = Commercial (TJ = 0oC to 85oC)  
I = Industrial (TJ = -40oC to 100oC)  
Number of Pins  
Speed Grade  
Package Type  
Pb-free  
DS312_04_111805  
Device  
Speed Grade  
Package Type / Number of Pins  
Temperature Range (TJ)  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
–4 Standard Performance VQ(G)100 100-pin Very Thin Quad Flat Pack (VQFP)  
Commercial (0°C to 85°C)  
C
–5 High Performance  
CP(G)132 132-ball Chip-Scale Package (CSP)  
I Industrial (–40°C to 100°C)  
TQ(G)144 144-pin Thin Quad Flat Pack (TQFP)  
PQ(G)208 208-pin Plastic Quad Flat Pack (PQFP)  
FT(G)256 256-ball Fine-Pitch Thin Ball Grid Array (FTBGA)  
FG(G)320 320-ball Fine-Pitch Ball Grid Array (FBGA)  
FG(G)400 400-ball Fine-Pitch Ball Grid Array (FBGA)  
FG(G)484 484-ball Fine-Pitch Ball Grid Array (FBGA)  
Notes:  
1. The –5 speed grade is exclusively available in the Commercial temperature range.  
Production Stepping  
The Spartan-3E FPGA family uses production stepping to  
indicate improved capabilities or enhanced features.  
To specify only the later stepping, append an S# suffix to the  
standard ordering code, where # is the stepping number, as  
indicated in Table 3.  
All devices ordered using the standard part number support  
Stepping 0 functionality and performance. Later steppings  
are, by definition, a functional superset of any previous step-  
ping. Furthermore, configuration bitstreams generated for  
any stepping are forward compatible. See Table 71 for addi-  
tional details.  
Table 3: Spartan-3E Stepping Levels  
Stepping  
Number  
Suffix Code  
None or S0  
S1  
Status  
0
1
Production  
Production  
Xilinx ships both Stepping 0 and Stepping 1. Designs oper-  
ating on the Stepping 0 devices perform similarly on a Step-  
ping 1 device.  
DS312-1 (v3.4) November 9, 2006  
www.xilinx.com  
7
Product Specification  
R
Introduction and Ordering Information  
Beginning with Stepping 1 and later, the stepping level is  
marked on the device using a single number character, as  
shown in Figure 2, Figure 3, and Figure 4. Stepping 0  
devices are represented with either a ‘0’ mark or no mark.  
Revision History  
The following table shows the revision history for this document.  
Date  
Version  
1.0  
Revision  
03/01/05  
03/21/05  
Initial Xilinx release.  
1.1  
Added XC3S250E in CP132 package to Table 2. Corrected number of differential I/O pairs  
for CP132 package. Added package markings for QFP packages (Figure 2) and  
CP132/CPG132 packages (Figure 4).  
11/23/05  
03/22/06  
11/09/06  
2.0  
3.0  
3.4  
Added differential HSTL and SSTL I/O standards. Updated Table 2 to indicate number of  
input-only pins. Added Production Stepping information, including example top marking  
diagrams.  
Upgraded data sheet status to Preliminary. Added XC3S100E in CP132 package and  
updated I/O counts for the XC3S1600E in FG320 package (Table 2). Added information  
about dual markings for –5C and –4I product combinations to Package Marking.  
Added 66 MHz PCI support and links to the Xilinx PCI LogiCORE data sheet. Indicated that  
Stepping 1 parts are Production status. Promoted Module 1 to Production status.  
Synchronized all modules to v3.4.  
8
www.xilinx.com  
DS312-1 (v3.4) November 9, 2006  
Product Specification  
116  
R
Spartan-3E FPGA Family:  
Functional Description  
0
DS312-2 (v3.4) November 9, 2006  
Product Specification  
programmable delay element directly to the I line. After  
the delay element, there are alternate routes through a  
pair of storage elements to the IQ1 and IQ2 lines. The  
IOB outputs I, IQ1, and IQ2 lead to the FPGA’s internal  
logic. The delay element can be set to ensure a hold  
time of zero (see Input Delay Functions).  
The output path, starting with the O1 and O2 lines,  
carries data from the FPGA’s internal logic through a  
multiplexer and then a three-state driver to the IOB  
pad. In addition to this direct path, the multiplexer  
provides the option to insert a pair of storage elements.  
The 3-state path determines when the output driver is  
high impedance. The T1 and T2 lines carry data from  
the FPGA’s internal logic through a multiplexer to the  
output driver. In addition to this direct path, the  
multiplexer provides the option to insert a pair of  
storage elements.  
Introduction  
As described in Architectural Overview, the Spartan™-3E  
FPGA architecture consists of five fundamental functional  
elements:  
Input/Output Blocks (IOBs)  
Configurable Logic Block (CLB) and Slice  
Resources  
Block RAM  
Dedicated Multipliers  
Digital Clock Managers (DCMs)  
The following sections provide detailed information on each  
of these functions. In addition, this section also describes  
the following functions:  
Clocking Infrastructure  
Interconnect  
Configuration  
All signal paths entering the IOB, including those  
associated with the storage elements, have an inverter  
option. Any inverter placed on these paths is  
automatically absorbed into the IOB.  
Powering Spartan-3E FPGAs  
Input/Output Blocks (IOBs)  
IOB Overview  
The Input/Output Block (IOB) provides a programmable,  
unidirectional or bidirectional interface between a package  
pin and the FPGA’s internal logic. The IOB is similar to that  
of the Spartan-3 family with the following differences:  
Input-only blocks are added  
Programmable input delays are added to all blocks  
DDR flip-flops can be shared between adjacent IOBs  
The unidirectional input-only block has a subset of the full  
IOB capabilities. Thus there are no connections or logic for  
an output path. The following paragraphs assume that any  
reference to output functionality does not apply to the  
input-only blocks. The number of input-only blocks varies  
with device size, but is never more than 25% of the total IOB  
count.  
Figure 5, page 10 is a simplified diagram of the IOB’s inter-  
nal structure. There are three main signal paths within the  
IOB: the output path, input path, and 3-state path. Each  
path has its own pair of storage elements that can act as  
either registers or latches. For more information, see Stor-  
age Element Functions. The three main signal paths are  
as follows:  
The input path carries data from the pad, which is  
bonded to a package pin, through an optional  
© 2005-2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc.  
All other trademarks are the property of their respective owners.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
9
Product Specification  
R
Functional Description  
T
TFF1  
D
T1  
Q
CE  
CK  
SR REV  
DDR  
MUX  
TCE  
T2  
D
Q
TFF2  
CE  
CK  
SR REV  
Three-state Path  
V
CCO  
OFF1  
D
O1  
Q
CE  
CK  
OTCLK1  
Pull-Up  
ESD  
ESD  
SR REV  
DDR  
MUX  
I/O  
Pin  
OCE  
O2  
Program-  
Pull-  
Down  
mable  
Output  
Driver  
Q
D
OFF2  
CE  
CK  
OTCLK2  
SR REV  
Keeper  
Latch  
Output Path  
Programmable  
Delay  
I
LVCMOS, LVTTL, PCI  
IQ1  
Programmable  
Delay  
Single-ended Standards  
using V  
REF  
D
IDDRIN1  
IDDRIN2  
Q
V
REF  
IFF1  
CE  
CK  
Pin  
ICLK1  
ICE  
SR REV  
Differential Standards  
I/O Pin  
from  
Adjacent  
IOB  
IQ2  
D
Q
IFF2  
CE  
ICLK2  
CK  
SR REV  
SR  
REV  
Input Path  
DS312-2_19_110606  
Notes:  
1. All IOB control and output path signals have an inverting polarity option wihtin the IOB.  
2. IDDRIN1/IDDRIN2 signals shown with dashed lines connect to the adjacent IOB in a differential pair only, not to the FPGA fabric.  
Figure 5: Simplified IOB Diagram  
10  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
The delay values are set up in the silicon once at configura-  
tion time—they are non-modifiable in device operation.  
Input Delay Functions  
Each IOB has a programmable delay block that optionally  
delays the input signal from 0 to approximately 5.8 ns. In  
Figure 6, the signal is first delayed by an initial delay of  
either 0 or approximately 1 to 3 ns. The range depends on  
the specific Spartan-3E FPGA array used. The initial delay  
then feeds a 7-tap delay line. This delay line has an approx-  
imate value of 250 ps per tap, again somewhat architecture  
dependent. All seven taps are available via a multiplexer for  
use as an asynchronous input directly into the FPGA fabric.  
In this way, the delay is programmable from 0 to ~5.8 ns in  
~250 ps steps. Three of the seven taps are also available  
via a multiplexer to the D inputs of the synchronous storage  
elements. The delay inserted in the path to the storage ele-  
ment can be varied from 0 to ~5.8 ns in ~500 ps steps. The  
first, coarse delay element is common to both asynchro-  
nous and synchronous paths, and must be either used or  
not used for both paths.  
The primary use for the input delay element is to adjust the  
input delay path to ensure that there is no hold time require-  
ment when using the input flip-flop(s) with a global clock.  
The default value is chosen automatically by the Xilinx soft-  
ware tools as the value depends on device size and the spe-  
cific device edge where the flip-flop resides. The value set  
by the Xilinx ISE software and the resulting effects on input  
timing are reported using the Timing Analyzer tool.  
If the design uses a DCM in the clock path, then the delay  
element can be safely set to zero because the  
Delay-Locked Loop (DLL) compensation automatically  
ensures that there is still no input hold time requirement.  
Both asynchronous and synchronous values can be modi-  
fied, which is useful where extra delay is required on clock  
or data inputs, for example, in interfaces to various types of  
RAM.  
IFD_DELAY_VALUE  
Synchronous input (IQ1)  
D Q  
Synchronous input (IQ2)  
D Q  
Initial Delay  
PAD  
Asynchronous input (I)  
IBUF_DELAY_VALUE  
DS312-2_18_102306  
Figure 6: Programmable Fixed Input Delay Elements  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
11  
Product Specification  
R
Functional Description  
This is accomplished by taking data synchronized to the  
clock signal’s rising edge and converting it to bits syn-  
chronized on both the rising and the falling edge. The com-  
bination of two registers and a multiplexer is referred to as a  
Double-Data-Rate D-type flip-flop (ODDR2).  
Storage Element Functions  
There are three pairs of storage elements in each IOB, one  
pair for each of the three paths. It is possible to configure  
each of these storage elements as an edge-triggered  
D-type flip-flop (FD) or a level-sensitive latch (LD).  
Table 4 describes the signal paths associated with the stor-  
age element.  
The storage-element pair on either the Output path or the  
Three-State path can be used together with a special multi-  
plexer to produce Double-Data-Rate (DDR) transmission.  
Table 4: Storage Element Signal Description  
Storage  
Element  
Signal  
Description  
Data input  
Function  
D
Data at this input is stored on the active edge of CK and enabled by CE. For latch  
operation when the input is enabled, data passes directly to the output Q.  
Q
Data output  
The data on this output reflects the state of the storage element. For operation as a latch  
in transparent mode, Q mirrors the data at D.  
CK  
CE  
Clock input  
Data is loaded into the storage element on this input’s active edge with CE asserted.  
Clock Enable input  
When asserted, this input enables CK. If not connected, CE defaults to the asserted  
state.  
SR  
Set/Reset input  
Reverse input  
This input forces the storage element into the state specified by the SRHIGH/SRLOW  
attributes. The SYNC/ASYNC attribute setting determines if the SR input is  
synchronized to the clock or not. If both SR and REV are active at the same time, the  
storage element gets a value of 0.  
REV  
This input is used together with SR. It forces the storage element into the state opposite  
from what SR does. The SYNC/ASYNC attribute setting determines whether the REV  
input is synchronized to the clock or not. If both SR and REV are active at the same time,  
the storage element gets a value of 0.  
trols the CE inputs for the register pair on the three-state  
path and ICE does the same for the register pair on the  
input path.  
As shown in Figure 5, the upper registers in both the output  
and three-state paths share a common clock. The OTCLK1  
clock signal drives the CK clock inputs of the upper registers  
on the output and three-state paths. Similarly, OTCLK2  
drives the CK inputs for the lower registers on the output  
and three-state paths. The upper and lower registers on the  
input path have independent clock lines: ICLK1 and ICLK2.  
The Set/Reset (SR) line entering the IOB controls all six  
registers, as is the Reverse (REV) line.  
In addition to the signal polarity controls described in IOB  
Overview, each storage element additionally supports the  
controls described in Table 5.  
The OCE enable line controls the CE inputs of the upper  
and lower registers on the output path. Similarly, TCE con-  
Table 5: Storage Element Options  
Option Switch  
Function  
Specificity  
FF/Latch  
Chooses between an edge-triggered flip-flop  
or a level-sensitive latch  
Independent for each storage element  
SYNC/ASYNC  
Determines whether the SR set/reset control is Independent for each storage element  
synchronous or asynchronous  
12  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 5: Storage Element Options (Continued)  
Option Switch  
Function  
Specificity  
SRHIGH/SRLOW Determines whether SR acts as a Set, which  
forces the storage element to a logic "1"  
Independent for each storage element, except  
when using ODDR2. In the latter case, the selection  
(SRHIGH) or a Reset, which forces a logic "0" for the upper element will apply to both elements.  
(SRLOW)  
INIT1/INIT0  
When Global Set/Reset (GSR) is asserted or  
after configuration this option specifies the  
initial state of the storage element, either set  
(INIT1) or reset (INIT0). By default, choosing  
Independent for each storage element, except  
when using ODDR2, which uses two IOBs. In the  
ODDR2 case, selecting INIT0 for one IOBs applies  
to both elements within the IOB, although INIT1  
SRLOW also selects INIT0; choosing SRHIGH could be selected for the elements in the other IOB.  
also selects INIT1.  
The storage-element pair on the Three-State path (TFF1  
Double-Data-Rate Transmission  
and TFF2) also can be combined with a local multiplexer to  
form a DDR primitive. This permits synchronizing the output  
enable to both the rising and falling edges of a clock. This  
DDR operation is realized in the same way as for the output  
path.  
Double-Data-Rate (DDR) transmission describes the tech-  
nique of synchronizing signals to both the rising and falling  
edges of the clock signal. Spartan-3E devices use register  
pairs in all three IOB paths to perform DDR operations.  
The pair of storage elements on the IOB’s Output path  
(OFF1 and OFF2), used as registers, combine with a spe-  
cial multiplexer to form a DDR D-type flip-flop (ODDR2).  
This primitive permits DDR transmission where output data  
bits are synchronized to both the rising and falling edges of  
a clock. DDR operation requires two clock signals (usually  
50% duty cycle), one the inverted form of the other. These  
signals trigger the two registers in alternating fashion, as  
shown in Figure 7. The Digital Clock Manager (DCM) gen-  
erates the two clock signals by mirroring an incoming signal,  
and then shifting it 180 degrees. This approach ensures  
minimal skew between the two signals. Alternatively, the  
inverter inside the IOB can be used to invert the clock sig-  
nal, thus only using one clock line and both rising and falling  
edges of that clock line as the two clocks for the DDR  
flip-flops.  
The storage-element pair on the input path (IFF1 and IFF2)  
allows an I/O to receive a DDR signal. An incoming DDR  
clock signal triggers one register, and the inverted clock sig-  
nal triggers the other register. The registers take turns cap-  
turing bits of the incoming DDR data signal. The primitive to  
allow this functionality is called IDDR2.  
Aside from high bandwidth data transfers, DDR outputs also  
can be used to reproduce, or mirror, a clock signal on the  
output. This approach is used to transmit clock and data sig-  
nals together (source synchronously). A similar approach is  
used to reproduce a clock signal at multiple outputs. The  
advantage for both approaches is that skew across the out-  
puts is minimal.  
DCM  
DCM  
0˚  
180˚ 0˚  
FDDR  
FDDR  
D1  
D1  
Q1  
Q1  
CLK1  
CLK1  
DDR MUX  
DDR MUX  
Q
Q
D2  
Q2  
D2  
Q2  
CLK2  
CLK2  
DS312-2_20_021105  
Figure 7: Two Methods for Clocking the DDR Register  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
13  
Product Specification  
R
Functional Description  
fabric where it is now already in the same time domain as  
D1. Here, the FPGA fabric uses only the clock ICLK1 to pro-  
cess the received data. See Figure 9 for a graphical illustra-  
tion of this function.  
Register Cascade Feature  
In the Spartan-3E family, one of the IOBs in a differential  
pair can cascade its input storage elements with those in  
the other IOB as part of a differential pair. This is intended to  
make DDR operation at high speed much simpler to imple-  
ment. The new DDR connections that are available are  
shown in Figure 5 (dashed lines), and are only available for  
routing between IOBs and are not accessible to the FPGA  
fabric. Note that this feature is only available when using dif-  
ferential I/O.  
Q
D
D1  
PAD  
To Fabric  
D2  
IDDRIN2  
IQ2  
Q
D
Q
D
IDDR2  
As a DDR input pair, the master IOB registers incoming  
data on the rising edge of ICLK1 (= D1) and the rising edge  
of ICLK2 (= D2), which is typically the same as the falling  
edge of ICLK1. This data is then transferred into the FPGA  
fabric. At some point, both signals must be brought into the  
same clock domain, typically ICLK1. This can be difficult at  
high frequencies because the available time is only one half  
of a clock cycle assuming a 50% duty cycle. See Figure 8  
for a graphical illustration of this function.  
ICLK1  
ICLK2  
ICLK1  
ICLK2  
d
d+1 d+2 d+3 d+4 d+5 d+6 d+7 d+8  
PAD  
D1  
d
d+2  
d+1  
d+4  
d+3  
d+6  
d+5  
d+8  
d+7  
Q
D
D1  
D2  
d-1  
PAD  
DS312-2_22_030105  
To Fabric  
D2  
Figure 9: Input DDR Using Spartan-3E Cascade Feature  
Q
D
ODDR2  
As a DDR output pair, the master IOB registers data coming  
from the FPGA fabric on the rising edge of OCLK1 (= D1)  
and the rising edge of OCLK2 (= D2), which is typically the  
same as the falling edge of OCLK1. These two bits of data  
are multiplexed by the DDR mux and forwarded to the out-  
put pin. The D2 data signal must be re-synchronized from  
the OCLK1 clock domain to the OCLK2 domain using FPGA  
slice flip-flops. Placement is critical at high frequencies,  
because the time available is only one half a clock cycle.  
See Figure 10 for a graphical illustration of this function.  
ICLK2  
ICLK1  
ICLK1  
ICLK2  
PAD  
D1  
d
d+1 d+2 d+3 d+4 d+5 d+6 d+7 d+8  
d+2 d+4 d+6  
d
d+8  
d+7  
Caution! The C0 or C1 alignment feature of the ODDR2  
flip-flop, originally introduced in the Spartan-3E FPGA family,  
is not recommended or supported in the ISE development  
software. The ODDR2 flip-flop without the alignment feature  
remains fully supported. Without the alignment feature, the  
ODDR2 feature behaves equivalent to the ODDR flip-flop on  
previous Xilinx FPGA families.  
D2 d-1  
d+1  
d+3  
d+5  
DS312-2_21_021105  
Figure 8: Input DDR (without Cascade Feature)  
In the Spartan-3E device, the signal D2 can be cascaded  
into the storage element of the adjacent slave IOB. There it  
is re-registered to ICLK1, and only then fed to the FPGA  
14  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
SelectIO Signal Standards  
Q
Q
D
D
D1  
PAD  
The Spartan-3E I/Os feature inputs and outputs that sup-  
port a wide range of I/O signaling standards (Table 6 and  
Table 7). The majority of the I/Os also can be used to form  
differential pairs to support any of the differential signaling  
standards (Table 7).  
From  
Fabric  
D2  
To define the I/O signaling standard in a design, set the  
IOSTANDARD attribute to the appropriate setting. Xilinx  
provides a variety of different methods for applying the  
IOSTANDARD for maximum flexibility. For a full description  
of different methods of applying attributes to control  
IOSTANDARD, refer to “Entry Strategies for Xilinx Con-  
straints” in the Xilinx Software Manuals and Help.  
OCLK1  
OCLK2  
OCLK1  
OCLK2  
D1  
Spartan-3E FPGAs provide additional input flexibility by  
allowing I/O standards to be mixed in different banks. For a  
d
d+2  
d+4  
d+6  
d+8  
d+10  
d+9  
particular V  
voltage, Table 6 and Table 7 list all of the  
CCO  
D2  
d+1  
d+3  
d+5  
d+7  
d+5 d+6  
IOSTANDARDs that can be combined and if the IOSTAN-  
DARD is supported as an input only or can be used for both  
inputs and outputs.  
d+8  
PAD  
d+7  
d
d+1 d+2 d+3 d+4  
DS312-2_23_030105  
Figure 10: Output DDR  
Table 6: Single-Ended IOSTANDARD Bank Compatibility  
V
Supply/Compatibility  
Input Requirements  
Board  
CCO  
Single-Ended  
IOSTANDARD  
Termination  
1.2V  
1.5V  
1.8V  
2.5V  
3.3V  
V
Voltage (V )  
REF  
TT  
Input/  
Output  
(1)  
LVTTL  
-
-
-
-
N/R  
N/R  
Input/  
Output  
LVCMOS33  
LVCMOS25  
LVCMOS18  
LVCMOS15  
LVCMOS12  
PCI33_3  
-
-
-
-
-
-
-
-
-
-
N/R  
N/R  
N/R  
N/R  
N/R  
N/R  
N/R  
N/R  
N/R  
0.9  
Input/  
Output  
Input  
Input  
Input  
Input  
N/R  
N/R  
N/R  
Input/  
Output  
Input  
Input  
Input  
-
Input/  
Output  
Input  
Input/  
Output  
(1)  
Input  
Input  
N/R  
Input/  
Output  
-
-
-
-
-
-
N/R  
N/R  
N/R  
0.9  
Input/  
Output  
PCI66_3  
-
Input/  
Output  
PCIX  
Input/  
Output  
HSTL_I_18  
-
-
Input  
Input  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
15  
Product Specification  
R
Functional Description  
Table 6: Single-Ended IOSTANDARD Bank Compatibility (Continued)  
V
Supply/Compatibility  
Input Requirements  
Board  
CCO  
Single-Ended  
IOSTANDARD  
Termination  
1.2V  
1.5V  
1.8V  
2.5V  
3.3V  
V
Voltage (V )  
REF  
TT  
Input/  
Output  
HSTL_III_18  
SSTL18_I  
-
-
Input  
Input  
1.1  
0.9  
1.8  
Input/  
Output  
-
-
-
-
Input  
Input  
Input  
0.9  
Input/  
Output  
SSTL2_I  
-
1.25  
1.25  
Notes:  
1. N/R - Not required for input operation.  
Table 7: Differential IOSTANDARD Bank Compatibility  
VCCO Supply  
Input  
Requirements:  
VREF  
Differential  
IOSTANDARD  
Differential Bank  
Restriction(1)  
1.8V  
2.5V  
3.3V  
Input,  
Applies to  
Outputs Only  
LVDS_25  
Input  
On-chip Differential Termination,  
Output  
Input  
Input,  
On-chip Differential Termination,  
Output  
Applies to  
Outputs Only  
RSDS_25  
Input  
Input  
Input  
Input  
Input,  
On-chip Differential Termination,  
Output  
Applies to  
Outputs Only  
MINI_LVDS_25  
V is not used  
REF  
for these I/O  
standards  
LVPECL_25  
BLVDS_25  
Input  
Input  
Input  
Input  
Input  
Input,  
Output  
No Differential  
Bank Restriction  
Input,  
Output  
DIFF_HSTL_I_18  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
Input  
Input  
Input  
Input  
Input  
Input  
Input  
Input,  
Output  
(other I/O bank  
restrictionsmight  
apply)  
Input,  
Output  
Input,  
Output  
DIFF_SSTL2_I  
Input  
Notes:  
1. Each bank can support any two of the following: LVDS_25 outputs, MINI_LVDS_25 outputs, RSDS_25 outputs.  
HSTL and SSTL inputs use the Reference Voltage (V  
) to  
Differential standards employ a pair of signals, one the  
opposite polarity of the other. The noise canceling proper-  
ties (for example, Common-Mode Rejection) of these stan-  
dards permit exceptionally high data transfer rates. This  
subsection introduces the differential signaling capabilities  
of Spartan-3E devices.  
REF  
bias the input-switching threshold. Once a configuration  
data file is loaded into the FPGA that calls for the I/Os of a  
given bank to use HSTL/SSTL, a few specifically reserved  
I/O pins on the same bank automatically convert to V  
inputs. For banks that do not contain HSTL or SSTL, V  
pins remain available for user I/Os or input pins.  
REF  
REF  
Each device-package combination designates specific I/O  
pairs specially optimized to support differential standards.  
16  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Differential pairs can be shown in the Pin and Area Con-  
straints Editor (PACE) with the “Show Differential Pairs”  
option. A unique L-number, part of the pin name, identifies  
the line-pairs associated with each bank (see Pinout  
Descriptions in Module 4). For each pair, the letters P and  
N designate the true and inverted lines, respectively. For  
example, the pin names IO_L43P_3 and IO_L43N_3 indi-  
cate the true and inverted lines comprising the line pair L43  
on Bank 3.  
Pull-up and pull-down resistors are commonly applied to  
unused I/Os, inputs, and three-state outputs, but can be  
used on any I/O or Input-only pin. The pull-up resistor con-  
nects an IOB to V  
through a resistor. The resistance  
CCO  
value depends on the V  
voltage (see DC and Switch-  
CCO  
ing Characteristics in Module 3 for the specifications). The  
pull-down resistor similarly connects an IOB to ground with  
a resistor. The PULLUP and PULLDOWN attributes and  
library primitives turn on these optional resistors.  
V
provides current to the outputs and additionally pow-  
By default, PULLDOWN resistors terminate all unused I/O  
and Input-only pins. Unused I/O and Input-only pins can  
alternatively be set to PULLUP or FLOAT. To change the  
unused I/O Pad setting, set the Bitstream Generator (Bit-  
Gen) option UnusedPin to PULLUP, PULLDOWN, or  
FLOAT. The UnusedPin option is accessed through the  
Properties for Generate Programming File in ISE. See Bit-  
stream Generator (BitGen) Options.  
CCO  
ers the On-Chip Differential Termination. V  
must be  
CCO  
2.5V when using the On-Chip Differential Termination. The  
lines are not required for differential operation.  
V
REF  
To further understand how to combine multiple IOSTAN-  
DARDs within a bank, refer to IOBs Organized into Banks,  
page 18.  
On-Chip Differential Termination  
During configuration a Low logic level on the HSWAP pin  
activates pull-up resistors on all I/O and Input-only pins not  
actively used in the selected configuration mode.  
Spartan-3E devices provide an on-chip ~120Ω differential  
termination across the input differential receiver terminals.  
The on-chip input differential termination in Spartan-3E  
devices potentially eliminates the external 100Ωtermination  
resistor commonly found in differential receiver circuits. Dif-  
ferential termination is used for LVDS, mini-LVDS, and  
RSDS as applications permit.  
Keeper Circuit  
Each I/O has an optional keeper circuit (see Figure 12) that  
keeps bus lines from floating when not being actively driven.  
The KEEPER circuit retains the last logic level on a line after  
all drivers have been turned off. Apply the KEEPER  
attribute or use the KEEPER library primitive to use the  
KEEPER circuitry. Pull-up and pull-down resistors override  
the KEEPER settings.  
On-chip Differential Termination is available in banks with  
V
= 2.5V and is not supported on dedicated input pins.  
CCO  
Set the DIFF_TERM attribute to TRUE to enable Differential  
Termination on a differential I/O pin pair.  
The DIFF_TERM attribute uses the following syntax in the  
UCF file:  
Weak Pull-up  
INST <I/O_BUFFER_INSTANTIATION_NAME>  
DIFF_TERM = “<TRUE/FALSE>”;  
Output Path  
Input Path  
Spartan-3E  
Differential  
Output  
Spartan-3E  
Differential Input  
Z
= 50Ω  
0
Keeper  
Weak Pull-down  
DS312-2_25_022805  
Z
Z
= 50Ω  
= 50Ω  
0
Figure 12: Keeper Circuit  
Spartan-3E  
Differential Input  
with On-Chip  
Differential  
Slew Rate Control and Drive Strength  
Spartan-3E  
Differential  
Output  
0
Each IOB has a slew-rate control that sets the output  
switching edge-rate for LVCMOS and LVTTL outputs. The  
SLEW attribute controls the slew rate and can either be set  
to SLOW (default) or FAST.  
Terminator  
Z
= 50Ω  
0
Each LVCMOS and LVTTL output additionally supports up  
to six different drive current strengths as shown in Table 8.  
To adjust the drive strength for each output, the DRIVE  
attribute is set to the desired drive strength: 2, 4, 6, 8, 12,  
and 16. Unless otherwise specified in the FPGA application,  
the software default IOSTANDARD is LVCMOS25, SLOW  
slew rate, and 12 mA output drive.  
DS312-2_24_082605  
Figure 11: Differential Inputs and Outputs  
Pull-Up and Pull-Down Resistors  
Pull-up and pull-down resistors inside each IOB optionally  
force a floating I/O or Input-only pin to a determined state.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
17  
Product Specification  
R
Functional Description  
Table 8: Programmable Output Drive Current  
Bank 0  
Output Drive Current (mA)  
2
4
6
8
9
9
9
9
-
12  
9
9
9
-
16  
9
9
-
IOSTANDARD  
LVTTL  
9
9
9
9
9
9
9
9
9
9
9
-
9
9
9
9
9
-
LVCMOS33  
LVCMOS25  
LVCMOS18  
LVCMOS15  
LVCMOS12  
Bank 2  
-
DS312-2_26_021205  
-
-
Figure 13: Spartan-3E I/O Banks (top view)  
-
-
-
I/O Banking Rules  
When assigning I/Os to banks, these V  
followed:  
High output current drive strength and FAST output slew  
rates generally result in fastest I/O performance. However,  
these same settings generally also result in transmission  
line effects on the printed circuit board (PCB) for all but the  
shortest board traces. Each IOB has independent slew rate  
and drive strength controls. Use the slowest slew rate and  
lowest output drive current that meets the performance  
requirements for the end application.  
rules must be  
CCO  
1. All V  
pins on the FPGA must be connected even if a  
CCO  
bank is unused.  
2. All V  
lines associated within a bank must be set to  
CCO  
the same voltage level.  
3. The V  
levels used by all standards assigned to the  
CCO  
Likewise, due to lead inductance, a given package supports  
a limited number of simultaneous switching outputs (SSOs)  
when using fast, high-drive outputs. Only use fast,  
high-drive outputs when required by the application.  
I/Os of any given bank must agree. The Xilinx  
development software checks for this. Table 6 and  
Table 7 describe how different standards use the V  
supply.  
CCO  
4. If a bank does not have any V  
requirements,  
CCO  
IOBs Organized into Banks  
connect V  
to an available voltage, such as 2.5V or  
CCO  
The Spartan-3E architecture organizes IOBs into four I/O  
banks as shown in Figure 13. Each bank maintains sepa-  
3.3V. Some configuration modes might place additional  
V
requirements. Refer to Configuration for more  
CCO  
rate V  
and V  
supplies. The separate supplies allow  
information.  
CCO  
REF  
each bank to independently set V  
. Similarly, the V  
REF  
CCO  
If any of the standards assigned to the Inputs of the bank  
supplies may be set for each bank. Refer to Table 6 and  
Table 7 for V and V requirements.  
use V , then the following additional rules must be  
REF  
CCO  
REF  
observed:  
When working with Spartan-3E devices, most of the differ-  
ential I/O standards are compatible and can be combined  
within any given bank. Each bank can support any two of  
the following differential standards: LVDS_25 outputs,  
MINI_LVDS_25 outputs, and RSDS_25 outputs. As an  
example, LVDS_25 outputs, RSDS_25 outputs, and any  
other differential inputs while using on-chip differential ter-  
mination are a valid combination. A combination not allowed  
is a single bank with LVDS_25 outputs, RSDS_25 outputs,  
and MINI_LVDS_25 outputs.  
1. All V  
2. All V  
pins must be connected within a bank.  
REF  
lines associated with the bank must be set to  
REF  
the same voltage level.  
3. The V  
levels used by all standards assigned to the  
REF  
Inputs of the bank must agree. The Xilinx development  
software checks for this. Table 6 describes how different  
standards use the V  
supply.  
REF  
If V  
is not required to bias the input switching thresholds,  
REF  
all associated V  
pins within the bank can be used as  
REF  
user I/Os or input pins.  
Package Footprint Compatibility  
Sometimes, applications outgrow the logic capacity of a  
specific Spartan-3E FPGA. Fortunately, the Spartan-3E  
family is designed so that multiple part types are available in  
pin-compatible package footprints, as described in Pinout  
Descriptions in Module 4. In some cases, there are subtle  
differences between devices available in the same footprint.  
18  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
These differences are outlined for each package, such as  
pins that are unconnected on one device but connected on  
another in the same package or pins that are dedicated  
inputs on one package but full I/O on another. When design-  
ing the printed circuit board (PCB), plan for potential future  
upgrades and package migration.  
Supply Voltages for the IOBs  
The IOBs are powered by three supplies:  
1. The V supplies, one for each of the FPGA’s I/O  
CCO  
banks, power the output drivers. The voltage on the  
pins determines the voltage swing of the output  
V
CCO  
signal.  
The Spartan-3E family is not pin-compatible with any previ-  
ous Xilinx FPGA family.  
2. V  
is the main power supply for the FPGA’s internal  
is an auxiliary source of power, primarily to  
CCINT  
logic.  
Dedicated Inputs  
3. V  
CCAUX  
optimize the performance of various FPGA functions  
such as I/O switching.  
Dedicated Inputs are IOBs used only as inputs. Pin names  
designate a Dedicated Input if the name starts with IP, for  
example, IP or IP_Lxxx_x. Dedicated inputs retain the full  
functionality of the IOB for input functions with a single  
exception for differential inputs (IP_Lxxx_x). For the differ-  
ential Dedicated Inputs, the on-chip differential termination  
is not available. To replace the on-chip differential termina-  
tion, choose a differential pair that supports outputs  
(IO_Lxxx_x) or use an external 100Ω termination resistor on  
the board.  
I/O and Input-Only Pin Behavior During  
Power-On, Configuration, and User Mode  
In this section, all behavior described for I/O pins also  
applies to input-only pins and dual-purpose I/O pins that are  
not actively involved in the currently-selected configuration  
mode.  
All I/O pins have ESD clamp diodes to their respective V  
CCO  
supply and from GND, as shown in Figure 5. The V  
CCINT  
ESD Protection  
Clamp diodes protect all device pads against damage from  
Electro-Static Discharge (ESD) as well as excessive voltage  
transients. Each I/O has two clamp diodes: one diode  
(1.2V), V  
(2.5V), and V  
supplies can be applied in  
CCAUX  
CCO  
any order. Before the FPGA can start its configuration pro-  
cess, V , V Bank 2, and V must have reached  
CCINT CCO  
CCAUX  
their respective minimum recommended operating levels  
indicated in Table 73. At this time, all output drivers are in a  
extends P-to-N from the pad to V  
and a second diode  
CCO  
extends N-to-P from the pad to GND. During operation,  
these diodes are normally biased in the off state. These  
clamp diodes are always connected to the pad, regardless  
of the signal standard selected. The presence of diodes lim-  
its the ability of Spartan-3E I/Os to tolerate high signal volt-  
high-impedance state. V  
Bank 2, V  
, and V  
CCO  
CCINT CCAUX  
serve as inputs to the internal Power-On Reset circuit  
(POR).  
A Low level applied to the HSWAP input enables pull-up  
resistors on user-I/O and input-only pins from power-on  
throughout configuration. A High level on HSWAP disables  
the pull-up resistors, allowing the I/Os to float. HSWAP con-  
tains a weak pull-up and defaults to High if left floating. As  
soon as power is applied, the FPGA begins initializing its  
configuration memory. At the same time, the FPGA inter-  
nally asserts the Global Set-Reset (GSR), which asynchro-  
nously resets all IOB storage elements to a default Low  
state. Also see Pin Behavior During Configuration.  
ages. The V absolute maximum rating in Table 72 of DC  
IN  
and Switching Characteristics (Module 3) specifies the  
voltage range that I/Os can tolerate.  
Upon the completion of initialization and the beginning of  
configuration, INIT_B goes High, sampling the M0, M1, and  
M2 inputs to determine the configuration mode. Configura-  
tion data is then loaded into the FPGA. The I/O drivers  
remain in a high-impedance state (with or without pull-up  
resistors, as determined by the HSWAP input) throughout  
configuration.  
At the end of configuration, the GSR net is released, placing  
the IOB registers in a Low state by default, unless the  
loaded design reverses the polarity of their respective SR  
inputs.  
The Global Three State (GTS) net is released during  
Start-Up, marking the end of configuration and the begin-  
ning of design operation in the User mode. After the GTS  
net is released, all user I/Os go active while all unused I/Os  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
19  
Product Specification  
R
Functional Description  
are weakly pulled down (PULLDOWN). The designer can  
control how the unused I/Os are terminated after GTS is  
released by setting the Bitstream Generator (BitGen) option  
UnusedPin to PULLUP, PULLDOWN, or FLOAT.  
Behavior of Unused I/O Pins After  
Configuration  
By default, the Xilinx ISE development software automati-  
cally configures all unused I/O pins as input pins with indi-  
vidual internal pull-down resistors to GND.  
One clock cycle later (default), the Global Write Enable  
(GWE) net is released allowing the RAM and registers to  
change states. Once in User mode, any pull-up resistors  
enabled by HSWAP revert to the user settings and HSWAP  
is available as a general-purpose I/O. For more information  
on PULLUP and PULLDOWN, see Pull-Up and Pull-Down  
Resistors.  
This default behavior is controlled by the UnusedPin bit-  
stream generator (BitGen) option, as described in Table 68.  
JTAG Boundary-Scan Capability  
All Spartan-3E IOBs support boundary-scan testing com-  
patible with IEEE 1149.1/1532 standards. See JTAG Mode  
for more information on programming via JTAG.  
20  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
and additional multiplexers and carry logic simplify wide  
logic and arithmetic functions. Most general-purpose logic  
in a design is automatically mapped to the slice resources in  
the CLBs. Each CLB is identical, and the Spartan-3E family  
CLB structure is identical to that for the Spartan-3 family.  
Configurable Logic Block (CLB) and  
Slice Resources  
CLB Overview  
The Configurable Logic Blocks (CLBs) constitute the main  
logic resource for implementing synchronous as well as  
combinatorial circuits. Each CLB contains four slices, and  
each slice contains two Look-Up Tables (LUTs) to imple-  
ment logic and two dedicated storage elements that can be  
used as flip-flops or latches. The LUTs can be used as a  
16x1 memory (RAM16) or as a 16-bit shift register (SRL16),  
CLB Array  
The CLBs are arranged in a regular array of rows and col-  
umns as shown in Figure 14.  
Each density varies by the number of rows and columns of  
CLBs (see Table 9).  
X0Y3 X1Y3  
X0Y2 X1Y2  
X2Y3 X3Y3  
X2Y2 X3Y2  
X0Y1 X1Y1  
X0Y0 X1Y0  
X2Y1 X3Y1  
X2Y0 X3Y0  
Spartan-3E  
FPGA  
IOBs  
Slice  
CLB  
DS312-2_31_021205  
Figure 14: CLB Locations  
Table 9: Spartan-3E CLB Resources  
CLB  
Rows  
CLB  
Columns  
CLB  
Total  
LUTs /  
Flip-Flops  
Equivalent  
Logic Cells  
RAM16 /  
SRL16  
Distributed  
RAM Bits  
(1)  
Device  
Slices  
960  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
22  
34  
46  
60  
76  
16  
26  
34  
46  
58  
240  
1,920  
2,160  
5,508  
960  
2,448  
4,656  
8,672  
14,752  
15,360  
39,168  
74,496  
138,752  
236,032  
612  
2,448  
4,656  
8,672  
14,752  
4,896  
1,164  
2,168  
3,688  
9,312  
10,476  
19,512  
33,192  
17,344  
29,504  
Notes:  
1. The number of CLBs is less than the multiple of the rows and columns because the block RAM/multiplier blocks and the DCMs are  
embedded in the array (see Figure 1 in Module 1).  
LUTs support both logic and memory (including both  
Slices  
RAM16 and SRL16 shift registers) while half support logic  
Each CLB comprises four interconnected slices, as shown  
only, and the two types alternate throughout the array col-  
in Figure 16. These slices are grouped in pairs. Each pair is  
umns. The SLICEL reduces the size of the CLB and lowers  
organized as a column with an independent carry chain.  
the cost of the device, and can also provide a performance  
The left pair supports both logic and memory functions and  
advantage over the SLICEM.  
its slices are called SLICEM. The right pair supports logic  
only and its slices are called SLICEL. Therefore half the  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
21  
Product Specification  
R
Functional Description  
.
WF[4:1]  
DS312-2_32_021205  
Notes:  
1. Options to invert signal polarity as well as other options that enable lines for various functions are not shown.  
2. The index i can be 6, 7, or 8, depending on the slice. The upper SLICEL has an F8MUX, and the upper SLICEM has  
an F7MUX. The lower SLICEL and SLICEM both have an F6MUX.  
Figure 15: Simplified Diagram of the Left-Hand SLICEM  
22  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Left-Hand SLICEM  
(Logic or Distributed RAM  
or Shift Register)  
Right-Hand SLICEL  
(Logic Only)  
COUT  
CLB  
SLICE  
X1Y1  
SLICE  
X1Y0  
COUT  
Switch  
Matrix  
Interconnect  
to Neighbors  
CIN  
SLICE  
X0Y1  
SHIFTOUT  
SHIFTIN  
SLICE  
X0Y0  
CIN  
DS099-2_05_082104  
Figure 16: Arrangement of Slices within the CLB  
Slice Location Designations  
Slice Overview  
The Xilinx development software designates the location of  
a slice according to its X and Y coordinates, starting in the  
bottom left corner, as shown in Figure 14. The letter ‘X’ fol-  
lowed by a number identifies columns of slices, increment-  
ing from the left side of the die to the right. The letter ‘Y’  
followed by a number identifies the position of each slice in  
a pair as well as indicating the CLB row, incrementing from  
the bottom of the die. Figure 16 shows the CLB located in  
the lower left-hand corner of the die. The SLICEM always  
has an even ‘X’ number, and the SLICEL always has an odd  
‘X’ number.  
A slice includes two LUT function generators and two stor-  
age elements, along with additional logic, as shown in  
Figure 17.  
Both SLICEM and SLICEL have the following elements in  
common to provide logic, arithmetic, and ROM functions:  
Two 4-input LUT function generators, F and G  
Two storage elements  
Two wide-function multiplexers, F5MUX and FiMUX  
Carry and arithmetic logic  
FiMUX  
SRL16  
FiMUX  
RAM16  
Carry  
Carry  
LUT4 (G)  
LUT4 (G)  
Register  
Register  
F5MUX  
F5MUX  
SRL16  
RAM16  
Carry  
Carry  
Register  
Register  
LUT4 (F)  
LUT4 (F)  
Arithmetic Logic  
Arithmetic Logic  
DS312-2_13_020905  
SLICEM  
SLICEL  
Figure 17: Resources in a Slice  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
23  
Product Specification  
R
Functional Description  
The SLICEM pair supports two additional functions:  
Enable (CE), Slice Write Enable (SLICEWE1), and  
Reset/Set (RS) are shared in common between the two  
halves.  
Two 16x1 distributed RAM blocks, RAM16  
Two 16-bit shift registers, SRL16  
The LUTs located in the top and bottom portions of the slice  
are referred to as "G" and "F", respectively, or the "G-LUT"  
and the "F-LUT". The storage elements in the top and bot-  
tom portions of the slice are called FFY and FFX, respec-  
tively.  
Each of these elements is described in more detail in the fol-  
lowing sections.  
Logic Cells  
The combination of a LUT and a storage element is known  
as a “Logic Cell”. The additional features in a slice, such as  
the wide multiplexers, carry logic, and arithmetic gates, add  
to the capacity of a slice, implementing logic that would oth-  
erwise require additional LUTs. Benchmarks have shown  
that the overall slice is equivalent to 2.25 simple logic cells.  
This calculation provides the equivalent logic cell count  
shown in Table 9.  
Each slice has two multiplexers with F5MUX in the bottom  
portion of the slice and FiMUX in the top portion. Depending  
on the slice, the FiMUX takes on the name F6MUX,  
F7MUX, or F8MUX, according to its position in the multi-  
plexer chain. The lower SLICEL and SLICEM both have an  
F6MUX. The upper SLICEM has an F7MUX, and the upper  
SLICEL has an F8MUX.  
The carry chain enters the bottom of the slice as CIN and  
exits at the top as COUT. Five multiplexers control the chain:  
CYINIT, CY0F, and CYMUXF in the bottom portion and  
CY0G and CYMUXG in the top portion. The dedicated arith-  
metic logic includes the exclusive-OR gates XORF and  
XORG (bottom and top portions of the slice, respectively)  
as well as the AND gates FAND and GAND (bottom and top  
portions, respectively).  
Slice Details  
Figure 15 is a detailed diagram of the SLICEM. It represents  
a superset of the elements and connections to be found in  
all slices. The dashed and gray lines (blue when viewed in  
color) indicate the resources found only in the SLICEM and  
not in the SLICEL.  
Each slice has two halves, which are differentiated as top  
and bottom to keep them distinct from the upper and lower  
slices in a CLB. The control inputs for the clock (CLK), Clock  
See Table 10 for a description of all the slice input and out-  
put signals.  
Table 10: Slice Inputs and Outputs  
Name  
F[4:1]  
Location  
SLICEL/M Bottom  
SLICEL/M Top  
Direction  
Input  
Description  
F-LUT and FAND inputs  
G[4:1]  
BX  
Input  
G-LUT and GAND inputs or Write Address (SLICEM)  
SLICEL/M Bottom  
Input  
Bypass to or output (SLICEM) or storage element, or control input to  
F5MUX, input to carry logic, or data input to RAM (SLICEM)  
BY  
SLICEL/M Top  
Input  
Bypass to or output (SLICEM) or storage element, or control input to  
FiMUX, input to carry logic, or data input to RAM (SLICEM)  
BXOUT  
BYOUT  
ALTDIG  
DIG  
SLICEM Bottom  
SLICEM Top  
SLICEM Top  
SLICEM Top  
Output  
Output  
Input  
BX bypass output  
BY bypass output  
Alternate data input to RAM  
Output  
Input  
ALTDIG or SHIFTIN bypass output  
RAM Write Enable  
SLICEWE1 SLICEM Common  
F5  
SLICEL/M Bottom  
SLICEL/M Top  
Output  
Input  
Output from F5MUX; direct feedback to FiMUX  
Input to FiMUX; direct feedback from F5MUX or another FiMUX  
Input to FiMUX; direct feedback from F5MUX or another FiMUX  
Output from FiMUX; direct feedback to another FiMUX  
FFX/Y Clock Enable  
FXINA  
FXINB  
Fi  
SLICEL/M Top  
Input  
SLICEL/M Top  
Output  
Input  
CE  
SLICEL/M Common  
SLICEL/M Common  
SR  
Input  
FFX/Y Set or Reset or RAM Write Enable (SLICEM)  
24  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 10: Slice Inputs and Outputs (Continued)  
Name  
CLK  
SHIFTIN  
Location  
SLICEL/M Common  
SLICEM Top  
Direction  
Input  
Description  
FFX/Y Clock or RAM Clock (SLICEM)  
Data input to G-LUT RAM  
Shift data output from F-LUT RAM  
Carry chain input  
Input  
SHIFTOUT SLICEM Bottom  
Output  
Input  
CIN  
COUT  
X
SLICEL/M Bottom  
SLICEL/M Top  
Output  
Output  
Output  
Output  
Output  
Output  
Output  
Carry chain output  
SLICEL/M Bottom  
SLICEL/M Top  
Combinatorial output  
Y
Combinatorial output  
XB  
YB  
XQ  
YQ  
SLICEL/M Bottom  
SLICEL/M Top  
Combinatorial output from carry or F-LUT SRL16 (SLICEM)  
Combinatorial output from carry or G-LUT SRL16 (SLICEM)  
SLICEL/M Bottom  
SLICEL/M Top  
FFX output  
FFY output  
BY in the top half) can take any of several possible  
branches:  
Main Logic Paths  
Central to the operation of each slice are two nearly identi-  
cal data paths at the top and bottom of the slice. The  
description that follows uses names associated with the bot-  
tom path. (The top path names appear in parentheses.) The  
basic path originates at an interconnect switch matrix out-  
side the CLB. See Interconnect for more information on the  
switch matrix and the routing connections.  
1. Bypass both the LUT and the storage element, and  
then exit the slice as BXOUT (or BYOUT) and return to  
interconnect.  
2. Bypass the LUT, and then pass through a storage  
element via the D input before exiting as XQ (or YQ).  
3. Control the wide function multiplexer F5MUX (or  
FiMUX).  
Four lines, F1 through F4 (or G1 through G4 on the upper  
path), enter the slice and connect directly to the LUT. Once  
inside the slice, the lower 4-bit path passes through a LUT  
‘F’ (or ‘G’) that performs logic operations. The LUT Data out-  
put, ‘D’, offers five possible paths:  
4. Via multiplexers, serve as an input to the carry chain.  
5. Drive the DI input of the LUT.  
6. BY can control the REV inputs of both the FFY and FFX  
storage elements. See Storage Element Functions.  
1. Exit the slice via line "X" (or "Y") and return to  
interconnect.  
7. Finally, the DIG_MUX multiplexer can switch BY onto  
the DIG line, which exits the slice.  
2. Inside the slice, "X" (or "Y") serves as an input to the  
DXMUX (or DYMUX) which feeds the data input, "D", of  
the FFX (or FFY) storage element. The "Q" output of  
the storage element drives the line XQ (or YQ) which  
exits the slice.  
The control inputs CLK, CE, SR, BX and BY have program-  
mable polarity. The LUT inputs do not need programmable  
polarity because their function can be inverted inside the  
LUT.  
3. Control the CYMUXF (or CYMUXG) multiplexer on the  
carry chain.  
The sections that follow provide more detail on individual  
functions of the slice.  
4. With the carry chain, serve as an input to the XORF (or  
XORG) exclusive-OR gate that performs arithmetic  
operations, producing a result on "X" (or "Y").  
Look-Up Tables  
The Look-Up Table or LUT is a RAM-based function gener-  
ator and is the main resource for implementing logic func-  
tions. Furthermore, the LUTs in each SLICEM pair can be  
configured as Distributed RAM or a 16-bit shift register, as  
described later.  
5. Drive the multiplexer F5MUX to implement logic  
functions wider than four bits. The "D" outputs of both  
the F-LUT and G-LUT serve as data inputs to this  
multiplexer.  
Each of the two LUTs (F and G) in a slice have four logic  
inputs (A1-A4) and a single output (D). Any four-variable  
Boolean logic operation can be implemented in one LUT.  
Functions with more inputs can be implemented by cascad-  
In addition to the main logic paths described above, there  
are two bypass paths that enter the slice as BX and BY.  
Once inside the FPGA, BX in the bottom half of the slice (or  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
25  
Product Specification  
R
Functional Description  
ing LUTs or by using the wide function multiplexers that are  
described later.  
Wide Multiplexers  
Wide-function multiplexers effectively combine LUTs in  
order to permit more complex logic operations. Each slice  
has two of these multiplexers with F5MUX in the bottom por-  
tion of the slice and FiMUX in the top portion. The F5MUX  
multiplexes the two LUTs in a slice. The FiMUX multiplexes  
two CLB inputs which connect directly to the F5MUX and  
FiMUX results from the same slice or from other slices. See  
Figure 19.  
The output of the LUT can connect to the wide multiplexer  
logic, the carry and arithmetic logic, or directly to a CLB out-  
put or to the CLB storage element. See Figure 18.  
Y
4
D
YQ  
G[4:1]  
A[4:1]  
G-LUT  
FFY  
X
4
F[4:1]  
A[4:1]  
F-LUT  
XQ  
D
FFX  
DS312-2_33_111105  
Figure 18: LUT Resources in a Slice  
FiMUX  
FXINA  
1
0
FX (Local Feedback to FXIN)  
Y (General Interconnect)  
YQ  
FXINB  
BY  
D Q  
F5MUX  
1
LUT  
LUT  
F[4:1]  
G[4:1]  
BX  
F5 (Local Feedback to FXIN)  
X (General Interconnect)  
XQ  
0
D Q  
x312-2_34_021205  
Figure 19: Dedicated Multiplexers in Spartan-3E CLB  
Depending on the slice, FiMUX takes on the name F6MUX,  
F7MUX, or F8MUX. The designation indicates the number  
of inputs possible without restriction on the function. For  
example, an F7MUX can generate any function of seven  
inputs. Figure 20 shows the names of the multiplexers in  
each position in the Spartan-3E CLB. The figure also  
includes the direct connections within the CLB, along with  
the F7MUX connection to the CLB below.  
ate any function of five inputs, with four inputs duplicated to  
two LUTs and the fifth input controlling the mux. Because  
each LUT can implement independent 2:1 muxes, the  
F5MUX can combine them to create a 4:1 mux, which is a  
six-input function. If the two LUTs have completely indepen-  
dent sets of inputs, some functions of all nine inputs can be  
implemented. Table 11 shows the connections for each mul-  
tiplexer and the number of inputs possible for different types  
of functions.  
Each mux can create logic functions of more inputs than  
indicated by its name. The F5MUX, for example, can gener-  
26  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
FXINB  
FXINA  
F8  
X
F5  
F5  
FXINB  
FXINA  
FX  
F6  
F5  
F5  
FXINB  
FXINA  
FX  
F7  
F5  
F5  
FXINB  
FXINA  
F6  
F5  
FX  
F5  
DS312-2_38_021305  
Figure 20: Muxes and Dedicated Feedback in Spartan-3E CLB  
Table 11: Mux Capabilities  
Total Number of Inputs per Function  
For Any  
Function  
For Limited  
Functions  
Mux  
Usage  
F5MUX  
F6MUX  
F7MUX  
F8MUX  
Input Source  
LUTs  
For Mux  
F5MUX  
FiMUX  
5
6
7
8
6 (4:1 mux)  
9
F5MUX  
11 (8:1 mux)  
20 (16:1 mux)  
37 (32:1 mux)  
19  
39  
79  
F6MUX  
F7MUX  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
27  
Product Specification  
R
Functional Description  
The wide multiplexers can be used by the automatic tools or  
instantiated in a design using a component such as the  
F5MUX. The symbol, signals, and function are described  
below. The description is similar for the F6MUX, F7MUX,  
and F8MUX. Each has versions with a general output, local  
output, or both.  
Table 13: F5MUX Function  
Inputs  
Outputs  
S
0
0
1
1
I0  
1
I1  
X
X
1
O
1
0
1
0
LO  
1
0
0
I0  
I1  
S
0
1
LO  
O
X
X
1
0
0
DS312-2_35_021205  
For more details on using the multiplexers, see XAPP466:  
Using Dedicated Multiplexers in Spartan-3 FPGAs.  
Figure 21: F5MUX with Local and General Outputs  
Carry and Arithmetic Logic  
Table 12: F5MUX Inputs and Outputs  
The carry chain, together with various dedicated arithmetic  
logic gates, support fast and efficient implementations of  
math operations. The carry logic is automatically used for  
most arithmetic functions in a design. The gates and multi-  
plexers of the carry and arithmetic logic can also be used for  
general-purpose logic, including simple wide Boolean func-  
tions.  
Signal  
Function  
Input selected when S is Low  
Input selected when S is High  
Select input  
I0  
I1  
S
LO  
Local Output that connects to the F5 or FX CLB  
pins, which use local feedback to the FXIN  
inputs to the FiMUX for cascading  
The carry chain enters the slice as CIN and exits as COUT,  
controlled by several multiplexers. The carry chain connects  
directly from one CLB to the CLB above. The carry chain  
can be initialized at any point from the BX (or BY) inputs.  
O
General Output that connects to the  
general-purpose combinatorial or registered  
outputs of the CLB  
The dedicated arithmetic logic includes the exclusive-OR  
gates XORF and XORG (upper and lower portions of the  
slice, respectively) as well as the AND gates GAND and  
FAND (upper and lower portions, respectively). These gates  
work in conjunction with the LUTs to implement efficient  
arithmetic functions, including counters and multipliers, typ-  
ically at two bits per slice. See Figure 22 and Table 14.  
28  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
COUT  
YB  
1
CYMUXG  
Y
G[4:1]  
A[4:1]  
G-LUT  
CYSELG  
CY0G  
G1 G2  
YQ  
D
FFY  
XORG  
GAND  
1
0
BY  
XB  
X
1
4
CYMUXF  
F[4:1]  
A[4:1]  
F-LUT  
CYSELF  
CY0F  
F1  
F2  
XQ  
D
FFX  
XORF  
CYINIT  
FAND  
1
0
BX  
DS312-2_14_021305  
CIN  
Figure 22: Carry Logic  
Table 14: Carry Logic Functions  
Function  
Description  
CYINIT  
Initializes carry chain for a slice. Fixed selection of:  
CIN carry input from the slice below  
BX input  
CY0F  
Carry generation for bottom half of slice. Fixed selection of:  
F1 or F2 inputs to the LUT (both equal 1 when a carry is to be generated)  
FAND gate for multiplication  
BX input for carry initialization  
Fixed "1" or "0" input for use as a simple Boolean function  
CY0G  
Carry generation for top half of slice. Fixed selection of:  
G1 or G2 inputs to the LUT (both equal 1 when a carry is to be generated)  
GAND gate for multiplication  
BY input for carry initialization  
Fixed "1" or "0" input for use as a simple Boolean function  
CYMUXF  
Carry generation or propagation mux for bottom half of slice. Dynamic selection via CYSELF of:  
CYINIT carry propagation (CYSELF = 1)  
CY0F carry generation (CYSELF = 0)  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
29  
Product Specification  
R
Functional Description  
Table 14: Carry Logic Functions (Continued)  
Function  
Description  
CYMUXG Carry generation or propagation mux for top half of slice. Dynamic selection via CYSELF of:  
CYMUXF carry propagation (CYSELG = 1)  
CY0G carry generation (CYSELG = 0)  
CYSELF  
CYSELG  
XORF  
Carry generation or propagation select for bottom half of slice. Fixed selection of:  
F-LUT output (typically XOR result)  
Fixed "1" to always propagate  
Carry generation or propagation select for top half of slice. Fixed selection of:  
G-LUT output (typically XOR result)  
Fixed "1" to always propagate  
Sum generation for bottom half of slice. Inputs from:  
F-LUT  
CYINIT carry signal from previous stage  
Result is sent to either the combinatorial or registered output for the top of the slice.  
XORG  
FAND  
GAND  
Sum generation for top half of slice. Inputs from:  
G-LUT  
CYMUXF carry signal from previous stage  
Result is sent to either the combinatorial or registered output for the top of the slice.  
Multiplier partial product for bottom half of slice. Inputs:  
F-LUT F1 input  
F-LUT F2 input  
Result is sent through CY0F to become the carry generate signal into CYMUXF  
Multiplier partial product for top half of slice. Inputs:  
G-LUT G1 input  
G-LUT G2 input  
Result is sent through CY0G to become the carry generate signal into CYMUXG  
The basic usage of the carry logic is to generate a half-sum  
in the LUT via an XOR function, which generates or propa-  
gates a carry out COUT via the carry mux CYMUXF (or  
CYMUXG), and then complete the sum with the dedicated  
XORF (or XORG) gate and the carry input CIN. This struc-  
ture allows two bits of an arithmetic function in each slice.  
The CYMUXF (or CYMUXG) can be instantiated using the  
MUXCY element, and the XORF (or XORG) can be instan-  
tiated using the XORCY element.  
The FAND (or GAND) gate is used for partial product multi-  
plication and can be instantiated using the MULT_AND  
component. Partial products are generated by two-input  
AND gates and then added. The carry logic is efficient for  
the adder, but one of the inputs must be outside the LUT as  
shown in Figure 23. The FAND (or GAND) gate is used to  
duplicate one of the partial products, while the LUT gener-  
ates both partial products and the XOR function, as shown  
in Figure 24.  
LUT  
COUT  
LUT  
B
COUT  
Am  
Bn+1  
MUXCY  
A
Am+1  
Bn  
Sum  
Pm+1  
XORCY  
CIN  
DS312-2_37_021305  
MULT_AND  
CIN  
DS312-2_39_021305  
Figure 23: Using the MUXCY and XORCY in the Carry  
Figure 24: Using the MULT_AND for Multiplication in  
Logic  
Carry Logic  
30  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
The MULT_AND is useful for small multipliers. Larger multi-  
pliers can be built using the dedicated 18x18 multiplier  
blocks (see Dedicated Multipliers).  
tom portions of the slice are called FFY and FFX, respec-  
tively. FFY has a fixed multiplexer on the D input selecting  
either the combinatorial output Y or the bypass signal BY.  
FFX selects between the combinatorial output X or the  
bypass signal BX.  
Storage Elements  
The storage element, which is programmable as either a  
D-type flip-flop or a level-sensitive transparent latch, pro-  
vides a means for synchronizing data to a clock signal,  
among other uses. The storage elements in the top and bot-  
The functionality of a slice storage element is identical to  
that described earlier for the I/O storage elements. All sig-  
nals have programmable polarity; the default active-High  
function is described.  
Table 15: Storage Element Signals  
Signal  
Description  
D
Input. For a flip-flop data on the D input is loaded when R and S (or CLR and PRE) are Low and CE is High  
during the Low-to-High clock transition. For a latch, Q reflects the D input while the gate (G) input and gate  
enable (GE) are High and R and S (or CLR and PRE) are Low. The data on the D input during the High-to-Low  
gate transition is stored in the latch. The data on the Q output of the latch remains unchanged as long as G or  
GE remains Low.  
Q
Output. Toggles after the Low-to-High clock transition for a flip-flop and immediately for a latch.  
Clock for edge-triggered flip-flops.  
C
G
Gate for level-sensitive latches.  
CE  
GE  
S
Clock Enable for flip-flops.  
Gate Enable for latches.  
Synchronous Set (Q = High). When the S input is High and R is Low, the flip-flop is set, output High, during the  
Low-to-High clock (C) transition. A latch output is immediately set, output High.  
R
Synchronous Reset (Q = Low); has precedence over Set.  
PRE  
Asynchronous Preset (Q = High). When the PRE input is High and CLR is Low, the flip-flop is set, output High,  
during the Low-to-High clock (C) transition. A latch output is immediately set, output High.  
CLR  
SR  
Asynchronous Clear (Q = Low); has precedence over Preset to reset Q output Low  
CLB input for R, S, CLR, or PRE  
REV  
CLB input for opposite of SR. Must be asynchronous or synchronous to match SR.  
The control inputs R, S, CE, and C are all shared between  
the two flip-flops in a slice.  
Table 16: FD Flip-Flop Functionality with Synchronous  
Reset, Set, and Clock Enable  
Inputs  
Outputs  
S
R
1
0
0
0
0
S
X
1
0
0
0
CE  
X
X
0
D
X
X
X
1
C
X
Q
FDRSE  
0
D
CE  
C
Q
1
R
No Change  
DS312-2_40_021305  
1
1
0
Figure 25: FD Flip-Flop Component with Synchronous  
Reset, Set, and Clock Enable  
1
0
ing configuration, by the global GSR signal, and by the indi-  
vidual SR or REV inputs to the CLB. The storage elements  
can also be re-initialized using the GSR input on the  
Initialization  
The CLB storage elements are initialized at power-up, dur-  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
31  
Product Specification  
R
Functional Description  
STARTUP_SPARTAN3E primitive. See Global Controls  
(STARTUP_SPARTAN3E).  
can be combined in various ways to store larger amounts of  
data, including 16x4, 32x2, or 64x1 configurations in one  
CLB. The fifth and sixth address lines required for the  
32-deep and 64-deep configurations, respectively, are  
implemented using the BX and BY inputs, which connect to  
the write enable logic for writing and the F5MUX and  
F6MUX for reading.  
Table 17: Slice Storage Element Initialization  
Signal  
Description  
SR  
Set/Reset input. Forces the storage element  
into the state specified by the attribute SRHIGH  
or SRLOW. SRHIGH forces a logic “1” when SR  
is asserted. SRLOW forces a logic “0”. For each  
slice, set and reset can be set to be  
Writing to distributed RAM is always synchronous to the  
SLICEM clock (WCLK for distributed RAM) and enabled by  
the SLICEM SR input which functions as the active-High  
Write Enable (WE). The read operation is asynchronous,  
and, therefore, during a write, the output initially reflects the  
old data at the address being written.  
synchronous or asynchronous.  
REV  
GSR  
Reverse of Set/Reset input. A second input  
(BY) forces the storage element into the  
opposite state. The reset condition is  
predominant over the set condition if both are  
active. Same synchronous/asynchronous  
setting as for SR.  
The distributed RAM outputs can be captured using the  
flip-flops within the SLICEM element. The WE write-enable  
control for the RAM and the CE clock-enable control for the  
flip-flop are independent, but the WCLK and CLK clock  
inputs are shared. Because the RAM read operation is  
asynchronous, the output data always reflects the currently  
addressed RAM location.  
Global Set/Reset. GSR defaults to active High  
but can be inverted by adding an inverter in  
front of the GSR input of the  
A dual-port option combines two LUTs so that memory  
access is possible from two independent data lines. The  
same data is written to both 16x1 memories but they have  
independent read address lines and outputs. The dual-port  
function is implemented by cascading the G-LUT address  
lines, which are used for both read and write, to the F-LUT  
write address lines (WF[4:1] in Figure 15), and by cascad-  
ing the G-LUT data input D1 through the DIF_MUX in  
Figure 15 and to the D1 input on the F-LUT. One CLB pro-  
vides a 16x1 dual-port memory as shown in Figure 26.  
STARTUP_SPARTAN3E element. The initial  
state after configuration or GSR is defined by a  
separate INIT0 and INIT1 attribute. By default,  
setting the SRLOW attribute sets INIT0, and  
setting the SRHIGH attribute sets INIT1.  
Distributed RAM  
The LUTs in the SLICEM can be programmed as distributed  
RAM. This type of memory affords moderate amounts of  
data buffering anywhere along a data path. One SLICEM  
LUT stores 16 bits (RAM16). The four LUT inputs F[4:1] or  
G[4:1] become the address lines labeled A[4:1] in the  
device model and A[3:0] in the design components, provid-  
ing a 16x1 configuration in one LUT. Multiple SLICEM LUTs  
Any write operation on the D input and any read operation  
on the SPO output can occur simultaneously with and inde-  
pendently from a read operation on the second read-only  
port, DPO.  
SLICEM  
D
16x1  
LUT  
RAM  
(Read/  
Write)  
SPO  
A[3:0]  
Optional  
Register  
WE  
WCLK  
DPO  
16x1  
LUT  
RAM  
(Read  
Only)  
DPRA[3:0]  
Optional  
Register  
DS312-2_41_021305  
Figure 26: RAM16X1D Dual-Port Usage  
32  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 19: Distributed RAM Signals (Continued)  
Signal Description  
A0, A1, A2, A3 The address inputs select the memory  
RAM16X1D  
WE  
D
WCLK  
SPO  
DPO  
A0  
A1  
A2  
(A4, A5)  
cells for read or write. The width of the  
port determines the required address  
inputs.  
A3  
DPRA0  
DPRA1  
DPRA2  
DPRA3  
D
The data input provides the new data  
value to be written into the RAM.  
O, SPO, and  
DPO  
The data output O on single-port RAM  
or the SPO and DPO outputs on  
DS312-2_42_021305  
dual-port RAM reflects the contents of  
the memory cells referenced by the  
address inputs. Following an active  
write clock edge, the data out (O or  
SPO) reflects the newly written data.  
Figure 27: Dual-Port RAM Component  
Table 18: Dual-Port RAM Function  
Inputs  
WE (mode) WCLK  
Outputs  
D
X
X
X
D
X
SPO  
DPO  
The INIT attribute can be used to preload the memory with  
data during FPGA configuration. The default initial contents  
for RAM is all zeros. If the WE is held Low, the element can  
be considered a ROM. The ROM function is possible even  
in the SLICEL.  
0 (read)  
1 (read)  
1 (read)  
1 (write)  
1 (read)  
X
0
1
data_a  
data_a  
data_a  
D
data_d  
data_d  
data_d  
data_d  
data_d  
The global write enable signal, GWE, is asserted automati-  
cally at the end of device configuration to enable all writable  
elements. The GWE signal guarantees that the initialized  
distributed RAM contents are not disturbed during the con-  
figuration process.  
data_a  
Notes:  
1. data_a = word addressed by bits A3-A0.  
2. data_d = word addressed by bits DPRA3-DPRA0.  
The distributed RAM is useful for smaller amounts of mem-  
ory. Larger memory requirements can use the dedicated  
18Kbit RAM blocks (see Block RAM).  
For more information on distributed RAM, see XAPP464:  
Using Look-Up Tables as Distributed RAM in Spartan-3  
FPGAs.  
Table 19: Distributed RAM Signals  
Signal  
WCLK  
Description  
The clock is used for synchronous  
writes. The data and the address input  
pins have setup times referenced to the  
WCLK pin. Active on the positive edge  
by default with built-in programmable  
polarity.  
Shift Registers  
It is possible to program each SLICEM LUT as a 16-bit shift  
register (see Figure 28). Used in this way, each LUT can  
delay serial data anywhere from 1 to 16 clock cycles without  
using any of the dedicated flip-flops. The resulting program-  
mable delays can be used to balance the timing of data  
pipelines.  
WE  
The enable pin affects the write  
functionality of the port. An inactive  
Write Enable prevents any writing to  
memory cells. An active Write Enable  
causes the clock edge to write the data  
input signal to the memory location  
pointed to by the address inputs. Active  
High by default with built-in  
The SLICEM LUTs cascade from the G-LUT to the F-LUT  
through the DIFMUX (see Figure 15). SHIFTIN and  
SHIFTOUT lines cascade a SLICEM to the SLICEM below  
to form larger shift registers. The four SLICEM LUTs of a  
single CLB can be combined to produce delays up to 64  
clock cycles. It is also possible to combine shift registers  
across more than one CLB.  
programmable polarity.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
33  
Product Specification  
R
Functional Description  
I
SRLC16  
SHIFTIN  
SRLC16E  
D
CE  
Q
Q15  
CLK  
SHIFT-REG  
A0  
A1  
A2  
A3  
4
Output  
D
A[3:0]  
A[3:0]  
MC15  
Registered  
Output  
D
Q
DI  
WS  
DS312-2_43_021305  
DI (BY)  
(optional)  
Figure 29: SRL16 Shift Register Component with  
WSG  
Cascade and Clock Enable  
CE (SR)  
CLK  
WE  
CK  
The functionality of the shift register is shown in Table 20.  
The SRL16 shifts on the rising edge of the clock input when  
the Clock Enable control is High. This shift register cannot  
be initialized either during configuration or during operation  
except by shifting data into it. The clock enable and clock  
inputs are shared between the two LUTs in a SLICEM. The  
clock enable input is automatically kept active if unused.  
SHIFTOUT  
or YB  
X465_03_040203  
Figure 28: Logic Cell SRL16 Structure  
Each shift register provides a shift output MC15 for the last  
bit in each LUT, in addition to providing addressable access  
to any bit in the shift register through the normal D output.  
The address inputs A[3:0] are the same as the distributed  
RAM address lines, which come from the LUT inputs F[4:1]  
or G[4:1]. At the end of the shift register, the CLB flip-flop  
can be used to provide one more shift delay for the addres-  
sable bit.  
Table 20: SRL16 Shift Register Function  
Inputs  
Outputs  
Am  
Am  
Am  
CLK  
CE  
0
D
X
D
Q
Q15  
Q[15]  
Q[15]  
X
Q[Am]  
1
Q[Am-1]  
The shift register element is known as the SRL16 (Shift  
Register LUT 16-bit), with a ‘C’ added to signify a cascade  
ability (Q15 output) and ‘E’ to indicate a Clock Enable. See  
Figure 29 for an example of the SRLC16E component.  
Notes:  
1. m = 0, 1, 2, 3.  
For more information on the SRL16, refer to XAPP465:  
Using Look-Up Tables as Shift Registers (SRL16) in Spartan-3  
FPGAs  
.
34  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
The Internal Structure of the Block RAM  
Block RAM  
The block RAM has a dual port structure. The two identical  
data ports called A and B permit independent access to the  
common block RAM, which has a maximum capacity of  
18,432 bits, or 16,384 bits with no parity bits (see parity bits  
description in Table 22). Each port has its own dedicated  
set of data, control, and clock lines for synchronous read  
and write operations. There are four basic data paths, as  
shown in Figure 30:  
Spartan-3E devices incorporate 4 to 36 dedicated block  
RAMs, which are organized as dual-port configurable  
18 Kbit blocks. Functionally, the block RAM is identical to  
the Spartan-3 architecture block RAM. Block RAM synchro-  
nously stores large amounts of data while distributed RAM,  
previously described, is better suited for buffering small  
amounts of data anywhere along signal paths. This section  
describes basic block RAM functions. For detailed imple-  
mentation information, refer to XAPP463: Using Block RAM  
in Spartan-3 Series FPGAs.  
1. Write to and read from Port A  
2. Write to and read from Port B  
3. Data transfer from Port A to Port B  
4. Data transfer from Port B to Port A  
Each block RAM is configurable by setting the content’s ini-  
tial values, default signal value of the output registers, port  
aspect ratios, and write modes. Block RAM can be used in  
single-port or dual-port modes.  
Arrangement of RAM Blocks on Die  
3
Write  
Read  
Read  
Write  
The block RAMs are located together with the multipliers on  
the die in one or two columns depending on the size of the  
device. The XC3S100E has one column of block RAM. The  
Spartan-3E devices ranging from the XC3S250E to  
XC3S1600E have two columns of block RAM. Table 21  
shows the number of RAM blocks, the data storage capac-  
ity, and the number of columns for each device. Row(s) of  
CLBs are located above and below each block RAM col-  
umn.  
4
Spartan-3E  
Dual-Port  
Block RAM  
Write  
Write  
2
1
Read  
Read  
DS312-2_01_020705  
Figure 30: Block RAM Data Paths  
Table 21: Number of RAM Blocks by Device  
Number of Ports  
Total  
Total  
Number of Addressable  
Number  
of  
Columns  
A choice among primitives determines whether the block  
RAM functions as dual- or single-port memory. A name of  
RAM  
Locations  
(bits)  
Device  
Blocks  
the form RAMB16_S[w ]_S[w ] calls out the dual-port prim-  
A
B
itive, where the integers w and w specify the total data  
A
B
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
4
73,728  
221,184  
368,640  
516,096  
663,552  
1
2
2
2
2
path width at ports A and B, respectively. Thus, a  
RAMB16_S9_S18 is a dual-port RAM with a 9-bit Port A  
and an 18-bit Port B. A name of the form RAMB16_S[w]  
identifies the single-port primitive, where the integer w  
specifies the total data path width of the lone port A. A  
RAMB16_S18 is a single-port RAM with an 18-bit port.  
12  
20  
28  
36  
Port Aspect Ratios  
Immediately adjacent to each block RAM is an embedded  
18x18 hardware multiplier. The upper 16 bits of the block  
RAM's Port A Data input bus are shared with the upper 16  
bits of the A multiplicand input bus of the multiplier. Similarly,  
the upper 16 bits of Port B's data input bus are shared with  
the B multiplicand input bus of the multiplier.  
Each port of the block RAM can be configured indepen-  
dently to select a number of different possible widths for the  
data input (DI) and data output (DO) signals as shown in  
Table 22.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
35  
Product Specification  
R
Functional Description  
Table 22: Port Aspect Ratios  
DIP/DOP  
DI/DO Data ParityBus  
ADDR  
Bus  
Total Data  
Path Width  
(w bits)  
No. of  
Addressable  
Locations (n)  
16,384  
8,192  
Block RAM  
Capacity  
(w*n bits)  
Bus Width  
(w-p bits)  
Width  
(p bits)  
Width  
DI/DO  
[w-p-1:0]  
DIP/DOP  
[p-1:0]  
ADDR  
[r-1:0]  
1
2
3
4
(r bits)  
1
2
1
2
0
0
0
1
2
4
14  
[0:0]  
[1:0]  
-
[13:0]  
[12:0]  
[11:0]  
[10:0]  
[9:0]  
16,384  
16,384  
16,384  
18,432  
18,432  
18,432  
13  
-
4
4
12  
[3:0]  
-
4,096  
9
8
11  
[7:0]  
[0:0]  
[1:0]  
[3:0]  
2,048  
18  
36  
16  
32  
10  
[15:0]  
[31:0]  
1,024  
9
[8:0]  
512  
Notes:  
1. The width of the total data path (w) is the sum of the DI/DO bus width (w-p) and any parity bits (p).  
2. The width selection made for the DI/DO bus determines the number of address lines (r) according to the relationship expressed as:  
r = 14 – [log(w–p)/log(2)].  
3. The number of address lines delimits the total number (n) of addressable locations or depth according to the following equation: n = 2 .  
4. The product of w and n yields the total block RAM capacity.  
r
If the data bus width of Port A differs from that of Port B, the  
block RAM automatically performs a bus-matching function  
as described in Figure 31. When data is written to a port  
with a narrow bus and then read from a port with a wide bus,  
the latter port effectively combines “narrow” words to form  
“wide” words. Similarly, when data is written into a port with  
a wide bus and then read from a port with a narrow bus, the  
latter port divides “wide” words to form “narrow” words. Par-  
ity bits are not available if the data port width is configured  
as x4, x2, or x1. For example, if a x36 data word (32 data, 4  
parity) is addressed as two x18 halfwords (16 data, 2 par-  
ity), the parity bits associated with each data byte are  
mapped within the block RAM to the appropriate parity bits.  
The same effect happens when the x36 data word is  
mapped as four x9 words.  
36  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Address  
Parity  
Data  
35 34 33 32 31  
P3 P2 P1 P0  
24 23  
16 15  
8 7  
0
Byte 3  
Byte 2  
Byte 1  
Byte 0  
512x36  
0
17 16 15  
P3 P2  
8
7
0
Byte 3  
Byte 1  
Byte 2  
Byte 0  
1
0
1Kx18  
P1 P0  
8
7
0
P3  
P2  
P1  
P0  
Byte 3  
Byte 2  
Byte 1  
Byte 0  
3
2
1
0
2Kx9  
3
2 1 0  
7 6 5 4  
3 2 1 0  
7
6
4Kx4  
7 6 5 4  
3 2 1 0  
1
0
1
0
7 6  
5 4  
3 2  
1 0  
F
E
D
C
8Kx2  
7 6  
5 4  
3 2  
1 0  
3
2
1
0
0
7
6
5
4
1F  
1E  
1D  
1C  
16Kx1  
3
2
1
0
3
2
1
0
DS312-2_02_102105  
Figure 31: Data Organization and Bus-matching Operation with Different Port Widths on Port A and Port B  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
37  
Product Specification  
R
Functional Description  
Block RAM Port Signal Definitions  
Caution! Representations of the dual-port primitive  
RAMB16_S[wA]_S[wB] and the single-port primitive  
RAMB16_S[w] with their associated signals are shown in  
Figure 32a and Figure 32b, respectively. These signals are  
defined in Table 23. The control signals (WE, EN, CLK, and  
SSR) on the block RAM are active High. However, optional  
inverters on the control signals change the polarity of the  
active edge to active Low.  
DESIGN NOTE:  
Whenever a block RAM port is enabled (ENA or ENB  
!
= High), all address transitions must meet the data  
sheet setup and hold times with respect to the port  
clock (CLKA or CLKB), as shown in Table 102,  
page 142.This requirement must be met even if the  
RAM read output is of no interest.  
RAMB16_SWA_SWB  
WEA  
ENA  
SSRA  
DOPA[pA–1:0]  
CLKA  
DOA[wA–pA–1:0]  
ADDRA[rA–1:0]  
DIA[wA–pA–1:0]  
DIPA[pA–1:0]  
RAMB16_Sw  
WE  
WEB  
ENB  
EN  
SSRB  
SSR  
DOPB[pB–1:0]  
DOP[p–1:0]  
CLK  
CLKB  
DOB[wB–pB–1:0]  
ADDRB[rB–1:0]  
DO[w–p–1:0]  
ADDR[r–1:0]  
DIB[wB–pB–1:0]  
DI[w–p–1:0]  
DIPB[pB–1:0]  
DIP[p–1:0]  
(a) Dual-Port  
(b) Single-Port  
DS312-2_03_111105  
Notes:  
1. w and w are integers representing the total data path width (i.e., data bits plus parity bits) at Ports A and B, respectively.  
A
B
2.  
p and p are integers that indicate the number of data path lines serving as parity bits.  
A B  
3. r and r are integers representing the address bus width at ports A and B, respectively.  
A
B
4. The control signals CLK, WE, EN, and SSR on both ports have the option of inverted polarity.  
Figure 32: Block RAM Primitives  
38  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 23: Block RAM Port Signals  
Port A  
Signal  
Name  
Port B  
Signal  
Name  
Signal  
Description  
Direction  
Function  
Address Bus  
ADDRA  
ADDRB  
Input  
The Address Bus selects a memory location for read or write operations.  
The width (w) of the port’s associated data path determines the number of  
available address lines (r), as per Table 22.  
Whenever a port is enabled (ENA or ENB = High), address transitions  
must meet the data sheet setup and hold times with respect to the port  
clock (CLKA or CLKB), as shown in Table 102, page 142.This requirement  
must be met even if the RAM read output is of no interest.  
Data Input Bus  
DIA  
DIB  
Input  
Data at the DI input bus is written to the RAM location specified by the  
address input bus (ADDR) during the active edge of the CLK input, when  
the clock enable (EN) and write enable (WE) inputs are active.  
It is possible to configure a port’s DI input bus width (w-p) based on  
Table 22. This selection applies to both the DI and DO paths of a given  
port.  
Parity Data  
Input(s)  
DIPA  
DOA  
DIPB  
DOB  
Input  
Parity inputs represent additional bits included in the data input path.  
Although referred to herein as “parity” bits, the parity inputs and outputs  
have no special functionality for generating or checking parity and can be  
used as additional data bits. The number of parity bits ‘p’ included in the  
DI (same as for the DO bus) depends on a port’s total data path width (w).  
See Table 22.  
Data Output Bus  
Output  
Data is written to the DO output bus from the RAM location specified by  
the address input bus, ADDR. See the DI signal description for DO port  
width configurations.  
Basic data access occurs on the active edge of the CLK when WE is  
inactive and EN is active. The DO outputs mirror the data stored in the  
address ADDR memory location. Data access with WE active if the  
WRITE_MODE attribute is set to the value: WRITE_FIRST, which  
accesses data after the write takes place. READ_FIRST accesses data  
before the write occurs. A third attribute, NO_CHANGE, latches the DO  
outputs upon the assertion of WE. See Block RAM Data Operations for  
details on the WRITE_MODE attribute.  
Parity Data  
Output(s)  
DOPA  
WEA  
ENA  
DOPB  
WEB  
ENB  
Output  
Input  
Parity outputs represent additional bits included in the data input path. The  
number of parity bits ‘p’ included in the DI bus (same as for the DO bus)  
depends on a port’s total data path width (w). See the DIP signal  
description for configuration details.  
Write Enable  
Clock Enable  
When asserted together with EN, this input enables the writing of data to  
the RAM. When WE is inactive with EN asserted, read operations are still  
possible. In this case, a latch passes data from the addressed memory  
location to the DO outputs.  
Input  
When asserted, this input enables the CLK signal to perform read and  
write operations to the block RAM. When inactive, the block RAM does not  
perform any read or write operations.  
Set/Reset  
Clock  
SSRA  
CLKA  
SSRB  
CLKB  
Input  
Input  
When asserted, this pin forces the DO output latch to the value of the  
SRVAL attribute. It is synchronized to the CLK signal.  
This input accepts the clock signal to which read and write operations are  
synchronized. All associated port inputs are required to meet setup times  
with respect to the clock signal’s active edge. The data output bus  
responds after a clock-to-out delay referenced to the clock signal’s active  
edge.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
39  
Product Specification  
R
Functional Description  
Block RAM Attribute Definitions  
A block RAM has a number of attributes that control its  
behavior as shown in Table 24.  
Table 24: Block RAM Attributes  
Function  
Attribute  
INITxx  
Possible Values  
Initial Content for Data Memory, Loaded  
during Configuration  
Each initialization string defines 32 hex values of  
(INIT_00 through INIT3F) the 16384-bit data memory of the block RAM.  
Initial Content for Parity Memory, Loaded  
during Configuration  
INITPxx Each initialization string defines 32 hex values of  
(INITP_00 through INITP0F) the 2048-bit parity data memory of the block  
RAM.  
Data Output Latch Initialization  
INIT(single-port)  
Hex value the width of the chosen port.  
INITA, INITB(dual-port)  
Data Output Latch Synchronous  
Set/Reset Value  
SRVAL(single-port)  
SRVAL_A, SRVAL_B  
(dual-port)  
Hex value the width of the chosen port.  
Data Output Latch Behavior during Write  
WRITE_MODE  
WRITE_FIRST, READ_FIRST, NO_CHANGE  
(see Block RAM Data Operations)  
The waveforms for the write operation are shown in the top  
half of Figure 33, Figure 34, and Figure 35. When the WE  
and EN signals enable the active edge of CLK, data at the  
DI input bus is written to the block RAM location addressed  
by the ADDR lines.  
Block RAM Data Operations  
Writing data to and accessing data from the block RAM are  
synchronous operations that take place independently on  
each of the two ports. Table 25 describes the data opera-  
tions of each port as a result of the block RAM control sig-  
nals in their default active-High edges.  
Table 25: Block RAM Function Table  
Input Signals  
Output Signals  
RAM Data  
Parity  
GSR EN SSR WE CLK ADDR  
Immediately After Configuration  
Loaded During Configuration  
DIP  
DI  
DOP  
DO  
Data  
X
X
INITP_xx  
No Chg  
No Chg  
No Chg  
INIT_xx  
No Chg  
No Chg  
No Chg  
Global Set/Reset Immediately After Configuration  
1
0
0
0
X
0
1
1
X
X
1
1
X
X
0
1
X
X
X
X
X
X
X
INIT  
RAM Disabled  
No Chg  
INIT  
X
X
No Chg  
Synchronous Set/Reset  
SRVAL  
X
X
SRVAL  
Synchronous Set/Reset During Write RAM  
addr  
pdata Data  
SRVAL  
SRVAL  
RAM(addr)  
RAM(addr)  
pdata  
data  
Read RAM, no Write Operation  
RAM(pdata)  
0
1
0
0
addr  
X
X
RAM(data)  
No Chg  
No Chg  
40  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
RAM Data  
Table 25: Block RAM Function Table (Continued)  
Input Signals  
Output Signals  
DOP DO  
Write RAM, Simultaneous Read Operation  
addr pdata Data WRITE_MODE = WRITE_FIRST  
GSR EN SSR WE CLK ADDR  
DIP  
DI  
Parity  
Data  
0
1
0
1
pdata  
RAM(data)  
No Chg  
data  
RAM(addr)  
pdata  
RAM(addr)  
data  
WRITE_MODE = READ_FIRST  
RAM(data)  
RAM(addr)  
pdata  
RAM(addr)  
pdata  
WRITE_MODE = NO_CHANGE  
No Chg  
RAM(addr)  
RAM(addr)  
pdata  
pdata  
There are a number of different conditions under which data  
can be accessed at the DO outputs. Basic data access  
always occurs when the WE input is inactive. Under this  
condition, data stored in the memory location addressed by  
the ADDR lines passes through a output latch to the DO  
outputs. The timing for basic data access is shown in the  
portions of Figure 33, Figure 34, and Figure 35 during  
which WE is Low.  
Data also can be accessed on the DO outputs when assert-  
ing the WE input based on the value of the WRITE_MODE  
attribute as described in Table 26.  
Table 26: WRITE_MODE Effect on Data Output Latches During Write Operations  
Effect on Opposite Port  
(dual-port only with same address)  
Write Mode  
Effect on Same Port  
WRITE_FIRST  
Read After Write  
Data on DI and DIP inputs is written into  
specified RAM location and simultaneously  
appears on DO and DOP outputs.  
Invalidates data on DO and DOP outputs.  
READ_FIRST  
Read Before Write  
Data from specified RAM location appears on  
DO and DOP outputs.  
Data from specified RAM location appears on  
DO and DOP outputs.  
Data on DI and DIP inputs is written into  
specified location.  
NO_CHANGE  
No Read on Write  
Data on DO and DOP outputs remains  
unchanged.  
Invalidates data on DO and DOP outputs.  
Data on DI and DIP inputs is written into  
specified location.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
41  
Product Specification  
R
Functional Description  
Internal  
Memory  
DO  
Data_in  
Data_out = Data_in  
DI  
CLK  
WE  
DI  
XXXX  
aa  
1111  
2222  
cc  
XXXX  
ADDR  
DO  
bb  
dd  
0000  
MEM(aa)  
1111  
2222  
MEM(dd)  
EN  
DISABLED  
READ  
WRITE  
MEM(bb)=1111  
WRITE  
MEM(cc)=2222  
READ  
DS312-2_05_020905  
Figure 33: Waveforms of Block RAM Data Operations with WRITE_FIRST Selected  
Setting the WRITE_MODE attribute to a value of  
WRITE_FIRST, data is written to the addressed memory  
location on an enabled active CLK edge and is also passed  
to the DO outputs. WRITE_FIRST timing is shown in the  
portion of Figure 33 during which WE is High.  
Setting the WRITE_MODE attribute to a value of  
READ_FIRST, data already stored in the addressed loca-  
tion passes to the DO outputs before that location is over-  
written with new data from the DI inputs on an enabled  
active CLK edge. READ_FIRST timing is shown in the por-  
tion of Figure 34 during which WE is High.  
Internal  
Memory  
DO  
Data_in  
CLK  
Prior stored data  
DI  
WE  
DI  
XXXX  
aa  
1111  
2222  
cc  
XXXX  
ADDR  
DO  
bb  
dd  
0000  
MEM(aa)  
old MEM(bb)  
old MEM(cc)  
MEM(dd)  
EN  
DISABLED  
READ  
WRITE  
MEM(bb)=1111  
WRITE  
MEM(cc)=2222  
READ  
DS312-2_06_020905  
Figure 34: Waveforms of Block RAM Data Operations with READ_FIRST Selected  
42  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Internal  
Memory  
DO  
Data_in  
No change during write  
DI  
CLK  
WE  
DI  
XXXX  
aa  
1111  
2222  
cc  
XXXX  
ADDR  
DO  
bb  
dd  
0000  
MEM(aa)  
MEM(dd)  
EN  
DISABLED  
READ  
WRITE  
MEM(bb)=1111  
WRITE  
MEM(cc)=2222  
READ  
DS312-2_07_020905  
Figure 35: Waveforms of Block RAM Data Operations with NO_CHANGE Selected  
Setting the WRITE_MODE attribute to a value of  
NO_CHANGE, puts the DO outputs in a latched state when  
asserting WE. Under this condition, the DO outputs retain  
the data driven just before WE is asserted. NO_CHANGE  
timing is shown in the portion of Figure 35 during which WE  
is High.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
43  
Product Specification  
R
Functional Description  
Implement multipliers with inputs less than 18 bits by  
sign-extending the inputs (i.e., replicating the most-signifi-  
cant bit). Wider multiplication operations are performed by  
combining the dedicated multipliers and slice-based logic in  
any viable combination or by time-sharing a single multi-  
plier. Perform unsigned multiplication by restricting the  
inputs to the positive range. Tie the most-significant bit Low  
and represent the unsigned value in the remaining 17  
lesser-significant bits.  
Dedicated Multipliers  
The Spartan-3E devices provide 4 to 36 dedicated multiplier  
blocks per device. The multipliers are located together with  
the block RAM in one or two columns depending on device  
density. See Arrangement of RAM Blocks on Die for  
details on the location of these blocks and their connectivity.  
Operation  
The multiplier blocks primarily perform two’s complement  
numerical multiplication but can also perform some less  
obvious applications, such as simple data storage and bar-  
rel shifting. Logic slices also implement efficient small multi-  
pliers and thereby supplement the dedicated multipliers.  
The Spartan-3E dedicated multiplier blocks have additional  
features beyond those provided in Spartan-3 FPGAs.  
Optional Pipeline Registers  
As shown in Figure 36, each multiplier block has optional  
registers on each of the multiplier inputs and the output. The  
registers are named AREG, BREG, and PREG and can be  
used in any combination. The clock input is common to all  
the registers within a block, but each register has an inde-  
pendent clock enable and synchronous reset controls mak-  
ing them ideal for storing data samples and coefficients.  
When used for pipelining, the registers boost the multiplier  
clock rate, beneficial for higher performance applications.  
Each multiplier performs the principle operation P = A × B,  
where ‘A’ and ‘B’ are 18-bit words in two’s complement  
form, and ‘P’ is the full-precision 36-bit product, also in two’s  
complement form. The 18-bit inputs represent values rang-  
ing from -131,072 to +131,071 with a resulting product  
10  
10  
Figure 36 illustrates the principle features of the multiplier  
block.  
ranging from -17,179,738,112 to +17,179,869,184 .  
10  
10  
AREG  
(Optional)  
CEA  
CE  
A[17:0]  
D
Q
PREG  
(Optional)  
RST  
CEP  
CE  
D
RSTA  
Q
P[35:0]  
X
BREG  
(Optional)  
RST  
CEB  
CE  
RSTP  
B[17:0]  
D
Q
RST  
RSTB  
CLK  
DS312-2_27_021205  
Figure 36: Principle Ports and Functions of Dedicated Multiplier Blocks  
Use the MULT18X18SIO primitive shown in Figure 37 to  
to the MULT18X18SIO multiplier ports and set the individual  
AREG, BREG, and PREG attributes to ‘1’ to insert the asso-  
ciated register, or to 0 to remove it and make the signal path  
combinatorial.  
instantiate a multiplier within a design. Although high-level  
logic synthesis software usually automatically infers a multi-  
plier, adding the pipeline registers may require the  
MULT18X18SIO primitive. Connect the appropriate signals  
44  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Cascading Multipliers  
MULT18X18SIO  
The MULT18X18SIO primitive has two additional ports  
called BCIN and BCOUT to cascade or share the multi-  
plier’s ‘B’ input among several multiplier bocks. The 18-bit  
BCIN “cascade” input port offers an alternate input source  
from the more typical ‘B’ input. The B_INPUT attribute spec-  
ifies whether the specific implementation uses the BCIN or  
‘B’ input path. Setting B_INPUT to DIRECT chooses the ‘B’  
input. Setting B_INPUT to CASCADE selects the alternate  
BCIN input. The BREG register then optionally holds the  
selected input value, if required.  
A[17:0]  
B[17:0]  
CEA  
P[35:0]  
CEB  
CEP  
CLK  
RSTA  
RSTB  
RSTP  
BCIN[17:0]  
BCOUT is an 18-bit output port that always reflects the  
value that is applied to the multiplier’s second input, which is  
either the ‘B’ input, the cascaded value from the BCIN input,  
or the output of the BREG if it is inserted.  
BCOUT[17:0]  
DS312-2_28_021205  
Figure 37: MULT18X18SIO Primitive  
Figure 38 illustrates the four possible configurations using  
different settings for the B_INPUT attribute and the BREG  
attribute.  
BCOUT[17:0]  
BCOUT[17:0]  
BREG  
CE  
X
X
CEB  
D
Q
BREG = 0  
CLK  
B_INPUT = CASCADE  
RST  
BREG = 1  
B_INPUT = CASCADE  
RSTB  
BCIN[17:0]  
BCIN[17:0]  
BCOUT[17:0]  
BCOUT[17:0]  
BREG  
X
X
CEB  
CE  
D
B[17:0]  
B[17:0]  
Q
BREG = 0  
B_INPUT = DIRECT  
CLK  
RST  
BREG = 1  
B_INPUT = DIRECT  
RSTB  
DS312-2_29_021505  
Figure 38: Four Configurations of the B Input  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
45  
Product Specification  
R
Functional Description  
The BCIN and BCOUT ports have associated dedicated  
routing that connects adjacent multipliers within the same  
column. Via the cascade connection, the BCOUT port of  
one multiplier block drives the BCIN port of the multiplier  
block directly above it. There is no connection to the BCIN  
port of the bottom-most multiplier block in a column or a  
connection from the BCOUT port of the top-most block in a  
column. As an example, Figure 39 shows the multiplier cas-  
cade capability within the XC3S100E FPGA, which has a  
single column of multiplier, four blocks tall. For clarity, the  
figure omits the register control inputs.  
When using the BREG register, the cascade connection  
forms a shift register structure typically used in DSP algo-  
rithms such as direct-form FIR filters. When the BREG reg-  
ister is omitted, the cascade structure essentially feeds the  
same input value to more than one multiplier. This parallel  
connection serves to create wide-input multipliers, imple-  
ment transpose FIR filters, and is used in any application  
that requires that several multipliers have the same input  
value.  
Multiplier/Block RAM Interaction  
Each multiplier is located adjacent to an 18 Kbit block RAM  
and shares some interconnect resources. Configuring an  
18 Kbit block RAM for 36-bit wide data (512 x 36 mode) pre-  
vents use of the associated dedicated multiplier.  
BCOUT  
A
P
B
The upper 16 bits of the ‘A’ multiplicand input are shared  
with the upper 16 bits of the block RAM’s Port A Data input.  
Similarly, the upper 16 bits of the ‘B’ multiplicand input are  
shared with Port B’s data input. See also Figure 48,  
page 64.  
B_INPUT = CASCADE  
B_INPUT = CASCADE  
B_INPUT = CASCADE  
B_INPUT = DIRECT  
BCIN  
BCOUT  
A
B
P
P
P
BCIN  
BCOUT  
A
B
BCIN  
BCOUT  
A
B
BCIN  
DS312-2_30_021505  
Figure 39: Multiplier Cascade Connection  
46  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 27 defines each port of the MULT18X18SIO primitive.  
Table 27: MULT18X18SIO Embedded Multiplier Primitives Description  
Signal Name  
A[17:0]  
Direction  
Input  
Function  
The primary 18-bit two’s complement value for multiplication. The block multiplies by  
this value asynchronously if the optional AREG and PREG registers are omitted.  
When AREG and/or PREG are used, the value provided on this port is qualified by  
the rising edge of CLK, subject to the appropriate register controls.  
B[17:0]  
Input  
The second 18-bit two’s complement value for multiplication if the B_INPUT attribute  
is set to DIRECT. The block multiplies by this value asynchronously if the optional  
BREG and PREG registers are omitted. When BREG and/or PREG are used, the  
value provided on this port is qualified by the rising edge of CLK, subject to the  
appropriate register controls.  
BCIN[17:0]  
P[35:0]  
Input  
The second 18-bit two’s complement value for multiplication if the B_INPUT attribute  
is set to CASCADE. The block multiplies by this value asynchronously if the optional  
BREG and PREG registers are omitted. When BREG and/or PREG are used, the  
value provided on this port is qualified by the rising edge of CLK, subject to the  
appropriate register controls.  
Output  
The 36-bit two’s complement product resulting from the multiplication of the two input  
values applied to the multiplier. If the optional AREG, BREG and PREG registers are  
omitted, the output operates asynchronously. Use of PREG causes this output to  
respond to the rising edge of CLK with the value qualified by CEP and RSTP. If PREG  
is omitted, but AREG and BREG are used, this output responds to the rising edge of  
CLK with the value qualified by CEA, RSTA, CEB, and RSTB. If PREG is omitted and  
only one of AREG or BREG is used, this output responds to both asynchronous and  
synchronous events.  
BCOUT[17:0]  
Output  
Input  
The value being applied to the second input of the multiplier. When the optional  
BREG register is omitted, this output responds asynchronously in response to  
changes at the B[17:0] or BCIN[17:0] ports according to the setting of the B_INPUT  
attribute. If BREG is used, this output responds to the rising edge of CLK with the  
value qualified by CEB and RSTB.  
CEA  
Clock enable qualifier for the optional AREG register. The value provided on the  
A[17:0] port is captured by AREG in response to a rising edge of CLK when this  
signal is High, provided that RSTA is Low.  
RSTA  
CEB  
Input  
Input  
Synchronous reset for the optional AREG register. AREG content is forced to the  
value zero in response to a rising edge of CLK when this signal is High.  
Clock enable qualifier for the optional BREG register. The value provided on the  
B[17:0] or BCIN[17:0] port is captured by BREG in response to a rising edge of CLK  
when this signal is High, provided that RSTB is Low.  
RSTB  
CEP  
Input  
Input  
Synchronous reset for the optional BREG register. BREG content is forced to the  
value zero in response to a rising edge of CLK when this signal is High.  
Clock enable qualifier for the optional PREG register. The value provided on the  
output of the multiplier port is captured by PREG in response to a rising edge of CLK  
when this signal is High, provided that RSTP is Low.  
RSTP  
Input  
Synchronous reset for the optional PREG register. PREG content is forced to the  
value zero in response to a rising edge of CLK when this signal is High.  
Notes:  
1. The control signals CLK, CEA, RSTA, CEB, RSTB, CEP, and RSTP have the option of inverted polarity.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
47  
Product Specification  
R
Functional Description  
in the Spartan-3 architecture. The Digital Clock Manager is  
instantiated within a design using a “DCM” primitive.  
Digital Clock Managers (DCMs)  
Differences from the Spartan-3 Architecture  
The DCM supports three major functions:  
Spartan-3E FPGAs have two, four, or eight DCMs,  
depending on device size.  
Clock-skew Elimination: Clock skew within a system  
occurs due to the different arrival times of a clock signal  
at different points on the die, typically caused by the  
clock signal distribution network. Clock skew increases  
setup and hold time requirements and increases  
clock-to-out times, all of which are undesirable in high  
frequency applications. The DCM eliminates clock  
skew by phase-aligning the output clock signal that it  
generates with the incoming clock signal. This  
The variable phase shifting feature functions differently  
on Spartan-3E FPGAs than from Spartan-3 FPGAs.  
The Spartan-3E DLLs support lower input frequencies,  
down to 5 MHz. Spartan-3 DLLs support down to  
18 MHz.  
Overview  
mechanism effectively cancels out the clock distribution  
delays.  
Spartan-3E Digital Clock Managers (DCMs) provide flexi-  
ble, complete control over clock frequency, phase shift and  
skew. To accomplish this, the DCM employs a Delay-Locked  
Loop (DLL), a fully digital control system that uses feedback  
to maintain clock signal characteristics with a high degree of  
precision despite normal variations in operating tempera-  
ture and voltage. This section provides a fundamental  
description of the DCM.  
Frequency Synthesis: The DCM can generate a wide  
range of different output clock frequencies derived from  
the incoming clock signal. This is accomplished by  
either multiplying and/or dividing the frequency of the  
input clock signal by any of several different factors.  
Phase Shifting: The DCM provides the ability to shift  
the phase of all its output clock signals with respect to  
the input clock signal.  
The XC3S100E FPGA has two DCMs, one at the top and  
one at the bottom of the device. The XC3S250E and  
XC3S500E FPGAs each include four DCMs, two at the top  
and two at the bottom. The XC3S1200E and XC3S1600E  
FPGAs contain eight DCMs with two on each edge (see  
also Figure 45). The DCM in Spartan-3E FPGAs is sur-  
rounded by CLBs within the logic array and is no longer  
located at the top and bottom of a column of block RAM as  
Although a single design primitive, the DCM consists of four  
interrelated functional units: the Delay-Locked Loop (DLL),  
the Digital Frequency Synthesizer (DFS), the Phase Shifter  
(PS), and the Status Logic. Each component has its associ-  
ated signals, as shown in Figure 40.  
DCM  
PSINCDEC  
Phase  
PSEN  
PSDONE  
Shifter  
PSCLK  
Clock  
CLK0  
Distribution  
CLKIN  
CLKFB  
CLK90  
Delay  
CLK180  
CLK270  
CLK2X  
CLK2X180  
CLKDV  
CLKFX  
DFS  
CLKFX180  
DLL  
LOCKED  
Status  
RST  
8
Logic  
STATUS [7:0]  
DS099-2_07_101205  
Figure 40: DCM Functional Blocks and Associated Signals  
48  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
CLK0  
CLK90  
CLK180  
CLK270  
CLK2X  
Delay  
1
Delay  
2
Delay  
n-1  
Delay  
n
CLKIN  
CLK2X180  
CLKDV  
Control  
LOCKED  
Phase  
Detection  
CLKFB  
RST  
DS099-2_08_041103  
Figure 41: Simplified Functional Diagram of DLL  
Table 28: DLL Signals  
Signal Direction  
CLKIN  
Description  
Input  
Input  
Receives the incoming clock signal. See Table 30, Table 31, and Table 32 for optimal  
external inputs to a DCM.  
CLKFB  
Accepts either CLK0 or CLK2X as the feedback signal. (Set the CLK_FEEDBACK  
attribute accordingly).  
CLK0  
Output  
Output  
Output  
Output  
Output  
Output  
Generates a clock signal with the same frequency and phase as CLKIN.  
CLK90  
Generates a clock signal with the same frequency as CLKIN, phase-shifted by 90°.  
Generates a clock signal with the same frequency as CLKIN, phase-shifted by 180°.  
Generates a clock signal with the same frequency as CLKIN, phase-shifted by 270°.  
Generates a clock signal with the same phase as CLKIN, and twice the frequency.  
CLK180  
CLK270  
CLK2X  
CLK2X180  
Generates a clock signal with twice the frequency of CLKIN, and phase-shifted 180°  
with respect to CLK2X.  
CLKDV  
Output  
Divides the CLKIN frequency by CLKDV_DIVIDE value to generate lower frequency  
clock signal that is phase-aligned to CLKIN.  
described in Table 28. The clock outputs drive simulta-  
neously. Signals that initialize and report the state of the  
DLL are discussed in Status Logic.  
Delay-Locked Loop (DLL)  
The most basic function of the DLL component is to elimi-  
nate clock skew. The main signal path of the DLL consists of  
an input stage, followed by a series of discrete delay ele-  
ments or steps, which in turn leads to an output stage. This  
path together with logic for phase detection and control  
forms a system complete with feedback as shown in  
Figure 41. In Spartan-3E FPGAs, the DLL is implemented  
using a counter-based delay line.  
The clock signal supplied to the CLKIN input serves as a  
reference waveform. The DLL seeks to align the rising-edge  
of feedback signal at the CLKFB input with the rising-edge  
of CLKIN input. When eliminating clock skew, the common  
approach to using the DLL is as follows: The CLK0 signal is  
passed through the clock distribution network that feeds all  
the registers it synchronizes. These registers are either  
internal or external to the FPGA. After passing through the  
clock distribution network, the clock signal returns to the  
DLL via a feedback line called CLKFB. The control block  
The DLL component has two clock inputs, CLKIN and  
CLKFB, as well as seven clock outputs, CLK0, CLK90,  
CLK180, CLK270, CLK2X, CLK2X180, and CLKDV as  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
49  
Product Specification  
R
Functional Description  
inside the DLL measures the phase error between CLKFB  
and CLKIN. This phase error is a measure of the clock skew  
that the clock distribution network introduces. The control  
block activates the appropriate number of delay steps to  
cancel out the clock skew. When the DLL phase-aligns the  
CLK0 signal with the CLKIN signal, it asserts the LOCKED  
output, indicating a lock on to the CLKIN signal.  
DLL Attributes and Related Functions  
The DLL unit has a variety of associated attributes as  
described in Table 29. Each attribute is described in detail in  
the sections that follow.  
Table 29: DLL Attributes  
Attribute  
CLK_FEEDBACK  
Description  
Chooses either the CLK0 or CLK2X output to NONE, 1X, 2X  
Values  
drive the CLKFB input  
CLKIN_DIVIDE_BY_2  
CLKDV_DIVIDE  
Halves the frequency of the CLKIN signal just FALSE, TRUE  
as it enters the DCM  
Selects the constant used to divide the CLKIN 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6.0,  
input frequency to generate the CLKDV  
6.5, 7.0, 7.5, 8, 9, 10, 11, 12, 13, 14,  
output frequency  
15, and 16  
CLKIN_PERIOD  
Additional information that allows the DLL to Floating-point value representing the  
operate with the most efficient lock time and  
the best jitter tolerance  
CLKIN period in nanoseconds  
that feed an internal single-ended signal to the DCM’s  
CLKIN input.  
DLL Clock Input Connections  
For best results, an external clock source enters the FPGA  
via a Global Clock Input (GCLK). Each specific DCM has  
four possible direct, optimal GCLK inputs that feed the  
DCM’s CLKIN input, as shown in Table 30. Table 30 also  
provides the specific pin numbers by package for each  
GCLK input. The two additional DCM’s on the XC3S1200E  
and XC3S1600E have similar optimal connections from the  
left-edge LHCLK and the right-edge RHCLK inputs, as  
described in Table 31 and Table 32.  
DESIGN NOTE:  
Avoid using global clock input GCLK1 as it is always  
!
shared with the M2 mode select pin. Global clock  
inputs GCLK0, GCLK2, GCLK3, GCLK12, GCLK13,  
GCLK14, and GCLK15 have shared functionality in  
some configuration modes.  
The DCM supports differential clock inputs (for  
example, LVDS, LVPECL_25) via a pair of GCLK inputs  
50  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 30: Direct Clock Input Connections and Optional External Feedback to Associated DCMs  
Differential Pair Differential Pair Differential Pair  
Differential Pair  
N
P
N
P
N
P
N
P
Package  
VQ100  
CP132  
TQ144  
PQ208  
FT256  
FG320  
FG400  
FG484  
Pin Number for Single-Ended Input  
Pin Number for Single-Ended Input  
P91  
B7  
P90  
A7  
P89  
C8  
P88  
B8  
P86  
A9  
P85  
B9  
P84  
C9  
P83  
A10  
P122  
P177  
E9  
P131  
P186  
D8  
P130  
P185  
C8  
P129  
P184  
B8  
P128  
P183  
A8  
P126  
P181  
A9  
P125  
P180  
A10  
B10  
E11  
B12  
Ð
P123  
P178  
F9  
D9  
C9  
B9  
B8  
A10  
E10  
C12  
Ð
E10  
G11  
E12  
Ð
D10  
F11  
A9  
A10  
C11  
Ð
G10  
H11  
Ð
H10  
H12  
Ð
B11  
Ð
F12  
Associated Global Buffers  
Ð
GCLK11 GCLK10 GCLK9  
GCLK8  
GCLK7  
GCLK6  
GCLK5  
GCLK4  
Top Left DCM  
Top Right DCM  
XC3S100: N/A  
XC3S100: DCM_X0Y1  
XC3S250E, XC3S500E: DCM_X0Y1  
XC3S1200E, XC3S1600E: DCM_X1Y3  
XC3S250E, XC3S500E: DCM_X1Y1  
XC3S1200E, XC3S1600E: DCM_X2Y3  
Ð
Ð
Ð
Ð
H
G
F
E
Clock Line (see Table 41)  
D
C
B
A
Ï
Ï
Ï
Ï
Bottom Left DCM  
XC3S100: N/A  
Bottom Right DCM  
XC3S100: DCM_X0Y0  
XC3S250E, XC3S500E: DCM_X0Y0  
XC3S1200E, XC3S1600E: DCM_X1Y0  
XC3S250E, XC3S500E: DCM_X1Y0  
XC3S1200E, XC3S1600E: DCM_X2Y0  
GCLK12 GCLK13 GCLK14 GCLK15  
GCLK0  
GCLK1  
GCLK2  
GCLK3  
Associated Global Buffers  
Ï
Ï
Ï
Ï
Ï
Ï
Ï
Ï
Differential Pair  
Differential Pair  
Differential Pair  
Differential Pair  
Package  
P
N
P
N
P
N
P
N
Pin Number for Single-Ended Input  
Pin Number for Single-Ended Input  
VQ100  
CP132  
TQ144  
PQ208  
FT256  
FG320  
FG400  
FG484  
P32  
M4  
P33  
N4  
P35  
M5  
P36  
N5  
P38  
M6  
P39  
N6  
P40  
P6  
P41  
P7  
P50  
P74  
M8  
P51  
P75  
L8  
P53  
P77  
N8  
P54  
P78  
P8  
P56  
P80  
T9  
P57  
P81  
R9  
P58  
P82  
P9  
P59  
P83  
N9  
N9  
M9  
U9  
V9  
U10  
P11  
R12  
T10  
P12  
P12  
R10  
V10  
Y12  
P10  
V11  
W12  
W9  
V11  
W10  
U11  
R10  
R11  
P10  
T11  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
51  
Product Specification  
R
Functional Description  
Table 31: Direct Clock Input and Optional External Feedback to Left-Edge DCMs (XC3S1200E and XC3S1600E)  
Single-Ended Pin Number by Package Type  
Left Edge  
Diff.  
Clock  
VQ100 CP132 TQ144 PQ208 FT256 FG320 FG400 FG484  
LHCLK  
DCM/BUFGMUX  
BUFGMUX_X0Y5  
BUFGMUX_X0Y4  
Î
Î
D
C
P
N
P
N
P9  
F3  
F2  
F1  
G1  
P14  
P15  
P16  
P17  
P22  
P23  
P24  
P25  
H5  
H6  
H3  
H4  
J5  
J4  
J1  
J2  
K3  
K2  
K7  
L7  
M5  
L5  
LHCLK0  
LHCLK1  
LHCLK2  
LHCLK3  
Î
Î
Î
Î
P10  
P11  
P12  
DCM_X0Y2  
L8  
M8  
BUFGMUX_X0Y3  
BUFGMUX_X0Y2  
Î
Î
B
A
BUFGMUX_X0Y9  
BUFGMUX_X0Y8  
Î
Î
H
G
P
N
P
N
P15  
P16  
P17  
P18  
G3  
H1  
H2  
H3  
P20  
P21  
P22  
P23  
P28  
P29  
P30  
P31  
J2  
J3  
J5  
J4  
K3  
K4  
K6  
K5  
M1  
L1  
M1  
N1  
M3  
M4  
LHCLK4  
LHCLK5  
LHCLK6  
LHCLK7  
Î
Î
Î
Î
DCM_X0Y1  
M3  
L3  
BUFGMUX_X0Y7  
BUFGMUX_X0Y6  
Î
Î
F
E
Table 32: Direct Clock Input and Optional External Feedback to Right-Edge DCMs (XC3S1200E and XC3S1600E)  
Right Edge  
DCM/BUFGMUX  
Single-Ended Pin Number by Package Type  
Diff.  
Clock  
RHCLK  
VQ100 CP132 TQ144 PQ208 FT256 FG320 FG400 FG484  
D
C
Í
Í
BUFGMUX_X3Y5  
BUFGMUX_X3Y4  
RHCLK7  
RHCLK6  
RHCLK5  
RHCLK4  
P68  
P67  
P66  
P65  
G13  
G14  
H12  
H13  
P94  
P93  
P92  
P91  
P135  
P134  
P133  
P132  
H11  
H12  
H14  
H15  
J14  
J15  
J16  
J17  
J20  
K20  
K14  
K13  
L19  
L18  
L21  
L20  
N
P
N
P
Í
Í
Í
Í
DCM_X3Y2  
B
A
Í
Í
BUFGMUX_X3Y3  
BUFGMUX_X3Y2  
H
G
Í
Í
BUFGMUX_X3Y9  
BUFGMUX_X3Y8  
RHCLK3  
RHCLK2  
RHCLK1  
RHCLK0  
P63  
P62  
P61  
P60  
J14  
J13  
J12  
K14  
P88  
P87  
P86  
P85  
P129  
P128  
P127  
P126  
J13  
J14  
J16  
K16  
K14  
K15  
K12  
K13  
L14  
L15  
L16  
M16  
M16  
M15  
M22  
N22  
N
P
N
P
Í
Í
Í
Í
DCM_X3Y1  
F
E
Í
Í
BUFGMUX_X3Y7  
BUFGMUX_X3Y6  
52  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Every FPGA input provides a possible DCM clock input, but  
the path is not temperature and voltage compensated like  
the GCLKs. Alternatively, clock signals within the FPGA  
optionally provide a DCM clock input via a Global Clock  
Multiplexer Buffer (BUFGMUX). The global clock net con-  
nects directly to the CLKIN input. The internal and external  
connections are shown in Figure 42a and Figure 42c,  
respectively.  
CLK0 feedback and “2X” for CLK2X feedback. If the DFS  
unit is used stand-alone, without the DLL, then no feedback  
is required and set the CLK_FEEDBACK attribute to  
“NONE”.  
Two basic cases determine how to connect the DLL clock  
outputs and feedback connections: on-chip synchronization  
and off-chip synchronization, which are illustrated in  
Figure 42a through Figure 42d.  
DLL Clock Output and Feedback Connections  
In the on-chip synchronization case in Figure 42a and  
Figure 42b, it is possible to connect any of the DLLs seven  
output clock signals through general routing resources to  
the FPGA’s internal registers. Either a Global Clock Buffer  
(BUFG) or a BUFGMUX affords access to the global clock  
network. As shown in Figure 42a, the feedback loop is cre-  
ated by routing CLK0 (or CLK2X) in Figure 42b to a global  
clock net, which in turn drives the CLKFB input.  
As many as four of the nine DCM clock outputs can simulta-  
neously drive four of the BUFGMUX buffers on the same die  
edge. All DCM clock outputs can simultaneously drive gen-  
eral routing resources, including interconnect leading to  
OBUF buffers.  
The feedback loop is essential for DLL operation. Either the  
CLK0 or CLK2X outputs feed back to the CLKFB input via a  
BUFGMUX global buffer to eliminate the clock distribution  
delay. The specific BUFGMUX buffer used to feed back the  
CLK0 or CLK2X signal is ideally one of the BUFGMUX buff-  
ers associated with a specific DCM, as shown in Table 30,  
Table 31, and Table 32.  
In the off-chip synchronization case in Figure 42c and  
Figure 42d, CLK0 (or CLK2X) plus any of the DLLs other  
output clock signals exit the FPGA using output buffers  
(OBUF) to drive an external clock network plus registers on  
the board. As shown in Figure 42c, the feedback loop is  
formed by feeding CLK0 (or CLK2X) in Figure 42d back into  
the FPGA, then to the DCM’s CLKFB input via a Global  
Buffer Input, specified in Table 30.  
The feedback path also phase-aligns the other seven DLL  
outputs: CLK0, CLK90, CLK180, CLK270, CLKDV, CLK2X,  
or CLK2X180. The CLK_FEEDBACK attribute value must  
agree with the physical feedback connection. Use “1X” for  
FPGA  
FPGA  
BUFGMUX  
BUFGMUX  
CLK0  
CLK90  
CLK180  
CLK270  
CLKDV  
CLK90  
CLK180  
CLK270  
CLKDV  
CLK2X  
CLK2X180  
BUFG  
BUFG  
CLKIN  
CLKIN  
Clock  
Net Delay  
Clock  
Net Delay  
DCM  
DCM  
CLK2X180  
CLK2X  
CLKFB  
CLKFB  
CLK0  
BUFGMUX  
BUFGMUX  
CLK0  
CLK2X  
(a) On-Chip with CLK0 Feedback  
FPGA  
(b) On-Chip with CLK2X Feedback  
FPGA  
OBUF  
CLK0  
CLK90  
CLK180  
CLK270  
CLKDV  
CLK90  
CLK180  
CLK270  
CLKDV  
CLK2X  
CLK2X180  
OBUF  
IBUFG  
IBUFG  
CLKIN  
CLKIN  
Clock  
Net Delay  
Clock  
Net Delay  
DCM  
DCM  
CLK2X180  
CLKFB  
CLK0  
CLKFB  
CLK2X  
OBUF  
IBUFG  
IBUFG  
OBUF  
CLK0  
CLK2X  
(c) Off-Chip with CLK0 Feedback  
(d) Off-Chip with CLK2X Feedback  
DS099-2_09_082104  
Figure 42: Input Clock, Output Clock, and Feedback Connections for the DLL  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
53  
Product Specification  
R
Functional Description  
The CLK2X output produces an in-phase signal that is twice  
the frequency of CLKIN. The CLK2X180 output also dou-  
bles the frequency, but is 180° out-of-phase with respect to  
CLKIN. The CLKDIV output generates a clock frequency  
that is a predetermined fraction of the CLKIN frequency.  
The CLKDV_DIVIDE attribute determines the factor used to  
divide the CLKIN frequency. The attribute can be set to var-  
ious values as described in Table 29. The basic frequency  
synthesis outputs are described in Table 28.  
Accommodating Input Frequencies Beyond Spec-  
ified Maximums  
If the CLKIN input frequency exceeds the maximum permit-  
ted, divide it down to an acceptable value using the  
CLKIN_DIVIDE_BY_2 attribute. When this attribute is set to  
“TRUE”, the CLKIN frequency is divided by a factor of two  
as it enters the DCM. In addition, the CLKIN_DIVIDE_BY_2  
option produces a 50% duty-cycle on the input clock,  
although at half the CLKIN frequency.  
Duty Cycle Correction of DLL Clock Outputs  
Quadrant and Half-Period Phase Shift Outputs  
The DLL output signals exhibit a 50% duty cycle, even if the  
incoming CLKIN signal has a different duty cycle. Fifty-per-  
cent duty cycle means that the High and Low times of each  
clock cycle are equal.  
In addition to CLK0 for zero-phase alignment to the CLKIN  
signal, the DLL also provides the CLK90, CLK180, and  
CLK270 outputs for 90°, 180°, and 270° phase-shifted sig-  
nals, respectively. These signals are described in Table 28,  
page 49 and their relative timing is shown in Figure 43. For  
control in finer increments than 90°, see Phase Shifter  
(PS).  
DLL Performance Differences Between Steppings  
As indicated in Digital Clock Manager (DCM) Timing  
(Module 3), the Stepping 1 revision silicon supports higher  
maximum input and output frequencies. Stepping 1 devices  
are backwards compatible with Stepping 0 devices.  
0o 90o 180o 270o 0o 90o 180o 270o 0o  
Phase:  
Digital Frequency Synthesizer (DFS)  
Input Signal (40%/60% Duty Cycle)  
The DFS unit generates clock signals where the output fre-  
quency is a product of the CLKIN input clock frequency and  
a ratio of two user-specified integers. The two dedicated  
outputs from the DFS unit, CLKFX and CLKFX180, are  
defined in Table 33.  
t
CLKIN  
Output Signal - Duty Cycle Corrected  
Table 33: DFS Signals  
Signal  
CLKFX  
Direction  
Description  
CLK0  
Output  
Multiplies the CLKIN frequency  
by the attribute-value ratio  
(CLKFX_MULTIPLY/  
CLKFX_DIVIDE) to generate a  
clock signal with a new target  
frequency.  
CLK90  
CLK180  
CLK270  
CLKFX180 Output  
Generates a clock signal with  
the same frequency as CLKFX,  
but shifted 180° out-of-phase.  
CLK2X  
The signal at the CLKFX180 output is essentially an inver-  
sion of the CLKFX signal. These two outputs always exhibit  
a 50% duty cycle, even when the CLKIN signal does not.  
The DFS clock outputs are active coincident with the seven  
DLL outputs and their output phase is controlled by the  
Phase Shifter unit (PS).  
CLK2X180  
CLKDV  
DS099-2_10_101105  
Figure 43: Characteristics of the DLL Clock Outputs  
The output frequency (f  
) of the DFS is a function of the  
CLKFX  
Basic Frequency Synthesis Outputs  
incoming clock frequency (f  
attributes, as follows.  
) and two integer  
CLKIN  
The DLL component provides basic options for frequency  
multiplication and division in addition to the more flexible  
synthesis capability of the DFS component, described in a  
later section. These operations result in output clock signals  
with frequencies that are either a fraction (for division) or a  
multiple (for multiplication) of the incoming clock frequency.  
CLKFX_MULTIPLY  
CLKFX_DIVIDE  
----------------------------------------------------  
fCLKFX = fCLKIN  
Eq. 1  
The CLKFX_MULTIPLY attribute is an integer ranging from  
2 to 32, inclusive, and forms the numerator in Equation 1.  
54  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
The CLKFX_DIVIDE is an integer ranging from 1 to 32,  
inclusive and forms the denominator in Equation 1. For  
example, if CLKFX_MULTIPLY = 5 and CLKFX_DIVIDE = 3,  
the frequency of the output clock signal is 5/3 that of the  
input clock signal. These attributes and their acceptable  
ranges are described in Table 34.  
and output clock edges coincide every three CLKIN input  
periods, which is equivalent in time to five CLKFX output  
periods.  
Smaller CLKFX_MULTIPLY and CLKFX_DIVIDE values  
result in faster lock times. Therefore, CLKFX_MULTIPLY  
and CLKFX_DIVIDE must be factored to reduce their values  
wherever possible. For example, given CLKFX_MULTIPLY  
= 9 and CLKFX_DIVIDE = 6, removing a factor of three  
yields CLKFX_MULTIPLY = 3 and CLKFX_DIVIDE = 2.  
While both value-pairs result in the multiplication of clock  
frequency by 3/2, the latter value-pair enables the DLL to  
lock more quickly.  
Table 34: DFS Attributes  
Attribute  
Description  
Values  
CLKFX_MULTIPLY  
Frequency  
multiplier  
constant  
Integer from  
2 to 32,  
inclusive  
CLKFX_DIVIDE  
Frequency divisor Integer from  
Phase Shifter (PS)  
constant  
1 to 32,  
The DCM provides two approaches to controlling the phase  
of a DCM clock output signal relative to the CLKIN signal:  
First, eight of the nine DCM clock outputs CLK0, CLK90,  
CLK180, CLK270, CLK2X, CLK2X180, CLKFX, and  
CLKFX180 provide either quadrant or half-period phase  
shifting of the input clock.  
inclusive  
Any combination of integer values can be assigned to the  
CLKFX_MULTIPLY and CLKFX_DIVIDE attributes, pro-  
vided that two conditions are met:  
1. The two values fall within their corresponding ranges,  
as specified in Table 34.  
Second, the PS unit provides additional fine phase shift  
control of all nine DCM outputs. The PS unit accomplishes  
2. The f  
output frequency calculated in Equation 1  
falls within the DCM’s operating frequency  
specifications (see Table 106 in Module 3).  
this by introducing a “fine phase shift” delay (T ) between  
CLKFX  
PS  
the CLKFB and CLKIN signals inside the DLL unit. In FIXED  
phase shift mode, the fine phase shift is specified at design  
1
th  
time with a resolution down to /  
of a CLKIN cycle or  
256  
DFS With or Without the DLL  
one delay step (DCM_DELAY_STEP), whichever is greater.  
This fine phase shift value is relative to the coarser quadrant  
or half-period phase shift of the DCM clock output. When  
used, the PS unit shifts the phase of all nine DCM clock out-  
put signals.  
Although the CLKIN input is shared with both units, the DFS  
unit functions with or separately from the DLL unit. Separate  
from the DLL, the DFS generates an output frequency from  
the CLKIN frequency according to the respective  
CLKFX_MULTIPLY and CLKFX_DIVIDE values. Frequency  
synthesis does not require a feedback loop. Furthermore,  
without the DLL, the DFS unit supports a broader operating  
frequency range.  
Enabling Phase Shifting and Selecting an Operat-  
ing Mode  
The CLKOUT_PHASE_SHIFT attribute controls the PS unit  
for the specific DCM instantiation. As described in Table 35,  
this attribute has three possible values: NONE, FIXED, and  
VARIABLE. When CLKOUT_PHASE_SHIFT = NONE, the  
PS unit is disabled and the DCM output clocks are  
phase-aligned to the CLKIN input via the CLKFB feedback  
path. Figure 44a shows this case.  
With the DLL, the DFS unit operates as described above,  
only with the additional benefit of eliminating the clock distri-  
bution delay. In this case, a feedback loop from the CLK0 or  
CLK2X output to the CLKFB input must be present.  
When operating with the DLL unit, the DFS’s CLKFX and  
CLKFX180 outputs are phase-aligned with the CLKIN input  
every CLKFX_DIVIDE cycles of CLKIN and every  
CLKFX_MULTIPLY cycles of CLKFX. For example, when  
CLKFX_MULTIPLY = 5 and CLKFX_DIVIDE = 3, the input  
The PS unit is enabled when the CLKOUT_PHASE_SHIFT  
attribute is set to FIXED or VARIABLE modes. These two  
modes are described in the sections that follow.  
Table 35: PS Attributes  
Attribute  
Description  
Disables the PS component or chooses between  
Values  
CLKOUT_PHASE_SHIFT  
NONE, FIXED, VARIABLE  
Fixed Phase and Variable Phase modes.  
PHASE_SHIFT  
Determines size and direction of initial fine phase  
shift.  
Integers from –255 to +255  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
55  
Product Specification  
R
Functional Description  
FIXED Phase Shift prior to ISE 8.1i, Service Pack 3: See  
Equation 3. The value corresponds to a phase shift range of  
–180° to +180° degrees, which is different from the Spar-  
tan-3 DCM design primitive and simulation model. Designs  
created prior to ISE 8.1i, Service Pack 3 must be recom-  
piled using the most recent ISE development software.  
FIXED Phase Shift Mode  
The FIXED phase shift mode shifts the DCM outputs by a  
fixed amount (T ), controlled by the user-specified  
PS  
PHASE_SHIFT attribute. The PHASE_SHIFT value (shown  
as P in Figure 44) must be an integer ranging from –255 to  
+255. PHASE_SHIFT specifies a phase shift delay as a  
PHASESHIFT  
fraction of the T  
The phase shift behavior is different  
CLKIN.  
--------------------------------------  
tPS  
=
TCLKIN  
Eq. 3  
512  
between ISE 8.1, Service Pack 3 and prior software ver-  
sions, as described below.  
When the PHASE_SHIFT value is zero, CLKFB and CLKIN  
are in phase, the same as when the PS unit is disabled.  
When the PHASE_SHIFT value is positive, the DCM out-  
puts are shifted later in time with respect to CLKIN input.  
When the attribute value is negative, the DCM outputs are  
shifted earlier in time with respect to CLKIN.  
DESIGN NOTE:  
Prior to ISE 8.1i, Service Pack 3, the FIXED phase  
!
shift feature operated differently than the Spartan-3  
DCM design primitive and simulation model. Designs  
using software prior to ISE 8.1i, Service Pack 3 require  
recompilation using the latest ISE software release.  
Please read the following Answer Record for  
additional information.  
Figure 44b illustrates the relationship between CLKFB and  
CLKIN in the Fixed Phase mode. In the Fixed Phase mode,  
the PSEN, PSCLK, and PSINCDEC inputs are not used  
and must be tied to GND.  
Answer Record #23153  
Equation 2 or Equation 3 applies only to FIXED phase shift  
mode. The VARIABLE phase shift mode operates differ-  
ently.  
www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath  
=23153  
FIXED Phase Shift using ISE 8.1i, Service Pack 3 and  
later: See Equation 2. The value corresponds to a phase  
shift range of –360° to +360°, which matches behavior of  
the Spartan-3 DCM design primitive and simulation model.  
PHASESHIFT  
--------------------------------------  
tPS  
=
TCLKIN  
Eq. 2  
256  
a. CLKOUT_PHASE_SHIFT = NONE  
CLKIN  
CLKFB  
(via CLK0 or CLK2X feedback)  
b. CLKOUT_PHASE_SHIFT = FIXED  
CLKIN  
0
–255  
+255  
Shift Range over all P Values:  
P
256  
* T  
CLKIN  
CLKFB  
(via CLK0 or CLK2X feedback)  
DS312-2_61_021606  
Figure 44: NONE and FIXED Phase Shifter Waveforms (ISE 8.1i, Service Pack 3 and later)  
56  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
inputs to the PS unit (PSEN, PSCLK, and PSINCDEC), as  
defined in Table 36 and shown in Figure 40.  
VARIABLE Phase Shift Mode  
In VARIABLE phase shift mode, the FPGA application  
dynamically adjusts the fine phase shift value using three  
Table 36: Signals for Variable Phase Mode  
Signal  
Direction  
Input  
Description  
(1)  
PSEN  
Enables the Phase Shift unit for variable phase adjustment.  
(1)  
PSCLK  
Input  
Input  
Clock to synchronize phase shift adjustment.  
(1)  
PSINCDEC  
PSDONE  
When High, increments the current phase shift value. When Low, decrements the  
current phase shift value. This signal is synchronized to the PSCLK signal.  
Output  
Goes High to indicate that the present phase adjustment is complete and PS unit is  
ready for next phase adjustment request. This signal is synchronized to the PSCLK  
signal.  
Notes:  
1. This input supports either a true or inverted polarity.  
The FPGA application uses the three PS inputs on the  
Phase Shift unit to dynamically and incrementally increase  
or decrease the phase shift amount on all nine DCM clock  
outputs.  
Because each DCM_DELAY_STEP has a minimum and  
maximum value, the actual phase shift delay for the present  
phase increment/decrement value (VALUE) falls within the  
minimum and maximum values according to Equation 4 and  
Equation 5.  
To adjust the current phase shift value, the PSEN enable  
signal must be High to enable the PS unit. Coincidently,  
PSINCDEC must be High to increment the current phase  
shift amount or Low to decrement the current amount. All  
VARIABLE phase shift operations are controlled by the  
PSCLK input, which can be the CLKIN signal or any other  
clock signal.  
TPS(Max) = VALUE DCM_DELAY_STEP_MAX  
TPS(Min) = VALUE DCM_DELAY_STEP_MIN  
Eq. 4  
Eq. 5  
The maximum variable phase shift steps, MAX_STEPS, is  
described in Equation 6, for a given CLKIN input period,  
T
, in nanoseconds. To convert this to a phase shift  
CLKIN  
DESIGN NOTE:  
range measured in time and not steps, use MAX_STEPS  
derived in Equation 6 for VALUE in Equation 4 and  
Equation 5.  
The VARIABLE phase shift feature operates differently  
!
from the Spartan-3 DCM but the DCM design primitive  
is common to both Spartan-3 and Spartan-3E design  
entry. Variable phase shift in Spartan-3E FPGAs  
behaves as described herein. However, the DCM  
design primitive and simulation model does not match  
this behavior. Starting with ISE 8.1i, Service Pack 3,  
using the VARIABLE attribute generates an error  
message. Please read the following Answer Record to  
re-enable the VARIABLE phase shift feature.  
MAX_STEPS = [INTEGER(20 • (TCLKIN 3))]  
Eq. 6  
The phase adjustment might require as many as 100 CLKIN  
cycles plus 3 PSCLK cycles to take effect, at which point the  
DCM’s PSDONE output goes High for one PSCLK cycle.  
This pulse indicates that the PS unit completed the previous  
adjustment and is now ready for the next request.  
Answer Record #23004  
www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath  
Asserting the Reset (RST) input returns the phase shift to  
zero.  
=23004  
Status Logic  
The Status Logic indicates the present state of the DCM  
and a means to reset the DCM to its initial known state. The  
Status Logic signals are described in Table 37.  
DCM_ DELAY_STEP is the finest delay resolution available  
in the PS unit. Its value is provided at the bottom of  
Table 104 in Module 3. For each enabled PSCLK cycle that  
PSINCDEC is High, the PS unit adds one DCM_  
DELAY_STEP of phase shift to all nine DCM outputs. Simi-  
larly, for each enabled PSCLK cycle that PSINCDEC is Low,  
the PS unit subtracts one DCM_ DELAY_STEP of phase  
shift from all nine DCM outputs.  
In general, the Reset (RST) input is only asserted upon con-  
figuring the FPGA or when changing the CLKIN frequency.  
The RST signal must be asserted for three or more CLKIN  
cycles. A DCM reset does not affect attribute values (for  
example, CLKFX_MULTIPLY and CLKFX_DIVIDE). If not  
used, RST is tied to GND.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
57  
Product Specification  
R
Functional Description  
The eight bits of the STATUS bus are described in Table 38.  
Table 37: Status Logic Signals  
Signal  
Direction  
Input  
Description  
RST  
A High resets the entire DCM to its initial power-on state. Initializes the DLL taps for  
a delay of zero. Sets the LOCKED output Low. This input is asynchronous.  
STATUS[7:0]  
LOCKED  
Output  
Output  
The bit values on the STATUS bus provide information regarding the state of DLL and  
PS operation  
Indicates that the CLKIN and CLKFB signals are in phase by going High. The two  
signals are out-of-phase when Low.  
Table 38: DCM Status Bus  
Bit  
0
Name  
Reserved  
CLKIN Stopped  
Description  
-
1
When High, indicates that the CLKIN input signal is not toggling. When Low, indicates CLKIN  
is toggling. This bit functions only when the CLKFB input is connected.(1)  
2
CLKFX Stopped When High, indicates that the CLKFX output is not toggling. When Low, indicates the CLKFX  
output is toggling. This bit functions only when the CLKFX or CLKFX180 output are connected.  
3-6 Reserved  
-
Notes:  
1. When only the DFS clock outputs but none of the DLL clock outputs are used, this bit does not go High when the CLKIN signal stops.  
58  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Clock inputs optionally connect directly to DCMs using ded-  
icated connections. Table 30, Table 31, and Table 32 show  
the clock inputs that best feed a specific DCM within a given  
Spartan-3E part number. Different Spartan-3E FPGA densi-  
ties have different numbers of DCMs. The XC3S1200E and  
XC3S1600E are the only two densities with the left- and  
right-edge DCMs.  
Stabilizing DCM Clocks Before User Mode  
The STARTUP_WAIT attribute shown in Table 39 optionally  
delays the end of the FPGA’s configuration process until  
after the DCM locks to its incoming clock frequency. This  
option ensures that the FPGA remains in the Startup phase  
of configuration until all clock outputs generated by the  
DCM are stable. When all DCMs that have their  
STARTUP_WAIT attribute set to TRUE assert the LOCKED  
signal, then the FPGA completes its configuration process  
and proceeds to user mode. The associated bitstream gen-  
erator (BitGen) option LCK_cycle specifies one of the six  
cycles in the Startup phase. The selected cycle defines the  
point at which configuration stalls until all the LOCKED out-  
puts go High. See Start-Up, page 107 for more information.  
Each clock input is also optionally a user-I/O pin and con-  
nects to internal interconnect. Some clock pad pins are  
input-only pins as indicated in Pinout Descriptions (Mod-  
ule 4).  
Clock Buffers/Multiplexers  
Clock Buffers/Multiplexers either drive clock input signals directly onto  
a clock line (BUFG) or optionally provide a multiplexer to switch  
between two unrelated, possibly asynchronous clock signals (BUFG-  
MUX).  
Table 39: STARTUP_WAIT Attribute  
Attribute  
Description  
Values  
Each BUFGMUX element, shown in Figure 46, is a 2-to-1 multiplexer.  
The select line, S, chooses which of the two inputs, I0 or I1, drives the  
BUFGMUX’s output signal, O, as described in Table 40. The switching  
from one clock to the other is glitch-less, and done in such a way that  
the output High and Low times are never shorter than the shortest  
High or Low time of either input clock. The two clock inputs can be  
asynchronous with regard to each other, and the S input can change  
at any time, except for a short setup time prior to the rising edge of the  
STARTUP_WAIT When TRUE,  
delays transition  
TRUE, FALSE  
fromconfiguration  
to user mode until  
DCM locks to the  
input clock.  
presently selected clock (I0 or I1). This setup time is specified as T  
GSI  
in Table 100, page 140. Violating this setup time requirement possibly  
results in an undefined runt pulse output.  
Clocking Infrastructure  
The Spartan-3E clocking infrastructure, shown in Figure 45,  
provides a series of low-capacitance, low-skew interconnect  
lines well-suited to carrying high-frequency signals through-  
out the FPGA. The infrastructure also includes the clock  
inputs and BUFGMUX clock buffers/multiplexers. The Xilinx  
Place-and-Route (PAR) software automatically routes  
high-fanout clock signals using these resources.  
Table 40: BUFGMUX Select Mechanism  
S Input  
O Output  
I0 Input  
I1 Input  
0
1
The BUFG clock buffer primitive drives a single clock signal onto the  
clock network and is essentially the same element as a BUFGMUX,  
just without the clock select mechanism. Similarly, the BUFGCE prim-  
itive creates an enabled clock buffer using the BUFGMUX select  
mechanism.  
Clock Inputs  
Clock pins accept external clock signals and connect directly  
to DCMs and BUFGMUX elements. Each Spartan-3E FPGA  
has:  
The I0 and I1 inputs to an BUFGMUX element originate from clock  
input pins, DCMs, or Double-Line interconnect, as shown in Figure 46.  
As shown in Figure 45, there are 24 BUFGMUX elements distributed  
around the four edges of the device. Clock signals from the four BUF-  
GMUX elements at the top edge and the four at the bottom edge are  
truly global and connect to all clocking quadrants. The eight left-edge  
BUFGMUX elements only connect to the two clock quadrants in the  
left half of the device. Similarly, the eight right-edge BUFGMUX ele-  
ments only connect to the right half of the device.  
16 Global Clock inputs (GCLK0 through GCLK15)  
located along the top and bottom edges of the FPGA  
8 Right-Half Clock inputs (RHCLK0 through RHCLK7)  
located along the right edge  
8 Left-Half Clock inputs (LHCLK0 through LHCLK7)  
located along the left edge  
BUFGMUX elements are organized in pairs and share I0 and I1 con-  
nections with adjacent BUFGMUX elements from a common clock  
switch matrix as shown in Figure 46. For example, the input on I0 of  
one BUFGMUX is also a shared input to I1 of the adjacent BUFGMUX.  
The clock switch matrix for the left- and right-edge BUFGMUX ele-  
ments receive signals from any of the three following sources: an  
LHCLK or RHCLK pin as appropriate, a Double-Line interconnect, or a  
DCM in the XC3S1200E and XC3S1600E devices.  
DESIGN NOTE:  
Avoid using global clock input GCLK1 as it is always  
!
shared with the M2 mode select pin. Global clock  
inputs GCLK0, GCLK2, GCLK3, GCLK12, GCLK13,  
GCLK14, and GCLK15 have shared functionality in  
some configuration modes.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
59  
Product Specification  
R
Functional Description  
Global Clock Inputs  
GCLK11 GCLK10  
GCLK9 GCLK8  
4
GCLK7 GCLK6  
GCLK5  
GCLK4 4  
DCM  
BUFGMUX  
DCM  
pair  
Clock Line  
XC3S100E (X0Y1)  
XC3S250E (X1Y1)  
XC3S500E (X1Y1)  
XC3S1200E (X2Y3)  
XC3S1600E (X2Y3)  
XC3S250E (X0Y1)  
XC3S500E (X0Y1)  
XC3S1200E (X1Y3)  
XC3S1600E (X1Y3)  
X1Y10 X1Y11  
X2Y10 X2Y11  
in Quadrant  
BUFGMUX  
4
4
H
G
F
E
H
H
Top Right  
Quadrant (TR)  
Top Left  
Quadrant (TL)  
8
8
8
4
G
G
2
2
2
2
8
DCM  
DCM  
XC3S1200E (X0Y1)  
XC3S1600E (X0Y1)  
XC3S1200E (X3Y1)  
XC3S1600E (X3Y1)  
8
8
2
2
2
2
F
F
Note 3  
Note 4  
E
D
E
D
8
8
8
8
Left Spine  
Right Spine  
Horizontal  
Spine  
Note 3  
Note 4  
8
8
C
C
2
2
2
2
8
8
DCM  
DCM  
XC3S1200E (X0Y2)  
XC3S1600E (X0Y2)  
XC3S1200E (X3Y2)  
XC3S1600E (X3Y2)  
2
2
2
2
B
A
B
4
Bottom Right  
Quadrant (BR)  
8
8
Bottom Left  
Quadrant (BL)  
A
4
4
DCM  
DCM  
D
C
B
A
XC3S100E (X0Y0)  
XC3S250E (X1Y0)  
XC3S500E (X1Y0)  
XC3S1200E (X2Y0)  
XC3S1600E (X2Y0)  
XC3S250E (X0Y0)  
XC3S500E (X0Y0)  
XC3S1200E (X1Y0)  
XC3S1600E (X1Y0)  
X1Y0 X1Y1  
X2Y0 X2Y1  
GCLK1 GCLK0  
4
4 GCLK3  
GCLK2  
GCLK15 GCLK14 GCLK13 GCLK12  
Global Clock Inputs  
DS312-2_04_041106  
Notes:  
1. The diagram presents electrical connectivity. The diagram locations do not necessarily match the physical location on the device,  
although the coordinate locations shown are correct.  
2. Number of DCMs and locations of these DCM varies for different device densities. The left and right DCMs are only in the  
XC3S1200E and XC3S1600E. The XC3S100E has only two DCMs, one on the top right and one on the bottom right of the die.  
3. See Figure 47a, which shows how the eight clock lines are multiplexed on the left-hand side of the device.  
4. See Figure 47b, which shows how the eight clock lines are multiplexed on the right-hand side of the device.  
5. For best direct clock inputs to a particular clock buffer, not a DCM, see Table 41.  
6. For best direct clock inputs to a particular DCM, not a BUFGMUX, see Table 30, Table 31, and Table 32. Direct pin inputs to a DCM  
are shown in gray.  
Figure 45: Spartan-3E Internal Quadrant-Based Clock Network (Electrical Connectivity View)  
60  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
By contrast, the clock switch matrixes on the top and bottom  
edges receive signals from any of the five following  
sources: two GCLK pins, two DCM outputs, or one Dou-  
ble-Line interconnect.  
The four BUFGMUX elements on the top edge are paired  
together and share inputs from the eight global clock inputs  
along the top edge. Each BUFGMUX pair connects to four  
of the eight global clock inputs, as shown in Figure 45. This  
optionally allows differential inputs to the global clock inputs  
without wasting a BUFGMUX element.  
Table 41 indicates permissible connections between clock  
inputs and BUFGMUX elements. The I0-input provides the  
best input path to a clock buffer. The I1-input provides the  
secondary input for the clock multiplexer function.  
Table 41: Connections from Clock Inputs to BUFGMUX Elements and Associated Quadrant Clock  
Quadrant  
Clock  
Line  
Left-Half BUFGMUX  
Top or Bottom BUFGMUX  
Right-Half BUFGMUX  
(1)  
(2)  
(2)  
(2)  
Location  
I0 Input I1 Input Location  
I0 Input  
I1 Input Location  
I0 Input I1 Input  
GCLK7or GCLK6or  
H
G
F
X0Y9  
X0Y8  
X0Y7  
X0Y6  
X0Y5  
X0Y4  
X0Y3  
X0Y2  
LHCLK7 LHCLK6  
LHCLK6 LHCLK7  
LHCLK5 LHCLK4  
LHCLK4 LHCLK5  
LHCLK3 LHCLK2  
LHCLK2 LHCLK3  
LHCLK1 LHCLK0  
LHCLK0 LHCLK1  
X1Y10  
X1Y11  
X2Y10  
X2Y11  
X1Y0  
X3Y9  
X3Y8  
X3Y7  
X3Y6  
X3Y5  
X3Y4  
X3Y3  
X3Y2  
RHCLK3 RHCLK2  
RHCLK2 RHCLK3  
RHCLK1 RHCLK0  
RHCLK0 RHCLK1  
RHCLK7 RHCLK6  
RHCLK6 RHCLK7  
RHCLK5 RHCLK4  
RHCLK4 RHCLK5  
GCLK11  
GCLK10  
GCLK6or GCLK7or  
GCLK10 GCLK11  
GCLK5or GCLK4or  
GCLK9 GCLK8  
GCLK4or GCLK5or  
GCLK8 GCLK9  
E
D
C
B
GCLK3or GCLK2or  
GCLK15 GCLK14  
GCLK2or GCLK3or  
GCLK14 GCLK15  
X1Y1  
GCLK1or GCLK0or  
GCLK13 GCLK12  
X2Y0  
GCLK0or GCLK1or  
GCLK12 GCLK13  
A
X2Y1  
Notes:  
1. See Quadrant Clock Routing for connectivity details for the eight quadrant clocks.  
2. See Figure 45 for specific BUFGMUX locations, and Figure 47 for information on how BUFGMUX elements drive onto a specific clock line  
within a quadrant.  
The connections for the bottom-edge BUFGMUX elements  
are similar to the top-edge connections (see Figure 46).  
On the left and right edges, only two clock inputs feed each  
pair of BUFGMUX elements.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
61  
Product Specification  
R
Functional Description  
Left-/Right-Half BUFGMUX  
CLK Switch  
Top/Bottom (Global) BUFGMUX  
CLK Switch  
Matrix  
Matrix  
BUFGMUX  
O
BUFGMUX  
S
S
I0  
I0  
0
1
0
1
O
O
I1  
I1  
I0  
I1  
I0  
I1  
0
1
0
1
O
S
S
LHCLK or  
RHCLK input  
1st GCLK pin  
1st DCM output  
Double Line  
Double Line  
DCM output*  
*(XC3S1200E and  
XC3S1600E only)  
2nd DCM output  
2nd GCLK pin  
DS312-2_16_110706  
Figure 46: Clock Switch Matrix to BUFGMUX Pair Connectivity  
The four quadrants of the device are:  
Quadrant Clock Routing  
Top Right (TR)  
Bottom Right (BR)  
Bottom Left (BL)  
Top Left (TL)  
The clock routing within the FPGA is quadrant-based, as  
shown in Figure 45. Each clock quadrant supports eight  
total clock signals, labeled ‘A’ through ‘H’ in Table 41 and  
Figure 47. The clock source for an individual clock line orig-  
inates either from a global BUFGMUX element along the  
top and bottom edges or from a BUFGMUX element along  
the associated edge, as shown in Figure 47. The clock lines  
feed the synchronous resource elements (CLBs, IOBs,  
block RAM, multipliers, and DCMs) within the quadrant.  
Note that the quadrant clock notation (TR, BR, BL, TL) is  
separate from that used for similar IOB placement con-  
straints.  
62  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Clock Line  
BUFGMUX Output  
X1Y10 (Global)  
Clock Line  
BUFGMUX Output  
X1Y10 (Global)  
H
H
G
F
X0Y9 (Left Half)  
X3Y9 (Right Half)  
X1Y11 (Global)  
X0Y8 (Left Half)  
X1Y11 (Global)  
G
F
X3Y8 (Right Half)  
X2Y10 (Global)  
X0Y7 (Left Half)  
X2Y10 (Global)  
X3Y7 (Right Half)  
X2Y11 (Global)  
X0Y6 (Left Half)  
X2Y11 (Global)  
E
D
C
B
E
D
C
B
X3Y6 (Right Half)  
X1Y0 (Global)  
X1Y0 (Global)  
X0Y5 (Left Half)  
X3Y5 (Right Half)  
X1Y1 (Global)  
X1Y1 (Global)  
X0Y4 (Left Half)  
X3Y4 (Right Half)  
X2Y0 (Global)  
X2Y0 (Global)  
X0Y3 (Left Half)  
X3Y3 (Right Half)  
X2Y1 (Global)  
X2Y1 (Global)  
A
A
X0Y2 (Left Half)  
X3Y2 (Right Half)  
a. Left (TL and BL Quadrants) Half of Die  
b. Right (TR and BR Quadrants) Half of Die  
DS312-2_17_103105  
Figure 47: Clock Sources for the Eight Clock Lines within a Clock Quadrant  
The outputs of the top or bottom BUFGMUX elements con-  
nect to two vertical spines, each comprising four vertical  
clock lines as shown in Figure 45. At the center of the die,  
these clock signals connect to the eight-line horizontal clock  
spine.  
in the bottom left quadrant. However, the top left (TL) quad-  
rant clock ‘A’ can still solely use the output from either  
BUFGMUX_X2Y1 or BUFGMUX_X0Y2 as the source.  
To minimize the dynamic power dissipation of the clock net-  
work, the Xilinx development software automatically dis-  
ables all clock segments not in use.  
Outputs of the left and right BUFGMUX elements are routed  
onto the left or right horizontal spines, each comprising  
eight horizontal clock lines.  
Performance Differences between  
Top/Bottom and Left-/Right-Half Global  
Buffers  
The top and bottom global buffers support higher clock fre-  
quencies than the left- and right-half buffers. Consequently,  
clocks exceeding 230 MHz must use the top or bottom glo-  
bal buffers and, if required for the application, their associ-  
ated DCMs. See Table 100 in Module 3.  
Each of the eight clock signals in a clock quadrant derives  
either from a global clock signal or a half clock signal. In  
other words, there are up to 24 total potential clock inputs to  
the FPGA, eight of which can connect to clocked elements  
in a single clock quadrant. Figure 47 shows how the clock  
lines in each quadrant are selected from associated BUFG-  
MUX sources. For example, if quadrant clock ‘A’ in the bot-  
tom left (BL) quadrant originates from BUFGMUX_X2Y1,  
then the clock signal from BUFGMUX_X0Y2 is unavailable  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
63  
Product Specification  
R
Functional Description  
Switch Matrix  
Interconnect  
The switch matrix connects to the different kinds of intercon-  
nects across the device. An interconnect tile, shown in  
Figure 48, is defined as a single switch matrix connected to  
a functional element, such as a CLB, IOB, or DCM. If a func-  
tional element spans across multiple switch matrices such  
as the block RAM or multipliers, then an interconnect tile is  
defined by the number of switch matrices connected to that  
functional element. A Spartan-3E device can be repre-  
sented as an array of interconnect tiles where interconnect  
resources are for the channel between any two adjacent  
interconnect tile rows or columns as shown in Figure 49.  
Interconnect is the programmable network of signal path-  
ways between the inputs and outputs of functional elements  
within the FPGA, such as IOBs, CLBs, DCMs, and block  
RAM.  
Overview  
Interconnect, also called routing, is segmented for optimal  
connectivity. Functionally, interconnect resources are iden-  
tical to that of the Spartan-3 architecture. There are four  
kinds of interconnects: long lines, hex lines, double lines,  
and direct lines. The Xilinx Place and Route (PAR) software  
exploits the rich interconnect array to deliver optimal system  
performance and the fastest compile times.  
Switch  
Matrix  
Switch  
CLB  
Matrix  
Switch  
Matrix  
Switch  
IOB  
18Kb  
Block  
RAM  
MULT  
18 x 18  
Matrix  
Switch  
Matrix  
Switch  
DCM  
Matrix  
Switch  
Matrix  
DS312_08_020905  
Figure 48: Four Types of Interconnect Tiles (CLBs, IOBs, DCMs, and Block RAM/Multiplier)  
64  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
IOB  
IOB  
IOB  
IOB  
IOB  
IOB  
CLB  
CLB  
CLB  
CLB  
IOB  
CLB  
CLB  
CLB  
CLB  
IOB  
CLB  
CLB  
CLB  
CLB  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
Switch  
Matrix  
DS312_09_020905  
Figure 49: Array of Interconnect Tiles in Spartan-3E FPGA  
Horizontal and  
24  
Vertical Long Lines  
(horizontal channel  
shown as an example)  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
6
6
6
6
6
DS312-2_10_022305  
Horizontal and  
8
Vertical Hex Lines  
(horizontal channel  
shown as an example)  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
DS312-2_11_020905  
Horizontal and  
Vertical Double  
Lines  
8
(horizontal channel  
CLB  
CLB  
CLB  
shown as an example)  
DS312-2_15_022305  
Figure 50: Interconnect Types between Two Adjacent Interconnect Tiles  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
65  
Product Specification  
R
Functional Description  
Direct Connections  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
CLB  
DS312-2_12_020905  
Figure 50: Interconnect Types between Two Adjacent Interconnect Tiles (Continued)  
The four types of general-purpose interconnect available in  
Global Controls (STARTUP_SPARTAN3E)  
each channel, shown in Figure 50, are described below.  
In addition to the general-purpose interconnect, Spartan-3E  
FPGAs have two global logic control signals, as described  
in Table 42. These signals are available to the FPGA appli-  
cation via the STARTUP_SPARTAN3E primitive.  
Long Lines  
Each set of 24 long line signals spans the die both horizon-  
tally and vertically and connects to one out of every six inter-  
connect tiles. At any tile, four of the long lines drive or  
receive signals from a switch matrix. Because of their low  
capacitance, these lines are well-suited for carrying  
high-frequency signals with minimal loading effects (e.g.  
skew). If all global clock lines are already committed and  
additional clock signals remain to be assigned, long lines  
serve as a good alternative.  
Table 42: Spartan-3E Global Logic Control Signals  
Global  
Description  
Control Input  
Global Set/Reset: When High,  
asynchronously places all registers and  
flip-flops in their initial state (see  
GSR  
Initialization, page 31). Asserted  
automatically during the FPGA  
configuration process (see Start-Up,  
page 107).  
Hex Lines  
Each set of eight hex lines are connected to one out of  
every three tiles, both horizontally and vertically. Thirty-two  
hex lines are available between any given interconnect tile.  
Hex lines are only driven from one end of the route.  
Global Three-State: When High,  
asynchronously forces all I/O pins to a  
high-impedance state (Hi-Z,  
three-state).  
GTS  
Double Lines  
Each set of eight double lines are connected to every other  
tile, both horizontally and vertically. in all four directions.  
Thirty-two double lines available between any given inter-  
connect tile. Double lines are more connections and more  
flexibility, compared to long line and hex lines.  
The Global Set/Reset (GSR) signal replaces the global  
reset signal included in many ASIC-style designs. Use the  
GSR control instead of a separate global reset signal in the  
design to free up CLB inputs, resulting in a smaller, more  
efficient design. Similarly, the GSR signal is asserted auto-  
matically during the FPGA configuration process, guaran-  
teeing that the FPGA starts-up in a known state.  
Direct Connections  
Direct connect lines route signals to neighboring tiles: verti-  
cally, horizontally, and diagonally. These lines most often  
drive a signal from a "source" tile to a double, hex, or long  
line and conversely from the longer interconnect back to a  
direct line accessing a "destination" tile.  
The STARTUP_SPARTAN3E primitive also includes two  
other signals used specifically during configuration. The  
MBT signals are for Dynamically Loading Multiple Con-  
figuration Images Using MultiBoot Option, page 93. The  
CLK input is an alternate clock for configuration Start-Up,  
page 107.  
66  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
borrowed and returned to the application as general-pur-  
pose user I/Os after configuration completes.  
Configuration  
Differences from Spartan-3 FPGAs  
Spartan-3E FPGAs offer several configuration options to  
minimize the impact of configuration on the overall system  
design. In some configuration modes, the FPGA generates  
a clock and loads itself from an external memory source,  
either serially or via a byte-wide data path. Alternatively, an  
external host such as a microprocessor downloads the  
FPGA’s configuration data using a simple synchronous  
serial interface or via a byte-wide peripheral-style interface.  
Furthermore, multiple-FPGA designs share a single config-  
uration memory source, creating a structure called a daisy  
chain.  
In general, Spartan-3E FPGA configuration modes are a  
superset to those available in Spartan-3 FPGAs. Two new  
modes added in Spartan-3E FPGAs provide a glue-less  
configuration interface to industry-standard parallel NOR  
Flash and SPI serial Flash memories. Unlike Spartan-3  
FPGAs, nearly all of the Spartan-3E configuration pins  
become available as user I/Os after configuration.  
Configuration Process  
The function of a Spartan-3E FPGA is defined by loading  
application-specific configuration data into the FPGA’s  
internal, reprogrammable CMOS configuration latches  
(CCLs), similar to the way a microprocessor’s function is  
defined by its application program. For FPGAs, this configu-  
ration process uses a subset of the device pins, some of  
which are dedicated to configuration; other pins are merely  
Three FPGA pins—M2, M1, and M0—select the desired  
configuration mode. The mode pin settings appear in  
Table 43. The mode pin values are sampled during the start  
of configuration when the FPGA’s INIT_B output goes High.  
After the FPGA completes configuration, the mode pins are  
available as user I/Os.  
Table 43: Spartan-3E Configuration Mode Options and Pin Settings  
Master  
Serial  
SPI  
BPI  
Slave Parallel  
Slave Serial  
JTAG  
M[2:0] mode pin  
settings  
<0:0:0>  
<0:0:1>  
<0:1:0>=Up  
<1:1:0>  
<1:1:1>  
<1:0:1>  
<0:1:1>=Down  
Data width  
Serial  
Serial  
Byte-wide  
Byte-wide  
Serial  
Serial  
Configuration memory  
source  
Xilinx  
Platform  
Flash  
Industry-standard Industry-standard Any source via  
Any source via  
Any source via  
SPI serial Flash  
parallel NOR  
Flash or Xilinx  
parallel Platform  
Flash  
microcontroller, microcontroller, microcontroller,  
CPU, Xilinx  
parallel  
CPU, Xilinx  
CPU, System  
Platform Flash, ACECF, etc.  
Platform Flash,  
etc.  
etc.  
Clock source  
Internal  
oscillator  
Internal oscillator Internal oscillator  
External clock  
on CCLK pin  
External clock  
on CCLK pin  
External clock  
on TCK pin  
Total I/O pins  
borrowed during  
configuration  
8
13  
46  
21  
8
0
Configuration mode  
for downstream  
Slave Serial  
Slave Serial  
Slave Parallel  
SlaveParallelor  
Memory  
Slave Serial  
JTAG  
daisy-chained FPGAs  
Mapped  
Possible using  
XCFxxP Platform  
Flash, which  
optionally  
generates CCLK  
Possible using  
XCFxxP Platform  
Flash, which  
optionally  
generates CCLK  
Stand-alone FPGA  
applications (no  
external download  
host)  
9
9
9
9
Uses low-cost,  
industry-standard  
Flash  
9
9
Supports optional  
MultiBoot,  
multi-configuration  
mode  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
67  
Product Specification  
R
Functional Description  
Configuration Bitstream Image Sizes  
Pin Behavior During Configuration  
A specific Spartan-3E part type always requires a constant  
number of configuration bits, regardless of design complex-  
ity, as shown in Table 44. The configuration file size for a  
multiple-FPGA daisy-chain design roughly equals the sum  
of the individual file sizes.  
Table 45 shows how various pins behave during the FPGA  
configuration process. The actual behavior depends on the  
values applied to the M2, M1, and M0 mode select pins and  
the HSWAP pin. The mode select pins determine which of  
the I/O pins are borrowed during configuration and how they  
function. In JTAG configuration mode, no user-I/O pins are  
borrowed for configuration.  
Table 44: Number of Bits to Program a Spartan-3E  
All user-I/O pins, input-only pins, and dual-purpose pins that  
are not actively involved in the currently-select configuration  
mode are high impedance (floating, three-stated, Hi-Z) dur-  
ing the configuration process. These pins are indicated in  
Table 45 as gray shaded table entries or cells.  
FPGA (Uncompressed Bitstreams)  
Number of  
Spartan-3E FPGA  
XC3S100E  
Configuration Bits  
581,344  
The HSWAP input controls whether all user-I/O pins,  
input-only pins, and dual-purpose pins have a pull-up resis-  
tor to the supply rail or not. When HSWAP is Low, each pin  
has an internal pull-up resistor that is active throughout con-  
figuration. After configuration, pull-up and pull-down resis-  
tors are available in the FPGA application as described in  
Pull-Up and Pull-Down Resistors.  
XC3S250E  
1,353,728  
XC3S500E  
2,270,208  
XC3S1200E  
XC3S1600E  
3,841,184  
5,969,696  
The yellow-shaded table entries or cells represent pins  
where the pull-up resistor is always enabled during configu-  
ration, regardless of the HSWAP input. The post-configura-  
tion behavior of these pins is defined by Bitstream  
Generator options as defined in Table 68.  
Table 45: Pin Behavior during Configuration  
SPI (Serial  
Flash)  
BPI (Parallel  
NOR Flash)  
Slave  
Parallel  
Supply/  
I/O Bank  
Pin Name  
Master Serial  
JTAG  
Slave Serial  
IO* (user-I/O)  
-
IP* (input-only)  
TDI  
TMS  
TDI  
TMS  
TCK  
TDO  
PROG_B  
DONE  
HSWAP  
0
TDI  
TMS  
TCK  
TDO  
PROG_B  
DONE  
HSWAP  
0
TDI  
TMS  
TCK  
TDI  
TMS  
TCK  
TDO  
PROG_B  
DONE  
HSWAP  
1
TDI  
TMS  
TCK  
TDO  
PROG_B  
DONE  
HSWAP  
1
TDI  
TMS  
TCK  
TDO  
PROG_B  
DONE  
HSWAP  
1
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
0
TCK  
TDO  
TDO  
PROG_B  
DONE  
HSWAP  
M2  
PROG_B  
DONE  
HSWAP  
0
2
M1  
0
0
1
0
1
1
2
M0  
0
1
0 = Up  
1
0
1
2
1 = Down  
CCLK  
INIT_B  
CSO_B  
DOUT/BUSY  
MOSI/CSI_B  
D7  
CCLK (I/O)  
INIT_B  
CCLK (I/O)  
INIT_B  
CSO_B  
DOUT  
CCLK (I/O)  
INIT_B  
CSO_B  
BUSY  
CSI_B  
D7  
CCLK (I)  
INIT_B  
CSO_B  
BUSY  
CSI_B  
D7  
CCLK (I)  
INIT_B  
2
2
2
2
2
2
2
2
2
DOUT  
DOUT  
MOSI  
D6  
D6  
D6  
D5  
D5  
D5  
D4  
D4  
D4  
68  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Supply/  
Table 45: Pin Behavior during Configuration (Continued)  
SPI (Serial  
Flash)  
BPI (Parallel  
NOR Flash)  
Slave  
Parallel  
Pin Name  
D3  
Master Serial  
JTAG  
Slave Serial  
I/O Bank  
D3  
D2  
D3  
D2  
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
D2  
D1  
D1  
D1  
D0/DIN  
RDWR_B  
A23  
DIN  
DIN  
D0  
D0  
DIN  
RDWR_B  
A23  
A22  
A21  
A20  
A19  
A18  
A17  
A16  
A15  
A14  
A13  
A12  
A11  
A10  
A9  
RDWR_B  
A22  
A21  
A20  
A19/VS2  
A18/VS1  
A17/VS0  
A16  
VS2  
VS1  
VS0  
A15  
A14  
A13  
A12  
A11  
A10  
A9  
A8  
A8  
A7  
A7  
A6  
A6  
A5  
A5  
A4  
A4  
A3  
A3  
A2  
A2  
A1  
A1  
A0  
A0  
LDC0  
LDC1  
LDC2  
HDC  
LDC0  
LDC1  
LDC2  
HDC  
Notes:  
1. Gray shaded cells represent pins that are in a high-impedance state (Hi-Z, floating) during configuration. These pins have an optional  
internal pull-up resistor to their respective VCCO supply pin that is active throughout configuration if the HSWAP input is Low.  
2. Yellow shaded cells represent pins with an internal pull-up resistor to its respective voltage supply rail that is active during  
configuration, regardless of the HSWAP pin.  
The HSWAP pin itself has an pull-up resistor enabled during  
configuration. However, the VCCO_0 supply voltage must  
be applied before the pull-up resistor becomes active. If the  
VCCO_0 supply ramps after the VCCO_2 power supply, do  
not let HSWAP float; tie HSWAP to the desired logic level  
externally.  
Spartan-3E FPGAs have only six dedicated configuration  
pins, including the DONE and PROG_B pins, and the four  
JTAG boundary-scan pins: TDI, TDO, TMS, and TCK. All  
other configuration pins are dual-purpose I/O pins and are  
available to the FPGA application after the DONE pin goes  
High. See Start-Up for additional information.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
69  
Product Specification  
R
Functional Description  
Table 46: Default I/O Standard Setting During Configuration (VCCO_2 = 2.5V)  
Pin(s)  
I/O Standard  
Output Drive  
Slew Rate  
All, including CCLK  
LVCMOS25  
8 mA  
Slow  
Table 46 shows the default I/O standard setting for the vari-  
ous configuration pins during the configuration process. The  
configuration interface is designed primarily for 2.5V opera-  
tion when the VCCO_2 (and VCCO_1 in BPI mode) con-  
nects to 2.5V.  
Design Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins  
Unlike previous Spartan FPGA families, nearly all of the  
Spartan-3E dual-purpose configuration pins are available  
as full-featured user I/O pins after successful configuration,  
when the DONE output goes High.  
The configuration pins also operate at other voltages by set-  
ting VCCO_2 (and VCCO_1 in BPI mode) to either 3.3V or  
The HSWAP pin, the mode select pins (M[2:0]), and the  
variant-select pins (VS[2:0]) must have valid and stable  
logic values at the start of configuration. VS[2:0] are only  
used in the SPI configuration mode. The levels on the  
M[2:0] pins and VS[2:0] pins are sampled when the INIT_B  
pin returns High. See Figure 77 for a timing example.  
1.8V. The change on the V  
drive characteristics. For example, with V  
output current when driving High, I , increases to approx-  
imately 12 to 16 mA, while the current when driving Low,  
supply also changes the I/O  
CCO  
= 3.3V, the  
CCO  
OH  
I
, remains 8 mA. At V  
= 1.8V, the output current when  
OL  
CCO  
driving High, I , decreases slightly to approximately 6 to 8  
OH  
mA. Again, the current when driving Low, I , remains  
The HSWAP pin defines whether FPGA user I/O pins have  
OL  
8 mA.  
a pull-up resistor connected to their associated V  
sup-  
CCO  
ply pin during configuration or not, as shown Table 47.  
HSWAP must be valid at the start of configuration and  
remain constant throughout the configuration process.  
CCLK Design Considerations  
The FPGA’s configuration process is controlled by the  
CCLK configuration clock. Consequently, signal integrity of  
CCLK is important to guarantee successful configuration.  
Poor CCLK signal integrity caused by ringing or reflections  
might cause double-clocking, causing the configuration pro-  
cess to fail.  
Table 47: HSWAP Behavior  
HSWAP  
Value  
Description  
0
Pull-up resistors connect to the associated  
V
supply for all user-I/O or dual-purpose  
Although the CCLK frequency is relatively low, Spartan-3E  
FPGA output edge rates are fast. Therefore, careful atten-  
tion must be paid to the CCLK signal integrity on the printed  
circuit board. Signal integrity simulation with IBIS is recom-  
mended. For all configuration modes except JTAG, the sig-  
nal integrity must be considered at every CCLK trace  
destination, including the FPGA’s CCLK pin.  
CCO  
I/O pins during configuration. Pull-up resistors  
are active until configuration completes.  
1
Pull-up resistors disabled during configuration.  
All user-I/O or dual-purpose I/O pins are in a  
high-impedance state.  
This analysis is especially important when the FPGA  
re-uses the CCLK pin as a user-I/O after configuration. In  
these cases, there might be unrelated devices attached to  
CCLK, which add additional trace length and signal destina-  
tions.  
The Configuration section provides detailed schematics for  
each configuration mode. The schematics indicate the  
required logic values for HSWAP, M[2:0], and VS[2:0] but  
do not specify how the application provides the logic Low or  
High value. The HSWAP, M[2:0], and VS[2:0] pins can be  
either dedicated or reused by the FPGA application.  
In the Master Serial, SPI, and BPI configuration modes, the  
FPGA drives the CCLK pin and CCLK should be treated as  
a full bidirectional I/O pin for signal integrity analysis. In BPI  
mode, CCLK is only used in multi-FPGA daisy-chains.  
Dedicating the HSWAP, M[2:0], and VS[2:0] Pins  
If the HSWAP, M[2:0], and VS[2:0] pins are not required by  
the FPGA design after configuration, simply connect these  
The best signal integrity is ensured by following these basic  
PCB guidelines:  
pins directly to the V  
or GND supply rail shown in the  
CCO  
appropriate configuration schematic.  
Route the CCLK signal as a 50 Ω  
controlled-impedance transmission line.  
Route the CCLK signal without any branching. Do not  
use a “star” topology.  
Keep stubs, if required, shorter than 10 mm (0.4  
inches).  
Reusing HSWAP, M[2:0], and VS[2:0] After Config-  
uration  
To reuse the HSWAP, M[2:0], and VS[2:0] pin after configu-  
ration, use pull-up or pull-down resistors to define the logic  
values shown in the appropriate configuration schematic.  
Terminate the end of the CCLK transmission line.  
70  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 48: Pull-up or Pull-down Values for HSWAP, M[2:0], and VS[2:0]  
Required Resistor Value to Define Logic Level on  
HSWAP, M[2:0], or VS[2:0]  
I/O Pull-up Resistors  
HSWAP Value during Configuration  
High  
Low  
0
Enabled  
Pulled High via an internal pull-up Pulled Low using an appropriately sized  
resistor to the associated V  
supply. No external pull-up  
resistor is necessary.  
pull-down resistor to GND.  
CCO  
For a 2.5V or 3.3V interface: R < 560 Ω.  
For a 1.8V interface: R < 1.1 kΩ.  
1
Disabled  
Pulled High using a 3.3 to 4.7 kΩ Pulled Low using a 3.3 to 4.7 kΩ resistor  
resistor to the associated V  
supply.  
to GND.  
CCO  
The logic level on HSWAP dictates how to define the logic  
levels on M[2:0] and VS[2:0], as shown in Table 48. If the  
application requires HSWAP to be High, the HSWAP pin is  
pulled High using an external 3.3 to 4.7 kΩ resistor to  
VCCO_0. If the application requires HSWAP to be Low dur-  
ing configuration, then HSWAP is either connected to GND  
or pulled Low using an appropriately sized external  
pull-down resistor to GND. When HSWAP is Low, its pin has  
an internal pull-up resistor to VCCO_0. The external  
pull-down resistor must be strong enough to define a logic  
Low on HSWAP for the I/O standard used during configura-  
tion. For 2.5V or 3.3V I/O, the pull-down resistor is 560 Ω or  
lower. For 1.8V I/O, the pull-down resistor is 1.1 kΩ or  
lower.  
Once HSWAP is defined, use Table 48 to define the logic  
values for M[2:0] and VS[2:0].  
Use the weakest external pull-up or pull-down resistor value  
allowed by the application. The resistor must be strong  
enough to define a logic Low or High during configuration.  
However, when driving the HSWAP, M[2:0], or VS[2:0] pins  
after configuration, the output driver must be strong enough  
to overcome the pull-up or pull-down resistor value and  
generate the appropriate logic levels. For example, to over-  
come a 560 Ωpull-down resistor, a 3.3V FPGA I/O pin must  
use a 6 mA or stronger driver.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
71  
Product Specification  
R
Functional Description  
attached Platform Flash PROM. In response, the Platform  
Flash PROM supplies bit-serial data to the FPGA’s DIN  
input, and the FPGA accepts this data on each rising CCLK  
edge.  
Master Serial Mode  
In Master Serial mode (M[2:0] = <0:0:0>), the Spartan-3E  
FPGA configures itself from an attached Xilinx Platform  
Flash PROM, as illustrated in Figure 51. The FPGA sup-  
plies the CCLK output clock from its internal oscillator to the  
+1.2V  
XCFxxS = +3.3V  
XCFxxP = +1.8V  
V
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCINT  
VCCO_2  
DIN  
V
D0  
VCCO  
V
Serial Master  
Mode  
CCLK  
DOUT  
INIT_B  
CLK  
‘0’  
‘0’  
‘0’  
M2  
M1  
M0  
OE/RESET  
+2.5V  
Spartan-3E  
Platform Flash  
XCFxx  
CE  
CF  
CEO  
+2.5V  
JTAG  
VCCAUX  
TDO  
+2.5V  
VCCJ  
TDO  
+2.5V  
TDI  
TDI  
TDI  
TMS  
TCK  
TDO  
TMS  
TCK  
TMS  
TCK  
GND  
PROG_B  
DONE  
GND  
PROG_B  
Recommend  
open-drain  
driver  
DS312-2_44_102105  
Figure 51: Master Serial Mode using Platform Flash PROM  
All mode select pins, M[2:0], must be Low when sampled,  
when the FPGA’s INIT_B output goes High. After configura-  
tion, when the FPGA’s DONE output goes High, the mode  
select pins are available as full-featured user-I/O pins.  
FPGA configuration. After configuration, when the FPGA’s  
DONE output goes High, the HSWAP pin is available as  
full-featured user-I/O pin and is powered by the VCCO_0  
supply.  
P
Similarly, the FPGA’s HSWAP pin must be Low to  
The FPGA's DOUT pin is used in daisy-chain applications,  
described later. In a single-FPGA application, the FPGA’s  
DOUT pin is not used but is actively driving during the con-  
figuration process.  
enable pull-up resistors on all user-I/O pins during configu-  
ration or High to disable the pull-up resistors. The HSWAP  
control must remain at a constant logic level throughout  
72  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 49: Serial Master Mode Connections  
Pin Name  
FPGA Direction  
Description  
During Configuration  
After Configuration  
HSWAP  
Input  
User I/O Pull-Up Control. When Low  
during configuration, enables pull-up  
resistors in all I/O pins to respective I/O  
bank VCCO input.  
Drive at valid logic level  
throughout configuration.  
User I/O  
P
0: Pull-ups during configuration  
1: No pull-ups  
M[2:0]  
Input  
Mode Select. Selects the FPGA  
configuration mode. See Design  
M2 = 0, M1 = 0, M0 = 0.  
Sampled when INIT_B goes  
User I/O  
Considerations for the HSWAP, M[2:0], High.  
and VS[2:0] Pins.  
DIN  
Input  
Serial Data Input.  
Receives serial data from  
PROM’s D0 output.  
User I/O  
User I/O  
CCLK  
Output  
Configuration Clock. Generated by  
FPGA internal oscillator. Frequency  
controlled by ConfigRate bitstream  
generator option. If CCLK PCB trace is  
long or has multiple connections,  
terminate this output to maintain signal  
integrity. See CCLK Design  
Drives PROM’s CLK clock  
input.  
Considerations.  
DOUT  
INIT_B  
Output  
Serial Data Output.  
Actively drives. Not used in  
single-FPGA designs. In a  
daisy-chain configuration, this  
pin connects to DIN input of  
the next FPGA in the chain.  
User I/O  
Open-drain  
Initialization Indicator. ActiveLow. Goes Connects to PROM’s  
User I/O. If unused in  
the application, drive  
INIT_B High.  
bidirectional I/O Low at start of configuration during  
Initialization memory clearing process.  
Released at end of memory clearing,  
when mode select pins are sampled.  
Requires external 4.7 kΩ pull-up resistor  
to VCCO_2.  
OE/RESET input. FPGA  
clears PROM’s address  
counter at start of  
configuration, enables  
outputs during configuration.  
PROM also holds FPGA in  
Initialization state until PROM  
reaches Power-On Reset  
(POR) state. If CRC error  
detected during configuration,  
FPGA drives INIT_B Low.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
73  
Product Specification  
R
Functional Description  
Table 49: Serial Master Mode Connections (Continued)  
Pin Name  
FPGA Direction  
Description  
During Configuration  
After Configuration  
DONE  
Open-drain  
FPGA Configuration Done. Low during Connects to PROM’s  
Pulled High via  
external pull-up.  
When High, indicates  
that the FPGA  
successfully  
bidirectional I/O configuration. Goes High when FPGA  
successfully completes configuration.  
Requires external 330 Ω pull-up resistor  
to 2.5V.  
chip-enable (CE) input.  
Enables PROM during  
configuration. Disables  
PROM after configuration.  
configured.  
PROG_B  
Input  
Program FPGA. Active Low. When  
asserted Low for 300 ns or longer, forces configuration to allow  
the FPGA to restart its configuration  
process by clearing configuration  
memory and resetting the DONE and  
Must be High during  
Drive PROG_B Low  
and release to  
reprogram FPGA.  
configuration to start.  
Connects to PROM’s CF pin,  
allowing JTAG PROM  
INIT_B pins once PROG_B returns High. programming algorithm to  
Requires external 4.7 kΩ pull-up resistor  
to 2.5V. If driving externally with a 3.3V  
output, use an open-drain or  
reprogram the FPGA.  
open-collector driver or use a current  
limiting series resistor.  
The XC3S1600E requires an 8 Mbit PROM. Two solutions  
are possible: either a single 8 Mbit XCF08P parallel/serial  
PROM or two 4 Mbit XCF04S serial PROMs cascaded. The  
Voltage Compatibility  
The PROM’s V  
supply must be either 3.3V for the  
CCINT  
serial XCFxxS Platform Flash PROMs or 1.8V for the  
serial/parallel XCFxxP PROMs.  
two XCF04S PROMs use a 3.3V V  
supply while the  
CCINT  
XCF08P requires a 1.8V V  
supply. If the board does  
CCINT  
V
The FPGA’s VCCO_2 supply input and the Platform  
not already have a 1.8V supply available, the two cascaded  
XCF04S PROM solution is recommended.  
Flash PROM’s V  
supply input must be the same volt-  
CCO  
age, ideally +2.5V. Both devices also support 1.8V and 3.3V  
interfaces but the FPGA’s PROG_B and DONE pins require  
special attention as they are powered by the FPGA’s  
CCLK Frequency  
In Master Serial mode, the FPGA’s internal oscillator gener-  
ates the configuration clock frequency. The FPGA provides  
this clock on its CCLK output pin, driving the PROM’s CLK  
input pin. The FPGA starts configuration at its lowest fre-  
quency and increases its frequency for the remainder of the  
configuration process if so specified in the configuration bit-  
stream. The maximum frequency is specified using the  
ConfigRate bitstream generator option. Table 51 shows the  
maximum ConfigRate settings, approximately equal to  
MHz, for various Platform Flash devices and I/O voltages.  
For the serial XCFxxS PROMs, the maximum frequency  
also depends on the interface voltage.  
V
supply, nominally 2.5V. See application note  
CCAUX  
XAPP453: The 3.3V Configuration of Spartan-3 FPGAs for  
additional information.  
Supported Platform Flash PROMs  
Table 50 shows the smallest available Platform Flash  
PROM to program one Spartan-3E FPGA. A multiple-FPGA  
daisy-chain application requires a Platform Flash PROM  
large enough to contain the sum of the various FPGA file  
sizes.  
Table 50: Number of Bits to Program a Spartan-3E  
FPGA and Smallest Platform Flash PROM  
Table 51: Maximum ConfigRate Settings for Platform  
Flash  
Number of  
Spartan-3E  
FPGA  
Configuration  
Bits  
SmallestAvailable  
Platform Flash  
Maximum  
ConfigRate  
Setting  
Platform Flash  
Part Number  
I/O Voltage  
(VCCO_2, V  
)
CCO  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
581,344  
1,353,728  
2,270,208  
3,841,184  
5,969,696  
XCF01S  
XCF02S  
XCF04S  
XCF04S  
XCF01S  
XCF02S  
XCF04S  
3.3V or 2.5V  
1.8V  
25  
12  
XCF08P  
XCF16P  
XCF32P  
3.3V, 2.5V, or 1.8V  
25  
XCF08P  
or 2 x XCF04S  
XC3S1600E  
74  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
CCLK  
+1.2V  
+1.2V  
XCFxxS = +3.3V  
XCFxxP = +1.8V  
VCCINT  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCINT  
VCCO_2  
DIN  
V
VCCO_2  
V
Slave  
Serial  
Mode  
D0  
VCCO  
V
Serial Master  
Mode  
CCLK  
DOUT  
INIT_B  
CLK  
‘0’  
‘0’  
‘0’  
M2  
M1  
M0  
‘1’  
‘1’  
‘1’  
M2  
M1  
M0  
DOUT  
INIT_B  
DOUT  
OE/RESET  
Platform Flash  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
XCFxx  
CE  
CF  
CEO  
CCLK  
DIN  
+2.5V  
JTAG  
VCCAUX  
+2.5V  
VCCJ  
TDO  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDI  
TDO  
TDI  
TDI  
TDO  
TMS  
TCK  
TDO  
TMS  
TCK  
TMS  
TCK  
TMS  
TCK  
V
+2.5V  
GND  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
PROG_B  
PROG_B  
Recommend  
open-drain  
driver  
TCK  
TMS  
DONE  
INIT_B  
DS312-2_45_102105  
Figure 52: Daisy-Chaining from Master Serial Mode  
is provided by the Xilinx iMPACT programming software  
and the associated Xilinx Parallel Cable IV, MultiPRO, or  
Platform Cable USB programming cables.  
Daisy-Chaining  
If the application requires multiple FPGAs with different con-  
figurations, then configure the FPGAs using a daisy chain,  
as shown in Figure 52. Use Master Serial mode  
(M[2:0] = <0:0:0>) for the FPGA connected to the Platform  
Flash PROM and Slave Serial mode (M[2:0] = <1:1:1>) for  
all other FPGAs in the daisy-chain. After the master  
FPGA—the FPGA on the left in the diagram—finishes load-  
ing its configuration data from the Platform Flash, the mas-  
ter device supplies data using its DOUT output pin to the  
next device in the daisy-chain, on the falling CCLK edge.  
Storing Additional User Data in Platform Flash  
After configuration, the FPGA application can continue to  
use the Master Serial interface pins to communicate with  
the Platform Flash PROM. If desired, use a larger Platform  
Flash PROM to hold additional non-volatile application  
data, such as MicroBlaze processor code, or other user  
data such as serial numbers and Ethernet MAC IDs. The  
FPGA first configures from Platform Flash PROM. Then  
using FPGA logic after configuration, the FPGA copies  
MicroBlaze code from Platform Flash into external DDR  
SDRAM for code execution.  
JTAG Interface  
Both the Spartan-3E FPGA and the Platform Flash PROM  
have a four-wire IEEE 1149.1/1532 JTAG port. Both devices  
share the TCK clock input and the TMS mode select input.  
The devices may connect in either order on the JTAG chain  
with the TDO output of one device feeding the TDI input of  
the following device in the chain. The TDO output of the last  
device in the JTAG chain drives the JTAG connector.  
See XAPP694: Reading User Data from Configuration  
PROMs and XAPP482: MicroBlaze Platform Flash/PROM  
Boot Loader and User Data Storage for specific details on  
how to implement such an interface.  
SPI Serial Flash Mode  
The JTAG interface on Spartan-3E FPGAs is powered by  
In SPI Serial Flash mode (M[2:0] = <0:0:1>), the Spartan-3E  
FPGA configures itself from an attached industry-standard  
SPI serial Flash PROM, as illustrated in Figure 53 and  
Figure 54. The FPGA supplies the CCLK output clock from  
its internal oscillator to the clock input of the attached SPI  
Flash PROM.  
the 2.5V V  
supply. Consequently, the PROM’s V  
CCAUX  
CCJ  
supply input must also be 2.5V. To create a 3.3V JTAG  
interface, please refer to application note XAPP453: The  
3.3V Configuration of Spartan-3 FPGAs for additional infor-  
mation.  
In-System Programming Support  
Both the FPGA and the Platform Flash PROM are in-sys-  
tem programmable via the JTAG chain. Download support  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
75  
Product Specification  
R
Functional Description  
+1.2V  
+3.3V  
SPI  
Serial  
Flash  
VCCINT  
P
P
HSWAP  
VCCO_0  
VCCO_0  
+3.3V  
I
VCC  
DATA_IN  
VCCO_2  
MOSI  
SPI Mode  
DIN  
DATA_OUT  
SELECT  
‘0’  
‘0’  
‘1’  
M2  
M1  
M0  
CSO_B  
WR_PROTECT  
HOLD  
W
‘1’  
CLOCK  
Variant Select  
Spartan-3E  
FPGA  
GND  
‘1’  
S
VS2  
VS1  
VS0  
+3.3V  
‘1’  
CCLK  
DOUT  
INIT_B  
+2.5V  
JTAG  
TDI  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDO  
TMS  
TCK  
TDO  
TMS  
TCK  
PROG_B  
DONE  
GND  
PROG_B  
Recommend  
open-drain  
driver  
DS312-2_46_103105  
Figure 53: SPI Flash PROM Interface for PROMs Supporting READ (0x03) and FAST_READ (0x0B) Commands  
S
Although SPI is a standard four-wire interface, various  
Figure 53 shows the general connection diagram for those  
SPI Flash PROMs that support the 0x03 READ command  
or the 0x0B FAST READ commands.  
available SPI Flash PROMs use different command proto-  
cols. The FPGA’s variant select pins, VS[2:0], define how  
the FPGA communicates with the SPI Flash, including  
which SPI Flash command the FPGA issues to start the  
read operation and the number of dummy bytes inserted  
before the FPGA expects to receive valid data from the SPI  
Flash. Table 52 shows the available SPI Flash PROMs  
expected to operate with Spartan-3E FPGAs. Other com-  
patible devices might work but have not been tested for suit-  
ability with Spartan-3E FPGAs. All other VS[2:0] values are  
reserved for future use. Consult the data sheet for the  
desired SPI Flash device to determine its suitability. The  
basic timing requirements and waveforms are provided in  
Serial Peripheral Interface (SPI) Configuration Timing in  
Module 3.  
Figure 54 shows the connection diagram for Atmel  
DataFlash serial PROMs, which also use an SPI-based pro-  
tocol. ‘B’-series DataFlash devices are limited to FPGA  
applications operating over the commercial temperature  
range. Industrial temperature range applications must use  
‘C’- or ‘D’-series DataFlash devices, which have a shorter  
DataFlash select setup time, because of the faster FPGA  
CCLK frequency at cold temperatures.  
Figure 57, page 84 demonstrates how to configure multiple  
FPGAs with different configurations, all stored in a single  
SPI Flash. The diagram uses standard SPI Flash memories  
but the same general technique applies for Atmel  
DataFlash.  
76  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
+1.2V  
+3.3V  
Atmel  
AT45DB  
DataFlash  
VCCINT  
P
P
HSWAP  
VCCO_0  
VCCO_0  
I
VCC  
VCCO_2  
MOSI  
+3.3V  
SI  
Power-on monitor is only required if  
SPI Mode  
DIN  
SO  
CS  
WP  
+3.3V (VCCO_2) supply is the last supply  
in power-on sequence, after VCCINT  
and VCCAUX. Must delay FPGA  
configuration for > 20 ms after SPI  
DataFlash reaches its minimum VCC.  
Force FPGA INIT_B input OR PROG_B  
input Low with an open-drain or open-  
collector driver.  
0’  
0’  
1’  
M2  
M1  
M0  
CSO_B  
W
‘1’  
RESET  
RDY/BUSY  
SCK  
Variant Select  
Spartan-3E  
FPGA  
1’  
1’  
0’  
VS2  
VS1  
VS0  
GND  
+3.3V  
+3.3V  
CCLK  
DOUT  
INIT_B  
Power-On  
Monitor  
INIT_B  
+2.5V  
JTAG  
+2.5V  
VCCAUX  
TDO  
+2.5V  
TDI  
TDI  
TMS  
TCK  
TDO  
TMS  
TCK  
or  
PROG_B  
DONE  
+3.3V  
GND  
Power-On  
Monitor  
PROG_B  
PROG_B  
Recommend  
open-drain  
driver  
DS312-2_50a_031706  
Figure 54: Atmel SPI-based DataFlash Configuration Interface  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
77  
Product Specification  
R
Functional Description  
Table 52: Variant Select Codes for Various SPI Serial Flash PROMs  
iMPACT  
Programming  
Support  
SPI Read  
Command  
Dummy  
Bytes  
VS2 VS1 VS0  
SPI Serial Flash Vendor  
SPI Flash Family  
M25Pxx  
STMicroelectronics (ST)  
Yes  
Yes  
M25PExx/M45PExx  
AT45DB ‘D’-Series  
Data Flash  
Atmel  
AT26 / AT25  
S33  
Intel  
Spansion (AMD, Fujitsu)  
Winbond (NexFlash)  
Macronix  
S25FLxxxA  
NX25 / W25  
MX25Lxxxx  
FAST READ (0x0B)  
(see Figure 53)  
1
1
1
1
SST25LFxxxA  
SST25VFxxxA  
Silicon Storage  
Technology (SST)  
Programmable  
Microelectronics Corp.  
(PMC)  
Pm25LVxxx  
AMIC Technology  
A25L  
Eon Silicon Solution, Inc. EN25  
M25Pxx  
STMicroelectronics (ST)  
Yes  
M25PExx/M45PExx  
S25FLxxxA  
Spansion (AMD, Fujitsu)  
Winbond (NexFlash)  
Macronix  
NX25 / W25  
MX25Lxxxx  
READ (0x03)  
1
0
1
0
(see Figure 53)  
SST25LFxxxA  
SST25VFxxxA  
SST25VFxxx  
Silicon Storage  
Technology (SST)  
Programmable  
Microelectronics Corp.  
(PMC)  
Pm25LVxxx  
AT45DB DataFlash  
READ ARRAY (0xE8)  
(see Figure 54)  
(use only ‘C’ or ‘D’  
Series for Industrial  
temperature range)  
1
1
0
4
Atmel Corporation  
Yes  
Others  
Reserved  
W
Table 53 shows the connections between the SPI Flash  
are not used by the FPGA during configuration. However,  
the HOLD pin must be High during the configuration pro-  
cess. The PROM’s write protect input must be High in order  
to write or program the Flash memory.  
PROM and the FPGA’s SPI configuration interface. Each  
SPI Flash PROM vendor uses slightly different signal nam-  
ing. The SPI Flash PROM’s write protect and hold controls  
78  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 53: Example SPI Flash PROM Connections and Pin Naming  
Silicon  
Storage  
Atmel  
SPI Flash Pin  
DATA_IN  
FPGA Connection  
STMicro  
NexFlash Technology  
DataFlash  
MOSI  
DIN  
D
Q
S
C
DI  
DO  
CS  
SI  
SI  
SO  
DATA_OUT  
SELECT  
SO  
CSO_B  
CCLK  
CE#  
SCK  
CS  
CLOCK  
CLK  
SCK  
Not required for FPGA configuration. Must be  
High to program SPI Flash. Optional  
connection to FPGA user I/O after  
configuration.  
WR_PROTECT  
W
WP  
WP#  
WP  
N/A  
W
Not required for FPGA configuration but must  
be High during configuration. Optional  
connection to FPGA user I/O after  
configuration. Not applicable to Atmel  
DataFlash.  
HOLD  
HOLD  
HOLD  
HOLD#  
(see Figure 53)  
Only applicable to Atmel DataFlash. Not  
required for FPGA configuration but must be  
High during configuration. Optional  
connection to FPGA user I/O after  
configuration. Do not connect to FPGA’s  
PROG_B as this will prevent direct  
programming of the DataFlash.  
RESET  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
RESET  
(see Figure 54)  
Only applicable to Atmel DataFlash and only  
available on certain packages. Not required  
for FPGA configuration. Output from  
DataFlash PROM. Optional connection to  
FPGA user I/O after configuration.  
RDY/BUSY  
RDY/BUSY  
(see Figure 54)  
The mode select pins, M[2:0], and the variant select pins,  
VS[2:0] are sampled when the FPGA’s INIT_B output goes  
High and must be at defined logic levels during this time.  
After configuration, when the FPGA’s DONE output goes  
High, these pins are all available as full-featured user-I/O  
pins.  
able the pull-up resistors. The HSWAP control must remain  
at a constant logic level throughout FPGA configuration.  
After configuration, when the FPGA’s DONE output goes  
High, the HSWAP pin is available as full-featured user-I/O  
pin and is powered by the VCCO_0 supply.  
In a single-FPGA application, the FPGA’s DOUT pin is not  
used but is actively driving during the configuration process.  
Similarly, the FPGA’s HSWAP pin must be Low to  
P
enable pull-up resistors on all user-I/O pins or High to dis-  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
79  
Product Specification  
R
Functional Description  
Table 54: Serial Peripheral Interface (SPI) Connections  
FPGA  
Pin Name  
Direction  
Description  
During Configuration  
After Configuration  
User I/O  
Input  
User I/O Pull-Up Control. When Low  
during configuration, enables pull-up  
resistors in all I/O pins to respective I/O  
bank VCCO input.  
Drive at valid logic level  
throughout configuration.  
HSWAP  
P
0: Pull-ups during configuration  
1: No pull-ups  
Input  
Input  
Mode Select. Selects the FPGA  
configuration mode. See Design  
Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins.  
M2 = 0, M1 = 0, M0 = 1.  
Sampled when INIT_B goes  
High.  
M[2:0]  
User I/O  
User I/O  
Variant Select. Instructs the FPGA how Must be at the logic levels  
VS[2:0]  
to communicate with the attached SPI  
Flash PROM. See Design  
shown in Table 52. Sampled  
when INIT_B goes High.  
S
Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins.  
Output  
Serial Data Output.  
FPGA sends SPI Flash memory  
read commands and starting  
address to the PROM’s serial  
data input.  
MOSI  
User I/O  
User I/O  
Input  
Serial Data Input.  
FPGA receives serial data from  
PROM’s serial data output.  
DIN  
Output  
Chip Select Output. Active Low.  
Connects to the SPI Flash  
PROM’s chip-select input. If  
HSWAP = 1, connect this signal  
to a 4.7 kΩ pull-up resistor to  
3.3V.  
CSO_B  
Drive CSO_B High after  
configuration to disable the  
SPI Flash and reclaim the  
MOSI, DIN, and CCLK pins.  
Optionally, re-use this pin  
and MOSI, DIN, and CCLK  
to continue communicating  
with SPI Flash.  
Output  
Configuration Clock. Generated by  
FPGA internal oscillator. Frequency  
controlled by ConfigRate bitstream  
generator option. If CCLK PCB trace is  
long or has multiple connections,  
terminate this output to maintain signal  
integrity. See CCLK Design  
Drives PROM’s clock input.  
CCLK  
User I/O  
Considerations.  
Output  
Serial Data Output.  
Actively drives. Not used in  
single-FPGA designs. In a  
daisy-chain configuration, this  
pin connects to DIN input of the  
next FPGA in the chain.  
DOUT  
User I/O  
80  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
After Configuration  
Table 54: Serial Peripheral Interface (SPI) Connections (Continued)  
FPGA  
Pin Name  
Direction  
Description  
During Configuration  
Open-drain Initialization Indicator. Active Low.  
bidirectional Goes Low at start of configuration during SPI Flash PROM requires > 2  
Active during configuration. If  
INIT_B  
User I/O. If unused in the  
application, drive INIT_B  
High.  
I/O  
Initialization memory clearing process.  
Released at end of memory clearing,  
when mode select pins are sampled. In  
daisy-chain applications, this signal  
requires an external 4.7 kΩ pull-up  
resistor to VCCO_2.  
ms to awake after powering on,  
hold INIT_B Low until PROM is  
ready. If CRC error detected  
during configuration, FPGA  
drives INIT_B Low.  
Open-drain FPGA Configuration Done. Low during Low indicates that the FPGA is  
DONE  
Pulled High via external  
pull-up. When High,  
indicates that the FPGA  
successfully configured.  
bidirectional configuration. Goes High when FPGA  
not yet configured.  
I/O  
successfully completes configuration.  
Requires external 330 Ωpull-up resistor  
to 2.5V.  
Input  
Program FPGA. Active Low. When  
Must be High to allow  
PROG_B  
Drive PROG_B Low and  
release to reprogram  
FPGA. Hold PROG_B to  
force FPGA I/O pins into  
Hi-Z, allowing direct  
asserted Low for 300 ns or longer, forces configuration to start.  
the FPGA to restart its configuration  
process by clearing configuration  
memory and resetting the DONE and  
INIT_B pins once PROG_B returns  
High. Requires external 4.7 kΩ pull-up  
resistor to 2.5V. If driving externally with  
a 3.3V output, use an open-drain or  
open-collector driver or use a current  
limiting series resistor.  
programming access to SPI  
Flash PROM pins.  
power supplies V  
, V  
, and V  
to I/O Bank 2  
CCO  
Voltage Compatibility  
CCINT CCAUX  
(VCCO_2) to reach their respective power-on thresholds  
Available SPI Flash PROMs use a single 3.3V supply volt-  
age. All of the FPGA’s SPI Flash interface signals are within  
I/O Bank 2. Consequently, the FPGA’s VCCO_2 supply  
voltage must also be 3.3V to match the SPI Flash PROM.  
before beginning the configuration process.  
The SPI Flash PROM is powered by the same voltage sup-  
ply feeding the FPGA's VCCO_2 voltage input, typically  
3.3V. SPI Flash PROMs specify that they cannot be  
Power-On Precautions if 3.3V Supply is Last in  
Sequence  
accessed until their V  
supply reaches its minimum data  
CC  
sheet voltage, followed by an additional delay. For some  
devices, this additional delay is as little as 10 µs as shown in  
Table 55. For other vendors, this delay is as much as 20 ms.  
Spartan-3E FPGAs have a built-in power-on reset (POR)  
circuit, as shown in Figure 66. The FPGA waits for its three  
Table 55: Example Minimum Power-On to Select Times for Various SPI Flash PROMs  
Data Sheet Minimum Time from V min to Select = Low  
SPI Flash PROM  
Part Number  
CC  
Vendor  
Symbol  
Value  
10  
Units  
μs  
STMicroelectronics  
Spansion  
M25Pxx  
S25FLxxxA  
NX25xx  
T
VSL  
t
10  
ms  
μs  
PU  
NexFlash  
T
10  
VSL  
VSL  
Macronix  
MX25Lxxxx  
SST25LFxx  
t
10  
μs  
Silicon Storage Technology  
T
10  
μs  
PU-READ  
Programmable  
Microelectronics Corporation  
Pm25LVxxx  
T
50  
μs  
VCS  
Atmel Corporation  
AT45DBxxxD  
AT45DBxxxB  
t
30  
20  
μs  
VCSL  
ms  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
81  
Product Specification  
R
Functional Description  
In many systems, the 3.3V supply feeding the FPGA's  
ever, if the 3.3V supply feeding the FPGA's VCCO_2 supply  
is last in the sequence, a potential race occurs between the  
FPGA and the SPI Flash PROM, as shown in Figure 55.  
VCCO_2 input is valid before the FPGA's other V  
and  
CCINT  
V
supplies, and consequently, there is no issue. How-  
CCAUX  
3.3V Supply  
SPI Flash cannot be selected  
SPI Flash PROM  
minimum voltage  
SPI Flash available for  
read operations  
SPI Flash  
PROM CS  
SPI Flash PROM must  
be ready for FPGA  
access, otherwise delay  
FPGA configuration  
FPGA VCCO_2 minimum  
Power On Reset Voltage  
(t  
)
delay  
VSL  
(VCCO2T  
)
FPGA accesses  
SPI Flash PROM  
FPGA initializes configuration  
(V  
, V  
CCINT CCAUX  
memory (TPOR  
)
already valid)  
Time  
DS312-2_50b_110206  
Figure 55: SPI Flash PROM/FPGA Power-On Timing if 3.3V Supply is Last in Power-On Sequence  
If the FPGA's V  
valid, then the FPGA waits for VCCO_2 to reach its mini-  
mum threshold voltage before starting configuration. This  
and V  
supplies are already  
CCAUX  
a SPI Flash PROM large enough to contain the sum of the  
FPGA file sizes. An application can also use a larger-den-  
sity SPI Flash PROM to hold additional data beyond just  
FPGA configuration data. For example, the SPI Flash  
PROM can also store application code for a MicroBlaze™  
RISC processor core integrated in the Spartan-3E FPGA.  
See Using the SPI Flash Interface after Configuration.  
CCINT  
threshold voltage is labeled as V  
in Table 73 of Mod-  
CCO2T  
ule 3 and ranges from approximately 0.4V to 1.0V, substan-  
tially lower than the SPI Flash PROM's minimum voltage.  
Once all three FPGA supplies reach their respective Power  
On Reset (POR) thresholds, the FPGA starts the configura-  
tion process and begins initializing its internal configuration  
Table 56: Number of Bits to Program a Spartan-3E  
FPGA and Smallest SPI Flash PROM  
memory. Initialization requires approximately 1 ms (T  
,
POR  
minimum in Table 110 of Module 3, after which the FPGA  
de-asserts INIT_B, selects the SPI Flash PROM, and starts  
sending the appropriate read command. The SPI Flash  
PROM must be ready for read operations at this time. Spar-  
tan-3E FPGAs issue the read command just once. If the SPI  
Flash is not ready, then the FPGA does not properly config-  
ure.  
Number of  
Configuration  
Bits  
Smallest Usable  
SPI Flash PROM  
Device  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
581,344  
1,353,728  
2,270,208  
3,841,184  
5,969,696  
1 Mbit  
2 Mbit  
4 Mbit  
4 Mbit  
8 Mbit  
If the 3.3V supply is last in the sequence and does not ramp  
fast enough, or if the SPI Flash PROM cannot be ready  
when required by the FPGA, delay the FPGA configuration  
process by holding either the FPGA's PROG_B input or  
INIT_B input Low, as highlighted in Figure 54. Release the  
FPGA when the SPI Flash PROM is ready. For example, a  
simple R-C delay circuit attached to the INIT_B pin forces  
the FPGA to wait for a preselected amount of time. Alter-  
nately, a Power Good signal from the 3.3V supply or a sys-  
tem reset signal accomplishes the same purpose. Use an  
open-drain or open-collector output when driving PROG_B  
or INIT_B.  
CCLK Frequency  
In SPI Flash mode, the FPGA’s internal oscillator generates  
the configuration clock frequency. The FPGA provides this  
clock on its CCLK output pin, driving the PROM’s clock  
input pin. The FPGA starts configuration at its lowest fre-  
quency and increases its frequency for the remainder of the  
configuration process if so specified in the configuration bit-  
stream. The maximum frequency is specified using the  
ConfigRate bitstream generator option. The maximum fre-  
quency supported by the FPGA configuration logic depends  
on the timing for the SPI Flash device. Without examining  
SPI Flash PROM Density Requirements  
Table 56 shows the smallest usable SPI Flash PROM to  
program a single Spartan-3E FPGA. Commercially avail-  
able SPI Flash PROMs range in density from 1 Mbit to 128  
Mbits. A multiple-FPGA daisy-chained application requires  
the timing for  
a
specific SPI Flash PROM, use  
82  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
ConfigRate = 12 or lower. SPI Flash PROMs that support  
the FAST READ command support higher data rates. Some  
such PROMs support up to ConfigRate = 25 and beyond  
but require careful data sheet analysis. See Serial Periph-  
eral Interface (SPI) Configuration Timing for more  
detailed timing analysis.  
FPGA application can store non-volatile application data  
within the SPI Flash PROM.  
The FPGA configuration data is stored starting at location 0.  
Store any additional data beginning in the next available  
SPI Flash PROM sector or page. Do not mix configuration  
data and user data in the same sector or page.  
Using the SPI Flash Interface after Configuration  
Similarly, the SPI bus can be expanded to additional SPI  
peripherals. Because SPI is a common industry-standard  
interface, various SPI-based peripherals are available, such  
as analog-to-digital (A/D) converters, digital-to-analog (D/A)  
converters, CAN controllers, and temperature sensors.  
However, if sufficient I/O pins are available in the applica-  
tion, Xilinx recommends creating a separate SPI bus to con-  
trol peripherals. Creating a second port reduces the loading  
on the CCLK and DIN pins, which are crucial for configura-  
tion.  
After the FPGA successfully completes configuration, all of  
the pins connected to the SPI Flash PROM are available as  
user-I/O pins.  
If not using the SPI Flash PROM after configuration, drive  
CSO_B High to disable the PROM. The MOSI, DIN, and  
CCLK pins are then available to the FPGA application.  
Because all the interface pins are user I/O after configura-  
tion, the FPGA application can continue to use the SPI  
Flash interface pins to communicate with the SPI Flash  
PROM, as shown in Figure 56. SPI Flash PROMs offer ran-  
dom-accessible, byte-addressable, read/write, non-volatile  
storage to the FPGA application.  
The MOSI, DIN, and CCLK pins are common to all SPI  
peripherals. Connect the select input on each additional SPI  
peripheral to one of the FPGA user I/O pins. If HSWAP = 0  
during configuration, the FPGA holds the select line High. If  
HSWAP = 1, connect the select line to +3.3V via an external  
4.7 kΩ pull-up resistor to avoid spurious read or write oper-  
ations. After configuration, drive the select line Low to select  
the desired SPI peripheral.  
SPI Flash PROMs are available in densities ranging from  
1 Mbit up to 128 Mbits. However, a single Spartan-3E  
FPGA requires less than 6 Mbits. If desired, use a larger  
SPI Flash PROM to contain additional non-volatile applica-  
tion data, such as MicroBlaze processor code, or other user  
data such as serial numbers and Ethernet MAC IDs. In the  
example shown in Figure 56, the FPGA configures from SPI  
Flash PROM. Then using FPGA logic after configuration,  
the FPGA copies MicroBlaze code from SPI Flash into  
external DDR SDRAM for code execution. Similarly, the  
During the configuration process, CCLK is controlled by the  
FPGA and limited to the frequencies generated by the  
FPGA. After configuration, the FPGA application can use  
other clock signals to drive the CCLK pin and can further  
optimize SPI-based communication.  
Refer to the individual SPI peripheral data sheet for specific  
interface and communication protocol requirements.  
Spartan-3E FPGA  
SPI Serial Flash PROM  
FFFFF  
User Data  
MOSI  
DATA_IN  
FPGA-based  
SPI Master  
MicroBlaze  
DIN  
DATA_OUT  
Code  
CCLK  
CLOCK  
FPGA  
Configuration  
CSO_B  
SELECT  
+3.3V  
0
User I/O  
SPI Peripherals  
- A/D Converter  
DATA_IN  
DATA_OUT  
CLOCK  
- D/A Converter  
- CAN Controller  
- Displays  
- Temperature Sensor  
- ASSP  
SELECT  
DS312-2_47_022806  
To other SPI slave peripherals  
Figure 56: Using the SPI Flash Interface After Configuration  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
www.xilinx.com  
83  
R
Functional Description  
serial Flash PROM is supported in Stepping 1 and later  
devices. It is not supported in Stepping 0 devices. Use SPI  
Flash mode (M[2:0] = <0:0:1>) for the FPGA connected to  
the Platform Flash PROM and Slave Serial mode  
(M[2:0] = <1:1:1>) for all other FPGAs in the daisy-chain.  
After the master FPGA—the FPGA on the left in the dia-  
gram—finishes loading its configuration data from the SPI  
Flash PROM, the master device uses its DOUT output pin  
to supply data to the next device in the daisy-chain, on the  
falling CCLK edge.  
Daisy-Chaining  
DESIGN NOTE:  
SPI mode daisy chains are supported only in  
Stepping 1 and later silicon versions.  
!
If the application requires multiple FPGAs with different con-  
figurations, then configure the FPGAs using a daisy chain,  
as shown in Figure 57. Daisy-chaining from a single SPI  
SPI-based daisy-chaining is  
only supported in Stepping 1.  
+1.2V  
!
CCLK  
+1.2V  
+3.3V  
SPI  
Serial  
VCCINT  
Flash  
VCCINT  
P
P
HSWAP  
VCCO_0  
VCCO_0  
+3.3V  
P
HSWAP  
VCCO_0  
VCCO_2  
VCCO_0  
+3.3V  
I
VCC  
DATA_IN  
VCCO_2  
MOSI  
Slave  
Serial  
Mode  
SPI Mode  
DIN  
DATA_OUT  
SELECT  
‘0’  
‘0’  
‘1’  
M2  
M1  
M0  
CSO_B  
‘1’  
‘1’  
‘1’  
M2  
M1  
M0  
W
WR_PROTECT  
HOLD  
‘1’  
CLOCK  
Variant Select  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
GND  
‘1’  
S
VS2  
VS1  
VS0  
‘1’  
CCLK  
DOUT  
INIT_B  
CCLK  
DIN  
DOUT  
DOUT  
INIT_B  
+2.5V  
JTAG  
VCCAUX  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDI  
TDO  
TDI  
TDO  
TMS  
TCK  
TDO  
TMS  
TCK  
TMS  
TCK  
+2.5V  
+3.3V  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
PROG_B  
PROG_B  
Recommend  
open-drain  
driver  
TCK  
TMS  
DONE  
INIT_B  
DS312-2_48_103105  
Figure 57: Daisy-Chaining from SPI Flash Mode (Stepping 1 and Later)  
drive the FPGA’s PROG_B input Low with an open-drain  
driver. This action places all FPGA I/O pins, including those  
attached to the SPI Flash, in high-impedance (Hi-Z). If the  
HSWAP input is Low, the I/Os have pull-up resistors to the  
Programming Support  
For successful daisy-chaining, the DONE_cycle configura-  
tion option must be set to cycle 5 or sooner. The default  
cycle is 4. See Table 68 and the Start-Up section for addi-  
tional information.  
V
input on their respective I/O bank. The external pro-  
CCO  
gramming hardware then has direct access to the SPI Flash  
pins. The programming access points are highlighted in the  
gray box in Figure 53, Figure 54, and Figure 57.  
I
In production applications, the SPI Flash PROM is usu-  
ally pre-programmed before it is mounted on the printed cir-  
cuit board. The Xilinx ISE development software produces  
industry-standard programming files that can be used with  
third-party gang programmers. Consult your specific SPI  
Flash vendor for recommended production programming  
solutions.  
Beginning with the Xilinx ISE 8.2i software release, the  
iMPACT programming utility provides direct, in-system pro-  
totype programming support for STMicro M25P-series SPI  
serial Flash PROMs and the Atmel AT45DB-series Data  
Flash PROMs using the Platform Cable USB, Xilinx Parallel  
IV, or other compatible programming cable.  
In-system programming support is available from some  
third-party PROM programmers using a socket adapter with  
attached wires. To gain access to the SPI Flash signals,  
84  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
unused. For configuration, the BPI interface does not  
require any specific Flash PROM features, such as boot  
block or a specific sector size.  
Byte-Wide Peripheral Interface (BPI) Parallel  
Flash Mode  
In  
Byte-wide  
Peripheral  
Interface  
(BPI)  
mode  
The BPI interface also functions with Xilinx parallel Platform  
Flash PROMs (XCFxxP), although the FPGA’s address  
lines are left unconnected.  
(M[2:0] = <0:1:0> or <0:1:1>), a Spartan-3E FPGA config-  
ures itself from an industry-standard parallel NOR Flash  
PROM, as illustrated in Figure 58. The FPGA generates up  
to a 24-bit address lines to access an attached parallel  
Flash. Only 20 address lines are generated for Spartan-3E  
FPGAs in the TQ144 package. Similarly, the XC3S100E  
FPGA in the CP132 package only has 20 address lines  
while the XC3S250E and XC3S500E FPGAs in the same  
package have 24 address lines. When using the VQ100  
package, the BPI mode is not available when using parallel  
NOR Flash, but is supported using parallel Platform Flash  
(XCFxxP).  
The BPI interface also works equally wells with other asyn-  
chronous memories that use a similar SRAM-style interface  
such as SRAM, NVRAM, EEPROM, EPROM, or masked  
ROM.  
NAND Flash memory is commonly used in memory cards  
for digital cameras. Spartan-3E FPGAs do not configure  
directly from NAND Flash memories.  
The FPGA’s internal oscillator controls the interface timing  
and the FPGA supplies the clock on the CCLK output pin.  
However, the CCLK signal is not used in single FPGA appli-  
cations. Similarly, the FPGA drives three pins Low during  
configuration (LDC[2:0]) and one pin High during configura-  
tion (HDC) to the PROM’s control inputs.  
The BPI configuration interface is primarily designed for  
standard parallel NOR Flash PROMs and supports both  
byte-wide (x8) and byte-wide/halfword (x8/x16) PROMs.  
The interface functions with halfword-only (x16) PROMs,  
but the upper byte in a portion of the PROM remains  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
85  
Product Specification  
R
Functional Description  
+1.2V  
V
VCCINT  
HSWAP  
VCCO_0  
VCCO_0  
P
I
VCCO  
VCCO_1  
LDC0  
V
x8 or  
CE#  
x8/x16  
Flash  
LDC1  
OE#  
HDC  
WE#  
BYTE#  
PROM  
LDC2  
Not available  
in VQ100  
package  
D
A[16:0]  
DQ[15:7]  
BPI Mode  
VCCO_2  
D[7:0]  
V
‘0’  
‘1’  
A
M2  
M1  
M0  
DQ[7:0]  
A[n:0]  
A[23:17]  
GND  
V
Spartan-3E  
FPGA  
BUSY  
CCLK  
‘0’  
‘0’  
CSI_B  
CSO_B  
INIT_B  
RDWR_B  
+2.5V  
JTAG  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDI  
TDO  
TMS  
TCK  
TDO  
TMS  
TCK  
PROG_B  
DONE  
GND  
PROG_B  
Recommend  
open-drain  
driver  
DS312-2_49_103105  
Figure 58: Byte-wide Peripheral Interface (BPI) Mode Configured from Parallel NOR Flash PROMs  
During configuration, the value of the M0 mode pin  
A
Table 57: BPI Addressing Control  
determines how the FPGA generates addresses, as shown  
Table 57. When M0 = 0, the FPGA generates addresses  
starting at 0 and increments the address on every falling  
CCLK edge. Conversely, when M0 = 1, the FPGA gener-  
ates addresses starting at 0xFF_FFFF (all ones) and decre-  
ments the address on every falling CCLK edge.  
M2  
M1  
M0 Start Address  
Addressing  
Incrementing  
Decrementing  
0
1
0
0
1
0xFF_FFFF  
86  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
This addressing flexibility allows the FPGA to share the par-  
allel Flash PROM with an external or embedded processor.  
Depending on the specific processor architecture, the pro-  
cessor boots either from the top or bottom of memory. The  
FPGA is flexible and boots from the opposite end of mem-  
ory from the processor. Only the processor or the FPGA  
can boot at any given time. The FPGA can configure first,  
holding the processor in reset or the processor can boot  
first, asserting the FPGA’s PROG_B pin.  
High, the HSWAP pin is available as full-featured user-I/O  
pin and is powered by the VCCO_0 supply.  
The RDWR_B and CSI_B must be Low throughout the con-  
figuration process. After configuration, these pins also  
become user I/O.  
In a single-FPGA application, the FPGA’s CSO_B and  
CCLK pins are not used but are actively driving during the  
configuration process. The BUSY pin is not used but also  
actively drives during configuration and is available as a  
user I/O after configuration.  
The mode select pins, M[2:0], are sampled when the  
FPGA’s INIT_B output goes High and must be at defined  
logic levels during this time. After configuration, when the  
FPGA’s DONE output goes High, the mode pins are avail-  
able as full-featured user-I/O pins.  
After configuration, all of the interface pins except DONE  
and PROG_B are available as user I/Os. Furthermore, the  
bidirectional SelectMAP configuration peripheral interface  
(see Slave Parallel Mode) is available after configuration.  
To continue using SelectMAP mode, set the Persist bit-  
stream generator option to Yes. An external host can then  
read and verify configuration data.  
Similarly, the FPGA’s HSWAP pin must be Low to  
P
enable pull-up resistors on all user-I/O pins or High to dis-  
able the pull-up resistors. The HSWAP control must remain  
at a constant logic level throughout FPGA configuration.  
After configuration, when the FPGA’s DONE output goes  
Table 58: Byte-Wide Peripheral Interface (BPI) Connections  
Pin Name  
FPGA Direction  
Description  
During Configuration  
After Configuration  
User I/O  
Input  
User I/O Pull-Up Control. When  
Drive at valid logic level  
HSWAP  
Low during configuration, enables throughout configuration.  
pull-up resistors in all I/O pins to  
P
respective I/O bank VCCO input.  
0: Pull-ups during configuration  
1: No pull-ups  
M[2:0]  
Input  
Mode Select. Selects the FPGA  
configuration mode. See Design  
Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins.  
M2 = 0, M1 = 1. Set M0 = 0 to  
start at address 0, increment  
addresses. Set M0 = 1 to start at  
address 0xFFFFFF and  
User I/O  
A
decrement addresses. Sampled  
when INIT_B goes High.  
CSI_B  
Input  
Input  
Chip Select Input. Active Low.  
Must be Low throughout  
configuration.  
User I/O. If bitstream  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
RDWR_B  
LDC0  
Read/Write Control. Active Low  
write enable. Read functionality  
typically only used after  
configuration, if bitstream option  
Persist=Yes.  
Must be Low throughout  
configuration.  
User I/O. If bitstream  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
Output  
PROM Chip Enable  
Connect to PROM chip-select  
input (CE#). FPGA drives this  
signal Low throughout  
configuration.  
User I/O. If the FPGA does  
not access the PROM after  
configuration, drive this pin  
High to deselect the  
PROM. A[23:0], D[7:0],  
LDC[2:1], and HDC then  
become available as user  
I/O.  
LDC1  
Output  
PROM Output Enable  
Connect to the PROM  
User I/O  
output-enable input (OE#). The  
FPGA drives this signal Low  
throughout configuration.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
87  
Product Specification  
R
Functional Description  
Table 58: Byte-Wide Peripheral Interface (BPI) Connections (Continued)  
Pin Name  
HDC  
FPGA Direction  
Description  
PROM Write Enable  
During Configuration  
After Configuration  
User I/O  
Output  
Connect to PROM write-enable  
input (WE#). FPGA drives this  
signal High throughout  
configuration.  
LDC2  
D
Output  
Output  
PROM Byte Mode  
This signal is not used for x8  
PROMs. For PROMs with a x8/x16 High after configuration to  
data width control, connect to use a x8/x16 PROM in x16  
PROM byte-mode input (BYTE#). mode.  
See Precautions Using x8/x16  
Flash PROMs. FPGA drives this  
signal Low throughout  
User I/O. Drive this pin  
configuration.  
A[23:0]  
Address  
Connect to PROM address inputs. User I/O  
High-order address lines may not  
be available in all packages and  
not all may be required. Number of  
address lines required depends  
on the size of the attached Flash  
PROM. FPGA address generation  
controlled by M0 mode pin.  
Addresses presented on falling  
CCLK edge.  
Only 20 address lines are  
available in TQ144 package.  
D[7:0]  
Input  
Data Input  
FPGA receives byte-wide data on User I/O. If bitstream  
these pins in response the  
address presented on A[23:0].  
Data captured by FPGA  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
CSO_B  
Output  
Chip Select Output. Active Low.  
Not used in single FPGA  
User I/O  
applications. In a daisy-chain  
configuration, this pin connects to  
the CSI_B pin of the next FPGA in  
the chain. If HSWAP = 1 in a  
multi-FPGA daisy-chain  
application, connect this signal to  
a 4.7 kΩ pull-up resistor to  
VCCO_2. Actively drives Low  
when selecting a downstream  
device in the chain.  
BUSY  
CCLK  
Output  
Output  
Busy Indicator. Typically only  
used after configuration, if  
bitstream option Persist=Yes.  
Not used during configuration but User I/O. If bitstream  
actively drives.  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
Configuration Clock. Generated Not used in single FPGA  
User I/O. If bitstream  
by FPGA internal oscillator.  
applications but actively drives. In option Persist=Yes,  
Frequency controlled by  
a daisy-chain configuration, drives becomes part of  
ConfigRate bitstream generator  
the CCLK inputs of all other  
SelectMap parallel  
peripheral interface.  
option. If CCLK PCB trace is long or FPGAs in the daisy-chain.  
hasmultipleconnections, terminate  
this output to maintain signal  
integrity. See CCLK Design  
Considerations.  
88  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
After Configuration  
Table 58: Byte-Wide Peripheral Interface (BPI) Connections (Continued)  
Pin Name  
FPGA Direction  
Description  
During Configuration  
INIT_B  
Open-drain  
Initialization Indicator. Active  
Active during configuration. If CRC User I/O. If unused in the  
bidirectional I/O Low. Goes Low at start of  
configuration during the  
error detected during  
configuration, FPGA drives  
INIT_B Low.  
application, drive INIT_B  
High.  
Initialization memory clearing  
process. Released at the end of  
memory clearing, when the mode  
select pins are sampled. In  
daisy-chain applications, this signal  
requires an external 4.7 kΩ pull-up  
resistor to VCCO_2.  
DONE  
Open-drain  
FPGA Configuration Done. Low  
Low indicates that the FPGA is not Pulled High via external  
bidirectional I/O during configuration. Goes High  
when FPGA successfully  
yet configured.  
pull-up. When High,  
indicates that the FPGA is  
successfully configured.  
completes configuration. Requires  
external 330 Ω pull-up resistor to  
2.5V.  
PROG_B  
Input  
Program FPGA. Active Low. When Must be High to allow  
asserted Low for 300 ns or longer, configuration to start.  
forces the FPGA to restart its  
configuration process by clearing  
configuration memory and  
Drive PROG_B Low and  
release to reprogram  
FPGA. Hold PROG_B to  
force FPGA I/O pins into  
Hi-Z, allowing direct  
resetting the DONE and INIT_B  
pins once PROG_B returns High.  
Requires external 4.7 kΩ pull-up  
resistor to 2.5V. If driving externally  
with a 3.3V output, use an  
programming access to  
Flash PROM pins.  
open-drain or open-collector driver  
or use a current limiting series  
resistor.  
cautions if 3.3V Supply is Last in Sequence for a similar  
description of the issue for SPI Flash PROMs.  
Voltage Compatibility  
V
The FPGA’s parallel Flash interface signals are within  
I/O Banks 1 and 2. The majority of parallel Flash PROMs  
use a single 3.3V supply voltage. Consequently, in most  
cases, the FPGA’s VCCO_1 and VCCO_2 supply voltages  
must also be 3.3V to match the parallel Flash PROM. There  
are some 1.8V parallel Flash PROMs available and the  
FPGA interfaces with these devices if the VCCO_1 and  
VCCO_2 supplies are also 1.8V.  
Supported Parallel NOR Flash PROM Densities  
Table 59 indicates the smallest usable parallel Flash PROM  
to program a single Spartan-3E FPGA. Parallel Flash den-  
sity is specified in bits but addressed as bytes. The FPGA  
presents up to 24 address lines during configuration but not  
all are required for single FPGA applications. Table 59  
shows the minimum required number of address lines  
between the FPGA and parallel Flash PROM. The actual  
number of address line required depends on the density of  
the attached parallel Flash PROM.  
Power-On Precautions if PROM Supply is Last in  
Sequence  
Like SPI Flash PROMs, parallel Flash PROMs typically  
require some amount of internal initialization time when the  
supply voltage reaches its minimum value.  
A multiple-FPGA daisy-chained application requires a paral-  
lel Flash PROM large enough to contain the sum of the  
FPGA file sizes. An application can also use a larger-density  
parallel Flash PROM to hold additional data beyond just  
FPGA configuration data. For example, the parallel Flash  
PROM can also contain the application code for a MicroBlaze  
RISC processor core implemented within the Spartan-3E  
FPGA. After configuration, the MicroBlaze processor can  
execute directly from external Flash or can copy the code to  
other, faster system memory before executing the code.  
The PROM supply voltage also connects to the FPGA’s  
VCCO_2 supply input. In many systems, the PROM supply  
feeding the FPGA’s VCCO_2 input is valid before the  
FPGA’s other V  
and V  
supplies, and conse-  
CCINT  
CCAUX  
quently, there is no issue. However, if the PROM supply is  
last in the sequence, a potential race occurs between the  
FPGA and the parallel Flash PROM. See Power-On Pre-  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
89  
Product Specification  
R
Functional Description  
Table 59: Number of Bits to Program a Spartan-3E FPGA and Smallest Parallel Flash PROM  
Uncompressed  
File Sizes (bits)  
Smallest Usable  
Parallel Flash PROM  
Minimum Required  
Address Lines  
Spartan-3E FPGA  
XC3S100E  
581,344  
1,353,728  
2,270,208  
3,841,184  
5,969,696  
1 Mbit  
2 Mbit  
4 Mbit  
4 Mbit  
8 Mbit  
A[16:0]  
A[17:0]  
A[18:0]  
A[18:0]  
A[19:0]  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
ature operating range. See Byte Peripheral Interface (BPI)  
Configuration Timing (Module 3) for more detailed infor-  
mation. Despite using slower ConfigRate settings, BPI  
mode is equally fast as the other configuration modes. In  
BPI mode, data is accessed at the ConfigRate frequency  
and internally serialized with an 8X clock frequency.  
Compatible Flash Families  
The Spartan-3E BPI configuration interface operates with a  
wide variety of x8 or x8/x16 parallel NOR Flash devices.  
Table 60 provides a few Flash memory families that operate  
with the Spartan-3E BPI interface. Consult the data sheet  
for the desired parallel NOR Flash to determine its suitabil-  
ity The basic timing requirements and waveforms are pro-  
vided in Byte Peripheral Interface (BPI) Configuration  
Timing (Module 3).  
Using the BPI Interface after Configuration  
After the FPGA successfully completes configuration, all  
pins connected to the parallel Flash PROM are available as  
user I/Os.  
Table 60: Compatible Parallel NOR Flash Families  
If not using the parallel Flash PROM after configuration,  
drive LDC0 High to disable the PROM’s chip-select input.  
The remainder of the BPI pins then become available to the  
FPGA application, including all 24 address lines, the eight  
data lines, and the LDC2, LDC1, and HDC control pins.  
Flash Vendor  
ST Microelectronics  
Atmel  
Flash Memory Family  
M29W  
AT29 / AT49  
Am29 / S29  
J3D StrataFlash  
MX29  
Spansion (AMD, Fujitsu)  
Intel  
Because all the interface pins are user I/Os after configura-  
tion, the FPGA application can continue to use the interface  
pins to communicate with the parallel Flash PROM. Parallel  
Flash PROMs are available in densities ranging from 1 Mbit  
up to 128 Mbits and beyond. However, a single Spartan-3E  
FPGA requires less than 6 Mbits for configuration. If  
desired, use a larger parallel Flash PROM to contain addi-  
tional non-volatile application data, such as MicroBlaze pro-  
cessor code, or other user data, such as serial numbers and  
Ethernet MAC IDs. In such an example, the FPGA config-  
ures from parallel Flash PROM. Then using FPGA logic  
after configuration, a MicroBlaze processor embedded  
within the FPGA can either execute code directly from par-  
allel Flash PROM or copy the code to external DDR  
SDRAM and execute from DDR SDRAM. Similarly, the  
FPGA application can store non-volatile application data  
within the parallel Flash PROM.  
Macronix  
CCLK Frequency  
In BPI mode, the FPGA’s internal oscillator generates the  
configuration clock frequency that controls all the interface  
timing. The FPGA starts configuration at its lowest fre-  
quency and increases its frequency for the remainder of the  
configuration process if so specified in the configuration bit-  
stream. The maximum frequency is specified using the  
ConfigRate bitstream generator option.  
Table 61: Maximum ConfigRate Settings for Parallel  
Flash PROMs (Commercial Temperature Range)  
Maximum ConfigRate  
The FPGA configuration data is stored starting at either at  
location 0 or the top of memory (addresses all ones) or at  
both locations for MultiBoot mode. Store any additional data  
beginning in other available parallel Flash PROM sectors.  
Do not mix configuration data and user data in the same  
sector.  
Flash Read Access Time  
< 250 ns  
Setting  
3
6
< 115 ns  
< 45 ns  
12  
Similarly, the parallel Flash PROM interface can be  
expanded to additional parallel peripherals.  
Table 61 shows the maximum ConfigRate settings for vari-  
ous PROM read access times over the Commercial temper-  
90  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
The address, data, and LDC1 (OE#) and HDC (WE#) con-  
trol signals are common to all parallel peripherals. Connect  
the chip-select input on each additional peripheral to one of  
the FPGA user I/O pins. If HSWAP = 0 during configuration,  
the FPGA holds the chip-select line High via an internal  
pull-up resistor. If HSWAP = 1, connect the select line to  
+3.3V via an external 4.7 kΩ pull-up resistor to avoid spuri-  
ous read or write operations. After configuration, drive the  
select line Low to select the desired peripheral. Refer to the  
individual peripheral data sheet for specific interface and  
communication protocol requirements.  
FPGA supports either x8 or x16 modes. In x16 mode, up to  
eight additional user I/O pins are required for the upper data  
bits, D[15:8].  
Connecting a Spartan-3E FPGA to a x8/x16 Flash PROM is  
simple, but does require a precaution. Various Flash PROM  
vendors use slightly different interfaces to support both x8  
and x16 modes. Some vendors (Intel, Micron, some STMi-  
croelectronics devices) use a straightforward interface with  
pin naming that matches the FPGA connections. However,  
the PROM’s A0 pin is wasted in x16 applications and a sep-  
arate FPGA user-I/O pin is required for the D15 data line.  
Fortunately, the FPGA A0 pin is still available as a user I/O  
after configuration, even though it connects to the Flash  
PROM.  
The FPGA optionally supports a 16-bit peripheral interface  
by driving the LDC2 (BYTE#) control pin High after configu-  
ration. See Precautions Using x8/x16 Flash PROMs for  
additional information.  
Other vendors (AMD, Atmel, Silicon Storage Technology,  
some STMicroelectronics devices) use a pin-efficient inter-  
face but change the function of one pin, called IO15/A-1,  
depending if the PROM is in x8 or x16 mode. In x8 mode,  
BYTE# = 0, this pin is the least-significant address line. The  
A0 address line selects the halfword location. The A-1  
address line selects the byte location. When in x16 mode,  
BYTE# = 1, the IO15/A-1 pin becomes the most-significant  
data bit, D15 because byte addressing is not required in this  
mode. Check to see if the Flash PROM has a pin named  
“IO15/A-1” or “DQ15/A-1”. If so, be careful to connect  
x8/x16 Flash PROMs correctly, as shown in Table 62. Also,  
remember that the D[14:8] data connections require FPGA  
user I/O pins but that the D15 data is already connected for  
the FPGA’s A0 pin.  
The FPGA provides up to 24 address lines during configu-  
ration, addressing up to 128 Mbits (16 Mbytes). If using a  
larger parallel PROM, connect the upper address lines to  
FPGA user I/O. During configuration, the upper address  
lines will be pulled High if HSWAP = 0. Otherwise, use  
external pull-up or pull-down resistors on these address  
lines to define their values during configuration.  
Precautions Using x8/x16 Flash PROMs  
D
Most low- to mid-density PROMs are byte-wide (x8)  
only. Many higher-density Flash PROMs support both  
byte-wide (x8) and halfword-wide (x16) data paths and  
include a mode input called BYTE# that switches between  
x8 or x16. During configuration, Spartan-3E FPGAs only  
support byte-wide data. However, after configuration, the  
Table 62: FPGA Connections to Flash PROM with IO15/A-1 Pin  
Connection to Flash PROM with  
IO15/A-1 Pin  
x8 Flash PROM Interface After x16 Flash PROM Interface After  
FPGA Pin  
FPGA Configuration  
FPGA Configuration  
LDC2  
BYTE#  
Drive LDC2 Low or leave  
unconnected and tie PROM  
BYTE# input to GND  
Drive LCD2 High  
LDC1  
LDC0  
HDC  
OE#  
CS#  
WE#  
Active-Low Flash PROM  
output-enable control  
Active-Low Flash PROM  
output-enable control  
Active-Low Flash PROM  
chip-select control  
Active-Low Flash PROM  
chip-select control  
Flash PROM write-enable  
control  
Flash PROM write-enable control  
A[23:1]  
A0  
A[n:0]  
A[n:0]  
A[n:0]  
IO15/A-1  
IO15/A-1 is the least-significant IO15/A-1 is the most-significant  
address input  
data line, IO15  
D[7:0]  
IO[7:0]  
IO[7:0]  
IO[7:0]  
User I/O  
Upper data lines IO[14:8] not  
required unless used as x16 Flash  
interface after configuration  
Upper data lines IO[14:8] not  
required  
IO[14:8]  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
91  
Product Specification  
R
Functional Description  
Some x8/x16 Flash PROMs have a long setup time require-  
ment on the BYTE# signal. For the FPGA to configure cor-  
rectly, the PROM must be in x8 mode with BYTE# = 0 at  
power-on or when the FPGA’s PROG_B pin is pulsed Low.  
If required, extend the BYTE# setup time for a 3.3V PROM  
using an external 680 Ω pull-down resistor on the FPGA’s  
LDC2 pin or by delaying assertion of the CSI_B select input  
to the FPGA.  
device (Bank 1 and Bank 2, respectively). These pins are  
not easily reclaimable for clock inputs after configuration,  
especially if the FPGA application access the parallel NOR  
Flash after configuration. Table 63 summarizes the shared  
pins.  
Table 63: Shared BPI Configuration Mode and Global  
Buffer Input Pins  
Device  
Edge  
Global Buffer  
Input Pin  
BPI Mode  
Configuration Pin  
Daisy-Chaining  
GCLK0  
GCLK2  
RDWR_B  
D2  
DESIGN NOTE:  
BPI mode daisy chain software support is available  
starting in ISE 8.2i.  
!
GCLK3  
D1  
Answer Record #23061  
www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath  
=23061  
Bottom  
GCLK12  
GCLK13  
GCLK14  
GCLK15  
RHCLK0  
RHCLK1  
RHCLK2  
RHCLK3  
RHCLK4  
RHCLK5  
RHCLK6  
RHCLK7  
D7  
D6  
Also, in a multi-FPGA daisy-chain configuration of  
more than two devices, all intermediate FPGAs  
between the first and last devices must be Spartan-3E  
or Virtex-5 FPGAs. The last FPGA in the chain can be  
from any Xilinx FPGA family.  
D4  
D3  
A10  
A9  
If the application requires multiple FPGAs with different con-  
figurations, then configure the FPGAs using a daisy chain,  
as shown in Figure 59. Use BPI mode (M[2:0] = <0:1:0> or  
<0:1:1>) for the FPGA connected to the parallel NOR Flash  
PROM and Slave Parallel mode (M[2:0] = <1:1:0>) for all  
downstream FPGAs in the daisy-chain. If there are more  
than two FPGAs in the chain, then last FPGA in the chain  
can be from any Xilinx FPGA family. However, all interme-  
diate FPGAs located in the chain between the first and last  
FPGAs must from either the Spartan-3E or Virtex™-5  
FPGA families.  
A8  
A7  
Right  
A6  
A5  
A4  
A3  
After the master FPGA—the FPGA on the left in the dia-  
gram—finishes loading its configuration data from the paral-  
lel Flash PROM, the master device continues generating  
addresses to the Flash PROM and asserts its CSO_B out-  
put Low, enabling the next FPGA in the daisy-chain. The  
next FPGA then receives parallel configuration data from  
the Flash PROM. The master FPGA’s CCLK output syn-  
chronizes data capture.  
Stepping 0 Limitations when Reprogramming via  
JTAG if FPGA Set for BPI Configuration  
The FPGA can always be reprogrammed via the JTAG port,  
regardless of the mode pin (M[2:0]) settings. However,  
Stepping 0 devices have a minor limitation. If a Stepping 0  
FPGA is set to configure in BPI mode and the FPGA is  
attached to a parallel memory containing a valid FPGA con-  
figuration file, then subsequent reconfigurations using the  
JTAG port will fail. Potential workarounds include setting the  
mode pins for JTAG configuration (M[2:0] = <1:0:1>) or off-  
setting the initial memory location in Flash by 0x2000.  
If HSWAP = 1, an external 4.7kΩ pull-up resistor must be  
added on the CSO_B pin. If HSWAP = 0, no external pull-up  
is necessary.  
BPI Mode Interaction with Right and Bottom Edge  
Global Clock Inputs  
Stepping 1 and later devices fully support JTAG configura-  
tion even when the FPGA mode pins are set for BPI mode.  
Some of the BPI mode configuration pins are shared with  
global clock inputs along the right and bottom edges of the  
92  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
CCLK  
D[7:0]  
+1.2V  
+1.2V  
V
VCCINT  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCO_1  
I
VCC  
VCCO_1  
LDC0  
V
VCCO_1  
CE#  
x8 or  
x8/x16  
Flash  
LDC1  
OE#  
HDC  
WE#  
BYTE#  
PROM  
LDC2  
Not available  
in VQ100  
package  
D
A[16:0]  
Slave  
Parallel  
Mode  
DQ[15:7]  
BPI Mode  
VCCO_2  
D[7:0]  
VCCO_2  
V
V
‘0’  
‘1’  
A
M2  
M1  
M0  
DQ[7:0]  
A[n:0]  
‘1’  
‘1’  
‘0’  
M2  
M1  
M0  
D[7:0]  
A[23:17]  
GND  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
BUSY  
CCLK  
BUSY  
CCLK  
‘0’  
‘0’  
CSI_B  
CSO_B  
INIT_B  
CSI_B  
CSO_B  
CSO_B  
RDWR_B  
‘0’  
RDWR_B  
INIT_B  
2.5V  
JTAG  
VCCAUX  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDI  
TDO  
TDI  
TDO  
TMS  
TCK  
TDO  
TMS  
TCK  
TMS  
TCK  
V
+2.5V  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
PROG_B  
PROG_B  
Recommend  
open-drain  
driver  
TCK  
TMS  
DONE  
INIT_B  
DS312-2_50_103105  
Figure 59: Daisy-Chaining from BPI Flash Mode  
In-System Programming Support  
Dynamically Loading Multiple Configuration  
Images Using MultiBoot Option  
I
In a production application, the parallel Flash PROM is  
usually preprogrammed before it is mounted on the printed  
circuit board. In-system programming support is available  
from third-party boundary-scan tool vendors and from some  
third-party PROM programmers using a socket adapter with  
attached wires. To gain access to the parallel Flash signals,  
drive the FPGA’s PROG_B input Low with an open-drain  
driver. This action places all FPGA I/O pins, including those  
attached to the parallel Flash, in high-impedance (Hi-Z). If  
the HSWAP input is Low, the I/Os have pull-up resistors to  
After the FPGA configures itself using BPI mode from one  
end of the parallel Flash PROM, then the FPGA can trigger  
a MultiBoot event and reconfigure itself from the opposite  
end of the parallel Flash PROM. MultiBoot is only available  
when using BPI mode and only for applications with a single  
Spartan-3E FPGA.  
By default, MultiBoot mode is disabled. To trigger a Multi-  
Boot event, assert a Low pulse lasting at least 300 ns on the  
MultiBoot  
Trigger  
(MBT)  
input  
to  
the  
the V  
input on their respective I/O bank. The external  
CCO  
STARTUP_SPARTAN3E library primitive. When the MBT  
signal returns High after the 300 ns or longer pulse, the  
FPGA automatically reconfigures from the opposite end of  
the parallel Flash memory.  
programming hardware then has direct access to the paral-  
lel Flash pins. The programming access points are high-  
lighted in the gray boxes in Figure 58 and Figure 59.  
The FPGA itself can also be used as a parallel Flash PROM  
programmer during development and test phases. Initially,  
an FPGA-based programmer is downloaded into the FPGA  
via JTAG. Then the FPGA performs the Flash PROM pro-  
gramming algorithms and receives programming data from  
the host via the FPGA’s JTAG interface. See Chapter 11 in  
Embedded System Tools Reference Manual.  
Figure 60 shows an example usage. At power up, the FPGA  
loads itself from the attached parallel Flash PROM. In this  
example, the M0 mode pin is Low so the FPGA starts at  
address 0 and increments through the Flash PROM mem-  
ory locations. After the FPGA completes configuration, the  
application initially loaded into the FPGA performs a  
board-level or system test using FPGA logic. If the test is  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
93  
Product Specification  
R
Functional Description  
successful, the FPGA then triggers a MultiBoot event, caus-  
ing the FPGA to reconfigure from the opposite end of the  
Flash PROM memory. This second configuration contains  
the FPGA application for normal operation.  
Similarly, the general FPGA application could trigger  
another MultiBoot event at any time to reload the diagnos-  
tics design, and so on.  
Parallel Flash PROM  
Parallel Flash PROM  
FFFFFF  
FFFFFF  
General  
FPGA  
General  
FPGA  
Application  
Application  
STARTUP_SPARTAN3E  
GSR  
User Area  
GTS  
MBT  
User Area  
> 300 ns  
CLK  
Diagnostics  
FPGA  
Application  
Diagnostics  
FPGA  
Application  
Reconfigure  
0
0
First Configuration  
Second Configuration  
DS312-2_51_103105  
Figure 60: Use MultiBoot to Load Alternate Configuration Images  
In another potential application, the initial design loaded into  
the FPGA image contains a “golden” or “fail-safe” configura-  
tion image, which then communicates with the outside  
world and checks for a newer image. If there is a new con-  
figuration revision and the new image verifies as good, the  
“golden” configuration triggers a MultiBoot event to load the  
new image.  
ever, the FPGA does not assert the PROG_B pin. The sys-  
tem design must ensure that no other device drives on  
these same pins during the reconfiguration process. The  
FPGA’s DONE, LDC[2:0], or HDC pins can temporarily dis-  
able any conflicting drivers during reconfiguration.  
Asserting the PROG_B pin Low overrides the MultiBoot fea-  
ture and forces the FPGA to reconfigure starting from the  
end of memory defined by the mode pins, shown in  
Table 57.  
When a MultiBoot event is triggered, the FPGA then again  
drives its configuration pins as described in Table 58. How-  
94  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
+1.2V  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
Slave  
Parallel  
Mode  
VCCO_2  
V
V
‘1’  
‘1’  
‘0’  
M2  
M1  
M0  
Intelligent  
Download Host  
V
VCC  
Spartan-3E  
FPGA  
D[7:0]  
D[7:0]  
BUSY  
CSI_B  
Configuration  
Memory  
BUSY  
SELECT  
Source  
CSO_B  
READ/WRITE  
CLOCK  
RDWR_B  
CCLK  
INIT_B  
- Internal memory  
- Disk drive  
- Over network  
- Over RF link  
PROG_B  
DONE  
VCCAUX  
+2.5V  
INIT_B  
TDI  
TDO  
TMS  
TCK  
GND  
+2.5V  
- Microcontroller  
- Processor  
- Tester  
PROG_B  
DONE  
GND  
- Computer  
PROG_B  
Recommend  
open-drain  
driver  
+2.5V  
JTAG  
TDI  
TMS  
TCK  
TDO  
DS312-2_52_103105  
Figure 61: Slave Parallel Configuration Mode  
BUSY High, the host must hold the data for an additional  
clock cycle, until BUSY returns Low. If the CCLK frequency  
is 50 MHz or below, the BUSY pin may be ignored but  
actively drives during configuration.  
Slave Parallel Mode  
In Slave Parallel mode (M[2:0] = <1:1:0>), an external host,  
such as a microprocessor or microcontroller, writes  
byte-wide configuration data into the FPGA, using a typical  
peripheral interface as shown in Figure 61.  
The configuration process requires more clock cycles than  
indicated from the configuration file size. Additional clocks  
are required during the FPGA’s start-up sequence, espe-  
cially if the FPGA is programmed to wait for selected Digital  
Clock Managers (DCMs) to lock to their respective clock  
inputs (see Start-Up, page 107).  
The external download host starts the configuration process  
by pulsing PROG_B and monitoring that the INIT_B pin  
goes High, indicating that the FPGA is ready to receive its  
first data. The host asserts the active-Low chip-select signal  
(CSI_B) and the active-Low Write signal (RDWR_B). The  
host then continues supplying data and clock signals until  
either the FPGA’s DONE pin goes High, indicating a suc-  
cessful configuration, or until the FPGA’s INIT_B pin goes  
Low, indicating a configuration error.  
If the Slave Parallel interface is only used to configure the  
FPGA, never to read data back, then the RDWR_B signal  
can also be eliminated from the interface. However,  
RDWR_B must remain Low during configuration.  
After configuration, all of the interface pins except DONE  
and PROG_B are available as user I/Os. Alternatively, the  
bidirectional SelectMAP configuration interface is available  
The FPGA captures data on the rising CCLK edge. If the  
CCLK frequency exceeds 50 MHz, then the host must also  
monitor the FPGA’s BUSY output. If the FPGA asserts  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
95  
Product Specification  
R
Functional Description  
after configuration. To continue using SelectMAP mode, set  
the Persist bitstream generator option to Yes. The external  
host can then read and verify configuration data.  
mode configuration; all the downstream daisy-chain FPGAs  
are set for Slave Parallel configuration, as highlighted in  
Figure 59.  
The Slave Parallel mode is also used with BPI mode to cre-  
ate multi-FPGA daisy-chains. The lead FPGA is set for BPI  
Table 64: Slave Parallel Mode Connections  
Pin Name  
FPGA Direction  
Description  
During Configuration  
After Configuration  
User I/O  
HSWAP  
Input  
User I/O Pull-Up Control. When  
Low during configuration, enables  
pull-up resistors in all I/O pins to  
respective I/O bank VCCO input.  
Drive at valid logic level  
throughout configuration.  
0: Pull-ups during configuration  
1: No pull-ups  
M[2:0]  
D[7:0]  
Input  
Input  
Mode Select. Selects the FPGA  
configuration mode. See Design  
Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins.  
M2 = 1, M1 = 1, M0 = 0 Sampled User I/O  
when INIT_B goes High.  
Data Input.  
Byte-wide data provided by host. User I/O. If bitstream  
FPGA captures data on rising  
CCLK edge.  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
BUSY  
Output  
Busy Indicator.  
If CCLK frequency is < 50 MHz,  
this pin may be ignored. When  
User I/O. If bitstream  
option Persist=Yes,  
High, indicates that the FPGA is becomes part of  
not ready to receive additional  
configuration data. Host must  
hold data an additional clock  
cycle.  
SelectMap parallel  
peripheral interface.  
CSI_B  
Input  
Input  
Chip Select Input. Active Low.  
Must be Low throughout  
configuration.  
User I/O. If bitstream  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
RDWR_B  
CCLK  
Read/Write Control. Active Low  
write enable.  
Must be Low throughout  
configuration.  
User I/O. If bitstream  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
Input  
Configuration Clock. If CCLK PCB External clock.  
trace is long or has multiple  
connections, terminate this output to  
maintain signal integrity. See CCLK  
Design Considerations.  
User I/O If bitstream  
option Persist=Yes,  
becomes part of  
SelectMap parallel  
peripheral interface.  
CSO_B  
Output  
Chip Select Output. Active Low.  
Not used in single FPGA  
User I/O  
applications. In a daisy-chain  
configuration, this pin connects to  
the CSI_B pin of the next FPGA in  
the chain. Actively drives.  
96  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
After Configuration  
Table 64: Slave Parallel Mode Connections (Continued)  
Pin Name  
FPGA Direction  
Description  
During Configuration  
INIT_B  
Open-drain  
bidirectional I/O Goes Low at the start of  
Initialization Indicator. Active Low. Active during configuration. If  
User I/O. If unused in the  
application, drive INIT_B  
High.  
CRC error detected during  
configuration during the Initialization configuration, FPGA drives  
memory clearing process. Released INIT_B Low.  
at the end of memory clearing, when  
mode select pins are sampled. In  
daisy-chain applications, this signal  
requires an external 4.7 kΩ pull-up  
resistor to VCCO_2.  
DONE  
Open-drain  
FPGA Configuration Done. Low  
Low indicates that the FPGA is  
not yet configured.  
Pulled High via external  
pull-up. When High,  
indicates that the FPGA  
successfully configured.  
bidirectional I/O during configuration. Goes High  
when FPGA successfully completes  
configuration. Requires external  
330 Ω pull-up resistor to 2.5V.  
PROG_B  
Input  
Program FPGA. Active Low. When Must be High to allow  
Drive PROG_B Low and  
release to reprogram  
FPGA.  
asserted Low for 300 ns or longer,  
forces the FPGA to restart its  
configuration process by clearing  
configuration memory and resetting  
the DONE and INIT_B pins once  
PROG_B returns High. Requires  
external 4.7 kΩ pull-up resistor to  
2.5V. If driving externally with a 3.3V  
output, use an open-drain or  
configuration to start.  
open-collector driver or use a  
current limiting series resistor.  
Voltage Compatibility  
Daisy-Chaining  
V
Most Slave Parallel interface signals are within the  
FPGA’s I/O Bank 2, supplied by the VCCO_2 supply input.  
The VCCO_2 voltage can be 1.8V, 2.5V, or 3.3V to match  
the requirements of the external host, ideally 2.5V. Using  
1.8V or 3.3V requires additional design considerations as  
the DONE and PROG_B pins are powered by the FPGA’s  
If the application requires multiple FPGAs with different con-  
figurations, then configure the FPGAs using a daisy chain.  
Use Slave Parallel mode (M[2:0] = <1:1:0>) for all FPGAs in  
the daisy-chain. The schematic in Figure 62 is optimized for  
FPGA downloading and does not support the SelectMAP  
read interface. The FPGA’s RDWR_B pin must be Low dur-  
ing configuration.  
2.5V V  
supply. See XAPP453: The 3.3V Configura-  
CCAUX  
tion of Spartan-3 FPGAs for additional information.  
After the lead FPGA is filled with its configuration data, the  
lead FPGA enables the next FPGA in the daisy-chain by  
asserting is chip-select output, CSO_B.  
The LDC[2:0] and HDC signal are active in I/O Bank 1 but  
are not used in the interface. Consequently, VCCO_1 can  
be set the appropriate voltage for the application.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
97  
Product Specification  
R
Functional Description  
D[7:0]  
CCLK  
+1.2V  
+1.2V  
VCCINT  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCO_1  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCO_1  
VCCO_1  
LDC0  
LDC1  
HDC  
VCCO_1  
LDC0  
LDC1  
HDC  
Slave  
Parallel  
Mode  
Slave  
Parallel  
Mode  
LDC2  
LDC2  
VCCO_2  
VCCO_2  
V
V
V
V
Intelligent  
Download Host  
‘1’  
‘1’  
‘0’  
M2  
M1  
M0  
‘1’  
‘1’  
‘0’  
M2  
M1  
M0  
VCC  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
DATA[7:0]  
D[7:0]  
BUSY  
CSI_B  
D[7:0]  
BUSY  
Configuration  
BUSY  
SELECT  
Memory  
Source  
CSO_B  
INIT_B  
CSI_B  
CSO_B  
INIT_B  
CSO_B  
READ/WRITE  
CLOCK  
‘0’  
RDWR_B  
CCLK  
‘0’  
RDWR_B  
CCLK  
Internal memory  
Disk drive  
Over network  
Over RF link  
PROG_B  
DONE  
VCCAUX  
TDO  
+2.5V  
VCCAUX  
TDO  
+2.5V  
INIT_B  
TDI  
TDI  
TMS  
TCK  
TMS  
TCK  
GND  
+2.5V  
Microcontroller  
Processor  
Tester  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
PROG_B  
Recommend  
open-drain  
driver  
PROG_B  
DONE  
2.5V  
JTAG  
INIT_B  
TDI  
TMS  
TCK  
TDO  
TMS  
TCK  
DS312-2_53_022305  
Figure 62: Daisy-Chaining using Slave Parallel Mode  
indicating that the FPGA is ready to receive its first data.  
The host then continues supplying data and clock signals  
until either the DONE pin goes High, indicating a successful  
configuration, or until the INIT_B pin goes Low, indicating a  
configuration error. The configuration process requires  
more clock cycles than indicated from the configuration file  
size. Additional clocks are required during the FPGA’s  
start-up sequence, especially if the FPGA is programmed to  
wait for selected Digital Clock Managers (DCMs) to lock to  
their respective clock inputs (see Start-Up, page 107).  
Slave Serial Mode  
In Slave Serial mode (M[2:0] = <1:1:1>), an external host  
such as a microprocessor or microcontroller writes serial  
configuration data into the FPGA, using the synchronous  
serial interface shown in Figure 63. The serial configuration  
data is presented on the FPGA’s DIN input pin with suffi-  
cient setup time before each rising edge of the externally  
generated CCLK clock input.  
The intelligent host starts the configuration process by puls-  
ing PROG_B and monitoring that the INIT_B pin goes High,  
98  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
+1.2V  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCO_2  
V
Slave  
Serial  
Mode  
V
1’  
1’  
1’  
M2  
M1  
M0  
Intelligent  
Download Host  
V
VCC  
Spartan-3E  
Configuration  
CLOCK  
CCLK  
DIN  
FPGA  
Memory  
Source  
SERIAL_OUT  
PROG_B  
DONE  
DOUT  
INIT_B  
Internal memory  
Disk drive  
VCCAUX  
TDO  
+2.5V  
INIT_B  
TDI  
Over network  
Over RF link  
GND  
TMS  
TCK  
+2.5V  
Microcontroller  
Processor  
Tester  
PROG_B  
DONE  
GND  
Computer  
PROG_B  
Recommend  
open-drain  
driver  
+2.5V  
JTAG  
TDI  
TMS  
TCK  
TDO  
DS312-2_54_022305  
Figure 63: Slave Serial Configuration  
The mode select pins, M[2:0], are sampled when the  
FPGA’s INIT_B output goes High and must be at defined  
logic levels during this time. After configuration, when the  
FPGA’s DONE output goes High, the mode pins are avail-  
able as full-featured user-I/O pins.  
The VCCO_2 voltage can be 3.3V, 2.5V, or 1.8V to match  
the requirements of the external host, ideally 2.5V. Using  
3.3V or 1.8V requires additional design considerations as  
the DONE and PROG_B pins are powered by the FPGA’s  
2.5V V  
supply. See XAPP453: The 3.3V Configura-  
CCAUX  
tion of Spartan-3 FPGAs for additional information.  
Similarly, the FPGA’s HSWAP pin must be Low to  
P
enable pull-up resistors on all user-I/O pins or High to dis-  
able the pull-up resistors. The HSWAP control must remain  
at a constant logic level throughout FPGA configuration.  
After configuration, when the FPGA’s DONE output goes  
High, the HSWAP pin is available as full-featured user-I/O  
pin and is powered by the VCCO_0 supply.  
Daisy-Chaining  
If the application requires multiple FPGAs with different con-  
figurations, then configure the FPGAs using a daisy chain,  
as shown in Figure 64. Use Slave Serial mode  
(M[2:0] = <1:1:1>) for all FPGAs in the daisy-chain. After  
the lead FPGA is filled with its configuration data, the lead  
FPGA passes configuration data via its DOUT output pin to  
the next FPGA on the falling CCLK edge.  
Voltage Compatibility  
V
Most Slave Serial interface signals are within the  
FPGA’s I/O Bank 2, supplied by the VCCO_2 supply input.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
99  
Product Specification  
R
Functional Description  
Table 65: Slave Serial Mode Connections  
Pin Name  
FPGA Direction  
Description  
During Configuration  
After Configuration  
User I/O  
HSWAP  
Input  
User I/O Pull-Up Control. When Drive at valid logic level  
Low during configuration, enables throughout configuration.  
pull-up resistors in all I/O pins to  
respective I/O bank V  
input.  
CCO  
0: Pull-up during configuration  
1: No pull-ups  
M[2:0]  
Input  
Mode Select. Selects the FPGA  
configuration mode. See Design  
Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins.  
M2 = 1, M1 = 1, M0 = 1 Sampled User I/O  
when INIT_B goes High.  
DIN  
Input  
Input  
Data Input.  
Serial data provided by host.  
FPGA captures data on rising  
CCLK edge.  
User I/O  
User I/O  
CCLK  
Configuration Clock. If CCLK  
PCB trace is long or has multiple  
connections, terminate this output  
to maintain signal integrity. See  
CCLK Design Considerations.  
External clock.  
INIT_B  
Open-drain  
Initialization Indicator. Active  
Active during configuration. If  
CRC error detected during  
configuration, FPGA drives  
INIT_B Low.  
User I/O. If unused in the  
application, drive INIT_B  
High.  
bidirectional I/O Low. Goes Low at start of  
configuration during Initialization  
memory clearing process.  
Released at end of memory  
clearing, when mode select pins  
are sampled. In daisy-chain  
applications, this signal requires  
an external 4.7 kΩpull-up resistor  
to VCCO_2.  
DONE  
Open-drain  
FPGA Configuration Done. Low Low indicates that the FPGA is  
Pulled High via external  
pull-up. When High,  
indicates that the FPGA  
successfully configured.  
bidirectional I/O during configuration. Goes High  
when FPGA successfully  
not yet configured.  
completes configuration.  
Requires external 330 Ω pull-up  
resistor to 2.5V.  
PROG_B  
Input  
Program FPGA. Active Low.  
Must be High to allow  
Drive PROG_B Low and  
release to reprogram  
FPGA.  
When asserted Low for 300 ns or configuration to start.  
longer, forces the FPGA to restart  
its configuration process by  
clearing configuration memory  
and resetting the DONE and  
INIT_B pins once PROG_B  
returns High. Requires external  
4.7 kΩ pull-up resistor to 2.5V. If  
driving externally with a 3.3V  
output, use an open-drain or  
open-collector driver or use a  
current limiting series resistor.  
100  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
CCLK  
+1.2V  
+1.2V  
VCCINT  
VCCINT  
P
HSWAP  
VCCO_0  
VCCO_0  
P
HSWAP  
VCCO_0  
VCCO_0  
VCCO_2  
VCCO_2  
V
VCCO_2  
Slave  
Serial  
Mode  
Slave  
Serial  
Mode  
V
‘1’  
‘1’  
‘1’  
M2  
M1  
M0  
‘1’  
‘1’  
‘1’  
M2  
M1  
M0  
Intelligent  
V
Download Host  
VCC  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
Configuration  
Memory  
Source  
CLOCK  
CCLK  
DIN  
CCLK  
DIN  
SERIAL_OUT  
PROG_B  
DONE  
DOUT  
DOUT  
DOUT  
INIT_B  
INIT_B  
Internal memory  
Disk drive  
Over network  
Over RF link  
VCCAUX  
TDO  
+2.5V  
VCCAUX  
TDO  
+2.5V  
INIT_B  
TDI  
TDI  
GND  
TMS  
TCK  
TMS  
TCK  
+2.5V  
Microcontroller  
Processor  
Tester  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
Computer  
PROG_B  
PROG_B  
DONE  
Recommend  
open-drain  
driver  
INIT_B  
+2.5V  
JTAG  
TDI  
TMS  
TCK  
TDO  
TMS  
TCK  
DS312-2_55_102105  
Figure 64: Daisy-Chaining using Slave Serial Mode  
other configuration modes. No other pins are required as  
part of the configuration interface.  
JTAG Mode  
The Spartan-3E FPGA has a dedicated four-wire IEEE  
1149.1/1532 JTAG port that is always available any time the  
FPGA is powered and regardless of the mode pin settings.  
However, when the FPGA mode pins are set for JTAG  
mode (M[2:0] = <1:0:1>), the FPGA waits to be configured  
via the JTAG port after a power-on event or when PROG_B  
is asserted. Selecting the JTAG mode simply disables the  
Figure 65 illustrates a JTAG-only configuration interface.  
The JTAG interface is easily cascaded to any number of  
FPGAs by connecting the TDO output of one device to the  
TDI input of the next device in the chain. The TDO output of  
the last device in the chain loops back to the port connector.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
101  
Product Specification  
R
Functional Description  
+1.2V  
+1.2V  
VCCINT  
VCCINT  
P
HSWAP  
M2  
VCCO_0  
VCCO_0  
VCCO_2  
HSWAP  
M2  
VCCO_0  
VCCO_0  
VCCO_2  
P
VCCO_2  
VCCO_2  
JTAG  
Mode  
JTAG  
Mode  
‘1’  
‘0’  
‘1’  
‘1’  
‘0’  
‘1’  
Spartan-3E  
FPGA  
Spartan-3E  
FPGA  
M1  
M0  
M1  
M0  
VCCAUX  
+2.5V  
VCCAUX  
+2.5V  
TDI  
TDO  
TDI  
TDO  
TMS  
TCK  
TMS  
TCK  
PROG_B  
DONE  
PROG_B  
DONE  
GND  
GND  
+2.5V  
JTAG  
TDI  
TMS  
TCK  
TDO  
TMS  
TCK  
DS312-2_56_021405  
Figure 65: JTAG Configuration Mode  
Voltage Compatibility  
JTAG Device ID  
The 2.5V V  
supply powers the JTAG interface. All of  
Each Spartan-3E FPGA array type has a 32-bit device-spe-  
cific JTAG device identifier as shown in Table 66. The lower  
28 bits represent the device vendor (Xilinx) and device iden-  
tifer. The upper four bits, ignored by most tools, represent  
the revision level of the silicon mounted on the printed cir-  
cuit board. Table 66 associates the revision code with a  
specific stepping level.  
CCAUX  
the user I/Os are separately powered by their respective  
VCCO_# supplies.  
When connecting the Spartan-3E JTAG port to a 3.3V inter-  
face, the JTAG input pins must be current-limited to 10 mA  
or less using series resistors. Similarly, the TDO pin is a  
CMOS output powered from +2.5V. The TDO output can  
directly drive a 3.3V input but with reduced noise immunity.  
See XAPP453: The 3.3V Configuration of Spartan-3 FPGAs  
for additional information.  
JTAG User ID  
The Spartan-3E JTAG interface also provides the option to  
store a 32-bit User ID, loaded during configuration. The  
User ID value is specified via the UserID configuration bit-  
stream option, shown in Table 68, page 108.  
Table 66: Spartan-3E JTAG Device Identifiers  
4-Bit Revision Code  
28-Bit  
Spartan-3E  
FPGA  
Vendor/Device  
Identifier  
Using JTAG Interface to Communicate to a  
Configured FPGA Design  
Step 0  
0x0  
Step 1  
0x1  
XC3S100E  
XC3S250E  
0x1C 10 093  
0x1C 1A 093  
After the FPGA is configured, using any of the available  
modes, the JTAG interface offers a possible communica-  
0x0  
0x1  
tions  
channel  
to  
internal  
FPGA  
logic.  
The  
BSCAN_SPARTAN3 design primitive provides two private  
JTAG instructions to create an internal boundary scan  
chain.  
0x0  
0x2  
XC3S500E  
XC3S1200E  
XC3S1600E  
0x4  
0x2  
0x2  
0x1C 22 093  
0x1C 2E 093  
0x1C 3A 093  
0x0  
0x1  
Maximum Bitstream Size for Daisy-Chains  
The maximum bitstream length supported by Spartan-3E  
FPGAs in serial daisy-chains is 4,294,967,264 bits  
0x0  
0x1  
102  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
(4 Gbits), roughly equivalent to a daisy-chain with 720  
XC3S1600E FPGAs. This is a limit only for serial  
daisy-chains where configuration data is passed via the  
FPGA’s DOUT pin. There is no such limit for JTAG chains.  
Initialization  
Configuration automatically begins after power-on or after  
asserting the FPGA PROG_B pin, unless delayed using the  
FPGA’s INIT_B pin. The FPGA holds the open-drain INIT_B  
signal Low while it clears its internal configuration memory.  
Externally holding the INIT_B pin Low forces the configura-  
tion sequencer to wait until INIT_B again goes High.  
Configuration Sequence  
The Spartan-3E configuration process is three-stage pro-  
cess that begins after the FPGA powers on (a POR event)  
or after the PROG_B input is asserted. Power-On Reset  
The FPGA signals when the memory-clearing phase is  
complete by releasing the open-drain INIT_B pin, allowing  
the pin to go High via the external pull-up resistor to  
VCCO_2.  
(POR) occurs after the V  
, V  
, and the V  
Bank  
CCINT CCAUX  
CCO  
2 supplies reach their respective input threshold levels.  
After either a POR or PROG_B event, the three-stage con-  
figuration process begins.  
Loading Configuration Data  
1. The FPGA clears (initializes) the internal configuration  
memory.  
After initialization, configuration data is written to the  
FPGA’s internal memory. The FPGA holds the Global  
Set/Reset (GSR) signal active throughout configuration,  
holding all FPGA flip-flops in a reset state. The FPGA sig-  
nals when the entire configuration process completes by  
releasing the DONE pin, allowing it to go High.  
2. Configuration data is loaded into the internal memory.  
3. The user-application is activated by a start-up process.  
Figure 66 is a generalized block diagram of the Spartan-3E  
configuration logic, showing the interaction of different  
device inputs and Bitstream Generator (BitGen) options. A  
flow diagram for the configuration sequence of the Serial  
and Parallel modes appears in Figure 67. Figure 68 shows  
the Boundary-Scan or JTAG configuration sequence.  
The FPGA configuration sequence can also be initiated by  
asserting PROG_B. Once released, the FPGA begins  
clearing its internal configuration memory, and progresses  
through the remainder of the configuration process.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
103  
Product Specification  
DriveDone  
LOCKED  
STARTUP  
DCM in User  
Option  
Option  
= Bitstream Generator (BitGen) Option  
= Design Attribute  
EN  
Application  
DCMs_LOCKED  
LCK_cycle  
DONE  
DONE  
STARTUP_WAIT=TRUE  
All DCMs  
DONE_cycle  
Enable application logic and  
I/O pins  
INITIALIZATION  
CONFIGURATION  
Force all I/Os Hi-Z  
ENABLE  
DONE  
ENABLE  
DONE  
ENABLE  
GTS  
GSR  
GWE  
Power On Reset (POR)  
GTS_cycle  
Clear internal CMOS  
configuration latches  
Load application  
USER  
USER  
GTS_IN  
GSR_IN  
VCCO_2  
*
*
Hold all storage  
elements reset  
data into CMOS  
configuration latches  
V
CCO2T  
CLEARING_MEMORY  
Disable write  
operations to  
storage elements  
POWER_GOOD  
VCCINT  
RESET  
WAIT  
RESET  
RESET  
WAIT  
GWE_cycle  
V
CCINTT  
DonePipe  
VCCAUX  
V
EN  
CCAUXT  
INIT_B  
PROG_B  
Glitch Filter  
USER_CLOCK  
*
JTAG_CLOCK  
These connections are available via the  
STARTUP_SPARTAN3E library primitive.  
*
CCLK  
TCK  
1
StartupClk  
1
0
INTERNAL_CONFIGURATION_CLOCK  
0
ConfigRate  
Internal  
Oscillator  
CRC  
ENABLE  
ERROR  
M1  
M2  
Configuration Error  
Detection  
(CRC Checker)  
R
Functional Description  
Set PROG_B Low  
after Power-On  
Power-On  
VCCINT >1V  
and VCCAUX > 2V  
No  
and VCCO Bank 2 > 1V  
Yes  
Yes  
Clear configuration  
PROG_B = Low  
No  
memory  
No  
INIT_ B = High?  
Yes  
M[2:0] and VS[2:0]  
pins are sampled on  
INIT_B rising edge  
Sample mode pins  
Load configuration  
data frames  
No  
INIT_B goes Low.  
Abort Start-Up  
CRC  
correct?  
Yes  
DONE pin goes High,  
signaling end of  
configuration  
Start-Up  
sequence  
User mode  
No  
Yes  
Reconfigure?  
DS312-2_58_051706  
Figure 67: General Configuration Process  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
105  
Product Specification  
R
Functional Description  
Set PROG_B Low  
after Power-On  
Power-On  
VCCINT >1V  
and VCCAUX > 2V  
No  
and VCCO Bank 2 > 1V  
Load  
JPROG  
instruction  
Yes  
Clear  
configuration  
memory  
Yes  
PROG_B = Low  
No  
No  
INIT_B = High?  
Yes  
Sample  
mode pins  
(JTAG port becomes  
available)  
Load CFG_IN  
instruction  
Load configuration  
data frames  
No  
CRC  
correct?  
INIT_B goes Low.  
Abort Start-Up  
Yes  
Synchronous  
TAP reset  
(Clock five 1's  
on TMS)  
Load JSTART  
instruction  
Start-Up  
sequence  
User mode  
No  
Yes  
Reconfigure?  
DS312-2_59_051706  
Figure 68: Boundary-Scan Configuration Flow Diagram  
106  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
during configuration before the user application in the FPGA  
starts driving output signals. One clock cycle later, the Glo-  
bal Write Enable (GWE) signal is released. This allows sig-  
nals to propagate within the FPGA before any clocked  
storage elements such as flip-flops and block ROM are  
enabled.  
Start-Up  
At the end of configuration, the FPGA automatically pulses  
the Global Set/Reset (GSR) signal, placing all flip-flops in a  
known state. After configuration completes, the FPGA  
switches over to the user application loaded into the FPGA.  
The sequence and timing of how the FPGA switches over is  
programmable as is the clock source controlling the  
sequence.  
The function of the dual-purpose I/O pins, such as M[2:0],  
VS[2:0], HSWAP, and A[23:0], also changes when the  
DONE pin goes High. When DONE is High, these pins  
become user I/Os. Like all user-I/O pins, GTS controls  
when the dual-purpose pins can drive out.  
The default start-up sequence appears in Figure 69, where  
the Global Three-State signal (GTS) is released one clock  
cycle after DONE goes High. This sequence allows the  
DONE signal to enable or disable any external logic used  
Default Cycles  
Start-Up Clock  
Phase  
0
1
2
3
4
5
6 7  
DONE  
GTS  
GWE  
Sync-to-DONE  
Start-Up Clock  
Phase  
0
1
2
3
4
5
6 7  
DONE High  
DONE  
GTS  
GWE  
DS312-2_60_022305  
Figure 69: Default Start-Up Sequence  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
107  
Product Specification  
R
Functional Description  
The relative timing of configuration events is programmed  
via the Bitstream Generator (BitGen) options in the Xilinx  
development software. For example, the GTS and GWE  
events can be programmed to wait for all the DONE pins to  
High on all the devices in a multiple-FPGA daisy-chain,  
forcing the FPGAs to start synchronously. Similarly, the  
start-up sequence can be paused at any stage, waiting for  
selected DCMs to lock to their respective input clock sig-  
nals. See also Stabilizing DCM Clocks Before User  
Mode.  
Commercial temperature devices. If Readback is required  
in an XC3S1200E or XC3S1600E FPGA, or if block RAM  
Readback is required on any Spartan-3E FPGA, upgrade to  
either the Industrial temperature grade version or the -5  
speed grade.  
The Xilinx iMPACT programming software uses the Read-  
back feature for its optional Verify and Readback opera-  
tions. The Xilinx ChipScope™ software presently does not  
use Readback but may in future updates.  
Table 67: Readback Support in Spartan-3E FPGAs  
By default, the start-up sequence is synchronized to CCLK.  
Alternatively, the start-up sequence can be synchronized to  
a user-specified clock from within the FPGA application  
using the STARTUP_SPARTAN3E library primitive and by  
setting the StartupClk bitstream generator option. The  
FPGA application can optionally assert the GSR and GTS  
signals via the STARTUP_SPARTAN3E primitive. For  
JTAG configuration, the start-up sequence can be synchro-  
nized to the TCK clock input.  
Temperature Range  
Speed Grade  
Commercial  
Industrial  
-4  
-4  
-5  
Block RAM Readback  
All Spartan-3E  
FPGAs  
No  
Yes  
Yes  
General Readback (registers, distributed RAM)  
Readback  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
Yes  
Yes  
Yes  
No  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
FPGA configuration data can be read back using either the  
Slave Parallel or JTAG mode. This function is disabled if the  
Bitstream Generator Security option is set to either Level1  
or Level2.  
Along with the configuration data, it is possible to read back  
the contents of all registers and distributed RAM.  
No  
To synchronously control when register values are captured  
for readback, use the CAPTURE_SPARTAN3 library primi-  
tive, which applies for both Spartan-3 and Spartan-3E  
FPGA families.  
Bitstream Generator (BitGen) Options  
Various Spartan-3E FPGA functions are controlled by spe-  
cific bits in the configuration bitstream image. These values  
are specified when creating the bitstream image with the  
Bitstream Generator (BitGen) software.  
The Readback feature is available in most Spartan-3E  
FPGA product options, as indicated in Table 67. The Read-  
back feature is not available in the XC3S1200E and  
XC3S1600E FPGAs when using the -4 speed grade in the  
Commercial temperature grade. Similarly, block RAM  
Readback support is not available in the -4 speed grade,  
Table 68 provides a list of all BitGen options for Spartan-3E  
FPGAs.  
Table 68: Spartan-3E FPGA Bitstream Generator (BitGen) Options  
Pins/Function  
Affected  
Values  
(default)  
Option Name  
Description  
ConfigRate  
CCLK,  
1, 3, 6,  
Sets the approximate frequency, in MHz, of the internal oscillator using for Master  
Configuration  
12, 25, 50 Serial, SPI, and BPI configuration modes. The internal oscillator powers up at its lowest  
frequency, and the new setting is loaded as part of the configuration bitstream. The  
software default value is 1 (~1.5 MHz) starting with ISE 8.1, Service Pack 1.  
StartupClk  
Configuration,  
Startup  
Cclk  
Default. The CCLK signal (internally or externally generated) controls the startup  
sequence when the FPGA transitions from configuration mode to the user mode. See  
Start-Up.  
UserClk  
A clock signal from within the FPGA application controls the startup sequence when  
the FPGA transitions from configuration mode to the user mode. See Start-Up. The  
FPGA application supplies the user clock on the CLK pin on the  
STARTUP_SPARTAN3E primitive.  
Jtag  
The JTAG TCK input controls the startup sequence when the FPGA transitions from  
the configuration mode to the user mode. See Start-Up.  
108  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Table 68: Spartan-3E FPGA Bitstream Generator (BitGen) Options (Continued)  
Pins/Function  
Affected  
Values  
(default)  
Option Name  
Description  
UnusedPin  
Unused I/O  
Pins  
Pulldown Default. All unused I/O pins and input-only pins have a pull-down resistor to GND.  
Pullup  
All unused I/O pins and input-only pins have a pull-up resistor to the VCCO_# supply  
for its associated I/O bank.  
Pullnone All unused I/O pins and input-only pins are left floating (Hi-Z, high-impedance,  
three-state). Use external pull-up or pull-down resistors or logic to apply a valid signal  
level.  
DONE_cycle  
GWE_cycle  
DONE pin,  
Configuration  
Startup  
1, 2, 3, 4, Selects the Configuration Startup phase that activates the FPGA’s DONE pin. See  
5, 6  
Start-Up.  
All flip-flops,  
LUT RAMs,  
and SRL16  
shift registers,  
Block RAM,  
Configuration  
Startup  
1, 2, 3, 4, Selects the Configuration Startup phase that asserts the internal write-enable signal to  
5, 6  
all flip-flops, LUT RAMs and shift registers (SRL16). It also enables block RAM read  
and write operations. See Start-Up.  
Done  
Waits for the DONE pin input to go High before asserting the internal write-enable  
signal to all flip-flops, LUT RAMs and shift registers (SRL16). Block RAM read and  
write operations are enabled at this time.  
Keep  
Retains the current GWE_cycle setting for partial reconfiguration applications.  
GTS_cycle  
All I/O pins,  
1, 2, 3, 4, Selects the Configuration Startup phase that releases the internal three-state control,  
Configuration  
5, 6  
holding all I/O buffers in high-impedance (Hi-Z). Output buffers actively drive, if so  
configured, after this point. See Start-Up.  
Done  
Waits for the DONE pin input to go High before releasing the internal three-state  
control, holding all I/O buffers in high-impedance (Hi-Z). Output buffers actively drive,  
if so configured, after this point.  
Keep  
Retains the current GTS_cycle setting for partial reconfiguration applications.  
The FPGA does not wait for selected DCMs to lock before completing configuration.  
LCK_cycle  
DCMs,  
Configuration  
Startup  
NoWait  
0, 1, 2, 3, If one or more DCMs in the design have the STARTUP_WAIT attribute set to TRUE,  
4, 5, 6  
the FPGA waits for such DCMs to acquire their respective input clock and assert their  
LOCKED output. This setting selects the Configuration Startup phase where the FPGA  
waits for the DCMs to lock.  
DonePin  
DONE pin  
DONE pin  
Pullup  
Internally connects a pull-up resistor between DONE pin and VCCAUX. An external  
330 Ω pull-up resistor to VCCAUX is still recommended.  
Pullnone No internal pull-up resistor on DONE pin. An external 330 Ω pull-up resistor to VCCAUX  
is required.  
DriveDone  
No  
When configuration completes, the DONE pin stops driving Low and relies on an  
external 330 Ω pull-up resistor to VCCAUX for a valid logic High.  
Yes  
When configuration completes, the DONE pin actively drives High. When using this  
option, an external pull-up resistor is no longer required. Only one device in an FPGA  
daisy-chain should use this setting.  
DonePipe  
DONE pin  
No  
The input path from DONE pin input back to the Startup sequencer is not pipelined.  
Yes  
This option adds a pipeline register stage between the DONE pin input and the Startup  
sequencer. Used for high-speed daisy-chain configurations when DONE cannot rise in  
a single CCLK cycle. Releases GWE and GTS signals on the first rising edge of  
StartupClk after the DONE pin input goes High.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
109  
Product Specification  
R
Functional Description  
Table 68: Spartan-3E FPGA Bitstream Generator (BitGen) Options (Continued)  
Pins/Function  
Affected  
Values  
(default)  
Option Name  
Description  
ProgPin  
PROG_B pin  
Pullup  
Internally connects a pull-up resistor or between PROG_B pin and VCCAUX. An  
external 4.7 kΩ pull-up resistor to VCCAUX is still recommended.  
Pullnone No internal pull-up resistor on PROG_B pin. An external 4.7 kΩ pull-up resistor to  
VCCAUX is required.  
TckPin  
TdiPin  
TdoPin  
TmsPin  
JTAG TCK pin  
JTAG TDI pin  
JTAG TDO pin  
JTAG TMS pin  
Pullup  
Internally connects a pull-up resistor between JTAG TCK pin and VCCAUX.  
Pulldown Internally connects a pull-down resistor between JTAG TCK pin and GND.  
Pullnone No internal pull-up resistor on JTAG TCK pin.  
Pullup  
Internally connects a pull-up resistor between JTAG TDI pin and VCCAUX.  
Pulldown Internally connects a pull-down resistor between JTAG TDI pin and GND.  
Pullnone No internal pull-up resistor on JTAG TDI pin.  
Pullup  
Internally connects a pull-up resistor between JTAG TDO pin and VCCAUX.  
Pulldown Internally connects a pull-down resistor between JTAG TDO pin and GND.  
Pullnone No internal pull-up resistor on JTAG TDO pin.  
Pullup  
Internally connects a pull-up resistor between JTAG TMS pin and VCCAUX.  
Pulldown Internally connects a pull-down resistor between JTAG TMS pin and GND.  
Pullnone No internal pull-up resistor on JTAG TMS pin.  
UserID  
JTAG User ID  
register  
User  
string  
The 32-bit JTAG User ID register value is loaded during configuration. The default  
value is all ones, 0xFFFF_FFFF hexadecimal. To specify another value, enter an  
8-character hexadecimal value.  
Security  
JTAG,  
SelectMAP,  
Readback,  
Partial  
None  
Readback and limited partial reconfiguration are available via the JTAG port or via the  
SelectMAP interface, if the Persist option is set to Yes.  
Level1  
Readback function is disabled. Limited partial reconfiguration is still available via the  
JTAG port or via the SelectMAP interface, if the Persist option is set to Yes.  
reconfiguration  
Level2  
Readback function is disabled. Limited partial reconfiguration is disabled.  
CRC  
Configuration  
Enable  
Default. Enable CRC checking on the FPGA bitstream. If error detected, FPGA  
asserts INIT_B Low and DONE pin stays Low.  
Disable  
No  
Turn off CRC checking.  
Persist  
SelectMAP  
interface pins,  
BPI mode,  
Slave mode,  
Configuration  
All BPI and Slave mode configuration pins are available as user-I/O after configuration.  
Yes  
This option is required for Readback and partial reconfiguration using the SelectMAP  
interface. The SelectMAP interface pins (see Slave Parallel Mode) are reserved after  
configuration and are not available as user-I/O.  
110  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Powering Spartan-3E FPGAs  
supply input that powers the output buffers within the asso-  
Voltage Supplies  
Like Spartan-3 FPGAs, Spartan-3E FPGAs have multiple  
voltage supply inputs, as shown in Table 69. There are two  
ciated I/O bank. All of the V  
connections to a specific I/O  
CCO  
bank must be connected and must connect to the same  
voltage.  
supply inputs for internal logic functions, V  
and  
CCINT  
V
. Each of the four I/O banks has a separate V  
CCAUX  
CCO  
Table 69: Spartan-3E Voltage Supplies  
Supply  
Input  
Nominal Supply  
Voltage  
Description  
V
Internal core supply voltage. Supplies all internal logic functions, such as CLBs,  
block RAM, and multipliers. Input to Power-On Reset (POR) circuit.  
1.2V  
CCINT  
V
Auxiliary supply voltage. Supplies Digital Clock Managers (DCMs), differential  
drivers, dedicated configuration pins, JTAG interface. Input to Power-On Reset  
(POR) circuit.  
2.5V  
CCAUX  
VCCO_0  
VCCO_1  
Supplies the output buffers in I/O Bank 0, the bank along the top edge of the  
FPGA.  
Selectable, 3.3V, 2.5V,  
1.8, 1.5V, or 1.2V  
Supplies the output buffers in I/O Bank 1, the bank along the right edge of the  
FPGA. In Byte-Wide Peripheral Interface (BPI) Parallel Flash Mode,  
connects to the same voltage as the Flash PROM.  
Selectable, 3.3V, 2.5V,  
1.8, 1.5V, or 1.2V  
VCCO_2  
Supplies the output buffers in I/O Bank 2, the bank along the bottom edge of the  
FPGA. Connects to the same voltage as the FPGA configuration source. Input  
to Power-On Reset (POR) circuit.  
Selectable, 3.3V, 2.5V,  
1.8, 1.5V, or 1.2V  
VCCO_3  
Supplies the output buffers in I/O Bank 3, the bank along the left edge of the  
FPGA.  
Selectable, 3.3V, 2.5V,  
1.8, 1.5V, or 1.2V  
In a 3.3V-only application, all four V  
3.3V. However, Spartan-3E FPGAs provide the ability to  
bridge between different I/O voltages and standards by  
applying different voltages to the V  
banks. Refer to I/O Banking Rules for which I/O standards  
supplies connect to  
mance applications, greater than 100 MHz. Proper design  
results in better overall performance, lower clock and DCM  
jitter, and a generally more robust system. Before designing  
the printed circuit board (PCB) for the FPGA design, please  
review XAPP623: Power Distribution System (PDS) Design:  
Using Bypass/Decoupling Capacitors.  
CCO  
inputs of different  
CCO  
can be intermixed within a single I/O bank.  
Each I/O bank also has an separate, optional input voltage  
Power-On Behavior  
reference supply, called V . If the I/O bank includes an  
REF  
I/O standard that requires a voltage reference such as  
Spartan-3E FPGAs have a built-in Power-On Reset (POR)  
circuit that monitors the three power rails required to suc-  
cessfully configure the FPGA. At power-up, the POR circuit  
HSTL or SSTL, then all V  
pins within the I/O bank must  
REF  
be connected to the same voltage.  
holds the FPGA in a reset state until the V  
, V  
,
CCINT CCAUX  
Voltage Regulators  
and V  
Bank 2 supplies reach their respective input  
CCO  
threshold levels (see Table 73 in Module 3). After all three  
supplies reach their respective thresholds, the POR reset is  
released and the FPGA begins its configuration process.  
Various power supply manufacturers offer complete power  
solutions for Xilinx FPGAs including some with integrated  
three-rail regulators specifically designed for Spartan-3 and  
Spartan-3E FPGAs. The Xilinx Power Corner website pro-  
vides links to vendor solution guides and Xilinx power esti-  
mation and analysis tools.  
Supply Sequencing  
Because the three FPGA supply inputs must be valid to  
release the POR reset and can be supplied in any order,  
there are no FPGA-specific voltage sequencing require-  
Power Distribution System (PDS) Design and  
Decoupling/Bypass Capacitors  
ments. Applying the FPGA’s V  
supply before the  
CCAUX  
V
supply uses the least I  
current.  
CCINT  
CCINT  
Good power distribution system (PDS) design is important  
for all FPGA designs, but especially so for high perfor-  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
111  
Product Specification  
R
Functional Description  
Although the FPGA has no specific voltage sequence  
requirements, be sure to consider any potential sequencing  
requirement of the configuration device attached to the  
FPGA, such as an SPI serial Flash PROM, a parallel NOR  
Flash PROM, or a microcontroller. For example, Flash  
PROMs have a minimum time requirement before the  
PROM can be selected and this must be considered if the  
3.3V supply is the last in the sequence. See Power-On Pre-  
cautions if 3.3V Supply is Last in Sequence for more  
details.  
have a foldback feature that could inadvertently shut down  
in the presence of the surplus current.  
Configuration Data Retention, Brown-Out  
The FPGA’s configuration data is stored in robust CMOS  
configuration latches. The data in these latches is retained  
even when the voltages drop to the minimum levels neces-  
sary to preserve RAM contents, as specified in Table 75.  
If, after configuration, the V  
or V  
supply drops  
CCINT  
CCAUX  
below its data retention voltage, the current device configu-  
ration must be cleared using one of the following methods:  
When all three supplies are valid, the minimum current  
required to power-on the FPGA equals the worst-case qui-  
escent current, specified in Table 78. Spartan-3E FPGAs do  
not require Power-On Surge (POS) current to successfully  
configure.  
Force the V  
or V  
supply voltage below the  
CCINT  
CCAUX  
minimum Power On Reset (POR) voltage threshold  
(Table 73).  
Assert PROG_B Low.  
Surplus ICCINT if VCCINT Applied before VCCAUX  
The POR circuit does not monitor the VCCO_2 supply after  
configuration. Consequently, dropping the VCCO_2 voltage  
does not reset the device by triggering a Power-On Reset  
(POR) event.  
If the V  
supply is applied before the V  
supply,  
CCINT  
CCAUX  
the FPGA might draw a surplus I  
current in addition to  
CCINT  
the I  
quiescent current levels specified in Table 78,  
CCINT  
page 121. The momentary additional I  
surplus current  
CCINT  
might be a few hundred milliamperes under nominal condi-  
tions, significantly less than the instantaneous current con-  
sumed by the bypass capacitors at power-on. However, the  
No Internal Charge Pumps or Free-Running  
Oscillators  
Some system applications are sensitive to sources of ana-  
log noise. Spartan-3E FPGA circuitry is fully static and does  
not employ internal charge pumps.  
surplus current immediately disappears when the V  
CCAUX  
supply is applied, and, in response, the FPGA’s I  
qui-  
CCINT  
escent current demand drops to the levels specified in  
Table 78. The FPGA does not use or require the surplus  
current to successfully power-on and configure. If applying  
The CCLK configuration clock is active during the FPGA  
configuration process. After configuration completes, the  
CCLK oscillator is automatically disabled unless the Bit-  
stream Generator (BitGen) option Persist=Yes.  
V
before V  
, ensure that the regulator does not  
CCINT  
CCAUX  
112  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Production Stepping  
The Spartan-3E FPGA family uses production stepping to  
indicate improved capabilities or enhanced features.  
Xilinx ships both Stepping 0 and Stepping 1. Designs oper-  
ating on the Stepping 0 devices perform similarly on a Step-  
ping 1 device.  
All devices ordered using the standard part number support  
Stepping 0 functionality and performance. Later steppings  
are, by definition, a functional superset of any previous  
stepping. Furthermore, configuration bitstreams generated  
for any stepping are compatible with later steppings.  
Differences Between Steppings  
Table 70 summarizes the feature and performance differ-  
ences between Stepping 0 devices and Stepping 1 devices.  
Table 70: Differences between Spartan-3E Production Stepping Levels  
Stepping 0  
Stepping 1  
Production status  
Production  
Production starting  
March 2006  
JTAG ID code  
Different revision fields. See Table 66.  
DCM DLL maximum input frequency  
90 MHz  
(200 MHz for XC3S1200E)  
240 MHz (–4 speed grade)  
275 MHz (–5 speed grade)  
DCM DFS output frequency range(s)  
Split ranges at 5 – 90 MHz and  
220 – 307 MHz  
(single range 5 – 307 MHz for  
XC3S1200E)  
Continuous range:  
5 – 311 MHz (–4)  
5 – 333 MHz (–5)  
Supports multi-FPGA daisy-chain configurations  
from SPI Flash  
No, single FPGA only  
Yes  
Yes  
JTAG configuration supported when FPGA in  
BPI mode with a valid image in the attached  
parallel NOR Flash PROM  
(1)  
No  
JTAG EXTEST, INTEST, SAMPLE support  
Yes: XC3S100E, XC3S250E, XC3S500E  
Yes  
All Devices  
(2)  
No : XC3S1200E, XC3S1600E  
Notes:  
1. Workarounds exist. See Stepping 0 Limitations when Reprogramming via JTAG if FPGA Set for BPI Configuration.  
2. JTAG BYPASS and JTAG configuration are supported  
or no mark. See Ordering Information, page 7 in Module 1  
for additional information.  
Ordering a Later Stepping  
Spartan-3E FPGAs ordered using the standard part number  
always support the Stepping 0 feature set. To order only the  
later stepping, append an “S#” suffix to the standard order-  
ing code, where ‘#’ is the stepping number, as indicated in  
Table 71. Beginning with Stepping 1 and later, the stepping  
level is marked on the device using a single number charac-  
ter, as shown in Figure 2, Figure 3, and Figure 4 in Module  
1. Stepping 0 devices are represented with either a ‘0’ mark  
Table 71: Spartan-3E Stepping Levels  
Stepping  
Number  
Suffix Code  
Status  
0
1
None  
S1  
Production  
Production  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
113  
Product Specification  
R
Functional Description  
For additional information on Spartan-3E development soft-  
ware and known issues, see the following Answer Record:  
Software Version Requirements  
Production Spartan-3E applications must be processed  
using the Xilinx ISE 8.1i, Service Pack 3 or later develop-  
ment software, using the v1.21 or later speed files. The ISE  
8.1i software implements critical bitstream generator  
updates.  
Xilinx Answer #22253  
www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=22253  
114  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
R
Functional Description  
Revision History  
The following table shows the revision history for this document.  
Date  
Version  
1.0  
Revision  
03/01/05  
03/21/05  
11/23/05  
Initial Xilinx release.  
Updated Figure 45. Modified title on Table 39 and Table 44.  
1.1  
2.0  
Updated values of On-Chip Differential Termination resistors. Updated Table 7. Updated  
configuration bitstream sizes for XC3S250E through XC3S1600E in Table 44, Table 50, Table 56, and  
Table 59. Added DLL Performance Differences Between Steppings. Added Stepping 0  
Limitations when Reprogramming via JTAG if FPGA Set for BPI Configuration. Added Stepping  
0 limitations when Daisy-Chaining in SPI configuration mode. Added Multiplier/Block RAM  
Interaction section. Updated Digital Clock Managers (DCMs) section, especially Phase Shifter  
(PS) portion. Corrected and enhanced the clock infrastructure diagram in Figure 45 and Table 41.  
Added CCLK Design Considerations section. Added Design Considerations for the HSWAP,  
M[2:0], and VS[2:0] Pins section. Added Spansion, Winbond, and Macronix to list of SPI Flash  
vendors in Table 52 and Table 55. Clarified that SPI mode configuration supports Atmel ‘C’- and  
‘D’-series DataFlash. Updated the Programming Support section for SPI Flash PROMs. Added  
Power-On Precautions if PROM Supply is Last in Sequence, Compatible Flash Families, and  
BPI Mode Interaction with Right and Bottom Edge Global Clock Inputs sections to BPI  
configuration mode topic. Updated and amplified Powering Spartan-3E FPGAs section. Added  
Production Stepping section.  
03/22/06  
3.0  
Upgraded data sheet status to Preliminary. Updated Input Delay Functions and Figure 6. Added  
clarification that Input-only pins also have Pull-Up and Pull-Down Resistors. Added design note  
about address setup and hold requirements to Block RAM. Added warning message about software  
differences between ISE 8.1i, Service Pack 3 and earlier software to FIXED Phase Shift Mode and  
VARIABLE Phase Shift Mode. Added message about using GCLK1 in DLL Clock Input  
Connections and Clock Inputs. Updated Figure 45. Added additional information on HSWAP  
behavior to Pin Behavior During Configuration. Highlighted which pins have configuration pull-up  
resistors unaffected by HSWAP in Table 45. Updated bitstream image sizes for the XC3S1200E and  
XC3S1600E in Table 44, Table 50, Table 56, and Table 59. Clarified that ‘B’-series Atmel DataFlash  
SPI PROMs can be used in Commercial temperature range applications in Table 52 and Figure 54.  
Updated Figure 56. Updated Dynamically Loading Multiple Configuration Images Using  
MultiBoot Option section. Added design note about BPI daisy-chaining software support to BPI  
Daisy-Chaining section. Updated JTAG revision codes in Table 66. Added No Internal Charge  
Pumps or Free-Running Oscillators. Updated information on production stepping differences in  
Table 70. Updated Software Version Requirements.  
04/10/06  
05/19/06  
3.1  
3.2  
Updated JTAG User ID information. Clarified Note 1, Figure 5. Clarified that Figure 45 shows  
electrical connectivity and corrected left- and right-edge DCM coordinates. Updated Table 30,  
Table 31, and Table 32 to show the specific clock line driven by the associated BUFGMUX primitive.  
Corrected the coordinate locations for the associated BUFGMUX primitives in Table 31 and Table 32.  
Updated Table 41 to show that the I0-input is the preferred connection to a BUFGMUX.  
Made further clarifying changes to Figure 46, showing both direct inputs to BUFGMUX primitives and  
to DCMs. Added Atmel AT45DBxxxD-series DataFlash serial PROMs to Table 52. Added details that  
intermediate FPGAs in a BPI-mode, multi-FPGA configuration daisy-chain must be from either the  
Spartan-3E or the Virtex-5 FPGA families (see BPI Daisy-Chaining). Added Using JTAG Interface  
to Communicate to a Configured FPGA Design. Minor updates to Figure 67 and Figure 68.  
Clarified which Spartan-3E FPGA product options support the Readback feature, shown in Table 67.  
05/30/06  
3.2.1  
Corrected various typos and incorrect links.  
DS312-2 (v3.4) November 9, 2006  
www.xilinx.com  
115  
Product Specification  
R
Functional Description  
Date  
Version  
Revision  
10/02/06  
3.3  
Clarified that the block RAM Readback feature is available either on the -5 speed grade or the  
Industrial temperature range.  
11/09/06  
3.4  
Updated the description of the Input Delay Functions. The ODDR2 flip-flop with C0 or C1  
Alignment is no longer supported. Updated Figure 5. Updated Table 6 for improved PCI  
input voltage tolerance. Replaced missing text in Clock Buffers/Multiplexers. Updated SPI  
Flash devices in Table 52. Updated parallel NOR Flash devices in Table 60. Direct, SPI  
Flash in-system Programming Support was added beginning with ISE 8.1i iMPACT  
software for STMicro and Atmel SPI PROMs. Updated Table 70 and Table 71 as Stepping  
1 is in full production. Freshened various hyperlinks. Promoted Module 2 to Production  
status.  
116  
www.xilinx.com  
DS312-2 (v3.4) November 9, 2006  
Product Specification  
160  
Spartan-3E FPGA Family:  
DC and Switching  
Characteristics  
R
0
DS312-3 (v3.4) November 9, 2006  
Product Specification  
DC Electrical Characteristics  
In this section, specifications may be designated as  
Advance, Preliminary, or Production. These terms are  
defined as follows:  
All parameter limits are representative of worst-case supply  
voltage and junction temperature conditions. Unless other-  
wise noted, the published parameter values apply to all  
Spartan™-3E devices. AC and DC characteristics are  
specified using the same numbers for both commercial  
and industrial grades.  
Advance: Initial estimates are based on simulation, early  
characterization, and/or extrapolation from the characteris-  
tics of other families. Values are subject to change. Use as  
estimates, not for production.  
Absolute Maximum Ratings  
Preliminary: Based on characterization. Further changes  
Stresses beyond those listed under Table 72: Absolute  
Maximum Ratings may cause permanent damage to the  
device. These are stress ratings only; functional operation  
of the device at these or any other conditions beyond those  
listed under the Recommended Operating Conditions is not  
implied. Exposure to absolute maximum conditions for  
extended periods of time adversely affects device reliability.  
are not expected.  
Production: These specifications are approved once the  
silicon has been characterized over numerous production  
lots. Parameter values are considered stable with no future  
changes expected.  
Table 72: Absolute Maximum Ratings  
Symbol  
VCCINT  
VCCAUX  
VCCO  
Description  
Internal supply voltage  
Conditions  
Min  
–0.5  
–0.5  
–0.5  
–0.5  
–0.95  
–0.85  
–0.5  
Max  
1.32  
Units  
V
Auxiliary supply voltage  
Output driver supply voltage  
Input reference voltage  
3.00  
V
3.75  
VCCO +0.5(1)  
V
VREF  
V
(1,2,3)  
VIN  
Voltage applied to all User I/O pins and  
Dual-Purpose pins  
Driver in a  
Commercial  
Industrial  
4.4  
V
high-impedance  
state  
4.3  
V
Voltage applied to all Dedicated pins  
Input clamp current per I/O pin  
Electrostatic Discharge Voltage  
All temp. ranges  
VCCAUX+0.5(3)  
V
IIK  
–0.5 V < VIN < (VCCO + 0.5 V)  
Human body model  
100  
mA  
V
VESD  
2000  
Charged device model  
Machine model  
500  
V
200  
V
TJ  
Junction temperature  
Storage temperature  
125  
°C  
°C  
TSTG  
–65  
150  
Notes:  
1. Each of the User I/O and Dual-Purpose pins is associated with one of the four banks’ V  
rails. Keeping V within 500 mV of the  
IN  
CCO  
associated V  
rails or ground rail ensures that the internal diode junctions do not turn on. Table 76 specifies the V  
range used to  
CCO  
CCO  
evaluate the maximum V voltage.  
IN  
2. Input voltages outside the -0.5V to V  
+ 0.5V voltage range are permissible provided that the I input diode clamp diode rating is met and  
IK  
CCO  
no more than 100 pins exceed the range simultaneously.  
3. All Dedicated pins (PROG_B, DONE, TCK, TDI, TDO, and TMS) draw power from the V  
rail (2.5V). Meeting the V max limit ensures  
IN  
CCAUX  
that the internal diode junctions that exist between each of these pins and the V  
rail do not turn on. Table 76 specifies the V  
CCAUX  
CCAUX  
range used to evaluate the maximum V voltage. As long as the V max specification is met, oxide stress is not possible.  
IN  
IN  
4. For soldering guidelines, see UG112: Device Packaging and Thermal Characteristics and XAPP427: Implementation and Solder Reflow  
Guidelines for Pb-Free Packages.  
© 2005-2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc.  
All other trademarks are the property of their respective owners.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
117  
Product Specification  
R
DC and Switching Characteristics  
Power Supply Specifications  
Table 73: Supply Voltage Thresholds for Power-On Reset  
Symbol  
Description  
Min  
0.4  
0.8  
0.4  
Max  
1.0  
Units  
V
Threshold for the V  
Threshold for the V  
Threshold for the V  
supply  
supply  
V
V
V
CCINTT  
CCINT  
V
2.0  
1.0  
CCAUXT  
CCAUX  
V
Bank 2 supply  
CCO  
CCO2T  
Notes:  
1.  
V
, V  
, and V  
supplies to the FPGA can be applied in any order. However, the FPGA’s configuration source (Platform Flash,  
CCO  
CCINT CCAUX  
SPI Flash, parallel NOR Flash, microcontroller) might have specific requirements. Check the data sheet for the attached configuration  
source.  
2. To ensure successful power-on, V  
no dips at any point.  
, V  
Bank 2, and V  
supplies must rise through their respective threshold-voltage ranges with  
CCINT CCO  
CCAUX  
Table 74: Supply Voltage Ramp Rate  
Symbol  
Description  
Min  
0.2  
0.2  
0.2  
Max  
50  
Units  
ms  
V
Ramp rate from GND to valid V  
Ramp rate from GND to valid V  
Ramp rate from GND to valid V  
supply level  
supply level  
CCINTR  
CCINT  
V
50  
ms  
CCAUXR  
CCAUX  
V
Bank 2 supply level  
CCO  
50  
ms  
CCO2R  
Notes:  
1.  
V
, V  
, and V  
supplies to the FPGA can be applied in any order. However, the FPGA’s configuration source (Platform Flash,  
CCO  
CCINT CCAUX  
SPI Flash, parallel NOR Flash, microcontroller) might have specific requirements. Check the data sheet for the attached configuration  
source.  
2. To ensure successful power-on, V  
no dips at any point.  
, V  
Bank 2, and V  
supplies must rise through their respective threshold-voltage ranges with  
CCINT CCO  
CCAUX  
Table 75: Supply Voltage Levels Necessary for Preserving RAM Contents  
Symbol Description  
level required to retain RAM data  
Min  
1.0  
2.0  
Units  
V
V
V
V
V
DRINT  
CCINT  
V
level required to retain RAM data  
DRAUX  
CCAUX  
Notes:  
1. RAM contents include configuration data.  
118  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
General Recommended Operating Conditions  
Table 76: General Recommended Operating Conditions  
Symbol  
Description  
Min  
0
Nominal  
Max  
85  
Units  
° C  
° C  
V
T
Junction temperature  
Commercial  
Industrial  
J
–40  
1.200  
-
100  
V
Internal supply voltage  
Output driver supply voltage  
Auxiliary supply voltage  
1.140  
1.100  
2.375  
–0.5  
1.260  
3.450  
2.625  
CCINT  
(1)  
V
V
V
CCO  
2.500  
V
CCAUX  
(2,3,4)  
V
Input voltage extremes to avoid I/O, Input-only, and  
V
+ 0.5  
V
IN  
CCO  
(2)  
turning on I/O protection  
diodes.  
Dual-Purpose pins  
(3)  
Dedicated pins  
–0.5  
V
+ 0.5  
CCAUX  
(3)  
T
Input signal transition time  
500  
ns  
IN  
Notes:  
1. This V  
range spans the lowest and highest operating voltages for all supported I/O standards. Table 79 lists the recommended V  
CCO  
CCO  
range specific to each of the single-ended I/O standards, and Table 81 lists that specific to the differential standards.  
2. Each of the User I/O and Dual-Purpose pins is associated with one of the four banks’ VCCO rails. Meeting the V limit ensures that the  
IN  
internal diode junctions that exist between these pins and their associated V  
is provided in Table 72.  
and GND rails do not turn on. The absolute maximum rating  
CCO  
3. All Dedicated pins (PROG_B, DONE, TCK, TDI, TDO, and TMS) draw power from the VCCAUX rail (2.5V). Meeting the V max limit  
IN  
ensures that the internal diode junctions that exist between each of these pins and the VCCAUX and GND rails do not turn on.  
4. Input voltages outside the recommended range is permissible provided that the I input diode clamp diode rating is met.  
IK  
5. Measured between 10% and 90% V  
.
CCO  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
119  
Product Specification  
R
DC and Switching Characteristics  
General DC Characteristics for I/O Pins  
Table 77: General DC Characteristics of User I/O, Dual-Purpose, and Dedicated Pins  
Symbol  
Description  
Test Conditions  
Min  
Typ  
Max Units  
I
Leakage current at User I/O,  
Input-only, Dual-Purpose, and  
Dedicated pins  
Driver is in a high-impedance state,  
–10  
+10  
μA  
L
V
= 0V or V  
max, sample-tested  
IN  
CCO  
(2)  
I
Current through pull-up resistor at  
User I/O, Dual-Purpose, Input-only,  
and Dedicated pins  
V
V
V
V
V
= 0V, V  
= 0V, V  
= 0V, V  
= 0V, V  
= 0V, V  
= 3.3V  
= 2.5V  
= 1.8V  
= 1.5V  
= 1.2V  
–0.36  
–0.22  
–0.10  
–0.06  
–0.04  
2.4  
–1.24  
–0.80  
–0.42  
–0.27  
–0.22  
10.8  
mA  
mA  
mA  
mA  
mA  
kΩ  
RPU  
IN  
IN  
IN  
IN  
IN  
CCO  
CCO  
CCO  
CCO  
CCO  
(2)  
PU  
R
Equivalent pull-up resistor value at  
User I/O, Dual-Purpose, Input-only,  
V
= 0V, V  
= 3.0V to 3.45V  
= 2.3V to 2.7V  
= 1.7V to 1.9V  
=1.4V to 1.6V  
IN  
CCO  
V
= 0V, V  
= 0V, V  
2.7  
11.8  
kΩ  
IN  
IN  
CCO  
CCO  
and Dedicated pins (based on I  
per Note 2)  
RPU  
V
4.3  
20.2  
kΩ  
V
= 0V, V  
5.0  
25.9  
kΩ  
IN  
CCO  
V
= 0V, V  
= 1.14V to 1.26V  
CCO  
5.5  
32.0  
kΩ  
IN  
(2)  
I
Current through pull-down resistor at  
User I/O, Dual-Purpose, Input-only,  
and Dedicated pins  
V
= V  
0.10  
0.75  
mA  
RPD  
IN  
CCO  
(2)  
PD  
R
Equivalent pull-down resistor value at  
User I/O, Dual-Purpose, Input-only,  
V
= V  
= 3.0V to 3.45V  
= 2.3V to 2.7V  
= 1.7V to 1.9V  
= 1.4V to 1.6V  
4.0  
3.0  
2.3  
1.8  
1.5  
–10  
3
34.5  
27.0  
19.0  
16.0  
12.6  
+10  
10  
kΩ  
kΩ  
kΩ  
kΩ  
kΩ  
μA  
pF  
Ω
IN  
CCO  
V
= V  
IN  
IN  
IN  
CCO  
CCO  
CCO  
and Dedicated pins (based on I  
per Note 2)  
RPD  
V
V
= V  
= V  
V
= V  
= 1.14V to 1.26V  
CCO  
IN  
I
V
current per pin  
All V  
levels  
REF  
REF  
CCO  
C
R
Input capacitance  
-
IN  
Resistance of optional differential  
termination circuit within a differential  
I/O pair. Not available on Input-only  
pairs.  
V
Min VICM V  
Max  
120  
DT  
OCM  
OCM  
V
Min V V Max  
OD  
ID  
OD  
V
= 2.5V  
CCO  
Notes:  
1. The numbers in this table are based on the conditions set forth in Table 76.  
2. This parameter is based on characterization. The pull-up resistance R = V  
/ I  
. The pull-down resistance R = V / I  
.
PU  
CCO RPU  
PD  
IN RPD  
120  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Quiescent Current Requirements  
Table 78: Quiescent Supply Current Characteristics  
Commercial  
Maximum  
Industrial  
Maximum  
(2)  
(2)  
(2)  
Symbol  
Description  
Device  
Typical  
8
Units  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
I
Quiescent V  
supply current XC3S100E  
XC3S250E  
60  
80  
CCINTQ  
CCINT  
15  
25  
50  
65  
1.5  
1.5  
2
120  
165  
400  
560  
8
160  
210  
500  
700  
10  
XC3S500E  
XC3S1200E  
XC3S1600E  
I
Quiescent V  
supply current  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
CCOQ  
CCO  
8
10  
10  
12  
3
12  
15  
3
12  
15  
I
Quiescent V  
current  
supply  
8
25  
28  
CCAUXQ  
CCAUX  
12  
18  
35  
45  
30  
35  
40  
45  
65  
75  
80  
90  
Notes:  
1. The numbers in this table are based on the conditions set forth in Table 76.  
2. Quiescent supply current is measured with all I/O drivers in a high-impedance state and with all pull-up/pull-down resistors at the I/O pads  
disabled. Typical values are characterized using typical devices at ambient room temperature (T of 25°C at V = 1.2 V, V = 3.3V,  
A
CCINT  
CCO  
and V  
= 2.5V). The maximum limits are tested for each device at the respective maximum specified junction temperature and at  
CCAUX  
maximum voltage limits with V  
= 1.26V, V  
= 3.45V, and V  
= 2.625V. The FPGA is programmed with a “blank” configuration  
CCINT  
CCO  
CCAUX  
data file (i.e., a design with no functional elements instantiated). For conditions other than those described above, (e.g., a design including  
functional elements), measured quiescent current levels may be different than the values in the table.  
3. There are two recommended ways to estimate the total power consumption (quiescent plus dynamic) for a specific design: a) The  
Spartan-3E XPower Estimator provides quick, approximate, typical estimates, and does not require a netlist of the design. b) XPower  
Analyzer uses a netlist as input to provide maximum estimates as well as more accurate typical estimates.  
4. The maximum numbers in this table indicate the minimum current each power rail requires in order for the FPGA to power-on successfully.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
121  
Product Specification  
R
DC and Switching Characteristics  
Single-Ended I/O Standards  
Table 79: Recommended Operating Conditions for User I/Os Using Single-Ended Standards  
(2)  
V
for Drivers  
V
V
V
IH  
CCO  
REF  
IL  
IOSTANDARD  
Attribute  
Min (V) Nom (V) Max (V) Min (V)  
Nom (V)  
Max (V)  
Max (V)  
0.8  
Min (V)  
2.0  
LVTTL  
3.0  
3.0  
2.3  
1.65  
1.4  
1.1  
3.0  
3.0  
3.0  
1.7  
1.7  
1.7  
2.3  
3.3  
3.3  
2.5  
1.8  
1.5  
1.2  
3.3  
3.3  
3.3  
1.8  
1.8  
1.8  
2.5  
3.45  
3.45  
2.7  
(4)  
LVCMOS33  
LVCMOS25  
LVCMOS18  
LVCMOS15  
LVCMOS12  
PCI33_3  
0.8  
2.0  
(4,5)  
(4)  
0.7  
1.7  
1.95  
1.6  
0.38  
0.38  
0.38  
0.9  
0.8  
V
is not used for  
REF  
(4)  
0.8  
these I/O standards  
(4)  
1.3  
0.8  
3.45  
3.45  
3.45  
1.9  
1.5  
PCI66_3  
0.9  
1.5  
PCIX  
HSTL_I_18  
0.8  
-
0.9  
1.1  
1.1  
-
V
- 0.1  
V
V
+ 0.1  
REF  
REF  
REF  
HSTL_III_18  
SSTL18_I  
SSTL2_I  
1.9  
V
- 0.1  
+ 0.1  
REF  
1.9  
0.833  
1.15  
0.900  
1.25  
0.969  
1.35  
V
- 0.125  
- 0.125  
V
+ 0.125  
+ 0.125  
REF  
REF  
REF  
REF  
2.7  
V
V
Notes:  
1. Descriptions of the symbols used in this table are as follows:  
V
V
V
V
– the supply voltage for output drivers  
– the reference voltage for setting the input switching threshold  
– the input voltage that indicates a Low logic level  
– the input voltage that indicates a High logic level  
CCO  
REF  
IL  
IH  
2. The V  
rails supply only output drivers, not input circuits.  
CCO  
3. For device operation, the maximum signal voltage (V max) may be as high as V max. See Table 72.  
IH  
IN  
4. There is approximately 100 mV of hysteresis on inputs using LVCMOS33 and LVCMOS25 I/O standards.  
5. All Dedicated pins (PROG_B, DONE, TCK, TDI, TDO, and TMS) use the LVCMOS25 standard and draw power from the V  
rail (2.5V).  
CCAUX  
The Dual-Purpose configuration pins use the LVCMOS25 standard before the User mode. When using these pins as part of a standard 2.5V  
configuration interface, apply 2.5V to the V lines of Banks 0, 1, and 2 at power-on as well as throughout configuration.  
CCO  
122  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 80: DC Characteristics of User I/Os Using  
Single-Ended Standards (Continued)  
Table 80: DC Characteristics of User I/Os Using  
Single-Ended Standards  
Test  
Conditions  
Logic Level  
Characteristics  
Test  
Conditions  
Logic Level  
Characteristics  
VOL  
Max (V)  
VOH  
Min (V)  
VOL  
Max (V)  
VOH  
Min (V)  
IOSTANDARD  
Attribute  
IOL  
(mA) (mA)  
IOH  
IOSTANDARD  
Attribute  
IOL  
(mA) (mA)  
IOH  
LVTTL(3)  
2
4
6
8
2
4
–2  
–4  
0.4  
2.4  
SSTL2_I  
8.1  
–8.1 VTT – 0.61  
VTT + 0.61  
Notes:  
1. The numbers in this table are based on the conditions set forth in  
Table 76 and Table 79.  
2. Descriptions of the symbols used in this table are as follows:  
6
–6  
8
–8  
IOL the output current condition under which VOL is tested  
IOH the output current condition under which VOH is tested  
VOL the output voltage that indicates a Low logic level  
VOH the output voltage that indicates a High logic level  
VIL the input voltage that indicates a Low logic level  
VIH the input voltage that indicates a High logic level  
VCCO the supply voltage for output drivers  
12  
16  
2
12  
16  
2
–12  
–16  
–2  
LVCMOS33(3)  
0.4  
VCCO 0.4  
4
4
–4  
VREF the reference voltage for setting the input switching threshold  
VTT the voltage applied to a resistor termination  
6
6
–6  
3. For the LVCMOS and LVTTL standards: the same V and V  
8
8
–8  
OL  
OH  
limits apply for both the Fast and Slow slew attributes.  
12  
16  
2
12  
16  
2
–12  
–16  
–2  
4. Tested according to the relevant PCI specifications. For more  
information, see XAPP653: Virtex-II Pro and Spartan-3 3.3V PCI  
Reference Design.  
LVCMOS25(3)  
0.4  
0.4  
VCCO 0.4  
4
4
–4  
6
6
–6  
8
8
–8  
12  
2
12  
2
–12  
–2  
LVCMOS18(3)  
LVCMOS15(3)  
VCCO 0.4  
4
4
–4  
6
6
–6  
8
8
–8  
2
2
–2  
0.4  
0.4  
VCCO 0.4  
4
4
–4  
6
6
–6  
LVCMOS12(3)  
PCI33_3(4)  
PCI66_3(4)  
PCIX  
2
2
–2  
VCCO - 0.4  
90% VCCO  
90% VCCO  
90% VCCO  
VCCO - 0.4  
VCCO - 0.4  
VTT + 0.475  
1.5  
1.5  
1.5  
8
–0.5 10% VCCO  
–0.5 10% VCCO  
–0.5 10% VCCO  
HSTL_I_18  
HSTL_III_18  
SSTL18_I  
–8  
–8  
0.4  
0.4  
24  
6.7  
VTT – 0.475  
–6.7  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
123  
Product Specification  
R
DC and Switching Characteristics  
Differential I/O Standards  
VINP  
VINN  
Differential  
I/O Pair Pins  
P
N
Internal  
Logic  
VINN  
VID  
50%  
VINP  
VICM  
GND level  
VINP + VINN  
V
ICM = Input common mode voltage =  
2
V
VINP - VINN  
ID = Differential input voltage =  
DS099-3_01_012304  
Figure 70: Differential Input Voltages  
Table 81: Recommended Operating Conditions for User I/Os Using Differential Signal Standards  
VCCO for Drivers(1)  
VID  
VICM  
IOSTANDARD  
Attribute  
Min  
(mV)  
Nom  
(mV)  
Max  
(mV)  
Min (V)  
Nom (V)  
2.50  
Max (V)  
Min (V)  
0.30  
0.30  
0.30  
0.5  
Nom (V)  
Max (V)  
2.20  
2.20  
2.2  
LVDS_25  
2.375  
2.375  
2.375  
2.625  
2.625  
2.625  
100  
100  
200  
100  
100  
100  
100  
100  
100  
350  
600  
1.25  
BLVDS_25  
2.50  
350  
600  
1.25  
MINI_LVDS_25  
LVPECL_25(2)  
RSDS_25  
2.50  
-
600  
-
Inputs Only  
2.50  
800  
1000  
1.2  
2.0  
2.375  
1.7  
2.625  
1.9  
200  
-
-
-
-
-
0.3  
1.20  
1.4  
DIFF_HSTL_I_18  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
1.8  
-
-
-
-
0.8  
-
-
-
-
1.1  
1.7  
1.8  
1.9  
0.8  
1.1  
1.7  
1.8  
1.9  
0.7  
1.1  
2.3  
2.5  
2.7  
1.0  
1.5  
Notes:  
1. The V  
rails supply only differential output drivers, not input circuits.  
CCO  
2.  
V
inputs are not used for any of the differential I/O standards.  
REF  
124  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
VOUTP  
VOUTN  
Differential  
I/O Pair Pins  
P
N
Internal  
Logic  
VOH  
VOUTN  
VOD  
50%  
VOUTP  
VOL  
VOCM  
GND level  
VOUTP + VOUTN  
V
OCM = Output common mode voltage =  
2
VOUTP - VOUTN  
= Output voltage indicating a High logic level  
= Output voltage indicating a Low logic level  
V
OD = Output differential voltage =  
VOH  
VOL  
DS312-3_03_021505  
Figure 71: Differential Output Voltages  
Table 82: DC Characteristics of User I/Os Using Differential Signal Standards  
VOD  
ΔVOD  
Min Max  
(mV) (mV)  
VOCM  
ΔVOCM  
VOH  
VOL  
IOSTANDARD  
Attribute  
Min  
(mV)  
Typ  
(mV)  
Max  
(mV)  
Min  
(V)  
Typ  
(V)  
Max  
(V)  
Min  
Max  
Min  
(V)  
Max  
(V)  
(mV)  
(mV)  
LVDS_25  
250  
250  
300  
100  
350  
350  
450  
450  
600  
400  
1.125  
1.20  
1.375  
BLVDS_25  
1.0  
1.1  
1.4  
1.4  
MINI_LVDS_25  
RSDS_25  
50  
50  
DIFF_HSTL_I_18  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
VCCO – 0.4  
VCCO – 0.4  
0.4  
0.4  
VTT + 0.475 VTT – 0.475  
VTT + 0.61 VTT – 0.61  
Notes:  
1. The numbers in this table are based on the conditions set forth in Table 76 and Table 81.  
2. Output voltage measurements for all differential standards are made with a termination resistor (R ) of 100Ωacross the N and P pins of the  
T
differential signal pair. The exception is for BLVDS, shown in Figure 72 below.  
3. At any given time, no more than two of the following differential output standards may be assigned to an I/O bank: LVDS_25, RSDS_25,  
MINI_LVDS_25  
1/4th of Bourns  
Part Number  
CAT16-LV4F12  
1/4th of Bourns  
Part Number  
CAT16-PT4F4  
VCCO = 2.5V  
VCCO = 2.5V  
Z0 = 50Ω  
Z0 = 50Ω  
165Ω  
140Ω  
100Ω  
165Ω  
ds312-3_07_102105  
Figure 72: External Termination Resistors for BLVDS I/Os  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
125  
Product Specification  
R
DC and Switching Characteristics  
Switching Characteristics  
All Spartan-3E FPGAs ship in two speed grades: –4 and the  
higher performance –5. Switching characteristics in this  
document may be designated as Advance, Preliminary, or  
Production, as shown in Table 83. Each category is defined  
as follows:  
To create a Xilinx MySupport user account and sign up for  
automatic E-mail notification whenever this data sheet is  
updated:  
Sign Up for Alerts on Xilinx MySupport  
www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=19380  
Advance: These specifications are based on simulations  
only and are typically available soon after establishing  
FPGA specifications. Although speed grades with this des-  
ignation are considered relatively stable and conservative,  
some under-reporting might still occur.  
Timing parameters and their representative values are  
selected for inclusion below either because they are impor-  
tant as general design requirements or they indicate funda-  
mental device performance characteristics. The Spartan-3E  
speed files (v1.26), part of the Xilinx Development Software,  
are the original source for many but not all of the values.  
The speed grade designations for these files are shown in  
Table 83. For more complete, more precise, and worst-case  
data, use the values reported by the Xilinx static timing ana-  
lyzer (TRACE in the Xilinx development software) and  
back-annotated to the simulation netlist.  
Preliminary: These specifications are based on complete  
early silicon characterization. Devices and speed grades  
with this designation are intended to give a better indication  
of the expected performance of production silicon. The  
probability of under-reporting preliminary delays is greatly  
reduced compared to Advance data.  
Production: These specifications are approved once  
enough production silicon of a particular device family mem-  
ber has been characterized to provide full correlation  
between speed files and devices over numerous production  
lots. There is no under-reporting of delays, and customers  
receive formal notification of any subsequent changes. Typ-  
ically, the slowest speed grades transition to Production  
before faster speed grades.  
Table 83: Spartan-3E v1.26 Speed Grade Designations  
Device  
Advance  
Preliminary  
Production  
0, 4, 5  
0, 4, 5  
0, 4, 5  
0, 4, 5  
0, 4, 5  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
Software Version Requirements  
Production-quality systems must use FPGA designs com-  
piled using a speed file designated as PRODUCTION sta-  
tus. FPGAs designs using a less mature speed file  
designation should only be used during system prototyping  
or pre-production qualification. FPGA designs with speed  
files designated as Preview, Advance, or Preliminary should  
not be used in a production-quality system.  
Table 84 provides the history of the Spartan-3E speed files  
since all devices reached Production status.  
Table 84: Spartan-3E Speed File Version History  
ISE  
Version Release  
Description  
Whenever a speed file designation changes, as a device  
matures toward Production status, rerun the latest Xilinx  
ISE software on the FPGA design to ensure that the FPGA  
design incorporates the latest timing information and soft-  
ware updates.  
1.26  
8.2.02i  
8.2.01i  
Added -0 speed grade, which  
includes minimum values.  
1.25  
Added XA Automotive devices to  
speed file. Improved model for left  
and right DCMs.  
Production designs require the Xilinx ISE 8.1i, Service Pack  
3 or later development software and the v1.21 or later speed  
files, indicated in Table 83.  
1.23  
1.21  
8.2i  
Updated input setup/hold values  
based on default  
IFD_DELAY_VALUE settings.  
All parameter limits are representative of worst-case supply  
voltage and junction temperature conditions. Unless other-  
wise noted, the published parameter values apply to all  
Spartan™-3E devices. AC and DC characteristics are  
specified using the same numbers for both commercial  
and industrial grades.  
8.1.03i  
All Spartan-3E FPGAs and all  
speed grades elevated to  
Production status.  
Some specifications list different values for one or more  
device Steppings, indicated by the device top marking.  
126  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
I/O Timing  
Table 85: Pin-to-Pin Clock-to-Output Times for the IOB Output Path  
Speed Grade  
-0  
-5  
-4  
Symbol  
Description  
Conditions  
Device  
Max  
Max  
Units  
Abs. Min.  
Clock-to-Output Times  
(2)  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
T
When reading from the  
Output Flip-Flop (OFF),  
the time from the active  
transition on the Global  
Clock pin to data  
LVCMOS25 , 12mA  
0.92  
1.14  
1.14  
1.15  
1.14  
1.96  
1.79  
1.82  
1.96  
2.0  
2.66  
3.00  
3.01  
3.01  
3.00  
5.60  
4.91  
4.98  
5.36  
5.45  
2.79  
3.45  
3.46  
3.46  
3.45  
5.92  
5.43  
5.51  
5.94  
6.05  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ICKOFDCM  
outputdrive, Fastslew  
rate, with DCM  
(3)  
appearing at the Output  
pin. The DCM is iuses.  
(2)  
T
When reading from OFF,  
the time from the active  
transition on the Global  
Clock pin to data  
appearing at the Output  
pin. The DCM is not used.  
LVCMOS25 , 12mA XC3S100E  
ICKOF  
outputdrive, Fastslew  
rate, without DCM  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This clock-to-output time requires adjustment whenever a signal standard other than LVCMOS25 is assigned to the Global Clock Input or a  
standard other than LVCMOS25 with 12 mA drive and Fast slew rate is assigned to the data Output. If the former is true, add the appropriate  
Input adjustment from Table 90. If the latter is true, add the appropriate Output adjustment from Table 93.  
3. DCM output jitter is included in all measurements.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
127  
Product Specification  
R
DC and Switching Characteristics  
Table 86: Pin-to-Pin Setup and Hold Times for the IOB Input Path (System Synchronous)  
Speed Grade  
IFD_  
DELAY_  
VALUE=  
-5  
-4  
Symbol  
Setup Times  
TPSDCM  
Description  
Conditions  
LVCMOS25(2)  
Device  
Min  
Min  
Units  
When writing to the Input  
Flip-Flop (IFF), the time from the IFD_DELAY_VALUE = 0,  
setup of data at the Input pin to  
the active transition at a Global  
Clock pin. The DCM is used. No  
Input Delay is programmed.  
,
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
2.65  
2.25  
2.25  
2.25  
2.25  
2.24  
3.19  
3.91  
2.57  
3.20  
2.98  
2.59  
2.59  
2.58  
2.59  
2.31  
3.33  
4.61  
3.28  
3.56  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
0
with DCM(4)  
When writing to IFF, the time  
from the setup of data at the  
Input pin to an active transition  
at the Global Clock pin. The  
DCM is not used. The Input  
Delay is programmed.  
LVCMOS25(2)  
,
IFD_DELAY_VALUE =  
default software setting  
TPSFD  
2
3
3
3
3
Hold Times  
TPHDCM  
When writing to IFF, the time  
from the active transition at the  
Global Clock pin to the point  
when data must be held at the  
Input pin. The DCM is used. No  
Input Delay is programmed.  
LVCMOS25(3)  
IFD_DELAY_VALUE = 0,  
with DCM(4)  
,
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
–0.54  
0.06  
–0.52  
0.14  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
0
0.07  
0.14  
0.07  
0.15  
0.06  
0.14  
When writing to IFF, the time  
from the active transition at the  
Global Clock pin to the point  
when data must be held at the  
Input pin. The DCM is not used.  
The Input Delay is programmed.  
LVCMOS25(3)  
IFD_DELAY_VALUE =  
default software setting  
,
0.00  
0.07  
TPHFD  
2
3
3
3
3
–0.50  
–0.77  
0.32  
–0.49  
–0.75  
0.37  
–0.15  
–0.11  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This setup time requires adjustment whenever a signal standard other than LVCMOS25 is assigned to the Global Clock Input or the data  
Input. If this is true of the Global Clock Input, subtract the appropriate adjustment from Table 90. If this is true of the data Input, add the  
appropriate Input adjustment from the same table.  
3. This hold time requires adjustment whenever a signal standard other than LVCMOS25 is assigned to the Global Clock Input or the data  
Input. If this is true of the Global Clock Input, add the appropriate Input adjustment from Table 90. If this is true of the data Input, subtract the  
appropriate Input adjustment from the same table. When the hold time is negative, it is possible to change the data before the clock’s active  
edge.  
4. DCM output jitter is included in all measurements.  
128  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Speed Grade  
Table 87: Setup and Hold Times for the IOB Input Path  
-5  
-4  
IFD_  
DELAY_  
VALUE=  
Symbol  
Description  
Conditions  
Device  
Min  
Min  
Units  
Setup Times  
TIOPICK  
Time from the setup of data at the  
LVCMOS25(2)  
,
0
All  
1.84  
2.12  
ns  
Input pin to the active transition at the IFD_DELAY_VALUE = 0  
ICLK input of the Input Flip-Flop  
(IFF). No Input Delay is  
programmed.  
TIOPICKD  
Time from the setup of data at the  
Input pin to the active transition at the IFD_DELAY_VALUE =  
LVCMOS25(2)  
,
2
3
XC3S100E  
All Others  
6.12  
6.76  
7.01  
7.72  
ns  
IFF’s ICLK input. The Input Delay is  
programmed.  
default software setting  
Hold Times  
TIOICKP  
Time from the active transition at the LVCMOS25(2)  
,
–0.76  
–0.76  
0
All  
ns  
ns  
IFF’s ICLK input to the point where  
data must be held at the Input pin. No  
Input Delay is programmed.  
IFD_DELAY_VALUE = 0  
TIOICKPD  
Time from the active transition at the LVCMOS25(2)  
,
–3.74  
–4.32  
–3.74  
–4.32  
2
3
XC3S100E  
All Others  
IFF’s ICLK input to the point where  
data must be held at the Input pin.  
The Input Delay is programmed.  
IFD_DELAY_VALUE =  
default software setting  
Set/Reset Pulse Width  
TRPW_IOB Minimum pulse width to SR control  
input on IOB  
All  
1.00  
1.15  
ns  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This setup time requires adjustment whenever a signal standard other than LVCMOS25 is assigned to the data Input. If this is true, add the  
appropriate Input adjustment from Table 90.  
3. These hold times require adjustment whenever a signal standard other than LVCMOS25 is assigned to the data Input. If this is true, subtract  
the appropriate Input adjustment from Table 90. When the hold time is negative, it is possible to change the data before the clock’s active  
edge.  
Table 88: Sample Window (Source Synchronous)  
Symbol  
Description  
Max  
Units  
T
Setup and hold capture window of The input capture sample window value is highly specific to a  
ps  
SAMP  
an IOB input flip-flop.  
particular application, device, package, I/O standard, I/O  
placement, DCM usage, and clock buffer. Please consult the  
appropriate Xilinx application note for application-specific  
values.  
XAPP485: 1:7 Deserialization in Spartan-3E FPGAs at  
Speeds Up to 666 Mbps  
www.xilinx.com/bvdocs/appnotes/xapp485.pdf  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
129  
Product Specification  
R
DC and Switching Characteristics  
Table 89: Propagation Times for the IOB Input Path  
Speed Grade  
-5  
-4  
IFD_  
DELAY_  
VALUE=  
Symbol  
Description  
Conditions  
Device  
Max  
Max  
Units  
Propagation Times  
(2)  
T
The time it takes for data to LVCMOS25  
,
0
All  
1.96  
2.25  
ns  
IOPLI  
travel from the Input pin  
through the IFF latch to the  
I output with no input delay  
programmed  
IFD_DELAY_VALUE = 0  
(2)  
T
The time it takes for data to LVCMOS25  
,
2
3
XC3S100E  
All Others  
5.40  
6.30  
5.97  
7.20  
ns  
IOPLID  
travel from the Input pin IFD_DELAY_VALUE =  
through the IFF latch to the default software setting  
I output with the input delay  
programmed  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This propagation time requires adjustment whenever a signal standard other than LVCMOS25 is assigned to the data Input. When this is  
true, add the appropriate Input adjustment from Table 90.  
Table 90: Input Timing Adjustments by IOSTANDARD  
Table 90: Input Timing Adjustments by IOSTANDARD  
Add the  
Add the  
Adjustment Below  
Adjustment Below  
Convert Input Time from  
LVCMOS25 to the  
Following Signal Standard  
(IOSTANDARD)  
Convert Input Time from  
LVCMOS25 to the  
Following Signal Standard  
(IOSTANDARD)  
Speed Grade  
Speed Grade  
-5  
-4  
Units  
-5  
-4  
Units  
Single-Ended Standards  
LVTTL  
Differential Standards  
LVDS_25  
0.42  
0.42  
0
0.43  
0.43  
0
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
0.48  
0.39  
0.48  
0.27  
0.48  
0.48  
0.48  
0.30  
0.32  
0.49  
0.39  
0.49  
0.27  
0.49  
0.49  
0.49  
0.30  
0.32  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
LVCMOS33  
LVCMOS25  
LVCMOS18  
LVCMOS15  
LVCMOS12  
PCI33_3  
BLVDS_25  
MINI_LVDS_25  
LVPECL_25  
0.96  
0.62  
0.26  
0.41  
0.41  
0.22  
0.12  
0.17  
0.30  
0.15  
0.98  
0.63  
0.27  
0.42  
0.42  
0.22  
0.12  
0.17  
0.30  
0.15  
RSDS_25  
DIFF_HSTL_I_18  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
PCI66_3  
PCIX  
HSTL_I_18  
HSTL_III_18  
SSTL18_I  
Notes:  
1. The numbers in this table are tested using the methodology  
presented in Table 94 and are based on the operating conditions  
set forth in Table 76, Table 79, and Table 81.  
2. These adjustments are used to convert input path times originally  
specified for the LVCMOS25 standard to times that correspond to  
other signal standards.  
SSTL2_I  
130  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Speed Grade  
Table 91: Timing for the IOB Output Path  
-0  
-5  
-4  
Symbol  
Description  
Conditions  
Device  
All  
Max  
Max  
Units  
Abs. Min.  
Clock-to-Output Times  
(2)  
T
When reading from the  
LVCMOS25 , 12 mA  
0.88  
2.18  
2.50  
ns  
IOCKP  
Output Flip-Flop (OFF), the  
output drive, Fast slew  
time from the active transition rate  
at the OCLK input to data  
appearing at the Output pin  
Propagation Times  
(2)  
T
The time it takes for data to  
LVCMOS25 , 12 mA  
All  
0.90  
0.94  
2.24  
2.32  
2.58  
2.67  
ns  
ns  
IOOP  
travel from the IOB’s O input output drive, Fast slew  
to the Output pin  
rate  
T
The time it takes for data to  
travel from the O input  
through the OFF latch to the  
Output pin  
IOOLP  
Set/Reset Times  
(2)  
T
Time from asserting the  
OFF’s SR input to  
setting/resetting data at the  
Output pin  
LVCMOS25 , 12 mA  
output drive, Fast slew  
rate  
All  
1.32  
3.38  
3.27  
8.40  
3.76  
9.65  
ns  
ns  
IOSRP  
T
Time from asserting the  
Global Set Reset (GSR)  
input on the  
IOGSRQ  
STARTUP_SPARTAN3E  
primitive to setting/resetting  
data at the Output pin  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This time requires adjustment whenever a signal standard other than LVCMOS25 with 12 mA drive and Fast slew rate is assigned to the data  
Output. When this is true, add the appropriate Output adjustment from Table 93.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
131  
Product Specification  
R
DC and Switching Characteristics  
Table 92: Timing for the IOB Three-State Path  
Speed Grade  
-5  
-0  
-4  
Symbol  
Description  
Conditions  
Device  
All  
Max  
Max  
Units  
Abs. Max.  
Synchronous Output Enable/Disable Times  
T
T
Time from the active transition at LVCMOS25,  
the OTCLK input of the  
Three-state Flip-Flop (TFF) to  
when the Output pin enters the  
high-impedance state  
0.60  
1.49  
1.71  
ns  
IOCKHZ  
IOCKON  
12 mA output  
drive, Fast slew  
rate  
(2)  
Time from the active transition at  
TFF’s OTCLK input to when the  
Output pin drives valid data  
All  
All  
1.09  
3.43  
2.70  
8.52  
3.10  
9.79  
ns  
ns  
Asynchronous Output Enable/Disable Times  
T
Time from asserting the Global  
Three State (GTS) input on the  
STARTUP_SPARTAN3E  
primitive to when the Output pin  
enters the high-impedance state  
LVCMOS25,  
12 mA output  
drive, Fast slew  
rate  
GTS  
Set/Reset Times  
T
Time from asserting TFF’s SR  
input to when the Output pin  
enters a high-impedance state  
LVCMOS25,  
12 mA output  
drive, Fast slew  
rate  
All  
All  
0.85  
1.34  
2.11  
3.32  
2.43  
3.82  
ns  
ns  
IOSRHZ  
(2)  
T
Time from asserting TFF’s SR  
input at TFF to when the Output  
pin drives valid data  
IOSRON  
Notes:  
1. The numbers in this table are tested using the methodology presented in Table 94 and are based on the operating conditions set forth in  
Table 76 and Table 79.  
2. This time requires adjustment whenever a signal standard other than LVCMOS25 with 12 mA drive and Fast slew rate is assigned to the  
data Output. When this is true, add the appropriate Output adjustment from Table 93.  
132  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 93: Output Timing Adjustments for IOB (Continued)  
Table 93: Output Timing Adjustments for IOB  
Add the  
Add the  
Adjustment  
Adjustment  
Convert Output Time from  
Below  
Convert Output Time from  
Below  
LVCMOS25 with 12mA Drive and  
Fast Slew Rate to the Following  
Signal Standard (IOSTANDARD)  
LVCMOS25 with 12mA Drive and  
Fast Slew Rate to the Following  
Signal Standard (IOSTANDARD)  
Speed Grade  
Speed Grade  
-5  
-4  
Units  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
-5  
-4  
Units  
LVCMOS18  
Slow  
2 mA  
4 mA  
6 mA  
8 mA  
2 mA  
4 mA  
6 mA  
8 mA  
2 mA  
4 mA  
6 mA  
2 mA  
4 mA  
6 mA  
2 mA  
2 mA  
5.03  
3.08  
2.39  
1.83  
3.98  
2.04  
1.09  
0.72  
4.49  
3.81  
2.99  
3.25  
2.59  
1.47  
6.36  
4.26  
0.33  
0.53  
0.44  
0.44  
0.82  
0.24  
–0.20  
5.24  
3.21  
2.49  
1.90  
4.15  
2.13  
1.14  
0.75  
4.68  
3.97  
3.11  
3.38  
2.70  
1.53  
6.63  
4.44  
0.34  
0.55  
0.46  
0.46  
0.85  
0.25  
–0.20  
Single-Ended Standards  
LVTTL  
Slow  
Fast  
Slow  
Fast  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
16 mA  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
16 mA  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
16 mA  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
16 mA  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
2 mA  
4 mA  
6 mA  
8 mA  
12 mA  
5.20  
2.32  
1.83  
0.64  
0.68  
0.41  
4.80  
1.88  
1.39  
0.32  
0.28  
0.28  
5.08  
1.82  
1.00  
0.66  
0.40  
0.41  
4.68  
1.46  
0.38  
0.33  
0.28  
0.28  
4.04  
2.17  
1.46  
1.04  
0.65  
3.53  
1.65  
0.44  
0.20  
0
5.41  
2.41  
1.90  
0.67  
0.70  
0.43  
5.00  
1.96  
1.45  
0.34  
0.30  
0.30  
5.29  
1.89  
1.04  
0.69  
0.42  
0.43  
4.87  
1.52  
0.39  
0.34  
0.30  
0.30  
4.21  
2.26  
1.52  
1.08  
0.68  
3.67  
1.72  
0.46  
0.21  
0
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Fast  
LVCMOS15  
LVCMOS12  
Slow  
Fast  
LVCMOS33  
Slow  
Fast  
HSTL_I_18  
HSTL_III_18  
PCI33_3  
PCI66_3  
PCIX  
SSTL18_I  
SSTL2_I  
Differential Standards  
LVDS_25  
–0.55  
0.04  
–0.55  
0.04  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
BLVDS_25  
LVCMOS25  
Slow  
Fast  
MINI_LVDS_25  
LVPECL_25  
–0.56  
–0.56  
Input Only  
RSDS_25  
–0.48  
0.42  
0.53  
0.40  
0.44  
–0.48  
0.42  
0.55  
0.40  
0.44  
DIFF_HSTL_I_18  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
Notes:  
1. The numbers in this table are tested using the methodology  
presented in Table 94 and are based on the operating conditions  
set forth in Table 76, Table 79, and Table 81.  
2. These adjustments are used to convert output- and  
three-state-path times originally specified for the LVCMOS25  
standard with 12 mA drive and Fast slew rate to times that  
correspond to other signal standards. Do not adjust times that  
measure when outputs go into a high-impedance state.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
133  
Product Specification  
R
DC and Switching Characteristics  
Timing Measurement Methodology  
When measuring timing parameters at the programmable  
I/Os, different signal standards call for different test condi-  
tions. Table 94 lists the conditions to use for each standard.  
tion, and V is set to zero. The same measurement point  
T
(V ) that was used at the Input is also used at the Output.  
M
The method for measuring Input timing is as follows: A sig-  
V (V  
)
T
REF  
nal that swings between a Low logic level of V and a High  
L
logic level of V is applied to the Input under test. Some  
standards also require the application of a bias voltage to  
FPGA Output  
H
R (R  
T
)
REF  
the V  
pins of a given bank to properly set the  
REF  
V
(V  
)
M
MEAS  
input-switching threshold. The measurement point of the  
Input signal (V ) is commonly located halfway between V  
M
L
C (C  
)
L
REF  
and V .  
H
The Output test setup is shown in Figure 73. A termination  
voltage V is applied to the termination resistor R , the other  
ds312-3_04_090105  
T
T
Notes:  
end of which is connected to the Output. For each standard,  
R and V generally take on the standard values recom-  
1. The names shown in parentheses are  
used in the IBIS file.  
T
T
mended for minimizing signal reflections. If the standard  
does not ordinarily use terminations (e.g., LVCMOS,  
Figure 73: Output Test Setup  
LVTTL), then R is set to 1MΩ to indicate an open connec-  
T
Table 94: Test Methods for Timing Measurement at I/Os  
Inputs and  
Inputs  
Outputs  
Outputs  
Signal Standard  
(IOSTANDARD)  
VREF (V)  
VL (V)  
VH (V)  
RT (Ω)  
VT (V)  
VM (V)  
Single-Ended  
LVTTL  
-
-
-
-
-
-
-
0
3.3  
3.3  
1M  
1M  
1M  
1M  
1M  
1M  
25  
25  
25  
25  
25  
25  
50  
50  
50  
50  
0
0
1.4  
1.65  
1.25  
0.9  
LVCMOS33  
LVCMOS25  
LVCMOS18  
LVCMOS15  
LVCMOS12  
PCI33_3  
0
0
2.5  
0
0
1.8  
0
0
0
1.5  
0
0.75  
0.6  
1.2  
0
Rising  
Falling  
Rising  
Falling  
Rising  
Falling  
Note 3  
Note 3  
0
0.94  
2.03  
0.94  
2.03  
0.94  
2.03  
VREF  
VREF  
VREF  
VREF  
3.3  
0
PCI66_3  
PCIX  
-
-
Note 3  
Note 3  
Note 3  
Note 3  
3.3  
0
3.3  
0.9  
1.8  
0.9  
1.25  
HSTL_I_18  
HSTL_III_18  
SSTL18_I  
SSTL2_I  
0.9  
1.1  
V
REF – 0.5  
VREF + 0.5  
VREF + 0.5  
VREF + 0.5  
VREF + 0.75  
VREF – 0.5  
VREF – 0.5  
VREF – 0.75  
0.9  
1.25  
Differential  
LVDS_25  
-
-
-
-
-
VICM – 0.125  
VICM – 0.125  
VICM – 0.125  
VICM – 0.3  
VICM + 0.125  
VICM + 0.125  
VICM + 0.125  
VICM + 0.3  
50  
1M  
50  
1.2  
0
VICM  
VICM  
VICM  
VICM  
VICM  
BLVDS_25  
MINI_LVDS_25  
LVPECL_25  
RSDS_25  
1.2  
0
1M  
50  
VICM – 0.1  
VICM + 0.1  
1.2  
134  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Inputs and  
Table 94: Test Methods for Timing Measurement at I/Os (Continued)  
Inputs  
Outputs  
Outputs  
VM (V)  
VREF  
Signal Standard  
(IOSTANDARD)  
V
REF (V)  
VL (V)  
VH (V)  
RT (Ω)  
50  
VT (V)  
0.9  
DIFF_HSTL_I_18  
0.9  
VREF – 0.5  
VREF – 0.5  
VREF – 0.5  
VREF – 0.5  
VREF + 0.5  
VREF + 0.5  
VREF + 0.5  
VREF + 0.5  
DIFF_HSTL_III_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
1.1  
50  
1.8  
VREF  
0.9  
50  
0.9  
VREF  
1.25  
50  
1.25  
VREF  
Notes:  
1. Descriptions of the relevant symbols are as follows:  
V
V
V
– The reference voltage for setting the input switching threshold  
– The common mode input voltage  
– Voltage of measurement point on signal transition  
REF  
ICM  
M
V – Low-level test voltage at Input pin  
L
V
– High-level test voltage at Input pin  
H
R – Effective termination resistance, which takes on a value of 1MΩ when no parallel termination is required  
T
V – Termination voltage  
T
2. The load capacitance (C ) at the Output pin is 0 pF for all signal standards.  
L
3. According to the PCI specification.  
The capacitive load (C ) is connected between the output  
and GND. The Output timing for all standards, as published  
Delays for a given application are simulated according to its  
specific load conditions as follows:  
L
in the speed files and the data sheet, is always based on a  
1. Simulate the desired signal standard with the output  
driver connected to the test setup shown in Figure 73.  
C value of zero. High-impedance probes (less than 1 pF)  
L
are used for all measurements. Any delay that the test fix-  
ture might contribute to test measurements is subtracted  
from those measurements to produce the final timing num-  
bers as published in the speed files and data sheet.  
Use parameter values V , R , and V from Table 94.  
T
T
M
C
is zero.  
REF  
2. Record the time to V .  
M
3. Simulate the same signal standard with the output  
driver connected to the PCB trace with load. Use the  
Using IBIS Models to Simulate Load  
Conditions in Application  
IBIS models permit the most accurate prediction of timing  
delays for a given application. The parameters found in the  
appropriate IBIS model (including V , R , C  
,
REF REF REF  
and V  
load.  
values) or capacitive value to represent the  
MEAS  
4. Record the time to V  
.
IBIS model (V , R , and V ) correspond directly  
MEAS  
REF  
REF  
MEAS  
with the parameters used in Table 94 (V , R , and V ). Do  
5. Compare the results of steps 2 and 4. Add (or subtract)  
the increase (or decrease) in delay to (or from) the  
appropriate Output standard adjustment (Table 93) to  
yield the worst-case delay of the PCB trace.  
T
T
M
not confuse V  
model with V  
(the termination voltage) from the IBIS  
(the input-switching threshold) from the  
REF  
REF  
table. A fourth parameter, C , is always zero. The four  
REF  
parameters describe all relevant output test conditions. IBIS  
models are found in the Xilinx development software as well  
as at the following link:  
http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
135  
Product Specification  
R
DC and Switching Characteristics  
Simultaneously Switching Output Guidelines  
This section provides guidelines for the recommended max-  
imum allowable number of Simultaneous Switching Outputs  
(SSOs). These guidelines describe the maximum number  
of user I/O pins of a given output signal standard that should  
simultaneously switch in the same direction, while maintain-  
ing a safe level of switching noise. Meeting these guidelines  
for the stated test conditions ensures that the FPGA oper-  
ates free from the adverse effects of ground and power  
bounce.  
vides the number of equivalent V  
output signal standard and drive strength, Table 96 recom-  
mends the maximum number of SSOs, switching in the  
/GND pairs. For each  
CCO  
same direction, allowed per V  
/GND pair within an I/O  
CCO  
bank. The guidelines in Table 96 are categorized by pack-  
age style. Multiply the appropriate numbers from Table 95  
and Table 96 to calculate the maximum number of SSOs  
allowed within an I/O bank. Exceeding these SSO guide-  
lines might result in increased power or ground bounce,  
degraded signal integrity, or increased system jitter.  
Ground or power bounce occurs when a large number of  
outputs simultaneously switch in the same direction. The  
output drive transistors all conduct current to a common  
SSO  
/IO Bank = Table 95 x Table 96  
MAX  
The recommended maximum SSO values assumes that the  
FPGA is soldered on the printed circuit board and that the  
board uses sound design practices. The SSO values do not  
apply for FPGAs mounted in sockets, due to the lead induc-  
tance introduced by the socket.  
voltage rail. Low-to-High transitions conduct to the V  
CCO  
rail; High-to-Low transitions conduct to the GND rail. The  
resulting cumulative current transient induces a voltage dif-  
ference across the inductance that exists between the die  
pad and the power supply or ground return. The inductance  
is associated with bonding wires, the package lead frame,  
and any other signal routing inside the package. Other vari-  
ables contribute to SSO noise levels, including stray induc-  
tance on the PCB as well as capacitive loading at receivers.  
Any SSO-induced voltage consequently affects internal  
switching noise margins and ultimately signal quality.  
The number of SSOs allowed for quad-flat packages (VQ,  
TQ, PQ) is lower than for ball grid array packages (FG) due  
to the larger lead inductance of the quad-flat packages. The  
results for chip-scale packaging (CP132) are better than  
quad-flat packaging but not as high as for ball grid array  
packaging. Ball grid array packages are recommended for  
applications with a large number of simultaneously switch-  
ing outputs.  
Table 95 and Table 96 provide the essential SSO guide-  
lines. For each device/package combination, Table 95 pro-  
Table 95: Equivalent V  
/GND Pairs per Bank  
CCO  
Package Style (including Pb-free)  
Device  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
VQ100  
CP132  
TQ144  
PQ208  
FT256  
FG320  
FG400  
FG484  
2
2
-
2
2
2
-
2
2
-
-
3
3
-
-
4
4
4
-
-
-
-
-
-
-
5
5
5
-
-
-
-
6
6
-
-
-
-
-
7
136  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 96: Recommended Number of Simultaneously  
Table 96: Recommended Number of Simultaneously  
Switching Outputs per V  
-GND Pair (Continued)  
Switching Outputs per V  
-GND Pair  
CCO  
CCO  
Package Type  
Package Type  
FT256,  
FT256,  
FG320,  
FG400,  
FG484  
FG320,  
FG400,  
FG484  
Signal Standard  
(IOSTANDARD)  
VQ  
100  
TQ  
144  
PQ  
208  
CP  
132  
Signal Standard  
(IOSTANDARD)  
VQ  
100  
TQ  
144  
PQ  
208  
CP  
132  
LVCMOS15  
Slow  
2
4
6
2
4
6
2
2
16  
8
10  
7
10  
7
19  
9
55  
31  
18  
25  
16  
13  
55  
31  
16  
13  
11  
17  
16  
15  
18  
Single-Ended Standards  
LVTTL  
Slow  
Fast  
Slow  
Fast  
2
4
34  
17  
17  
8
20  
10  
10  
6
19  
10  
7
52  
26  
26  
13  
13  
6
60  
41  
29  
22  
13  
11  
34  
20  
15  
12  
10  
9
6
5
5
9
Fast  
9
9
9
13  
7
6
7
7
7
8
6
5
5
5
5
12  
16  
2
8
6
5
LVCMOS12  
Slow  
Fast  
17  
10  
8
11  
10  
8
11  
10  
8
16  
10  
16  
13  
11  
16  
16  
15  
18  
5
5
5
17  
9
17  
9
17  
9
26  
13  
13  
6
PCI33_3  
PCI66_3  
PCIX  
4
8
8
8
6
7
7
7
7
7
7
8
6
6
6
HSTL_I_18  
HSTL_III_18  
SSTL18_I  
SSTL2_I  
10  
10  
9
10  
10  
9
10  
10  
9
12  
16  
2
5
5
5
6
5
5
5
5
LVCMOS33  
34  
17  
17  
8
20  
10  
10  
6
20  
10  
7
52  
26  
26  
13  
13  
6
76  
46  
27  
20  
13  
10  
44  
26  
16  
12  
10  
8
12  
12  
12  
4
Differential Standards (Number of I/O Pairs or Channels)  
6
8
6
LVDS_25  
6
4
6
6
4
6
6
12  
4
20  
4
12  
16  
2
8
6
5
BLVDS_25  
4
5
5
5
MINI_LVDS_25  
LVPECL_25  
6
12  
20  
17  
8
17  
8
17  
8
26  
13  
13  
6
Input Only  
4
RSDS_25  
6
5
5
4
6
6
5
5
4
6
6
5
5
4
6
12  
8
20  
8
6
8
6
6
DIFF_HSTL_I_18  
DIFF_HSTL_IIII_18  
DIFF_SSTL18_I  
DIFF_SSTL2_I  
8
6
6
6
8
8
12  
16  
2
5
5
5
6
7
7
8
8
5
5
9
8
LVCMOS25  
Slow  
Fast  
28  
13  
13  
6
16  
10  
7
16  
10  
7
42  
19  
19  
9
76  
46  
33  
24  
18  
42  
20  
15  
13  
11  
64  
34  
22  
18  
36  
21  
13  
10  
Notes:  
1. The numbers in this table are recommendations that assume sound  
board layout practice. This table assumes the following parasitic  
factors: combined PCB trace and land inductance per VCCO and GND  
pin of 1.0 nH, receiver capacitive load of 15 pF. Test limits are the  
VIL/VIH voltage limits for the respective I/O standard.  
2. The PQ208 results are based on physical measurements of a PQ208  
package soldered to a typical printed circuit board. All other results  
are based on worst-case simulation and an interpolation of the  
PQ208 physical results.  
3. If more than one signal standard is assigned to the I/Os of a given  
bank, refer to XAPP689: Managing Ground Bounce in Large FPGAs  
for information on how to perform weighted average SSO  
calculations.  
4
6
8
6
6
12  
2
6
6
6
9
17  
9
16  
9
16  
9
26  
13  
13  
6
4
6
9
7
7
8
6
6
6
12  
2
5
5
5
6
LVCMOS18  
Slow  
Fast  
19  
13  
6
11  
7
8
29  
19  
9
4
6
6
5
5
8
6
4
4
9
2
13  
8
8
8
19  
13  
6
4
5
5
6
4
4
4
8
4
4
4
6
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
137  
Product Specification  
R
DC and Switching Characteristics  
Configurable Logic Block (CLB) Timing  
Table 97: CLB (SLICEM) Timing  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Clock-to-Output Times  
T
When reading from the FFX (FFY) Flip-Flop,  
the time from the active transition at the CLK  
input to data appearing at the XQ (YQ) output  
CKO  
-
0.52  
-
0.60  
ns  
Setup Times  
T
Time from the setup of data at the F or G input  
to the active transition at the CLK input of the  
CLB  
AS  
0.46  
0.32  
-
-
0.52  
0.36  
-
-
ns  
ns  
T
Time from the setup of data at the BX or BY  
input to the active transition at the CLK input of  
the CLB  
DICK  
Hold Times  
T
Time from the active transition at the CLK input  
to the point where data is last held at the F or  
G input  
AH  
0
0
-
-
0
0
-
-
ns  
ns  
T
Time from the active transition at the CLK input  
to the point where data is last held at the BX or  
BY input  
CKDI  
Clock Timing  
T
T
F
The High pulse width of the CLB’s CLK signal  
The Low pulse width of the CLK signal  
Toggle frequency (for export control)  
0.70  
0.70  
0
-
-
0.80  
0.80  
0
-
-
ns  
ns  
CH  
CL  
657  
572  
MHz  
TOG  
Propagation Times  
T
The time it takes for data to travel from the  
CLB’s F (G) input to the X (Y) output  
ILO  
-
0.66  
-
-
0.76  
-
ns  
ns  
Set/Reset Pulse Width  
T
The minimum allowable pulse width, High or  
Low, to the CLB’s SR input  
RPW_CLB  
1.00  
1.15  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76.  
138  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 98: CLB Distributed RAM Switching Characteristics  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Clock-to-Output Times  
T
Time from the active edge at the CLK input to data  
appearing on the distributed RAM output  
SHCKO  
-
2.05  
-
2.35  
ns  
Setup Times  
T
Setup time of data at the BX or BY input before the active  
transition at the CLK input of the distributed RAM  
DS  
0.40  
0.46  
0.34  
-
-
-
0.46  
0.52  
0.40  
-
-
-
ns  
ns  
ns  
T
Setup time of the F/G address inputs before the active  
transition at the CLK input of the distributed RAM  
AS  
T
Setup time of the write enable input before the active  
transition at the CLK input of the distributed RAM  
WS  
Hold Times  
T
Hold time of the BX, BY data inputs after the active  
transition at the CLK input of the distributed RAM  
DH  
0.13  
0
-
-
0.15  
0
-
-
ns  
ns  
T
T
Hold time of the F/G address inputs or the write enable  
input after the active transition at the CLK input of the  
distributed RAM  
AH, WH  
Clock Pulse Width  
, T Minimum High or Low pulse width at CLK input  
T
0.88  
-
1.01  
-
ns  
WPH WPL  
Table 99: CLB Shift Register Switching Characteristics  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Clock-to-Output Times  
T
Time from the active edge at the CLK input to data  
appearing on the shift register output  
REG  
-
3.62  
-
4.16  
ns  
Setup Times  
T
Setup time of data at the BX or BY input before the active  
transition at the CLK input of the shift register  
SRLDS  
0.41  
-
0.46  
-
ns  
Hold Times  
T
Hold time of the BX or BY data input after the active  
transition at the CLK input of the shift register  
SRLDH  
0.14  
0.88  
-
-
0.16  
1.01  
-
-
ns  
ns  
Clock Pulse Width  
, T Minimum High or Low pulse width at CLK input  
T
WPH WPL  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
139  
Product Specification  
R
DC and Switching Characteristics  
Clock Buffer/Multiplexer Switching Characteristics  
Table 100: Clock Distribution Switching Characteristics  
Minimum  
Maximum  
Speed Grade  
Description  
Symbol  
-0  
-5  
-4  
Units  
Global clock buffer (BUFG, BUFGMUX, BUFGCE) I input to  
O-output delay  
T
-
1.46  
1.46  
ns  
GIO  
Global clock multiplexer (BUFGMUX) select S-input setup to  
I0 and I1 inputs. Same as BUFGCE enable CE-input  
T
-
0.55  
333  
0.63  
311  
ns  
GSI  
Frequency of signals distributed on global buffers (all sides)  
F
0
MHz  
BUFG  
140  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
18 x 18 Embedded Multiplier Timing  
Table 101: 18 x 18 Embedded Multiplier Timing  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Combinatorial Delay  
T
Combinatorial multiplier propagation delay from the A and B  
inputs to the P outputs, assuming 18-bit inputs and a 36-bit  
product (AREG, BREG, and PREG registers unused)  
MULT  
(1)  
(1)  
-
4.34  
-
4.88  
ns  
Clock-to-Output Times  
T
Clock-to-output delay from the active transition of the CLK  
input to valid data appearing on the P outputs when using  
the PREG register  
MSCKP_P  
-
-
0.98  
4.42  
-
-
1.10  
4.97  
ns  
ns  
(2)  
T
T
Clock-to-output delay from the active transition of the CLK  
input to valid data appearing on the P outputs when using  
either the AREG or BREG register  
MSCKP_A  
MSCKP_B  
(2,4)  
Setup Times  
T
Data setup time at the A or B input before the active  
transition at the CLK when using only the PREG output  
register (AREG, BREG registers unused)  
MSDCK_P  
3.54  
-
3.98  
-
ns  
T
T
Data setup time at the A input before the active transition at  
the CLK when using the AREG input register  
MSDCK_A  
MSDCK_B  
0.20  
0.35  
-
-
0.23  
0.39  
-
-
ns  
ns  
(4)  
Data setup time at the B input before the active transition at  
(4)  
the CLK when using the BREG input register  
Hold Times  
T
Data hold time at the A and B inputs after the active  
transition at the CLK input  
MULCKID  
0
0
-
0
0
-
ns  
Clock Frequency  
F
Internal operating frequency for a two-stage 18x18  
MULT  
multiplier using the AREG and BREG input registers and  
270  
240  
MHz  
(1)  
the PREG output register  
Notes:  
1. Combinatorial delay is less and pipelined performance is higher when multiplying input data with less than 18 bits.  
2. The PREG register is typically used in both single-stage and two-stage pipelined multiplier implementations.  
3. The PREG register is typically used when inferring a single-stage multiplier.  
4. Input registers AREG or BREG are typically used when inferring a two-stage multiplier.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
141  
Product Specification  
R
DC and Switching Characteristics  
Block RAM Timing  
Table 102: Block RAM Timing  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Clock-to-Output Times  
T
When reading from block RAM, the delay from the  
active transition at the CLK input to data appearing at  
the DOUT output  
BCKO  
-
2.45  
-
2.82  
ns  
Setup Times  
T
T
T
T
Setup time for the ADDR inputs before the active  
transition at the CLK input of the block RAM  
BACK  
BDCK  
BECK  
BWCK  
0.33  
0.23  
0.67  
1.09  
-
-
-
-
0.38  
0.23  
0.77  
1.26  
-
-
-
-
ns  
ns  
ns  
ns  
Setup time for data at the DIN inputs before the active  
transition at the CLK input of the block RAM  
Setup time for the EN input before the active transition  
at the CLK input of the block RAM  
Setup time for the WE input before the active transition  
at the CLK input of the block RAM  
Hold Times  
T
T
T
T
Hold time on the ADDR inputs after the active transition  
at the CLK input  
BCKA  
BCKD  
BCKE  
BCKW  
0.12  
0.12  
0
-
-
-
-
0.14  
0.13  
0
-
-
-
-
ns  
ns  
ns  
ns  
Hold time on the DIN inputs after the active transition at  
the CLK input  
Hold time on the EN input after the active transition at  
the CLK input  
Hold time on the WE input after the active transition at  
the CLK input  
0
0
Clock Timing  
T
T
High pulse width of the CLK signal  
Low pulse width of the CLK signal  
1.39  
1.39  
-
-
1.59  
1.59  
-
-
ns  
ns  
BPWH  
BPWL  
Clock Frequency  
F
Block RAM clock frequency. RAM read output value  
written back into RAM, for shift-registers and circular  
buffers. Write-only or read-only performance is faster.  
BRAM  
0
270  
0
230  
MHz  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76.  
142  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Digital Clock Manager (DCM) Timing  
For specification purposes, the DCM consists of three key  
components: the Delay-Locked Loop (DLL), the Digital Fre-  
quency Synthesizer (DFS), and the Phase Shifter (PS).  
change with the addition of DFS or PS functions are pre-  
sented in Table 103 and Table 104.  
Period jitter and cycle-cycle jitter are two of many different  
ways of specifying clock jitter. Both specifications describe  
statistical variation from a mean value.  
Aspects of DLL operation play a role in all DCM applica-  
tions. All such applications inevitably use the CLKIN and the  
CLKFB inputs connected to either the CLK0 or the CLK2X  
feedback, respectively. Thus, specifications in the DLL  
tables (Table 103 and Table 104) apply to any application  
that only employs the DLL component. When the DFS  
and/or the PS components are used together with the DLL,  
then the specifications listed in the DFS and PS tables  
(Table 105 through Table 108) supersede any correspond-  
ing ones in the DLL tables. DLL specifications that do not  
Period jitter is the worst-case deviation from the ideal clock  
period over a collection of millions of samples. In a histo-  
gram of period jitter, the mean value is the clock period.  
Cycle-cycle jitter is the worst-case difference in clock period  
between adjacent clock cycles in the collection of clock peri-  
ods sampled. In a histogram of cycle-cycle jitter, the mean  
value is zero.  
Delay-Locked Loop (DLL)  
Table 103: Recommended Operating Conditions for the DLL  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Input Frequency Ranges  
FCLKIN CLKIN_FREQ_DLL Frequency of the CLKIN  
clock input  
Stepping 0  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
5(2)  
90(3)  
5(2)  
90(3)  
MHz  
XC3S1200E(3)  
200(3)  
275(3)  
200(3)  
240(3)  
MHz  
MHz  
Stepping 1  
All  
Input Pulse Requirements  
CLKIN_PULSE  
CLKIN pulse width as a  
percentage of the CLKIN  
period  
FCLKIN < 150 MHz  
40%  
45%  
60%  
55%  
40%  
45%  
60%  
55%  
-
-
FCLKIN > 150 MHz  
Input Clock Jitter Tolerance and Delay Path Variation(4)  
CLKIN_CYC_JITT_DLL_LF  
CLKIN_CYC_JITT_DLL_HF  
CLKIN_PER_JITT_DLL  
Cycle-to-cycle jitter at the  
CLKIN input  
FCLKIN < 150 MHz  
FCLKIN > 150 MHz  
-
-
-
-
300  
150  
1
-
-
-
-
300  
150  
1
ps  
ps  
ns  
ns  
Period jitter at the CLKIN input  
CLKFB_DELAY_VAR_EXT  
Allowable variation of off-chip feedback delay from the DCM  
output to the CLKFB input  
1
1
Notes:  
1. DLL specifications apply when any of the DLL outputs (CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, or CLKDV) are in use.  
2. The DFS, when operating independently of the DLL, supports lower FCLKIN frequencies. See Table 105.  
3. To support double the maximum effective FCLKIN limit, set the CLKIN_DIVIDE_BY_2 attribute to TRUE. This attribute divides the incoming  
clock period by two as it enters the DCM. The CLK2X output reproduces the clock frequency provided on the CLKIN input.  
4. CLKIN input jitter beyond these limits might cause the DCM to lose lock.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
143  
Product Specification  
R
DC and Switching Characteristics  
Table 104: Switching Characteristics for the DLL  
Speed Grade  
-5  
-4  
Symbol  
Description  
Device  
Min  
Max  
Min  
Max  
Units  
Output Frequency Ranges  
CLKOUT_FREQ_CLK0  
Frequency for the CLK0 and  
CLK180 outputs  
Stepping 0  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
5
90  
5
90  
MHz  
XC3S1200E  
All  
200  
275  
90  
200  
240  
90  
MHz  
MHz  
MHz  
Stepping 1  
Stepping 0  
CLKOUT_FREQ_CLK90  
CLKOUT_FREQ_2X  
CLKOUT_FREQ_DV  
Frequency for the CLK90 and  
CLK270 outputs  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
5
5
XC3S1200E  
All  
167  
167  
180  
167  
167  
180  
MHz  
MHz  
MHz  
Stepping 1  
Stepping 0  
Frequency for the CLK2X and  
CLK2X180 outputs  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
10  
10  
XC3S1200E  
All  
333  
333  
60  
311  
311  
60  
MHz  
MHz  
MHz  
Stepping 1  
Stepping 0  
Frequency for the CLKDV output  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
0.3125  
0.3125  
XC3S1200E  
All  
133  
183  
133  
160  
MHz  
MHz  
Stepping 1  
Output Clock Jitter(2,3,4)  
CLKOUT_PER_JITT_0  
CLKOUT_PER_JITT_90  
CLKOUT_PER_JITT_180  
CLKOUT_PER_JITT_270  
CLKOUT_PER_JITT_2X  
Period jitter at the CLK0 output  
Period jitter at the CLK90 output  
Period jitter at the CLK180 output  
Period jitter at the CLK270 output  
All  
-
-
-
-
-
100  
150  
150  
150  
-
-
-
-
-
100  
150  
150  
150  
ps  
ps  
ps  
ps  
ps  
Period jitter at the CLK2X and CLK2X180 outputs  
[1% of  
CLKIN  
period  
+ 150]  
[1% of  
CLKIN  
period  
+ 150]  
CLKOUT_PER_JITT_DV1  
CLKOUT_PER_JITT_DV2  
Period jitter at the CLKDV output when performing  
integer division  
-
-
150  
-
-
150  
ps  
ps  
Period jitter at the CLKDV output when performing  
non-integer division  
[1% of  
CLKIN  
period  
+ 200]  
[1% of  
CLKIN  
period  
+ 200]  
Duty Cycle(4)  
CLKOUT_DUTY_CYCLE_DLL Duty cycle variation for the CLK0, CLK90, CLK180,  
CLK270, CLK2X, CLK2X180, and CLKDV outputs,  
including the BUFGMUX and clock tree duty-cycle  
distortion  
All  
-
[1% of  
CLKIN  
period  
+ 400]  
-
[1% of  
CLKIN  
period  
+ 400]  
ps  
144  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 104: Switching Characteristics for the DLL (Continued)  
Speed Grade  
-5  
-4  
Symbol  
Description  
Device  
Min  
Max  
Min  
Max  
Units  
Phase Alignment(4)  
CLKIN_CLKFB_PHASE  
CLKOUT_PHASE_DLL  
Phase offset between the CLKIN and CLKFB inputs  
All  
-
-
200  
-
-
200  
ps  
ps  
Phase offset between DLL outputs CLK0 to CLK2X  
(not CLK2X180)  
[1% of  
CLKIN  
period  
+ 100]  
[1% of  
CLKIN  
period  
+ 100]  
All others  
-
[1% of  
CLKIN  
period  
+ 200]  
-
[1% of  
CLKIN  
period  
+ 200]  
ps  
Lock Time  
LOCK_DLL(3)  
When using the DLL alone: The  
time from deassertion at the DCM’s  
Reset input to the rising transition at  
its LOCKED output. When the DCM  
is locked, the CLKIN and CLKFB  
signals are in phase  
5 MHz < FCLKIN  
15 MHz  
<
All  
All  
-
-
5
-
-
5
ms  
FCLKIN > 15 MHz  
600  
600  
μs  
Delay Lines  
DCM_DELAY_STEP  
Finest delay resolution  
20  
40  
20  
40  
ps  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76 and Table 103.  
2. Indicates the maximum amount of output jitter that the DCM adds to the jitter on the CLKIN input.  
3. For optimal jitter tolerance and faster lock time, use the CLKIN_PERIOD attribute.  
4. Some jitter and duty-cycle specifications include 1% of input clock period or 0.01 UI. Example: The data sheet specifies a maximum  
jitter of " [1% of CLKIN period + 150]". Assume the CLKIN frequency is 100 MHz. The equivalent CLKIN period is 10 ns and 1% of  
10 ns is 0.1 ns or 100 ps. According to the data sheet, the maximum jitter is [100 ps + 150 ps] = 250ps.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
145  
Product Specification  
R
DC and Switching Characteristics  
Digital Frequency Synthesizer (DFS)  
Table 105: Recommended Operating Conditions for the DFS  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Input Frequency Ranges(2)  
FCLKIN  
CLKIN_FREQ_FX  
Frequency for the CLKIN input  
0.200  
333  
0.200  
333  
MHz  
Input Clock Jitter Tolerance(3)  
CLKIN_CYC_JITT_FX_LF  
CLKIN_CYC_JITT_FX_HF  
Cycle-to-cycle jitter at the  
CLKIN input, based on CLKFX  
output frequency  
F
F
CLKFX < 150 MHz  
CLKFX > 150 MHz  
-
-
300  
150  
-
-
300  
150  
ps  
ps  
CLKIN_PER_JITT_FX  
Period jitter at the CLKIN input  
-
1
-
1
ns  
Notes:  
1. DFS specifications apply when either of the DFS outputs (CLKFX or CLKFX180) are used.  
2. If both DFS and DLL outputs are used on the same DCM, follow the more restrictive CLKIN_FREQ_DLL specifications in Table 103.  
3. CLKIN input jitter beyond these limits may cause the DCM to lose lock.  
Table 106: Switching Characteristics for the DFS  
Speed Grade  
-5  
-4  
Symbol  
Description  
Device  
Min  
Max  
Min  
Max  
Units  
Output Frequency Ranges  
CLKOUT_FREQ_FX_LF  
Frequency for the CLKFX and  
CLKFX180 outputs, low frequencies  
Stepping 0  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1600E  
5
220  
5
90  
5
220  
5
90  
MHz  
MHz  
CLKOUT_FREQ_FX_HF  
CLKOUT_FREQ_FX  
Frequency for the CLKFX and  
CLKFX180 outputs, high frequencies  
326  
307  
Frequency for the CLKFX and  
CLKFX180 outputs  
Stepping 0  
Stepping 1  
XC3S1200E  
All  
307  
333  
307  
311  
MHz  
MHz  
Output Clock Jitter(2,3)  
CLKOUT_PER_JITT_FX  
CLKOUT_PER_JITT_FX_35  
Period jitter at the CLKFX and CLKFX180 outputs  
All  
See Note 4 below  
ps  
ps  
Period jitter at the CLKFX and CLKFX180 outputs when All in FG or CP  
CLKFX_MULTIPLY=7, CLKFX_DIVIDE=2  
[2% of  
CLKFX  
period  
+ 400]  
[2%of  
CLKFX  
period  
+ 400]  
(TJ35  
)
packages  
Duty Cycle(4,5)  
CLKOUT_DUTY_CYCLE_FX  
Duty cycle precision for the CLKFX and CLKFX180  
outputs, including the BUFGMUX and clock tree  
duty-cycle distortion  
All  
-
[1% of  
CLKFX  
period  
+ 400]  
-
[1%of  
CLKFX  
period  
+ 400]  
ps  
Phase Alignment(5)  
CLKOUT_PHASE_FX  
Phase offset between the DFS CLKFX output and the  
DLL CLK0 output when both the DFS and DLL are used  
All  
All  
-
-
200  
-
-
200  
ps  
ps  
CLKOUT_PHASE_FX180  
Phase offset between the DFS CLKFX180 output and  
the DLL CLK0 output when both the DFS and DLL are  
used  
[1% of  
CLKFX  
period  
+ 300]  
[1%of  
CLKFX  
period  
+ 300]  
146  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 106: Switching Characteristics for the DFS (Continued)  
Speed Grade  
-5  
-4  
Symbol  
Description  
Device  
Min  
Max  
Min  
Max  
Units  
Lock Time  
LOCK_FX(2)  
The time from deassertion at the  
DCM’s Reset input to the rising  
transition at its LOCKED output. The  
DFS asserts LOCKED when the  
CLKFX and CLKFX180 signals are  
valid. If using both the DLL and the  
DFS, use the longer locking time.  
5 MHz < FCLKIN  
< 15 MHz  
All  
-
-
5
-
-
5
ms  
FCLKIN  
>
450  
450  
μs  
15 MHz  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76 and Table 105.  
2. For optimal jitter tolerance and faster lock time, use the CLKIN_PERIOD attribute.  
3. Use the Virtex-II Jitter Calculator at http://www.xilinx.com/applications/web_ds_v2/jitter_calc.htm.or the jitter calculator included in  
Clock Wizard/DCM Wizard. Output jitter includes 150 ps of input clock jitter.  
4. The CLKFX and CLKFX180 outputs always have an approximate 50% duty cycle.  
5. Some duty-cycle and alignment specifications include 1% of the CLKFX output period or 0.01 UI. Example: The data sheet specifies  
a maximum jitter of " [1% of CLKFX period + 300]". Assume the CLKFX output frequency is 100 MHz. The equivalent CLKFX period  
is 10 ns and 1% of 10 ns is 0.1 ns or 100 ps. According to the data sheet, the maximum jitter is [100 ps + 300 ps] = 400 ps.  
Phase Shifter (PS)  
Table 107: Recommended Operating Conditions for the PS in Variable Phase Mode  
Speed Grade  
-5  
-4  
Symbol  
Description  
Min  
Max  
Min  
Max  
Units  
Operating Frequency Ranges  
PSCLK_FREQ  
(F  
Frequency for the PSCLK input  
1
167  
1
167  
MHz  
)
PSCLK  
Input Pulse Requirements  
PSCLK_PULSE PSCLK pulse width as a percentage of the PSCLK period  
40%  
60%  
40%  
60%  
-
Table 108: Switching Characteristics for the PS in Variable Phase Mode  
Symbol  
Phase Shifting Range  
MAX_STEPS(2)  
Description  
Units  
Maximum allowed number of DCM_DELAY_STEP  
steps for a given CLKIN clock period, where T = CLKIN  
clock period in ns. If using  
[INTEGER(20 (TCLKIN – 3 ns))]  
steps  
CLKIN_DIVIDE_BY_2 = TRUE, double the clock  
effective clock period.  
FINE_SHIFT_RANGE_MIN  
Minimum guaranteed delay for variable phase shifting  
[MAX_STEPS •  
ns  
ns  
DCM_DELAY_STEP_MIN]  
FINE_SHIFT_RANGE_MAX Maximum guaranteed delay for variable phase shifting  
[MAX_STEPS •  
DCM_DELAY_STEP_MAX]  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76 and Table 107.  
2. The maximum variable phase shift range, MAX_STEPS, is only valid when the DCM is has no initial fixed phase shifting, i.e., the PHASE_SHIFT  
attribute is set to 0.  
3. The DCM_DELAY_STEP values are provided at the bottom of Table 104.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
147  
Product Specification  
R
DC and Switching Characteristics  
Miscellaneous DCM Timing  
Table 109: Miscellaneous DCM Timing  
Symbol  
Description  
Min  
Max  
Units  
DCM_RST_PW_MIN  
Minimum duration of a RST pulse width  
3
-
CLKIN  
cycles  
(2)  
DCM_RST_PW_MAX  
Maximum duration of a RST pulse width  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
seconds  
seconds  
minutes  
minutes  
(3)  
DCM_CONFIG_LAG_TIME  
Maximum duration from V  
applied to FPGA  
CCINT  
configuration successfully completed (DONE pin goes  
High) and clocks applied to DCM DLL  
Notes:  
1. This limit only applies to applications that use the DCM DLL outputs (CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, and CLKDV).  
The DCM DFS outputs (CLKFX, CLKFX180) are unaffected.  
2. This specification is equivalent to the Virtex-4 DCM_RESET specfication.This specification does not apply for Spartan-3E FPGAs.  
3. This specification is equivalent to the Virtex-4 TCONFIG specification. This specification does not apply for Spartan-3E FPGAs.  
148  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Configuration and JTAG Timing  
General Configuration Power-On/Reconfigure Timing  
1.2V  
2.5V  
V
CCINT  
1.0V  
2.0V  
1.0V  
(Supply)  
V
CCAUX  
(Supply)  
V
Bank 2  
(Supply)  
CCO  
TPOR  
PROG_B  
(Input)  
TPL  
TPROG  
INIT_B  
(Open-Drain)  
TICCK  
CCLK  
(Output)  
DS312-3_01_103105  
Notes:  
1. The V  
, V  
, and V  
supplies may be applied in any order.  
CCO  
CCINT CCAUX  
2. The Low-going pulse on PROG_B is optional after power-on but necessary for reconfiguration without a power cycle.  
3. The rising edge of INIT_B samples the voltage levels applied to the mode pins (M0 - M2).  
Figure 74: Waveforms for Power-On and the Beginning of Configuration  
Table 110: Power-On Timing and the Beginning of Configuration  
All Speed Grades  
Symbol  
(2)  
Description  
Device  
Min  
Max  
5
Units  
ms  
ms  
ms  
ms  
ms  
μs  
TPOR  
The time from the application of VCCINT, VCCAUX, and VCCO XC3S100E  
Bank 2 supply voltage ramps (whichever occurs last) to the  
rising transition of the INIT_B pin  
XC3S500E  
-
XC3S250E  
-
5
-
5
XC3S1200E  
XC3S1600E  
-
5
-
7
TPROG  
The width of the low-going pulse on the PROG_B pin  
All  
0.5  
-
(2)  
TPL  
The time from the rising edge of the PROG_B pin to the  
rising transition on the INIT_B pin  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S1600E  
All  
-
0.5  
0.5  
1
ms  
ms  
ms  
ms  
ms  
ns  
-
-
-
2
-
2
TINIT  
Minimum Low pulse width on INIT_B output  
250  
0.5  
-
(3)  
TICCK  
The time from the rising edge of the INIT_B pin to the  
generation of the configuration clock signal at the CCLK  
output pin  
All  
4.0  
μs  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76. This means power must be applied to all V  
, V  
,
CCINT CCO  
and V  
lines.  
CCAUX  
2. Power-on reset and the clearing of configuration memory occurs during this period.  
3. This specification applies only to the Master Serial, SPI, BPI-Up, and BPI-Down modes.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
149  
Product Specification  
R
DC and Switching Characteristics  
Configuration Clock (CCLK) Characteristics  
Table 111: Master Mode CCLK Output Period by ConfigRate Option Setting  
ConfigRate  
Setting  
Temperature  
Range  
Symbol  
Description  
Minimum  
Maximum  
Units  
CCLK clock period by  
ConfigRate setting  
Commercial  
Industrial  
570  
485  
285  
242  
142  
121  
71.2  
60.6  
35.5  
30.3  
17.8  
15.1  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
1
T
1,250  
CCLK1  
CCLK3  
CCLK6  
CCLK12  
CCLK25  
CCLK50  
(power-on value)  
Commercial  
Industrial  
T
T
T
T
T
3
625  
313  
157  
78.2  
39.1  
Commercial  
Industrial  
6
Commercial  
Industrial  
12  
25  
50  
Commercial  
Industrial  
Commercial  
Industrial  
Notes:  
1. Set the ConfigRate option value when generating a configuration bitstream. See Bitstream Generator (BitGen) Options in Module 2.  
Table 112: Master Mode CCLK Output Frequency by ConfigRate Option Setting  
ConfigRate  
Setting  
Temperature  
Range  
Symbol  
Description  
Minimum  
Maximum  
Units  
Equivalent CCLK clock  
frequency by ConfigRate  
setting  
Commercial  
Industrial  
1.8  
2.1  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
MHz  
1
F
0.8  
CCLK1  
CCLK3  
CCLK6  
CCLK12  
CCLK25  
CCLK50  
(power-on value)  
Commercial  
Industrial  
3.6  
F
F
F
F
F
3
1.6  
3.2  
4.2  
Commercial  
Industrial  
7.1  
6
8.3  
Commercial  
Industrial  
14.1  
16.5  
28.1  
33.0  
56.2  
66.0  
12  
25  
50  
6.4  
Commercial  
Industrial  
12.8  
25.6  
Commercial  
Industrial  
Table 113: Master Mode CCLK Output Minimum Low and High Time  
ConfigRate Setting  
Symbol  
Description  
Units  
1
3
6
12  
25  
50  
T
T
MastermodeCCLKminimum Commercial  
276  
235  
138  
117  
69  
58  
34.5  
29.3  
17.1  
14.5  
8.5  
7.3  
ns  
ns  
MCCL,  
MCCH  
Low and High time  
Industrial  
Table 114: Slave Mode CCLK Input Low and High Time  
Symbol Description  
Min  
Max  
Units  
T
T
CCLK Low and High time  
5
ns  
SCCL,  
SCCH  
150  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Master Serial and Slave Serial Mode Timing  
PROG_B  
(Input)  
INIT_B  
(Open-Drain)  
TMCCH  
TSCCH  
TMCCL  
TSCCL  
CCLK  
(Input/Output)  
TDCC  
1/FCCSER  
TCCD  
DIN  
(Input)  
Bit n+1  
TCCO  
Bit n  
Bit 0  
Bit 1  
DOUT  
(Output)  
Bit n-63  
Bit n-64  
DS312-3_05_103105  
Figure 75: Waveforms for Master Serial and Slave Serial Configuration  
Table 115: Timing for the Master Serial and Slave Serial Configuration Modes  
All Speed Grades  
Slave/  
Symbol  
Description  
Master  
Min  
Max  
Units  
Clock-to-Output Times  
T
The time from the falling transition on the CCLK pin to data  
appearing at the DOUT pin  
Both  
Both  
Both  
1.5  
10.0  
ns  
CCO  
Setup Times  
T
The time from the setup of data at the DIN pin to the active edge of  
the CCLK pin  
11.0  
0
-
-
ns  
ns  
DCC  
Hold Times  
T
The time from the active edge of the CCLK pin to the point when  
data is last held at the DIN pin  
CCD  
Clock Timing  
T
T
F
High pulse width at the CCLK input pin  
Master  
Slave  
Master  
Slave  
Slave  
See Table 113  
See Table 114  
See Table 113  
See Table 114  
CCH  
Low pulse width at the CCLK input pin  
CCL  
(2)  
Frequency of the clock signal at  
the CCLK input pin  
No bitstream compression  
With bitstream compression  
0
0
66  
MHz  
MHz  
CCSER  
20  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76.  
2. For serial configuration with a daisy-chain of multiple FPGAs, the maximum limit is 25 MHz.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
151  
Product Specification  
R
DC and Switching Characteristics  
Slave Parallel Mode Timing  
PROG_B  
(Input)  
INIT_B  
(Open-Drain)  
TSMCSCC  
TSMCCCS  
CSI_B  
(Input)  
TSMCCW  
TSMWCC  
RDWR_B  
(Input)  
TMCCH  
TSCCH  
TMCCL  
TSCCL  
CCLK  
(Input)  
1/FCCPAR  
Byte n  
TSMDCC  
TSMCCD  
D0 - D7  
(Inputs)  
Byte 0  
Byte 1  
Byte n+1  
TSMCKBY  
TSMCKBY  
High-Z  
High-Z  
BUSY  
(Output)  
BUSY  
DS312-3_02_103105  
Notes:  
1. It is possible to abort configuration by pulling CS_B Low in a given CCLK cycle, then switching RDWR_B Low or High in any subsequent  
cycle for which CSI_B remains Low. The RDWR_B pin asynchronously controls the driver impedance of the D0 - D7 bus. When RDWR_B  
switches High, be careful to avoid contention on the D0 - D7 bus.  
Figure 76: Waveforms for Slave Parallel Configuration  
Table 116: Timing for the Slave Parallel Configuration Mode  
All Speed Grades  
Symbol  
Description  
Min  
Max  
Units  
Clock-to-Output Times  
T
The time from the rising transition on the CCLK pin to a signal transition at the  
BUSY pin  
-
12.0  
ns  
SMCKBY  
Setup Times  
T
The time from the setup of data at the D0-D7 pins to the active edge the CCLK  
pin  
11.0  
-
ns  
SMDCC  
T
T
Setup time on the CSI_B pin before the active edge of the CCLK pin  
Setup time on the RDWR_B pin before active edge of the CCLK pin  
10.0  
23.0  
-
-
ns  
ns  
SMCSCC  
(2)  
SMCCW  
152  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
All Speed Grades  
Table 116: Timing for the Slave Parallel Configuration Mode (Continued)  
Symbol  
Description  
Min  
Max  
Units  
Hold Times  
T
T
T
The time from the active edge of the CCLK pin to the point when data is last  
held at the D0-D7 pins  
1.0  
0
-
-
-
ns  
ns  
ns  
SMCCD  
SMCCCS  
SMWCC  
The time from the active edge of the CCLK pin to the point when a logic level  
is last held at the CSO_B pin  
The time from the active edge of the CCLK pin to the point when a logic level  
is last held at the RDWR_B pin  
0
Clock Timing  
T
T
F
The High pulse width at the CCLK input pin  
5
5
0
0
0
-
ns  
CCH  
The Low pulse width at the CCLK input pin  
-
ns  
CCL  
(2)  
Frequency of the clock  
signal at the CCLK input  
pin  
No bitstream  
compression  
Not using the BUSY pin  
Using the BUSY pin  
50  
66  
20  
MHz  
MHz  
MHz  
CCPAR  
With bitstream compression  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76.  
2. In the Slave Parallel mode, it is necessary to use the BUSY pin when the CCLK frequency exceeds this maximum specification.  
3. Some Xilinx documents refer to Parallel modes as “SelectMAP” modes.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
153  
Product Specification  
R
DC and Switching Characteristics  
Serial Peripheral Interface (SPI) Configuration Timing  
PROG_B  
(Input)  
HSWAP  
(Input)  
HSWAP must be stable before INIT_B goes High and constant throughout the configuration process.  
VS[2:0]  
(Input)  
<1:1:1>  
Mode input pins M[2:0] and variant select input pins VS[2:0] are sampled when INIT_B  
goes High. After this point, input values do not matter until DONE goes High, at which  
point these pins become user-I/O pins.  
M[2:0]  
(Input)  
<0:0:1>  
TMINIT  
TINITM  
INIT_B  
(Open-Drain)  
New ConfigRate active  
TCCLK  
TMCCH  
T
n
MCCL  
n
TMCCL1 TMCCH1  
T
TCCLK1  
CCLK1  
n
CCLK  
TV  
DIN  
(Input)  
Data  
Data  
TDCC  
Data  
Data  
TCSS  
TCCD  
CSO_B  
MOSI  
TCCO  
Command Command  
(msb) (msb-1)  
TDSU  
TDH  
Pin initially pulled High by internal pull-up resistor if HSWAP input is Low.  
Pin initially high-impedance (Hi-Z) if HSWAP input is High. External pull-up resistor required on CSO_B.  
ds312-3_06_110206  
Shaded values indicate specifications on attached SPI Flash PROM.  
Figure 77: Waveforms for Serial Peripheral Interface (SPI) Configuration  
Table 117: Timing for Serial Peripheral Interface (SPI) Configuration Mode  
Symbol  
Description  
Minimum  
Maximum  
(see Table 111)  
(see Table 111)  
-
Units  
T
T
T
Initial CCLK clock period  
CCLK1  
CCLKn  
MINIT  
CCLK clock period after FPGA loads ConfigRate setting  
Setup time on VS[2:0] and M[2:0] mode pins before the rising  
edge of INIT_B  
50  
0
ns  
ns  
T
Hold time on VS[2:0] and M[2:0]mode pins after the rising edge of  
INIT_B  
-
INITM  
T
T
T
MOSI output valid after CCLK edge  
See Table 115  
See Table 115  
See Table 115  
CCO  
DCC  
CCD  
Setup time on DIN data input before CCLK edge  
Hold time on DIN data input after CCLK edge  
154  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 118: Configuration Timing Requirements for Attached SPI Serial Flash  
Symbol  
Description  
Requirement  
Units  
T
SPI serial Flash PROM chip-select time  
ns  
CCS  
DSU  
DH  
TCCS TMCCL1 TCCO  
T
T
SPI serial Flash PROM data input setup time  
SPI serial Flash PROM data input hold time  
ns  
ns  
TDSU TMCCL1 TCCO  
TDH TMCCH1  
T
SPI serial Flash PROM data clock-to-output time  
ns  
V
TV TMCCLn TDCC  
f or f  
Maximum SPI serial Flash PROM clock frequency (also depends  
on specific read command used)  
MHz  
C
R
1
------------------------------  
fC ≥  
TCCLKn(min)  
Notes:  
1. These requirements are for successful FPGA configuration in SPI mode, where the FPGA provides the CCLK frequency. The post  
configuration timing can be different to support the specific needs of the application loaded into the FPGA and the resulting clock source.  
2. Subtract additional printed circuit board routing delay as required by the application.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
155  
Product Specification  
R
DC and Switching Characteristics  
Byte Peripheral Interface (BPI) Configuration Timing  
PROG_B  
(Input)  
HSWAP  
HSWAP must be stable before INIT_B goes High and remain constant throughout configuration.  
CSI_B  
(Input)  
RDWR_B  
(Input)  
Mode input pins M[2:0] are sampled when INIT_B goes High. After this point,  
input values do not matter until DONE goes High, at which point the mode pins  
become user-I/O pins.  
M[2:0]  
(Input)  
<0:1:1>  
TMINIT  
TINITM  
INIT_B  
(Open-Drain)  
Pin initially pulled High by internal pull-up resistor if HSWAP input is Low.  
Pin initially high-impedance (Hi-Z) if HSWAP input is High.  
LDC[2:0]  
HDC  
CSO_B  
New ConfigRate active  
TCCLK1  
TCCLKn  
TINITADDR  
TCCLK1  
CCLK  
TCCO  
0x00_0000  
Address  
Address Address  
TDCC  
A[23:0]  
0x00_0001  
TAVQV  
TCCD  
Data  
D[7:0]  
(Input)  
Byte 0  
Data  
Data  
Byte 1  
Data  
UG332_c5_08_110206  
Shaded values indicate specifications on attached parallel NOR Flash PROM.  
Figure 78: Waveforms for Byte-wide Peripheral Interface (BPI) Configuration (BPI-DN mode shown)  
Table 119: Timing for Byte-wide Peripheral Interface (BPI) Configuration Mode  
Symbol  
Description  
Minimum Maximum  
(see Table 111)  
Units  
T
Initial CCLK clock period  
CCLK1  
CCLKn  
MINIT  
T
T
CCLK clock period after FPGA loads ConfigRate setting  
(see Table 111)  
Setup time on CSI_B, RDWR_B, and M[2:0] mode pins before the rising  
edge of INIT_B  
50  
0
-
ns  
ns  
T
T
Hold time on CSI_B, RDWR_B, and M[2:0] mode pins after the rising  
edge of INIT_B  
-
INITM  
BPI-UP:  
(M[2:0]=<0:1:0>)  
Minimum period of initial A[23:0] address cycle;  
LDC[2:0] and HDC are asserted and valid  
5
2
5
2
T
CCLK1  
cycles  
INITADDR  
BPI-DN:  
(M[2:0]=<0:1:1>)  
156  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Table 119: Timing for Byte-wide Peripheral Interface (BPI) Configuration Mode (Continued)  
Symbol  
Description  
Minimum Maximum  
See Table 115  
Units  
T
Address A[23:0] outputs valid after CCLK falling edge  
Setup time on D[7:0] data inputs before CCLK falling edge  
Hold time on D[7:0] data inputs after CCLK falling edge  
CCO  
DCC  
CCD  
T
T
See Table 115  
See Table 115  
Table 120: Configuration Timing Requirements for Attached Parallel NOR Flash  
Symbol  
Description  
Requirement  
Units  
T
Parallel NOR Flash PROM chip-select time  
ns  
CE  
TCE TINITADDR  
TOE TINITADDR  
(t  
)
ELQV  
T
Parallel NOR Flash PROM output-enable time  
Parallel NOR Flash PROM read access time  
For x8/x16 PROMs only: BYTE# to output valid  
ns  
ns  
ns  
OE  
(t  
)
GLQV  
T
ACC  
TACC TCCLKn(min) TCCO TDCC PCB  
(t  
)
AVQV  
T
(t  
BYTE  
(3)  
time  
TBYTE TINITADDR  
FLQV,  
t
)
FHQV  
Notes:  
1. These requirements are for successful FPGA configuration in BPI mode, where the FPGA provides the CCLK frequency. The post  
configuration timing can be different to support the specific needs of the application loaded into the FPGA and the resulting clock source.  
2. Subtract additional printed circuit board routing delay as required by the application.  
3. The initial BYTE# timing can be extended using an external, appropriately sized pull-down resistor on the FPGA’s LDC2 pin. The resistor  
value also depends on whether the FPGA’s HSWAP pin is High or Low.  
Table 121: MultiBoot Trigger (MBT) Timing  
Symbol  
Description  
Minimum  
Maximum  
Units  
T
MultiBoot Trigger (MBT) Low pulse width required to initiate  
MultiBoot reconfiguration  
300  
ns  
MBT  
Notes:  
1. MultiBoot re-configuration starts on the rising edge after MBT is Low for at least the prescribed minimum period.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
157  
Product Specification  
R
DC and Switching Characteristics  
IEEE 1149.1/1553 JTAG Test Access Port Timing  
TCCH  
TCCL  
TCK  
(Input)  
1/FTCK  
TTCKTMS  
TTMSTCK  
TMS  
(Input)  
TTDITCK  
TTCKTDI  
TDI  
(Input)  
TTCKTDO  
TDO  
(Output)  
DS099_06_040703  
Figure 79: JTAG Waveforms  
Table 122: Timing for the JTAG Test Access Port  
All Speed Grades  
Min Max  
Symbol  
Description  
Units  
Clock-to-Output Times  
T
The time from the falling transition on the TCK pin  
to data appearing at the TDO pin  
1.0  
11.0  
ns  
TCKTDO  
Setup Times  
T
The time from the setup of data at the TDI pin to  
the rising transition at the TCK pin  
7.0  
7.0  
-
-
ns  
ns  
TDITCK  
T
The time from the setup of a logic level at the TMS  
pin to the rising transition at the TCK pin  
TMSTCK  
Hold Times  
T
The time from the rising transition at the TCK pin  
to the point when data is last held at the TDI pin  
0
0
-
-
ns  
ns  
TCKTDI  
T
The time from the rising transition at the TCK pin  
to the point when a logic level is last held at the  
TMS pin  
TCKTMS  
Clock Timing  
T
T
F
The High pulse width at the TCK pin  
The Low pulse width at the TCK pin  
Frequency of the TCK signal  
5
5
-
-
-
ns  
ns  
CCH  
CCL  
TCK  
30  
MHz  
Notes:  
1. The numbers in this table are based on the operating conditions set forth in Table 76.  
158  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
R
DC and Switching Characteristics  
Revision History  
The following table shows the revision history for this document.  
Date  
Version  
1.0  
Revision  
03/01/05  
11/23/05  
03/22/06  
Initial Xilinx release.  
2.0  
Added AC timing information and additional DC specifications.  
3.0  
Upgraded data sheet status to Preliminary. Finalized production timing parameters. All  
speed grades for all Spartan-3E FPGAs are now Production status using the v1.21 speed  
files, as shown in Table 83. Expanded description in Note 2, Table 77. Updated pin-to-pin  
and clock-to-output timing based on final characterization, shown in Table 85. Updated  
system-synchronous input setup and hold times based on final characterization, shown in  
Table 86 and Table 87. Updated other I/O timing in Table 89. Provided input and output  
adjustments for LVPECL_25, DIFF_SSTL and DIFF_HSTL I/O standards that supersede  
the v1.21 speed file values, in Table 90 and Table 93. Reduced I/O three-state and set/reset  
delays in Table 92. Added XC3S100E FPGA in CP132 package to Table 95. Increased T  
AS  
slice flip-flop timing by 100 ps in Table 97. Updated distributed RAM timing in Table 98 and  
SRL16 timing in Table 99. Updated global clock timing, removed left/right clock buffer limits  
in Table 100. Updated block RAM timing in Table 102. Added DCM parameters for  
remainder of Step 0 device; added improved Step 1 DCM performance to Table 103,  
Table 104, Table 105, and Table 106. Added minimum INIT_B pulse width specification,  
T
, in Table 110. Increased data hold time for Slave Parallel mode to 1.0 ns (T  
) in  
INIT  
SMCCD  
Table 116. Improved the DCM performance for the XC3S1200E, Stepping 0 in Table 103,  
Table 104, Table 105, and Table 106. Corrected links in Table 117 and Table 119. Added  
MultiBoot timing specifications to Table 121.  
04/07/06  
05/19/06  
3.1  
3.2  
Improved SSO limits for LVDS_25, MINI_LVDS_25, and RSDS_25 I/O standards in the QFP  
packages (Table 96). Removed potentially confusing Note 2 from Table 77.  
Clarified that 100 mV of hysteresis applies to LVCMOS33 and LVCMOS25 I/O standards  
(Note 4, Table 79). Other minor edits.  
05/30/06  
11/09/06  
3.2.1  
3.4  
Corrected various typos and incorrect links.  
Improved absolute maximum voltage specifications in Table 72, providing additional  
overshoot allowance. Widened the recommended voltage range for PCI and PCI-X  
standards in Table 79. Clarified Note 2, Table 82. Improved various timing specifications for  
v1.26 speed file. Added Table 84 to summarize the history of speed file releases after which  
time all devices became Production status. Added absolute minimum values for Table 85,  
Table 91, and Table 92. Updated pin-to-pin setup and hold timing based on default  
IFD_DELAY_VALUE settings in Table 86, Table 87, and Table 89. Added Table 88 about  
source-synchronous input capture sample window. Promoted Module 3 to Production  
status. Synchronized all modules to v3.4.  
DS312-3 (v3.4) November 9, 2006  
www.xilinx.com  
159  
Product Specification  
R
DC and Switching Characteristics  
160  
www.xilinx.com  
DS312-3 (v3.4) November 9, 2006  
Product Specification  
232  
R
Spartan-3E FPGA Family:  
Pinout Descriptions  
0
DS312-4 (v3.4) November 9, 2006  
Product Specification  
Introduction  
This section describes the various pins on a Spartan™-3E  
FPGA and how they connect within the supported compo-  
nent packages.  
Pin Types  
Most pins on a Spartan-3E FPGA are general-purpose,  
user-defined I/O pins. There are, however, up to 11 different  
functional types of pins on Spartan-3E packages, as out-  
lined in Table 123. In the package footprint drawings that fol-  
low, the individual pins are color-coded according to pin  
type as in the table.  
Table 123: Types of Pins on Spartan-3E FPGAs  
Type /  
Color Code  
Description  
Pin Name(s) in Type  
I/O  
Unrestricted, general-purpose user-I/O pin. Most pins can be paired together to IO  
form differential I/Os.  
IO_Lxxy_#  
INPUT  
DUAL  
Unrestricted, general-purpose input-only pin. This pin does not have an output IP  
structure.  
IP_Lxxy_#  
Dual-purpose pin used in some configuration modes during the configuration  
M[2:0]  
process and then usually available as a user I/O after configuration. If the pin is HSWAP  
not used during configuration, this pin behaves as an I/O-type pin. Some of the CCLK  
dual-purpose pins are also shared with bottom-edge global (GCLK) or right-half MOSI/CSI_B  
(RHCLK) clock inputs. See the Configuration section in Module 2 for additional D[7:1]  
information on these signals.  
D0/DIN  
CSO_B  
RDWR_B  
BUSY/DOUT  
INIT_B  
A[23:20]  
A19/VS2  
A18/VS1  
A17/VS0  
A[16:0]  
LDC[2:0]  
HDC  
VREF  
CLK  
Dual-purpose pin that is either a user-I/O pin or Input-only pin, or, along with all IP/VREF_#  
other VREF pins in the same bank, provides a reference voltage input for certain IP_Lxx_#/VREF_#  
I/O standards. If used for a reference voltage within a bank, all VREF pins within IO/VREF_#  
the bank must be connected.  
IO_Lxx_#/VREF_#  
Either a user-I/O pin or an input to a specific clock buffer driver. Every package IO_Lxx_#/GCLK[15:2],  
has 16 global clock inputs that optionally clock the entire device. The RHCLK IP_Lxx_#/GCLK[1:0],  
inputs optionally clock the right-half of the device. The LHCLK inputs optionally IO_Lxx_#/LHCLK[7:0],  
clock the left-half of the device. Some of the clock pins are shared with the  
dual-purpose configuration pins and are considered DUAL-type. See the  
Clocking Infrastructure section in Module 2 for additional information on these  
signals.  
IO_Lxx_#/RHCLK[7:0]  
© 2005-2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc.  
All other trademarks are the property of their respective owners.  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
www.xilinx.com  
161  
R
Pinout Descriptions  
Table 123: Types of Pins on Spartan-3E FPGAs (Continued)  
Type /  
Color Code  
Description  
Pin Name(s) in Type  
CONFIG  
Dedicated configuration pin. Not available as a user-I/O pin. Every package has DONE, PROG_B  
two dedicated configuration pins. These pins are powered by VCCAUX. See the  
Configuration section in Module 2 for additional information on these signals.  
JTAG  
GND  
Dedicated JTAG pin. Not available as a user-I/O pin. Every package has four  
dedicated JTAG pins. These pins are powered by VCCAUX.  
TDI, TMS, TCK, TDO  
Dedicated ground pin. The number of GND pins depends on the package used. GND  
All must be connected.  
VCCAUX  
Dedicated auxiliary power supply pin. The number of VCCAUX pins depends on VCCAUX  
the package used. All must be connected to +2.5V. See the Powering  
Spartan-3E FPGAs section in Module 2 for additional information on this signal.  
VCCINT  
VCCO  
Dedicated internal core logic power supply pin. The number of VCCINT pins  
depends on the package used. All must be connected to +1.2V. See the  
Powering Spartan-3E FPGAs section in Module 2 for additional information on  
this signal.  
VCCINT  
Along with all the other VCCO pins in the same bank, this pin supplies power to VCCO_#  
the output buffers within the I/O bank and sets the input threshold voltage for  
some I/O standards. See the Powering Spartan-3E FPGAs section in Module  
2 for additional information on these signals.  
N.C.  
This package pin is not connected in this specific device/package combination N.C.  
but may be connected in larger devices in the same package.  
Notes:  
1. # = I/O bank number, an integer between 0 and 3.  
I/Os with Lxxy_# are part of a differential output pair. ‘Lindi-  
cates differential output capability. The “xx” field is a  
two-digit integer, unique to each bank that identifies a differ-  
ential pin-pair. The ‘y’ field is either ‘P’ for the true signal or  
‘N’ for the inverted signal in the differential pair. The ‘#’ field  
is the I/O bank number.  
significance. Figure 80 provides a specific example showing  
a differential input to and a differential output from Bank 1.  
Lindicates that the pin is part of a differentiaL pair.  
"xx" is a two-digit integer, unique for each bank, that  
identifies a differential pin-pair.  
‘y’ is replaced by ‘P’ for the true signal or ‘N’ for the  
inverted. These two pins form one differential pin-pair.  
Differential Pair Labeling  
A pin supports differential standards if the pin is labeled in  
the format “Lxxy_#”. The pin name suffix has the following  
‘#’ is an integer, 0 through 3, indicating the associated  
I/O bank.  
Pair Number  
Bank 0  
Bank Number  
IO_L38P_1  
IO_L38N_1  
Positive Polarity,  
True Driver  
IO_L39P_1  
Spartan-3E  
FPGA  
IO_L39N_1  
Negative Polarity,  
Inverted Driver  
Bank 2  
DS312-4_00_111105  
Figure 80: Differential Pair Labeling  
162  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
lar, as shown in the mechanical drawings provided in  
Table 126.  
Package Overview  
Table 124 shows the eight low-cost, space-saving produc-  
tion package styles for the Spartan-3E family. Each pack-  
age style is available as a standard and an environmentally  
friendly lead-free (Pb-free) option. The Pb-free packages  
include an extra ‘G’ in the package style name. For exam-  
ple, the standard “VQ100” package becomes “VQG100”  
when ordered as the Pb-free option. The mechanical  
dimensions of the standard and Pb-free packages are simi-  
Not all Spartan-3E densities are available in all packages.  
For a specific package, however, there is a common foot-  
print that supports all the devices available in that package.  
See the footprint diagrams that follow.  
For additional package information, see UG112: Device  
Package User Guide.  
Table 124: Spartan-3E Family Package Options  
Lead  
Pitch  
(mm)  
Maximum  
I/O  
Footprint  
Area (mm)  
Height  
(mm)  
Mass(1)  
(g)  
Package  
Leads  
100  
132  
144  
208  
256  
320  
400  
484  
Type  
VQ100 / VQG100  
CP132 / CPG132  
TQ144 / TQG144  
PQ208 / PQG208  
FT256 / FTG256  
FG320 / FGG320  
FG400 / FGG400  
FG484 / FGG484  
Very-thin Quad Flat Pack (VQFP)  
Chip-Scale Package (CSP)  
66  
0.5  
0.5  
0.5  
0.5  
1.0  
1.0  
1.0  
1.0  
16 x 16  
8.1 x 8.1  
22 x 22  
1.20  
1.10  
1.60  
4.10  
1.55  
2.00  
2.43  
2.60  
0.6  
0.1  
1.4  
5.3  
0.9  
1.4  
2.2  
2.2  
92  
Thin Quad Flat Pack (TQFP)  
Plastic Quad Flat Pack (PQFP)  
Fine-pitch, Thin Ball Grid Array (FBGA)  
Fine-pitch Ball Grid Array (FBGA)  
Fine-pitch Ball Grid Array (FBGA)  
Fine-pitch Ball Grid Array (FBGA)  
108  
158  
190  
250  
304  
376  
30.6 x 30.6  
17 x 17  
19 x 19  
21 x 21  
23 x 23  
Notes:  
1. Package mass is 10%.  
packages are superior in almost every other aspect, as  
summarized in Table 125. Consequently, Xilinx recom-  
mends using BGA packaging whenever possible.  
Selecting the Right Package Option  
Spartan-3E FPGAs are available in both quad-flat pack  
(QFP) and ball grid array (BGA) packaging options. While  
QFP packaging offers the lowest absolute cost, the BGA  
Table 125: QFP and BGA Comparison  
Characteristic  
Quad Flat Pack (QFP)  
Ball Grid Array (BGA)  
Maximum User I/O  
158  
Good  
Fair  
376  
Better  
Better  
Better  
Better  
4-6  
Packing Density (Logic/Area)  
Signal Integrity  
Simultaneous Switching Output (SSO) Support  
Thermal Dissipation  
Fair  
Fair  
Minimum Printed Circuit Board (PCB) Layers  
Hand Assembly/Rework  
4
Possible  
Difficult  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
163  
Product Specification  
R
Pinout Descriptions  
Mechanical Drawings  
Detailed mechanical drawings for each package type are  
available from the Xilinx website at the specified location in  
Table 126.  
Table 126: Xilinx Package Mechanical Drawings  
Package  
Web Link (URL)  
VQ100 / VQG100  
CP132 / CPG132  
TQ144 / TQG144  
PQ208 / PQG208  
FT256 / FTG256  
FG320 / FGG320  
FG400 / FGG400  
FG484 / FGG484  
http://www.xilinx.com/bvdocs/packages/vq100.pdf  
http://www.xilinx.com/bvdocs/packages/cp132.pdf  
http://www.xilinx.com/bvdocs/packages/tq144.pdf  
http://www.xilinx.com/bvdocs/packages/pq208.pdf  
http://www.xilinx.com/bvdocs/packages/ft256.pdf  
http://www.xilinx.com/bvdocs/packages/fg320.pdf  
http://www.xilinx.com/bvdocs/packages/fg400.pdf  
http://www.xilinx.com/bvdocs/packages/fg484.pdf  
A majority of package pins are user-defined I/O or input  
pins. However, the numbers and characteristics of these I/O  
depend on the device type and the package in which it is  
available, as shown in Table 128. The table shows the max-  
imum number of single-ended I/O pins available, assuming  
that all I/O-, INPUT-, DUAL-, VREF-, and CLK-type pins are  
used as general-purpose I/O. Likewise, the table shows the  
maximum number of differential pin-pairs available on the  
package. Finally, the table shows how the total maximum  
user-I/Os are distributed by pin type, including the number  
of unconnected—i.e., N.C.—pins on the device.  
Package Pins by Type  
Each package has three separate voltage supply  
inputs—VCCINT, VCCAUX, and VCCO—and a common  
ground return, GND. The numbers of pins dedicated to  
these functions vary by package, as shown in Table 127.  
Table 127: Power and Ground Supply Pins by Package  
Package  
VQ100  
CP132  
TQ144  
PQ208  
FT256  
VCCINT  
VCCAUX  
VCCO  
8
GND  
12  
4
6
4
4
8
16  
4
4
9
13  
4
8
12  
16  
20  
24  
28  
20  
8
8
28  
FG320  
FG400  
FG484  
8
8
28  
16  
16  
8
42  
10  
48  
164  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 128: Maximum User I/O by Package  
Maximum  
All Possible I/Os by Type  
User I/Os  
and  
Package Input-Only  
Maximum Maximum  
Input-  
Only  
Differential  
Pairs  
(1)  
Device  
I/O  
16  
INPUT DUAL VREF  
CLK  
24  
24  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
N.C.  
0
XC3S100E  
XC3S250E  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S100E  
XC3S250E  
XC3S250E  
XC3S500E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S500E  
XC3S1200E  
XC3S1600E  
XC3S1200E  
XC3S1600E  
XC3S1600E  
66  
7
30  
30  
35  
41  
41  
40  
40  
65  
65  
68  
77  
77  
92  
99  
99  
124  
124  
156  
1
21  
21  
42  
46  
46  
42  
42  
46  
46  
46  
46  
46  
46  
46  
46  
46  
46  
46  
4
4
VQ100  
66  
7
16  
1
0
83  
11  
7
16  
2
7
9
CP132  
92  
22  
0
8
0
92  
7
22  
0
8
0
108  
108  
158  
158  
172  
190  
190  
232  
250  
250  
304  
304  
376  
28  
28  
32  
32  
40  
41  
40  
56  
56  
56  
72  
72  
82  
22  
19  
21  
25  
25  
33  
33  
31  
48  
47  
47  
62  
62  
72  
9
0
TQ144  
PQ208  
20  
9
0
58  
13  
13  
15  
19  
19  
20  
21  
21  
24  
24  
28  
0
58  
0
62  
16  
0
FT256  
FG320  
76  
78  
0
102  
120  
120  
156  
156  
214  
18  
0
0
0
FG400  
FG484  
0
0
Notes:  
1. All devices have 24 possible global clock and right- and left-half side clock inputs. The right-half and bottom-edge clock pins have shared  
functionality in some FPGA configuration modes. Consequently, some clock pins are counted in the DUAL column.  
Electronic versions of the package pinout tables and foot-  
prints are available for download from the Xilinx website.  
Download the files from the following location: Using a  
spreadsheet program, the data can be sorted and reformat-  
ted according to any specific needs. Similarly, the  
ASCII-text file is easily parsed by most scripting programs.  
http://www.xilinx.com/bvdocs/publications/s3e_pin.zip  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
165  
Product Specification  
R
Pinout Descriptions  
age body (case) and the die junction temperature per watt  
Package Thermal Characteristics  
of power consumption. The junction-to-board (θ ) value  
JB  
The power dissipated by an FPGA application has implica-  
tions on package selection and system design. The power  
consumed by a Spartan-3E FPGA is reported using either  
the XPower Estimator or the XPower calculator integrated in  
the Xilinx ISE development software. Table 129 provides the  
thermal characteristics for the various Spartan-3E package  
offerings.  
similarly reports the difference between the board and junc-  
tion temperature. The junction-to-ambient (θ ) value  
JA  
reports the temperature difference per watt between the  
ambient environment and the junction temperature. The θ  
JA  
value is reported at different air velocities, measured in lin-  
ear feet per minute (LFM). The “Still Air (0 LFM)” column  
shows the θ value in a system without a fan. The thermal  
JA  
The junction-to-case thermal resistance (θ ) indicates the  
difference between the temperature measured on the pack-  
resistance drops with increasing air flow.  
JC  
Table 129: Spartan-3E Package Thermal Characteristics  
Junction-to-Ambient (θ  
)
JA  
at Different Air Flows  
Junction-to-Case Junction-to-  
Still Air  
(0 LFM) 250 LFM 500 LFM 750 LFM  
Package  
Device  
(θ  
)
Board (θ  
30.9  
25.9  
42.0  
28.4  
21.1  
31.9  
25.7  
29.0  
26.8  
27.6  
22.3  
16.4  
17.1  
13.8  
12.1  
13.5  
11.6  
11.3  
)
Units  
JC  
JB  
VQ100  
XC3S100E  
XC3S250E  
XC3S100E  
XC3S250E  
XC3S500E  
XC3S100E  
XC3S250E  
XC3S250E  
XC3S500E  
XC3S250E  
XC3S500E  
XC3S1200E  
XC3S500E  
XC3S1200E  
XC3S1600E  
XC3S1200E  
XC3S1600E  
XC3S1600E  
13.0  
11.0  
19.3  
11.8  
8.5  
49.0  
43.3  
62.1  
48.5  
41.4  
52.1  
37.6  
37.0  
36.1  
35.8  
31.1  
26.3  
25.9  
22.7  
20.8  
22.2  
20.1  
16.7  
40.7  
36.0  
55.3  
42.0  
35.0  
40.5  
29.2  
27.3  
26.6  
29.4  
25.0  
20.6  
20.4  
17.4  
15.3  
17.1  
15.1  
12.2  
37.9  
33.6  
52.8  
39.6  
32.8  
34.6  
25.0  
24.1  
23.6  
28.4  
24.0  
19.4  
19.2  
16.1  
14.0  
15.9  
13.9  
11.0  
37.0  
32.7  
51.2  
38.1  
31.4  
32.5  
23.4  
22.4  
21.8  
28.1  
23.6  
19.0  
18.5  
15.4  
13.3  
15.2  
13.2  
10.5  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
°C/Watt  
CP132  
TQ144  
PQ208  
FT256  
8.2  
7.2  
9.8  
8.5  
12.4  
9.7  
6.5  
FG320  
13.0  
10.2  
8.8  
FG400  
FG484  
9.7  
8.3  
7.8  
166  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
VQ100: 100-lead Very-thin Quad Flat Package  
The XC3S100E and the XC3S250E devices are available in  
the 100-lead very-thin quad flat package, VQ100. Both  
devices share a common footprint for this package as  
shown in Table 130 and Figure 81.  
Table 130: VQ100 Package Pinout (Continued)  
XC3S100E  
XC3S250E  
Pin Name  
VQ100  
Pin  
Bank  
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Number  
P60  
P63  
P62  
P66  
P65  
P68  
P67  
P71  
P70  
P69  
P55  
P73  
P34  
P42  
P25  
P24  
P27  
P26  
P33  
P32  
P36  
P35  
P41  
P40  
P44  
P43  
P48  
P47  
P50  
P49  
P30  
P39  
P38  
Type  
RHCLK  
RHCLK  
RHCLK  
RHCLK  
RHCLK  
RHCLK  
RHCLK  
I/O  
Table 130 lists all the package pins. They are sorted by  
bank number and then by pin name of the largest device.  
Pins that form a differential I/O pair appear together in the  
table. The table also shows the pin number for each pin and  
the pin type, as defined earlier.  
IO_L03P_1/RHCLK0  
IO_L04N_1/RHCLK3  
IO_L04P_1/RHCLK2  
IO_L05N_1/RHCLK5  
IO_L05P_1/RHCLK4  
IO_L06N_1/RHCLK7  
IO_L06P_1/RHCLK6  
IO_L07N_1  
The VQ100 package does not support the Byte-wide  
Peripheral Interface (BPI) configuration mode. Conse-  
quently, the VQ100 footprint has fewer DUAL-type pins  
than other packages.  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip.  
IO_L07P_1  
I/O  
IP/VREF_1  
VREF  
VCCO_1  
VCCO  
Pinout Table  
Table 130 shows the pinout for production Spartan-3E  
FPGAs in the VQ100 package.  
VCCO_1  
VCCO  
IO/D5  
DUAL  
IO/M1  
DUAL  
Table 130: VQ100 Package Pinout  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L02N_2/MOSI/CSI_B  
IO_L02P_2/DOUT/BUSY  
IO_L03N_2/D6/GCLK13  
IO_L03P_2/D7/GCLK12  
IO_L04N_2/D3/GCLK15  
IO_L04P_2/D4/GCLK14  
IO_L06N_2/D1/GCLK3  
IO_L06P_2/D2/GCLK2  
IO_L07N_2/DIN/D0  
IO_L07P_2/M0  
DUAL  
XC3S100E  
XC3S250E  
Pin Name  
VQ100  
Pin  
Number  
DUAL  
Bank  
0
Type  
I/O  
DUAL  
IO  
P92  
P79  
P78  
P84  
P83  
P86  
P85  
P91  
P90  
P95  
P94  
P99  
P98  
P89  
P88  
P82  
P97  
P54  
P53  
P58  
P57  
P61  
DUAL  
0
IO_L01N_0  
I/O  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL  
0
IO_L01P_0  
I/O  
0
IO_L02N_0/GCLK5  
IO_L02P_0/GCLK4  
IO_L03N_0/GCLK7  
IO_L03P_0/GCLK6  
IO_L05N_0/GCLK11  
IO_L05P_0/GCLK10  
IO_L06N_0/VREF_0  
IO_L06P_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
VREF  
I/O  
0
0
0
0
0
DUAL  
0
IO_L08N_2/VS1  
DUAL  
0
IO_L08P_2/VS2  
DUAL  
0
IO_L07N_0/HSWAP  
IO_L07P_0  
DUAL  
I/O  
IO_L09N_2/CCLK  
IO_L09P_2/VS0  
DUAL  
0
DUAL  
0
IP_L04N_0/GCLK9  
IP_L04P_0/GCLK8  
VCCO_0  
GCLK  
GCLK  
VCCO  
VCCO  
I/O  
IP/VREF_2  
VREF  
0
IP_L05N_2/M2/GCLK1  
DUAL/GCLK  
DUAL/GCLK  
0
IP_L05P_2/RDWR_B/  
GCLK0  
0
VCCO_0  
2
2
3
3
3
VCCO_2  
P31  
P45  
P3  
VCCO  
VCCO  
I/O  
1
IO_L01N_1  
VCCO_2  
1
IO_L01P_1  
I/O  
IO_L01N_3  
IO_L01P_3  
IO_L02N_3/VREF_3  
1
IO_L02N_1  
I/O  
P2  
I/O  
1
IO_L02P_1  
I/O  
P5  
VREF  
1
IO_L03N_1/RHCLK1  
RHCLK  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
167  
Product Specification  
R
Pinout Descriptions  
Table 130: VQ100 Package Pinout (Continued)  
XC3S100E  
XC3S250E  
Pin Name  
VQ100  
Pin  
Number  
Bank  
3
Type  
I/O  
IO_L02P_3  
P4  
P10  
P9  
3
IO_L03N_3/LHCLK1  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
I/O  
3
IO_L03P_3/LHCLK0  
3
IO_L04N_3/LHCLK3  
P12  
P11  
P16  
P15  
P18  
P17  
P23  
P22  
P13  
P8  
3
IO_L04P_3/LHCLK2  
3
IO_L05N_3/LHCLK5  
3
IO_L05P_3/LHCLK4  
3
IO_L06N_3/LHCLK7  
3
IO_L06P_3/LHCLK6  
IO_L07N_3  
IO_L07P_3  
IP  
3
3
I/O  
3
INPUT  
VCCO  
VCCO  
GND  
3
VCCO_3  
VCCO_3  
GND  
3
P20  
P7  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
P14  
P19  
P29  
P37  
P52  
P59  
P64  
P72  
P81  
P87  
P93  
P51  
P1  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
VCCAUX DONE  
VCCAUX PROG_B  
VCCAUX TCK  
CONFIG  
CONFIG  
JTAG  
P77  
P100  
P76  
P75  
P21  
P46  
P74  
P96  
P6  
VCCAUX TDI  
JTAG  
VCCAUX TDO  
JTAG  
VCCAUX TMS  
JTAG  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
P28  
P56  
P80  
168  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
User I/Os by Bank  
Table 131 indicates how the 66 available user-I/O pins are  
distributed between the four I/O banks on the VQ100 pack-  
age.  
Table 131: User I/Os Per Bank for XC3S100E and XC3S250E in the VQ100 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
5
INPUT  
DUAL  
VREF  
CLK  
Top  
0
1
2
3
15  
15  
19  
17  
66  
0
0
0
1
1
1
0
1
1
1
1
4
8
8
Right  
Bottom  
Left  
6
(1)  
0
18  
2
0
5
8
TOTAL  
16  
21  
24  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Footprint Migration Differences  
The production XC3S100E and XC3S250E FPGAs have  
identical footprints in the VQ100 package. Designs can  
migrate between the XC3S100E and XC3S250E without  
further consideration.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
169  
Product Specification  
R
Pinout Descriptions  
VQ100 Footprint  
In Figure 81, note pin 1 indicator in top-left corner and logo  
orientation.  
PROG_B  
IO_L01P_3  
1
2
75 TMS  
74 VCCAUX  
Bank 0  
IO_L01N_3  
IO_L02P_3  
3
4
5
6
7
8
9
73 VCCO_1  
72 GND  
IO_L02N_3/VREF_3  
VCCINT  
71 IO_L07N_1  
70 IO_L07P_1  
GND  
69 IP/VREF_1  
VCCO_3  
68 IO_L06N_1/RHCLK7  
67 IO_L06P_1/RHCLK6  
66 IO_L05N_1/RHCLK5  
65 IO_L05P_1/RHCLK4  
64 GND  
IO_L03P_3/LHCLK0  
IO_L03N_3/LHCLK1 10  
IO_L04P_3/LHCLK2 11  
IO_L04N_3/LHCLK3 12  
IP 13  
63 IO_L04N_1/RHCLK3  
62 IO_L04P_1/RHCLK2  
61 IO_L03N_1/RHCLK1  
60 IO_L03P_1/RHCLK0  
59 GND  
GND 14  
IO_L05P_3/LHCLK4 15  
IO_L05N_3/LHCLK5 16  
IO_L06P_3/LHCLK6 17  
IO_L06N_3/LHCLK7 18  
GND 19  
58 IO_L02N_1  
57 IO_L02P_1  
VCCO_3 20  
56 VCCINT  
VCCAUX 21  
55 VCCO_1  
IO_L07P_3 22  
IO_L07N_3 23  
54 IO_L01N_1  
53 IO_L01P_1  
IO_L01P_2/CSO_B 24  
IO_L01N_2/INIT_B 25  
52 GND  
51 DONE  
Bank 2  
DS312-4_02_030705  
Figure 81: VQ100 Package Footprint (top view).  
DUAL: Configuration pin, then  
I/O: Unrestricted,  
general-purpose user I/O  
VREF: User I/O or input  
voltage reference for bank  
16  
1
21  
24  
4
4
8
4
4
possible user-I/O  
INPUT: Unrestricted,  
general-purpose input pin  
CLK: User I/O, input, or global  
buffer input  
VCCO: Output voltage supply  
for bank  
CONFIG: Dedicated  
configuration pins  
JTAG: Dedicated JTAG port  
pins  
VCCINT: Internal core supply  
voltage (+1.2V)  
2
N.C.: Not connected  
GND: Ground  
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
0
12  
170  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
CP132: 132-ball Chip-scale Package  
The XC3S100E, XC3S250E and the XC3S500E FPGAs  
are available in the 132-ball chip-scale package, CP132.  
The devices share a common footprint for this package as  
shown in Table 132 and Figure 82.  
nected to VCCINT to maintain density migration compatibil-  
ity.  
Similarly, the A4, C1, and P10 balls on the XC3S100E  
FPGA are not connected but should be connected to GND  
to maintain density migration compatibility.  
Table 132 lists all the CP132 package pins. They are sorted  
by bank number and then by pin name. Pins that form a dif-  
ferential I/O pair appear together in the table. The table also  
shows the pin number for each pin and the pin type, as  
defined earlier.  
The XC3S100E FPGA has four fewer BPI address pins,  
A[19:0], whereas the XC3S250E and XC3S500E support  
A[23:0].  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web-  
Physically, the D14 and K2 balls on the XC3S100E and  
XC3S250E FPGAs are not connected but should be con-  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip  
.
Pinout Table  
Table 132: CP132 Package Pinout  
XC3S250E  
XC3S500E  
Pin Name  
XC3S100E  
Pin Name  
Bank  
CP132 Ball  
C12  
Type  
I/O  
0
0
0
IO_L01N_0  
IO_L01P_0  
N.C. (‹)  
IO_L01N_0  
IO_L01P_0  
IO_L02N_0  
A13  
I/O  
A12  
100E: N.C.  
Others: I/O  
0
0
0
N.C. (‹)  
N.C. (‹)  
IP  
IO_L02P_0  
B12  
B11  
C11  
100E: N.C.  
Others: I/O  
IO_L03N_0/VREF_0  
IO_L03P_0  
100E: N.C.  
Others: VREF (I/O)  
100E: INPUT  
Others: I/O  
0
0
0
0
0
0
0
0
0
0
0
IO_L04N_0/GCLK5  
IO_L04P_0/GCLK4  
IO_L05N_0/GCLK7  
IO_L05P_0/GCLK6  
IO_L07N_0/GCLK11  
IO_L07P_0/GCLK10  
IO_L08N_0/VREF_0  
IO_L08P_0  
IO_L04N_0/GCLK5  
IO_L04P_0/GCLK4  
IO_L05N_0/GCLK7  
IO_L05P_0/GCLK6  
IO_L07N_0/GCLK11  
IO_L07P_0/GCLK10  
IO_L08N_0/VREF_0  
IO_L08P_0  
C9  
A10  
A9  
B9  
B7  
A7  
C6  
B6  
C5  
B5  
C4  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
VREF  
I/O  
IO_L09N_0  
IO_L09N_0  
I/O  
IO_L09P_0  
IO_L09P_0  
I/O  
N.C. (‹)  
IO_L10N_0  
100E: N.C.  
Others: I/O  
0
IP  
IO_L10P_0  
B4  
100E: INPUT  
Others: I/O  
0
0
0
0
IO_L11N_0/HSWAP  
IO_L11P_0  
IO_L11N_0/HSWAP  
IO_L11P_0  
B3  
A3  
C8  
B8  
DUAL  
I/O  
IP_L06N_0/GCLK9  
IP_L06P_0/GCLK8  
IP_L06N_0/GCLK9  
IP_L06P_0/GCLK8  
GCLK  
GCLK  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
171  
Product Specification  
R
Pinout Descriptions  
Table 132: CP132 Package Pinout (Continued)  
XC3S250E  
XC3S500E  
Pin Name  
XC3S100E  
Pin Name  
Bank  
0
CP132 Ball  
A6  
Type  
VCCO  
VCCO_0  
VCCO_0  
IO/A0  
VCCO_0  
VCCO_0  
IO/A0  
0
B10  
F12  
K13  
N14  
N13  
M13  
M12  
L14  
VCCO  
1
DUAL  
1
IO/VREF_1  
IO/VREF_1  
VREF  
1
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L01N_1/A15  
IO_L01P_1/A16  
DUAL  
1
DUAL  
1
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L02N_1/A13  
IO_L02P_1/A14  
DUAL  
1
DUAL  
1
IO_L03N_1/A11  
IO_L03P_1/A12  
IO_L03N_1/A11  
IO_L03P_1/A12  
DUAL  
1
L13  
DUAL  
1
IO_L04N_1/A9/RHCLK1  
IO_L04P_1/A10/RHCLK0  
IO_L05N_1/A7/RHCLK3/TRDY1  
IO_L05P_1/A8/RHCLK2  
IO_L06N_1/A5/RHCLK5  
IO_L06P_1/A6/RHCLK4/IRDY1  
IO_L07N_1/A3/RHCLK7  
IO_L07P_1/A4/RHCLK6  
IO_L08N_1/A1  
IO_L04N_1/A9/RHCLK1  
IO_L04P_1/A10/RHCLK0  
IO_L05N_1/A7/RHCLK3/TRDY1  
IO_L05P_1/A8/RHCLK2  
IO_L06N_1/A5/RHCLK5  
IO_L06P_1/A6/RHCLK4/IRDY1  
IO_L07N_1/A3/RHCLK7  
IO_L07P_1/A4/RHCLK6  
IO_L08N_1/A1  
J12  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
DUAL  
1
K14  
J14  
1
1
J13  
1
H12  
H13  
G13  
G14  
F13  
F14  
D12  
D13  
C13  
C14  
G12  
E13  
M14  
P4  
1
1
1
1
1
IO_L08P_1/A2  
IO_L08P_1/A2  
DUAL  
1
IO_L09N_1/LDC0  
IO_L09P_1/HDC  
IO_L10N_1/LDC2  
IO_L10P_1/LDC1  
IP/VREF_1  
IO_L09N_1/LDC0  
IO_L09P_1/HDC  
IO_L10N_1/LDC2  
IO_L10P_1/LDC1  
IP/VREF_1  
DUAL  
1
DUAL  
1
DUAL  
1
DUAL  
1
VREF  
1
VCCO_1  
VCCO_1  
VCCO  
1
VCCO_1  
VCCO_1  
VCCO  
2
IO/D5  
IO/D5  
DUAL  
2
IO/M1  
IO/M1  
N7  
DUAL  
2
IP/VREF_2  
IO/VREF_2  
P11  
100E: VREF(INPUT)  
Others: VREF(I/O)  
2
2
2
2
2
2
2
2
2
IO_L01N_2/INIT_B  
IO_L01N_2/INIT_B  
N1  
M2  
N2  
P1  
N4  
M4  
N5  
M5  
P7  
DUAL  
DUAL  
IO_L01P_2/CSO_B  
IO_L01P_2/CSO_B  
IO_L02N_2/MOSI/CSI_B  
IO_L02P_2/DOUT/BUSY  
IO_L03N_2/D6/GCLK13  
IO_L03P_2/D7/GCLK12  
IO_L04N_2/D3/GCLK15  
IO_L04P_2/D4/GCLK14  
IO_L06N_2/D1/GCLK3  
IO_L02N_2/MOSI/CSI_B  
IO_L02P_2/DOUT/BUSY  
IO_L03N_2/D6/GCLK13  
IO_L03P_2/D7/GCLK12  
IO_L04N_2/D3/GCLK15  
IO_L04P_2/D4/GCLK14  
IO_L06N_2/D1/GCLK3  
DUAL  
DUAL  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
172  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 132: CP132 Package Pinout (Continued)  
XC3S250E  
XC3S500E  
Pin Name  
XC3S100E  
Bank  
Pin Name  
IO_L06P_2/D2/GCLK2  
IO_L07N_2/DIN/D0  
IO_L07P_2/M0  
CP132 Ball  
Type  
DUAL/GCLK  
DUAL  
2
2
2
2
IO_L06P_2/D2/GCLK2  
IO_L07N_2/DIN/D0  
IO_L07P_2/M0  
P6  
N8  
P8  
M9  
DUAL  
N.C. (‹)  
IO_L08N_2/A22  
100E: N.C.  
Others: DUAL  
2
2
2
N.C. (‹)  
N.C. (‹)  
N.C. (‹)  
IO_L08P_2/A23  
IO_L09N_2/A20  
IO_L09P_2/A21  
N9  
100E: N.C.  
Others: DUAL  
M10  
N10  
100E: N.C.  
Others: DUAL  
100E: N.C.  
Others: DUAL  
2
2
2
2
2
2
2
2
2
3
3
IO_L10N_2/VS1/A18  
IO_L10P_2/VS2/A19  
IO_L11N_2/CCLK  
IO_L11P_2/VS0/A17  
IP/VREF_2  
IO_L10N_2/VS1/A18  
IO_L10P_2/VS2/A19  
IO_L11N_2/CCLK  
IO_L11P_2/VS0/A17  
IP/VREF_2  
M11  
N11  
N12  
P12  
N3  
DUAL  
DUAL  
DUAL  
DUAL  
VREF  
IP_L05N_2/M2/GCLK1  
IP_L05P_2/RDWR_B/GCLK0  
VCCO_2  
IP_L05N_2/M2/GCLK1  
IP_L05P_2/RDWR_B/GCLK0  
VCCO_2  
N6  
DUAL/GCLK  
DUAL/GCLK  
VCCO  
M6  
M8  
P3  
VCCO_2  
VCCO_2  
VCCO  
IO  
IO  
J3  
I/O  
IP/VREF_3  
IO/VREF_3  
K3  
100E: VREF(INPUT)  
Others: VREF(I/O)  
3
3
3
3
3
IO_L01N_3  
IO_L01P_3  
IO_L02N_3  
IO_L02P_3  
N.C. (‹)  
IO_L01N_3  
IO_L01P_3  
IO_L02N_3  
IO_L02P_3  
IO_L03N_3  
B1  
B2  
C2  
C3  
D1  
I/O  
I/O  
I/O  
I/O  
100E: N.C.  
Others: I/O  
3
3
3
3
3
3
3
3
3
3
3
3
IO  
IO_L03P_3  
D2  
F2  
F3  
G1  
F1  
H1  
G3  
H3  
H2  
L2  
I/O  
IO_L04N_3/LHCLK1  
IO_L04P_3/LHCLK0  
IO_L05N_3/LHCLK3/IRDY2  
IO_L05P_3/LHCLK2  
IO_L06N_3/LHCLK5  
IO_L06P_3/LHCLK4/TRDY2  
IO_L07N_3/LHCLK7  
IO_L07P_3/LHCLK6  
IO_L08N_3  
IO_L04N_3/LHCLK1  
IO_L04P_3/LHCLK0  
IO_L05N_3/LHCLK3/IRDY2  
IO_L05P_3/LHCLK2  
IO_L06N_3/LHCLK5  
IO_L06P_3/LHCLK4/TRDY2  
IO_L07N_3/LHCLK7  
IO_L07P_3/LHCLK6  
IO_L08N_3  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
I/O  
IO_L08P_3  
IO_L08P_3  
L1  
I/O  
IO_L09N_3  
IO_L09N_3  
M1  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
173  
Product Specification  
R
Pinout Descriptions  
Table 132: CP132 Package Pinout (Continued)  
XC3S250E  
XC3S500E  
Pin Name  
XC3S100E  
Pin Name  
Bank  
3
CP132 Ball  
L3  
Type  
I/O  
IO_L09P_3  
IP/VREF_3  
VCCO_3  
VCCO_3  
N.C. (GND)  
GND  
IO_L09P_3  
IP/VREF_3  
VCCO_3  
VCCO_3  
GND  
3
E2  
VREF  
VCCO  
VCCO  
GND  
3
E1  
3
J2  
GND  
A4  
GND  
GND  
A8  
GND  
GND  
N.C. (GND)  
GND  
GND  
C1  
GND  
GND  
GND  
C7  
GND  
GND  
GND  
GND  
C10  
E3  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
E14  
G2  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
H14  
J1  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
K12  
M3  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
M7  
GND  
GND  
GND  
GND  
P5  
GND  
GND  
N.C. (GND)  
GND  
GND  
P10  
P14  
P13  
A1  
GND  
GND  
GND  
GND  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
DONE  
PROG_B  
TCK  
DONE  
PROG_B  
TCK  
CONFIG  
CONFIG  
JTAG  
B13  
A2  
TDI  
TDI  
JTAG  
TDO  
TDO  
A14  
B14  
A5  
JTAG  
TMS  
TMS  
JTAG  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
E12  
K1  
P9  
A11  
D3  
N.C. (VCCINT)  
N.C. (VCCINT)  
VCCINT  
D14  
K2  
L12  
P2  
VCCINT  
174  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
User I/Os by Bank  
Table 133 shows how the 83 available user-I/O pins are dis-  
tributed on the XC3S100E FPGA packaged in the CP132  
package. Table 134 indicates how the 92 available user-I/O  
pins are distributed on the XC3S250E and the XC3S500E  
FPGAs in the CP132 package.  
Table 133: User I/Os Per Bank for the XC3S100E in the CP132 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
6
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
18  
23  
22  
20  
83  
2
0
0
0
2
1
2
2
2
7
8
(1)  
Right  
0
21  
20  
0
0
(1)  
Bottom  
Left  
0
0
10  
16  
8
TOTAL  
42  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Table 134: User I/Os Per Bank for the XC3S250E and XC3S500E in the CP132 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
11  
0
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
22  
23  
26  
21  
92  
0
0
0
0
0
2
2
2
2
8
8
(1)  
Right  
21  
24  
0
0
(1)  
Bottom  
Left  
0
0
11  
22  
8
TOTAL  
46  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
175  
Product Specification  
R
Pinout Descriptions  
Footprint Migration Differences  
Table 135 summarizes any footprint and functionality differ-  
ences between the XC3S100E, the XC3S250E, and the  
XC3S500E FPGAs that may affect easy migration between  
devices in the CP132 package. There are 14 such balls. All  
other pins not listed in Table 135 unconditionally migrate  
between Spartan-3E devices available in the CP132 pack-  
age.  
the two pins have identical functionality. A left-facing arrow  
(Å) indicates that the pin on the device on the right uncon-  
ditionally migrates to the pin on the device on the left. It may  
be possible to migrate the opposite direction depending on  
the I/O configuration. For example, an I/O pin (Type = I/O)  
can migrate to an input-only pin (Type = INPUT) if the I/O  
pin is configured as an input.  
The XC3S100E is duplicated on both the left and right sides  
of the table to show migrations to and from the XC3S250E  
and the XC3S500E. The arrows indicate the direction for  
easy migration. A double-ended arrow (ÅÆ) indicates that  
The XC3S100E FPGA in the CP132 package has four fewer  
BPI-mode address lines than the XC3S250E and  
XC3S500E.  
Table 135: CP132 Footprint Migration Differences  
CP132  
Ball  
XC3S100E  
Type  
XC3S250E  
Type  
XC3S500E  
Type  
XC3S100E  
Type  
Bank  
Migration  
Migration  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
0
Migration  
A12  
B4  
0
0
0
0
0
0
3
3
3
2
2
2
2
2
N.C.  
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
Æ
14  
I/O  
I/O  
I/O  
I/O  
Å
Å
Å
Å
Å
Å
Å
Å
Å
Å
Å
Å
Å
Å
14  
N.C.  
INPUT  
N.C.  
INPUT  
N.C.  
B11  
B12  
C4  
I/O  
I/O  
N.C.  
I/O  
I/O  
N.C.  
N.C.  
I/O  
I/O  
N.C.  
C11  
D1  
INPUT  
N.C.  
I/O  
I/O  
INPUT  
N.C.  
I/O  
I/O  
D2  
I/O  
I/O (Diff)  
VREF(I/O)  
DUAL  
DUAL  
DUAL  
DUAL  
VREF(I/O)  
I/O (Diff)  
VREF(I/O)  
DUAL  
DUAL  
DUAL  
DUAL  
VREF(I/O)  
I/O  
K3  
VREF(INPUT)  
N.C.  
VREF(INPUT)  
N.C.  
M9  
M10  
N9  
N.C.  
N.C.  
N.C.  
N.C.  
N10  
P11  
N.C.  
N.C.  
VREF(INPUT)  
VREF(INPUT)  
DIFFERENCES  
Legend:  
This pin is identical on the device on the left and the right.  
ÅÆ  
Æ
This pin can unconditionally migrate from the device on the left to the device on the right. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the right.  
Å
This pin can unconditionally migrate from the device on the right to the device on the left. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the left.  
176  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
CP132 Footprint  
Bank 0  
8
1
2
3
4
5
6
7
I/O  
9
I/O  
L05N_0  
GCLK7  
10  
I/O  
L04P_0  
GCLK4  
11  
12  
I/O  
13  
I/O  
14  
I/O  
L11P_0  
VCCAUX  
PROG_B  
GND  
GND  
TDI  
VCCINT L02N_0  
TDO  
VCCO_0 L07P_0  
GCLK10  
A
B
C
D
E
F
L01P_0  
‹
I/O  
I/O  
L11N_0  
HSWAP  
I/O  
L10P_0  
I/O  
I/O  
L08P_0  
INPUT  
L06P_0  
GCLK8  
I/O  
L05P_0  
GCLK6  
I/O  
L02P_0  
‹
I/O  
L01N_3  
I/O  
L01P_3  
I/O  
L09P_0  
L03N_0  
VREF_0  
VCCO_0  
TCK  
TMS  
L07N_0  
GCLK11  
ÅÆ  
‹
I/O  
L10N_0  
‹
I/O  
I/O  
L04N_0  
GCLK5  
I/O  
I/O  
L10N_1  
LDC2  
I/O  
L10P_1  
LDC1  
INPUT  
L06N_0  
GCLK9  
I/O  
I/O  
I/O  
L09N_0  
I/O  
L08N_0  
L03P_0  
GND  
GND  
GND  
L02N_3  
L02P_3  
L01N_0  
VREF_0  
ÅÆ  
I/O  
L09N_1  
LDC0  
I/O  
I/O  
L03N_3  
‹
I/O  
L03P_3 VCCINT  
L09P_1 VCCINT  
HDC  
ÅÆ  
INPUT  
GND  
VCCO_3  
VCCAUX  
GND  
VCCO_1  
VREF_3  
I/O  
L05P_3  
I/O  
L04N_3  
LHCLK2 LHCLK1 LHCLK0  
I/O  
L04P_3  
I/O  
L08N_1  
A1  
I/O  
L08P_1  
A2  
I/O  
A0  
I/O  
L05N_3  
LHCLK3  
IRDY2  
I/O  
L06P_3  
LHCLK4  
TRDY2  
I/O  
I/O  
INPUT  
VREF_1  
L07N_1  
A3  
L07P_1  
A4  
G
H
J
GND  
RHCLK7 RHCLK6  
I/O  
I/O  
I/O  
I/O  
I/O  
L06P_1  
L06N_1  
A5  
L06N_3  
L07P_3  
L07N_3  
A6  
GND  
I/O  
RHCLK4  
IRDY1  
LHCLK5 LHCLK6 LHCLK7  
RHCLK5  
I/O  
L04N_1  
A9  
I/O  
L05P_1  
A8  
L05N_1  
A7  
VCCO_3  
I/O  
GND  
RHCLK3  
TRDY1  
RHCLK1 RHCLK2  
I/O  
I/O  
I/O  
GND  
L04P_1  
A10  
VCCINT  
VCCAUX  
K
L
VREF_3  
VREF_1  
ÅÆ  
RHCLK0  
I/O  
L03P_1  
A12  
I/O  
L03N_1  
A11  
I/O  
L08P_3  
I/O  
L08N_3  
I/O  
L09P_3  
VCCINT  
I/O  
L08N_2  
A22  
I/O  
L09N_2  
A20  
I/O  
I/O  
INPUT  
I/O  
I/O  
L01P_2  
CSO_B  
I/O  
L02P_1  
A14  
I/O  
L02N_1  
A13  
I/O  
L03P_2  
D7  
L04P_2  
D4  
L05P_2  
L10N_2  
VS1  
GND  
M
N
P
GND  
VCCO_2  
VCCO_1  
L09N_3  
RDWR_B  
GCLK0  
GCLK12 GCLK14  
‹
‹
A18  
I/O  
L08P_2  
A23  
I/O  
L09P_2  
A21  
I/O  
I/O  
L03N_2  
D6  
I/O  
L04N_2  
D3  
INPUT  
I/O  
I/O  
I/O  
L01N_2  
INIT_B  
I/O  
L11N_2  
CCLK  
I/O  
L01P_1  
A16  
I/O  
L01N_1  
A15  
I/O  
M1  
INPUT  
VREF_2  
L02N_2  
MOSI  
L05N_2  
L07N_2  
DIN  
L10P_2  
VS2  
M2  
‹
‹
CSI_B  
GCLK13 GCLK15  
GCLK1  
D0  
A19  
I/O  
L02P_2  
DOUT  
BUSY  
I/O  
I/O  
I/O  
I/O  
L07P_2  
M0  
I/O  
VREF_2  
ÅÆ  
I/O  
L06P_2  
D2  
L06N_2  
D1  
L11P_2  
VS0  
VCCO_2  
GND  
D5  
VCCAUX  
GND  
GND  
VCCINT  
DONE  
GCLK2  
GCLK3  
A17  
Bank 2  
DS312-4_07_030206  
Figure 82: CP132 Package Footprint (top view)  
16 to I/O: Unrestricted,  
42 to DUAL: Configuration pin, then  
VREF: User I/O or input  
voltage reference for bank  
7 to 8  
22  
general-purpose user I/O  
46  
possible user I/O  
INPUT: Unrestricted,  
general-purpose input pin  
CLK: User I/O, input, or global  
buffer input  
VCCO: Output voltage supply  
for bank  
0 to 2  
16  
8
6
4
CONFIG: Dedicated  
configuration pins  
JTAG: Dedicated JTAG port  
pins  
VCCINT: Internal core supply  
voltage (+1.2V)  
2
9
4
N.C.: Unconnected balls on  
the XC3S100E FPGA (‹)  
GND: Ground  
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
16  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
177  
Product Specification  
R
Pinout Descriptions  
TQ144: 144-lead Thin Quad Flat Package  
The XC3S100E and the XC3S250E FPGAs are available in  
the 144-lead thin quad flat package, TQ144. Both devices  
share a common footprint for this package as shown in  
Table 136 and Figure 83.  
The TQ144 package only supports 20 address output pins  
in the Byte-wide Peripheral Interface (BPI) configuration  
mode. In larger packages, there are 24 BPI address out-  
puts.  
Table 136 lists all the package pins. They are sorted by  
bank number and then by pin name of the largest device.  
Pins that form a differential I/O pair appear together in the  
table. The table also shows the pin number for each pin and  
the pin type, as defined earlier.  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip.  
Pinout Table  
Table 136: TQ144 Package Pinout  
Bank  
0
XC3S100E Pin Name  
XC3S250E Pin Name  
TQ144 Pin  
P132  
P124  
P113  
P112  
P117  
P116  
P123  
P122  
P126  
P125  
P131  
P130  
P135  
P134  
P140  
P139  
P143  
P142  
P111  
P114  
P136  
P141  
P120  
P119  
P129  
P128  
P121  
P138  
P98  
Type  
I/O  
IO  
IO  
0
IO/VREF_0  
IO/VREF_0  
VREF  
I/O  
0
IO_L01N_0  
IO_L01N_0  
0
IO_L01P_0  
IO_L01P_0  
I/O  
0
IO_L02N_0  
IO_L02N_0  
I/O  
0
IO_L02P_0  
IO_L02P_0  
I/O  
0
IO_L04N_0/GCLK5  
IO_L04P_0/GCLK4  
IO_L05N_0/GCLK7  
IO_L05P_0/GCLK6  
IO_L07N_0/GCLK11  
IO_L07P_0/GCLK10  
IO_L08N_0/VREF_0  
IO_L08P_0  
IO_L04N_0/GCLK5  
IO_L04P_0/GCLK4  
IO_L05N_0/GCLK7  
IO_L05P_0/GCLK6  
IO_L07N_0/GCLK11  
IO_L07P_0/GCLK10  
IO_L08N_0/VREF_0  
IO_L08P_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
VREF  
I/O  
0
0
0
0
0
0
0
0
IO_L09N_0  
IO_L09N_0  
I/O  
0
IO_L09P_0  
IO_L09P_0  
I/O  
0
IO_L10N_0/HSWAP  
IO_L10P_0  
IO_L10N_0/HSWAP  
IO_L10P_0  
DUAL  
I/O  
0
0
IP  
IP  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
GCLK  
GCLK  
VCCO  
VCCO  
DUAL  
VREF  
DUAL  
0
IP  
IP  
0
IP  
IP  
0
IP  
IP  
0
IP_L03N_0  
IP_L03N_0  
0
IP_L03P_0  
IP_L03P_0  
0
IP_L06N_0/GCLK9  
IP_L06P_0/GCLK8  
VCCO_0  
IP_L06N_0/GCLK9  
IP_L06P_0/GCLK8  
VCCO_0  
0
0
0
VCCO_0  
VCCO_0  
1
IO/A0  
IO/A0  
1
IO/VREF_1  
IO/VREF_1  
P83  
1
IO_L01N_1/A15  
IO_L01N_1/A15  
P75  
178  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 136: TQ144 Package Pinout (Continued)  
Bank  
1
XC3S100E Pin Name  
IO_L01P_1/A16  
XC3S250E Pin Name  
IO_L01P_1/A16  
TQ144 Pin  
P74  
Type  
DUAL  
1
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/A11  
IO_L03P_1/A12  
IO_L04N_1/A9/RHCLK1  
IO_L04P_1/A10/RHCLK0  
IO_L05N_1/A7/RHCLK3/TRDY1  
IO_L05P_1/A8/RHCLK2  
IO_L06N_1/A5/RHCLK5  
IO_L06P_1/A6/RHCLK4/IRDY1  
IO_L07N_1/A3/RHCLK7  
IO_L07P_1/A4/RHCLK6  
IO_L08N_1/A1  
IO_L08P_1/A2  
IO_L09N_1/LDC0  
IO_L09P_1/HDC  
IO_L10N_1/LDC2  
IO_L10P_1/LDC1  
IP  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/A11  
IO_L03P_1/A12  
IO_L04N_1/A9/RHCLK1  
IO_L04P_1/A10/RHCLK0  
IO_L05N_1/A7/RHCLK3  
IO_L05P_1/A8/RHCLK2  
IO_L06N_1/A5/RHCLK5  
IO_L06P_1/A6/RHCLK4  
IO_L07N_1/A3/RHCLK7  
IO_L07P_1/A4/RHCLK6  
IO_L08N_1/A1  
IO_L08P_1/A2  
IO_L09N_1/LDC0  
IO_L09P_1/HDC  
IO_L10N_1/LDC2  
IO_L10P_1/LDC1  
IP  
P77  
DUAL  
1
P76  
DUAL  
1
P82  
DUAL  
1
P81  
DUAL  
1
P86  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
DUAL  
1
P85  
1
P88  
1
P87  
1
P92  
1
P91  
1
P94  
1
P93  
1
P97  
1
P96  
DUAL  
1
P104  
P103  
P106  
P105  
P78  
DUAL  
1
DUAL  
1
DUAL  
1
DUAL  
1
INPUT  
1
IP  
IP  
P84  
INPUT  
1
IP  
IP  
P89  
INPUT  
1
IP  
IP  
P101  
P107  
P95  
INPUT  
1
IP  
IP  
INPUT  
1
IP/VREF_1  
IP/VREF_1  
VREF  
1
VCCO_1  
VCCO_1  
P79  
VCCO  
1
VCCO_1  
VCCO_1  
P100  
P52  
VCCO  
2
IO/D5  
IO/D5  
DUAL  
2
IO/M1  
IO/M1  
P60  
DUAL  
2
IP/VREF_2  
IO/VREF_2  
P66  
100E: VREF(INPUT)  
250E: VREF(I/O)  
2
2
2
2
2
2
2
2
2
2
2
IO_L01N_2/INIT_B  
IO_L01N_2/INIT_B  
P40  
P39  
P44  
P43  
P51  
P50  
P54  
P53  
P59  
P58  
P63  
DUAL  
DUAL  
IO_L01P_2/CSO_B  
IO_L01P_2/CSO_B  
IO_L02N_2/MOSI/CSI_B  
IO_L02P_2/DOUT/BUSY  
IO_L04N_2/D6/GCLK13  
IO_L04P_2/D7/GCLK12  
IO_L05N_2/D3/GCLK15  
IO_L05P_2/D4/GCLK14  
IO_L07N_2/D1/GCLK3  
IO_L07P_2/D2/GCLK2  
IO_L08N_2/DIN/D0  
IO_L02N_2/MOSI/CSI_B  
IO_L02P_2/DOUT/BUSY  
IO_L04N_2/D6/GCLK13  
IO_L04P_2/D7/GCLK12  
IO_L05N_2/D3/GCLK15  
IO_L05P_2/D4/GCLK14  
IO_L07N_2/D1/GCLK3  
IO_L07P_2/D2/GCLK2  
IO_L08N_2/DIN/D0  
DUAL  
DUAL  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
179  
Product Specification  
R
Pinout Descriptions  
Table 136: TQ144 Package Pinout (Continued)  
Bank  
XC3S100E Pin Name  
IO_L08P_2/M0  
XC3S250E Pin Name  
IO_L08P_2/M0  
TQ144 Pin  
P62  
Type  
DUAL  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
IO_L09N_2/VS1/A18  
IO_L09P_2/VS2/A19  
IO_L10N_2/CCLK  
IO_L10P_2/VS0/A17  
IP  
IO_L09N_2/VS1/A18  
IO_L09P_2/VS2/A19  
IO_L10N_2/CCLK  
IO_L10P_2/VS0/A17  
IP  
P68  
DUAL  
P67  
DUAL  
P71  
DUAL  
P70  
DUAL  
P38  
INPUT  
INPUT  
INPUT  
VREF  
IP  
IP  
P41  
IP  
IP  
P69  
IP_L03N_2/VREF_2  
IP_L03P_2  
IP_L03N_2/VREF_2  
IP_L03P_2  
P48  
P47  
INPUT  
DUAL/GCLK  
DUAL/GCLK  
VCCO  
IP_L06N_2/M2/GCLK1  
IP_L06P_2/RDWR_B/GCLK0  
VCCO_2  
IP_L06N_2/M2/GCLK1  
IP_L06P_2/RDWR_B/GCLK0  
VCCO_2  
P57  
P56  
P42  
VCCO_2  
VCCO_2  
P49  
VCCO  
VCCO_2  
VCCO_2  
P64  
VCCO  
IP/VREF_3  
IO/VREF_3  
P31  
100E: VREF(INPUT)  
250E: VREF(I/O)  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
IO_L01N_3  
IO_L01N_3  
P3  
P2  
I/O  
I/O  
IO_L01P_3  
IO_L01P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
P5  
VREF  
I/O  
P4  
IO_L03N_3  
IO_L03N_3  
P8  
I/O  
IO_L03P_3  
IO_L03P_3  
P7  
I/O  
IO_L04N_3/LHCLK1  
IO_L04P_3/LHCLK0  
IO_L05N_3/LHCLK3/IRDY2  
IO_L05P_3/LHCLK2  
IO_L06N_3/LHCLK5  
IO_L06P_3/LHCLK4/TRDY2  
IO_L07N_3/LHCLK7  
IO_L07P_3/LHCLK6  
IO_L08N_3  
IO_L04N_3/LHCLK1  
IO_L04P_3/LHCLK0  
IO_L05N_3/LHCLK3  
IO_L05P_3/LHCLK2  
IO_L06N_3/LHCLK5  
IO_L06P_3/LHCLK4  
IO_L07N_3/LHCLK7  
IO_L07P_3/LHCLK6  
IO_L08N_3  
P15  
P14  
P17  
P16  
P21  
P20  
P23  
P22  
P26  
P25  
P33  
P32  
P35  
P34  
P6  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
I/O  
IO_L08P_3  
IO_L08P_3  
I/O  
IO_L09N_3  
IO_L09N_3  
I/O  
IO_L09P_3  
IO_L09P_3  
I/O  
IO_L10N_3  
IO_L10N_3  
I/O  
IO_L10P_3  
IO_L10P_3  
I/O  
IP  
IP  
INPUT  
IO  
IP  
P10  
100E: I/O  
250E: INPUT  
3
3
IP  
IP  
IP  
IP  
P18  
P24  
INPUT  
INPUT  
180  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Type  
Table 136: TQ144 Package Pinout (Continued)  
Bank  
XC3S100E Pin Name  
XC3S250E Pin Name  
TQ144 Pin  
3
IO  
IP  
IP  
P29  
100E: I/O  
250E: INPUT  
3
IP  
P36  
P12  
P13  
P28  
P11  
P19  
P27  
P37  
P46  
P55  
P61  
P73  
P90  
P99  
P118  
P127  
P133  
P72  
P1  
INPUT  
VREF  
VCCO  
VCCO  
GND  
3
IP/VREF_3  
VCCO_3  
VCCO_3  
GND  
IP/VREF_3  
VCCO_3  
VCCO_3  
GND  
3
3
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
DONE  
PROG_B  
TCK  
DONE  
PROG_B  
TCK  
CONFIG  
CONFIG  
JTAG  
P110  
P144  
P109  
P108  
P30  
P65  
P102  
P137  
P9  
TDI  
TDI  
JTAG  
TDO  
TDO  
JTAG  
TMS  
TMS  
JTAG  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
P45  
P80  
P115  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
181  
Product Specification  
R
Pinout Descriptions  
User I/Os by Bank  
Table 137 and Table 138 indicate how the 108 available  
user-I/O pins are distributed between the four I/O banks on  
the TQ144 package.  
Table 137: User I/Os Per Bank for the XC3S100E in the TQ144 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
9
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
26  
28  
6
5
2
2
2
3
9
8
(1)  
Right  
0
21  
20  
0
0
(1)  
Bottom  
Left  
26  
0
4
0
28  
13  
22  
4
8
TOTAL  
108  
19  
42  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Table 138: User I/Os Per Bank for the XC3S250E in TQ144 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
9
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
26  
28  
6
5
2
2
2
3
9
8
(1)  
Right  
0
21  
20  
0
0
(1)  
Bottom  
Left  
26  
0
4
0
28  
11  
20  
6
8
TOTAL  
108  
21  
42  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
The arrows indicate the direction for easy migration. For  
example, a left-facing arrow indicates that the pin on the  
XC3S250E unconditionally migrates to the pin on the  
XC3S100E. It may be possible to migrate the opposite  
direction depending on the I/O configuration. For example,  
an I/O pin (Type = I/O) can migrate to an input-only pin  
(Type = INPUT) if the I/O pin is configured as an input.  
Footprint Migration Differences  
Table 139 summarizes any footprint and functionality differ-  
ences between the XC3S100E and the XC3S250E FPGAs  
that may affect easy migration between devices. There are  
four such pins. All other pins not listed in Table 139 uncon-  
ditionally migrate between Spartan-3E devices available in  
the TQ144 package.  
Table 139: TQ144 Footprint Migration Differences  
TQ144 Pin  
P10  
Bank  
XC3S100E Type  
Migration  
XC3S250E Type  
INPUT  
3
3
3
2
I/O  
I/O  
Å
Å
Æ
Æ
4
P29  
INPUT  
P31  
VREF(INPUT)  
VREF(INPUT)  
VREF(I/O)  
VREF(I/O)  
P66  
DIFFERENCES  
Legend:  
Æ
This pin can unconditionally migrate from the device on the left to the device on the right. Migration in the other  
direction may be possible depending on how the pin is configured for the device on the right.  
Å
This pin can unconditionally migrate from the device on the right to the device on the left. Migration in the other  
direction may be possible depending on how the pin is configured for the device on the left.  
182  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
TQ144 Footprint  
Note pin 1 indicator in top-left corner and logo orientation.  
Double arrows (ÅÆ) indicates a pinout migration difference  
between the XC3S100E and XC3S250E.  
PROG_B  
IO_L01P_3  
1
2
108 TMS  
107 IP  
Bank 0  
IO_L01N_3  
IO_L02P_3  
IO_L02N_3/VREF_3  
IP  
3
4
106 IO_L10N_1/LDC2  
105 IO_L10P_1/LDC1  
104 IO_L09N_1/LDC0  
103 IO_L09P_1/HDC  
102 VCCAUX  
5
6
IO_L03P_3  
IO_L03N_3  
VCCINT  
7
8
101 IP  
9
100 VCCO_1  
(ÅÆ) IP  
10  
99 GND  
GND 11  
IP/VREF_3 12  
98 IO/A0  
97 IO_L08N_1/A1  
96 IO_L08P_1/A2  
95 IP/VREF_1  
VCCO_3 13  
IO_L04P_3/LHCLK0 14  
IO_L04N_3/LHCLK1 15  
IO_L05P_3/LHCLK2 16  
IO_L05N_3/LHCLK3 17  
IP 18  
94 IO_L07N_1/A3/RHCLK7  
93 IO_L07P_1/A4/RHCLK6  
92 IO_L06N_1/A5/RHCLK5  
91 IO_L06P_1/A6/RHCLK4  
90 GND  
GND 19  
IO_L06P_3/LHCLK4 20  
IO_L06N_3/LHCLK5 21  
IO_L07P_3/LHCLK6 22  
IO_L07N_3/LHCLK7 23  
IP 24  
89 IP  
88 IO_L05N_1/A7/RHCLK3  
87 IO_L05P_1/A8/RHCLK2  
86 IO_L04N_1/A9/RHCLK1  
85 IO_L04P_1/A10/RHCLK0  
84 IP  
IO_L08P_3 25  
IO_L08N_3 26  
83 IO/VREF_1  
GND 27  
82 IO_L03N_1/A11  
81 IO_L03P_1/A12  
80 VCCINT  
VCCO_3 28  
(ÅÆ) IP  
VCCAUX 30  
29  
79 VCCO_1  
(ÅÆ) IO/VREF_3  
31  
IO_L09P_3 32  
IO_L09N_3 33  
IO_L10P_3 34  
IO_L10N_3 35  
IP 36  
78 IP  
77 IO_L02N_1/A13  
76 IO_L02P_1/A14  
75 IO_L01N_1/A15  
74  
73  
IO_L01P_1/A16  
GND  
Bank 2  
DS312-4_01_102605  
Figure 83: TQ144 Package Footprint (top view)  
DUAL: Configuration pin, then  
I/O: Unrestricted,  
general-purpose user I/O  
VREF: User I/O or input  
voltage reference for bank  
20  
21  
2
42  
16  
4
9
9
4
4
possible user I/O  
INPUT: Unrestricted,  
general-purpose input pin  
CLK: User I/O, input, or global  
buffer input  
VCCO: Output voltage supply  
for bank  
CONFIG: Dedicated  
configuration pins  
JTAG: Dedicated JTAG port  
pins  
VCCINT: Internal core supply  
voltage (+1.2V)  
N.C.: Not connected  
GND: Ground  
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
0
13  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
183  
Product Specification  
R
Pinout Descriptions  
PQ208: 208-pin Plastic Quad Flat Package  
The 208-pin plastic quad flat package, PQ208, supports two  
different Spartan-3E FPGAs, including the XC3S250E and  
the XC3S500E.  
Table 140: PQ208 Package Pinout (Continued)  
XC3S250E  
XC3S500E  
Pin Name  
PQ208  
Pin  
Bank  
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Type  
DUAL  
I/O  
Table 140 lists all the PQ208 package pins. They are sorted  
by bank number and then by pin name. Pairs of pins that  
form a differential I/O pair appear together in the table. The  
table also shows the pin number for each pin and the pin  
type, as defined earlier.  
IO_L16N_0/HSWAP  
IO_L16P_0  
P206  
P205  
P159  
P169  
P194  
P204  
P175  
P174  
P184  
P183  
P176  
P191  
P201  
P107  
P106  
P109  
P108  
P113  
P112  
P116  
P115  
P120  
P119  
P123  
P122  
IP  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
GCLK  
GCLK  
VCCO  
VCCO  
VCCO  
DUAL  
DUAL  
DUAL  
DUAL  
VREF  
I/O  
IP  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web-  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip.  
IP  
IP  
IP_L06N_0  
Pinout Table  
IP_L06P_0  
Table 140: PQ208 Package Pinout  
IP_L09N_0/GCLK9  
IP_L09P_0/GCLK8  
VCCO_0  
XC3S250E  
XC3S500E  
Pin Name  
PQ208  
Pin  
Bank  
0
Type  
I/O  
VCCO_0  
IO  
P187  
P179  
P161  
P160  
P163  
P162  
P165  
P164  
P168  
P167  
P172  
P171  
P178  
P177  
P181  
P180  
P186  
P185  
P190  
P189  
P193  
P192  
P197  
P196  
P200  
P199  
P203  
P202  
VCCO_0  
0
IO/VREF_0  
VREF  
I/O  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
0
IO_L01N_0  
0
IO_L01P_0  
I/O  
0
IO_L02N_0/VREF_0  
IO_L02P_0  
VREF  
I/O  
0
0
IO_L03N_0  
I/O  
0
IO_L03P_0  
I/O  
IO_L04N_1  
I/O  
0
IO_L04N_0/VREF_0  
IO_L04P_0  
VREF  
I/O  
IO_L04P_1  
I/O  
0
IO_L05N_1/A11  
IO_L05P_1/A12  
IO_L06N_1/VREF_1  
IO_L06P_1  
DUAL  
DUAL  
VREF  
I/O  
0
IO_L05N_0  
I/O  
0
IO_L05P_0  
I/O  
0
IO_L07N_0/GCLK5  
IO_L07P_0/GCLK4  
IO_L08N_0/GCLK7  
IO_L08P_0/GCLK6  
IO_L10N_0/GCLK11  
IO_L10P_0/GCLK10  
IO_L11N_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
I/O  
0
IO_L07N_1/A9/RHCLK1  
IO_L07P_1/A10/RHCLK0  
IO_L08N_1/A7/RHCLK3  
IO_L08P_1/A8/RHCLK2  
IO_L09N_1/A5/RHCLK5  
IO_L09P_1/A6/RHCLK4  
IO_L10N_1/A3/RHCLK7  
IO_L10P_1/A4/RHCLK6  
IO_L11N_1/A1  
IO_L11P_1/A2  
IO_L12N_1/A0  
IO_L12P_1  
P127 RHCLK/DUAL  
P126 RHCLK/DUAL  
P129 RHCLK/DUAL  
P128 RHCLK/DUAL  
P133 RHCLK/DUAL  
P132 RHCLK/DUAL  
P135 RHCLK/DUAL  
P134 RHCLK/DUAL  
0
0
0
0
0
0
IO_L11P_0  
I/O  
0
IO_L12N_0/VREF_0  
IO_L12P_0  
VREF  
I/O  
0
P138  
P137  
P140  
P139  
P145  
P144  
DUAL  
DUAL  
DUAL  
I/O  
0
IO_L13N_0  
I/O  
0
IO_L13P_0  
I/O  
0
IO_L14N_0/VREF_0  
IO_L14P_0  
VREF  
I/O  
0
IO_L13N_1  
I/O  
0
IO_L15N_0  
I/O  
IO_L13P_1  
I/O  
0
IO_L15P_0  
I/O  
184  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 140: PQ208 Package Pinout (Continued)  
Table 140: PQ208 Package Pinout (Continued)  
XC3S250E  
XC3S500E  
Pin Name  
XC3S250E  
XC3S500E  
Pin Name  
PQ208  
Pin  
PQ208  
Pin  
Bank  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Type  
I/O  
Bank  
Type  
DUAL  
IO_L14N_1  
P147  
P146  
P151  
P150  
P153  
P152  
P110  
P118  
P124  
P130  
P142  
P148  
P154  
P136  
P114  
P125  
P143  
P76  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L14N_2/A22  
IO_L14P_2/A23  
IO_L15N_2/A20  
IO_L15P_2/A21  
IO_L16N_2/VS1/A18  
IO_L16P_2/VS2/A19  
IO_L17N_2/CCLK  
IO_L17P_2/VS0/A17  
IP  
P94  
P93  
P97  
P96  
P100  
P99  
P103  
P102  
P54  
P91  
P101  
P58  
P57  
P72  
P71  
P81  
P80  
IO_L14P_1  
I/O  
DUAL  
IO_L15N_1/LDC0  
IO_L15P_1/HDC  
IO_L16N_1/LDC2  
IO_L16P_1/LDC1  
IP  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VCCO  
VCCO  
VCCO  
DUAL  
DUAL  
VREF  
DUAL  
DUAL  
DUAL  
DUAL  
I/O  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
IP  
DUAL  
IP  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
IP  
IP  
IP  
IP  
IP  
IP_L02N_2  
IP  
IP_L02P_2  
IP/VREF_1  
IP_L07N_2/VREF_2  
IP_L07P_2  
VCCO_1  
INPUT  
DUAL/GCLK  
DUAL/GCLK  
VCCO_1  
IP_L10N_2/M2/GCLK1  
VCCO_1  
IP_L10P_2/RDWR_B/  
GCLK0  
IO/D5  
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
VCCO_2  
P59  
P73  
P88  
P45  
P3  
VCCO  
VCCO  
VCCO  
VREF  
I/O  
IO/M1  
P84  
VCCO_2  
IO/VREF_2  
P98  
VCCO_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
P56  
IO/VREF_3  
P55  
IO_L01N_3  
P61  
IO_L01P_3  
P2  
I/O  
P60  
IO_L02N_3/VREF_3  
IO_L02P_3  
P5  
VREF  
I/O  
P63  
P4  
IO_L04P_2  
P62  
I/O  
IO_L03N_3  
P9  
I/O  
IO_L05N_2  
P65  
I/O  
IO_L03P_3  
P8  
I/O  
IO_L05P_2  
P64  
I/O  
IO_L04N_3  
P12  
P11  
P16  
P15  
P19  
P18  
P23  
P22  
P25  
P24  
P29  
P28  
P31  
I/O  
IO_L06N_2  
P69  
I/O  
IO_L04P_3  
I/O  
IO_L06P_2  
P68  
I/O  
IO_L05N_3  
I/O  
IO_L08N_2/D6/GCLK13  
IO_L08P_2/D7/GCLK12  
IO_L09N_2/D3/GCLK15  
IO_L09P_2/D4/GCLK14  
IO_L11N_2/D1/GCLK3  
IO_L11P_2/D2/GCLK2  
IO_L12N_2/DIN/D0  
IO_L12P_2/M0  
IO_L13N_2  
P75  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL  
DUAL  
I/O  
IO_L05P_3  
I/O  
P74  
IO_L06N_3  
I/O  
P78  
IO_L06P_3  
I/O  
P77  
IO_L07N_3/LHCLK1  
IO_L07P_3/LHCLK0  
IO_L08N_3/LHCLK3  
IO_L08P_3/LHCLK2  
IO_L09N_3/LHCLK5  
IO_L09P_3/LHCLK4  
IO_L10N_3/LHCLK7  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
P83  
P82  
P87  
P86  
P90  
IO_L13P_2  
P89  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
185  
Product Specification  
R
Pinout Descriptions  
Table 140: PQ208 Package Pinout (Continued)  
Table 140: PQ208 Package Pinout (Continued)  
XC3S250E  
XC3S250E  
XC3S500E  
Pin Name  
PQ208  
Pin  
XC3S500E  
Pin Name  
PQ208  
Pin  
Bank  
3
Type  
LHCLK  
I/O  
Bank  
GND  
GND  
GND  
Type  
GND  
IO_L10P_3/LHCLK6  
IO_L11N_3  
IO_L11P_3  
IO_L12N_3  
IO_L12P_3  
IO_L13N_3  
IO_L13P_3  
IO_L14N_3  
IO_L14P_3  
IO_L15N_3  
IO_L15P_3  
IO_L16N_3  
IO_L16P_3  
IP  
P30  
P34  
P33  
P36  
P35  
P40  
P39  
P42  
P41  
P48  
P47  
P50  
P49  
P6  
GND  
GND  
GND  
P188  
P198  
P208  
P104  
P1  
3
GND  
3
I/O  
GND  
3
I/O  
VCCAUX DONE  
CONFIG  
CONFIG  
JTAG  
3
I/O  
VCCAUX PROG_B  
VCCAUX TCK  
3
I/O  
P158  
P207  
P157  
P155  
P7  
3
I/O  
VCCAUX TDI  
JTAG  
3
I/O  
VCCAUX TDO  
JTAG  
3
I/O  
VCCAUX TMS  
JTAG  
3
I/O  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
3
I/O  
P44  
3
I/O  
P66  
3
I/O  
P92  
3
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VCCO  
VCCO  
VCCO  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
P111  
P149  
P166  
P195  
P13  
3
IP  
P14  
P26  
P32  
P43  
P51  
P20  
P21  
P38  
P46  
P10  
P17  
P27  
P37  
P52  
P53  
P70  
P79  
P85  
P95  
P105  
P121  
P131  
P141  
P156  
P173  
P182  
3
IP  
3
IP  
3
IP  
3
IP  
P67  
3
IP/VREF_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
P117  
P170  
3
3
3
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
186  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
User I/Os by Bank  
Footprint Migration Differences  
Table 141 indicates how the 158 available user-I/O pins are  
distributed between the four I/O banks on the PQ208 pack-  
age.  
The XC3S250E and XC3S500E FPGAs have identical foot-  
prints in the PQ208 package. Designs can migrate between  
the XC3S250E and XC3S500E without further consider-  
ation.  
Table 141: User I/Os Per Bank for the XC3S250E and XC3S500E in the PQ208 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
18  
9
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
38  
40  
6
7
5
3
8
(1)  
Right  
21  
24  
0
0
(1)  
Bottom  
Left  
40  
8
6
2
0
40  
23  
58  
6
3
8
TOTAL  
158  
25  
46  
13  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
187  
Product Specification  
R
Pinout Descriptions  
PQ208 Footprint (Left)  
PROG_B  
IO_L01P_3  
1
2
Bank 0  
IO_L01N_3  
IO_L02P_3  
IO_L02N_3/VREF_3  
IP  
3
4
5
6
7
8
9
VCCAUX  
IO_L03P_3  
IO_L03N_3  
GND 10  
IO_L04P_3 11  
IO_L04N_3 12  
VCCINT 13  
IP 14  
IO_L05P_3 15  
IO_L05N_3 16  
GND 17  
IO_L06P_3 18  
IO_L06N_3 19  
IP/VREF_3 20  
VCCO_3 21  
IO_L07P_3/LHCLK0 22  
IO_L07N_3/LHCLK1 23  
IO_L08P_3/LHCLK2 24  
IO_L08N_3/LHCLK3 25  
IP 26  
GND 27  
IO_L09P_3/LHCLK4 28  
IO_L09N_3/LHCLK5 29  
IO_L10P_3/LHCLK6 30  
IO_L10N_3/LHCLK7 31  
IP 32  
IO_L11P_3 33  
IO_L11N_3 34  
IO_L12P_3 35  
IO_L12N_3 36  
GND 37  
VCCO_3 38  
IO_L13P_3 39  
IO_L13N_3 40  
IO_L14P_3 41  
IO_L14N_3 42  
IP 43  
VCCAUX 44  
IO/VREF_3 45  
VCCO_3 46  
IO_L15P_3 47  
IO_L15N_3 48  
IO_L16P_3 49  
IO_L16N_3 50  
IP 51  
Bank 2  
GND 52  
DS312-4_03_030705  
Figure 84: PQ208 Footprint (Left)  
188  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
PQ208 Footprint (Right)  
156 GND  
155 TMS  
Bank 0  
154 IP  
153 IO_L16N_1/LDC2  
152 IO_L16P_1/LDC1  
151 IO_L15N_1/LDC0  
150 IO_L15P_1/HDC  
149 VCCAUX  
148 IP  
147 IO_L14N_1  
146 IO_L14P_1  
145 IO_L13N_1  
144 IO_L13P_1  
143 VCCO_1  
142 IP  
141 GND  
140 IO_L12N_1/A0  
139 IO_L12P_1  
138 IO_L11N_1/A1  
137 IO_L11P_1/A2  
136 IP/VREF_1  
135 IO_L10N_1/A3/RHCLK7  
134 IO_L10P_1/A4/RHCLK6  
133 IO_L09N_1/A5/RHCLK5  
132 IO_L09P_1/A6/RHCLK4  
131 GND  
130 IP  
129 IO_L08N_1/A7/RHCLK3  
128 IO_L08P_1/A8/RHCLK2  
127 IO_L07N_1/A9/RHCLK1  
126 IO_L07P_1/A10/RHCLK  
125 VCCO_1  
124 IP  
123 IO_L06N_1/VREF_1  
122 IO_L06P_1  
121 GND  
120 IO_L05N_1/A11  
119 IO_L05P_1/A12  
118 IP  
117 VCCINT  
116 IO_L04N_1  
115 IO_L04P_1  
114 VCCO_1  
113 IO_L03N_1/VREF_1  
112 IO_L03P_1  
111 VCCAUX  
110 IP  
109 IO_L02N_1/A13  
108 IO_L02P_1/A14  
107 IO_L01N_1/A15  
106 IO_L01P_1/A16  
105 GND  
Bank 2  
DS312-4_04_030705  
Figure 85: PQ208 Footprint (Right)  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
189  
Product Specification  
R
Pinout Descriptions  
FT256: 256-ball Fine-pitch, Thin Ball Grid Array  
The 256-ball fine-pitch, thin ball grid array package, FT256,  
supports three different Spartan-3E FPGAs, including the  
XC3S250E, the XC3S500E, and the XC3S1200E.  
If the table row is highlighted in tan, then this is an instance  
where an unconnected pin on the XC3S250E FPGA maps  
to a VREF pin on the XC3S500E and XC3S1200E FPGA. If  
the FPGA application uses an I/O standard that requires a  
VREF voltage reference, connect the highlighted pin to the  
VREF voltage supply, even though this does not actually  
connect to the XC3S250E FPGA. This VREF connection on  
the board allows future migration to the larger devices with-  
out modifying the printed-circuit board.  
Table 142 lists all the package pins. They are sorted by  
bank number and then by pin name of the largest device.  
Pins that form a differential I/O pair appear together in the  
table. The table also shows the pin number for each pin and  
the pin type, as defined earlier.  
The highlighted rows indicate pinout differences between  
the XC3S250E, the XC3S500E, and the XC3S1200E  
FPGAs. The XC3S250E has 18 unconnected balls, indi-  
cated as N.C. (No Connection) in Table 142 and with the  
black diamond character (‹) in Table 142 and Figure 86.  
All other balls have nearly identical functionality on all three  
devices. Table 146 summarizes the Spartan-3E footprint  
migration differences for the FT256 package.  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip.  
Pinout Table  
Table 142: FT256 Package Pinout  
FT256  
Bank  
XC3S250E Pin Name  
XC3S500E Pin Name  
XC3S1200E Pin Name  
Ball  
Type  
I/O  
0
0
0
0
IO  
IO  
IO  
IP  
IO  
IO  
IO  
IP  
IO  
IO  
IO  
IO  
A7  
A12  
B4  
I/O  
I/O  
B6  
250E: INPUT  
500E: INPUT  
1200E: I/O  
0
IP  
IP  
IO  
B10  
250E: INPUT  
500E: INPUT  
1200E: I/O  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
IO/VREF_0  
IO/VREF_0  
IO/VREF_0  
D9  
A14  
B14  
A13  
B13  
E11  
D11  
B11  
C11  
E10  
D10  
F9  
VREF  
I/O  
IO_L01N_0  
IO_L01N_0  
IO_L01N_0  
IO_L01P_0  
IO_L01P_0  
IO_L01P_0  
I/O  
IO_L03N_0/VREF_0  
IO_L03P_0  
IO_L03N_0/VREF_0  
IO_L03P_0  
IO_L03N_0/VREF_0  
IO_L03P_0  
VREF  
I/O  
IO_L04N_0  
IO_L04N_0  
IO_L04N_0  
I/O  
IO_L04P_0  
IO_L04P_0  
IO_L04P_0  
I/O  
IO_L05N_0/VREF_0  
IO_L05P_0  
IO_L05N_0/VREF_0  
IO_L05P_0  
IO_L05N_0/VREF_0  
IO_L05P_0  
VREF  
I/O  
IO_L06N_0  
IO_L06N_0  
IO_L06N_0  
I/O  
IO_L06P_0  
IO_L06P_0  
IO_L06P_0  
I/O  
IO_L08N_0/GCLK5  
IO_L08P_0/GCLK4  
IO_L09N_0/GCLK7  
IO_L09P_0/GCLK6  
IO_L11N_0/GCLK11  
IO_L11P_0/GCLK10  
IO_L08N_0/GCLK5  
IO_L08P_0/GCLK4  
IO_L09N_0/GCLK7  
IO_L09P_0/GCLK6  
IO_L11N_0/GCLK11  
IO_L11P_0/GCLK10  
IO_L08N_0/GCLK5  
IO_L08P_0/GCLK4  
IO_L09N_0/GCLK7  
IO_L09P_0/GCLK6  
IO_L11N_0/GCLK11  
IO_L11P_0/GCLK10  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
E9  
A9  
A10  
D8  
C8  
190  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Bank  
XC3S250E Pin Name  
IO_L12N_0  
XC3S500E Pin Name  
IO_L12N_0  
XC3S1200E Pin Name  
IO_L12N_0  
Ball  
Type  
I/O  
0
0
0
F8  
IO_L12P_0  
IO_L12P_0  
IO_L13N_0  
IO_L12P_0  
E8  
I/O  
N.C. (‹)  
IO_L13N_0  
C7  
250E: N.C.  
500E: I/O  
1200E: I/O  
0
N.C. (‹)  
IO_L13P_0  
IO_L13P_0  
B7  
250E: N.C.  
500E: I/O  
1200E: I/O  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
IO_L14N_0/VREF_0  
IO_L14P_0  
IO_L15N_0  
IO_L15P_0  
IO_L17N_0/VREF_0  
IO_L17P_0  
IO_L18N_0  
IO_L18P_0  
IO_L19N_0/HSWAP  
IO_L19P_0  
IP  
IO_L14N_0/VREF_0  
IO_L14P_0  
IO_L14N_0/VREF_0  
IO_L14P_0  
D7  
E7  
VREF  
I/O  
IO_L15N_0  
IO_L15N_0  
D6  
I/O  
IO_L15P_0  
IO_L15P_0  
C6  
I/O  
IO_L17N_0/VREF_0  
IO_L17P_0  
IO_L17N_0/VREF_0  
IO_L17P_0  
A4  
VREF  
I/O  
A5  
IO_L18N_0  
IO_L18N_0  
C4  
I/O  
IO_L18P_0  
IO_L18P_0  
C5  
I/O  
IO_L19N_0/HSWAP  
IO_L19P_0  
IO_L19N_0/HSWAP  
IO_L19P_0  
B3  
DUAL  
I/O  
C3  
IP  
IP  
A3  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
GCLK  
GCLK  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
DUAL  
DUAL  
DUAL  
DUAL  
IP  
IP  
IP  
C13  
C12  
D12  
C9  
IP_L02N_0  
IP_L02N_0  
IP_L02N_0  
IP_L02P_0  
IP_L02P_0  
IP_L02P_0  
IP_L07N_0  
IP_L07N_0  
IP_L07N_0  
IP_L07P_0  
IP_L07P_0  
IP_L07P_0  
C10  
B8  
IP_L10N_0/GCLK9  
IP_L10P_0/GCLK8  
IP_L16N_0  
IP_L10N_0/GCLK9  
IP_L10P_0/GCLK8  
IP_L16N_0  
IP_L10N_0/GCLK9  
IP_L10P_0/GCLK8  
IP_L16N_0  
A8  
E6  
IP_L16P_0  
IP_L16P_0  
IP_L16P_0  
D5  
VCCO_0  
VCCO_0  
VCCO_0  
B5  
VCCO_0  
VCCO_0  
VCCO_0  
B12  
F7  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
F10  
R15  
R16  
P15  
P16  
N15  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
N.C. (‹)  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
250E: N.C.  
500E: VREF  
1200E: VREF  
1
N.C. (‹)  
IO_L03P_1  
IO_L03P_1  
N14  
250E: N.C.  
500E: I/O  
1200E: I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
191  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Ball  
Bank  
XC3S250E Pin Name  
IO_L04N_1/VREF_1  
IO_L04P_1  
XC3S500E Pin Name  
IO_L04N_1/VREF_1  
IO_L04P_1  
XC3S1200E Pin Name  
IO_L04N_1/VREF_1  
IO_L04P_1  
Type  
VREF  
I/O  
1
1
1
M16  
N16  
L13  
N.C. (‹)  
IO_L05N_1  
IO_L05N_1  
250E: N.C.  
500E: I/O  
1200E: I/O  
1
N.C. (‹)  
IO_L05P_1  
IO_L05P_1  
L12  
250E: N.C.  
500E: I/O  
1200E: I/O  
1
1
1
1
1
1
1
1
1
IO_L06N_1  
IO_L06N_1  
IO_L06N_1  
L15  
L14  
K12  
K13  
K14  
K15  
J16  
K16  
J13  
I/O  
I/O  
IO_L06P_1  
IO_L06P_1  
IO_L06P_1  
IO_L07N_1/A11  
IO_L07P_1/A12  
IO_L08N_1/VREF_1  
IO_L08P_1  
IO_L07N_1/A11  
IO_L07P_1/A12  
IO_L08N_1/VREF_1  
IO_L08P_1  
IO_L07N_1/A11  
IO_L07P_1/A12  
IO_L08N_1/VREF_1  
IO_L08P_1  
DUAL  
DUAL  
VREF  
I/O  
IO_L09N_1/A9/RHCLK1  
IO_L09P_1/A10/RHCLK0  
IO_L09N_1/A9/RHCLK1  
IO_L09P_1/A10/RHCLK0  
IO_L09N_1/A9/RHCLK1  
IO_L09P_1/A10/RHCLK0  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
IO_L10N_1/A7/RHCLK3/  
TRDY1  
IO_L10N_1/A7/RHCLK3/  
TRDY1  
IO_L10N_1/A7/RHCLK3/  
TRDY1  
1
1
1
IO_L10P_1/A8/RHCLK2  
IO_L11N_1/A5/RHCLK5  
IO_L10P_1/A8/RHCLK2  
IO_L11N_1/A5/RHCLK5  
IO_L10P_1/A8/RHCLK2  
IO_L11N_1/A5/RHCLK5  
J14  
H14  
H15  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
IO_L11P_1/A6/RHCLK4/  
IRDY1  
IO_L11P_1/A6/RHCLK4/  
IRDY1  
IO_L11P_1/A6/RHCLK4/  
IRDY1  
1
1
1
1
1
1
1
1
1
1
1
IO_L12N_1/A3/RHCLK7  
IO_L12P_1/A4/RHCLK6  
IO_L13N_1/A1  
IO_L13P_1/A2  
IO_L14N_1/A0  
IO_L14P_1  
IO_L12N_1/A3/RHCLK7  
IO_L12P_1/A4/RHCLK6  
IO_L13N_1/A1  
IO_L13P_1/A2  
IO_L14N_1/A0  
IO_L14P_1  
IO_L12N_1/A3/RHCLK7  
IO_L12P_1/A4/RHCLK6  
IO_L13N_1/A1  
IO_L13P_1/A2  
IO_L14N_1/A0  
IO_L14P_1  
H11  
H12  
G16  
G15  
G14  
G13  
F15  
F14  
F12  
F13  
E16  
RHCLK/DUAL  
RHCLK/DUAL  
DUAL  
DUAL  
DUAL  
I/O  
IO_L15N_1  
IO_L15N_1  
IO_L15N_1  
I/O  
IO_L15P_1  
IO_L15P_1  
IO_L15P_1  
I/O  
IO_L16N_1  
IO_L16N_1  
IO_L16N_1  
I/O  
IO_L16P_1  
IO_L16P_1  
IO_L16P_1  
I/O  
N.C. (‹)  
IO_L17N_1  
IO_L17N_1  
250E: N.C.  
500E: I/O  
1200E: I/O  
1
N.C. (‹).  
IO_L17P_1  
IO_L17P_1  
E13  
250E: N.C.  
500E: I/O  
1200E: I/O  
1
1
1
1
IO_L18N_1/LDC0  
IO_L18P_1/HDC  
IO_L19N_1/LDC2  
IO_L19P_1/LDC1  
IO_L18N_1/LDC0  
IO_L18P_1/HDC  
IO_L19N_1/LDC2  
IO_L19P_1/LDC1  
IO_L18N_1/LDC0  
IO_L18P_1/HDC  
IO_L19N_1/LDC2  
IO_L19P_1/LDC1  
D14  
D15  
C15  
C16  
DUAL  
DUAL  
DUAL  
DUAL  
192  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Bank  
XC3S250E Pin Name  
XC3S500E Pin Name  
XC3S1200E Pin Name  
Ball  
B16  
E14  
G12  
H16  
J11  
Type  
1
1
1
1
1
1
1
1
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IO  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IO  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
J12  
M13  
M14  
250E: I/O  
500E: I/O  
1200E: INPUT  
1
IO/VREF_1  
IP/VREF_1  
IP/VREF_1  
D16  
250E: VREF(I/O)  
500E:  
VREF(INPUT)  
1200E:  
VREF(INPUT)  
1
1
1
1
1
2
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IP  
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IP  
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IO  
H13  
E15  
G11  
K11  
M15  
M7  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
250E: INPUT  
500E: INPUT  
1200E: I/O  
2
IP  
IP  
IO  
T12  
250E: INPUT  
500E: INPUT  
1200E: I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO/D5  
IO/D5  
IO/D5  
T8  
T10  
P13  
R4  
P4  
P3  
N5  
P5  
T5  
DUAL  
DUAL  
VREF  
VREF  
DUAL  
DUAL  
DUAL  
DUAL  
I/O  
IO/M1  
IO/M1  
IO/M1  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L04P_2  
IO_L04P_2  
IO_L04P_2  
T4  
I/O  
IO_L05N_2  
IO_L05N_2  
IO_L05N_2  
N6  
M6  
P6  
R6  
P7  
I/O  
IO_L05P_2  
IO_L05P_2  
IO_L05P_2  
I/O  
IO_L06N_2  
IO_L06N_2  
IO_L06N_2  
I/O  
IO_L06P_2  
IO_L06P_2  
IO_L06P_2  
I/O  
N.C. (‹)  
IO_L07N_2  
IO_L07N_2  
250E: N.C.  
500E: I/O  
1200E: I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
193  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Ball  
Bank  
XC3S250E Pin Name  
N.C. (‹)  
XC3S500E Pin Name  
IO_L07P_2  
XC3S1200E Pin Name  
Type  
2
IO_L07P_2  
N7  
250E: N.C.  
500E: I/O  
1200E: I/O  
2
2
2
2
2
2
2
2
2
IO_L09N_2/D6/GCLK13  
IO_L09P_2/D7/GCLK12  
IO_L10N_2/D3/GCLK15  
IO_L10P_2/D4/GCLK14  
IO_L12N_2/D1/GCLK3  
IO_L12P_2/D2/GCLK2  
IO_L13N_2/DIN/D0  
IO_L13P_2/M0  
IO_L09N_2/D6/GCLK13  
IO_L09P_2/D7/GCLK12  
IO_L10N_2/D3/GCLK15  
IO_L10P_2/D4/GCLK14  
IO_L12N_2/D1/GCLK3  
IO_L12P_2/D2/GCLK2  
IO_L13N_2/DIN/D0  
IO_L09N_2/D6/GCLK13  
IO_L09P_2/D7/GCLK12  
IO_L10N_2/D3/GCLK15  
IO_L10P_2/D4/GCLK14  
IO_L12N_2/D1/GCLK3  
IO_L12P_2/D2/GCLK2  
IO_L13N_2/DIN/D0  
L8  
M8  
P8  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL  
N8  
N9  
P9  
M9  
L9  
IO_L13P_2/M0  
IO_L13P_2/M0  
DUAL  
N.C. (‹)  
IO_L14N_2/VREF_2  
IO_L14N_2/VREF_2  
R10  
250E: N.C.  
500E: VREF  
1200E: VREF  
2
N.C. (‹)  
IO_L14P_2  
IO_L14P_2  
P10  
250E: N.C.  
500E: I/O  
1200E: I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L15N_2  
IO_L15N_2  
IO_L15N_2  
M10  
N10  
P11  
R11  
N12  
P12  
R13  
T13  
R14  
P14  
T2  
I/O  
I/O  
IO_L15P_2  
IO_L15P_2  
IO_L15P_2  
IO_L16N_2/A22  
IO_L16P_2/A23  
IO_L18N_2/A20  
IO_L18P_2/A21  
IO_L19N_2/VS1/A18  
IO_L19P_2/VS2/A19  
IO_L20N_2/CCLK  
IO_L20P_2/VS0/A17  
IP  
IO_L16N_2/A22  
IO_L16P_2/A23  
IO_L18N_2/A20  
IO_L18P_2/A21  
IO_L19N_2/VS1/A18  
IO_L19P_2/VS2/A19  
IO_L20N_2/CCLK  
IO_L20P_2/VS0/A17  
IP  
IO_L16N_2/A22  
IO_L16P_2/A23  
IO_L18N_2/A20  
IO_L18P_2/A21  
IO_L19N_2/VS1/A18  
IO_L19P_2/VS2/A19  
IO_L20N_2/CCLK  
IO_L20P_2/VS0/A17  
IP  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
IP  
IP  
IP  
T14  
R3  
IP_L02N_2  
IP_L02N_2  
IP_L02N_2  
IP_L02P_2  
IP_L02P_2  
IP_L02P_2  
T3  
IP_L08N_2/VREF_2  
IP_L08P_2  
IP_L08N_2/VREF_2  
IP_L08P_2  
IP_L08N_2/VREF_2  
IP_L08P_2  
T7  
R7  
INPUT  
DUAL/GCLK  
DUAL/GCLK  
IP_L11N_2/M2/GCLK1  
IP_L11N_2/M2/GCLK1  
IP_L11N_2/M2/GCLK1  
R9  
IP_L11P_2/RDWR_B/  
GCLK0  
IP_L11P_2/RDWR_B/  
GCLK0  
IP_L11P_2/RDWR_B/  
GCLK0  
T9  
2
2
2
2
2
2
IP_L17N_2  
IP_L17P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
IP_L17N_2  
IP_L17P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
IP_L17N_2  
IP_L17P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
M11  
N11  
L7  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
L10  
R5  
R12  
194  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Bank  
XC3S250E Pin Name  
IO_L01N_3  
XC3S500E Pin Name  
IO_L01N_3  
XC3S1200E Pin Name  
IO_L01N_3  
Ball  
B2  
B1  
C2  
C1  
E4  
E3  
F4  
Type  
I/O  
3
3
3
3
3
3
3
IO_L01P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L03N_3  
IO_L03P_3  
N.C. (‹)  
IO_L01P_3  
IO_L01P_3  
I/O  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
VREF  
I/O  
IO_L03N_3  
IO_L03N_3  
I/O  
IO_L03P_3  
IO_L03P_3  
I/O  
IO_L04N_3/VREF_3  
IO_L04N_3/VREF_3  
250E: N.C.  
500E: VREF  
1200E: VREF  
3
N.C. (‹)  
IO_L04P_3  
IO_L04P_3  
F3  
250E: N.C.  
500E: I/O  
1200E: I/O  
3
3
3
3
3
3
3
3
3
IO_L05N_3  
IO_L05N_3  
IO_L05N_3  
E1  
D1  
G4  
G5  
G2  
G3  
H6  
H5  
H4  
I/O  
I/O  
IO_L05P_3  
IO_L05P_3  
IO_L05P_3  
IO_L06N_3  
IO_L06N_3  
IO_L06N_3  
I/O  
IO_L06P_3  
IO_L06P_3  
IO_L06P_3  
I/O  
IO_L07N_3  
IO_L07N_3  
IO_L07N_3  
I/O  
IO_L07P_3  
IO_L07P_3  
IO_L07P_3  
I/O  
IO_L08N_3/LHCLK1  
IO_L08P_3/LHCLK0  
IO_L08N_3/LHCLK1  
IO_L08P_3/LHCLK0  
IO_L08N_3/LHCLK1  
IO_L08P_3/LHCLK0  
LHCLK  
LHCLK  
LHCLK  
IO_L09N_3/LHCLK3/  
IRDY2  
IO_L09N_3/LHCLK3/  
IRDY2  
IO_L09N_3/LHCLK3/  
IRDY2  
3
3
3
IO_L09P_3/LHCLK2  
IO_L10N_3/LHCLK5  
IO_L09P_3/LHCLK2  
IO_L10N_3/LHCLK5  
IO_L09P_3/LHCLK2  
IO_L10N_3/LHCLK5  
H3  
J3  
J2  
LHCLK  
LHCLK  
LHCLK  
IO_L10P_3/LHCLK4/  
TRDY2  
IO_L10P_3/LHCLK4/  
TRDY2  
IO_L10P_3/LHCLK4/  
TRDY2  
3
3
3
3
3
3
3
IO_L11N_3/LHCLK7  
IO_L11P_3/LHCLK6  
IO_L12N_3  
IO_L11N_3/LHCLK7  
IO_L11P_3/LHCLK6  
IO_L12N_3  
IO_L11N_3/LHCLK7  
IO_L11P_3/LHCLK6  
IO_L12N_3  
J4  
J5  
K1  
J1  
K3  
K2  
L2  
LHCLK  
LHCLK  
I/O  
IO_L12P_3  
IO_L12P_3  
IO_L12P_3  
I/O  
IO_L13N_3  
IO_L13N_3  
IO_L13N_3  
I/O  
IO_L13P_3  
IO_L13P_3  
IO_L13P_3  
I/O  
N.C. (‹)  
IO_L14N_3/VREF_3  
IO_L14N_3/VREF_3  
250E: N.C.  
500E: VREF  
1200E: VREF  
3
N.C. (‹)  
IO_L14P_3  
IO_L14P_3  
L3  
250E: N.C.  
500E: I/O  
1200E: I/O  
3
3
3
3
IO_L15N_3  
IO_L15P_3  
IO_L16N_3  
IO_L16P_3  
IO_L15N_3  
IO_L15P_3  
IO_L16N_3  
IO_L16P_3  
IO_L15N_3  
IO_L15P_3  
IO_L16N_3  
IO_L16P_3  
L5  
K5  
N1  
M1  
I/O  
I/O  
I/O  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
195  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Ball  
Bank  
XC3S250E Pin Name  
N.C. (‹)  
XC3S500E Pin Name  
IO_L17N_3  
XC3S1200E Pin Name  
Type  
3
IO_L17N_3  
L4  
250E: N.C.  
500E: I/O  
1200E: I/O  
3
N.C. (‹)  
IO_L17P_3  
IO_L17P_3  
M4  
250E: N.C.  
500E: I/O  
1200E: I/O  
3
3
3
3
3
3
3
IO_L18N_3  
IO_L18P_3  
IO_L19N_3  
IO_L19P_3  
IP  
IO_L18N_3  
IO_L18P_3  
IO_L19N_3  
IO_L19P_3  
IP  
IO_L18N_3  
IO_L18P_3  
IO_L19N_3  
IO_L19P_3  
IP  
P1  
P2  
R1  
R2  
D2  
F2  
F5  
I/O  
I/O  
I/O  
I/O  
INPUT  
INPUT  
IP  
IP  
IP  
IO  
IO  
IP  
250E: I/O  
500E: I/O  
1200E: INPUT  
3
3
3
3
3
3
3
IP  
IP  
IP  
H1  
J6  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
IP  
IP  
IP  
IP  
IP  
IP  
K4  
M3  
N3  
G1  
N2  
IP  
IP  
IP  
IP  
IP  
IP  
IP/VREF_3  
IO/VREF_3  
IP/VREF_3  
IO/VREF_3  
IP/VREF_3  
IP/VREF_3  
250E: VREF(I/O)  
500E: VREF(I/O)  
1200E:  
VREF(INPUT)  
3
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
E2  
G6  
K6  
VCCO  
VCCO  
VCCO  
VCCO  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
3
3
3
M2  
A1  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
A16  
B9  
GND  
GND  
GND  
GND  
GND  
GND  
F6  
GND  
GND  
GND  
F11  
G7  
G8  
G9  
G10  
H2  
H7  
H8  
H9  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
196  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 142: FT256 Package Pinout (Continued)  
FT256  
Bank  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
XC3S250E Pin Name  
GND  
XC3S500E Pin Name  
GND  
XC3S1200E Pin Name  
GND  
Ball  
H10  
J7  
Type  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
J8  
GND  
GND  
GND  
J9  
GND  
GND  
GND  
J10  
J15  
K7  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
K8  
GND  
GND  
GND  
K9  
GND  
GND  
GND  
K10  
L6  
GND  
GND  
GND  
GND  
GND  
GND  
L11  
R8  
GND  
GND  
GND  
GND  
GND  
GND  
T1  
GND  
GND  
GND  
T16  
T15  
D3  
GND  
VCCAUX DONE  
VCCAUX PROG_B  
VCCAUX TCK  
DONE  
PROG_B  
TCK  
DONE  
PROG_B  
TCK  
CONFIG  
CONFIG  
JTAG  
A15  
A2  
VCCAUX TDI  
TDI  
TDI  
JTAG  
VCCAUX TDO  
TDO  
TDO  
C14  
B15  
A6  
JTAG  
VCCAUX TMS  
TMS  
TMS  
JTAG  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
A11  
F1  
F16  
L1  
L16  
T6  
T11  
D4  
D13  
E5  
E12  
M5  
M12  
N4  
N13  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
197  
Product Specification  
R
Pinout Descriptions  
The XC3S250E FPGA in the FT256 package has 18 uncon-  
nected balls, labeled with an “N.C.type. These pins are  
also indicated with the black diamond (‹) symbol in  
Figure 86.  
User I/Os by Bank  
Table 143, Table 144, and Table 145 indicate how the avail-  
able user-I/O pins are distributed between the four I/O  
banks on the FT256 package.  
Table 143: User I/Os Per Bank on XC3S250E in the FT256 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
20  
10  
8
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
44  
42  
10  
7
5
4
8
(1)  
Right  
21  
24  
0
0
(1)  
Bottom  
Left  
44  
9
3
0
42  
24  
62  
7
3
8
TOTAL  
172  
33  
46  
15  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Table 144: User I/Os Per Bank on XC3S500E in the FT256 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
22  
15  
11  
28  
76  
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
46  
48  
10  
7
5
5
8
(1)  
Right  
21  
24  
0
0
(1)  
Bottom  
Left  
48  
9
4
0
48  
7
5
8
TOTAL  
190  
33  
46  
19  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
.
Table 145: User I/Os Per Bank on XC3S1200E in the FT256 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
24  
14  
13  
27  
78  
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
46  
48  
8
8
5
5
8
(1)  
Right  
21  
24  
0
0
(1)  
Bottom  
Left  
48  
7
4
0
48  
8
5
8
TOTAL  
190  
31  
46  
19  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
198  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Footprint Migration Differences  
Table 146 summarizes any footprint and functionality differ-  
ences between the XC3S250E, the XC3S500E, and the  
XC3S1200E FPGAs that may affect easy migration  
between devices in the FG256 package. There are 26 such  
balls. All other pins not listed in Table 146 unconditionally  
migrate between Spartan-3E devices available in the FT256  
package.  
and the XC3S1200E. The arrows indicate the direction for  
easy migration. A double-ended arrow (ÅÆ) indicates that  
the two pins have identical functionality. A left-facing arrow  
(Å) indicates that the pin on the device on the right uncon-  
ditionally migrates to the pin on the device on the left. It may  
be possible to migrate the opposite direction depending on  
the I/O configuration. For example, an I/O pin (Type = I/O)  
can migrate to an input-only pin (Type = INPUT) if the I/O  
pin is configured as an input.  
The XC3S250E is duplicated on both the left and right sides  
of the table to show migrations to and from the XC3S500E  
Table 146: FT256 Footprint Migration Differences  
FT256  
Ball  
XC3S250E  
Type  
XC3S500E  
Type  
XC3S1200E  
Type  
XC3S250E  
Type  
Bank  
0
Migration  
ÅÆ  
Æ
Migration  
Æ
Migration  
Å
B6  
B7  
INPUT  
N.C.  
INPUT  
I/O  
INPUT  
N.C.  
0
I/O  
ÅÆ  
Æ
I/O  
Å
B10  
C7  
0
INPUT  
N.C.  
ÅÆ  
Æ
INPUT  
I/O  
I/O  
Å
INPUT  
N.C.  
0
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
Å
I/O  
Å
D16  
E13  
E16  
F3  
1
VREF(I/O)  
N.C.  
Å
VREF(INPUT)  
I/O  
VREF(INPUT)  
Æ
VREF(I/O)  
N.C.  
1
Æ
I/O  
Å
1
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
3
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
F4  
3
N.C.  
Æ
VREF  
I/O  
VREF  
INPUT  
VREF  
I/O  
Å
N.C.  
F5  
3
I/O  
ÅÆ  
Æ
Æ
I/O  
L2  
3
N.C.  
VREF  
I/O  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
Æ
Å
N.C.  
L3  
3
N.C.  
Æ
Å
N.C.  
L4  
3
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
L12  
L13  
M4  
M7  
M14  
N2  
1
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
1
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
3
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
2
INPUT  
I/O  
ÅÆ  
ÅÆ  
ÅÆ  
Æ
INPUT  
I/O  
I/O  
Å
INPUT  
I/O  
1
Å
INPUT  
VREF(INPUT)  
I/O  
Æ
3
VREF(I/O)  
N.C.  
VREF(I/O)  
I/O  
Å
Æ
VREF(I/O)  
N.C.  
N7  
2
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
Æ
Å
N14  
N15  
P7  
1
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
1
N.C.  
Æ
VREF  
I/O  
VREF  
I/O  
Å
N.C.  
2
N.C.  
Æ
Å
N.C.  
P10  
R10  
T12  
2
N.C.  
Æ
I/O  
I/O  
Å
N.C.  
2
N.C.  
Æ
VREF  
INPUT  
VREF  
I/O  
Å
N.C.  
2
INPUT  
ÅÆ  
19  
Å
INPUT  
DIFFERENCES  
7
26  
Legend:  
This pin is identical on the device on the left and the right.  
ÅÆ  
Æ
This pin can unconditionally migrate from the device on the left to the device on the right. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the right.  
This pin can unconditionally migrate from the device on the right to the device on the left. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the left.  
Å
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
199  
Product Specification  
R
Pinout Descriptions  
FT256 Footprint  
Bank 0  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
I/O  
L17N_0  
VREF_0  
INPUT  
L10P_0  
GCLK8  
I/O  
L09N_0  
GCLK7  
I/O  
L09P_0  
GCLK6  
I/O  
L03N_0  
VREF_0  
I/O  
L17P_0  
I/O  
L01N_0  
VCCAUX  
VCCAUX  
GND  
TDI  
INPUT  
I/O  
I/O  
TCK  
GND  
A
B
C
D
E
F
I/O  
L13P_0  
I/O  
L19N_0  
HSWAP  
INPUT  
L10N_0  
GCLK9  
I/O  
L05N_0  
VREF_0  
INPUT  
ÅÆ  
INPUT  
ÅÆ  
I/O  
L01P_3  
I/O  
L01N_3  
I/O  
L03P_0  
I/O  
L01P_0  
VCCO_0  
VCCO_0  
I/O  
GND  
TMS  
INPUT  
‹
I/O  
L13N_0  
I/O  
L02N_3  
VREF_3  
I/O  
L11P_0  
GCLK10  
I/O  
L19N_1  
LDC2  
I/O  
L19P_1  
LDC1  
I/O  
L02P_3  
I/O  
L19P_0  
I/O  
L18N_0  
I/O  
L18P_0  
I/O  
L15P_0  
INPUT INPUT  
I/O  
L05P_0  
INPUT  
L02N_0  
INPUT  
TDO  
L07N_0  
L07P_0  
‹
INPUT  
VREF_1  
I/O  
L14N_0  
VREF_0 GCLK11  
I/O  
L11N_0  
I/O  
L18N_1  
LDC0  
I/O  
L18P_1  
HDC  
I/O  
L05P_3  
INPUT  
L16P_0  
I/O  
L15N_0  
I/O  
VREF_0  
I/O  
L06P_0  
I/O  
L04P_0  
INPUT  
L02P_0  
PROG_B  
INPUT  
VCCINT  
VCCINT  
ÅÆ  
I/O  
L17P_1  
I/O  
L17N_1  
I/O  
L08P_0  
GCLK4  
I/O  
L05N_3  
I/O  
L03P_3  
I/O  
L03N_3  
INPUT  
L16N_0  
I/O  
L14P_0  
I/O  
L12P_0  
I/O  
L06N_0  
I/O  
L04N_0  
VCCO_3  
VCCO_1  
VCCINT  
VCCINT  
INPUT  
‹
‹
I/O  
L04N_3  
VREF_3  
‹
I/O  
L04P_3  
I/O  
L08N_0  
GCLK5  
INPUT  
ÅÆ  
I/O  
L12N_0  
I/O  
L16N_1  
I/O  
L16P_1  
I/O  
L15P_1  
I/O  
L15N_1  
VCCAUX  
VCCO_0  
GND  
VCCO_0  
GND  
VCCAUX  
INPUT  
I/O  
GND  
GND  
‹
I/O  
L14N_1  
A0  
I/O  
L13P_1  
A2  
I/O  
L13N_1  
A1  
INPUT  
VREF_3 L07N_3  
I/O  
L07P_3  
I/O  
L06N_3  
I/O  
L06P_3  
I/O  
L14P_1  
VCCO_3  
VCCO_1  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
INPUT  
I/O  
L12P_1  
A4  
G
H
J
I/O  
L11P_1  
A6  
I/O  
L09N_3  
LHCLK3  
IRDY2  
I/O  
I/O  
I/O  
L09P_3  
LHCLK2  
I/O  
L08P_3  
I/O  
L08N_3  
LHCLK0 LHCLK1  
INPUT  
VREF_1  
L12N_1  
A3  
L11N_1  
A5  
INPUT  
GND  
I/O  
L10P_3  
LHCLK4  
TRDY2  
GND  
GND  
INPUT  
I/O  
L09N_1  
A9  
RHCLK1  
RHCLK4  
IRDY1  
RHCLK7 RHCLK6  
RHCLK5  
I/O  
I/O  
I/O  
L10N_3  
I/O  
L11N_3  
I/O  
L11P_3  
L10N_1  
I/O  
L12P_3  
L10P_1  
A8  
INPUT  
VCCO_3  
GND  
GND  
GND  
INPUT INPUT  
GND  
A7  
RHCLK3  
LHCLK5 LHCLK7 LHCLK6  
RHCLK2  
TRDY1  
I/O  
I/O  
I/O  
L07P_1  
A12  
I/O  
L08N_1  
VREF_1  
I/O  
L12N_3  
I/O  
L13P_3  
I/O  
L13N_3  
I/O  
L15P_3  
I/O  
L08P_1  
L09P_1  
A10  
VCCO_1  
L07N_1  
INPUT  
GND  
GND  
I/O  
L09N_2  
D6  
GCLK13  
GND  
K
L
A11  
RHCLK0  
I/O  
L14N_3  
VREF_3  
‹
I/O  
L14P_3  
I/O  
L17N_3  
I/O  
L05P_1  
I/O  
L05N_1  
I/O  
L13P_2  
M0  
I/O  
L15N_3  
I/O  
L06P_1  
I/O  
L06N_1  
VCCAUX  
VCCO_2  
VCCO_2  
VCCAUX  
GND  
‹
‹
‹
‹
I/O  
I/O  
I/O  
I/O  
L04N_1  
VREF_1  
INPUT  
ÅÆ  
INPUT  
ÅÆ  
I/O  
L16P_3  
I/O  
L05P_2  
I/O  
L15N_2  
INPUT  
L17N_2  
L09P_2  
D7  
L13N_2  
DIN  
VCCO_3  
VCCO_1  
INPUT L17P_3 VCCINT  
VCCINT INPUT  
M
N
P
R
T
‹
GCLK12  
D0  
I/O  
INPUT  
VREF_3  
I/O  
L07P_2  
I/O  
L03P_1  
I/O  
I/O  
I/O  
I/O  
L18N_2  
A20  
I/O  
L16N_3  
I/O  
L05N_2  
I/O  
L15P_2  
INPUT  
L17P_2  
I/O  
L04P_1  
L03N_1  
VREF_1  
L03N_2  
L10P_2  
D4  
L12N_2  
D1  
INPUT VCCINT  
VCCINT  
MOSI  
CSI_B  
ÅÆ  
‹
‹
GCLK14  
GCLK3  
‹
I/O  
L07N_2  
I/O  
L14P_2  
I/O  
L03P_2  
DOUT  
BUSY  
I/O  
I/O  
I/O  
I/O  
L01P_2  
I/O  
L01N_2  
I/O  
L16N_2  
A22  
I/O  
L18P_2  
A21  
I/O  
L02N_1  
A13  
I/O  
L02P_1  
A14  
I/O  
L18N_3  
I/O  
L18P_3  
I/O  
L06N_2  
I/O  
VREF_2  
L10N_2  
D3  
L12P_2  
D2  
L20P_2  
VS0  
CSO_B  
INIT_B  
‹
‹
GCLK15  
GCLK2  
A17  
I/O  
L14N_2  
VREF_2  
‹
INPUT  
I/O  
I/O  
L16P_2  
A23  
I/O  
L20N_2  
CCLK  
I/O  
L01N_1  
A15  
I/O  
L01P_1  
A16  
I/O  
L19N_3  
I/O  
L19P_3  
INPUT  
I/O  
I/O  
L06P_2  
INPUT  
L08P_2  
L11N_2  
M2  
L19N_2  
VS1  
VCCO_2  
VCCO_2  
GND  
L02N_2 VREF_2  
GCLK1  
A18  
INPUT  
L11P_2  
RDWR_B  
GCLK0  
I/O  
INPUT  
L08N_2  
VREF_2  
INPUT  
ÅÆ  
INPUT  
L02P_2  
I/O  
L04P_2  
I/O  
L04N_2  
I/O  
D5  
I/O  
M1  
L19P_2  
VS2  
VCCAUX  
VCCAUX  
GND  
INPUT  
INPUT DONE  
GND  
A19  
Bank 2  
DS312-4_05_101805  
Figure 86: FT256 Package Footprint (top view)  
CONFIG: Dedicated  
configuration pins  
JTAG: Dedicated JTAG port  
pins  
VCCINT: Internal core supply  
voltage (+1.2V)  
2
4
8
GND: Ground  
VCCO: Output voltage supply  
for bank  
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
28  
16  
8
Migration Difference: For  
flexible package migration,  
use these pins as inputs.  
Unconnected pins on  
XC3S250E  
6
18  
ÅÆ  
(‹)  
200  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
FG320: 320-ball Fine-pitch Ball Grid Array  
The 320-ball fine-pitch ball grid array package, FG320, sup-  
ports three different Spartan-3E FPGAs, including the  
XC3S500E, the XC3S1200E, and the XC3S1600E, as  
shown in Table 147 and Figure 87.  
If the table row is highlighted in tan, then this is an instance  
where an unconnected pin on the XC3S500E FPGA maps  
to a VREF pin on the XC3S1200E and XC3S1600E FPGA.  
If the FPGA application uses an I/O standard that requires a  
VREF voltage reference, connect the highlighted pin to the  
VREF voltage supply, even though this does not actually  
connect to the XC3S500E FPGA. This VREF connection on  
the board allows future migration to the larger devices with-  
out modifying the printed-circuit board.  
The FG320 package is an 18 x 18 array of solder balls  
minus the four center balls.  
Table 147 lists all the package pins. They are sorted by  
bank number and then by pin name of the largest device.  
Pins that form a differential I/O pair appear together in the  
table. The table also shows the pin number for each pin and  
the pin type, as defined earlier.  
All other balls have nearly identical functionality on all three  
devices. Table 146 summarizes the Spartan-3E footprint  
migration differences for the FG320 package.  
The highlighted rows indicate pinout differences between  
the XC3S500E, the XC3S1200E, and the XC3S1600E  
FPGAs. The XC3S500E has 18 unconnected balls, indi-  
cated as N.C. (No Connection) in Table 147 and with the  
black diamond character (‹) in Table 147 and Figure 87.  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip.  
Pinout Table  
Table 147: FG320 Package Pinout  
FG320  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
XC3S1600E Pin Name  
Ball  
Type  
0
IP  
IO  
IO  
A7  
500E: INPUT  
1200E: I/O  
1600E: I/O  
0
0
0
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
A8  
I/O  
I/O  
A11  
A12  
N.C. (‹)  
500E: N.C.  
1200E: I/O  
1600E: I/O  
0
0
IO  
IP  
IO  
IO  
IO  
IO  
C4  
I/O  
D13  
500E: INPUT  
1200E: I/O  
1600E: I/O  
0
0
0
0
0
0
0
0
0
0
0
0
0
IO  
IO  
IO  
IO  
IO  
E13  
G9  
I/O  
I/O  
IO  
IO/VREF_0  
IO_L01N_0  
IO_L01P_0  
IO_L03N_0/VREF_0  
IO_L03P_0  
IO_L04N_0  
IO_L04P_0  
IO_L05N_0/VREF_0  
IO_L05P_0  
IO_L06N_0  
IO_L06P_0  
IO/VREF_0  
IO/VREF_0  
B11  
A16  
B16  
C14  
D14  
A14  
B14  
B13  
A13  
E12  
F12  
VREF  
I/O  
IO_L01N_0  
IO_L01N_0  
IO_L01P_0  
IO_L01P_0  
I/O  
IO_L03N_0/VREF_0  
IO_L03P_0  
IO_L03N_0/VREF_0  
IO_L03P_0  
VREF  
I/O  
IO_L04N_0  
IO_L04N_0  
I/O  
IO_L04P_0  
IO_L04P_0  
I/O  
IO_L05N_0/VREF_0  
IO_L05P_0  
IO_L05N_0/VREF_0  
IO_L05P_0  
VREF  
I/O  
IO_L06N_0  
IO_L06N_0  
I/O  
IO_L06P_0  
IO_L06P_0  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
201  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Ball  
Bank  
0
XC3S500E Pin Name  
IO_L08N_0  
XC3S1200E Pin Name  
IO_L08N_0  
XC3S1600E Pin Name  
IO_L08N_0  
Type  
I/O  
F11  
E11  
D11  
C11  
E10  
D10  
A10  
B10  
D9  
0
IO_L08P_0  
IO_L08P_0  
IO_L08P_0  
I/O  
0
IO_L09N_0  
IO_L09N_0  
IO_L09N_0  
I/O  
0
IO_L09P_0  
IO_L09P_0  
IO_L09P_0  
I/O  
0
IO_L11N_0/GCLK5  
IO_L11P_0/GCLK4  
IO_L12N_0/GCLK7  
IO_L12P_0/GCLK6  
IO_L14N_0/GCLK11  
IO_L14P_0/GCLK10  
IO_L15N_0  
IO_L11N_0/GCLK5  
IO_L11P_0/GCLK4  
IO_L12N_0/GCLK7  
IO_L12P_0/GCLK6  
IO_L14N_0/GCLK11  
IO_L14P_0/GCLK10  
IO_L15N_0  
IO_L11N_0/GCLK5  
IO_L11P_0/GCLK4  
IO_L12N_0/GCLK7  
IO_L12P_0/GCLK6  
IO_L14N_0/GCLK11  
IO_L14P_0/GCLK10  
IO_L15N_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
I/O  
0
0
0
0
0
C9  
0
F9  
0
IO_L15P_0  
IO_L15P_0  
IO_L15P_0  
E9  
I/O  
0
IO_L17N_0  
IO_L17N_0  
IO_L17N_0  
F8  
I/O  
0
IO_L17P_0  
IO_L17P_0  
IO_L17P_0  
E8  
I/O  
0
IO_L18N_0/VREF_0  
IO_L18P_0  
IO_L18N_0/VREF_0  
IO_L18P_0  
IO_L18N_0/VREF_0  
IO_L18P_0  
D7  
VREF  
I/O  
0
C7  
0
IO_L19N_0/VREF_0  
IO_L19P_0  
IO_L19N_0/VREF_0  
IO_L19P_0  
IO_L19N_0/VREF_0  
IO_L19P_0  
E7  
VREF  
I/O  
0
F7  
0
IO_L20N_0  
IO_L20N_0  
IO_L20N_0  
A6  
I/O  
0
IO_L20P_0  
IO_L20P_0  
IO_L20P_0  
B6  
I/O  
0
N.C. (‹)  
IO_L21N_0  
IO_L21N_0  
E6  
500E: N.C.  
1200E: I/O  
1600E: I/O  
0
N.C. (‹)  
IO_L21P_0  
IO_L21P_0  
D6  
500E: N.C.  
1200E: I/O  
1600E: I/O  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
IO_L23N_0/VREF_0  
IO_L23P_0  
IO_L24N_0  
IO_L24P_0  
IO_L25N_0/HSWAP  
IO_L25P_0  
IP  
IO_L23N_0/VREF_0  
IO_L23P_0  
IO_L24N_0  
IO_L24P_0  
IO_L25N_0/HSWAP  
IO_L25P_0  
IP  
IO_L23N_0/VREF_0  
IO_L23P_0  
IO_L24N_0  
IO_L24P_0  
IO_L25N_0/HSWAP  
IO_L25P_0  
IP  
D5  
C5  
VREF  
I/O  
B4  
I/O  
A4  
I/O  
B3  
DUAL  
I/O  
C3  
A3  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
GCLK  
IP  
IP  
IP  
C15  
A15  
B15  
D12  
C12  
G10  
F10  
B9  
IP_L02N_0  
IP_L02P_0  
IP_L07N_0  
IP_L07P_0  
IP_L10N_0  
IP_L10P_0  
IP_L13N_0/GCLK9  
IP_L02N_0  
IP_L02P_0  
IP_L07N_0  
IP_L07P_0  
IP_L10N_0  
IP_L10P_0  
IP_L13N_0/GCLK9  
IP_L02N_0  
IP_L02P_0  
IP_L07N_0  
IP_L07P_0  
IP_L10N_0  
IP_L10P_0  
IP_L13N_0/GCLK9  
202  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Bank  
XC3S500E Pin Name  
IP_L13P_0/GCLK8  
IP_L16N_0  
IP_L16P_0  
IP_L22N_0  
IP_L22P_0  
VCCO_0  
XC3S1200E Pin Name  
IP_L13P_0/GCLK8  
IP_L16N_0  
IP_L16P_0  
IP_L22N_0  
IP_L22P_0  
VCCO_0  
XC3S1600E Pin Name  
IP_L13P_0/GCLK8  
IP_L16N_0  
IP_L16P_0  
IP_L22N_0  
IP_L22P_0  
VCCO_0  
Ball  
Type  
GCLK  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
0
0
0
0
0
0
0
0
0
0
1
B8  
D8  
C8  
B5  
A5  
A9  
VCCO_0  
VCCO_0  
VCCO_0  
C6  
VCCO_0  
VCCO_0  
VCCO_0  
C13  
G8  
G11  
P16  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
VCCO_0  
N.C. (‹)  
IO  
IO  
500E: N.C.  
1200E: I/O  
1600E: I/O  
1
1
1
1
1
1
1
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
T17  
U18  
T18  
R18  
R16  
R15  
N14  
DUAL  
DUAL  
DUAL  
DUAL  
VREF  
I/O  
N.C. (‹)  
IO_L04N_1  
IO_L04N_1  
500E: N.C.  
1200E: I/O  
1600E: I/O  
1
N.C. (‹)  
IO_L04P_1  
IO_L04P_1  
N15  
500E: N.C.  
1200E: I/O  
1600E: I/O  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
IO_L05N_1/VREF_1  
IO_L05P_1  
IO_L05N_1/VREF_1  
IO_L05P_1  
IO_L05N_1/VREF_1  
IO_L05P_1  
M13  
M14  
P18  
P17  
M16  
M15  
M18  
N18  
L15  
L16  
L17  
L18  
K12  
K13  
K14  
VREF  
I/O  
IO_L06N_1  
IO_L06N_1  
IO_L06N_1  
I/O  
IO_L06P_1  
IO_L06P_1  
IO_L06P_1  
I/O  
I/O  
IO_L07N_1  
IO_L07N_1  
IO_L07N_1  
IO_L07P_1  
IO_L07P_1  
IO_L07P_1  
I/O  
IO_L08N_1  
IO_L08N_1  
IO_L08N_1  
I/O  
IO_L08P_1  
IO_L08P_1  
IO_L08P_1  
I/O  
IO_L09N_1/A11  
IO_L09P_1/A12  
IO_L10N_1/VREF_1  
IO_L10P_1  
IO_L09N_1/A11  
IO_L09P_1/A12  
IO_L10N_1/VREF_1  
IO_L10P_1  
IO_L09N_1/A11  
IO_L09P_1/A12  
IO_L10N_1/VREF_1  
IO_L10P_1  
DUAL  
DUAL  
VREF  
I/O  
IO_L11N_1/A9/RHCLK1  
IO_L11P_1/A10/RHCLK0  
IO_L11N_1/A9/RHCLK1  
IO_L11P_1/A10/RHCLK0  
IO_L11N_1/A9/RHCLK1  
IO_L11P_1/A10/RHCLK0  
RHCLK/DUAL  
RHCLK/DUAL  
RHCLK/DUAL  
IO_L12N_1/A7/RHCLK3/  
TRDY1  
IO_L12N_1/A7/RHCLK3/  
TRDY1  
IO_L12N_1/A7/RHCLK3/  
TRDY1  
1
IO_L12P_1/A8/RHCLK2  
IO_L12P_1/A8/RHCLK2  
IO_L12P_1/A8/RHCLK2  
K15  
RHCLK/DUAL  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
203  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Ball  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
XC3S1600E Pin Name  
Type  
1
1
IO_L13N_1/A5/RHCLK5  
IO_L13N_1/A5/RHCLK5  
IO_L13N_1/A5/RHCLK5  
J16  
J17  
RHCLK/DUAL  
RHCLK/DUAL  
IO_L13P_1/A6/RHCLK4/  
IRDY1  
IO_L13P_1/A6/RHCLK4/  
IRDY1  
IO_L13P_1/A6/RHCLK4/  
IRDY1  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
IO_L14N_1/A3/RHCLK7  
IO_L14P_1/A4/RHCLK6  
IO_L15N_1/A1  
IO_L15P_1/A2  
IO_L16N_1/A0  
IO_L16P_1  
IO_L14N_1/A3/RHCLK7  
IO_L14P_1/A4/RHCLK6  
IO_L15N_1/A1  
IO_L15P_1/A2  
IO_L16N_1/A0  
IO_L16P_1  
IO_L14N_1/A3/RHCLK7  
IO_L14P_1/A4/RHCLK6  
IO_L15N_1/A1  
IO_L15P_1/A2  
IO_L16N_1/A0  
IO_L16P_1  
J14  
J15  
RHCLK/DUAL  
RHCLK/DUAL  
J13  
DUAL  
DUAL  
DUAL  
I/O  
J12  
H17  
H16  
H15  
H14  
G16  
G15  
F17  
F18  
G13  
G14  
F14  
F15  
E16  
IO_L17N_1  
IO_L17N_1  
IO_L17N_1  
I/O  
IO_L17P_1  
IO_L17P_1  
IO_L17P_1  
I/O  
IO_L18N_1  
IO_L18N_1  
IO_L18N_1  
I/O  
IO_L18P_1  
IO_L18P_1  
IO_L18P_1  
I/O  
IO_L19N_1  
IO_L19N_1  
IO_L19N_1  
I/O  
IO_L19P_1  
IO_L19P_1  
IO_L19P_1  
I/O  
IO_L20N_1  
IO_L20N_1  
IO_L20N_1  
I/O  
IO_L20P_1  
IO_L20P_1  
IO_L20P_1  
I/O  
IO_L21N_1  
IO_L21N_1  
IO_L21N_1  
I/O  
IO_L21P_1  
IO_L21P_1  
IO_L21P_1  
I/O  
N.C. (‹)  
IO_L22N_1  
IO_L22N_1  
500E: N.C.  
1200E: I/O  
1600E: I/O  
1
N.C. (‹)  
IO_L22P_1  
IO_L22P_1  
E15  
500E: N.C.  
1200E: I/O  
1600E: I/O  
1
1
1
1
1
1
IO_L23N_1/LDC0  
IO_L23P_1/HDC  
IO_L24N_1/LDC2  
IO_L24P_1/LDC1  
IP  
IO_L23N_1/LDC0  
IO_L23P_1/HDC  
IO_L24N_1/LDC2  
IO_L24P_1/LDC1  
IP  
IO_L23N_1/LDC0  
IO_L23P_1/HDC  
IO_L24N_1/LDC2  
IO_L24P_1/LDC1  
IP  
D16  
D17  
C17  
C18  
B18  
E17  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
IO  
IP  
IP  
500E: I/O  
1200E: INPUT  
1600E: INPUT  
1
1
1
1
1
1
1
1
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
E18  
G18  
H13  
K17  
K18  
L13  
L14  
N17  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
204  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
XC3S1600E Pin Name  
Ball  
Type  
1
IO  
IP  
IP  
IP  
P15  
500E: I/O  
1200E: INPUT  
1600E: INPUT  
1
1
1
1
1
1
1
1
2
2
2
IP  
IP  
R17  
D18  
H18  
F16  
H12  
J18  
L12  
N16  
P9  
INPUT  
VREF  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
I/O  
IP/VREF_1  
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IO  
IP/VREF_1  
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IO  
IP/VREF_1  
IP/VREF_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
VCCO_1  
IO  
IO  
IO  
IO  
R11  
U6  
I/O  
IP  
IO  
IO  
500E: INPUT  
1200E: I/O  
1600E: I/O  
2
2
IP  
IO  
IO  
IO  
IO  
U13  
V7  
500E: INPUT  
1200E: I/O  
1600E: I/O  
N.C. (‹)  
500E: N.C.  
1200E: I/O  
1600E: I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
IO/D5  
IO/D5  
IO/D5  
R9  
V11  
T15  
U5  
T3  
DUAL  
DUAL  
VREF  
VREF  
DUAL  
DUAL  
DUAL  
DUAL  
I/O  
IO/M1  
IO/M1  
IO/M1  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO/VREF_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
U3  
T4  
U4  
T5  
IO_L04P_2  
IO_L04P_2  
IO_L04P_2  
R5  
P6  
R6  
V6  
I/O  
IO_L05N_2  
IO_L05N_2  
IO_L05N_2  
I/O  
IO_L05P_2  
IO_L05P_2  
IO_L05P_2  
I/O  
N.C. (‹)  
IO_L06N_2/VREF_2  
IO_L06N_2/VREF_2  
500E: N.C.  
1200E: VREF  
1600E: VREF  
2
N.C. (‹)  
IO_L06P_2  
IO_L06P_2  
V5  
500E: N.C.  
1200E: I/O  
1600E: I/O  
2
2
IO_L07N_2  
IO_L07P_2  
IO_L07N_2  
IO_L07P_2  
IO_L07N_2  
IO_L07P_2  
P7  
N7  
I/O  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
205  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Ball  
Bank  
2
XC3S500E Pin Name  
IO_L09N_2  
XC3S1200E Pin Name  
IO_L09N_2  
XC3S1600E Pin Name  
IO_L09N_2  
Type  
I/O  
N8  
P8  
2
IO_L09P_2  
IO_L09P_2  
IO_L09P_2  
I/O  
2
IO_L10N_2  
IO_L10N_2  
IO_L10N_2  
T8  
I/O  
2
IO_L10P_2  
IO_L10P_2  
IO_L10P_2  
R8  
I/O  
2
IO_L12N_2/D6/GCLK13  
IO_L12P_2/D7/GCLK12  
IO_L13N_2/D3/GCLK15  
IO_L13P_2/D4/GCLK14  
IO_L15N_2/D1/GCLK3  
IO_L15P_2/D2/GCLK2  
IO_L16N_2/DIN/D0  
IO_L16P_2/M0  
IO_L18N_2  
IO_L12N_2/D6/GCLK13  
IO_L12P_2/D7/GCLK12  
IO_L13N_2/D3/GCLK15  
IO_L13P_2/D4/GCLK14  
IO_L15N_2/D1/GCLK3  
IO_L15P_2/D2/GCLK2  
IO_L16N_2/DIN/D0  
IO_L16P_2/M0  
IO_L12N_2/D6/GCLK13  
IO_L12P_2/D7/GCLK12  
IO_L13N_2/D3/GCLK15  
IO_L13P_2/D4/GCLK14  
IO_L15N_2/D1/GCLK3  
IO_L15P_2/D2/GCLK2  
IO_L16N_2/DIN/D0  
IO_L16P_2/M0  
M9  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL/GCLK  
DUAL  
2
N9  
2
V9  
2
U9  
2
P10  
R10  
N10  
M10  
N11  
P11  
V13  
V12  
R12  
T12  
P12  
2
2
2
DUAL  
2
IO_L18N_2  
IO_L18N_2  
I/O  
2
IO_L18P_2  
IO_L18P_2  
IO_L18P_2  
I/O  
2
IO_L19N_2/VREF_2  
IO_L19P_2  
IO_L19N_2/VREF_2  
IO_L19P_2  
IO_L19N_2/VREF_2  
IO_L19P_2  
VREF  
2
I/O  
2
IO_L20N_2  
IO_L20N_2  
IO_L20N_2  
I/O  
2
IO_L20P_2  
IO_L20P_2  
IO_L20P_2  
I/O  
2
N.C. (‹)  
IO_L21N_2  
IO_L21N_2  
500E: N.C.  
1200E: I/O  
1600E: I/O  
2
N.C. (‹)  
IO_L21P_2  
IO_L21P_2  
N12  
500E: N.C.  
1200E: I/O  
1600E: I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L22N_2/A22  
IO_L22P_2/A23  
IO_L24N_2/A20  
IO_L24P_2/A21  
IO_L25N_2/VS1/A18  
IO_L25P_2/VS2/A19  
IO_L26N_2/CCLK  
IO_L26P_2/VS0/A17  
IP  
IO_L22N_2/A22  
IO_L22P_2/A23  
IO_L24N_2/A20  
IO_L24P_2/A21  
IO_L25N_2/VS1/A18  
IO_L25P_2/VS2/A19  
IO_L26N_2/CCLK  
IO_L26P_2/VS0/A17  
IP  
IO_L22N_2/A22  
IO_L22P_2/A23  
IO_L24N_2/A20  
IO_L24P_2/A21  
IO_L25N_2/VS1/A18  
IO_L25P_2/VS2/A19  
IO_L26N_2/CCLK  
IO_L26P_2/VS0/A17  
IP  
R13  
P13  
R14  
T14  
U15  
V15  
U16  
T16  
V2  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
IP  
IP  
IP  
V16  
V3  
IP_L02N_2  
IP_L02N_2  
IP_L02N_2  
IP_L02P_2  
IP_L02P_2  
IP_L02P_2  
V4  
IP_L08N_2  
IP_L08N_2  
IP_L08N_2  
R7  
IP_L08P_2  
IP_L08P_2  
IP_L08P_2  
T7  
IP_L11N_2/VREF_2  
IP_L11P_2  
IP_L11N_2/VREF_2  
IP_L11P_2  
IP_L11N_2/VREF_2  
IP_L11P_2  
V8  
U8  
INPUT  
DUAL/GCLK  
IP_L14N_2/M2/GCLK1  
IP_L14N_2/M2/GCLK1  
IP_L14N_2/M2/GCLK1  
T10  
206  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
XC3S1600E Pin Name  
Ball  
Type  
2
IP_L14P_2/RDWR_B/  
GCLK0  
IP_L14P_2/RDWR_B/  
GCLK0  
IP_L14P_2/RDWR_B/  
GCLK0  
U10  
DUAL/GCLK  
2
2
2
2
2
2
2
2
2
3
IP_L17N_2  
IP_L17P_2  
IP_L23N_2  
IP_L23P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
N.C. (‹)  
IP_L17N_2  
IP_L17P_2  
IP_L23N_2  
IP_L23P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
IO  
IP_L17N_2  
IP_L17P_2  
IP_L23N_2  
IP_L23P_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
VCCO_2  
IO  
U11  
T11  
U14  
V14  
M8  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
M11  
T6  
T13  
V10  
D4  
500E: N.C.  
1200E: I/O  
1600E: I/O  
3
3
3
3
3
3
3
IO_L01N_3  
IO_L01P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L03N_3  
IO_L03P_3  
N.C. (‹)  
IO_L01N_3  
IO_L01N_3  
C2  
C1  
D2  
D1  
E1  
E2  
E3  
I/O  
I/O  
IO_L01P_3  
IO_L01P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
VREF  
I/O  
IO_L03N_3  
IO_L03N_3  
I/O  
IO_L03P_3  
IO_L03P_3  
I/O  
IO_L04N_3  
IO_L04N_3  
500E: N.C.  
1200E: I/O  
1600E: I/O  
3
N.C. (‹)  
IO_L04P_3  
IO_L04P_3  
E4  
500E: N.C.  
1200E: I/O  
1600E: I/O  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
IO_L05N_3  
IO_L05N_3  
IO_L05N_3  
F2  
F1  
G4  
G3  
G5  
G6  
H5  
H6  
H3  
H4  
H1  
H2  
J4  
I/O  
I/O  
IO_L05P_3  
IO_L05P_3  
IO_L05P_3  
IO_L06N_3/VREF_3  
IO_L06P_3  
IO_L06N_3/VREF_3  
IO_L06P_3  
IO_L06N_3/VREF_3  
IO_L06P_3  
VREF  
I/O  
IO_L07N_3  
IO_L07N_3  
IO_L07N_3  
I/O  
IO_L07P_3  
IO_L07P_3  
IO_L07P_3  
I/O  
IO_L08N_3  
IO_L08N_3  
IO_L08N_3  
I/O  
IO_L08P_3  
IO_L08P_3  
IO_L08P_3  
I/O  
IO_L09N_3  
IO_L09N_3  
IO_L09N_3  
I/O  
IO_L09P_3  
IO_L09P_3  
IO_L09P_3  
I/O  
IO_L10N_3  
IO_L10N_3  
IO_L10N_3  
I/O  
IO_L10P_3  
IO_L10P_3  
IO_L10P_3  
I/O  
IO_L11N_3/LHCLK1  
IO_L11P_3/LHCLK0  
IO_L11N_3/LHCLK1  
IO_L11P_3/LHCLK0  
IO_L11N_3/LHCLK1  
IO_L11P_3/LHCLK0  
LHCLK  
LHCLK  
LHCLK  
J5  
IO_L12N_3/LHCLK3/  
IRDY2  
IO_L12N_3/LHCLK3/  
IRDY2  
IO_L12N_3/LHCLK3/  
IRDY2  
J2  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
207  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Ball  
Bank  
XC3S500E Pin Name  
IO_L12P_3/LHCLK2  
IO_L13N_3/LHCLK5  
XC3S1200E Pin Name  
IO_L12P_3/LHCLK2  
IO_L13N_3/LHCLK5  
XC3S1600E Pin Name  
IO_L12P_3/LHCLK2  
IO_L13N_3/LHCLK5  
Type  
3
3
3
J1  
K4  
K3  
LHCLK  
LHCLK  
LHCLK  
IO_L13P_3/LHCLK4/  
TRDY2  
IO_L13P_3/LHCLK4/  
TRDY2  
IO_L13P_3/LHCLK4/  
TRDY2  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
IO_L14N_3/LHCLK7  
IO_L14P_3/LHCLK6  
IO_L15N_3  
IO_L14N_3/LHCLK7  
IO_L14P_3/LHCLK6  
IO_L15N_3  
IO_L14N_3/LHCLK7  
IO_L14P_3/LHCLK6  
IO_L15N_3  
K5  
K6  
L2  
LHCLK  
LHCLK  
I/O  
IO_L15P_3  
IO_L15P_3  
IO_L15P_3  
L1  
I/O  
IO_L16N_3  
IO_L16N_3  
IO_L16N_3  
L4  
I/O  
IO_L16P_3  
IO_L16P_3  
IO_L16P_3  
L3  
I/O  
IO_L17N_3/VREF_3  
IO_L17P_3  
IO_L17N_3/VREF_3  
IO_L17P_3  
IO_L17N_3/VREF_3  
IO_L17P_3  
L5  
VREF  
I/O  
L6  
IO_L18N_3  
IO_L18N_3  
IO_L18N_3  
M3  
M4  
M6  
M5  
N5  
N4  
P1  
P2  
P4  
I/O  
IO_L18P_3  
IO_L18P_3  
IO_L18P_3  
I/O  
IO_L19N_3  
IO_L19N_3  
IO_L19N_3  
I/O  
IO_L19P_3  
IO_L19P_3  
IO_L19P_3  
I/O  
IO_L20N_3  
IO_L20N_3  
IO_L20N_3  
I/O  
IO_L20P_3  
IO_L20P_3  
IO_L20P_3  
I/O  
IO_L21N_3  
IO_L21N_3  
IO_L21N_3  
I/O  
IO_L21P_3  
IO_L21P_3  
IO_L21P_3  
I/O  
N.C. (‹)  
IO_L22N_3  
IO_L22N_3  
500E: N.C.  
1200E: I/O  
1600E: I/O  
3
N.C. (‹)  
IO_L22P_3  
IO_L22P_3  
P3  
500E: N.C.  
1200E: I/O  
1600E: I/O  
3
3
3
3
3
3
IO_L23N_3  
IO_L23P_3  
IO_L24N_3  
IO_L24P_3  
IP  
IO_L23N_3  
IO_L23P_3  
IO_L24N_3  
IO_L24P_3  
IP  
IO_L23N_3  
IO_L23P_3  
IO_L24N_3  
IO_L24P_3  
IP  
R2  
R3  
T1  
T2  
D3  
F4  
I/O  
I/O  
I/O  
I/O  
INPUT  
IO  
IP  
IP  
500E: I/O  
1200E: INPUT  
1600E: INPUT  
3
3
3
3
3
3
3
3
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
F5  
G1  
J7  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
K2  
K7  
M1  
N1  
N2  
208  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
XC3S1600E Pin Name  
Ball  
R1  
U1  
J6  
Type  
INPUT  
3
3
3
3
IP  
IP  
IP  
IP  
IP  
IP  
INPUT  
IP/VREF_3  
IO/VREF_3  
IP/VREF_3  
IP/VREF_3  
IP/VREF_3  
IP/VREF_3  
VREF  
R4  
500E: VREF(I/O)  
1200E:  
VREF(INPUT)  
1600E:  
VREF(INPUT)  
3
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
F3  
H7  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
CONFIG  
3
3
K1  
3
L7  
3
N3  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
A1  
GND  
GND  
GND  
A18  
B2  
GND  
GND  
GND  
GND  
GND  
GND  
B17  
C10  
G7  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
G12  
H8  
GND  
GND  
GND  
GND  
GND  
GND  
H9  
GND  
GND  
GND  
H10  
H11  
J3  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
J8  
GND  
GND  
GND  
J11  
K8  
GND  
GND  
GND  
GND  
GND  
GND  
K11  
K16  
L8  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
L9  
GND  
GND  
GND  
L10  
L11  
M7  
M12  
T9  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
U2  
GND  
GND  
GND  
U17  
V1  
GND  
GND  
GND  
GND  
GND  
GND  
V18  
V17  
VCCAUX DONE  
DONE  
DONE  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
209  
Product Specification  
R
Pinout Descriptions  
Table 147: FG320 Package Pinout (Continued)  
FG320  
Ball  
Bank  
XC3S500E Pin Name  
XC3S1200E Pin Name  
PROG_B  
XC3S1600E Pin Name  
PROG_B  
Type  
VCCAUX PROG_B  
VCCAUX TCK  
B1  
A17  
A2  
CONFIG  
JTAG  
TCK  
TCK  
VCCAUX TDI  
TDI  
TDI  
JTAG  
VCCAUX TDO  
TDO  
TDO  
C16  
D15  
B7  
JTAG  
VCCAUX TMS  
TMS  
TMS  
JTAG  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
B12  
G2  
G17  
M2  
M17  
U7  
U12  
E5  
E14  
F6  
F13  
N6  
N13  
P5  
P14  
210  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
User I/Os by Bank  
Table 148 and Table 149 indicate how the available user-I/O  
pins are distributed between the four I/O banks on the  
FG320 package.  
Table 148: User I/Os Per Bank for XC3S500E in the FG320 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
29  
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
58  
58  
14  
10  
13  
11  
48  
6
5
8
(1)  
Right  
22  
21  
24  
0
0
(1)  
Bottom  
Left  
58  
17  
4
0
58  
34  
5
8
TOTAL  
232  
102  
46  
20  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Table 149: User I/Os Per Bank for XC3S1200E and XC3S1600E in the FG320 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
34  
INPUT  
12  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
61  
63  
6
5
8
(1)  
Right  
25  
12  
21  
24  
0
0
(1)  
Bottom  
Left  
63  
23  
11  
5
0
63  
38  
12  
5
8
TOTAL  
250  
120  
47  
46  
21  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
211  
Product Specification  
R
Pinout Descriptions  
Footprint Migration Differences  
Table 150 summarizes any footprint and functionality differ-  
ences between the XC3S500E, the XC3S1200E, and the  
XC3S1600E FPGAs that may affect easy migration  
between devices available in the FG320 package. There are  
26 such balls. All other pins not listed in Table 150 uncondi-  
tionally migrate between Spartan-3E devices available in  
the FG320 package.  
and the XC3S1600E. The arrows indicate the direction for  
easy migration. A double-ended arrow (ÅÆ) indicates that  
the two pins have identical functionality. A left-facing arrow  
(Å) indicates that the pin on the device on the right uncon-  
ditionally migrates to the pin on the device on the left. It may  
be possible to migrate the opposite direction depending on  
the I/O configuration. For example, an I/O pin (Type = I/O)  
can migrate to an input-only pin (Type = INPUT) if the I/O  
pin is configured as an input.  
The XC3S500E is duplicated on both the left and right sides  
of the table to show migrations to and from the XC3S1200E  
Table 150: FG320 Footprint Migration Differences  
Pin  
A7  
Bank  
0
XC3S500E  
INPUT  
N.C.  
Migration  
Æ
XC3S1200E  
I/O  
Migration  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
ÅÆ  
0
XC3S1600E  
I/O  
Migration  
Å
XC3S500E  
INPUT  
A12  
D4  
0
Æ
I/O  
I/O  
Å
N.C.  
N.C.  
N.C.  
INPUT  
N.C.  
N.C.  
N.C.  
N.C.  
N.C.  
I/O  
3
N.C.  
Æ
I/O  
I/O  
Å
D6  
0
N.C.  
Æ
I/O  
I/O  
Å
D13  
E3  
0
INPUT  
N.C.  
Æ
I/O  
I/O  
Å
3
Æ
I/O  
I/O  
Å
E4  
3
N.C.  
Æ
I/O  
I/O  
Å
E6  
0
N.C.  
Æ
I/O  
I/O  
Å
E15  
E16  
E17  
F4  
1
N.C.  
Æ
I/O  
I/O  
Å
1
N.C.  
Æ
I/O  
I/O  
Å
1
I/O  
Å
INPUT  
INPUT  
I/O  
INPUT  
INPUT  
I/O  
Æ
3
I/O  
Å
Æ
I/O  
N12  
N14  
N15  
P3  
2
N.C.  
Æ
Å
N.C.  
N.C.  
N.C.  
N.C.  
N.C.  
N.C.  
I/O  
1
N.C.  
Æ
I/O  
I/O  
Å
1
N.C.  
Æ
I/O  
I/O  
Å
3
N.C.  
Æ
I/O  
I/O  
Å
P4  
3
N.C.  
Æ
I/O  
I/O  
Å
P12  
P15  
P16  
R4  
2
N.C.  
Æ
I/O  
I/O  
Å
1
I/O  
Å
INPUT  
I/O  
INPUT  
I/O  
Æ
1
N.C.  
Æ
Å
N.C.  
VREF(I/O)  
INPUT  
INPUT  
N.C.  
N.C.  
N.C.  
3
VREF(I/O)  
INPUT  
INPUT  
N.C.  
Å
VREF(INPUT)  
I/O  
VREF(INPUT)  
I/O  
Æ
U6  
2
Æ
Å
U13  
V5  
2
Æ
I/O  
I/O  
Å
2
Æ
I/O  
I/O  
Å
V6  
2
N.C.  
Æ
VREF  
I/O  
VREF  
I/O  
Å
V7  
2
N.C.  
Æ
Å
DIFFERENCES  
26  
26  
Legend:  
This pin is identical on the device on the left and the right.  
ÅÆ  
Æ
This pin can unconditionally migrate from the device on the left to the device on the right. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the right.  
This pin can unconditionally migrate from the device on the right to the device on the left. Migration in the other direction may be possible  
depending on how the pin is configured for the device on the left.  
Å
212  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
FG320 Footprint  
Bank 0  
1
2
3
4
5
6
7
8
9
10  
11  
I/O  
12  
13  
14  
15  
16  
17  
18  
I/O  
L12N_0  
GCLK7  
I/O  
‹
INPUT  
ÅÆ  
I/O  
L24P_0  
INPUT  
L22P_0  
I/O  
L20N_0  
I/O  
L05P_0  
I/O  
L04N_0  
INPUT  
L02N_0  
I/O  
L01N_0  
VCCO_0  
GND  
TDI  
INPUT  
I/O  
TCK  
GND  
A
B
C
D
E
F
I/O  
L25N_0  
HSWAP  
INPUT INPUT  
I/O  
L12P_0  
GCLK6  
I/O  
L05N_0  
VREF_0  
I/O  
INPUT  
I/O  
I/O  
I/O  
INPUT  
I/O  
PROG_B  
VCCAUX  
VCCAUX  
GND  
GND  
INPUT  
L13P_0  
GCLK8  
L13N_0  
GCLK9  
L24N_0  
L22N_0  
L20P_0  
VREF_0  
L04P_0  
L02P_0  
L01P_0  
I/O  
L14P_0  
GCLK10  
I/O  
L03N_0  
VREF_0  
I/O  
L24N_1  
LDC2  
I/O  
L24P_1  
LDC1  
I/O  
L01P_3  
I/O  
L01N_3  
I/O  
L25P_0  
I/O  
L23P_0  
I/O  
L18P_0  
INPUT  
L16P_0  
I/O  
L09P_0  
INPUT  
L07P_0  
VCCO_0  
VCCO_0  
I/O  
GND  
INPUT  
TMS  
TDO  
I/O  
L21P_0  
I/O  
L02N_3  
VREF_3  
I/O  
L23N_0  
VREF_0  
I/O  
L18N_0  
VREF_0  
I/O  
L14N_0  
GCLK11  
I/O  
L11P_0  
GCLK4  
I/O  
L23N_1  
LDC0  
I/O  
L23P_1  
HDC  
INPUT  
ÅÆ  
I/O  
‹
I/O  
L02P_3  
INPUT  
L16N_0  
I/O  
L09N_0  
INPUT  
L07N_0  
I/O  
L03P_0  
INPUT  
VREF_1  
INPUT  
‹
I/O  
L04N_3  
I/O  
L04P_3  
I/O  
L21N_0  
I/O  
L22P_1  
I/O  
L22N_1  
I/O  
L19N_0  
VREF_0  
I/O  
L11N_0  
GCLK5  
INPUT  
ÅÆ  
I/O  
L03N_3  
I/O  
L03P_3  
I/O  
L17P_0  
I/O  
L15P_0  
I/O  
L08P_0  
I/O  
L06N_0  
VCCINT  
I/O  
VCCINT  
INPUT  
‹
‹
‹
‹
‹
INPUT  
ÅÆ  
I/O  
L05P_3  
I/O  
L05N_3  
I/O  
L19P_0  
I/O  
L17N_0  
I/O  
L15N_0  
INPUT  
L10P_0  
I/O  
L08N_0  
I/O  
L06P_0  
I/O  
L21N_1  
I/O  
L21P_1  
I/O  
L19N_1  
I/O  
L19P_1  
VCCO_3  
VCCO_1  
INPUT VCCINT  
VCCINT  
I/O  
L06N_3  
VREF_3  
I/O  
I/O  
I/O  
INPUT  
I/O  
I/O  
I/O  
I/O  
VCCAUX  
VCCO_0  
VCCO_0  
VCCAUX  
INPUT  
GND  
I/O  
GND  
INPUT  
G
H
J
L06P_3  
L07N_3  
L07P_3  
L10N_0  
L20N_1  
L20P_1  
L18P_1  
L18N_1  
I/O  
L16N_1  
A0  
I/O  
L10N_3  
I/O  
L10P_3  
I/O  
L09N_3  
I/O  
L09P_3  
I/O  
L08N_3  
I/O  
L08P_3  
I/O  
L17P_1  
I/O  
L17N_1  
I/O  
L16P_1  
INPUT  
VREF_1  
VCCO_3  
VCCO_1  
GND  
GND  
GND  
GND  
GND  
GND  
INPUT  
I/O  
L13P_1  
A6  
RHCLK4  
IRDY1  
I/O  
L12N_3  
LHCLK3  
IRDY2  
I/O  
I/O  
I/O  
I/O  
L12P_3  
LHCLK2  
I/O  
L11N_3  
LHCLK1 LHCLK0  
I/O  
L11P_3  
I/O  
L15P_1  
A2  
I/O  
L15N_1  
A1  
INPUT  
VREF_3  
L14N_1  
A3  
L14P_1  
A4  
L13N_1  
A5  
VCCO_1  
GND  
I/O  
L13P_3  
LHCLK4  
TRDY2  
INPUT  
INPUT  
VCCO_3  
GND  
RHCLK7 RHCLK6 RHCLK5  
I/O  
I/O  
I/O  
I/O  
I/O  
L13N_3  
I/O  
L14N_3  
I/O  
L14P_3  
L12N_1  
L11N_1  
A9  
L11P_1  
A10  
L12P_1  
VCCO_3  
INPUT  
GND  
GND  
A7  
GND  
INPUT INPUT  
K
L
A8  
RHCLK3  
TRDY1  
LHCLK5 LHCLK7 LHCLK6  
RHCLK1 RHCLK0  
RHCLK2  
I/O  
L17N_3  
VREF_3  
I/O  
L09N_1  
A11  
I/O  
L09P_1  
A12  
I/O  
I/O  
L15P_3  
I/O  
L15N_3  
I/O  
L16P_3  
I/O  
L16N_3  
I/O  
L17P_3  
I/O  
VCCO_1  
GND  
GND  
I/O  
GND  
GND  
INPUT INPUT  
L10N_1  
L10P_1  
VREF_1  
I/O  
L16P_2  
M0  
I/O  
I/O  
L18N_3  
I/O  
L18P_3  
I/O  
L19P_3  
I/O  
L19N_3  
I/O  
I/O  
L07P_1  
I/O  
L07N_1  
I/O  
L08N_1  
L12N_2  
D6  
VCCAUX  
VCCO_2  
VCCO_2  
VCCAUX  
INPUT  
GND  
L05N_1  
L05P_1  
VREF_1  
M
N
P
R
T
GCLK13  
I/O  
L21P_2  
I/O  
L04N_1  
I/O  
L04P_1  
I/O  
I/O  
I/O  
L20P_3  
I/O  
L20N_3  
I/O  
L07P_2  
I/O  
L09N_2  
I/O  
L18N_2  
I/O  
INPUT  
L12P_2  
D7  
L16N_2  
DIN  
VCCO_3  
VCCO_1  
INPUT INPUT  
VCCINT  
VCCINT  
L08P_1  
‹
‹
‹
GCLK12  
D0  
I/O  
L22P_3  
I/O  
L22N_3  
I/O  
L21N_2  
I/O  
I/O  
L22P_2  
A23  
INPUT  
ÅÆ  
I/O  
‹
I/O  
L21N_3  
I/O  
L21P_3  
I/O  
L05N_2  
I/O  
L07N_2  
I/O  
L09P_2  
I/O  
L18P_2  
I/O  
L06P_1  
I/O  
L06N_1  
L15N_2  
D1  
VCCINT  
I/O  
VCCINT  
‹
‹
‹
GCLK3  
INPUT  
VREF_3  
I/O  
I/O  
L22N_2  
A22  
I/O  
L24N_2  
A20  
I/O  
L03N_1  
VREF_1  
I/O  
L02P_1  
A14  
I/O  
L23N_3  
I/O  
L23P_3  
I/O  
L04P_2  
I/O  
L05P_2  
INPUT  
L08N_2  
I/O  
L10P_2  
I/O  
D5  
I/O  
L20N_2  
I/O  
L03P_1  
L15P_2  
D2  
INPUT  
I/O  
INPUT  
ÅÆ  
GCLK2  
INPUT  
I/O  
I/O  
I/O  
L01N_2  
INIT_B  
I/O  
L24P_2  
A21  
I/O  
L01N_1  
A15  
I/O  
L02N_1  
A13  
I/O  
L24N_3  
I/O  
L24P_3  
I/O  
L04N_2  
INPUT  
L08P_2  
I/O  
L10N_2  
INPUT  
L17P_2  
I/O  
L20P_2  
I/O  
VREF_2  
L03N_2  
MOSI  
L14N_2  
L26P_2  
VS0  
VCCO_2  
VCCO_2  
GND  
I/O  
M2  
CSI_B  
GCLK1  
A17  
I/O  
INPUT  
I/O  
I/O  
L01P_2  
CSO_B  
I/O  
L26N_2  
CCLK  
I/O  
L01P_1  
A16  
INPUT  
ÅÆ  
INPUT  
ÅÆ  
I/O  
VREF_2  
INPUT  
L11P_2  
INPUT  
INPUT  
L23N_2  
L03P_2  
DOUT  
BUSY  
L13P_2  
L14P_2  
L25N_2  
VS1  
VCCAUX  
VCCAUX  
INPUT  
GND  
GND  
GND  
U
V
D4  
RDWR_B L17N_2  
GCLK0  
GCLK14  
A18  
I/O  
I/O  
L06P_2  
I/O  
I/O  
INPUT  
L11N_2  
VREF_2  
I/O  
L19N_2  
VREF_2  
I/O  
‹
INPUT INPUT  
L02N_2 L02P_2  
I/O  
M1  
I/O  
L19P_2  
INPUT  
L23P_2  
L06N_2  
VREF_2  
L13N_2  
D3  
L25P_2  
VS2  
VCCO_2  
INPUT  
INPUT DONE  
GND  
‹
GCLK15  
A19  
‹
Bank 2  
DS312-4_06_022106  
Figure 87: FG320 Package Footprint (top view)  
102- I/O: Unrestricted,  
DUAL: Configuration pin, then  
possible user-I/O  
20- VREF: User I/O or input  
46  
16  
4
120 general-purpose user I/O  
21 voltage reference for bank  
47- INPUT: Unrestricted,  
48 general-purpose input pin  
CLK: User I/O, input, or global  
buffer input  
VCCO: Output voltage supply  
for bank  
20  
CONFIG: Dedicated  
configuration pins  
JTAG: Dedicated JTAG port  
pins  
VCCINT: Internal core supply  
voltage (+1.2V)  
2
8
N.C.: Not connected. Only the  
GND: Ground  
VCCAUX: Auxiliary supply  
XC3S500E has these pins  
(‹).  
voltage (+2.5V)  
18  
28  
8
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
213  
Product Specification  
R
Pinout Descriptions  
FG400: 400-ball Fine-pitch Ball Grid Array  
The 400-ball fine-pitch ball grid array, FG400, supports two  
different Spartan-3E FPGAs, including the XC3S1200E and  
the XC3S1600E. Both devices share a common footprint for  
this package as shown in Table 151 and Figure 88.  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
Bank  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Type  
I/O  
Table 151 lists all the FG400 package pins. They are sorted  
by bank number and then by pin name. Pairs of pins that  
form a differential I/O pair appear together in the table. The  
table also shows the pin number for each pin and the pin  
type, as defined earlier.  
IO_L12P_0  
D12  
E12  
F12  
G11  
F11  
E10  
E11  
A9  
IO_L13N_0  
I/O  
IO_L13P_0  
I/O  
IO_L15N_0/GCLK5  
IO_L15P_0/GCLK4  
IO_L16N_0/GCLK7  
IO_L16P_0/GCLK6  
IO_L18N_0/GCLK11  
IO_L18P_0/GCLK10  
IO_L19N_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
I/O  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web-  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip  
.
Pinout Table  
A10  
F9  
Table 151: FG400 Package Pinout  
XC3S1200E  
XC3S1600E  
Pin Name  
IO_L19P_0  
E9  
I/O  
FG400  
Ball  
IO_L21N_0  
C9  
I/O  
Bank  
0
Type  
I/O  
IO_L21P_0  
D9  
I/O  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
A3  
IO_L22N_0/VREF_0  
IO_L22P_0  
B8  
VREF  
I/O  
0
A8  
I/O  
B9  
0
A12  
C7  
I/O  
IO_L24N_0/VREF_0  
IO_L24P_0  
F7  
VREF  
I/O  
0
I/O  
F8  
0
C10  
E8  
I/O  
IO_L25N_0  
A6  
I/O  
0
I/O  
IO_L25P_0  
A7  
I/O  
0
E13  
E16  
F13  
F14  
G7  
I/O  
IO_L27N_0  
B5  
I/O  
0
I/O  
IO_L27P_0  
B6  
I/O  
0
I/O  
IO_L28N_0  
D6  
I/O  
0
I/O  
IO_L28P_0  
C6  
I/O  
0
I/O  
IO_L30N_0/VREF_0  
IO_L30P_0  
C5  
VREF  
I/O  
0
IO/VREF_0  
IO_L01N_0  
IO_L01P_0  
C11  
B17  
C17  
A18  
A19  
A17  
A16  
A15  
B15  
C14  
D14  
A13  
A14  
B13  
C13  
C12  
VREF  
I/O  
D5  
0
IO_L31N_0  
A2  
I/O  
0
I/O  
IO_L31P_0  
B2  
I/O  
0
IO_L03N_0/VREF_0  
IO_L03P_0  
VREF  
I/O  
IO_L32N_0/HSWAP  
IO_L32P_0  
D4  
DUAL  
I/O  
0
C4  
0
IO_L04N_0  
IO_L04P_0  
I/O  
IP  
B18  
E5  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
0
I/O  
IP  
0
IO_L06N_0  
IO_L06P_0  
I/O  
IP_L02N_0  
C16  
D16  
D15  
C15  
E14  
E15  
G14  
G13  
0
I/O  
IP_L02P_0  
0
IO_L07N_0  
IO_L07P_0  
I/O  
IP_L05N_0  
0
I/O  
IP_L05P_0  
0
IO_L09N_0/VREF_0  
IO_L09P_0  
VREF  
I/O  
IP_L08N_0  
0
IP_L08P_0  
0
IO_L10N_0  
IO_L10P_0  
I/O  
IP_L11N_0  
0
I/O  
IP_L11P_0  
0
IO_L12N_0  
I/O  
214  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 151: FG400 Package Pinout (Continued)  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1600E  
Pin Name  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
FG400  
Ball  
Bank  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Type  
INPUT  
INPUT  
GCLK  
GCLK  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
DUAL  
DUAL  
DUAL  
DUAL  
VREF  
I/O  
Bank  
Type  
DUAL  
DUAL  
VREF  
I/O  
IP_L14N_0  
B11  
B12  
G10  
H10  
G9  
1
1
1
1
1
IO_L12N_1/A11  
M18  
M17  
L19  
IP_L14P_0  
IO_L12P_1/A12  
IP_L17N_0/GCLK9  
IP_L17P_0/GCLK8  
IP_L20N_0  
IP_L20P_0  
IO_L13N_1/VREF_1  
IO_L13P_1  
M19  
L16  
IO_L14N_1/A9/RHCLK1  
RHCLK/  
DUAL  
G8  
1
1
1
1
1
1
1
IO_L14P_1/A10/RHCLK0  
M16  
L14  
L15  
K14  
K13  
J20  
K20  
RHCLK/  
DUAL  
IP_L23N_0  
IP_L23P_0  
C8  
D8  
IO_L15N_1/A7/RHCLK3/  
TRDY1  
RHCLK/  
DUAL  
IP_L26N_0  
IP_L26P_0  
E6  
E7  
IO_L15P_1/A8/RHCLK2  
RHCLK/  
DUAL  
IP_L29N_0  
IP_L29P_0  
A4  
IO_L16N_1/A5/RHCLK5  
RHCLK/  
DUAL  
A5  
VCCO_0  
B4  
IO_L16P_1/A6/RHCLK4/  
IRDY1  
RHCLK/  
DUAL  
VCCO_0  
B10  
B16  
D7  
VCCO_0  
IO_L17N_1/A3/RHCLK7  
RHCLK/  
DUAL  
VCCO_0  
IO_L17P_1/A4/RHCLK6  
RHCLK/  
DUAL  
VCCO_0  
D13  
F10  
U18  
U17  
T18  
T17  
V19  
U19  
W20  
V20  
R18  
R17  
T20  
U20  
P18  
P17  
P20  
R20  
P16  
N16  
N19  
N18  
N15  
M15  
VCCO_0  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
IO_L18N_1/A1  
IO_L18P_1/A2  
IO_L19N_1/A0  
IO_L19P_1  
K16  
J16  
J13  
J14  
J17  
J18  
H19  
J19  
H15  
H16  
H18  
H17  
H20  
G20  
G16  
F16  
F19  
F20  
F18  
F17  
D20  
E20  
D18  
DUAL  
DUAL  
DUAL  
I/O  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
IO_L04N_1  
IO_L04P_1  
IO_L05N_1  
IO_L05P_1  
IO_L06N_1  
IO_L06P_1  
IO_L07N_1  
IO_L07P_1  
IO_L08N_1/VREF_1  
IO_L08P_1  
IO_L09N_1  
IO_L09P_1  
IO_L10N_1  
IO_L10P_1  
IO_L11N_1  
IO_L11P_1  
IO_L20N_1  
IO_L20P_1  
I/O  
I/O  
IO_L21N_1  
IO_L21P_1  
I/O  
I/O  
I/O  
I/O  
IO_L22N_1  
IO_L22P_1  
I/O  
I/O  
I/O  
I/O  
IO_L23N_1  
IO_L23P_1  
I/O  
I/O  
I/O  
I/O  
IO_L24N_1/VREF_1  
IO_L24P_1  
VREF  
I/O  
I/O  
I/O  
IO_L25N_1  
IO_L25P_1  
I/O  
VREF  
I/O  
I/O  
IO_L26N_1  
IO_L26P_1  
I/O  
I/O  
I/O  
I/O  
IO_L27N_1  
IO_L27P_1  
I/O  
I/O  
I/O  
I/O  
IO_L28N_1  
IO_L28P_1  
I/O  
I/O  
I/O  
I/O  
IO_L29N_1/LDC0  
DUAL  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
215  
Product Specification  
R
Pinout Descriptions  
Table 151: FG400 Package Pinout (Continued)  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
XC3S1600E  
Pin Name  
FG400  
Ball  
Bank  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Type  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
I/O  
Bank  
Type  
I/O  
IO_L29P_1/HDC  
E18  
C19  
C20  
B20  
G15  
G18  
H14  
J15  
L18  
M20  
N14  
N20  
P15  
R16  
R19  
E19  
K18  
D19  
G17  
K15  
K19  
N17  
T19  
P8  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L04P_2  
W4  
T6  
IO_L30N_1/LDC2  
IO_L06N_2  
I/O  
IO_L30P_1/LDC1  
IO_L06P_2  
T5  
I/O  
IP  
IO_L07N_2  
U7  
V7  
R7  
T7  
I/O  
IP  
IO_L07P_2  
I/O  
IP  
IO_L09N_2/VREF_2  
IO_L09P_2  
VREF  
I/O  
IP  
IP  
IO_L10N_2  
V8  
W8  
U9  
V9  
Y8  
Y9  
W10  
I/O  
IP  
IO_L10P_2  
I/O  
IP  
IO_L12N_2  
I/O  
IP  
IO_L12P_2  
I/O  
IP  
IO_L13N_2  
I/O  
IP  
IO_L13P_2  
I/O  
IP  
IO_L15N_2/D6/GCLK13  
DUAL/  
GCLK  
IP  
2
2
2
2
2
IO_L15P_2/D7/GCLK12  
IO_L16N_2/D3/GCLK15  
IO_L16P_2/D4/GCLK14  
IO_L18N_2/D1/GCLK3  
IO_L18P_2/D2/GCLK2  
W9  
P10  
R10  
V11  
V10  
DUAL/  
GCLK  
IP/VREF_1  
IP/VREF_1  
DUAL/  
GCLK  
VCCO_1  
VCCO_1  
DUAL/  
GCLK  
VCCO_1  
DUAL/  
GCLK  
VCCO_1  
VCCO_1  
DUAL/  
GCLK  
VCCO_1  
IO  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L19N_2/DIN/D0  
IO_L19P_2/M0  
IO_L21N_2  
Y12  
Y11  
U12  
V12  
W12  
W13  
U13  
V13  
P14  
R14  
Y14  
Y15  
T15  
U15  
V16  
U16  
Y18  
DUAL  
DUAL  
I/O  
IO  
P13  
R9  
I/O  
IO  
I/O  
IO  
R13  
W15  
Y5  
I/O  
IO_L21P_2  
I/O  
IO  
I/O  
IO_L22N_2/VREF_2  
IO_L22P_2  
VREF  
I/O  
IO  
I/O  
IO  
Y7  
I/O  
IO_L24N_2  
I/O  
IO  
Y13  
N11  
T11  
Y3  
I/O  
IO_L24P_2  
I/O  
IO/D5  
DUAL  
DUAL  
VREF  
VREF  
DUAL  
DUAL  
DUAL  
DUAL  
I/O  
IO_L25N_2  
I/O  
IO/M1  
IO_L25P_2  
I/O  
IO/VREF_2  
IO_L27N_2/A22  
IO_L27P_2/A23  
IO_L28N_2  
DUAL  
DUAL  
I/O  
IO/VREF_2  
Y17  
V4  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
U4  
IO_L28P_2  
I/O  
V5  
IO_L30N_2/A20  
IO_L30P_2/A21  
IO_L31N_2/VS1/A18  
DUAL  
DUAL  
DUAL  
U5  
Y4  
216  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 151: FG400 Package Pinout (Continued)  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1600E  
Pin Name  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
FG400  
Ball  
Bank  
Type  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
INPUT  
Bank  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
Type  
I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L31P_2/VS2/A19  
IO_L32N_2/CCLK  
IO_L32P_2/VS0/A17  
IP  
W18  
W19  
Y19  
T16  
W3  
Y2  
IO_L05N_3  
F3  
F4  
F1  
F2  
G4  
G3  
G5  
H5  
H3  
H2  
H7  
H6  
J4  
IO_L05P_3  
I/O  
IO_L06N_3  
I/O  
IO_L06P_3  
I/O  
IP  
IO_L07N_3  
I/O  
IP_L02N_2  
IO_L07P_3  
I/O  
IP_L02P_2  
W2  
V6  
IO_L08N_3  
I/O  
IP_L05N_2  
IO_L08P_3  
I/O  
IP_L05P_2  
U6  
IO_L09N_3/VREF_3  
IO_L09P_3  
VREF  
I/O  
IP_L08N_2  
Y6  
IP_L08P_2  
W6  
R8  
IO_L10N_3  
I/O  
IP_L11N_2  
IO_L10P_3  
I/O  
IP_L11P_2  
T8  
IO_L11N_3  
I/O  
IP_L14N_2/VREF_2  
IP_L14P_2  
T10  
T9  
IO_L11P_3  
J3  
I/O  
IO_L12N_3  
J1  
I/O  
IP_L17N_2/M2/GCLK1  
P12  
DUAL/  
GCLK  
IO_L12P_3  
J2  
I/O  
IO_L13N_3  
J6  
I/O  
2
IP_L17P_2/RDWR_B/  
GCLK0  
P11  
DUAL/  
GCLK  
IO_L13P_3  
K6  
K2  
K3  
L7  
I/O  
IO_L14N_3/LHCLK1  
IO_L14P_3/LHCLK0  
IO_L15N_3/LHCLK3/IRDY2  
IO_L15P_3/LHCLK2  
IO_L16N_3/LHCLK5  
IO_L16P_3/LHCLK4/TRDY2  
IO_L17N_3/LHCLK7  
IO_L17P_3/LHCLK6  
IO_L18N_3  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
IP_L20N_2  
IP_L20P_2  
IP_L23N_2/VREF_2  
IP_L23P_2  
IP_L26N_2  
IP_L26P_2  
IP_L29N_2  
IP_L29P_2  
VCCO_2  
T12  
R12  
T13  
T14  
V14  
V15  
W16  
Y16  
R11  
U8  
INPUT  
INPUT  
VREF  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
I/O  
K7  
L1  
M1  
L3  
M3  
M7  
M8  
M4  
M5  
N6  
M6  
N2  
N1  
P7  
N7  
N4  
N3  
R1  
P1  
IO_L18P_3  
I/O  
VCCO_2  
IO_L19N_3  
I/O  
VCCO_2  
U14  
W5  
W11  
W17  
D2  
IO_L19P_3  
I/O  
VCCO_2  
IO_L20N_3/VREF_3  
IO_L20P_3  
VREF  
I/O  
VCCO_2  
VCCO_2  
IO_L21N_3  
I/O  
IO_L01N_3  
IO_L01P_3  
IO_L02N_3/VREF_3  
IO_L02P_3  
IO_L03N_3  
IO_L03P_3  
IO_L04N_3  
IO_L04P_3  
IO_L21P_3  
I/O  
D3  
I/O  
IO_L22N_3  
I/O  
E3  
VREF  
I/O  
IO_L22P_3  
I/O  
E4  
IO_L23N_3  
I/O  
C1  
I/O  
IO_L23P_3  
I/O  
B1  
I/O  
IO_L24N_3  
I/O  
E1  
I/O  
IO_L24P_3  
I/O  
D1  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
217  
Product Specification  
R
Pinout Descriptions  
Table 151: FG400 Package Pinout (Continued)  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
XC3S1600E  
Pin Name  
FG400  
Ball  
Bank  
Type  
I/O  
Bank  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
Type  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
CONFIG  
CONFIG  
JTAG  
JTAG  
JTAG  
JTAG  
3
IO_L25N_3  
R5  
P5  
T2  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
F6  
F15  
G2  
3
IO_L25P_3  
IO_L26N_3  
IO_L26P_3  
IO_L27N_3  
IO_L27P_3  
IO_L28N_3/VREF_3  
IO_L28P_3  
IO_L29N_3  
IO_L29P_3  
IO_L30N_3  
IO_L30P_3  
IP  
I/O  
3
I/O  
3
R2  
R4  
R3  
T1  
I/O  
G12  
G19  
H8  
3
I/O  
3
I/O  
3
VREF  
I/O  
J9  
3
U1  
T3  
J11  
K1  
3
I/O  
3
U3  
V1  
V2  
F5  
I/O  
K8  
3
I/O  
K10  
K12  
K17  
L4  
3
I/O  
3
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
3
IP  
G1  
G6  
H1  
J5  
3
IP  
L9  
3
IP  
L11  
L13  
L20  
M10  
M12  
N13  
P2  
3
IP  
3
IP  
L5  
3
IP  
L8  
3
3
IP  
M2  
N5  
P3  
T4  
IP  
3
IP  
3
IP  
P9  
3
IP  
W1  
K5  
P6  
E2  
H4  
L2  
P19  
R6  
3
IP/VREF_3  
IP/VREF_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
3
R15  
U11  
V3  
3
3
3
V18  
W7  
W14  
Y1  
3
L6  
3
P4  
U2  
A1  
A11  
A20  
B7  
B14  
C3  
C18  
D10  
3
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
Y10  
Y20  
V17  
C2  
GND  
GND  
VCCAUX DONE  
GND  
VCCAUX PROG_B  
VCCAUX TCK  
VCCAUX TDI  
GND  
D17  
B3  
GND  
GND  
VCCAUX TDO  
VCCAUX TMS  
B19  
E17  
GND  
218  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 151: FG400 Package Pinout (Continued)  
Table 151: FG400 Package Pinout (Continued)  
XC3S1200E  
XC3S1600E  
Pin Name  
XC3S1200E  
XC3S1600E  
Pin Name  
FG400  
Ball  
FG400  
Ball  
Bank  
Type  
Bank  
Type  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
D11  
H12  
J7  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
J12  
K9  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
K11  
L10  
L12  
M9  
K4  
L17  
M14  
N9  
M11  
M13  
N8  
U10  
H9  
H11  
H13  
J8  
N10  
N12  
J10  
User I/Os by Bank  
Table 152 indicates how the 304 available user-I/O pins are  
distributed between the four I/O banks on the FG400 pack-  
age.  
Table 152: User I/Os Per Bank for the XC3S1200E and XC3S1600E in the FG400 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
43  
INPUT  
20  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
78  
74  
6
6
8
(1)  
Right  
35  
12  
21  
24  
0
0
(1)  
Bottom  
Left  
78  
30  
18  
6
0
74  
48  
12  
6
8
TOTAL  
304  
156  
62  
46  
24  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Footprint Migration Differences  
The XC3S1200E and XC3S1600E FPGAs have identical  
footprints in the FG400 package. Designs can migrate  
between the XC3S1200E and XC3S1600E FPGAs without  
further consideration.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
219  
Product Specification  
R
Pinout Descriptions  
FG400 Footprint  
Bank 0  
1
2
3
4
5
6
7
8
10  
9
Left Half of Package  
(top view)  
I/O  
L18N_0  
GCLK11  
I/O  
L18P_0  
GCLK10  
I/O  
L31N_0  
INPUT  
L29N_0  
INPUT  
L29P_0  
I/O  
L25N_0  
I/O  
L25P_0  
GND  
I/O  
I/O  
A
B
C
D
E
F
I/O  
L22N_0  
VREF_0  
I/O  
L03P_3  
I/O  
L31P_0  
I/O  
L27N_0  
I/O  
L27P_0  
I/O  
L22P_0  
VCCO_0  
VCCO_0  
I/O  
TDI  
GND  
I/O  
I/O: Unrestricted,  
156  
general-purpose user I/O  
I/O  
L30N_0  
VREF_0  
I/O  
L03N_3  
I/O  
L32P_0  
I/O  
L28P_0  
INPUT  
L23N_0  
I/O  
L21N_0  
PROG_B  
GND  
INPUT: Unrestricted,  
62  
general-purpose input pin  
I/O  
L32N_0  
HSWAP  
I/O  
L04P_3  
I/O  
L01N_3  
I/O  
L01P_3  
I/O  
L30P_0  
I/O  
L28N_0  
INPUT  
L23P_0  
I/O  
L21P_0  
VCCO_0  
GND  
DUAL: Configuration pin,  
46  
then possible user I/O  
I/O  
L02N_3  
VREF_3  
I/O  
L16N_0  
GCLK7  
I/O  
L04N_3  
I/O  
L02P_3  
INPUT  
L26N_0  
INPUT  
L26P_0  
I/O  
L19P_0  
VCCO_3  
INPUT  
INPUT  
I/O  
VREF: User I/O or input  
24  
voltage reference for bank  
I/O  
L24N_0  
VREF_0  
I/O  
L06N_3  
I/O  
L06P_3  
I/O  
L05N_3  
I/O  
L05P_3  
I/O  
L24P_0  
I/O  
L19N_0  
VCCO_0  
GND  
CLK: User I/O, input, or  
16  
clock buffer input  
INPUT  
L17N_0  
GCLK9  
I/O  
L07P_3  
I/O  
L07N_3  
I/O  
L08N_3  
INPUT  
L20P_0  
INPUT  
L20N_0  
INPUT  
INPUT  
GND  
INPUT  
I/O  
G
H
J
CONFIG: Dedicated  
configuration pins  
2
I/O  
L09N_3  
VREF_3  
INPUT  
L17P_0  
GCLK8  
I/O  
L09P_3  
I/O  
L08P_3  
I/O  
L10P_3  
I/O  
L10N_3  
VCCO_3  
GND  
VCCINT  
GND  
VCCINT  
GND  
JTAG: Dedicated JTAG  
port pins  
4
I/O  
L12N_3  
I/O  
L12P_3  
I/O  
L11P_3  
I/O  
L11N_3  
I/O  
L13N_3  
VCCAUX  
INPUT  
VCCINT  
GND  
GND: Ground  
42  
I/O  
L14N_3  
LHCLK1  
I/O  
L14P_3  
LHCLK0  
I/O  
L15P_3  
LHCLK2  
INPUT  
VREF_3  
I/O  
L13P_3  
VCCAUX  
GND  
VCCINT  
GND  
K
L
VCCO: Output voltage  
supply for bank  
24  
I/O  
L15N_3  
LHCLK3  
IRDY2  
I/O  
L16N_3  
LHCLK5  
I/O  
L17N_3  
LHCLK7  
VCCO_3  
VCCO_3  
GND  
INPUT  
INPUT  
VCCINT  
GND  
VCCINT: Internal core  
16  
supply voltage (+1.2V)  
I/O  
L16P_3  
LHCLK4  
TRDY2  
I/O  
L17P_3  
LHCLK6  
I/O  
L19N_3  
I/O  
L19P_3  
I/O  
L20P_3  
I/O  
L18N_3  
I/O  
L18P_3  
INPUT  
VCCINT  
VCCAUX  
GND  
M
N
P
R
T
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
8
I/O  
L20N_3  
VREF_3  
I/O  
L21P_3  
I/O  
L21N_3  
I/O  
L23P_3  
I/O  
L23N_3  
I/O  
L22P_3  
INPUT  
VCCINT  
I/O  
VCCINT  
I/O  
L16N_2  
D3  
GCLK15  
N.C.: Not connected  
0
I/O  
L24P_3  
I/O  
L25P_3  
INPUT  
VREF_3  
I/O  
L22N_3  
VCCO_3  
GND  
INPUT  
I/O  
I/O  
L09N_2  
VREF_2  
I/O  
L24N_3  
I/O  
L26P_3  
I/O  
L27P_3  
I/O  
L27N_3  
I/O  
L25N_3  
INPUT  
L11N_2  
L16P_2  
D4  
GND  
I/O  
GCLK14  
I/O  
L28N_3  
VREF_3  
INPUT  
L14N_2  
VREF_2  
I/O  
L26N_3  
I/O  
L29N_3  
I/O  
L06P_2  
I/O  
L06N_2  
I/O  
L09P_2  
INPUT  
L11P_2  
INPUT  
L14P_2  
INPUT  
I/O  
L03P_2  
DOUT  
BUSY  
I/O  
L01P_2  
CSO_B  
I/O  
L28P_3  
I/O  
L29P_3  
INPUT  
L05P_2  
I/O  
L07N_2  
I/O  
L12N_2  
VCCO_3  
VCCO_2  
VCCAUX  
U
V
W
Y
I/O  
I/O  
I/O  
L01N_2  
INIT_B  
I/O  
I/O  
INPUT  
I/O  
I/O  
I/O  
L03N_2  
MOSI  
L18P_2  
D2  
GND  
L30N_3  
L30P_3  
L05N_2  
L07P_2  
L10N_2  
L12P_2  
CSI_B  
GCLK2  
I/O  
I/O  
INPUT  
L02P_2  
I/O  
L04P_2  
INPUT  
L08P_2  
I/O  
L10P_2  
L15P_2  
D7  
L15N_2  
D6  
VCCO_2  
INPUT  
GND  
INPUT  
GND  
I/O  
GCLK12  
GCLK13  
INPUT  
L02N_2  
I/O  
VREF_2  
I/O  
L04N_2  
INPUT  
L08N_2  
I/O  
L13N_2  
I/O  
L13P_2  
I/O  
GND  
Bank 2  
DS312-4_08_101905  
Figure 88: FG400 Package Footprint (top view)  
220  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Bank 0  
11  
12  
I/O  
13  
14  
15  
16  
17  
18  
19  
20  
Right Half of Package  
(top view)  
I/O  
L09N_0  
VREF_0  
I/O  
L03N_0  
VREF_0  
I/O  
L09P_0  
I/O  
L06N_0  
I/O  
L04P_0  
I/O  
L04N_0  
I/O  
L03P_0  
GND  
GND  
A
B
C
D
E
F
INPUT  
INPUT  
I/O  
I/O  
I/O  
VCCO_0  
GND  
INPUT  
GND  
TDO  
INPUT  
L14N_0  
L14P_0  
L10N_0  
L06P_0  
L01N_0  
I/O  
L30N_1  
LDC2  
I/O  
L30P_1  
LDC1  
I/O  
VREF_0  
I/O  
L12N_0  
I/O  
L10P_0  
I/O  
L07N_0  
INPUT  
L05P_0  
INPUT  
L02N_0  
I/O  
L01P_0  
I/O  
L29N_1  
LDC0  
I/O  
I/O  
INPUT  
INPUT  
I/O  
VCCAUX  
VCCO_0  
I/O  
VCCO_1  
TCK  
TMS  
L12P_0  
L07P_0  
L05N_0  
L02P_0  
L28N_1  
I/O  
L16P_0  
GCLK6  
I/O  
L29P_1  
HDC  
I/O  
L13N_0  
INPUT  
L08N_0  
INPUT  
L08P_0  
INPUT  
VREF_1  
I/O  
L28P_1  
I/O  
I/O  
L15P_0  
GCLK4  
I/O  
L13P_0  
I/O  
L25P_1  
I/O  
L27P_1  
I/O  
L27N_1  
I/O  
L26N_1  
I/O  
L26P_1  
I/O  
I/O  
GND  
I/O  
L15N_0  
GCLK5  
INPUT  
INPUT  
I/O  
I/O  
VCCO_1  
GND  
VCCAUX  
VCCINT  
GND  
INPUT  
INPUT  
GND  
G
H
J
L11P_0  
L11N_0  
L25N_1  
L24P_1  
I/O  
L24N_1  
VREF_1  
I/O  
L22N_1  
I/O  
L22P_1  
I/O  
L23P_1  
I/O  
L23N_1  
I/O  
L21N_1  
VCCINT  
GND  
VCCINT INPUT  
I/O  
I/O  
I/O  
I/O  
L18P_1  
A2  
I/O  
L20N_1  
I/O  
L20P_1  
I/O  
L21P_1  
L17N_1  
A3  
INPUT  
L19N_1  
L19P_1  
A0  
RHCLK7  
I/O  
L16P_1  
A6  
RHCLK4  
IRDY1  
I/O  
I/O  
I/O  
L18N_1  
A1  
INPUT  
VREF_1  
L16N_1  
A5  
L17P_1  
A4  
VCCO_1  
VCCO_1  
VCCINT  
GND  
GND  
K
L
RHCLK5  
RHCLK6  
I/O  
L15N_1  
A7  
RHCLK3  
TRDY1  
I/O  
I/O  
I/O  
L13N_1  
VREF_1  
L15P_1  
A8  
L14N_1  
A9  
VCCAUX  
VCCINT  
GND  
GND  
VCCINT  
GND  
I/O  
INPUT  
GND  
RHCLK2  
RHCLK1  
I/O  
I/O  
L12P_1  
A12  
I/O  
L12N_1  
A11  
I/O  
L11P_1  
I/O  
L13P_1  
L14P_1  
A10  
VCCAUX  
VCCINT  
INPUT  
INPUT  
M
N
P
R
T
RHCLK0  
I/O  
D5  
I/O  
L11N_1  
I/O  
L09P_1  
I/O  
L10P_1  
I/O  
L10N_1  
VCCO_1  
VCCINT  
INPUT  
L17N_2  
M2  
GCLK1  
INPUT  
INPUT  
L17P_2  
RDWR_B  
GCLK0  
I/O  
L08N_1  
VREF_1  
I/O  
L25N_2  
I/O  
L09N_1  
I/O  
L07P_1  
I/O  
L07N_1  
INPUT  
GND  
GND  
INPUT  
VCCO_1  
INPUT  
L20P_2  
I/O  
L25P_2  
I/O  
L05P_1  
I/O  
L05N_1  
I/O  
L08P_1  
VCCO_2  
I/O  
INPUT  
INPUT  
INPUT  
L23N_2  
VREF_2  
I/O  
L02P_1  
A14  
I/O  
L02N_1  
A13  
I/O  
M1  
INPUT  
L20N_2  
INPUT  
L23P_2  
I/O  
L28N_2  
I/O  
L06N_1  
I/O  
L30P_2  
A21  
I/O  
L01P_1  
A16  
I/O  
L01N_1  
A15  
I/O  
I/O  
I/O  
I/O  
I/O  
VCCO_2  
GND  
I/O  
U
V
W
Y
L21N_2  
L24N_2  
L28P_2  
L03P_1  
L06P_1  
I/O  
L30N_2  
A20  
I/O  
L03N_1  
VREF_1  
I/O  
L21P_2  
I/O  
L24P_2  
INPUT  
L26N_2  
INPUT  
L26P_2  
I/O  
L04P_1  
L18N_2  
D1  
DONE  
GND  
I/O  
L31P_2  
VS2  
A19  
GCLK3  
I/O  
L22N_2  
VREF_2  
I/O  
L32N_2  
CCLK  
I/O  
L22P_2  
INPUT  
L29N_2  
I/O  
L04N_1  
VCCO_2  
VCCO_2  
GND  
I/O  
I/O  
I/O  
I/O  
I/O  
L19P_2  
M0  
I/O  
L27N_2  
A22  
I/O  
L27P_2  
A23  
INPUT  
L29P_2  
I/O  
VREF_2  
L19N_2  
DIN  
L31N_2  
VS1  
L32P_2  
VS0  
I/O  
GND  
D0  
A18  
A17  
Bank 2  
DS312-4_09_101905  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
221  
Product Specification  
R
Pinout Descriptions  
FG484: 484-ball Fine-pitch Ball Grid Array  
The 484-ball fine-pitch ball grid array, FG484, supports the  
XC3S1600E FPGA.  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Type  
I/O  
Table 153 lists all the FG484 package pins. They are sorted  
by bank number and then by pin name. Pairs of pins that  
form a differential I/O pair appear together in the table. The  
table also shows the pin number for each pin and the pin  
type, as defined earlier.  
IO_L12P_0  
A15  
H14  
G14  
G13  
F13  
J13  
H13  
E12  
F12  
C12  
B12  
B11  
C11  
D11  
E11  
A9  
IO_L13N_0  
I/O  
IO_L13P_0  
I/O  
IO_L15N_0  
I/O  
An electronic version of this package pinout table and foot-  
print diagram is available for download from the Xilinx web-  
IO_L15P_0  
I/O  
site at http://www.xilinx.com/bvdocs/publications/s3e_pin.zip  
.
IO_L16N_0  
I/O  
IO_L16P_0  
I/O  
Pinout Table  
IO_L18N_0/GCLK5  
IO_L18P_0/GCLK4  
IO_L19N_0/GCLK7  
IO_L19P_0/GCLK6  
IO_L21N_0/GCLK11  
IO_L21P_0/GCLK10  
IO_L22N_0  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
GCLK  
I/O  
Table 153: FG484 Package Pinout  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
0
Type  
I/O  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
IO  
B6  
0
B13  
C5  
I/O  
0
I/O  
0
C14  
E16  
F9  
I/O  
IO_L22P_0  
I/O  
0
I/O  
IO_L24N_0  
I/O  
0
I/O  
IO_L24P_0  
A10  
D10  
C10  
H8  
I/O  
0
F16  
G8  
I/O  
IO_L25N_0/VREF_0  
IO_L25P_0  
VREF  
I/O  
0
I/O  
0
H10  
H15  
J11  
G12  
C18  
C19  
A20  
A21  
A19  
A18  
C16  
D16  
A16  
A17  
B15  
C15  
G15  
F15  
D14  
E14  
A14  
I/O  
IO_L27N_0  
I/O  
0
I/O  
IO_L27P_0  
H9  
I/O  
0
I/O  
IO_L28N_0  
C9  
I/O  
0
IO/VREF_0  
VREF  
I/O  
IO_L28P_0  
B9  
I/O  
0
IO_L01N_0  
IO_L29N_0  
E9  
I/O  
0
IO_L01P_0  
I/O  
IO_L29P_0  
D9  
I/O  
0
IO_L03N_0/VREF_0  
IO_L03P_0  
VREF  
I/O  
IO_L30N_0  
B8  
I/O  
0
IO_L30P_0  
A8  
I/O  
0
IO_L04N_0  
I/O  
IO_L32N_0/VREF_0  
IO_L32P_0  
F7  
VREF  
I/O  
0
IO_L04P_0  
I/O  
F8  
0
IO_L06N_0  
I/O  
IO_L33N_0  
A6  
I/O  
0
IO_L06P_0  
I/O  
IO_L33P_0  
A7  
I/O  
0
IO_L07N_0  
I/O  
IO_L35N_0  
A4  
I/O  
0
IO_L07P_0  
I/O  
IO_L35P_0  
A5  
I/O  
0
IO_L09N_0/VREF_0  
IO_L09P_0  
VREF  
I/O  
IO_L36N_0  
E7  
I/O  
0
IO_L36P_0  
D7  
I/O  
0
IO_L10N_0  
I/O  
IO_L38N_0/VREF_0  
IO_L38P_0  
D6  
VREF  
I/O  
0
IO_L10P_0  
I/O  
D5  
0
IO_L11N_0  
I/O  
IO_L39N_0  
B4  
I/O  
0
IO_L11P_0  
I/O  
IO_L39P_0  
B3  
I/O  
0
IO_L12N_0/VREF_0  
VREF  
IO_L40N_0/HSWAP  
D4  
DUAL  
222  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
Type  
I/O  
Bank  
1
Type  
I/O  
IO_L40P_0  
C4  
B19  
E6  
IO_L05P_1  
W22  
T19  
T18  
U20  
U21  
T22  
U22  
R19  
R18  
R16  
T16  
R21  
R20  
P18  
P17  
P22  
R22  
P15  
P16  
N18  
N19  
N16  
N17  
M20  
N20  
M22  
IP  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
GCLK  
GCLK  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
DUAL  
DUAL  
DUAL  
DUAL  
VREF  
I/O  
1
IO_L06N_1  
I/O  
IP  
1
IO_L06P_1  
I/O  
IP_L02N_0  
IP_L02P_0  
IP_L05N_0  
IP_L05P_0  
IP_L08N_0  
IP_L08P_0  
IP_L14N_0  
IP_L14P_0  
IP_L17N_0  
IP_L17P_0  
IP_L20N_0/GCLK9  
IP_L20P_0/GCLK8  
IP_L23N_0  
IP_L23P_0  
IP_L26N_0  
IP_L26P_0  
IP_L31N_0  
IP_L31P_0  
IP_L34N_0  
IP_L34P_0  
IP_L37N_0  
IP_L37P_0  
VCCO_0  
D17  
D18  
C17  
B17  
E15  
D15  
D13  
C13  
A12  
A13  
H11  
H12  
F10  
F11  
G9  
1
IO_L07N_1/VREF_1  
IO_L07P_1  
VREF  
I/O  
1
1
IO_L08N_1  
I/O  
1
IO_L08P_1  
I/O  
1
IO_L09N_1  
I/O  
1
IO_L09P_1  
I/O  
1
IO_L10N_1  
I/O  
1
IO_L10P_1  
I/O  
1
IO_L11N_1  
I/O  
1
IO_L11P_1  
I/O  
1
IO_L12N_1/VREF_1  
IO_L12P_1  
VREF  
I/O  
1
1
IO_L13N_1  
I/O  
1
IO_L13P_1  
I/O  
1
IO_L14N_1  
I/O  
G10  
C8  
1
IO_L14P_1  
I/O  
1
IO_L15N_1  
I/O  
D8  
1
IO_L15P_1  
I/O  
C7  
1
IO_L16N_1/A11  
IO_L16P_1/A12  
IO_L17N_1/VREF_1  
IO_L17P_1  
DUAL  
DUAL  
VREF  
I/O  
C6  
1
A3  
1
A2  
1
B5  
1
IO_L18N_1/A9/RHCLK1  
RHCLK/  
DUAL  
VCCO_0  
B10  
B14  
B18  
E8  
1
1
1
1
1
1
1
IO_L18P_1/A10/RHCLK0  
N22  
M16  
M15  
L21  
L20  
L19  
L18  
RHCLK/  
DUAL  
VCCO_0  
VCCO_0  
IO_L19N_1/A7/RHCLK3/  
TRDY1  
RHCLK/  
DUAL  
VCCO_0  
VCCO_0  
F14  
G11  
Y22  
AA22  
W21  
Y21  
W20  
V20  
U19  
V19  
V22  
IO_L19P_1/A8/RHCLK2  
RHCLK/  
DUAL  
VCCO_0  
IO_L20N_1/A5/RHCLK5  
RHCLK/  
DUAL  
IO_L01N_1/A15  
IO_L01P_1/A16  
IO_L02N_1/A13  
IO_L02P_1/A14  
IO_L03N_1/VREF_1  
IO_L03P_1  
IO_L04N_1  
IO_L04P_1  
IO_L05N_1  
IO_L20P_1/A6/RHCLK4/  
IRDY1  
RHCLK/  
DUAL  
IO_L21N_1/A3/RHCLK7  
RHCLK/  
DUAL  
IO_L21P_1/A4/RHCLK6  
RHCLK/  
DUAL  
I/O  
1
1
IO_L22N_1/A1  
IO_L22P_1/A2  
K22  
L22  
DUAL  
DUAL  
I/O  
I/O  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
223  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Type  
DUAL  
I/O  
Bank  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Type  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
I/O  
IO_L23N_1/A0  
K17  
K16  
K19  
K18  
K15  
J15  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
N15  
N21  
P20  
R15  
T17  
T20  
U18  
D21  
L17  
E21  
H18  
K21  
L16  
P21  
R17  
V21  
Y8  
IO_L23P_1  
IO_L24N_1  
IO_L24P_1  
IO_L25N_1  
IO_L25P_1  
IO_L26N_1  
IO_L26P_1  
IO_L27N_1  
IO_L27P_1  
IO_L28N_1/VREF_1  
IO_L28P_1  
IO_L29N_1  
IO_L29P_1  
IO_L30N_1  
IO_L30P_1  
IO_L31N_1  
IO_L31P_1  
IO_L32N_1  
IO_L32P_1  
IO_L33N_1  
IO_L33P_1  
IO_L34N_1  
IO_L34P_1  
IO_L35N_1  
IO_L35P_1  
IO_L36N_1  
IO_L36P_1  
IO_L37N_1/LDC0  
IO_L37P_1/HDC  
IO_L38N_1/LDC2  
IO_L38P_1/LDC1  
IP  
I/O  
I/O  
I/O  
I/O  
J20  
I/O  
J21  
I/O  
IP/VREF_1  
IP/VREF_1  
VCCO_1  
J17  
I/O  
J18  
I/O  
H21  
H22  
H20  
H19  
H17  
G17  
F22  
G22  
F20  
G20  
G18  
G19  
D22  
E22  
F19  
F18  
E20  
E19  
C21  
C22  
B21  
B22  
D20  
F21  
G16  
H16  
J16  
VREF  
I/O  
VCCO_1  
VCCO_1  
I/O  
VCCO_1  
I/O  
VCCO_1  
I/O  
VCCO_1  
I/O  
VCCO_1  
I/O  
IO  
I/O  
IO  
Y9  
I/O  
I/O  
IO  
AA10  
AB5  
AB13  
AB14  
AB16  
AB18  
AB11  
AA12  
AB4  
AB21  
AB3  
AA3  
Y5  
I/O  
I/O  
IO  
I/O  
I/O  
IO  
I/O  
I/O  
IO  
I/O  
I/O  
IO  
I/O  
I/O  
IO  
I/O  
I/O  
IO/D5  
DUAL  
DUAL  
VREF  
VREF  
DUAL  
DUAL  
DUAL  
DUAL  
I/O  
I/O  
IO/M1  
I/O  
IO/VREF_2  
IO/VREF_2  
IO_L01N_2/INIT_B  
IO_L01P_2/CSO_B  
IO_L03N_2/MOSI/CSI_B  
IO_L03P_2/DOUT/BUSY  
IO_L04N_2  
IO_L04P_2  
IO_L06N_2  
IO_L06P_2  
IO_L07N_2  
IO_L07P_2  
IO_L09N_2/VREF_2  
IO_L09P_2  
IO_L10N_2  
I/O  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
W5  
W6  
IP  
V6  
I/O  
IP  
W7  
I/O  
IP  
Y7  
I/O  
IP  
U7  
I/O  
IP  
J22  
V7  
I/O  
IP  
K20  
L15  
M18  
V8  
VREF  
I/O  
IP  
W8  
IP  
T8  
I/O  
224  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
Type  
I/O  
Bank  
2
Type  
DUAL  
DUAL  
I/O  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L10P_2  
U8  
AB8  
AA8  
W9  
IO_L35N_2/A22  
AB17  
AA17  
W17  
Y17  
Y18  
W18  
AA20  
AB20  
W19  
Y19  
V17  
AB2  
AA4  
Y4  
IO_L11N_2  
I/O  
2
IO_L35P_2/A23  
IO_L36N_2  
IO_L11P_2  
I/O  
2
IO_L12N_2  
I/O  
2
IO_L36P_2  
I/O  
IO_L12P_2  
V9  
I/O  
2
IO_L38N_2/A20  
IO_L38P_2/A21  
IO_L39N_2/VS1/A18  
IO_L39P_2/VS2/A19  
IO_L40N_2/CCLK  
IO_L40P_2/VS0/A17  
IP  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
DUAL  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
INPUT  
IO_L13N_2/VREF_2  
IO_L13P_2  
R9  
VREF  
I/O  
2
T9  
2
IO_L14N_2  
AB9  
AB10  
U10  
T10  
R10  
P10  
U11  
I/O  
2
IO_L14P_2  
I/O  
2
IO_L16N_2  
I/O  
2
IO_L16P_2  
I/O  
2
IO_L17N_2  
I/O  
2
IP  
IO_L17P_2  
I/O  
2
IP_L02N_2  
IO_L19N_2/D6/GCLK13  
DUAL/  
GCLK  
2
IP_L02P_2  
2
IP_L05N_2  
Y6  
2
2
2
2
2
IO_L19P_2/D7/GCLK12  
IO_L20N_2/D3/GCLK15  
IO_L20P_2/D4/GCLK14  
IO_L22N_2/D1/GCLK3  
IO_L22P_2/D2/GCLK2  
V11  
T11  
R11  
W12  
Y12  
DUAL/  
GCLK  
2
IP_L05P_2  
AA6  
AB7  
AB6  
Y10  
W10  
AA11  
Y11  
P12  
2
IP_L08N_2  
DUAL/  
GCLK  
2
IP_L08P_2  
2
IP_L15N_2  
DUAL/  
GCLK  
2
IP_L15P_2  
DUAL/  
GCLK  
2
IP_L18N_2/VREF_2  
IP_L18P_2  
2
DUAL/  
GCLK  
2
IP_L21N_2/M2/GCLK1  
DUAL/  
GCLK  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
IO_L23N_2/DIN/D0  
IO_L23P_2/M0  
IO_L25N_2  
IO_L25P_2  
U12  
V12  
DUAL  
DUAL  
I/O  
2
IP_L21P_2/RDWR_B/  
GCLK0  
R12  
DUAL/  
GCLK  
Y13  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
IP_L24N_2  
IP_L24P_2  
IP_L31N_2/VREF_2  
IP_L31P_2  
IP_L34N_2  
IP_L34P_2  
IP_L37N_2  
IP_L37P_2  
VCCO_2  
R13  
T13  
INPUT  
INPUT  
VREF  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
I/O  
W13  
U14  
U13  
T14  
I/O  
IO_L26N_2/VREF_2  
IO_L26P_2  
VREF  
I/O  
T15  
U15  
Y16  
W16  
AA19  
AB19  
T12  
IO_L27N_2  
IO_L27P_2  
I/O  
R14  
Y14  
I/O  
IO_L28N_2  
IO_L28P_2  
I/O  
AA14  
W14  
V14  
I/O  
IO_L29N_2  
IO_L29P_2  
I/O  
I/O  
VCCO_2  
U9  
IO_L30N_2  
IO_L30P_2  
AB15  
AA15  
W15  
Y15  
I/O  
VCCO_2  
V15  
AA5  
AA9  
AA13  
AA18  
C1  
I/O  
VCCO_2  
IO_L32N_2  
IO_L32P_2  
I/O  
VCCO_2  
I/O  
VCCO_2  
IO_L33N_2  
IO_L33P_2  
U16  
V16  
I/O  
VCCO_2  
I/O  
IO_L01N_3  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
225  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
Type  
I/O  
Bank  
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
Type  
I/O  
IO_L01P_3  
C2  
D2  
D3  
E3  
E4  
E1  
D1  
F4  
F3  
G5  
G4  
F1  
G1  
G6  
G7  
H4  
H5  
H2  
H3  
H1  
J1  
IO_L22N_3  
N6  
N7  
P8  
N8  
N4  
N5  
P2  
P1  
R7  
P7  
P6  
P5  
R2  
R1  
R3  
R4  
T6  
IO_L02N_3/VREF_3  
IO_L02P_3  
VREF  
I/O  
IO_L22P_3  
IO_L23N_3  
IO_L23P_3  
IO_L24N_3/VREF_3  
IO_L24P_3  
IO_L25N_3  
IO_L25P_3  
IO_L26N_3  
IO_L26P_3  
IO_L27N_3  
IO_L27P_3  
IO_L28N_3  
IO_L28P_3  
IO_L29N_3  
IO_L29P_3  
IO_L30N_3  
IO_L30P_3  
IO_L31N_3  
IO_L31P_3  
IO_L32N_3  
IO_L32P_3  
IO_L33N_3  
IO_L33P_3  
IO_L34N_3  
IO_L34P_3  
IO_L35N_3  
IO_L35P_3  
IO_L36N_3/VREF_3  
IO_L36P_3  
IO_L37N_3  
IO_L37P_3  
IO_L38N_3  
IO_L38P_3  
IP  
I/O  
I/O  
IO_L03N_3  
I/O  
I/O  
IO_L03P_3  
I/O  
VREF  
I/O  
IO_L04N_3  
I/O  
IO_L04P_3  
I/O  
I/O  
IO_L05N_3  
I/O  
I/O  
IO_L05P_3  
I/O  
I/O  
IO_L06N_3  
I/O  
I/O  
IO_L06P_3  
I/O  
I/O  
IO_L07N_3  
I/O  
I/O  
IO_L07P_3  
I/O  
I/O  
IO_L08N_3/VREF_3  
IO_L08P_3  
VREF  
I/O  
I/O  
I/O  
IO_L09N_3  
I/O  
I/O  
IO_L09P_3  
I/O  
I/O  
IO_L10N_3  
I/O  
R6  
U2  
U1  
T4  
I/O  
IO_L10P_3  
I/O  
I/O  
IO_L11N_3  
I/O  
I/O  
IO_L11P_3  
I/O  
I/O  
IO_L12N_3  
J6  
I/O  
T5  
I/O  
IO_L12P_3  
J5  
I/O  
W1  
V1  
U4  
U3  
V4  
V3  
W3  
W2  
Y2  
Y1  
AA1  
AA2  
F2  
I/O  
IO_L13N_3/VREF_3  
IO_L13P_3  
J3  
VREF  
I/O  
I/O  
K3  
J8  
I/O  
IO_L14N_3  
I/O  
I/O  
IO_L14P_3  
K8  
K4  
K5  
K1  
L1  
I/O  
I/O  
IO_L15N_3  
I/O  
I/O  
IO_L15P_3  
I/O  
VREF  
I/O  
IO_L16N_3  
I/O  
IO_L16P_3  
I/O  
I/O  
IO_L17N_3  
L7  
I/O  
I/O  
IO_L17P_3  
K7  
L5  
I/O  
I/O  
IO_L18N_3/LHCLK1  
IO_L18P_3/LHCLK0  
IO_L19N_3/LHCLK3/IRDY2  
IO_L19P_3/LHCLK2  
IO_L20N_3/LHCLK5  
IO_L20P_3/LHCLK4/TRDY2  
IO_L21N_3/LHCLK7  
IO_L21P_3/LHCLK6  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
LHCLK  
I/O  
M5  
M8  
L8  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
IP  
F5  
IP  
G3  
H7  
J7  
N1  
M1  
M4  
M3  
IP  
IP  
IP  
K2  
K6  
IP  
226  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
3
Type  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
INPUT  
VREF  
VREF  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
VCCO  
GND  
Bank  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
Type  
GND  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
IP  
M2  
M6  
N3  
P3  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
L13  
M10  
M14  
M17  
M21  
N11  
N13  
P4  
3
GND  
3
GND  
3
GND  
3
R8  
T1  
GND  
3
GND  
3
T7  
GND  
3
U5  
W4  
L3  
GND  
3
P9  
GND  
3
IP/VREF_3  
IP/VREF_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
VCCO_3  
GND  
P11  
P14  
P19  
T2  
GND  
3
T3  
GND  
3
E2  
GND  
3
H6  
J2  
GND  
3
T21  
U6  
GND  
3
M7  
N2  
R5  
V2  
GND  
3
U17  
V10  
V13  
Y3  
GND  
3
GND  
3
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
A1  
GND  
GND  
A11  
A22  
B7  
GND  
Y20  
AA7  
AA16  
AB1  
AB12  
AB22  
AA21  
B1  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
B16  
C3  
C20  
E10  
E13  
F6  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
GND  
VCCAUX DONE  
CONFIG  
CONFIG  
JTAG  
GND  
GND  
VCCAUX PROG_B  
VCCAUX TCK  
GND  
GND  
E17  
B2  
GND  
F17  
G2  
G21  
J4  
GND  
VCCAUX TDI  
JTAG  
GND  
GND  
VCCAUX TDO  
B20  
D19  
D12  
E5  
JTAG  
GND  
GND  
VCCAUX TMS  
JTAG  
GND  
GND  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
VCCAUX  
GND  
J9  
GND  
GND  
J12  
J14  
J19  
K10  
K12  
L2  
GND  
E18  
K14  
L4  
GND  
GND  
GND  
GND  
GND  
GND  
M19  
N9  
GND  
GND  
GND  
GND  
V5  
GND  
L6  
GND  
V18  
W11  
GND  
L9  
GND  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
227  
Product Specification  
R
Pinout Descriptions  
Table 153: FG484 Package Pinout (Continued)  
Table 153: FG484 Package Pinout (Continued)  
XC3S1600E  
Pin Name  
FG484  
Ball  
XC3S1600E  
Pin Name  
FG484  
Ball  
Bank  
Type  
Bank  
Type  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
J10  
K9  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
VCCINT VCCINT  
M11  
M12  
M13  
N10  
N12  
N14  
P13  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
VCCINT  
K11  
K13  
L10  
L11  
L12  
L14  
M9  
User I/Os by Bank  
Table 154 indicates how the 304 available user-I/O pins are  
distributed between the four I/O banks on the FG484 pack-  
age.  
Table 154: User I/Os Per Bank for the XC3S1600E in the FG484 Package  
All Possible I/O Pins by Type  
Package  
Edge  
Maximum  
I/O  
I/O Bank  
I/O  
56  
INPUT  
DUAL  
1
VREF  
CLK  
Top  
0
1
2
3
94  
94  
22  
16  
18  
16  
72  
7
7
8
(1)  
Right  
50  
21  
24  
0
0
(1)  
Bottom  
Left  
94  
45  
7
0
94  
63  
7
8
TOTAL  
376  
214  
46  
28  
16  
Notes:  
1. The eight global clock pins in this bank have optional functionality during configuration and are counted in the DUAL column.  
Footprint Migration Differences  
The XC3S1600E FPGA is the only Spartan-3E device  
offered in the FG484 package.  
228  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
FG484 Footprint  
Bank 0  
1
2
3
4
5
6
7
8
9
10  
11  
Left Half of Package  
(top view)  
INPUT INPUT  
L37P_0  
I/O  
L35N_0  
I/O  
L35P_0  
I/O  
L33N_0  
I/O  
L33P_0  
I/O  
L30P_0  
I/O  
L24N_0  
I/O  
L24P_0  
GND  
GND  
A
B
C
D
E
F
L37N_0  
I/O  
L21N_0  
GCLK11  
I/O  
L39P_0  
I/O  
L39N_0  
I/O  
L30N_0  
I/O  
L28P_0  
PROG_B  
VCCO_0  
VCCO_0  
TDI  
I/O  
GND  
I/O: Unrestricted,  
214  
I/O  
L21P_0  
GCLK10  
I/O  
L01N_3  
I/O  
L01P_3  
I/O  
L40P_0  
INPUT INPUT INPUT  
L34P_0  
I/O  
L28N_0  
I/O  
L25P_0  
general-purpose user I/O  
GND  
I/O  
L34N_0  
L31N_0  
INPUT: User I/O or  
I/O  
L02N_3  
VREF_3  
I/O  
L40N_0  
HSWAP  
I/O  
L38N_0  
VREF_0  
I/O  
L25N_0  
VREF_0  
I/O  
L04P_3  
I/O  
L02P_3  
I/O  
L38P_0  
I/O  
L36P_0  
INPUT  
L31P_0  
I/O  
L29P_0  
I/O  
L22N_0  
reference resistor input for  
bank  
72  
I/O  
L04N_3  
I/O  
L03N_3  
I/O  
L03P_3  
I/O  
L36N_0  
I/O  
L29N_0  
I/O  
L22P_0  
VCCO_3  
INPUT  
GND  
VCCAUX  
VCCO_0  
INPUT  
GND  
GND  
DUAL: Configuration pin,  
then possible user I/O  
46  
28  
16  
2
I/O  
L32N_0  
VREF_0  
I/O  
L07N_3  
I/O  
L05P_3  
I/O  
L05N_3  
I/O  
L32P_0  
INPUT INPUT  
L23N_0  
INPUT  
I/O  
L23P_0  
VREF: User I/O or input  
voltage reference for bank  
I/O  
L08N_3  
VREF_3  
I/O  
L07P_3  
I/O  
L06P_3  
I/O  
L06N_3  
I/O  
L08P_3  
INPUT INPUT  
L26N_0  
VCCO_0  
INPUT  
I/O  
G
H
J
L26P_0  
CLK: User I/O, input, or  
clock buffer input  
INPUT  
L20N_0  
GCLK9  
I/O  
L11N_3  
I/O  
L10N_3  
I/O  
L10P_3  
I/O  
L09N_3  
I/O  
L09P_3  
I/O  
L27N_0  
I/O  
L27P_0  
VCCO_3  
INPUT  
INPUT  
I/O  
CONFIG: Dedicated  
configuration pins  
I/O  
L13N_3  
VREF_3  
I/O  
L11P_3  
I/O  
L12P_3  
I/O  
L12N_3  
I/O  
L14N_3  
VCCO_3  
INPUT  
GND  
GND  
GND VCCINT  
I/O  
JTAG: Dedicated JTAG  
port pins  
4
I/O  
L16N_3  
I/O  
L13P_3  
I/O  
L15N_3  
I/O  
L15P_3  
I/O  
L17P_3  
I/O  
L14P_3  
INPUT  
GND  
VCCINT GND VCCINT  
GND VCCINT VCCINT  
VCCINT GND VCCINT  
K
L
GND: Ground  
I/O  
L18N_3  
LHCLK1  
I/O  
L19P_3  
LHCLK2  
48  
28  
16  
10  
0
I/O  
L16P_3  
INPUT  
VREF_3  
I/O  
L17N_3  
VCCAUX  
I/O  
L20P_3  
LHCLK4  
TRDY2  
I/O  
L19N_3  
LHCLK3  
IRDY2  
I/O  
L21P_3  
I/O  
L21N_3  
I/O  
L18P_3  
VCCO: Output voltage  
supply for bank  
VCCO_3  
INPUT  
VCCO_3  
INPUT  
M
N
P
R
T
LHCLK6 LHCLK7 LHCLK0  
I/O  
L20N_3  
LHCLK5  
I/O  
I/O  
VCCINT: Internal core  
supply voltage (+1.2V)  
I/O  
L22N_3  
I/O  
L22P_3  
I/O  
L23P_3  
VCCAUX  
INPUT  
INPUT  
VCCINT GND  
L24N_3  
VREF_3  
L24P_3  
I/O  
L25P_3  
I/O  
L25N_3  
I/O  
L27P_3  
I/O  
L27N_3  
I/O  
L26P_3  
I/O  
L23N_3  
I/O  
VCCAUX: Auxiliary supply  
voltage (+2.5V)  
GND  
GND  
GND  
L17P_2  
I/O  
I/O  
L13N_2  
VREF_2  
I/O  
L28P_3  
I/O  
L28N_3  
I/O  
L29N_3  
I/O  
L29P_3  
I/O  
L30P_3  
I/O  
L26N_3  
I/O  
L17N_2  
L20P_2  
VCCO_3  
INPUT  
N.C.: Not connected  
D4  
GCLK14  
I/O  
INPUT  
VREF_3  
I/O  
L32N_3  
I/O  
L32P_3  
I/O  
L30N_3  
I/O  
L10N_2  
I/O  
L13P_2  
I/O  
L16P_2  
L20N_2  
D3  
INPUT  
GND  
INPUT  
GCLK15  
I/O  
I/O  
L31P_3  
I/O  
L31N_3  
I/O  
L34P_3  
I/O  
L34N_3  
I/O  
L07N_2  
I/O  
L10P_2  
I/O  
L16N_2  
L19N_2  
D6  
VCCO_2  
INPUT  
GND  
U
V
W
Y
GCLK13  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
L19P_2  
D7  
VCCO_3  
VCCAUX  
GND  
L09N_2  
L33P_3  
L35P_3  
L35N_3  
L04P_2  
L07P_2  
L12P_2  
VREF_2  
GCLK12  
I/O  
L03P_2  
DOUT  
BUSY  
I/O  
L36N_3  
VREF_3  
I/O  
L33N_3  
I/O  
L36P_3  
I/O  
L04N_2  
I/O  
L06N_2  
I/O  
L09P_2  
I/O  
L12N_2  
INPUT  
L15P_2  
VCCAUX  
INPUT  
I/O  
I/O  
L37P_3  
I/O  
L37N_3  
INPUT  
L02P_2  
INPUT  
L05N_2  
I/O  
L06P_2  
INPUT INPUT  
L03N_2  
MOSI  
GND  
I/O  
I/O  
L15N_2  
L18P_2  
CSI_B  
I/O  
INPUT  
L18N_2  
VREF_2  
A
A
I/O  
L38N_3  
I/O  
L38P_3  
INPUT  
L02N_2  
INPUT  
L05P_2  
I/O  
L11P_2  
VCCO_2  
VCCO_2  
GND  
I/O  
L01P_2  
CSO_B  
I/O  
A
B
I/O  
VREF_2  
INPUT INPUT  
I/O  
L11N_2  
I/O  
L14N_2  
I/O  
L14P_2  
I/O  
D5  
GND  
INPUT  
I/O  
L01N_2  
L08P_2  
L08N_2  
INIT_B  
Bank 2  
DS312_10_101905  
Figure 89: FG484 Package Footprint (top view)  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
229  
Product Specification  
R
Pinout Descriptions  
Bank 0  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
Right Half of Package  
(top view)  
I/O  
I/O  
INPUT INPUT  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
GND  
L12N_0  
L03N_0  
A
B
C
D
E
F
L17N_0  
L17P_0  
L12P_0  
L07N_0  
L07P_0  
L04P_0  
L04N_0  
L03P_0  
VREF_0  
VREF_0  
I/O  
I/O  
L09N_0  
VREF_0  
I/O  
L38N_1  
LDC2  
I/O  
L38P_1  
LDC1  
INPUT  
L05P_0  
VCCO_0  
VCCO_0  
I/O  
GND  
INPUT  
TDO  
GND  
L19P_0  
GCLK6  
I/O  
I/O  
L37N_1  
LDC0  
I/O  
L37P_1  
HDC  
INPUT  
L14P_0  
I/O  
L09P_0  
I/O  
L06N_0  
INPUT  
L05N_0  
I/O  
L01N_0  
I/O  
L01P_0  
I/O  
L19N_0  
GCLK7  
INPUT  
L14N_0  
I/O  
L11N_0  
INPUT  
L08P_0  
I/O  
L06P_0  
INPUT INPUT  
L02N_0  
INPUT  
VREF_1  
I/O  
L34N_1  
VCCAUX  
TMS  
INPUT  
L02P_0  
I/O  
I/O  
L11P_0  
INPUT  
L08N_0  
I/O  
L36P_1  
I/O  
L36N_1  
I/O  
L34P_1  
VCCAUX  
VCCO_1  
INPUT  
GND  
GND  
I/O  
TCK  
L18N_0  
GCLK5  
I/O  
I/O  
L15P_0  
I/O  
L10P_0  
I/O  
L35P_1  
I/O  
L35N_1  
I/O  
L32N_1  
I/O  
L31N_1  
VCCO_0  
I/O  
GND  
L18P_0  
GCLK4  
I/O  
VREF_0  
I/O  
L15N_0  
I/O  
L13P_0  
I/O  
L10N_0  
I/O  
L30P_1  
I/O  
L33N_1  
I/O  
L33P_1  
I/O  
L32P_1  
I/O  
L31P_1  
INPUT  
INPUT  
INPUT  
G
H
J
INPUT  
L20P_0  
GCLK8  
I/O  
L28N_1  
VREF_1  
I/O  
L16P_0  
I/O  
L13N_0  
I/O  
L30N_1  
I/O  
L29P_1  
I/O  
L29N_1  
I/O  
L28P_1  
VCCO_1  
I/O  
I/O  
L16N_0  
I/O  
L25P_1  
I/O  
L27N_1  
I/O  
L27P_1  
I/O  
L26N_1  
I/O  
L26P_1  
GND  
GND  
GND  
INPUT  
I/O  
L23N_1  
A0  
I/O  
L22N_1  
A1  
I/O  
I/O  
I/O  
I/O  
VCCAUX  
VCCO_1  
GND VCCINT  
INPUT  
K
L
L25N_1  
L23P_1  
L24P_1  
L24N_1  
I/O  
L20P_1  
A6  
I/O  
I/O  
L21N_1  
A3  
I/O  
I/O  
L22P_1  
A2  
INPUT  
VREF_1  
L21P_1  
A4  
L20N_1  
A5  
VCCO_1  
VCCINT GND VCCINT INPUT  
I/O  
RHCLK4  
RHCLK6 RHCLK7  
RHCLK5  
IRDY1  
I/O  
I/O  
I/O  
L17N_1  
VREF_1  
L19N_1  
L19P_1  
L18N_1  
A9  
VCCAUX  
VCCINT VCCINT GND  
GND  
INPUT  
GND  
INPUT  
VCCO_1  
A7  
M
N
P
R
T
A8  
RHCLK3  
RHCLK2  
RHCLK1  
TRDY1  
I/O  
I/O  
L16N_1  
A11  
I/O  
L16P_1  
A12  
I/O  
L15N_1  
I/O  
L15P_1  
I/O  
L17P_1  
L18P_1  
A10  
VCCINT GND VCCINT INPUT  
INPUT  
RHCLK0  
I/O  
L12N_1  
VREF_1  
I/O  
L21N_2  
I/O  
L14P_1  
I/O  
L12P_1  
I/O  
L13N_1  
VCCINT GND  
GND  
INPUT  
M2  
GCLK1  
L14N_1  
INPUT  
INPUT  
I/O  
L27P_2  
I/O  
L10N_1  
I/O  
L09P_1  
I/O  
L09N_1  
I/O  
L11P_1  
I/O  
L11N_1  
I/O  
L13P_1  
L21P_2  
VCCO_1  
INPUT  
GND  
INPUT  
RDWR_B L24N_2  
GCLK0  
INPUT  
L31N_2  
VREF_2  
INPUT  
VCCO_2  
I/O  
L27N_2  
I/O  
L10P_1  
I/O  
L06P_1  
I/O  
L06N_1  
I/O  
L08N_1  
INPUT  
GND  
L24P_2  
I/O  
I/O  
L26N_2  
VREF_2  
I/O  
L07N_1  
VREF_1  
I/O  
L26P_2  
INPUT  
L31P_2  
I/O  
L33N_2  
I/O  
L04N_1  
I/O  
L07P_1  
I/O  
L08P_1  
L23N_2  
INPUT  
U
V
W
Y
DIN  
D0  
I/O  
L23P_2  
M0  
I/O  
L29P_2  
I/O  
L33P_2  
I/O  
L04P_1  
I/O  
L03P_1  
I/O  
L05N_1  
VCCO_2  
VCCAUX  
VCCO_1  
GND  
INPUT  
I/O  
I/O  
L38P_2  
A21  
I/O  
L40N_2  
CCLK  
I/O  
L03N_1  
VREF_1  
I/O  
L02N_1  
A13  
I/O  
L25P_2  
I/O  
L29N_2  
I/O  
L32N_2  
INPUT  
L34P_2  
I/O  
L36N_2  
I/O  
L05P_1  
L22N_2  
D1  
GCLK3  
I/O  
I/O  
I/O  
L38N_2  
A20  
I/O  
L02P_1  
A14  
I/O  
L01N_1  
A15  
I/O  
L25N_2  
I/O  
L28N_2  
I/O  
L32P_2  
INPUT  
L34N_2  
I/O  
L36P_2  
L22P_2  
D2  
L40P_2  
VS0  
GND  
I/O  
L39N_2  
VS1  
A18  
GCLK2  
A17  
I/O  
L35P_2  
A23  
I/O  
L01P_1  
A16  
A
A
I/O  
M1  
I/O  
L28P_2  
I/O  
L30P_2  
INPUT  
L37N_2  
VCCO_2  
VCCO_2  
GND  
I/O  
DONE  
I/O  
I/O  
L35N_2  
A22  
A
B
I/O  
L30N_2  
INPUT  
L37P_2  
I/O  
VREF_2  
L39P_2  
VS2  
GND  
I/O  
I/O  
I/O  
GND  
A19  
Bank 2  
DS312_11_101905  
230  
www.xilinx.com  
DS312-4 (v3.4) November 9, 2006  
Product Specification  
R
Pinout Descriptions  
Revision History  
The following table shows the revision history for this document.  
Date  
Version  
1.0  
Revision  
03/01/05  
03/21/05  
Initial Xilinx release.  
1.1  
Added XC3S250E in the CP132 package to Table 128. Corrected number of differential I/O  
pairs on CP132. Added pinout and footprint information for the CP132, FG400, and FG484  
packages. Removed IRDY and TRDY pins from the VQ100, TQ144, and PQ208 packages.  
11/23/05  
03/22/06  
2.0  
3.0  
Corrected title of Table 152. Updated differential pair numbering for some pins in Bank 0 of  
the FG400 package, affecting Table 151 and Figure 88. Pin functionality and ball  
assignment were not affected. Added Package Thermal Characteristics section. Added  
package mass values to Table 124.  
Included I/O pins, not just input-only pins under the VREF description in Table 123. Clarified  
that some global clock inputs are Input-only pins in Table 123. Added information on the  
XC3S100E in the CP132 package, affecting Table 128, Table 129, Table 132, Table 133,  
Table 135, and Figure 82. Ball A12 on the XC3S1600E in the FG320 package a full I/O pin,  
not an Input-only pin. Corrected the I/O counts for the XC3S1600E in the FG320 package,  
affecting Table 128, Table 149, Table 150, and Figure 87. Corrected pin type for  
XC3S1600E balls N14 and N15 in Table 147.  
05/19/06  
11/09/06  
3.1  
3.4  
Minor text edits.  
Added package thermal data for the XC3S100E in the CP132 package to Table 129.  
Corrected pin migration arrows for balls E17 and F4 between the XC3S500E and  
XC3S1600E in Table 150. Promoted Module 4 to Production status. Synchronized all  
modules to v3.4.  
DS312-4 (v3.4) November 9, 2006  
www.xilinx.com  
231  
Product Specification  

相关型号:

XC3S100E-5FT256GI

Spartan-3E FPGA Family: Complete Data Sheet
XILINX

XC3S100E-5FT256I

Spartan-3E FPGA Family
XILINX

XC3S100E-5FTG256C

Spartan-3E FPGA Family
XILINX

XC3S100E-5FTG256I

Spartan-3E FPGA Family
XILINX

XC3S100E-5PQ208C

Spartan-3E FPGA Family
XILINX

XC3S100E-5PQ208GC

Spartan-3E FPGA Family: Complete Data Sheet
XILINX

XC3S100E-5PQ208GI

Spartan-3E FPGA Family: Complete Data Sheet
XILINX

XC3S100E-5PQ208I

Spartan-3E FPGA Family
XILINX

XC3S100E-5PQG208C

Spartan-3E FPGA Family
XILINX

XC3S100E-5PQG208I

Spartan-3E FPGA Family
XILINX

XC3S100E-5TQ144C

Spartan-3E FPGA Family
XILINX

XC3S100E-5TQ144GC

Spartan-3E FPGA Family: Complete Data Sheet
XILINX