电子工程世界电子工程世界电子工程世界

型号

产品描述

搜索
 

XC3S400

器件型号:XC3S400
器件类别:可编程逻辑器件
文件大小:1692.91KB,共0页
厂商名称:XILINX [Xilinx, Inc]
厂商官网:http://www.xilinx.com
下载文档

器件描述

FPGA, 8320 CLBS, 5000000 GATES, 725 MHz,

现场可编程门阵列, 8320 CLBS, 5000000 , 725 MHz,

参数

XC3S400功能数量 1
XC3S400端子数量 900
XC3S400最大工作温度 85 Cel
XC3S400最小工作温度 0.0 Cel
XC3S400最大供电/工作电压 1.26 V
XC3S400最小供电/工作电压 1.14 V
XC3S400额定供电电压 1.2 V
XC3S400加工封装描述 31 X 31 MM, FBGA-900
XC3S400状态 ACTIVE
XC3S400工艺 CMOS
XC3S400包装形状 SQUARE
XC3S400包装尺寸 GRID ARRAY
XC3S400表面贴装 Yes
XC3S400端子形式 BALL
XC3S400端子间距 1 mm
XC3S400端子涂层 TIN LEAD
XC3S400端子位置 BOTTOM
XC3S400包装材料 PLASTIC/EPOXY
XC3S400温度等级 OTHER
XC3S400组织 8320 CLBS, 5000000 GATES
XC3S400最大FCLK时钟频率 725 MHz
XC3S400可配置逻辑模块数量 8320
XC3S400可编程逻辑类型 FIELD PROGRAMMABLE GATE ARRAY
XC3S400等效门电路数量 5.00E6
XC3S400一个CLB模块最大延时 0.5300 ns

文档预览

XC3S400器件文档内容

                               0

                     R                 Spartan-3 FPGA Family:

                                       Complete Data Sheet

DS099 July 13, 2004               0 0 Advance Product Specification

This document includes all four modules of the SpartanTM-3 FPGA data sheet.

Module 1:                              Module 3:
Introduction and Ordering Information  DC and Switching Characteristics

DS099-1 (v1.2) December 24, 2003       DS099-3 (v1.3) March 4, 2004
6 pages                                40 pages

Introduction                         DC Electrical Characteristics
Features                                  - Absolute Maximum Ratings
Architectural Overview                    - Supply Voltage Specifications
Product Availability                      - Recommended Operating Conditions
User I/O Chart                            - DC Characteristics
Ordering Information
                                        Switching Characteristics
Module 2:                                   - I/O Timing
Functional Description                      - Core Logic Timing
                                            - DCM Timing
DS099-2 (v1.2) July 11, 2003                - Configuration and JTAG Timing
40 pages
                                       Module 4:
IOBs                                 Pinout Descriptions
     - IOB Overview
     - SelectIOTM Signal Standards     DS099-4 (v1.5) July 13, 2004
                                       106 pages
CLB Overview
Block RAM                            Pin Descriptions
Dedicated Multipliers                     - Pin Behavior During Configuration
Digital Clock Manager (DCM)
                                        Package Overview
     - Clock Network                   Pinout Tables
Configuration
                                            - Footprints

IMPORTANT NOTE: The Spartan-3 FPGA data sheet is created and published in separate modules. This complete version
is provided for easy downloading and searching of the complete document. Page, figure, and table numbers begin at 1 for
each module, and each module has its own Revision History at the end. Use the PDF "Bookmarks" for easy navigation in
this volume.

2003-2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and disclaimers are as listed at http://www.xilinx.com/legal.htm.
            All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

DS099 July 13, 2004               www.xilinx.com
Advance Product Specification     1-800-255-7778
                                                                          06  Spartan-3 FPGA Family:

                                                            R                 Introduction and Ordering

DS099-1 (v1.2) December 24, 2003                                              Information

                                                                          0 0 Advance Product Specification

Introduction                                                                       - Densities as high as 74,880 logic cells
                                                                                   - 326 MHz system clock rate
The SpartanTM-3 family of Field-Programmable Gate Arrays                           - Three power rails: for core (1.2V), I/Os (1.2V to
is specifically designed to meet the needs of high volume,
cost-sensitive consumer electronic applications. The                                    3.3V), and auxiliary purposes (2.5V)
eight-member family offers densities ranging from 50,000 to                   SelectIOTM signaling
five million system gates, as shown in Table 1.
                                                                                   - Up to 784 I/O pins
The Spartan-3 family builds on the success of the earlier                          - 622 Mb/s data transfer rate per I/O
Spartan-IIE family by increasing the amount of logic                               - Seventeen single-ended signal standards
resources, the capacity of internal RAM, the total number of                       - Seven differential signal standards including LVDS
I/Os, and the overall level of performance as well as by                           - Termination by Digitally Controlled Impedance
improving clock management functions. Numerous                                     - Signal swing ranging from 1.14V to 3.45V
enhancements derive from state-of-the-art VirtexTM-II tech-                        - Double Data Rate (DDR) support
nology. These Spartan-3 enhancements, combined with                            Logic resources
advanced process technology, deliver more functionality                            - Abundant logic cells with shift register capability
and bandwidth per dollar than was previously possible, set-                        - Wide multiplexers
ting new standards in the programmable logic industry.                             - Fast look-ahead carry logic
                                                                                   - Dedicated 18 x 18 multipliers
Because of their exceptionally low cost, Spartan-3 FPGAs                           - JTAG logic compatible with IEEE 1149.1/1532
are ideally suited to a wide range of consumer electronics
applications, including broadband access, home network-                                 specifications
ing, display/projection and digital television equipment.                      SelectRAMTM hierarchical memory

The Spartan-3 family is a superior alternative to mask pro-                        - Up to 1,872 Kbits of total block RAM
grammed ASICs. FPGAs avoid the high initial cost, the                              - Up to 520 Kbits of total distributed RAM
lengthy development cycles, and the inherent inflexibility of                  Digital Clock Manager (up to four DCMs)
conventional ASICs. Also, FPGA programmability permits                             - Clock skew elimination
design upgrades in the field with no hardware replacement                          - Frequency synthesis
necessary, an impossibility with ASICs.                                            - High resolution phase shifting

Features                                                                      Eight global clock lines and abundant routing
                                                                               Fully supported by Xilinx ISE development system
Revolutionary 90-nanometer process technology
Very low cost, high-performance logic solution for                               - Synthesis, mapping, placement and routing
                                                                               MicroBlaze processor, PCI, and other cores
     high-volume, consumer-oriented applications

Table 1: Summary of Spartan-3 FPGA Attributes

          System  Logic               CLB Array                               Distributed Block RAM  Dedicated                            Maximum
           Gates  Cells     (One CLB = Four Slices)                                                  Multipliers        Maximum Differential
Device                                                                        RAM (bits1)  (bits1)                DCMs   User I/O I/O Pairs
                         Rows Columns Total CLBs

XC3S50    50K     1,728        16                              12  192        12K          72K       4            2     124  56

XC3S200   200K 4,320           24                              20  480        30K          216K      12           4     173  76

XC3S400   400K 8,064           32                              28  896        56K          288K      16           4     264  116

XC3S1000  1M      17,280 48                                    40  1,920      120K         432K      24           4     391  175

XC3S1500 1.5M 29,952 64                                        52  3,328      208K         576K      32           4     487  221

XC3S2000  2M      46,080 80                                    64  5,120      320K         720K      40           4     565  270

XC3S4000  4M      62,208 96                                    72  6,912      432K         1,728K    96           4     712  312

XC3S5000  5M      74,880 104                                   80  8,320      520K         1,872K    104          4     784  344

Notes:
1. By convention, one Kb is equivalent to 1,024 bits.

2003 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and disclaimers are as listed at http://www.xilinx.com/legal.htm.
        All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

DS099-1 (v1.2) December 24, 2003                                          www.xilinx.com                                                                           1

Advance Product Specification                                             1-800-255-7778
Spartan-3 FPGA Family: Introduction and Ordering Information                                                                                                                                  R

Architectural Overview                                        Multiplier blocks accept two 18-bit binary numbers as
                                                                  inputs and calculate the product.
The Spartan-3 family architecture consists of five funda-
mental programmable functional elements:                      Digital Clock Manager (DCM) blocks provide
                                                                  self-calibrating, fully digital solutions for distributing,
Configurable Logic Blocks (CLBs) contain RAM-based              delaying, multiplying, dividing, and phase shifting clock
     Look-Up Tables (LUTs) to implement logic and storage         signals.
     elements that can be used as flip-flops or latches.
     CLBs can be programmed to perform a wide variety of     These elements are organized as shown in Figure 1. A ring
     logical functions as well as to store data.             of IOBs surrounds a regular array of CLBs. The XC3S50
                                                             has a single column of block RAM embedded in the array.
Input/Output Blocks (IOBs) control the flow of data        Those devices ranging from the XC3S200 to the XC3S2000
     between the I/O pins and the internal logic of the      have two columns of block RAM. The XC3S4000 and
     device. Each IOB supports bidirectional data flow plus  XC3S5000 devices have four RAM columns. Each column
     3-state operation. Twenty-four different signal         is made up of several 18K-bit RAM blocks; each block is
     standards, including seven high-performance             associated with a dedicated multiplier. The DCMs are posi-
     differential standards, are available as shown in       tioned at the ends of the outer block RAM columns.
     Table 2. Double Data-Rate (DDR) registers are
     included. The Digitally Controlled Impedance (DCI)      The Spartan-3 family features a rich network of traces and
     feature provides automatic on-chip terminations,        switches that interconnect all five functional elements,
     simplifying board designs.                              transmitting signals among them. Each functional element
                                                             has an associated switch matrix that permits multiple con-
Block RAM provides data storage in the form of 18-Kbit     nections to the routing.
     dual-port blocks.

                                                                                                                                                                           DS099-1_01_032703

   Notes:
   1. The two additional block RAM columns of the XC3S4000 and XC3S5000

         devices are shown with dashed lines. The XC3S50 has only the block RAM
         column on the far left.

                          Figure 1: Spartan-3 Family Architecture

2  www.xilinx.com                                             DS099-1 (v1.2) December 24, 2003

   1-800-255-7778                                             Advance Product Specification

6
          R                                            Spartan-3 FPGA Family: Introduction and Ordering Information

Configuration                                                   which includes the XCF00S PROMs for serial configuration
                                                                and the higher density XCF00P PROMs for parallel or serial
Spartan-3 FPGAs are programmed by loading configuration         configuration.
data into robust static memory cells that collectively control
all functional elements and routing resources. Before pow-      I/O Capabilities
ering on the FPGA, configuration data is stored externally in
a PROM or some other nonvolatile medium either on or off        The SelectIO feature of Spartan-3 devices supports 17 sin-
the board. After applying power, the configuration data is      gle-ended standards and seven differential standards as
written to the FPGA using any of five different modes: Mas-     listed in Table 2. Many standards support the DCI feature,
ter Parallel, Slave Parallel, Master Serial, Slave Serial and   which uses integrated terminations to eliminate unwanted
Boundary Scan (JTAG). The Master and Slave Parallel             signal reflections. Table 3 shows the number of user I/Os as
modes use an 8-bit wide SelectMAPTM port.                       well as the number of differential I/O pairs available for each
                                                                device/package combination.
The recommended memory for storing the configuration
data is the low-cost Xilinx Platform Flash PROM family,

Table 2: Signal Standards Supported by the Spartan-3 Family

Standard             Description                                VCCO  Class          Symbol         DCI
Category                                                         (V)                              Option

Single-Ended

GTL           Gunning Transceiver Logic                         N/A   Terminated     GTL          Yes

                                                                      Plus           GTLP         Yes

HSTL          High-Speed Transceiver Logic                      1.5   I              HSTL_I       Yes

                                                                      III            HSTL_III     Yes

                                                                1.8   I              HSTL_I_18    Yes

                                                                      II             HSTL_II_18   Yes

                                                                      III            HSTL_III_18  Yes

LVCMOS Low-Voltage CMOS                                         1.2   N/A            LVCMOS12     No

                                                                1.5   N/A            LVCMOS15     Yes

                                                                1.8   N/A            LVCMOS18     Yes

                                                                2.5   N/A            LVCMOS25     Yes

                                                                3.3   N/A            LVCMOS33     Yes

LVTTL         Low-Voltage Transistor-Transistor Logic           3.3   N/A            LVTTL        No

PCI           Peripheral Component Interconnect                 3.0   33 MHz         PCI33_3      No

SSTL          Stub Series Terminated Logic                      1.8   N/A            SSTL18_I     Yes

                                                                2.5   I              SSTL2_I      Yes

                                                                      II             SSTL2_II     Yes

Differential

LDT           Lightning Data Transport                          2.5   N/A            LDT_25       No

              (HyperTransportTM)

LVDS          Low-Voltage Differential Signaling                      Standard       LVDS_25      Yes

                                                                      Bus            BLVDS_25     No

                                                                      Extended Mode  LVDSEXT_25 Yes

                                                                      Ultra          ULVDS_25     No

LVPECL        Low-Voltage Positive Emitter-Coupled              2.5   N/A            LVPECL_25    No

              Logic

RSDS          Reduced-Swing Differential Signaling              2.5   N/A            RSDS_25      No

DS099-1 (v1.2) December 24, 2003                    www.xilinx.com                                        3

Advance Product Specification                       1-800-255-7778
Spartan-3 FPGA Family: Introduction and Ordering Information                                                                       R

Table 3: Spartan-3 I/O Chart

                                         Available User I/Os and Differential (Diff) I/O Pairs

             VQ100  TQ144        PQ208         FT256      FG320                     FG456      FG676      FG900      FG1156

   Device User Diff User Diff User Diff User Diff User Diff User Diff User Diff User Diff User Diff

XC3S50       63 29 97 46 124 56 -                   -     -                 -       -  -       -  -       -     -    -          -

XC3S200 63 29 97 46 141 62 173 76 -                                         -       -  -       -  -       -     -    -          -

XC3S400      -  - 97 46 141 62 173 76 221 100 264 116 -                                           -       -     -    -          -

XC3S1000 -      -   -         -  -       - 173 76 221 100 333 149 391 175 -                                     -    -          -

XC3S1500 -      -   -         -  -       -     -    - 221 100 333 149 487 221 -                                 -    -          -

XC3S2000 -      -   -         -  -       -     -    -     -                 -       -  - 489 221 565 270 -                      -

XC3S4000 -      -   -         -  -       -     -    -     -                 -       -  -       -  - 633 300 712 312

XC3S5000 -      -   -         -  -       -     -    -     -                 -       -  -       -  - 633 300 784 344

Notes:
1. All device options listed in a given package column are pin-compatible.

Product Ordering and Availability

Table 4 shows all valid device ordering combinations of range parameters for the Spartan-3 family as well as the
device density, speed grade, package, and temperature availability status of those combinations.

Table 4: Spartan-3 Device Availability      PQFP FTBGA                                            FBGA
      Package Type(1): VQFP TQFP

                Code: VQ100 TQ144 PQ208 FT256 FG320 FG456 FG676 FG900 FG1156

   Device

   XC3S50           (C, I)       (C, I)     (C, I)     -                       -           -      -          -          -

   XC3S200          (C, I)       (C, I)     (C, I)     (C, I)                  -           -      -          -          -

   XC3S400             -         (C, I)     (C, I)     (C, I)               (C, I)     (C, I)     -          -          -

   XC3S1000            -         -          -          (C, I)               (C, I)     (C, I)     (C, I)     -          -

   XC3S1500            -         -          -          -                    (C, I)     (C, I)     (C, I)     -          -

   XC3S2000            -         -          -          -                       -           -      (C, I)     (C, I)     -

   XC3S4000            -         -          -          -                       -           -      -          (C, I)     (C, I)

   XC3S5000            -         -          -          -                       -           -      -          (C, I)     (C, I)

Notes:

1. Package types are explained in Ordering Information, page 5.
2. Commercial devices are offered in the -4 and -5 speed grades; industrial devices are only in the -4 speed grade.
3. C = Commercial, TJ = 0 to +85 C; I = Industrial, TJ = 40 C to +100 C.
4. Parentheses indicate that a given device is not yet released to production. Contact your local sales office for availability information.

4                                                   www.xilinx.com                                DS099-1 (v1.2) December 24, 2003

                                                    1-800-255-7778                                Advance Product Specification

6
                                                             R  Spartan-3 FPGA Family: Introduction and Ordering Information

Ordering Information                                            XC3S50 -4 PQ208 C
                      Example:
                                                                                                                               Temperature Range
                       Device Type                                                                                             Package Type / Number of Pins
                       Speed Grade

  Device  Speed Grade                                           Package Type / Number of Pins                                                               Temperature Range (TJ)
XC3S50                                                                                                                                                    C Commercial (0C to 85C)
XC3S200   -4 Standard Performance VQ100 100-pin Very Thin Quad Flat Pack (VQFP)                                                                           I Industrial (40C to 100C)
XC3S400
XC3S1000  -5 High Performance                                   TQ144 144-pin Thin Quad Flat Pack (TQFP)
XC3S1500
XC3S2000                                                        PQ208 208-pin Plastic Quad Flat Pack (PQFP)
XC3S4000
XC3S5000                                                        FT256 256-ball Fine-Pitch Thin Ball Grid Array (FTBGA)

                                                                FG320 320-ball Fine-Pitch Ball Grid Array (FBGA)

                                                                FG456 456-ball Fine-Pitch Ball Grid Array (FBGA)

                                                                FG676 676-ball Fine-Pitch Ball Grid Array (FBGA)

                                                                FG900 900-ball Fine-Pitch Ball Grid Array (FBGA)

                                                                FG1156 1156-ball Fine-Pitch Ball Grid Array (FBGA)

Package Marking

                                     Device Type                                                                            R  Date Code
                                          Package                                                                              Lot Code
                                                                SPARTAN R
                                    Speed Grade                 XC3S50TM                                                               ds099-1_02_122403
                               Operating Range                  PQ208xxx0350
                                                                xxxxxxxxx
                                                                4C

Revision History

Date Version No.                                                                                                               Description

04/11/03  1.0     Initial Xilinx release.

04/24/03  1.1     Updated block RAM, DCM, and multiplier counts for the XC3S50.

12/24/03  1.2     Added the FG320 package.

The Spartan-3 Family Data Sheet

DS099-1, Spartan-3 FPGA Family: Introduction and Ordering Information (Module 1)
DS099-2, Spartan-3 FPGA Family: Functional Description (Module 2)
DS099-3, Spartan-3 FPGA Family: DC and Switching Characteristics (Module 3)
DS099-4, Spartan-3 FPGA Family: Pinout Descriptions (Module 4)

DS099-1 (v1.2) December 24, 2003                                www.xilinx.com                                                                                                           5

Advance Product Specification                                   1-800-255-7778
Spartan-3 FPGA Family: Introduction and Ordering Information  R

6  www.xilinx.com                                             DS099-1 (v1.2) December 24, 2003

   1-800-255-7778                                             Advance Product Specification

6
                                             040

                              R                                 Spartan-3 1.2V FPGA Family:

                                                                Functional Description

DS099-2 (v1.2) July 11, 2003                 0 0 Advance Product Specification

IOBs

IOB Overview                                                         the FPGA's internal logic through a multiplexer to the
                                                                     output driver. In addition to this direct path, the
The Input/Output Block (IOB) provides a programmable,                multiplexer provides the option to insert a pair of
bidirectional interface between an I/O pin and the FPGA's            storage elements.
internal logic.                                                 All signal paths entering the IOB, including those
                                                                     associated with the storage elements, have an inverter
A simplified diagram of the IOB's internal structure appears         option. Any inverter placed on these paths is
in Figure 1. There are three main signal paths within the            automatically absorbed into the IOB.
IOB: the output path, input path, and 3-state path. Each
path has its own pair of storage elements that can act as       Storage Element Functions
either registers or latches. For more information, see the
Storage Element Functions section. The three main signal        There are three pairs of storage elements in each IOB, one
paths are as follows:                                           pair for each of the three paths. It is possible to configure
                                                                each of these storage elements as an edge-triggered
The input path carries data from the pad, which is            D-type flip-flop (FD) or a level-sensitive latch (LD).
     bonded to a package pin, through an optional
     programmable delay element directly to the I line. After   The storage-element-pair on either the Output path or the
     the delay element, there are alternate routes through a    Three-State path can be used together with a special multi-
     pair of storage elements to the IQ1 and IQ2 lines. The     plexer to produce Double-Data-Rate (DDR) transmission.
     IOB outputs I, IQ1, and IQ2 all lead to the FPGA's         This is accomplished by taking data synchronized to the
     internal logic. The delay element can be set to ensure a   clock signal's rising edge and converting them to bits syn-
     hold time of zero.                                         chronized on both the rising and the falling edge. The com-
                                                                bination of two registers and a multiplexer is referred to as a
The output path, starting with the O1 and O2 lines,           Double-Data-Rate D-type flip-flop (FDDR).
     carries data from the FPGA's internal logic through a
     multiplexer and then a three-state driver to the IOB       See Double-Data-Rate Transmission, page 3 for more
     pad. In addition to this direct path, the multiplexer      information.
     provides the option to insert a pair of storage elements.
                                                                The signal paths associated with the storage element are
The 3-state path determines when the output driver is         described in Table 1.
     high impedance. The T1 and T2 lines carry data from

Table 1: Storage Element Signal Description

Storage  Description                                            Function
Element
Signal

D        Data input              Data at this input is stored on the active edge of CK 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 will mirror the data at D.

CK       Clock input             A signal's active edge on this input with CE asserted, loads data into the storage element.

CE       Clock Enable input      When asserted, this input enables CK. If not connected, CE defaults to the asserted state.

SR       Set/Reset               Forces 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.

REV      Reverse                 Used together with SR. Forces storage element into the state opposite from what SR does.

      2003 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and disclaimers are as listed at http://www.xilinx.com/legal.htm.
             All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

DS099-2 (v1.2) July 11, 2003                 www.xilinx.com                                                                                                             1

Advance Product Specification                1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                           R

T

T1              D   Q     TFF1

                CE

                                                CK

                                                   SR REV

                                                                                 DDR
                                                                                 MUX
TCE

T2              D   Q

                          TFF2

                CE

                CK
                  SR REV

                                                                                      Three-state Path

                          OFF1                                                                                                              VCCO

       O1       D   Q
OTCLK1
                CE
     OCE
       O2       CK                                                                                                                   Weak   ESD
                  SR REV                                                                                                           Pull-Up
OTCLK2                                                                                                                                            I/O
                                          DDR                                                                                       Weak          Pin
                                          MUX                                                                                        Pull-  ESD
                                                                                                                                    Down
                                                                                             Program-

                D   Q                                                                        mable        DCI

                          OFF2                                                               Output

                CE                                                                           Driver

                CK                                                                                                                 Weak
                  SR REV                                                                                                           Keeper
                                                                                                                                    Latch
                                                                                             Output Path

         IQ1    D   Q                                                                 Fixed               LVCMOS, LVTTL, PCI
             I                                                                        Delay               Single-ended Standards

     ICLK1                          IFF1                                                                          using VREF
        ICE     CE
         IQ2                                                                                               Differential Standards
                CK                                                                                                                          VREF
     ICLK2        SR REV                                                                                                                    Pin
         SR
                D   Q                                                                                                                       I/O Pin
       REV                                                                                                                                  from
                          IFF2                                                                                                              Adjacent
2                                                                                                                                           IOB
40
                CE

                CK
                  SR REV

                                                                                                      Input Path                            DS099_01_040703

                Note: All IOB signals communicating with the FPGA's internal logic have the option of inverting polarity.

                                                        Figure 1: Simplified IOB Diagram

                                          www.xilinx.com                                                            DS099-2 (v1.2) July 11, 2003
                                          1-800-255-7778                                                       Advance Product Specification
          R                                                      Spartan-3 1.2V FPGA Family: Functional Description

According to Figure 1, the clock line OTCLK1 connects the        path and ICE does the same for the register pair on the
CK inputs of the upper registers on the output and               input path.
three-state paths. Similarly, OTCLK2 connects the CK
inputs for the lower registers on the output and three-state     The Set/Reset (SR) line entering the IOB is common to all
paths. The upper and lower registers on the input path have      six registers, as is the Reverse (REV) line.
independent clock lines: ICLK1 and ICLK2.
                                                                 Each storage element supports numerous options in addi-
The enable line OCE connects the CE inputs of the upper          tion to the control over signal polarity described in the IOB
and lower registers on the output path. Similarly, TCE con-      Overview section. These are described in Table 2.
nects the CE inputs for the register pair on the three-state

Table 2: Storage Element Options

Option Switch                     Function                       Specificity

FF/Latch       Chooses between an edge-sensitive flip-flop or Independent for each storage element.
               a level-sensitive latch

SYNC/ASYNC     Determines whether SR is synchronous or           Independent for each storage element.
               asynchronous

SRHIGH/SRLOW   Determines whether SR acts as a Set, which        Independent for each storage element, except
               forces the storage element to a logic "1"         when using FDDR. In the latter case, the selection
               (SRHIGH) or a Reset, which forces a logic "0"     for the upper element (OFF1 or TFF2) will apply to
               (SRLOW).                                          both elements.

INIT1/INIT0    In the event of a Global Set/Reset, after         Independent for each storage element, except
               configuration or upon activation of the GTS net,  when using FDDR. In the latter case, selecting
               this switch decides whether to set or reset a     INIT0 for one element applies to both elements
               storage element. By default, choosing SRLOW       (even though INIT1 is selected for the other).
               also selects INIT0; choosing SRHIGH also
               selects INIT1.

Double-Data-Rate Transmission                                    The storage-element-pair on the Three-State path (TFF1
                                                                 and TFF2) can also be combined with a local multiplexer to
Double-Data-Rate (DDR) transmission describes the tech-          form an FDDR primitive. This permits synchronizing the out-
nique of synchronizing signals to both the rising and falling    put enable to both the rising and falling edges of a clock.
edges of the clock signal. Spartan-3 devices use regis-          This DDR operation is realized in the same way as for the
ter-pairs in all three IOB paths to perform DDR operations.      output path.

The pair of storage elements on the IOB's Output path            The storage-element-pair on the input path (IFF1 and IFF2)
(OFF1 and OFF2), used as registers, combine with a spe-          allows an I/O to receive a DDR signal. An incoming DDR
cial multiplexer to form a DDR D-type flip-flop (FDDR). This     clock signal triggers one register and the inverted clock sig-
primitive permits DDR transmission where output data bits        nal triggers the other register. In this way, the registers take
are synchronized to both the rising and falling edges of a       turns capturing bits of the incoming DDR data signal.
clock. It is possible to access this function by placing either
an FDDRRSE or an FDDRCPE component or symbol into                Aside from high bandwidth data transfers, DDR can also be
the design. DDR operation requires two clock signals (50%        used to reproduce, or "mirror", a clock signal on the output.
duty cycle), one the inverted form of the other. These sig-      This approach is used to transmit clock and data signals
nals trigger the two registers in alternating fashion, as        together. A similar approach is used to reproduce a clock
shown in Figure 2. Commonly, the Digital Clock Manager           signal at multiple outputs. The advantage for both
(DCM) generates the two clock signals by mirroring an            approaches is that skew across the outputs will be minimal.
incoming signal, then shifting it 180 degrees. This approach
ensures minimal skew between the two signals.

DS099-2 (v1.2) July 11, 2003                www.xilinx.com                                                           3

Advance Product Specification               1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                                           R

     DCM                                                                                                                         clamp diodes are always connected to the pad, regardless
    180 0                                                                                                                      of the signal standard selected. The presence of diodes lim-
                                                                                                                                 its the ability of Spartan-3 I/Os to tolerate high signal volt-
                        FDDR                                                                                                     ages. The VIN absolute maximum rating in Table 1 in
                                                                                                                                 Module 3: DC and Switching Characteristics specifies the
                                                                                                                                 voltage range that I/Os can tolerate.

             D1                                                                                                                  Slew Rate Control and Drive Strength
                   Q1
                                                                                                                                 Two options, FAST and SLOW, control the output slew rate.
              CLK1                                                                                                               The FAST option supports output switching at a high rate.
                                                                                                                                 The SLOW option reduces bus transients. These options are
                        DDR MUX  Q                                                                                               only available when using one of the LVCMOS or LVTTL
                                                                                                                                 standards, which also provide up to seven different levels of
             D2                                                                                                                  current drive strength: 2, 4, 6, 8, 12, 16, and 24 mA. Choos-
                    Q2                                                                                                           ing the appropriate drive strength level is yet another means
                                                                                                                                 to minimize bus transients.
              CLK2
                                                                                                                                 Table 3 shows the drive strengths that the LVCMOS and
                                                                                                              DS099-2_02_070303  LVTTL standards support. The Fast option is indicated by
                                                                                                                                 appending an "F" attribute after the output buffer symbol
            Figure 2: Clocking the DDR Register                                                                                  OBUF or the bidirectional buffer symbol IOBUF. The Slow
                                                                                                                                 option appends an "S" attribute. The drive strength in milliam-
Pull-Up and Pull-Down Resistors                                                                                                  peres follows the slew rate attribute. For example,
                                                                                                                                 OBUF_LVCMOS18_S_6 or IOBUF_LVCMOS25_F_16.
The optional pull-up and pull-down resistors are intended to
establish High and Low levels, respectively, at unused I/Os.                                                                     Table 3: Programmable Output Drive Current
The weak pull-up resistor optionally connects each IOB pad
to VCCO. A weak pull-down resistor optionally connects                                                                             Signal              Current Drive (mA)
each pad to GND. These resistors are placed in a design                                                                          Standard  2 4 6 8 12 16 24
using the PULLUP and PULLDOWN symbols in a sche-
matic, respectively. They can also be instantiated as com-                                                                       LVCMOS12 3 3 3 - - - -
ponents, set as constraints or passed as attributes in HDL
code. These resistors can also be selected for all unused                                                                        LVCMOS15 3 3 3 3 3 - -
I/O using the Bitstream Generator (BitGen) option Unused-
Pin. A Low logic level on HSWAP_EN activates the pull-up                                                                         LVCMOS18 3 3 3 3 3 3 -
resistors on all I/Os during configuration.
                                                                                                                                 LVCMOS25 3 3 3 3 3 3 3
Weak-Keeper Circuit
                                                                                                                                 LVCMOS33 3 3 3 3 3 3 3
Each I/O has an optional weak-keeper circuit that retains
the last logic level on a line after all drivers have been turned                                                                LVTTL     3333333
off. This is useful to keep bus lines from floating when all
connected drivers are in a high-impedance state. This func-                                                                      Boundary-Scan Capability
tion is placed in a design using the KEEPER symbol.
Pull-up and pull-down resistors override the weak-keeper                                                                         All Spartan-3 IOBs support boundary-scan testing compat-
circuit.                                                                                                                         ible with IEEE 1149.1 standards. See Boundary-Scan
                                                                                                                                 (JTAG) Mode, page 36 for more information.
ESD Protection
                                                                                                                                 SelectIO Signal Standards
Clamp diodes protect all device pads against damage from
Electro-Static Discharge (ESD) as well as excessive voltage                                                                      The IOBs support 17 different single-ended signal stan-
transients. Each I/O has two clamp diodes: One diode                                                                             dards, as listed in Table 4. Furthermore, the majority of
extends P-to-N from the pad to VCCO and a second diode                                                                           IOBs can be used in specific pairs supporting any of six dif-
extends N-to-P from the pad to GND. During operation,                                                                            ferential signal standards, as shown in Table 5. The desired
these diodes are normally biased in the off state. These                                                                         standard is selected by placing the appropriate I/O library
                                                                                                                                 symbol or component into the FPGA design. For example,
                                                                                                                                 the symbol named IOBUF_LVCMOS15_F_8 represents a
                                                                                                                                 bidirectional I/O to which the 1.5V LVCMOS signal standard
                                                                                                                                 has been assigned. The slew rate and current drive are set
                                                                                                                                 to Fast and 8 mA, respectively.

                                                                                                                                 Together with placing the appropriate I/O symbol, two exter-
                                                                                                                                 nally applied voltage levels, VCCO and VREF select the
                                                                                                                                 desired signal standard. The VCCO lines provide current to
                                                                                                                                 the output driver. The voltage on these lines determines the

4                                   www.xilinx.com                                                                                         DS099-2 (v1.2) July 11, 2003

                                    1-800-255-7778                                                                                         Advance Product Specification

40
            R                                                     Spartan-3 1.2V FPGA Family: Functional Description

output voltage swing for all standards except GTL and             Table 4: Single-Ended I/O Standards (Values in Volts)
GTLP.
                                                                                   VCCO                          Board
All single-ended standards except the LVCMOS modes                                                           Termination
require a Reference Voltage (VREF) to bias the input-switch-          Signal  For        For  VREF for       Voltage (VTT)
ing threshold. Once a configuration data file is loaded into        Standard                  Inputs(1)
the FPGA that calls for the I/Os of a given bank to use such                  Outputs Inputs                         -
a signal standard, a few specifically reserved I/O pins on the    PCI33_3                          -
same bank automatically convert to VREF inputs. When                          3.0        3.0
using one of the LVCMOS standards, these pins remain
I/Os because the VCCO voltage biases the input-switching          SSTL18_I    1.8        -             0.9   0.9
threshold, so there is no need for VREF. Select the VCCO and
VREF levels to suit the desired single-ended standard             SSTL2_I     2.5        -             1.25  1.25
according to Table 4.
                                                                  SSTL2_II    2.5        -             1.25  1.25
Differential standards employ a pair of signals, one the
opposite polarity of the other. The noise canceling (e.g.,        Notes:
Common-Mode Rejection) properties of these standards
permit exceptionally high data transfer rates. This section       1. Banks 4 and 5 of any Spartan-3 device in a VQ100 package
introduces the differential signaling capabilities of Spartan-3         do not support signal standards using VREF.
devices.
                                                                  2. The VCCO level used for the GTL and GTLP standards must
Each device-package combination designates specific I/O                 be no lower than the termination voltage (VTT), nor can it be
pairs that are specially optimized to support differential              lower than the voltage at the I/O pad.
standards. A unique "L-number", part of the pin name, iden-
tifies the line-pairs associated with each bank (see Module       3. See Table 6 for a listing of the single-ended DCI standards.
4: Pinout Descriptions). For each pair, the letters "P" and
"N" designate the true and inverted lines, respectively. For      Table 5: Differential I/O Standards
example, the pin names IO_L43P_7 and IO_L43N_7 indi-
cate the true and inverted lines comprising the line pair L43                 VCCO (Volts)    VREF for       VOD(1) (mV)
on Bank 7. The differential Output Voltage (VOD) parameter                                     Inputs        Min. Max.
measures the voltage difference the High and Low logic lev-         Signal    For        For
els that a pair of differential outputs drive. The VOD range for  Standard                     (Volts)
each of the differential standards is listed in Table 5. The                  Outputs Inputs
VCCO lines provide current to the outputs. The VREF lines
are not used. Select the VCCO level to suit the desired differ-   LDT_25      2.5        -             -     430 670
ential standard according to Table 5.
                                                                  LVDS_25     2.5        -             -     250 400

                                                                  BLVDS_25    2.5        -             -     250 450

                                                                  LVDSEXT_25 2.5         -             -     330 700

                                                                  ULVDS_25    2.5        -             -     430 670

                                                                  RSDS_25     2.5        -             -     100 400

                                                                  Notes:

                                                                  1. Measured with a termination resistor value (RT) of 100
                                                                        Ohms.

                                                                  2. See Table 6 for a listing of the differential DCI standards.

Table 4: Single-Ended I/O Standards (Values in Volts)             The need to supply VREF and VCCO imposes constraints on
                                                                  which standards can be used in the same bank. See The
                    VCCO                          Board           Organization of IOBs into Banks section for additional
                                              Termination         guidelines concerning the use of the VCCO and VREF lines.
    Signal     For            For  VREF for   Voltage (VTT)
  Standard                         Inputs(1)                      Digitally Controlled Impedance (DCI)
               Outputs Inputs                        1.2
GTL                                   0.8                         When the round-trip delay of an output signal -- i.e., from
               Note 2 Note 2                                      output to input and back again -- exceeds rise and fall
                                                                  times, it is common practice to add termination resistors to
GTLP           Note 2 Note 2       1          1.5                 the line carrying the signal. These resistors effectively
                                                                  match the impedance of a device's I/O to the characteristic
HSTL_I         1.5            -    0.75       0.75                impedance of the transmission line, thereby preventing
                                                                  reflections that adversely affect signal integrity. However,
HSTL_III       1.5            -    0.9        1.5                 with the high I/O counts supported by modern devices, add-
                                                                  ing resistors requires significantly more components and
HSTL_I_18      1.8            -    0.9        0.9                 board area. Furthermore, for some packages -- e.g., ball
                                                                  grid arrays -- it may not always be possible to place resis-
HSTL_II_18     1.8            -    0.9        0.9                 tors close to pins.

HSTL_III_18    1.8            -    1.1        1.8                 DCI answers these concerns by providing two kinds of
                                                                  on-chip terminations: Parallel terminations make use of an
LVCMOS12       1.2            1.2  -          -                   integrated resistor network. Series terminations result from
                                                                  controlling the impedance of output drivers. DCI actively
LVCMOS15       1.5            1.5  -          -                   adjusts both parallel and series terminations to accurately

LVCMOS18       1.8            1.8  -          -

LVCMOS25       2.5            2.5  -          -

LVCMOS33       3.3            3.3  -          -

LVTTL          3.3            3.3  -          -

DS099-2 (v1.2) July 11, 2003                       www.xilinx.com                                                                  5

Advance Product Specification                      1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                     R

match the characteristic impedance of the transmission line.     DCI is available only for certain I/O standards, as listed in
This adjustment process compensates for differences in I/O       Table 6. DCI is selected by applying the appropriate I/O
impedance that can result from normal variation in the           standard extensions to symbols or components. There are
ambient temperature, the supply voltage and the manufac-         five basic ways to configure terminations, as shown in
turing process. When the output driver turns off, the series     Table 7. The DCI I/O standard determines which of these
termination, by definition, approaches a very high imped-        terminations is put into effect.
ance; in contrast, parallel termination resistors remain at the
targeted values.

Table 6: DCI I/O Standards

                                                VCCO (V)                          Termination Type

   Category of Signal                      For                   For   VREF for
         Standard                                                     Inputs (V)
                       Signal Standard     Outputs Inputs                         At Output                 At Input

   Single-Ended

   Gunning             GTL_DCI             1.2                   1.2  0.8         Single                    Single
   Transceiver Logic   GTLP_DCI
                                           1.5                   1.5  1.0

   High-Speed          HSTL_I_DCI          1.5                   1.5  0.75        None                       Split
                                                                                  None                      Single
   Transceiver Logic HSTL_III_DCI          1.5                   1.5  0.9

                       HSTL_I_DCI_18       1.8                   1.8  0.9         None                      Split

                       HSTL_II_DCI_18      1.8                   1.8  0.9         Split

                       HSTL_III_DCI_18     1.8                   1.8  1.1         None                      Single

   Low-Voltage CMOS LVDCI_15               1.5                   1.5  -           Controlled impedance      None
                                 LVDCI_18
                                           1.8                   1.8  -           driver

                       LVDCI_25            2.5                   2.5  -

                       LVDCI_33            3.3                   3.3  -

                       LVDCI_DV2_15        1.5                   1.5  -           Controlled driver with

                       LVDCI_DV2_18        1.8                   1.8  -           half-impedance

                       LVDCI_DV2_25        2.5                   2.5  -

                       LVDCI_DV2_33        3.3                   3.3  -

   Stub Series         SSTL18_I_DCI        1.8                   1.8  0.9         25-Ohm driver             Split

   Terminated Logic    SSTL2_I_DCI         2.5                   2.5  1.25        25-Ohm driver

                       SSTL2_II_DCI        2.5                   2.5  1.25        Split with 25-Ohm driver

   Differential

   Low-Voltage         LVDS_25_DCI         2.5                   2.5  -           None                      Split on
                                                                                                            each line
   Differential        LVDSEXT_25_DCI 2.5                        2.5  -
   Signalling                                                                                                of pair

Notes:
1. Bank 5 of any Spartan-3 device in a VQ100 or TQ144 package does not support DCI signal standards.

6                                               www.xilinx.com                    DS099-2 (v1.2) July 11, 2003

                                                1-800-255-7778                    Advance Product Specification

40
                                                             R                    Spartan-3 1.2V FPGA Family: Functional Description

Table 7: DCI Terminations                                                  Schematic(1)                            I/O Standards
                      Termination
                                                                IOB                                          LVDCI_15
Controlled impedance output driver                                             R                            LVDCI_18
                                                                                                         Z0  LVDCI_25
                                                                                                             LVDCI_33

Controlled output driver with half impedance                    IOB                                          LVDCI_DV2_15
                                                                             R/2                             LVDCI_DV2_18
                                                                                                             LVDCI_DV2_25
                                                                                        Z0                   LVDCI_DV2_33

Single resistor                                                 IOB               VCCO                       GTL_DCI
                                                                                                             GTLP_DCI

                                                                                                             HSTL_III_DCI(2)

                                                                                  R     Z0                   HSTL_III_DCI_18(2)

Split resistors                                                 IOB               VCCO                       HSTL_I_DCI(2)
                                                                                                             HSTL_I_DCI_18(2)

                                                                                                             HSTL_II_DCI_18

                                                                                  2R Z0                      LVDS_25_DCI
                                                                                                             LVDSEXT_25_DCI

                                                                                  2R

Split resistors with output driver impedance                    IOB               VCCO                       SSTL18_I_DCI(3)
fixed to 25                                                               25           2R Z0                 SSTL2_I_DCI(3)
                                                                                       2R
                                                                                                             SSTL2_II_DCI

Notes:

1. The value of R is equivalent to the characteristic impedance of the line connected to the I/O. It is also equal to half the value of RREF
      for the DV2 standards and RREF for all other DCI standards.

2. For DCI using HSTL Classes I and III, terminations only go into effect at inputs (not at outputs).

3. For DCI using SSTL Class I, the split termination only goes into effect at inputs (not at outputs).

DS099-2 (v1.2) July 11, 2003                                    www.xilinx.com                                                    7

Advance Product Specification                                   1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                R

The DCI feature operates independently for each of the                                                            Spartan-3 devices in these packages support eight inde-
device's eight banks. Each bank has an "N" reference pin                                                          pendent VCCO supplies.
(VRN) and a "P" reference pin, (VRP), to calibrate driver
and termination resistance. Only when using a DCI stan-                                                                   Bank 0  Bank 1
dard on a given bank do these two pins function as VRN
and VRP. When not using a DCI standard, the two pins func-                                                        Bank 7                  Bank 2
tion as user I/Os. As shown in Figure 3, add an external ref-
erence resistor to pull the VRN pin up to VCCO and another                                                        Bank 6                  Bank 3
reference resistor to pull the VRP pin down to GND. Both
resistors have the same value -- commonly 50 Ohms --                                                                      Bank 5  Bank 4
with one-percent tolerance, which is either the characteristic
impedance of the line or twice that, depending on the DCI                                                                                                                                                       DS099-2_03_060102
standard in use. Standards having a symbol name that con-
tains the letters "DV2" use a reference resistor value that is                                                              Figure 4: Spartan-3 I/O Banks (top view)
twice the line impedance. DCI adjusts the output driver
impedance to match the reference resistors' value or half                                                         In contrast, the 144-pin Thin Quad Flat Pack (TQ144) pack-
that, according to the standard. DCI always adjusts the                                                           age ties VCCO together internally for the pair of banks on
on-chip termination resistors to directly match the reference                                                     each side of the device. For example, the VCCO Bank 0 and
resistors' value.                                                                                                 the VCCO Bank 1 lines are tied together. The interconnected
                                                                                                                  bank-pairs are 0/1, 2/3, 4/5, and 6/7. As a result, Spartan-3
    One of eight        VCCO                                                                                      devices in the TQ144 package support four independent
    I/O Banks                   RREF (1%)                                                                         VCCO supplies.

                  VRN           RREF (1%)                                                                         Spartan-3 Compatibility
                   VRP
                                                                                                                  Within the Spartan-3 family, all devices are pin-compatible
                                                                                               DS099-2_04_091602  by package. When the need for future logic resources out-
                                                                                                                  grows the capacity of the Spartan-3 device in current use, a
  Figure 3: Connection of Reference Resistors (RREF)                                                              larger device in the same package can serve as a direct
                                                                                                                  replacement. Larger devices may add extra VREF and VCCO
The rules guiding the use of DCI standards on banks are as                                                        lines to support a greater number of I/Os. In the larger
follows:                                                                                                          device, more pins can convert from user I/Os to VREF lines.
                                                                                                                  Also, additional VCCO lines are bonded out to pins that were
1. No more than one DCI I/O standard with a Single                                                                "not connected" in the smaller device. Thus, it is important
     Termination is allowed per bank.                                                                             to plan for future upgrades at the time of the board's initial
                                                                                                                  design by laying out connections to the extra pins.
2. No more than one DCI I/O standard with a Split
     Termination is allowed per bank.                                                                             The Spartan-3 family is not pin-compatible with any previ-
                                                                                                                  ous Xilinx FPGA family.
3. Single Termination, Split Termination, Controlled-
     Impedance Driver, and Controlled-Impedance Driver                                                            Rules Concerning Banks
     with Half Impedance can co-exist in the same bank.
                                                                                                                  When assigning I/Os to banks, it is important to follow the
See also The Organization of IOBs into Banks, page 8.                                                             following VCCO rules:
                                                                                                                  1. Leave no VCCO pins unconnected on the FPGA.
The Organization of IOBs into Banks                                                                               2. Set all VCCO lines associated with the (interconnected)

IOBs are allocated among eight banks, so that each side of                                                             bank to the same voltage level.
the device has two banks, as shown in Figure 4. For all
packages, each bank has independent VREF lines. For                                                               3. The VCCO levels used by all standards assigned to the
example, VREF Bank 3 lines are separate from the VREF                                                                  I/Os of the (interconnected) bank(s) must agree. The
lines going to all other banks.                                                                                        Xilinx development software checks for this. Tables 4, 5,
                                                                                                                       and 6 describe how different standards use the VCCO
For the Very Thin Quad Flat Pack (VQ), Plastic Quad Flat                                                               supply.
Pack (PQ), Fine Pitch Thin Ball Grid Array (FT), and Fine
Pitch Ball Grid Array (FG) packages, each bank has dedi-
cated VCCO lines. For example, the VCCO Bank 7 lines are
separate from the VCCO lines going to all other banks. Thus,

8                                          www.xilinx.com                                                                         DS099-2 (v1.2) July 11, 2003

                                           1-800-255-7778                                                                         Advance Product Specification

40
R                                                             Spartan-3 1.2V FPGA Family: Functional Description

4. If none of the standards assigned to the I/Os of the       The I/Os During Power-On, Configuration, and
     (interconnected) bank(s) use VCCO, tie all associated    User Mode
     VCCO lines to 2.5V.
                                                              With no power applied to the FPGA, all I/Os are in a
5. In general, apply 2.5V to VCCO Bank 4 from power-on to     high-impedance state. The VCCINT (1.2V), VCCAUX (2.5V),
     the end of configuration. Apply the same voltage to      and VCCO supplies may be applied in any order. Before
     VCCO Bank 5 during parallel configuration or a           power-on can finish, VCCINT, VCCO Bank 4, and VCCAUX
     Readback operation. For information on how to            must have reached their respective minimum recom-
     program the FPGA using 3.3V signals and power, see       mended operating levels (see Table 2 in Module 3: DC and
     the 3.3V-Tolerant Configuration Interface section.       Switching Characteristics). At this time, all I/O drivers
                                                              also will be in a high-impedance state. VCCO Bank 4,
If any of the standards assigned to the Inputs of the bank    VCCINT, and VCCAUX serve as inputs to the internal
use VREF, then observe the following additional rules:        Power-On Reset circuit (POR).

1. Leave no VREF pins unconnected on any bank.                A Low level applied to HSWAP_EN input enables weak
2. Set all VREF lines associated with the bank to the same    pull-up resistors on User I/Os from power-on throughout
                                                              configuration. A High level on HSWAP_EN disables the
     voltage level.                                           pull-up resistors, allowing the I/Os to float. As soon as
                                                              power is applied, the FPGA begins initializing its configura-
3. The VREF levels used by all standards assigned to the      tion memory. At the same time, the FPGA internally asserts
     Inputs of the bank must agree. The Xilinx development    the Global Set-Reset (GSR), which asynchronously resets
     software checks for this. Tables 4 and 6 describe how    all IOB storage elements to a Low state.
     different standards use the VREF supply.
                                                              Upon the completion of initialization, INIT_B goes High,
If none of the standards assigned to the Inputs of a bank     sampling the M0, M1, and M2 inputs to determine the con-
use VREF for biasing input switching thresholds, all associ-  figuration mode. At this point, the configuration data is
ated VREF pins function as User I/Os.                         loaded into the FPGA. The I/O drivers remain in a
                                                              high-impedance state (with or without pull-up resistors, as
Exceptions to Banks Supporting I/O                            determined by the HSWAP_EN input) throughout configura-
Standards                                                     tion.

Bank 5 of any Spartan-3 device in a VQ100 or TQ144 pack-      The Global Three State (GTS) net is released during
age does not support DCI signal standards. In this case,      Start-Up, marking the end of configuration and the begin-
bank 5 has neither VRN nor VRP pins.                          ning of design operation in the User mode. At this point,
                                                              those I/Os to which signals have been assigned go active
Furthermore, banks 4 and 5 of any Spartan-3 device in a       while all unused I/Os remain in a high-impedance state. The
VQ100 package do not support signal standards using           release of the GSR net, also part of Start-up, leaves the IOB
VREF (see Table 4). In this case, the two banks do not have   registers in a Low state by default, unless the loaded design
any VREF pins.                                                reverses the polarity of their respective RS inputs.

Supply Voltages for the IOBs                                  In User mode, all weak, internal pull-up resistors on the I/Os
                                                              are disabled and HSWAP_EN becomes a "don't care" input.
Three different supplies power the IOBs:                      If it is desirable to have weak pull-up or pull-down resistors
                                                              on I/Os carrying signals, the appropriate symbol -- e.g.,
1. The VCCO supplies, one for each of the FPGA's I/O          PULLUP, PULLDOWN -- must be placed at the appropriate
     banks, power the output drivers, except when using the   pads in the design. The Bitstream Generator (Bitgen) option
     GTL and GTLP signal standards. The voltage on the        UnusedPin available in the Xilinx development software
     VCCO pins determines the voltage swing of the output     determines whether unused I/Os collectively have pull-up
     signal.                                                  resistors, pull-down resistors, or no resistors in User mode.

2. VCCINT is the main power supply for the FPGA's internal
     logic.

3. The VCCAUX is an auxiliary source of power, primarily to
     optimize the performance of various FPGA functions
     such as I/O switching.

DS099-2 (v1.2) July 11, 2003   www.xilinx.com                 9

Advance Product Specification  1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                     R

.

                Left-Hand SLICEM                                 Right-Hand SLICEL
            (Logic or Distributed RAM                                 (Logic Only)

                 or Shift Register)                                        COUT

            CLB

                                                                 SLICE
                                                                 X1Y1

    Switch            COUT                                       SLICE              Interconnect
    Matrix                                                       X1Y0               to Neighbors

                                                                      CIN

            SHIFTOUT  SLICE
             SHIFTIN  X0Y1

                      SLICE
                      X0Y0

                      CIN                                                           DS099-2_05_040703

            Figure 5: Arrangement of Slices within the CLB

CLB Overview                                                     ROM functions. Besides these, the left-hand pair supports
                                                                 two additional functions: storing data using Distributed RAM
The Configurable Logic Blocks (CLBs) constitute the main         and shifting data with 16-bit registers. Figure 6 is a diagram
logic resource for implementing synchronous as well as           of the left-hand slice; therefore, it represents a superset of
combinatorial circuits. Each CLB comprises four intercon-        the elements and connections to be found in all slices. See
nected slices, as shown in Figure 5. These slices are            Function Generator, page 12 for more information.
grouped in pairs. Each pair is organized as a column with an
independent carry chain.                                         The RAM-based function generator -- also known as a
                                                                 Look-Up Table or LUT -- is the main resource for imple-
The nomenclature that the FPGA Editor -- part of the Xilinx      menting logic functions. Furthermore, the LUTs in each
development software -- uses to designate slices is as fol-      left-hand slice pair can be configured as Distributed RAM or
lows: The letter "X" followed by a number identifies columns     a 16-bit shift register. For information on the former, see
of slices. The "X" number counts up in sequence from the         XAPP464: Using Look-Up Tables as Distributed RAM in
left side of the die to the right. The letter "Y" followed by a  Spartan-3 FPGAs; for information on the latter, refer to
number identifies the position of each slice in a pair as well   XAPP465: Using Look-Up Tables as Shift Registers (SRL16)
as indicating the CLB row. The "Y" number counts slices          in Spartan-3 FPGAs. The function generators located in the
starting from the bottom of the die according to the             upper and lower portions of the slice are referred to as the
sequence: 0, 1, 0, 1 (the first CLB row); 2, 3, 2, 3 (the sec-   "G" and "F", respectively.
ond CLB row); etc. Figure 5 shows the CLB located in the
lower left-hand corner of the die. Slices X0Y0 and X0Y1          The storage element, which is programmable as either a
make up the column-pair on the left where as slices X1Y0         D-type flip-flop or a level-sensitive latch, provides a means
and X1Y1 make up the column-pair on the right. For each          for synchronizing data to a clock signal, among other uses.
CLB, the term "left-hand" (or SLICEM) is used to indicated       The storage elements in the upper and lower portions of the
the pair of slices labeled with an even "X" number, such as      slice are called FFY and FFX, respectively.
X0, and the term "right-hand" (or SLICEL) designates the
pair of slices with an odd "X" number, e.g., X1.                 Wide-function multiplexers effectively combine LUTs in
                                                                 order to permit more complex logic operations. Each slice
Elements Within a Slice                                          has two of these multiplexers with F5MUX in the lower por-
                                                                 tion of the slice and FXMUX in the upper portion. Depend-
All four slices have the following elements in common: two       ing on the slice, FXMUX takes on the name F6MUX,
logic function generators, two storage elements, wide-func-      F7MUX, or F8MUX. For more details on the multiplexers,
tion multiplexers, carry logic, and arithmetic gates, as         see XAPP466: Using Dedicated Multiplexers in Spartan-3
shown in Figure 6. Both the left-hand and right-hand slice       FPGAs.
pairs use these elements to provide logic, arithmetic, and

10                           www.xilinx.com                                         DS099-2 (v1.2) July 11, 2003

                             1-800-255-7778                                         Advance Product Specification

40
R                              Spartan-3 1.2V FPGA Family: Functional Description

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. In this position, the upper right-hand slice has an F8MUX,

      and the upper left-hand slice has an F7MUX. The lower right-hand and left-hand slices both have an F6MUX.

                               Figure 6: Simplified Diagram of the Left-Hand SLICEM

DS099-2 (v1.2) July 11, 2003   www.xilinx.com                                                                         11

Advance Product Specification  1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description             R

The carry chain, together with various dedicated arithmetic    5. Drives the DI input of the LUT. See Distributed RAM
logic gates, support fast and efficient implementations of          section.
math operations. The carry chain enters the slice as CIN
and exits as COUT. Five multiplexers control the chain:        6. BY can control the REV inputs of both the FFY and FFX
CYINIT, CY0F, and CYMUXF in the lower portion as well as            storage elements. See Storage Element Section.
CY0G and CYMUXG in the upper portion. The dedicated
arithmetic logic includes the exclusive-OR gates XORF and      7. Finally, the DIG_MUX multiplexer can switch BY onto to
XORG (upper and lower portions of the slice, respectively)          the DIG line, which exits the slice.
as well as the AND gates GAND and FAND (upper and
lower portions, respectively).                                 Other slice signals shown in Figure 6, page 11 are dis-
                                                               cussed in the sections that follow.
Main Logic Paths
                                                               Function Generator
Central to the operation of each slice are two nearly identi-
cal data paths, distinguished using the terms top and bot-     Each of the two LUTs (F and G) in a slice have four logic
tom. The description that follows uses names associated        inputs (A1-A4) and a single output (D). This permits any
with the bottom path. (The top path names appear in paren-     four-variable Boolean logic operation to be programmed
theses.) The basic path originates at an interconnect-switch   into them. Furthermore, wide function multiplexers can be
matrix outside the CLB. Four lines, F1 through F4 (or G1       used to effectively combine LUTs within the same CLB or
through G4 on the upper path), enter the slice and connect     across different CLBs, making logic functions with still more
directly to the LUT. Once inside the slice, the lower 4-bit    input variables possible.
path passes through a function generator "F" (or "G") that
performs logic operations. The function generator's Data       The LUTs in both the right-hand and left-hand slice-pairs
output, "D", offers five possible paths:                       not only support the logic functions described above, but
                                                               also can function as ROM that is initialized with data at the
1. Exit the slice via line "X" (or "Y") and return to          time of configuration.
     interconnect.
                                                               The LUTs in the left-hand slice-pair (even-numbered col-
2. Inside the slice, "X" (or "Y") serves as an input to the    umns such as X0 in Figure 5) of each CLB support two
     DXMUX (DYMUX) which feeds the data input, "D", of         additional functions that the right-hand slice-pair (odd-num-
     the FFY (FFX) storage element. The "Q" output of the      bered columns such as X1) do not.
     storage element drives the line XQ (or YQ) which exits
     the slice.                                                First, it is possible to program the "left-hand LUTs" as dis-
                                                               tributed RAM. This type of memory affords moderate
3. Control the CYMUXF (or CYMUXG) multiplexer on the           amounts of data buffering anywhere along a data path. One
     carry chain.                                              left-hand LUT stores 16 bits. Multiple left-hand LUTs can be
                                                               combined in various ways to store larger amounts of data. A
4. With the carry chain, serve as an input to the XORF (or     dual port option combines two LUTs so that memory access
     XORG) exclusive-OR gate that performs arithmetic          is possible from two independent data lines. A Distributed
     operations, producing a result on "X" (or "Y").           ROM option permits pre-loading the memory with data dur-
                                                               ing FPGA configuration For more information, see the Dis-
5. Drive the multiplexer F5MUX to implement logic              tributed RAM section.
     functions wider than four bits. The "D" outputs of both
     the F-LUT and G-LUT serve as data inputs to this          Second, it is possible to program each left-hand LUT as a
     multiplexer.                                              16-bit shift register. Used in this way, each LUT can delay
                                                               serial data anywhere from one to 16 clock cycles. The four
In addition to the main logic paths described above, there     left-hand LUTs of a single CLB can be combined to produce
are two bypass paths that enter the slice as BX and BY.        delays up to 64 clock cycles. The SHIFTIN and SHIFTOUT
Once inside the FPGA, BX in the bottom half of the slice (or   lines cascade LUTs to form larger shift registers. It is also
BY in the top half) can take any of several possible           possible to combine shift registers across more than one
branches:                                                      CLB. The resulting programmable delays can be used to
                                                               balance the timing of data pipelines.
1. Bypass both the LUT and the storage element, then exit
     the slice as BXOUT (or BYOUT) and return to               Block RAM Overview
     interconnect.
                                                               All Spartan-3 devices support block RAM, which is orga-
2. Bypass the LUT, then pass through a storage element         nized as configurable, synchronous 18Kbit blocks. Block
     via the D input before exiting as XQ (or YQ).             RAM stores relatively large amounts of data more efficiently
                                                               than the distributed RAM feature described earlier. (The lat-
3. Control the wide function multiplexer F5MUX (or             ter is better suited for buffering small amounts of data any-
     F6MUX).                                                   where along signal paths.) This section describes basic
                                                               Block RAM functions. For more information, see XAPP463:
4. Via multiplexers, serve as an input to the carry chain.     Using Block RAM in Spartan-3 FPGAs.

12  www.xilinx.com                                             DS099-2 (v1.2) July 11, 2003

    1-800-255-7778                                             Advance Product Specification

40
          R                                                   Spartan-3 1.2V FPGA Family: Functional Description

The aspect ratio -- i.e., width vs. depth -- of each block    The Internal Structure of the Block RAM
RAM is configurable. Furthermore, multiple blocks can be
cascaded to create still wider and/or deeper memories.        The block RAM has a dual port structure. The two identical
                                                              data ports called A and B permit independent access to the
A choice among primitives determines whether the block        common RAM block, which has a maximum capacity of
RAM functions as dual- or single-port memory. A name of       18,432 bits -- or 16,384 bits when no parity lines are used.
the form RAM16_S[wA]_S[wB] calls out the dual-port primi-     Each port has its own dedicated set of data, control and
tive, where the integers wA and wB specify the total data     clock lines for synchronous read and write operations.
path width at ports wA and wB, respectively. Thus, a          There are four basic data paths, as shown in Figure 7: (1)
RAM16_S9_S18 is a dual-port RAM with a 9-bit-wide Port A      write to and read from Port A, (2) write to and read from Port
and an 18-bit-wide Port B. A name of the form RAM16_S[w]      B, (3) data transfer from Port A to Port B, and (4) data trans-
identifies the single-port primitive, where the integer w     fer from Port B to Port A.
specifies the total data path width of the lone port. A
RAM16_S18 is a single-port RAM with an 18-bit-wide port.         Write   Port A                                 Read 3
Other memory functions -- e.g., FIFOs, data path width        4 Read                                   Port B   Write
conversion, ROM, etc. -- are readily available using the                  Spartan-3
CORE GeneratorTM system, part of the Xilinx development           Write   Dual Port                            Write
software.                                                       1        Block RAM                                    2

Arrangement of RAM Blocks on Die                                  Read                                         Read

The XC3S50 has one column of block RAM. The Spartan-3                                                                                                                  DS099-2_12_030703
devices ranging from the XC3S200 to XC3S2000 have two
columns of block RAM. The XC3S4000 and XC3S5000                          Figure 7: Block RAM Data Paths
have four columns. The position of the columns on the die is
shown in Figure 1 in Module 1: Introduction and Ordering      Block RAM Port Signal Definitions
Information. For a given device, the total available RAM
blocks are distributed equally among the columns. Table 8     Representations of the dual-port primitive
shows the number of RAM blocks, the data storage capac-       RAM16_S[wA]_S[wB] and the single-port primitive
ity, and the number of columns for each device.               RAM16_S[w] with their associated signals are shown in
                                                              Figure 8a and Figure 8b, respectively. These signals are
Table 8: Number of RAM Blocks by Device                       defined in Table 9.

Device        Total Number            Total      Number
             of RAM Blocks       Addressable          of
                               Locations (bits)
                                                 Columns
XC3S50       4                 73,728                 1
                                                      2
XC3S200      12                221,184                2
                                                      2
XC3S400      16                294,912                2
                                                      2
XC3S1000     24                442,368                4
                                                      4
XC3S1500     32                589,824

XC3S2000     40                737,280

XC3S4000     96                1,769,472

XC3S5000     104               1,916,928

DS099-2 (v1.2) July 11, 2003                     www.xilinx.com                                                13

Advance Product Specification                    1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                                                                                                                                                                   R

                 WEA         RAM16_wA_wB
                  ENA
                SSRA                                  DOPA[pA 1:0]
                CLKA                                  DOA[wA 1:0]
    ADDRA[rA 1:0]
        DIA[wA 1:0]
            DIPA[3:0]

                 WEB                                                            WE  RAM16_Sw
                  ENB                                                           EN
                SSRB                       DOPB[pB 1:0]                       SSR                    DOP[p 1:0]
                CLKB                       DOB[wB 1:0]                         CLK                   DO[w 1:0]
    ADDRB[rB 1:0]                                                   ADDR[r 1:0]
        DIB[wB 1:0]                                                     DI[w 1:0]
           DIPB[3:0]                                                  DIP[p 1:0]

                            (a) Dual-Port                                           (b) Single-Port

                                                                                                                                                                                                                                                                                  DS099-2_13_091302

    Notes:
    1. wA and wB are integers representing the total data path width (i.e., data bits plus parity bits) at ports A and B, respectively.
    2. pA and pB are integers that indicate the number of data path lines serving as parity bits.
    3. rA and rB are integers representing the address bus width at ports A and B, respectively.
    4. The control signals CLK, WE, EN, and SSR on both ports have the option of inverted polarity.

                                                        Figure 8: Block RAM Primitives

Table 9: Block RAM Port Signals

       Signal    Port A      Port B        Direction                                Function
    Description  Signal      Signal
                 Name        Name

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).

Data Input Bus         DIA       DIB       Input                    Data at the DI input bus is written to the addressed memory
                                                                    location addressed on an enabled active CLK edge.

                                                                    It is possible to configure a port's total data path width (w) to be
                                                                    1, 2, 4, 9, 18, or 36 bits. This selection applies to both the DI and
                                                                    DO paths of a given port. Each port is independent. For a port
                                                                    assigned a width (w), the number of addressable locations will
                                                                    be 16,384/(w-p) where "p" is the number of parity bits. Each
                                                                    memory location will have a width of "w" (including parity bits).
                                                                    See the DIP signal description for more information of parity.

Parity Data            DIPA      DIPB      Input                    Parity inputs represent additional bits included in the data input
Input(s)                                                            path to support error detection. 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 10.

14                                         www.xilinx.com                                     DS099-2 (v1.2) July 11, 2003

                                                  1-800-255-7778                    Advance Product Specification

40
           R                                                     Spartan-3 1.2V FPGA Family: Functional Description

Table 9: Block RAM Port Signals (Continued)

   Signal     Port A           Port B  Direction                     Function
Description   Signal           Signal
              Name             Name

Data Output   DOA              DOB     Output Basic data access occurs whenever WE is inactive. The DO

Bus                                                 outputs mirror the data stored in the addressed memory

                                                    location.

                                                    Data access with WE asserted is also possible if one of the
                                                    following two attributes is chosen: WRITE_FIRST accesses
                                                    data before the write takes place. READ_FIRST accesses data
                                                    after the write occurs.

                                                    A third attribute, NO_CHANGE, latches the DO outputs upon
                                                    the assertion of WE.

                                                    It is possible to configure a port's total data path width (w) to be
                                                    1, 2, 4, 9, 18, or 36 bits. This selection applies to both the DI and
                                                    DO paths. See the DI signal description.

Parity Data   DOPA             DOPB    Output       Parity inputs represent additional bits included in the data input
Output(s)                                           path to support error detection. 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 10.

Write Enable  WEA              WEB           Input  When asserted together with EN, this input enables the writing
                                                    of data to the RAM. In this case, the data access attributes
                                                    WRITE_FIRST, READ_FIRST or NO_CHANGE determines if
                                                    and how data is updated on the DO outputs. See the DO signal
                                                    description.

                                                    When WE is inactive with EN asserted, read operations are still
                                                    possible. In this case, a transparent latch passes data from the
                                                    addressed memory location to the DO outputs.

Clock Enable  ENA              ENB           Input When asserted, this input enables the CLK signal to

                                                    synchronize Block RAM functions as follows: the writing of data

                                                    to the DI inputs (when WE is also asserted), the updating of data

                                                    at the DO outputs as well as the setting/resetting of the DO

                                                    output latches.

                                                    When de-asserted, the above functions are disabled.

Set/Reset     SSRA             SSRB          Input  When asserted, this pin forces the DO output latch to the value
                                                    that the SRVAL attribute is set to. A Set/Reset operation on one
                                                    port has no effect on the other ports functioning, nor does it
                                                    disturb the memory's data contents. It is synchronized to the
                                                    CLK signal.

Clock         CLKA             CLKB          Input  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.

Port Aspect Ratios                                               Block RAM automatically performs a bus-matching function.
                                                                 When data are written to a port with a narrow bus, then read
On a given port, it is possible to select a number of different  from a port with a wide bus, the latter port will effectively
possible widths (w p) for the DI/DO buses as shown in          combine "narrow" words to form "wide" words. Similarly,
Table 10. These two buses always have the same width.            when data are written into a port with a wide bus, then read
This data bus width selection is independent for each port. If   from a port with a narrow bus, the latter port will divide
the data bus width of Port A differs from that of Port B, the

DS099-2 (v1.2) July 11, 2003                 www.xilinx.com                                                       15

Advance Product Specification                       1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                          R

"wide" words to form "narrow" words. When the data bus                           n = 2r         (2)
width is eight bits or greater, extra parity bits become avail-
able. The width of the total data path (w) is the sum of the     The product of w and n yields the total block RAM capacity.
DI/DO bus width and any parity bits (p).                         Equations (1) and (2) show that as the data bus width
                                                                 increases, the number of address lines along with the num-
The width selection made for the DI/DO bus determines the        ber of addressable memory locations decreases. Using the
number of address lines according to the relationship            permissible DI/DO bus widths as inputs to these equations
expressed below:                                                 provides the bus width and memory capacity measures
                                                                 shown in Table 10.
    r = 14 [log(wp)/log(2)]                (1)

In turn, the number of address lines delimits the total num-
ber (n) of addressable locations or depth according to the
following equation:

Table 10: Port Aspect Ratios for Port A or B

DI/DO Bus Width         DIP/DOP       Total Data Path             ADDR Bus            No. of    Block RAM
    (w p bits)  Bus Width (p bits)  Width (w bits)             Width (r bits)  Addressable     Capacity
           1                                                                     Locations (n)      (bits)
           2                  0                 1                       14                         16,384
           4                  0                 2                       13           16,384        16,384
           8                  0                 4                       12            8,192        16,384
          16                  1                 9                       11            4,096        18,432
          32                  2                18                       10            2,048        18,432
                              4                36                        9            1,024        18,432
                                                                                        512

Block RAM Data Operations                                        condition, data stored in the memory location addressed by
                                                                 the ADDR lines passes through a transparent output latch
Writing data to and accessing data from the block RAM are        to the DO outputs. The timing for basic data access is
synchronous operations that take place independently on          shown in the portions of Figure 9, Figure 10, and Figure 11
each of the two ports.                                           during which WE is Low.

The waveforms for the write operation are shown in the top       Data can also be accessed on the DO outputs when assert-
half of the Figure 9, Figure 10, and Figure 11. When the WE      ing the WE input. This is accomplished using two different
and EN signals enable the active edge of CLK, data at the        attributes:
DI input bus is written to the block RAM location addressed
by the ADDR lines.                                               Choosing the WRITE_FIRST attribute, data is written to the
                                                                 addressed memory location on an enabled active CLK edge
There are a number of different conditions under which data      and is also passed to the DO outputs. WRITE_FIRST timing
can be accessed at the DO outputs. Basic data access             is shown in the portion of Figure 9 during which WE is High.
always occurs when the WE input is inactive. Under this

16                                            www.xilinx.com                             DS099-2 (v1.2) July 11, 2003

                                              1-800-255-7778                             Advance Product Specification

40
R                                                             Spartan-3 1.2V FPGA Family: Functional Description

   CLK

      WE                                 XXXX           1111               2222                  XXXX
        DI                                                                                    dd
                                         aa             bb                 cc
   ADDR                                                                                                MEM(dd)
       DO                      0000            MEM(aa)        1111               2222

   EN

                               DISABLED      READ            WRITE              WRITE             READ
                                                        MEM(bb)=1111       MEM(cc)=2222

                                                                                              DS099-2_14_030403

   Figure 9: Waveforms of Block RAM Data Operations with WRITE_FIRST Selected

Choosing the READ_FIRST attribute, data already stored in     an enabled active CLK edge. READ_FIRST timing is shown
the addressed location pass to the DO outputs before that     in the portion of Figure 10 during which WE is High.
location is over-written with new data from the DI inputs on

   CLK

      WE                                 XXXX           1111               2222               XXXX
        DI
                                         aa             bb                 cc                 dd
   ADDR
       DO                      0000            MEM(aa)        old MEM(bb)        old MEM(cc)      MEM(dd)

   EN

                               DISABLED      READ            WRITE              WRITE             READ
                                                        MEM(bb)=1111       MEM(cc)=2222

                                                                                              DS099-2_15_030403

   Figure 10: Waveforms of Block RAM Data Operations with READ_FIRST Selected

Choosing a third attribute called NO_CHANGE puts the DO       before WE was asserted. NO_CHANGE timing is shown in
outputs in a latched state when asserting WE. Under this      the portion of Figure 11 during which WE is High.
condition, the DO outputs will retain the data driven just

DS099-2 (v1.2) July 11, 2003                            www.xilinx.com                                           17

Advance Product Specification                           1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                R

             CLK              XXXX                  1111          2222          XXXX
              WE

               DI

    ADDR                      aa                    bb            cc            dd

             DO    0000             MEM(aa)                                         MEM(dd)

             EN

                   DISABLED       READ                   WRITE         WRITE        READ
                                                    MEM(bb)=1111  MEM(cc)=2222

                                                                                DS099-2_16_030403

    Figure 11: Waveforms of Block RAM Data Operations with NO_CHANGE Selected

Dedicated Multipliers                                           data handling. Cascading multipliers permits multiplicands
                                                                more than three in number as well as wider than 18-bits.
All Spartan-3 devices provide embedded multipliers that         The multiplier is placed in a design using one of two primi-
accept two 18-bit words as inputs to produce a 36-bit prod-     tives: an asynchronous version called MULT18X18 and a
uct. This section provides an introduction to multipliers. For  version with a register at the outputs called MULT18X18S,
further details, see XAPP467: Using Embedded Multipliers        as shown in Figure 12a and Figure 12b, respectively. The
in Spartan-3 FPGAs.                                             signals for these primitives are defined in Table 11.

The input buses to the multiplier accept data in two's-com-     The CORE Generator system produces multipliers based
plement form (either 18-bit signed or 17-bit unsigned). One     on these primitives that can be configured to suit a wide
such multiplier is matched to each block RAM on the die.        range of requirements.
The close physical proximity of the two ensures efficient

                                                                  A[17:0]       MULT18X18S
                                                                  B[17:0]
                   MULT18X18                                                                 P[35:0]
                                                                     CLK
    A[17:0]                         P[35:0]                            CE
    B[17:0]
                                                                     RST

    (a) Asynchronous 18-bit Multiplier                            (b) 18-bit Multiplier with Register at Outputs

                                                                                             DS099-2_17_091302

                             Figure 12: Embedded Multiplier Primitives

18                                           www.xilinx.com                                 DS099-2 (v1.2) July 11, 2003

                                             1-800-255-7778                         Advance Product Specification

40
         R                                                     Spartan-3 1.2V FPGA Family: Functional Description

Table 11: Embedded Multiplier Primitives Descriptions

Signal                                                         Function
Name Direction

A[17:0]     Input  Apply one 18-bit multiplicand to these inputs. The MULT18X18S primitive requires a setup time
                   before the enabled rising edge of CLK.

B[17:0]     Input  Apply the other 18-bit multiplicand to these inputs. The MULT18X18S primitive requires a setup
                   time before the enabled rising edge of CLK.

P[35:0]     Output The output on the P bus is a 36-bit product of the multiplicands A and B. In the case of the
                          MULT18X18S primitive, an enabled rising CLK edge updates the P bus.

CLK         Input CLK is only an input to the MULT18X18S primitive. The clock signal applied to this input when

                   enabled by CE, updates the output register that drives the P bus.

CE          Input CE is only an input to the MULT18X18S primitive. Enable for the CLK signal. Asserting this input

                   enables the CLK signal to update the P bus.

RST         Input  RST is only an input to the MULT18X18S primitive. Asserting this input resets the output register
                   on an enabled, rising CLK edge, forcing the P bus to all zeroes.

Notes:
1. The control signals CLK, CE and RST have the option of inverted polarity.

Digital Clock Manager (DCM)                                         clock signal to arrive at different points on the die at
                                                                    different times. This clock skew can increase set-up
Spartan-3 devices provide flexible, complete control over           and hold time requirements as well as clock-to-out
clock frequency, phase shift and skew through the use of            time, which may be undesirable in applications
the DCM feature. To accomplish this, the DCM employs a              operating at a high frequency, when timing is critical.
Delay-Locked Loop (DLL), a fully digital control system that        The DCM eliminates clock skew by aligning the output
uses feedback to maintain clock signal characteristics with a       clock signal it generates with another version of the
high degree of precision despite normal variations in oper-         clock signal that is fed back. As a result, the two clock
ating temperature and voltage. This section provides a fun-         signals establish a zero-phase relationship. This
damental description of the DCM. For further information,           effectively cancels out clock distribution delays that
see XAPP462: Using Digital Clock Managers (DCMs) in                 may lie in the signal path leading from the clock output
Spartan-3 FPGAs.                                                    of the DCM to its feedback input.

Each member of the Spartan-3 family has four DCMs,             Frequency Synthesis: Provided with an input clock
except the smallest, the XC3S50, which has two DCMs.                signal, the DCM can generate a wide range of different
The DCMs are located at the ends of the outermost Block             output clock frequencies. This is accomplished by
RAM column(s). See Figure 1 in Module 1: Introduction               either multiplying and/or dividing the frequency of the
and Ordering Information. The Digital Clock Manager is              input clock signal by any of several different factors.
placed in a design as the "DCM" primitive.
                                                                Phase Shifting: The DCM provides the ability to shift
The DCM supports three major functions:                             the phase of all its output clock signals with respect to
                                                                    its input clock signal.
Clock-skew Elimination: Clock skew describes the
     extent to which clock signals may, under normal
     circumstances, deviate from zero-phase alignment. It
     occurs when slight differences in path delays cause the

DS099-2 (v1.2) July 11, 2003   www.xilinx.com                                                                     19

Advance Product Specification  1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                                                           R

    PSINCDEC             DCM                                             PSDONE
           PSEN
                         Phase
         PSCLK           Shifter
          CLKIN
         CLKFB           Input Stage                                          CLK0                             Clock
                                        Delay Taps                                                          Distribution
             RST                                    Output Stage              CLK90
                                                                              CLK180                           Delay
                                                                              CLK270
                                                    DFS                       CLK2X
                                                                              CLK2X180
                         DLL                                                  CLKDV

                              Status                                          CLKFX
                               Logic                                          CLKFX180

                                                                              LOCKED
                                                                         8

                                                                              STATUS [7:0]

                                                                                                                                                                          DS099-2_07_040103

            Figure 13: DCM Functional Blocks and Associated Signals

The DCM has four functional components: the                       Each component has its associated signals, as shown in
Delay-Locked Loop (DLL), the Digital Frequency Synthe-            Figure 13.
sizer (DFS), the Phase Shifter (PS), and the Status Logic.
                                                                  path together with logic for phase detection and control
Delay-Locked Loop (DLL)                                           forms a system complete with feedback as shown in
                                                                  Figure 14.
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 taps, which in turn leads to an output stage. This

    CLKIN         Delay  Delay                                    Delay  Delay              Output Section  CLK0
                    1      2                                       n-1      n                               CLK90
                                                                                                            CLK180
                                                                                                            CLK270
                                                                                                            CLK2X
                                                                                                            CLK2X180
                                                                                                            CLKDV

                                Control                                                                     LOCKED

    CLKFB                                      Phase
       RST                                   Detection

                                                                                                                                                               DS099-2_08_041103

                  Figure 14: Simplified Functional Diagram of DLL

20                                    www.xilinx.com                                                                      DS099-2 (v1.2) July 11, 2003

                                      1-800-255-7778                                                        Advance Product Specification

40
        R                                                      Spartan-3 1.2V FPGA Family: Functional Description

The DLL component has two clock inputs, CLKIN and              a subset of the outputs available in the Low Frequency
CLKFB, as well as seven clock outputs, CLK0, CLK90,            mode. See DLL Frequency Modes, page 23. Signals that
CLK180, CLK270, CLK2X, CLK2X180, and CLKDV as                  initialize and report the state of the DLL are discussed in
described in Table 12. The clock outputs drive simulta-        The Status Logic Component, page 28.
neously; however, the High Frequency mode only supports

Table 12: DLL Signals

                                                                                       Mode Support

                                                                                       Low  High

Signal Direction               Description                                             Frequency Frequency

CLKIN      Input Accepts original clock signal.                                        Yes  Yes

CLKFB      Input              Accepts either CLK0 or CLK2X as feed back signal. (Set   Yes  Yes
                              CLK_FEEDBACK attribute accordingly).

CLK0       Output Generates clock signal with same frequency and phase as CLKIN.       Yes  Yes

CLK90      Output Generates clock signal with same frequency as CLKIN, only            Yes  No
                         phase-shifted 90.

CLK180     Output Generates clock signal with same frequency as CLKIN, only            Yes  Yes
                         phase-shifted 180.

CLK270     Output Generates clock signal with same frequency as CLKIN, only            Yes  No
                         phase-shifted 270.

CLK2X      Output Generates clock signal with same phase as CLKIN, only twice the      Yes  No
                         frequency.

CLK2X180 Output Generates clock signal with twice the frequency of CLKIN,              Yes  No
                                  phase-shifted 180 with respect to CLKIN.

CLKDV      Output Divides the CLKIN frequency by CLKDV_DIVIDE value to generate        Yes  Yes
                         lower frequency clock signal that is phase-aligned to CLKIN.

The clock signal supplied to the CLKIN input serves as a       duces. The control block activates the appropriate number
reference waveform, with which the DLL seeks to align the      of delay elements to cancel out the clock skew. Once the
feedback signal at the CLKFB input. When eliminating clock     DLL has brought the CLK0 signal in phase with the CLKIN
skew, the common approach to using the DLL is as follows:      signal, it asserts the LOCKED output, indicating a "lock" on
The CLK0 signal is passed through the clock distribution       to the CLKIN signal.
network to all the registers it synchronizes. These registers
are either internal or external to the FPGA. After passing     DLL Attributes and Related Functions
through the clock distribution network, the clock signal
returns to the DLL via a feedback line called CLKFB. The       A number of different functional options can be set for the
control block inside the DLL measures the phase error          DLL component through the use of the attributes described
between CLKFB and CLKIN. This phase error is a measure         in Table 13. Each attribute is described in detail in the sec-
of the clock skew that the clock distribution network intro-   tions that follow:

DS099-2 (v1.2) July 11, 2003   www.xilinx.com                                                        21

Advance Product Specification  1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                     R

Table 13: DLL Attributes                            Description                  Values
                 Attribute
                            Chooses either the CLK0 or CLK2X output to drive the NONE, 1X, 2X
CLK_FEEDBACK               CLKFB input
DLL_FREQUENCY_MODE
CLKIN_DIVIDE_BY_2          Chooses between High Frequency and Low               LOW, HIGH
CLKDV_DIVIDE               Frequency modes

DUTY_CYCLE_CORRECTION      Halves the frequency of the CLKIN signal just as it  TRUE, FALSE
                            enters the DCM

                            Selects constant used to divide the CLKIN input      1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5,
                            frequency to generate the CLKDV output frequency     6.0, 6.5, 7.0, 7.5, 8, 9, 10, 11,
                                                                                 12, 13, 14, 15, and 16.

                            Enables 50% duty cycle correction for the CLK0,      TRUE, FALSE
                            CLK90, CLK180, and CLK270 outputs

DLL Clock Input Connections                                    The feedback loop is essential for DLL operation and is
                                                               established by driving the CLKFB input with either the CLK0
An external clock source enters the FPGA using a Global        or the CLK2X signal so that any undesirable clock distribu-
Clock Input Buffer (IBUFG), which directly accesses the glo-   tion delay is included in the loop. It is possible to use either
bal clock network or an Input Buffer (IBUF). Clock signals     of these two signals for synchronizing any of the seven DLL
within the FPGA drive a global clock net using a Global        outputs: CLK0, CLK90, CLK180, CLK270, CLKDV, CLK2X,
Clock Multiplexer Buffer (BUFGMUX). The global clock net       or CLK2X180. The value assigned to the CLK_FEEDBACK
connects directly to the CLKIN input. The internal and exter-  attribute must agree with the physical feedback connection:
nal connections are shown in Figure 15a and Figure 15c,        a value of 1X for the CLK0 case, 2X for the CLK2X case. If
respectively. A differential clock (e.g., LVDS) can serve as   the DCM is used in an application that does not require the
an input to CLKIN.                                             DLL -- i.e., only the DFS is used -- then there is no feed-
                                                               back loop so CLK_FEEDBACK is set to NONE.
DLL Clock Output and Feedback Connections
                                                               There are two basic cases that determine how to connect
As many as four of the nine DCM clock outputs can simulta-     the DLL clock outputs and feedback connections: on-chip
neously drive the four BUFGMUX buffers on the same die         synchronization and off-chip synchronization, which are
edge (top or bottom). All DCM clock outputs can simulta-       illustrated in Figure 15a through Figure 15d.
neously drive general routing resources, including intercon-
nect leading to OBUF buffers.

22                          www.xilinx.com                                       DS099-2 (v1.2) July 11, 2003

                            1-800-255-7778                                       Advance Product Specification

40
R                                                                  Spartan-3 1.2V FPGA Family: Functional Description

                              FPGA                                                                 FPGA

BUFG                          CLK90  BUFGMUX                       BUFG                                      CLK0  BUFGMUX
                            CLK180                                                                         CLK90
             CLKIN CLK270                                  Clock                          CLKIN CLK180                                   Clock
                             CLKDV                      Net Delay                                        CLK270                       Net Delay

              DCM CLK2X                                                                   DCM CLKDV

                         CLK2X180                                                                     CLK2X180

             CLKFB             CLK0                                                       CLKFB  CLK2X

                                     BUFGMUX                                                                       BUFGMUX

                              CLK0                                                               CLK2X

      (a) On-Chip with CLK0 Feedback                                               (b) On-Chip with CLK2X Feedback

             FPGA                                                                         FPGA

      IBUFG                   CLK90  OBUFG                                         IBUFG                     CLK0  OBUFG
      IBUFG                 CLK180   OBUFG                                         IBUFG
             CLKIN CLK270                       Clock                                                      CLK90              Clock
                             CLKDV            Net Delay                                                                     Net Delay
                                                                                          CLKIN CLK180
              DCM CLK2X                                                                                  CLK270

                         CLK2X180                                                          DCM CLKDV

                                                                                                      CLK2X180

             CLKFB             CLK0                                                       CLKFB  CLK2X

                                                                                                                   OBUFG

                              CLK0                                                               CLK2X

      (c) Off-Chip with CLK0 Feedback                                              (d) Off-Chip with CLK2X Feedback

                                                                                                                                                                                                                                                                       DS099-2_09_071003

Notes:

1. In the Low Frequency mode, all seven DLL outputs are available. In the High Frequency mode, only the CLK0, CLK180,
      and CLKDV outputs are available.

             Figure 15: Input Clock, Output Clock, and Feedback Connections for the DLL

In the on-chip synchronization case (Figure 15a and                attribute chooses between the two modes. When the
Figure 15b), it is possible to connect any of the DLL's seven      attribute is set to LOW, the Low Frequency mode permits all
output clock signals through general routing resources to          seven DLL clock outputs to operate over a low-to-moderate
the FPGA's internal registers. Either a Global Clock Buffer        frequency range. When the attribute is set to HIGH, the High
(BUFG) or a BUFGMUX affords access to the global clock             Frequency mode allows the CLK0, CLK180 and CLKDV out-
network. As shown in Figure 15a, the feedback loop is cre-         puts to operate at the highest possible frequencies. The
ated by routing CLK0 (or CLK2X, in Figure 15b) to a global         remaining DLL clock outputs are not available for use in High
clock net, which in turn drives the CLKFB input.                   Frequency mode.

In the off-chip synchronization case (Figure 15c and               Accommodating High Input Frequencies
Figure 15d), CLK0 (or CLK2X) plus any of the DLL's other
output clock signals exit the FPGA using output buffers            If the frequency of the CLKIN signal is high such that it
(OBUF) to drive an external clock network plus registers on        exceeds the maximum permitted, divide it down to an
the board. As shown in Figure 15c, the feedback loop is            acceptable value using the CLKIN_DIVIDE_BY_2 attribute.
formed by feeding CLK0 (or CLK2X, in Figure 15d) back              When this attribute is set to TRUE, the CLKIN frequency is
into the FPGA using an IBUFG, which directly accesses the          divided by a factor of two just as it enters the DCM.
global clock network, or an IBUF. Then, the global clock net
is connected directly to the CLKFB input.                          Coarse Phase Shift Outputs of the DLL Compo-
                                                                   nent
DLL Frequency Modes
                                                                   In addition to CLK0 for zero-phase alignment to the CLKIN
The DLL supports two distinct operating modes, High Fre-           signal, the DLL also provides the CLK90, CLK180 and
quency and Low Frequency, with each specified over a differ-       CLK270 outputs for 90, 180 and 270 phase-shifted sig-
ent clock frequency range. The DLL_FREQUENCY_MODE                  nals, respectively. These signals are described in Table 12.

DS099-2 (v1.2) July 11, 2003                                       www.xilinx.com                                                                                                                                                                                                         23

Advance Product Specification                                      1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                    R

Their relative timing in the Low Frequency Mode is shown in      Phase:  0o 90o 180o 270o 0o 90o 180o 270o 0o
Figure 16. The CLK90, CLK180 and CLK270 outputs are
not available when operating in the High Frequency mode.         Input Signal (30% Duty Cycle)
(See the description of the DLL_FREQUENCY_MODE
attribute in Table 13.) For control in finer increments than                                                 t
90, see the Phase Shifter (PS), page 26 section.                       CLKIN

Basic Frequency Synthesis Outputs of the DLL                     Output Signal - Duty Cycle is Always Corrected
Component
                                                                       CLK2X
The DLL component provides basic options for frequency
multiplication and division in addition to the more flexible      CLK2X180
synthesis capability of the DFS component, described in a          CLKDV(1)
later section. These operations result in output clock signals
with frequencies that are either a fraction (for division) or a  Output Signal - Attribute Corrects Duty Cycle
multiple (for multiplication) of the incoming clock frequency.
The CLK2X output produces an in-phase signal that is twice            DUTY_CYCLE_CORRECTION = FALSE
the frequency of CLKIN. The CLK2X180 output also dou-                    CLK0
bles the frequency, but is 180 out-of-phase with respect to
CLKIN. The CLKDIV output generates a clock frequency             CLK90
that is a predetermined fraction of the CLKIN frequency.
The CLKDV_DIVIDE attribute determines the factor used to         CLK180
divide the CLKIN frequency. The attribute can be set to var-
ious values as described in Table 13. The basic frequency        CLK270
synthesis outputs are described in Table 12. Their relative
timing in the Low Frequency Mode is shown in Figure 16.          DUTY_CYCLE_CORRECTION = TRUE
                                                                    CLK0
The CLK2X and CLK2X180 outputs are not available when
operating in the High Frequency mode. (See the description       CLK90
of the DLL_FREQUENCY_MODE attribute in Table 14.)
                                                                 CLK180
Duty Cycle Correction of DLL Clock Outputs
                                                                      CLK270                                     DS099-2_10_031303
The CLK2X(1), CLK2X180, and CLKDV(2) output signals
ordinarily exhibit a 50% duty cycle even if the incoming       Notes:
CLKIN signal has a different duty cycle. Fifty-percent duty      1. The DLL attribute CLKDV_DIVIDE is set to 2.
cycle means that the High and Low times of each clock
cycle are equal. The DUTY_CYCLE_CORRECTION
attribute determines whether or not duty cycle correction is
applied to the CLK0, CLK90, CLK180 and CLK270 outputs.
If DUTY_CYCLE_CORRECTION is set to TRUE, then the
duty cycle of these four outputs is corrected to 50%. If
DUTY_CYCLE_CORRECTION is set to FALSE, then these
outputs exhibit the same duty cycle as the CLKIN signal.
Figure 16 compares the characteristics of the DLL's output
signals to those of the CLKIN signal.

                                                                 Figure 16: Characteristics of the DLL Clock Outputs

1. The CLK2X output generates a 25% duty cycle clock at the same frequency as the CLKIN signal until the DLL has achieved lock.
2. The duty cycle of the CLKDV outputs may differ somewhat from 50% (i.e., the signal will be High for less than 50% of the period) when

   the CLKDV_DIVIDE attribute is set to a non-integer value and the DLL is operating in the High Frequency mode.

24  www.xilinx.com                                                                                              DS099-2 (v1.2) July 11, 2003

    1-800-255-7778                                                       Advance Product Specification

40
       R                                                          Spartan-3 1.2V FPGA Family: Functional Description

Digital Frequency Synthesizer (DFS)                               the two DFS outputs to operate over a low-to-moderate fre-
                                                                  quency range. When the attribute is set to HIGH, the High
The DFS component generates clock signals the frequency           Frequency mode allows both these outputs to operate at the
of which is a product of the clock frequency at the CLKIN         highest possible frequencies.
input and a ratio of two user-determined integers. Because
of the wide range of possible output frequencies such a ratio     DFS With or Without the DLL
permits, the DFS feature provides still further flexibility than
the DLL's basic synthesis options as described in the pre-        The DFS component can be used with or without the DLL
ceding section. The DFS component's two dedicated out-            component:
puts, CLKFX and CLKFX180, are defined in Table 15.
                                                                  Without the DLL, the DFS component multiplies or divides
The signal at the CLKFX180 output is essentially an inver-        the CLKIN signal frequency according to the respective
sion of the CLKFX signal. These two outputs always exhibit        CLKFX_MULTIPLY and CLKFX_DIVIDE values, generating
a 50% duty cycle. This is true even when the CLKIN signal         a clock with the new target frequency on the CLKFX and
does not. These DFS clock outputs are driven at the same          CLKFX180 outputs. Though classified as belonging to the
time as the DLL's seven clock outputs.                            DLL component, the CLKIN input is shared with the DFS
                                                                  component. This case does not employ feedback loop;
The numerator of the ratio is the integer value assigned to       therefore, it cannot correct for clock distribution delay.
the attribute CLKFX_MULTIPLY and the denominator is the
integer value assigned to the attribute CLKFX_DIVIDE.             With the DLL, the DFS operates as described in the preced-
These attributes are described in Table 14.                       ing case, only with the additional benefit of eliminating the
                                                                  clock distribution delay. In this case, a feedback loop from
The output frequency (fCLKFX) can be expressed as a func-         the CLK0 output to the CLKFB input must be present.
tion of the incoming clock frequency (fCLKIN) as follows:
                                                                  The DLL and DFS components work together to achieve
fCLKFX = fCLKIN*(CLKFX_MULTIPLY/CLKFX_DIVIDE) (3)                this phase correction as follows: Given values for the
                                                                  CLKFX_MULTIPLY and CLKFX_DIVIDE attributes, the DLL
Regarding the two attributes, it is possible to assign any        selects the delay element for which the output clock edge
combination of integer values, provided that two conditions       coincides with the input clock edge whenever mathemati-
are met:                                                          cally possible. For example, when CLKFX_MULTIPLY = 5
                                                                  and CLKFX_DIVIDE = 3, the input and output clock edges
1. The two values fall within their corresponding ranges,         will coincide every three input periods, which is equivalent in
     as specified in Table 14.                                    time to five output periods.

2. The fCLKFX frequency calculated from the above                 Smaller CLKFX_MULTIPLY and CLKFX_DIVIDE values
     expression accords with the DCM's operating frequency        achieve faster lock times. With no factors common to the
     specifications.                                              two attributes, alignment will occur once with every number
                                                                  of cycles equal to the CLKFX_DIVIDE value. Therefore, it is
For example, if CLKFX_MULTIPLY = 5 and CLKFX_DIVIDE               recommended that the user reduce these values by factor-
= 3, then the frequency of the output clock signal would be       ing wherever possible. For example, given
5/3 that of the input clock signal.                               CLKFX_MULTIPLY = 9 and CLKFX_DIVIDE = 6, removing
                                                                  a factor of three yields CLKFX_MULTIPLY = 3 and
DFS Frequency Modes                                               CLKFX_DIVIDE = 2. While both value-pairs will result in the
                                                                  multiplication of clock frequency by 3/2, the latter value-pair
The DFS supports two operating modes, High Frequency              will enable the DLL to lock more quickly.
and Low Frequency, with each specified over a different
clock frequency range. The DFS_FREQUENCY_MODE
attribute chooses between the two modes. When the
attribute is set to LOW, the Low Frequency mode permits

Table 14: DFS Attributes       Description                                             Values
              Attribute

DFS_FREQUENCY_MODE             Chooses between High Frequency and Low Frequency modes  Low, High
CLKFX_MULTIPLY                 Frequency multiplier constant                           Integer from 2 to 32
CLKFX_DIVIDE                   Frequency divisor constant                              Integer from 1 to 32

Table 15: DFS Signals

Signal Direction                                                                    Description
                              Multiplies the CLKIN frequency by the attribute-value ratio
CLKFX     Output              (CLKFX_MULTIPLY/CLKFX_DIVIDE) to generate a clock signal with a new target frequency.
                              Generates a clock signal with same frequency as CLKFX, only shifted 180 out-of-phase.
CLKFX180 Output

DS099-2 (v1.2) July 11, 2003   www.xilinx.com                                                                         25

Advance Product Specification  1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                        R

DFS Clock Output Connections                                     PS Component Enabling and Mode Selection

There are two basic cases that determine how to connect          The CLKOUT_PHASE_SHIFT attribute enables the PS
the DFS clock outputs: on-chip and off-chip, which are illus-    component for use in addition to selecting between two
trated in Figure 15a and Figure 15c, respectively. This is       operating modes. As described in Table 16, this attribute
similar to what has already been described for the DLL com-      has three possible values: NONE, FIXED and VARIABLE.
ponent. See the DLL Clock Output and Feedback Con-               When CLKOUT_PHASE_SHIFT is set to NONE, the PS
nections, page 22 section.                                       component is disabled and its inputs, PSEN, PSCLK, and
                                                                 PSINCDEC, must be tied to GND. The set of waveforms in
In the on-chip case, it is possible to connect either of the     Figure 17a shows the disabled case, where the DLL main-
DFS's two output clock signals through general routing           tains a zero-phase alignment of signals CLKFB and CLKIN
resources to the FPGA's internal registers. Either a Global      upon which the PS component has no effect. The PS com-
Clock Buffer (BUFG) or a BUFGMUX affords access to the           ponent is enabled by setting the attribute to either the
global clock network. The optional feedback loop is formed       FIXED or VARIABLE values, which select the Fixed Phase
in this way, routing CLK0 to a global clock net, which in turn   mode and the Variable Phase mode, respectively. These
drives the CLKFB input.                                          two modes are described in the sections that follow

In the off-chip case, the DFS's two output clock signals, plus   Determining the Fine Phase Shift
CLK0 for an optional feedback loop, can exit the FPGA
using output buffers (OBUF) to drive a clock network plus        The user controls the phase shift of CLKFB relative to
registers on the board. The feedback loop is formed by
feeding the CLK0 signal back into the FPGA using an              CLKIN by setting and/or adjusting the value of the
IBUFG, which directly accesses the global clock network, or
an IBUF. Then, the global clock net is connected directly to     PHASE_SHIFT attribute. This value must be an integer
the CLKFB input.
                                                                 ranging from 255 to +255. The PS component uses this
Phase Shifter (PS)
                                                                 value to calculate the desired fine phase shift (TPS) as a
The DCM provides two approaches to controlling the phase         fraction of the CLKIN period (TCLKIN). Given values for
of a DCM clock output signal relative to the CLKIN signal:       PHASE-SHIFT and TCLKIN, it is possible to calculate TPS as
First, there are nine clock outputs that employ the DLL to       follows:
achieve a desired phase relationship: CLK0, CLK90,
CLK180, CLK270, CLK2X, CLK2X180, CLKDV CLKFX, and                TPS = (PHASE_SHIFT/256)*TCLKIN                           (4)
CLKFX180. These outputs afford "coarse" phase control.
                                                                 Both the Fixed Phase and Variable Phase operating modes
The second approach uses the PS component described in
this section to provide a still finer degree of control. The PS  employ this calculation. If the PHASE_SHIFT value is zero,
component accomplishes this by introducing a "fine phase
shift" (TPS) between the CLKFB and CLKIN signals inside          then CLKFB and CLKIN will be in phase, the same as when
the DLL component. The user can control this fine phase
shift down to a resolution of 1/256 of a CLKIN cycle or one      the PS component is disabled. When the PHASE_SHIFT
tap delay (DCM_TAP), whichever is greater. When in use,
the PS component shifts the phase of all nine DCM clock          value is positive, the CLKFB signal will be shifted later in
output signals together. If the PS component is used
together with a DCM clock output such as the CLK90,              time with respect to CLKIN. If the attribute value is negative,
CLK180, CLK270, CLK2X180 and CLKFX180, then the fine
phase shift of the former gets added to the coarse phase         the CLKFB signal will be shifted earlier in time with respect
shift of the latter.
                                                                 to CLKIN.

                                                                 The Fixed Phase Mode

                                                                 This mode fixes the desired fine phase shift to a fraction of
                                                                 the TCLKIN, as determined by Equation (4) and its
                                                                 user-selected PHASE_SHIFT value P. The set of wave-
                                                                 forms in Figure 17b 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.

Table 16: PS Attributes

    Attribute            Description                                                   Values

CLKOUT_PHASE_SHIFT       Disables PS component or chooses between Fixed Phase          NONE, FIXED, VARIABLE
PHASE_SHIFT              and Variable Phase modes.                                     Integers from 255 to +255(1)

                         Determines size and direction of initial fine phase shift.

Notes:
1. The practical range of values will be less when TCLKIN > FINE_SHIFT_RANGE in the Fixed Phase mode, also when TCLKIN >

      (FINE_SHIFT_RANGE)/2 in the Variable Phase mode. the FINE_SHIFT_RANGE represents the sum total delay of all taps.

26                       www.xilinx.com                                                DS099-2 (v1.2) July 11, 2003

                         1-800-255-7778                                                Advance Product Specification

40
       R                                                        Spartan-3 1.2V FPGA Family: Functional Description

a. CLKOUT_PHASE_SHIFT = NONE

                                                   CLKIN
                                                   CLKFB

b. CLKOUT_PHASE_SHIFT = FIXED

                               CLKIN

Shift Range over all P Values:                            255                  0                        +255
                                                                                        P

                                                                                       256 * TCLKIN

                               CLKFB

c. CLKOUT_PHASE_SHIFT = VARIABLE

                               CLKIN

Shift Range over all P Values:                            255                  0                        +255

                                                                                    P   *  TCLKIN
                                                                                   256

                    CLKFB before                                          255                        0        +255
                        Decrement
                                                                                    N      *  TCLKIN
Shift Range over all N Values:                                                     256

                       CLKFB after
                         Decrement

                                                                                                               DS099-2_11_031303

Notes:
1. P represents the integer value ranging from 255 to +255 to which the PHASE_SHIFT attribute is assigned.
2. N is an integer value ranging from 255 to +255 that represents the net phase shift effect from a series of increment and/or

      decrement operations.
      N = {Total number of increments} {Total number of decrements}

      A positive value for N indicates a net increment; a negative value indicates a net decrement.

                               Figure 17: Phase Shifter Waveforms

DS099-2 (v1.2) July 11, 2003                              www.xilinx.com                                                          27

Advance Product Specification                             1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                        R

Table 17: Signals for Variable Phase Mode

    Signal   Direction                                                     Description
PSEN(1)         Input   Enables PSCLK for variable phase adjustment.
PSCLK(1)        Input   Clock to synchronize phase shift adjustment.
PSINCDEC(1)     Input   Chooses between increment and decrement for phase adjustment. It is synchronized to the
                        PSCLK signal.

PSDONE       Output     Goes High to indicate that present phase adjustment is complete and PS component is
                        ready for next phase adjustment request. It is synchronized to the PSCLK signal.

Notes:
1. It is possible to program this input for either a true or inverted polarity

The Variable Phase Mode                                        point the output PSDONE goes High for one PSCLK cycle.
                                                               This pulse indicates that the PS component has finished the
The "Variable Phase" mode dynamically adjusts the fine         present adjustment and is now ready for the next request.
phase shift over time using three inputs to the PS compo-      Asserting the Reset (RST) input, returns TPS to its original
nent, namely PSEN, PSCLK and PSINCDEC, as defined in           shift time, as determined by the PHASE_SHIFT attribute
Table 17.                                                      value. The set of waveforms in Figure 17c illustrates the
                                                               relationship between CLKFB and CLKIN in the Variable
Just following device configuration, the PS component ini-     Phase mode.
tially determines TPS by evaluating Equation (4) for the
value assigned to the PHASE_SHIFT attribute. Then to           The Status Logic Component
dynamically adjust that phase shift, use the three PS inputs
to increase or decrease the fine phase shift.                  The Status Logic component not only reports on the state of
                                                               the DCM but also provides a means of resetting the DCM to
PSINCDEC is synchronized to the PSCLK clock signal,            an initial known state. The signals associated with the Sta-
which is enabled by asserting PSEN. It is possible to drive    tus Logic component are described in Table 18.
the PSCLK input with the CLKIN signal or any other clock
signal. A request for phase adjustment is entered as follows:  As a rule, the Reset (RST) input is asserted only upon con-
For each PSCLK cycle that PSINCDEC is High, the PS             figuring the device or changing the CLKIN frequency. A
component adds 1/256 of a CLKIN cycle to TPS. Similarly,       DCM reset does not affect attribute values (e.g.,
for each enabled PSCLK cycle that PSINCDEC is Low, the         CLKFX_MULTIPLY and CLKFX_DIVIDE). If not used, RST
PS component subtracts 1/256 of a CLKIN cycle from TPS.        must be tied to GND.
The phase adjustment may require as many as 100 CLKIN
cycles plus three PSCLK cycles to take effect, at which        The eight bits of the STATUS bus are defined in Table 19.

Table 18: Status Logic Signals

    Signal   Direction                                                          Description

RST          Input      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]  Output The bit values on the STATUS bus provide information regarding the state of DLL and PS
                           operation

LOCKED       Output Indicates that the CLKIN and CLKFB signals are in phase by going High. The two signals
                           are out-of-phase when Low.

28                                         www.xilinx.com                                    DS099-2 (v1.2) July 11, 2003

                                           1-800-255-7778                                    Advance Product Specification

40
     R                                                          Spartan-3 1.2V FPGA Family: Functional Description

Table 19: DCM STATUS Bus

Bit     Name                                                    Description

0 Phase Shift                 A value of 1 indicates a phase shift overflow when one of two conditions occur:
        Overflow               Incrementing (or decrementing) TPS beyond 255/256 of a CLKIN cycle.
                               The DLL is producing its maximum possible phase shift (i.e., all delay taps are active).(1)

1 CLKIN Activity A value of 1 indicates that the CLKIN signal is not toggling. A value of 0 indicates toggling. This
                                bit functions only when the CLKFB input is connected.(2)

2 Reserved                    -

3 Reserved                    -

4 Reserved                    -

5 Reserved                    -

6 Reserved                    -

7 Reserved                    -

Notes:
1. The DLL phase shift with all delay taps active is specified as the parameter FINE_SHIFT_RANGE.
2. If only the DFS clock outputs are used, but none of the DLL clock outputs, this bit will not go High when the CLKIN signal stops.

Table 20: Status Attributes

Attribute                        Description                                 Values

STARTUP_WAIT Delays transition from configuration to user mode until lock condition is achieved. TRUE, FALSE

Stabilizing DCM Clocks Before User Mode                         as DCMs. Four BUFGMUX elements are placed at the cen-
                                                                ter of the die's bottom edge, just above the GCLK0 - GCLK4
It is possible to delay the completion of device configuration  inputs. The remaining four BUFGMUX elements are placed
until after the DLL has achieved a lock condition using the     at the center of the die's top edge, just below the GCLK4 -
STARTUP_WAIT attribute described in Table 20. This              GCLK7 inputs.
option ensures that the FPGA does not enter user mode --
i.e., begin functional operation -- until all system clocks     Each BUFGMUX element is a 2-to-1 multiplexer that can
generated by the DCM are stable. In order to achieve the        receive signals from any of the four following sources:
delay, it is necessary to set the attribute to TRUE as well as
set the BitGen option LCK_cycle to one of the six cycles        1. One of the four Global Clock inputs on the same side of
making up the Startup phase of configuration. The selected           the die -- top or bottom -- as the BUFGMUX element in
cycle defines the point at which configuration will halt until       use.
the LOCKED output goes High.
                                                                2. Any of four nearby horizontal Double lines.
Global Clock Network
                                                                3. Any of four outputs from the DCM in the right-hand
Spartan-3 devices have eight Global Clock inputs called              quadrant that is on the same side of the die as the
GCLK0 - GCLK7. These inputs provide access to a                      BUFGMUX element in use.
low-capacitance, low-skew network that is well-suited to
carrying high-frequency signals. The Spartan-3 clock net-       4. Any of four outputs from the DCM in the left-hand
work is shown in Figure 18. GCLK0 through GCLK3 are                  quadrant that is on the same side of the die as the
placed at the center of the die's bottom edge. GCLK4                 BUFGMUX element in use.
through GCLK7 are placed at the center of the die's top
edge. It is possible to route each of the eight Global Clock    Sources 3 and 4 are not available on the XC3S50 die that
inputs to any CLB on the die.                                   lacks DCMs.

Eight Global Clock Multiplexers (also called BUFGMUX ele-       Each BUFGMUX can switch incoming clock signals to two
ments) are provided that accept signals from Global Clock       possible destinations:
inputs and route them to the internal clock network as well
                                                                1. The vertical spine belonging to the same side of the die
                                                                     -- top or bottom -- as the BUFGMUX element in use.
                                                                     The two spines -- top and bottom -- each comprise
                                                                     four vertical clock lines, each running from one of the

DS099-2 (v1.2) July 11, 2003     www.xilinx.com                                                                                       29

Advance Product Specification    1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                 R

     BUFGMUX elements on the same side towards the                             A Global clock input is placed in a design using either a
     center of the die. At the center of the die, clock signals                BUFGMUX element or the BUFG (Global Clock Buffer) ele-
     reach the eight-line horizontal spine, which spans the                    ment. For the purpose of minimizing the dynamic power dis-
     width of the die. In turn, the horizontal spine branches                  sipation of the clock network, the Xilinx development
     out into a subsidiary clock interconnect that accesses                    software automatically disables all clock line segments that
     the CLBs.                                                                 a design does not use.

2. The clock input of either DCM on the same side of the
     die -- top or bottom -- as the BUFGMUX element in
     use.

                    GCLK7                                        GCLK5

                           GCLK6                                               GCLK4

         4                 4 BUFGMUX                                                       4
              4                                                                       4
    DCM                                                                                                    DCM

                                 4                                                                      8

                                                                                    

                                                                Top Spine                                     Array Dependent

                                                                                    

                 8                                                             8         8

                    Horizontal Spine

                                                                                    

                                                                Bottom Spine                                  Array Dependent

                                                                                    

    DCM  4                    4                                                            4               DCM
              4                                                                       4
                           4 BUFGMUX

                    GCLK2                                        GCLK0

                           GCLK3                                               GCLK1                            DS099-2_18_070203

         Figure 18: Spartan-3 Clock Network (Top View)

30                         www.xilinx.com                                                                  DS099-2 (v1.2) July 11, 2003

                           1-800-255-7778                                                     Advance Product Specification

40
     R                                                                                     Spartan-3 1.2V FPGA Family: Functional Description

Interconnect                                                                             ble lines in terms of capability: Hex lines approach the
                                                                                         high-frequency characteristics of Long lines at the same
Interconnect (or routing) passes signals among the various                               time, offering greater connectivity.
functional elements of Spartan-3 devices. There are four
kinds of interconnect: Long lines, Hex lines, Double lines,                              Double lines connect to every other CLB (see Figure 19c).
and Direct lines.                                                                        Compared to the types of lines already discussed, Double
                                                                                         lines provide a higher degree of flexibility when making con-
Long lines connect to one out of every six CLBs (see                                     nections.
Figure 19a). Because of their low capacitance, these lines
are well-suited for carrying high-frequency signals with min-                            Direct lines afford any CLB direct access to neighboring
imal loading effects (e.g. skew). If all eight Global Clock                              CLBs (see Figure 19d). These lines are most often used to
Inputs are already committed and there remain additional                                 conduct a signal from a "source" CLB to a Double, Hex, or
clock signals to be assigned, Long lines serve as a good                                 Long line and then from the longer interconnect back to a
alternative.                                                                             Direct line accessing a "destination" CLB.

Hex lines connect one out of every three CLBs (see
Figure 19b). These lines fall between Long lines and Dou-

CLB       CLB                 CLB     CLB                                        CLB       CLB   CLB     CLB  CLB                                                            CLB
     
                                             
                                                                                       
                                                                                                                              
                                                                                                                                                                        

     6                             6                                                  6               6            6

                                                                                                                   DS099-2_19_040103

                                                                                 (a) Long Line

                                   8

     CLB                      CLB     CLB                                             CLB        CLB     CLB        CLB

                                                                                                              DS099-2_20_040103

                                                                                 (b) Hex Line

                                                                                                 CLB     CLB  CLB

                              2

                                                                                                 CLB     CLB  CLB

     CLB                      CLB     CLB

                                                              DS099-2_21_040103                  CLB     CLB  CLB

               (c) Double Line

                                                                                                                                                DS099-2_22_040103

                                                                                                      (d) Direct Lines

                                      Figure 19: Types of Interconnect

DS099-2 (v1.2) July 11, 2003                                                     www.xilinx.com                                                                                   31

Advance Product Specification                                                    1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                       R

Configuration                                                     can be re-used as general-purpose User I/Os once configu-
                                                                  ration is complete.
Spartan-3 devices are configured by loading application
specific configuration data into the internal configuration       Depending on the system design, several configuration
memory. Configuration is carried out using a subset of the        modes are supported, selectable via mode pins. The mode
device pins, some of which are "Dedicated" to one function        pins M0, M1, and M2 are Dedicated pins. The mode pin set-
only, while others, indicated by the term "Dual-Purpose",         tings are shown in Table 21.

Table 21: Spartan-3 Configuration Mode Pin Settings

    Configuration Mode(1)  M0  M1  M2 Synchronizing Clock                        Data Width       Serial DOUT(2)
                                                                                        1                 Yes
Master Serial              0   0   0                              CCLK Output           1                 Yes
                                                                                        8                 No
Slave Serial               1   1   1                              CCLK Input            8                 No
                                                                                        1                 No
Master Parallel            1   1   0                              CCLK Output

Slave Parallel             0   1   1                              CCLK Input

JTAG                       1   0   1                              TCK Input

Notes:
1. The voltage levels on the M0, M1, and M2 pins select the configuration mode.
2. The daisy chain is possible only in the Serial modes when DOUT is used.

An additional pin, HSWAP_EN, is used in conjunction with          Table 22: Spartan-3 Configuration Data
the mode pins to select whether user I/O pins have pull-ups
during configuration. By default, HSWAP_EN is tied High                                   Xilinx Platform Flash PROM
(internal pull-up) which shuts off the pull-ups on the user I/O
pins during configuration. When HSWAP_EN is tied Low,                                     Serial          Parallel
user I/Os have pull-ups during configuration. Other Dedi-
cated pins are CCLK (the configuration clock pin), DONE,          Device         File Sizes Configuration Configuration
PROG_B, and the boundary-scan pins: TDI, TDO, TMS,
and TCK. Depending on the configuration mode chosen,              XC3S50         439,264  XCF01S          XCF08P
CCLK can be an output generated by the FPGA, or an input
accepting an externally generated clock.                          XC3S200 1,047,616       XCF01S          XCF08P

A persist option is available which can be used to force the      XC3S400 1,699,136       XCF02S          XCF08P
configuration pins to retain their configuration function even
after device configuration is complete. If the persist option is  XC3S1000 3,223,488      XCF04S          XCF08P
not selected then the configuration pins with the exception
of CCLK, PROG_B, and DONE can be used as user I/O in              XC3S1500 5,214,784      XCF08P          XCF08P
normal operation. The persist option does not apply to the
boundary-scan related pins. The persist feature is valuable       XC3S2000 7,673,024      XCF08P          XCF08P
in applications that readback configuration data after enter-
ing the User mode.                                                XC3S4000 11,316,864     XCF16P          XCF16P

Table 22 lists the total number of bits required to configure     XC3S5000 13,271,936     XCF16P          XCF16P
each FPGA as well as the PROMs suitable for storing those
bits. See DS123: Platform Flash In-System Programmable            The Dual-Purpose configuration pins comprise INIT_B,
Configuration PROMs data sheet for more information.              DOUT, BUSY, RDWR_B, CS_B, and DIN/D0-D7. Each of
                                                                  these pins, according to its bank placement, uses the VCCO
The Standard Configuration Interface                              lines for either Bank 4 (VCCO_4) or Bank 5 (VCCO_5). All
                                                                  the signals used in the serial configuration modes rely on
Configuration signals belong to one of two different catego-      VCCO_4 power. Signals used in the parallel configuration
ries: Dedicated or Dual-Purpose. Which category deter-            modes and Readback require from VCCO_5 as well as from
mines which of the FPGA's power rails supplies the signal's       VCCO_4.
driver and, thus, helps describe the electrical at the pin.
                                                                  Both the Dedicated and Dual-Purpose signals described
The Dedicated configuration pins include PROG_B,                  above constitute the configuration interface. In the standard
HSWAP_EN, TDI, TMS, TCK, TDO, CCLK, DONE, and                     case, this interface is 2.5V-LVCMOS-compatible. This
M0-M2. These pins use the VCCAUX lines for power.                 means that 2.5V is applied to the VCCAUX, VCCO_4, and
                                                                  VCCO_5 lines (this last in the parallel or Readback case
                                                                  only). One need only apply 2.5 Volts to these VCCO lines
                                                                  from power-on to the end of configuration. Upon entering
                                                                  the User mode, it is possible to switch to supply voltage per-
                                                                  mitting signal swings other than 2.5V.

32                                    www.xilinx.com                                      DS099-2 (v1.2) July 11, 2003

                                      1-800-255-7778                                      Advance Product Specification

40
R                                                                                     Spartan-3 1.2V FPGA Family: Functional Description

3.3V-Tolerant Configuration Interface                                        Configuration Modes

It is possible to achieve 3.3V-tolerance at the configuration                Spartan-3 supports the following five configuration modes:
interface simply by adding a few external resistors. This
approach may prove useful when it is undesirable to switch                   Slave Serial mode
the VCCO_4 and VCCO_5 voltages from 2.5V to 3.3V after                        Master Serial mode
configuration.                                                                Slave Parallel mode
                                                                              Master Parallel mode
The 3.3V-tolerance is implemented as follows (a similar                      Boundary-Scan (JTAG) mode (IEEE 1532/IEEE
approach can be used for other supply voltage levels):
                                                                                  1149.1)
First, to power the Dual-Purpose configuration pins, apply
3.3V to the VCCO_4 and (as needed) the VCCO_5 lines.                         Slave Serial Mode
This scales the output voltages and input thresholds associ-
ated with these pins so that they become 3.3V-compatible.                    In Slave Serial mode, the FPGA receives configuration data
                                                                             in bit-serial form from a serial PROM or other serial source
Second, to power the Dedicated configuration pins, apply                     of configuration data. The FPGA on the far right of Figure 20
2.5V to the VCCAUX lines (the same as for the standard                       is set for the Slave Serial mode. The CCLK pin on the FPGA
interface). In order to achieve 3.3V-tolerance, the Dedicated                is an input in this mode. The serial bitstream must be setup
inputs will require series resistors that limit the incoming                 at the DIN input pin a short time before each rising edge of
current to 10mA or less. The Dedicated outputs will need                     the externally generated CCLK.
pull-up resistors to ensure adequate noise margin when the
FPGA is driving a High logic level into another device's 3.3V                Multiple FPGAs can be daisy-chained for configuration from
receiver. Choose a power regulator or supply that can toler-                 a single source. After a particular FPGA has been config-
ate reverse current on the VCCAUX lines.                                     ured, the data for the next device is routed internally to the
                                                                             DOUT pin. The data on the DOUT pin changes on the rising
                                                                             edge of CCLK.

   3.3V                                              2.5V         2.5V                             2.5V

                                                                                             1.2V                        1.2V

                               VCCO                                       VCCO Bank 4                       VCCO Bank 4
                                                                        VCCAUX VCCINT                    VCCAUX VCCINT
         VCC                            VCCJ
                                          D0
                                                                        DIN           DOUT               DIN

                              Platform                                  Spartan-3                        Spartan-3
                                                                          FPGA                             FPGA
                              Flash PROM                    2.5V
                                                                          Master                                                  2.5V
                              XCF0xS                   All                               M0                 Slave
                                  or                 4.7K                                M1
                                                                                         M2                               M0
                              XCFxxP                                                                                      M1
                                                                                                                          M2
                                                 CE
                                                                        DONE                             DONE
                                     OE/RESET                           INIT_B                           INIT_B
                                                                        PROG_B                           PROG_B
                                                 CF                     CCLK                             CCLK

                                               CLK                               GND                              GND
                                 GND

                                                                                                                                                                                                                       DS099_23_041103

Notes:
1. There are two ways to use the DONE line. First, one may set the BitGen option DriveDone to "Yes" only for the

      last FPGA to be configured in the chain shown above (or for the single FPGA as may be the case). This enables
      the DONE pin to drive High; thus, no pull-up resistor is necessary. DriveDone is set to "No" for the remaining
      FPGAs in the chain. Second, DriveDone can be set to "No" for all FPGAs. Then all DONE lines are open-drain
      and require the pull-up resistor shown in grey. In most cases, a value between 3.3K to 4.7K is sufficient.
      However, when using DONE synchronously with a long chain of FPGAs, cumulative capacitance may
      necessitate lower resistor values (e.g. down to 330) in order to ensure a rise time within one clock cycle.
2. For information on how to program the FPGA using 3.3V signals and power, see 3.3V-Tolerant Configuration
      Interface.

                Figure 20: Connection Diagram for Master and Slave Serial Configuration

DS099-2 (v1.2) July 11, 2003                                      www.xilinx.com                                                                                                                                                        33

Advance Product Specification                                           1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                R

Slave Serial mode is selected by applying <111> to the            controlling the flow of data. An external source provides
mode pins (M0, M1, and M2). A weak pull-up on the mode            8-bit-wide data, CCLK, an active-Low Chip Select (CS_B)
pins makes slave serial the default mode if the pins are left     signal and an active-Low Write signal (RDWR_B). If BUSY
unconnected.                                                      is asserted (High) by the FPGA, the data must be held until
                                                                  BUSY goes Low. Data can also be read using the Slave
Master Serial Mode                                                Parallel mode. If RDWR_B is asserted, configuration data is
                                                                  read out of the FPGA as part of a readback operation.
In Master Serial mode, the CCLK pin is an output pin. The
FPGA just to the right of the PROM in Figure 20 is set for        After configuration, it is possible to use any of the Multipur-
Master Serial mode. It is the FPGA that drives the configu-       pose pins (DIN/D0-D7, DOUT/BUSY, INITB, CS_B, and
ration clock on the CCLK pin to a Xilinx Serial PROM which        RDWR_B) as User I/Os. To do this, simply set the BitGen
in turn feeds bit-serial data to the DIN input. The FPGA          option Persist to No and assign the desired signals to multi-
accepts this data on each rising CCLK edge. After the             purpose configuration pins using the Xilinx development
FPGA has been loaded, the data for the next device in a           software. Alternatively, it is possible to continue using the
daisy-chain is presented on the DOUT pin after the rising         configuration port (e.g. all configuration pins taken together)
CCLK edge.                                                        when operating in the User mode. This is accomplished by
                                                                  setting the Persist option to Yes.
The interface is identical to slave serial except that an inter-
nal oscillator is used to generate the configuration clock        Multiple FPGAs can be configured using the Slave Parallel
(CCLK). A wide range of frequencies can be selected for           mode and can be made to start-up simultaneously.
CCLK which always starts at a default frequency of 6 MHz.         Figure 21 shows the device connections. To configure mul-
Configuration bits then switch CCLK to a higher frequency         tiple devices in this way, wire the individual CCLK, Data,
for the remainder of the configuration.                           RDWR_B, and BUSY pins of all the devices in parallel. The
                                                                  individual devices are loaded separately by deasserting the
Slave Parallel Mode                                               CS_B pin of each device in turn and writing the appropriate
                                                                  data.
The Parallel modes support the fastest configuration.
Byte-wide data is written into the FPGA with a BUSY flag

34  www.xilinx.com                                                DS099-2 (v1.2) July 11, 2003

    1-800-255-7778                                                Advance Product Specification

40
        R                                                                Spartan-3 1.2V FPGA Family: Functional Description

                D[0:7]
                CCLK
           RDWR_B
               BUSY

                                           2.5V                                2.5V

                                                 VCCO Banks 4 & 5  1.2V              VCCO Banks 4 & 5  1.2V
                                                 VCCAUX VCCINT                       VCCAUX VCCINT

                                                 Spartan-3                           Spartan-3
                                                    Slave                               Slave

                                                 D[0:7]                              D[0:7]

                                                 CCLK                                CCLK

                                                 RDWR_B                              RDWR_B

                                     CS_B        BUSY             2.5V   CS_B        BUSY             2.5V
                                                 CS_B                                CS_B
                                                 PROG_B  M1                          PROG_B  M1
                                                         M2                                  M2
                                                         M0                                  M0

                               2.5V

                        4.7K         4.7K        DONE INIT_B                         DONE INIT_B
                                                         GND                                  GND

           DONE

           INIT_B

           PROG_B                                                                                            DS099_24_041103

Notes:

1. There are two ways to use the DONE line. First, one may set the BitGen option DriveDone to "Yes" only for the last FPGA
      to be configured in the chain shown above (or for the single FPGA as may be the case). This enables the DONE pin to drive
      High; thus, no pull-up resistor is necessary. DriveDone is set to "No" for the remaining FPGAs in the chain. Second,

      DriveDone can be set to "No" for all FPGAs. Then all DONE lines are open-drain and require the pull-up resistor shown in
      grey. In most cases, a value between 3.3K to 4.7K is sufficient. However, when using DONE synchronously with a long
      chain of FPGAs, cumulative capacitance may necessitate lower resistor values (e.g. down to 330) in order to ensure a rise
      time within one clock cycle.

2. If the FPGAs use different configuration data files, configure them in sequence by first asserting the CS_B of one FPGA then
      asserting the CS_B of the other FPGA.

3. For information on how to program the FPGA using 3.3V signals and power, see 3.3V-Tolerant Configuration Interface.

                              Figure 21: Connection Diagram for Slave Parallel Configuration

DS099-2 (v1.2) July 11, 2003                             www.xilinx.com                                                          35

Advance Product Specification                            1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                                                             R

                                                               2.5V

    3.3V                                            2.5V                                            1.2V

                                                                                  VCCO Banks 4 & 5
                                                                                  VCCAUX VCCINT

               VCCO                                                               Spartan-3
                                                                                    Master
          VCC        VCCJ

                         DATA[0:7]                                                D[0:7]

                               CCLK                                               CCLK

          Platform Flash                                       2.5V
                PROM
               XCFxxP                                                        All
                                                                          4.7K
                                   CF
                                   CE                                             PROG_B
                        OE/RESET                                                  DONE
                                                                                  INIT_B
                     GND
                                                                                  RDWR_B
                                                                                  CS_B

                                                                                           GND

                                                                                                                                                                              DS099_25_041103

    Notes:
    1. There are two ways to use the DONE line. First, one may set the BitGen option DriveDone to "Yes"

          only for the last FPGA to be configured in the chain shown above (or for the single FPGA as may be
          the case). This enables the DONE pin to drive High; thus, no pull-up resistor is necessary. DriveDone
          is set to "No" for the remaining FPGAs in the chain. Second, DriveDone can be set to "No" for all
          FPGAs. Then all DONE lines are open-drain and require the pull-up resistor shown in grey. In most
          cases, a value between 3.3K to 4.7K is sufficient. However, when using DONE synchronously
          with a long chain of FPGAs, cumulative capacitance may necessitate lower resistor values (e.g.
          down to 330) in order to ensure a rise time within one clock cycle.

                 Figure 22: Connection Diagram for Master Parallel Configuration

Master Parallel Mode                                           Configuration Sequence

In this mode, the device is configured byte-wide on a CCLK     The configuration of Spartan-3 devices is a three-stage pro-
supplied by the FPGA. Timing is similar to the Slave Parallel  cess that occurs after Power-On Reset or the assertion of
mode except that CCLK is supplied by the FPGA. The             PROG_B. POR occurs after the VCCINT, VCCAUX, and VCCO
device connections are shown in Figure 22.                     Bank 4 supplies have reached their respective maximum
                                                               input threshold levels (see Table 7 in Module 3: DC and
Boundary-Scan (JTAG) Mode                                      Switching Characteristics). After POR, the three-stage
                                                               process begins.
In Boundary-Scan mode, dedicated pins are used for con-
figuring the FPGA. The configuration is done entirely          First, the configuration memory is cleared. Next, con-
through the IEEE 1149.1 Test Access Port (TAP). FPGA           figuration data is loaded into the memory, and finally, the
configuration using the Boundary-Scan mode is compliant        logic is activated by a start-up process. A flow diagram for
with the IEEE 1149.1-1993 standard and the new IEEE            the configuration sequence of the Serial and Parallel modes
1532 standard for In-System Configurable (ISC) devices.        is shown in Figure 23. The flow diagram for the Bound-
                                                               ary-Scan configuration sequence appears in Figure 24.
Configuration through the boundary-scan port is always
available, independent of the mode selection. Selecting the
Boundary-Scan mode simply turns off the other modes.

36                   www.xilinx.com                                                                       DS099-2 (v1.2) July 11, 2003

                     1-800-255-7778                                                                       Advance Product Specification

40
R                                                                Spartan-3 1.2V FPGA Family: Functional Description

                                   Power-On                      Set PROG_B Low
                                                                  after Power-On

                                   VCCINT >1V                No

                                   and VCCAUX > 2V

                               and VCCO Bank 4 > 1V

                                        Yes                  Yes PROG_B = Low
                                   Clear configuration                             No

                                          memory

                               No
                                      INIT_ B = High?

                                         Yes
                                   Sample mode pins

                                   Load configuration
                                       data frames

                                   CRC                  No       INIT_B goes Low.
                                                                   Abort Start-Up
                                   correct?

                                   Yes
                                    Start-Up
                                   sequence

                                   User mode

                               No  Reconfigure?         Yes

                                                                                                                                                           DS099_26_041103

   Figure 23: Configuration Flow Diagram for the Serial and Parallel Modes

DS099-2 (v1.2) July 11, 2003                     www.xilinx.com                                                                                                             37

Advance Product Specification                    1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                                                                 R

        Power-On                                        Set PROG_B Low
                                                         after Power-On

        VCCINT >1V

        and VCCAUX > 2V                             No

    and VCCO Bank 4 > 1V

               Yes                                      Yes
                  Clear                                          PROG_B = Low
                                                                             No
             configuration
                memory

    No
           INIT_B = High?

              Yes                                       Shutdown     Load
                                                        sequence  JShutdown
                Sample                                            instruction
              mode pins
        (JTAG port becomes
               available)

            Load CFG_IN
              instruction

         Load configuration
             data frames

          CRC               No INIT_B goes Low.
        correct?                        Abort Start-Up

           Yes

        Synchronous
          TAP reset

        (Clock five 1's
           on TMS)

        Load JSTART
          instruction

        Start-Up
        sequence

        User mode

    No  Reconfigure?        Yes

                                                                                                                                                  DS099_27_041103

    Figure 24: Boundary-Scan Configuration Flow Diagram

38                           www.xilinx.com                                                                                                                        DS099-2 (v1.2) July 11, 2003

                             1-800-255-7778                                      Advance Product Specification

40
R                                                                                                               Spartan-3 1.2V FPGA Family: Functional Description

Configuration is automatically initiated after power-on                                                         The default start-up sequence, shown in Figure 25, serves
unless it is delayed by the user. INIT_B is an open-drain line                                                  as a transition to the User mode. The default start-up
that the FPGA holds Low during the clearing of the configu-                                                     sequence is that one CCLK cycle after DONE goes High,
ration memory. Extending the time that the pin is Low                                                           the Global Three-State signal (GTS) is released. This per-
causes the configuration sequencer to wait. Thus, configu-                                                      mits device outputs to which signals have been assigned to
ration is delayed by preventing entry into the phase where                                                      become active. One CCLK cycle later, the Global Write
data is loaded.                                                                                                 Enable (GWE) signal is released. This permits the internal
                                                                                                                storage elements to begin changing state in response to the
The configuration process can also be initiated by asserting                                                    design logic and the user clock.
the PROG_B pin. The end of the memory-clearing phase is
signaled by the INIT_B pin going High. At this point, the con-                                                  The relative timing of configuration events can be changed
figuration data is written to the FPGA. The FPGA holds the                                                      via the BitGen options in the Xilinx development software. In
Global Set/Reset (GSR) signal active throughout configura-                                                      addition, the GTS and GWE events can be made depen-
tion, keeping all flip-flops on the device in a reset state. The                                                dent on the DONE pins of multiple devices all going High,
completion of the entire process is signaled by the DONE                                                        forcing the devices to start synchronously. The sequence
pin going High.                                                                                                 can also be paused at any stage, until lock has been
                                                                                                                achieved on any DCM.
                              Default Cycles
                                                                                                                Readback
Start-Up Clock
                                                                                                                Using Slave Parallel mode, configuration data from the
   Phase          0 1 2 3 4 5 67                                                                                FPGA can be read back. Readback is supported only in the
                                                                                                                Slave Parallel and Boundary-Scan modes.
   DONE
                                                                                                                Along with the configuration data, it is possible to read back
   GTS                                                                                                          the contents of all registers, distributed SelectRAM, and
                                                                                                                block RAM resources. This capability is used for real-time
                                                                                                                debugging.

   GSR

   GWE

Start-Up Clock        Sync-to-DONE
           Phase
                  0 1 2 3 4 5 67

                  DONE High

   DONE
     GTS
     GSR

            GWE

                                                                                              DS099_028_040803

Notes:
1. The BitGen option StartupClk in the Xilinx

      development software selects the CCLK input,
      TCK input, or a user-designated global clock input
      (the GCLK0 - GCLK7 pins) for receiving the clock
      signal that synchronizes Start-Up.

   Figure 25: Default Start-Up Sequence

DS099-2 (v1.2) July 11, 2003                  www.xilinx.com                                                    39

Advance Product Specification                 1-800-255-7778
Spartan-3 1.2V FPGA Family: Functional Description                                                                     R

Revision History

  Date    Version No.                                                       Description
04/11/03        1.0
05/19/03        1.1    Initial Xilinx release
07/11/03        1.2
                       Added Block RAM column, DCMs, and multipliers to XC3S50 descriptions.

                       Explained the configuration port Persist option in Slave Parallel Mode section. Updated
                       Figure 2 and Double-Data-Rate Transmission section to indicate that DDR clocking for the
                       XCS350 is the same as that for all other Spartan-3 devices. Updated description of I/O voltage
                       tolerance in ESD Protection section. In Table 6, changed input termination type for DCI
                       version of the LVCMOS standard to None. Added additional flexibility for making DLL
                       connections in Figure 15 and accompanying text. In the Configuration section, inserted an
                       explanation of how to choose power supplies for the configuration interface, including
                       guidelines for achieving 3.3V-tolerance.

The Spartan-3 Family Data Sheet

DS099-1, Spartan-3 1.2V FPGA Family: Introduction and Ordering Information (Module 1)
DS099-2, Spartan-3 1.2V FPGA Family: Functional Description (Module 2)
DS099-3, Spartan-3 1.2V FPGA Family: DC and Switching Characteristics (Module 3)
DS099-4, Spartan-3 1.2V FPGA Family: Pinout Descriptions (Module 4)

40                     www.xilinx.com                                                  DS099-2 (v1.2) July 11, 2003

                       1-800-255-7778               Advance Product Specification

40
                                              040

                              R                                 Spartan-3 FPGA Family:

                                                                DC and Switching Characteristics

DS099-3 (v1.3) March 4, 2004                  0 0 Advance Product Specification

DC Electrical Characteristics                                   All parameter limits are representative of worst-case supply
                                                                voltage and junction temperature conditions. The following
In this section, some specifications may be designated as       applies unless otherwise noted: The parameter values pub-
Advance or Preliminary. These terms are defined as fol-         lished in this module apply to all Spartan-3 devices. AC and
lows:                                                           DC characteristics are specified using the same numbers
                                                                for both commercial and industrial grades. All parameters
Advance: Initial estimates based on simulation, early char-     representing voltages are measured with respect to GND.
acterization, and/or extrapolation from the characteristics of
other families. Values are subject to change. Use as esti-      Some specifications list different values for one or more die
mates, not for production.                                      revisions. All presently available Spartan-3 devices are
                                                                classified as revision 0. Future updates to this module will
Preliminary: Based on characterization. Further changes         introduce further die revisions as needed.
are not expected.

Table 1: Absolute Maximum Ratings

Symbol                           Description                    Conditions  Min   Max          Units

VCCINT   Internal supply voltage                                            0.5  1.32         V

VCCAUX   Auxiliary supply voltage                                           0.5  3.00         V

VCCO     Output driver supply voltage                                       0.5  3.75         V

VREF(2)  Input reference voltage                                            0.5  VCCO + 0.5   V

VIN(2)   Voltage applied to all User I/O pins Driver in a                   0.5  VCCO + 0.5   V

         and Dual-Purpose pins(3)                  high-impedance state

         Voltage applied to all Dedicated                                   0.5  VCCAUX+ 0.5  V
         pins(4)

TJ       Junction temperature                      VCCO < 3.0V              -     125          C

                                                   VCCO > 3.0V              -     105          C

TSOL(5)  Soldering temperature                                              -     220          C

TSTG     Storage temperature                                                65   150          C

Notes:

1. Stresses beyond those listed under Absolute Maximum Ratings will 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 Ratings conditions for extended periods of time adversely
      affects device reliability.

2. Table 5 specifies the range of values for VCCO and VCCAUX, which are used to determine the limits of this parameter.
3. All User I/O and Dual-Purpose pins (DIN/D0, D1D7, CS_B, RDWR_B, BUSY/DOUT, AND INIT_B) draw power from the VCCO

      power rail of the associated bank.

4. All Dedicated pins (M0M2, CCLK, PROG_B, DONE, HSWAP_EN, TCK, TDI, TDO, and TMS) draw power from the VCCAUX rail
      (2.5V). For information concerning the use of 3.3V signals, see the 3.3V-Tolerant Configuration Interface section in Module 2:
      Functional Description.

5. For soldering guidelines, see the information on "Packaging and Thermal Characteristics" at www.xilinx.com.

2003-2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and disclaimers are as listed at http://www.xilinx.com/legal.htm.
            All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

DS099-3 (v1.3) March 4, 2004                  www.xilinx.com                                                                                                            1

Advance Product Specification                 1-800-255-7778
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                          R

Table 2: Supply Voltage Thresholds for Power-On Reset

   Symbol                             Description                                  Min        Max       Units

   VCCINTT  Threshold for the VCCINT supply                                        0.4        1.0       V
   VCCAUXT  Threshold for the VCCAUX supply
   VCCO4T   Threshold for the VCCO Bank 4 supply                                   0.8        2.0       V

                                                                                   0.4        1.0       V

Notes:

1. VCCINT, VCCAUX, and VCCO supplies may be applied in any order.
2. To ensure successful power-on, VCCINT, VCCO Bank 4, and VCCAUX supplies must rise through their respective threshold-voltage

      ranges with no dips at any point.

Table 3: Other Power-On Requirements

   Symbol   Description                                           Device Revision        Min       Max  Units
                                                                                                     -    s
   TCCO     VCCO ramp time for all eight banks 0                  XC3S200, XC3S400,      600
                                                                                                     -   ms
                                                                  and XC3S1500 in the                -

                                                                  FT and FG packages(1)

                                                                  All other devices      2.0

                                      Future                                               To be
                                                                                         improved

Notes:
1. This specification is based on characterization.
2. At present, there are no ramp requirements for the VCCINT and VCCAUX supplies.

Table 4: Power Voltage Levels Necessary for Preserving RAM Contents

   Symbol                             Description                                                  Min  Units

   VDRINT   VCCINT level required to retain RAM data                                               1.0  V

   VDRAUX   VCCAUX level required to retain RAM data                                               2.0  V

Notes:
1. RAM contents include configuration data.
2. The level of the VCCO supply has no effect on data retention.

2                                     www.xilinx.com                                     DS099-3 (v1.3) March 4, 2004

                                      1-800-255-7778                                     Advance Product Specification
                 R                                        Spartan-3 FPGA Family: DC and Switching Characteristics

Table 5: General Recommended Operating Conditions

    Symbol                                Description                                Min  Nom       Max        Units

             TJ     Junction temperature               Commercial                    0    -         85         C
                                                       Industrial
                                                                                     40  -         100        C

    VCCINT          Internal supply voltage                                        1.140  1.200     1.260      V
    VCCO (1)        Output driver supply voltage
    VCCAUX          Auxiliary supply voltage                                       1.140  -         3.450      V

                                                                                   2.375  2.500     2.625      V

Notes:
1. The VCCO range given here spans the lowest and highest operating voltages of all supported I/O standards. The recommended

      VCCO range specific to each of the single-ended I/O standards is given in Table 8, and that specific to the differential standards is
      given in Table 10.

Table 6: General DC Characteristics of User I/O, Dual-Purpose, and Dedicated Pins

Symbol              Description           Test Conditions          Device Revision Min Typ Max Units

    IL           Leakage current at User  Driver is in a           0 VCCO > 3.0V 25             -       +25 A

                 I/O, Dual-Purpose, and   high-impedance state,                 VCCO < 3.0V 10  -       +10 A
                 Dedicated pins           VIN = 0V or VCCO max,

                                          sample-tested

    IRPU(2)      Current through pull-up  VIN =0, VCCO = 3.3V                   0         0.84 - 2.35 mA
                 resistor at User I/O,    VIN =0, VCCO = 3.0V
                 Dual-Purpose, and        VIN =0, VCCO = 2.5V                             0.69 - 1.99 mA
                 Dedicated pins           VIN =0, VCCO = 1.8V
                                          VIN =0, VCCO = 1.5V                             0.47 - 1.41 mA
                                          VIN =0, VCCO = 1.2V
                                                                                          0.21 - 0.69 mA
                                                VIN = VCCO
                                                                                          0.13 - 0.43 mA

                                                                                          0.06 - 0.22 mA

    IRPD(2)      Current through                                                          0.37   -       1.67 mA
                 pull-down resistor at
                 User I/O, Dual-Purpose,
                 and Dedicated pins

    IREF VREF current per pin                                      0 VCCO > 3.0V 25             -       +25 A

                                                                                VCCO < 3.0V 10  -       +10 A

    CIN Input capacitance                                                       All       3      -         10  pF

Notes:
1. The numbers in this table are based on the conditions set forth in Table 5.
2. This parameter is based on characterization.

DS099-3 (v1.3) March 4, 2004                           www.xilinx.com                                                                        3

Advance Product Specification                          1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                       R

Table 7: Quiescent Supply Current Characteristics

                                                         Commercial  Industrial

   Symbol           Description     Device               Typ   Max   Typ  Max    Units

   ICCINTQ Quiescent VCCINT supply  XC3S50               10.0                    mA

           current                  XC3S200              20.0                    mA

                                    XC3S400              35.0                    mA

                                    XC3S1000             65.0                    mA

                                    XC3S1500                                     mA

                                    XC3S2000                                     mA

                                    XC3S4000                                     mA

                                    XC3S5000                                     mA

   ICCOQ Quiescent VCCO supply current XC3S50            1.5                     mA

                                    XC3S200              1.5                     mA

                                    XC3S400              1.5                     mA

                                    XC3S1000             1.5                     mA

                                    XC3S1500                                     mA

                                    XC3S2000                                     mA

                                    XC3S4000                                     mA

                                    XC3S5000                                     mA

   ICCAUXQ Quiescent VCCAUX supply  XC3S50               7.0                     mA

           current                  XC3S200              15.0                    mA

                                    XC3S400              20.0                    mA

                                    XC3S1000             25.0                    mA

                                    XC3S1500                                     mA

                                    XC3S2000                                     mA

                                    XC3S4000                                     mA

                                    XC3S5000                                     mA

Notes:

1. The numbers in this table are based on the conditions set forth in Table 5. 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. For typical values, the ambient
      temperature (TA) is 25 C with VCCINT = 1.2V, VCCO = 2.5V, and VCCAUX = 2.5V. The FPGA is programmed with a "blank"
      configuration data file (i.e., a design with no functional elements instantiated).

2. There are two recommended ways to estimate the total power consumption (quiescent plus dynamic) for a specific design: a) The
      Spartan-3 Web Power Tool at http://www.xilinx.com/ise/power_tools provides quick, approximate, typical estimates, and does not
      require a netlist of the design. b) XPower, part of the Xilinx development software, takes a netlist as input to provide more accurate
      maximum and typical estimates.

4                                   www.xilinx.com                   DS099-3 (v1.3) March 4, 2004

                                    1-800-255-7778                   Advance Product Specification
           R                                     Spartan-3 FPGA Family: DC and Switching Characteristics

Table 8: Recommended Operating Conditions for User I/Os Using Single-Ended Standards

   Signal Standard  Min (V)      VCCO   Max (V)  Min (V)    VREF       Max (V)       VIL          VIH
GTL(2)                  -      Nom (V)      -      0.74   Nom (V)        0.86     Max (V)       Min (V)
GTL_DCI                 -                   -      0.74                  0.86   VREF - 0.05  VREF + 0.05
GTLP(2)                 -           -       -      0.88      0.8         1.12   VREF - 0.05  VREF + 0.05
GTLP_DCI                -         1.2       -      0.88      0.8         1.12   VREF - 0.1   VREF + 0.1
HSTL_I, HSTL_I_DCI                                 0.68       1           0.9   VREF - 0.1   VREF + 0.1
HSTL_III,             1.4           -      1.6                1                 VREF - 0.1   VREF + 0.1
HSTL_III_DCI                      1.5              0.68     0.75          0.9
                      1.4         1.5      1.6                                  VREF - 0.1   VREF + 0.1
                                                             0.9
                                  1.5

HSTL_I_18,          1.7        1.8      1.9      -               0.9   -        VREF - 0.1   VREF + 0.1
HSTL_I_DCI_18

HSTL_II_18,         1.7        1.8      1.9      -               0.9   -        VREF - 0.1   VREF + 0.1
HSTL_II_DCI_18

HSTL_III_18,        1.7        1.8      1.9      -               1.1   -        VREF - 0.1   VREF + 0.1
HSTL_III_DCI_18

LVCMOS12(3)         1.14       1.2      1.3      -               -     -        0.20VCCO     0.70VCCO

LVCMOS15,

LVDCI_15,           1.4        1.5      1.6      -               -     -        0.20VCCO     0.70VCCO

LVDCI_DV2_15(3)

LVCMOS18,

LVDCI_18,           1.7        1.8      1.9      -               -     -        0.20VCCO     0.70VCCO

LVDCI_DV2_18(3)

LVCMOS25(4),

LVDCI_25,           2.3        2.5      2.7      -               -     -        0.7          1.7

LVDCI_DV2_25(3)

LVCMOS33,

LVDCI_33,           3.0        3.3      3.45     -               -     -        0.8          2.0

LVDCI_DV2_33(3)

LVTTL               3.0        3.3      3.45     -               -     -        0.8          2.0

PCI33_3             -          3.0      -        -               -     -        0.30VCCO     0.50VCCO

SSTL18_I,           1.65       1.8      1.95     0.825           0.9   0.975    VREF - 0.125 VREF + 0.125
SSTL18_I_DCI

SSTL2_I,            2.3        2.5      2.7      1.15            1.25  1.35     VREF - 0.15  VREF + 0.15
SSTL2_I_DCI

SSTL2_II,           2.3        2.5      2.7      1.15            1.25  1.35     VREF - 0.15  VREF + 0.15
SSTL2_II_DCI

Notes:

1. Descriptions of the symbols used in this table are as follows:
      VCCO -- the supply voltage for output drivers as well as LVCMOS, LVTTL, and PCI inputs
      VREF -- the reference voltage for setting the input switching threshold
      VIL -- the input voltage that indicates a Low logic level
      VIH -- the input voltage that indicates a High logic level

2. Because the GTL and GTLP standards employ open-drain output buffers, VCCO lines do not supply current to the I/O circuit, rather
      this current is provided using an external pull-up resistor connected from the I/O pin to a termination voltage (VTT). Nevertheless, the
      voltage applied to the associated VCCO lines must always be at or above VTT and I/O pad voltages.

3. There is approximately 100 mV of hysteresis on inputs using any LVCMOS standard.

4. All Dedicated pins (M0-M2, CCLK, PROG_B, DONE, HSWAP_EN, TCK, TDI, TDO, and TMS) use the LVCMOS25 standard and draw
      power from the VCCAUX rail (2.5V). The Dual-Purpose configuration pins (DIN/D0, D1-D7, CS_B, RDWR_B, BUSY/DOUT, and
      INIT_B) use the LVCMOS25 standard before the User mode. For these pins, apply 2.5V to the VCCO Bank 4 and VCCO Bank 5 rails
      at power-on as well as throughout configuration. For information concerning the use of 3.3V signals, see the 3.3V-Tolerant
      Configuration Interface section in Module 2: Functional Description.

5. The global clock inputs have the following bank associations: GCLK0 and GCLK1 with Bank 4, GCLK2 and GCLK3 with Bank 5,
      GCLK4 and GCLK5 with Bank 1, and GCLK6 and GCLK7 with Bank 0. The signal standards assigned to the Global Clock Lines (and
      I/Os) of a given bank determine the VCCO voltage for that bank.

DS099-3 (v1.3) March 4, 2004                     www.xilinx.com                                            5

Advance Product Specification                    1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                             R

Table 9: DC Characteristics of User I/Os Using Single-Ended Standards

    Signal Standard and           Test Conditions                      Logic Level Characteristics
   Current Drive Attribute
                            IOL                          IOH           VOL      VOH
               (mA)
                            (mA)                         (mA)          Max (V)  Min (V)

   GTL                      32                           -             0.4      -

   GTL_DCI                  Note 3  Note 3

   GTLP                     36                           -             0.6      -

   GTLP_DCI                 Note 3  Note 3

   HSTL_I                   8                            8            0.4      VCCO - 0.4

   HSTL_I_DCI               Note 3  Note 3

   HSTL_III                 24                           8            0.4      VCCO - 0.4

   HSTL_III_DCI             Note 3  Note 3

   HSTL_I_18                8                            8            0.4      VCCO - 0.4

   HSTL_I_DCI_18            Note 3  Note 3

   HSTL_II_18               16                           16           0.4      VCCO - 0.4

   HSTL_II_DCI_18           Note 3  Note 3

   HSTL_III_18              24                           8            0.4      VCCO - 0.4

   HSTL_III_DCI_18          Note 3  Note 3

   LVCMOS12(4)      2       2                            2            0.4      VCCO - 0.4

                    4       4                            4

                    6       6                            6

   LVCMOS15(4)      2       2                            2            0.4      VCCO - 0.4

                    4       4                            4

                    6       6                            6

                    8       8                            8

                    12      12                           12

   LVDCI_15,                Note 3  Note 3
   LVDCI_DV2_15

   LVCMOS18(4)      2       2                            2            0.4      VCCO - 0.4

                    4       4                            4

                    6       6                            6

                    8       8                            8

                    12      12                           12

                    16      16                           16

   LVDCI_18,                Note 3  Note 3
   LVDCI_DV2_18

   LVCMOS25(4,5)    2       2                            2            0.4      VCCO - 0.4

                    4       4                            4

                    6       6                            6

                    8       8                            8

                    12      12                           12

                    16      16                           16

                    24      24                           24

   LVDCI_25,                Note 3  Note 3
   LVDCI_DV2_25

6                                   www.xilinx.com                              DS099-3 (v1.3) March 4, 2004

                                    1-800-255-7778                              Advance Product Specification
          R                            Spartan-3 FPGA Family: DC and Switching Characteristics

Table 9: DC Characteristics of User I/Os Using Single-Ended Standards (Continued)

     Signal Standard and             Test Conditions        Logic Level Characteristics
    Current Drive Attribute
                               IOL                    IOH   VOL                    VOH
                (mA)
                               (mA)                   (mA)  Max (V)                Min (V)

LVCMOS33(4)   2                2                      2    0.4                    VCCO - 0.4

              4                4                      4

              6                6                      6

              8                8                      8

              12               12                     12

              16               16                     16

              24               24                     24

LVDCI_33,                      Note 3  Note 3
LVDCI_DV2_33

LVTTL(4)      2                2                      2    0.4                    2.4

              4                4                      4

              6                6                      6

              8                8                      8

              12               12                     12

              16               16                     16

              24               24                     24

PCI33_3                        Note 6  Note 6               0.10VCCO                0.90VCCO
SSTL18_I                         6.7    6.7                VTT - 0.475            VTT + 0.475
SSTL18_I_DCI
                               Note 3  Note 3

SSTL2_I                          7.5    7.5                VTT - 0.61             VTT + 0.61
SSTL2_I_DCI                    Note 3  Note 3

SSTL2_II                         15     15                 VTT - 0.80             VTT + 0.80
SSTL2_II_DCI                   Note 3  Note 3

Notes:
1. The numbers in this table are based on the conditions set forth in Table 5 and Table 8.

2. Descriptions of the symbols used in this table are as follows:
      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 as well as LVCMOS, LVTTL, and PCI inputs
      VREF -- the reference voltage for setting the input switching threshold
      VTT -- the voltage applied to a resistor termination

3. Tested according to the standard's relevant specifications.

4. For the LVCMOS and LVTTL standards: the same VOL and VOH limits apply for both the Fast and Slow slew attributes.
5. All Dedicated output pins (CCLK, DONE, and TDO) as well as Dual-Purpose totem-pole output pins (D0-D7 and BUSY/DOUT)

      exhibit the characteristics of LVCMOS25 with 12 mA drive and Fast slew rate. For information concerning the use of 3.3V signals,
      see the 3.3V-Tolerant Configuration Interface section in Module 2: Functional Description.

6. Tested according to the relevant PCI specifications.

DS099-3 (v1.3) March 4, 2004           www.xilinx.com                                                                                   7

Advance Product Specification          1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                                                             R

                                                                           VINP        P Differential

                   Internal                                                            N I/O Pair Pins
                     Logic                                                 VINN

                   VINN             50%                                    VID

                   VINP

                                              VICM

                   GND level

                              VICM  =  Input  common  mode                 voltage  =  VINP  +  VINN
                                                                                             2

                              VID = Differential input voltage = VINP - VINN

                                                                                                                                           DS099-3_01_012304

                              Figure 1: Differential Input Voltages

Table 10: Recommended Operating Conditions for User I/Os Using Differential Signal Standards

                   VCCO(1)                    VID                                      VICM                                                                      VIH           VIL

                                Min Nom Max Min Nom Max Min Nom Max Min Max                                                                                              Min Max
   Signal Standard (V) (V) (V) (mV) (mV) (mV) (V) (V) (V) (V) (V)                                                                                                        (V) (V)

   LDT_25          2.375 2.50 2.625 200 600 1000 0.44 0.60 0.78                                                                                               -       -  -  -

   LVDS_25,        2.375 2.50 2.625 100 350 600 0.30 1.25 2.20                                                                                                -       -  -  -

   LVDS_25_DCI

   BLVDS_25        2.375 2.50 2.625 -         350                       -       -      1.25           -                                                       -       -  -  -

   LVDSEXT_25,     2.375 2.50 2.625 100 540 1000 0.30 1.20 2.20                                                                                               -       -  -  -

   LVDSEXT_25_DCI

   ULVDS_25        2.375 2.50 2.625 200 600 1000 0.44 0.60 0.78                                                                                               -       -  -  -

   LVPECL_25       2.375 2.50 2.625 100       -                         -       -      -              -  0.8 2.0                                                         0.5 1.7

   RSDS_25         2.375 2.50 2.625 100 200                             -       -      1.20           -                                                       -       -  -  -

Notes:
1. VCCO only supplies differential output drivers, not input circuits.
2. VREF inputs are not used for any of the differential I/O standards.
3. VID is a differential measurement.

8                                             www.xilinx.com                                                                                                  DS099-3 (v1.3) March 4, 2004

                                              1-800-255-7778                                             Advance Product Specification
            R                                                               Spartan-3 FPGA Family: DC and Switching Characteristics

                                   Internal                                      VOUTP     P        Differential
                                      Logic                                                         I/O Pair Pins
                                                                                                 N
                                                                                   VOUTN

                                   VOUTN                50%                        VOD     VOH
                                   VOUTP                         VOCM                      VOL

                              GND level

                                                   VOCM = Output common mode voltage =     VOUTP + VOUTN
                                                                                                    2

                                                   VOD = Output differential voltage = VOUTP - VOUTN

                                                   VOH = Output voltage indicating a High logic level

                                                   VOL = Output voltage indicating a Low logic level DS099-3_02_012304

                                                   Figure 2: Differential Output Voltages

Table 11: DC Characteristics of User I/Os Using Differential Signal Standards

Signal Standard   Device      Min           VOD   Max       VOD             Min   VOCM    Max          VOCM             VOH       VOL
LDT_25            Revision    (mV)           Typ   (mV)  Min Max             (V)    Typ     (V)     Min Max
                                             (mV)        (mV) (mV)                   (V)            (mV) (mV)       Min Max   Min Max
                     All(3)   430(4)               670                      0.495          0.715                    (V) (V)   (V) (V)
                                             600         15 15                    0.600            15 15
                                                                                                                    -   -     -  -

LVDS_25           0(3)        100            -     600       -  -           0.80        -  1.6                -  -  -   -     -  -

                  Future 250                 -     400       -  -           1.125       - 1.375 -                - 1.00 1.475 0.925 1.38

BLVDS_25          All         250 350 450                    -  -           -      1.20    -                  -  -  -   -     -  -

LVDSEXT_25        0(3)        100            -     600       -  -           0.80        -  1.6                -  -  -   -     -  -

                  Future 330                 -     700       -  -           1.125       - 1.375 -                -  - 1.700 0.705 -

ULVDS_25          All(3)      430 600 670                    -  - 0.495 0.600 0.715 -                            -  -   -     -  -

LVPECL_25(7)      All          -             -     -         -  -           -           -  -                  -  - 1.35 1.745 0.565 1.005

RSDS_25           0(3)        100            -     600       -  -           0.80        -  1.6                -  -  -   -     -  -

                  Future 100                 -     400       -  -           1.1         -  1.4                -  -  -   -     -  -

Notes:

1. The numbers in this table are based on the conditions set forth in Table 5 and Table 10.
2. VOD, VOD, and VOCM are differential measurements.
3. For this standard, to ensure that the FPGA's output pair meets specifications, it is necessary to set the LVDSBIAS option in the BitGen utility, part of

      the Xilinx development software. See XAPP751. The option settings for LVDS_25, LVDSEXT_25, and RSDS_25 are different from those for LDT_25
      and ULVDS_25.

4. This value must be compatible with the receiver to which the FPGA's output pair is connected.
5. Output voltage measurements for all differential standards are made with a termination resistor (RT) of 100 across the N and P pins of the differential

      signal pair.

6. At any given time, only one differential standard may be assigned to each bank.
7. Each LVPECL output-pair requires three external resistors: a 70 resistor in series with each output followed by a 240 shunt resistor. These are in

      addition to the external 100 termination resistor at the receiver side. See Figure 3.

                                                         70                        100
                                                                       240

                                                         70                                ds099-3_08_020304

                                                Figure 3: External Terminations for LVPECL

DS099-3 (v1.3) March 4, 2004                                    www.xilinx.com                                                            9

Advance Product Specification                                   1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics         R

Switching Characteristics                                       between speed files and devices over numerous production
                                                                lots. There is no under-reporting of delays, and customers
All Spartan-3 devices are available in two speed grades: 4     receive formal notification of any subsequent changes. Typ-
and the higher performance 5. Switching characteristics in     ically, the slowest speed grades transition to Production
this document may be designated as Advance, Preliminary,        before faster speed grades.
or Production. Each category is defined as follows:
                                                                All specified limits are representative of worst-case supply
Advance: These specifications are based on simulations          voltage and junction temperature conditions. Unless other-
only and are typically available soon after establishing        wise noted, the following applies: Parameter values apply to
FPGA specifications. Although speed grades with this des-       all Spartan-3 devices. All parameters representing voltages
ignation are considered relatively stable and conservative,     are measured with respect to GND.
some under-reporting might still occur. All 5 grade num-
bers are engineering targets: characterization is still in      Timing parameters and their representative values are
progress.                                                       selected for inclusion below either because they are impor-
                                                                tant as general design requirements or they indicate funda-
Preliminary: These specifications are based on complete         mental device performance characteristics. The Spartan-3
early silicon characterization. Devices and speed grades        speed files (V1.29), part of the Xilinx Development Soft-
with this designation are intended to give a better indication  ware, are the original source for many but not all of the val-
of the expected performance of production silicon. The          ues. For more complete, more precise, and worst-case
probability of under-reporting preliminary delays is greatly    data, use the values reported by the Xilinx static timing ana-
reduced compared to Advance data.                               lyzer (TRACE in the Xilinx development software) and
                                                                back-annotated to the simulation netlist.
Production: These specifications are approved once
enough production silicon of a particular device family mem-
ber has been characterized to provide full correlation

10  www.xilinx.com                                              DS099-3 (v1.3) March 4, 2004

    1-800-255-7778                                              Advance Product Specification
            R                               Spartan-3 FPGA Family: DC and Switching Characteristics

I/O Timing

Table 12: Pin-to-Pin Clock-to-Output Times for the IOB Output Path

                                                                               Speed Grade

                                                                               -5   -4

    Symbol             Description          Conditions               Device    Max  Max Units

Clock-to-Output Times

    TICKOFDCM  When reading from the        LVCMOS25(2), 12mA        XC3S50         2.59    ns
               Output Flip-Flop (OFF), the                           XC3S200
               time from the active         output drive, Fast slew  XC3S400        2.59    ns
               transition on the Global     rate, with DCM(3)        XC3S1000
               Clock pin to data appearing                           XC3S1500       2.59    ns
               at the Output pin. The DCM                            XC3S2000
               is in use.                                                           2.59    ns

                                                                                    2.60    ns

                                                                                    2.60    ns

                                                                     XC3S4000       2.60    ns

                                                                     XC3S5000       2.60    ns
                                                                     XC3S50
    TICKOF     When reading from OFF, the   LVCMOS25(2), 12mA        XC3S200        5.37    ns
               time from the active         output drive, Fast slew  XC3S400
               transition on the Global     rate, without DCM        XC3S1000       5.39    ns
               Clock pin to data appearing                           XC3S1500
               at the Output pin. The DCM                                           5.42    ns
               is not in use.
                                                                                    5.51    ns

                                                                                    5.65    ns

                                                                     XC3S2000       5.83    ns

                                                                     XC3S4000       5.95    ns

                                                                     XC3S5000       6.19    ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set
      forth in Table 5 and Table 8.

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 16. If the latter is true, add the appropriate Output adjustment from Table 19.

3. DCM output jitter is included in all measurements.

DS099-3 (v1.3) March 4, 2004                www.xilinx.com                                      11

Advance Product Specification               1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                              R

Table 13: Pin-to-Pin Setup and Hold Times for the IOB Input Path

                                                                            Speed Grade

                                                                            -5   -4

    Symbol   Description                  Conditions              Device    Min  Min     Units

Setup Times  When writing to the Input    LVCMOS25(2),            XC3S50         2.72    ns
    TPSDCM   Flip-Flop (IFF), the time    IOBDELAY = NONE(4),     XC3S200
             from the setup of data at    with DCM(5)             XC3S400
             the Input pin to the active                          XC3S1000       2.72    ns
             transition at a Global                               XC3S1500
             Clock pin. The DCM is in                             XC3S2000       2.74    ns
             use.
                                                                                 2.76    ns

                                                                                 2.86    ns

                                                                                 2.98    ns

                                                                  XC3S4000       3.06    ns

                                                                  XC3S5000       3.23    ns
                                                                  XC3S50
    TPSFD    When writing to IFF, the     LVCMOS25(2),            XC3S200        2.43    ns
             time from the setup of       IOBDELAY = NONE(4),     XC3S400
             data at the Input pin to                             XC3S1000       3.53    ns
             an active transition at the  without DCM             XC3S1500
             Global Clock pin. The                                XC3S2000       3.52    ns
             DCM is not in use.
                                                                                 3.77    ns

                                                                                 4.15    ns

                                                                                 4.34    ns

                                                                  XC3S4000       4.53    ns

                                                                  XC3S5000       4.90    ns

Hold Times   When writing to IFF, the     LVCMOS25(3),            XC3S50         1.81   ns
    TPHDCM   time from the active         IOBDELAY = NONE(4),     XC3S200
             transition at the Global     with DCM(5)             XC3S400
             Clock pin to the point                               XC3S1000       1.81   ns
             when data must be held                               XC3S1500
             at the Input pin. The                                XC3S2000       1.81   ns
             DCM is in use.
                                                                                 1.81   ns

                                                                                 1.81   ns

                                                                                 1.81   ns

                                                                  XC3S4000       1.80   ns

                                                                  XC3S5000       1.80   ns
                                                                  XC3S50
    TPHFD    When writing to IFF, the     LVCMOS25(3),            XC3S200        1.03   ns
             time from the active         IOBDELAY = NONE(4),     XC3S400
             transition at the Global                             XC3S1000       1.89   ns
             Clock pin to the point       without DCM             XC3S1500
             when data must be held                               XC3S2000       1.87   ns
             at the Input pin. The
             DCM is not in use.                                                  2.01   ns

                                                                                 2.20   ns

                                                                                 2.20   ns

                                                                  XC3S4000       2.24   ns

                                                                  XC3S5000       2.32   ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set
      forth in Table 5 and Table 8.

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 16. 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 16. 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. All numbers measured with no programmed input delay.

5. DCM output jitter is included in all measurements.

12                                        www.xilinx.com                    DS099-3 (v1.3) March 4, 2004

                                          1-800-255-7778                    Advance Product Specification
    R                                                  Spartan-3 FPGA Family: DC and Switching Characteristics

Table 14: Setup and Hold Times for the IOB Input Path

                                                                         Speed Grade

                                                                         -5    -4

    Symbol    Description                     Conditions       Device    Min   Min    Units

Setup Times   Time from the setup of data     LVCMOS25(2),     All       1.15  1.32   ns
    TIOPICK   at the Input pin to the active  IOBDELAY = NONE
              transition at the ICLK input                     XC3S50    3.26  3.75   ns
    TIOPICKD  of the Input Flip-Flop (IFF).   LVCMOS25(2),     XC3S200
              No input delay is               IOBDELAY = IFD   XC3S400
              programmed.                                      XC3S1000  3.89  4.47   ns

              Time from the setup of data                                3.89  4.47   ns
              at the Input pin to the active
              transition at the IFF's ICLK                               4.15  4.77   ns
              input. The input delay is
              programmed.

                                                               XC3S1500  4.32  4.97   ns

                                                               XC3S2000  4.50  5.17   ns

                                                               XC3S4000  4.67  5.37   ns

                                                               XC3S5000  5.02  5.77   ns

Hold Times    Time from the active            LVCMOS25(3),     All             0.66  ns
    TIOICKP   transition at the IFF's ICLK    IOBDELAY = NONE
              input to the point where                         XC3S50          2.36  ns
    TIOICKPD  data must be held at the        LVCMOS25(3),     XC3S200
              Input pin. No input delay is    IOBDELAY = IFD   XC3S400
              programmed.                                      XC3S1000        2.87  ns
                                                               XC3S1500
              Time from the active                                             2.87  ns
              transition at the IFF's ICLK
              input to the point where                                         3.08  ns
              data must be held at the
              Input pin. The input delay is
              programmed.

                                                                               3.22  ns

                                                               XC3S2000        3.36  ns

                                                               XC3S4000        3.50  ns

                                                               XC3S5000        3.78  ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set
      forth in Table 5 and Table 8.

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 16.

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 16. When the hold time is negative, it is possible to change the data before the
      clock's active edge.

DS099-3 (v1.3) March 4, 2004                  www.xilinx.com                                 13

Advance Product Specification                 1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                      R

Table 15: Propagation Times for the IOB Input Path

                                                                         Speed Grade

                                                                         -5    -4

    Symbol         Description             Conditions            Device  Max   Max    Units

Propagation Times

    TIOPI    The time it takes for data    LVCMOS25(2),     All          1.05  1.20   ns
             to travel from the Input      IOBDELAY = NONE
             pin to the IOB's I output                      XC3S50
             with no input delay           LVCMOS25(2),     XC3S200
             programmed                    IOBDELAY = IFD   XC3S400

    TIOPID   The time it takes for data                                  3.16  3.63   ns
             to travel from the Input
             pin to the I output with the                                3.79  4.35   ns
             Input delay programmed
                                                                         3.79  4.35   ns

                                                            XC3S1000     4.05  4.65   ns

                                                            XC3S1500     4.22  4.85   ns

                                                            XC3S2000     4.40  5.05   ns

                                                            XC3S4000     4.57  5.25   ns

                                                            XC3S5000     4.92  5.65   ns

    TIOPLI   The time it takes for data LVCMOS25(2),        All          1.55  1.78   ns

             to travel from the Input IOBDELAY = NONE

             pin through the IFF latch

             to the I output with no

             input delay programmed

    TIOPLID  The time it takes for data LVCMOS25(2),        XC3S50       3.66  4.21   ns
             to travel from the Input IOBDELAY = IFD        XC3S200
             pin through the IFF latch                                   4.29  4.93   ns

             to the I output with the                       XC3S400      4.29  4.93   ns

             input delay programmed                         XC3S1000     4.55  5.23   ns

                                                            XC3S1500     4.73  5.43   ns

                                                            XC3S2000     4.90  5.63   ns

                                                            XC3S4000     5.07  5.83   ns

                                                            XC3S5000     5.42  6.23   ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set forth
      in Table 5 and Table 8.

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 16.

14                                         www.xilinx.com                      DS099-3 (v1.3) March 4, 2004

                                           1-800-255-7778                    Advance Product Specification
          R                                             Spartan-3 FPGA Family: DC and Switching Characteristics

Table 16: Input Timing Adjustments for IOB              Table 16: Input Timing Adjustments for IOB (Continued)

                                      Add the                                             Add the
                               Adjustment Below                                    Adjustment Below

Convert Input Time from       Speed Grade               Convert Input Time from   Speed Grade
      LVCMOS25 to the                                         LVCMOS25 to the
                               -5     -4         Units                             -5     -4         Units
Following Signal Standard                               Following Signal Standard
                                                   ns
Single-Ended Standards                             ns   PCI33_3                    0.32   0.32       ns
                                                   ns
GTL, GTL_DCI                   0.37  0.37        ns   SSTL18_I, SSTL18_I_DCI     0.17  0.17      ns
                                                   ns
GTLP, GTLP_DCI                 0.37  0.37        ns   SSTL2_I, SSTL2_I_DCI       0.19  0.19      ns
                                                   ns
HSTL_I, HSTL_I_DCI             0.18  0.18        ns   SSTL2_II, SSTL2_II_DCI     0.21  0.21      ns
                                                   ns
HSTL_III, HSTL_III_DCI         0.19  0.19        ns   Differential Standards
                                                   ns
HSTL_I_18,                     0.26  0.26        ns   LDT_25                     0.04   0.04       ns
HSTL_I_DCI_18                                      ns
                                                        LVDS_25, LVDS_25_DCI       0.06   0.06       ns

HSTL_II_18,                    0.26  0.26             BLVDS_25                                     ns
HSTL_II_DCI_18

HSTL_III_18,                   0.20  0.20             LVDSEXT_25,                                  ns
HSTL_III_DCI_18
                                                        LVDSEXT_25_DCI

LVCMOS12                       0.40   0.40              ULVDS_25                   0.05  0.05      ns

LVCMOS15, LVDCI_15,            0.47   0.47              LVPECL_25                                    ns
LVDCI_DV2_15
                                                        RSDS_25                                      ns

LVCMOS18, LVDCI_18,            0.30   0.30              Notes:
LVDCI_DV2_18
                                                        1. The numbers in this table are tested using the methodology
LVCMOS25, LVDCI_25,            0      0                       presented in Table 20 and are based on the operating
                                                              conditions set forth in Table 5, Table 8, and Table 10.
LVDCI_DV2_25
                                                        2. These adjustments are used to convert input path times
LVCMOS33, LVDCI_33,            0.09   0.09                    originally specified for the LVCMOS25 standard to times that
LVDCI_DV2_33                                                  correspond to other signal standards.

LVTTL                          0.31  0.31

DS099-3 (v1.3) March 4, 2004                     www.xilinx.com                                          15

Advance Product Specification                    1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                            R

Table 17: Timing for the IOB Output Path

                                                                         Speed Grade

                                                                         -5    -4

    Symbol             Description                     Conditions        Max   Max    Units

Clock-to-Output Times

    TIOCKP       When reading from the          LVCMOS25(2), 12mA        3.64  4.18   ns

                 Output Flip-Flop (OFF), the output drive, Fast slew

                 time from the active transition rate

                 at the OTCLK input to data

                 appearing at the Output pin

Propagation Times

    TIOOP        The time it takes for data to LVCMOS25(2), 12mA         2.97  3.42   ns

                 travel from the IOB's O input output drive, Fast slew

                 to the Output pin              rate

    TIOOLP       The time it takes for data to                           3.41  3.92   ns
                 travel from the O input
                 through the OFF latch to the
                 Output pin

Set/Reset Times

    TIOSRP       Time from asserting the        LVCMOS25(2), 12mA        4.44  5.10   ns

                 OFF's SR input to              output drive, Fast slew

                 setting/resetting data at the rate

                 Output pin

    TIOGSRQ      Time from asserting the                                 8.07  9.28   ns
                 Global Set Reset (GSR) net
                 to setting/resetting data at
                 the Output pin

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set
      forth in Table 5 and Table 8.

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 19.

16                                                     www.xilinx.com          DS099-3 (v1.3) March 4, 2004

                                                       1-800-255-7778          Advance Product Specification
            R                                        Spartan-3 FPGA Family: DC and Switching Characteristics

Table 18: Timing for the IOB Three-State Path

                                                                         Speed Grade

                                                                         -5    -4

    Symbol                     Description           Conditions          Max   Max    Units

Synchronous Output Enable/Disable Times

TIOCKHZ          Time from the active transition at LVCMOS25, 12mA       2.32  2.66   ns

                 the OTCLK input of the              output drive, Fast

                 Three-state Flip-Flop (TFF) to slew rate

                 when the Output pin enters the

                 high-impedance state

TIOCKON(2)       Time from the active transition at                      3.78  4.34   ns
                 TFF's OTCLK input to when the
                 Output pin drives valid data

Asynchronous Output Enable/Disable Times

TGTS             Time from asserting the Global LVCMOS25, 12mA           7.03  8.08   ns

                 Three State net (GTS) net to        output drive, Fast

                 when the Output pin enters the slew rate

                 high-impedance state

Set/Reset Times

TIOSRHZ          Time from asserting TFF's SR LVCMOS25, 12mA             3.28  3.77   ns

                 input to when the Output pin        output drive, Fast

                 enters a high-impedance state slew rate

TIOSRON(2)       Time from asserting TFF's SR                            4.75  5.45   ns
                 input at TFF to when the Output
                 pin drives valid data

Notes:

1. The numbers in this table are tested using the methodology presented in Table 20 and are based on the operating conditions set
      forth in Table 5 and Table 8.

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 19.

DS099-3 (v1.3) March 4, 2004                         www.xilinx.com                          17

Advance Product Specification                        1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                           R

Table 19: Output Timing Adjustments for IOB              Table 19: Output Timing Adjustments for IOB (Continued)

    Convert Output Time from       Add the                   Convert Output Time from       Add the
LVCMOS25 with 12mA Drive and     Adjustment              LVCMOS25 with 12mA Drive and     Adjustment
Fast Slew Rate to the Following                          Fast Slew Rate to the Following
                                    Below                                                    Below
           Signal Standard                                          Signal Standard
                                 Speed Grade                                              Speed Grade

                                 -5          -4  Units                                    -5  -4       Units

Single-Ended Standards                             ns    LVCMOS18      Slow 2 mA 4.31 4.31             ns
                                                   ns
GTL                              0.18 0.18       ns                  4 mA 2.69 2.69                  ns
                                                   ns
GTL_DCI                          0.15 0.15       ns                  6 mA 2.23 2.23                  ns
                                                   ns
GTLP                             0.15 0.15       ns                  8 mA 1.83 1.83                  ns
                                                   ns
GTLP_DCI                         0.13 0.13       ns                  12 mA 1.97 1.97                 ns
                                                   ns
HSTL_I                           0.08 0.08         ns                  16 mA 1.62 1.62                 ns
                                                   ns
HSTL_I_DCI                       0.07 0.07         ns                  Fast 2 mA 2.07 2.07             ns
                                                   ns
HSTL_III                         0.05 0.05       ns                  4 mA 0.90 0.90                  ns
                                                   ns
HSTL_III_DCI                     0.05 0.05       ns                  6 mA 0.77 0.77                  ns
                                                   ns
HSTL_I_18                        0.14 0.14         ns                  8 mA 0.61 0.61                  ns
                                                   ns
HSTL_I_DCI_18                    0           0     ns                  12 mA 0.56 0.56                 ns
                                                   ns
HSTL_II_18                       0.13 0.13       ns                  16 mA 0.50 0.50                 ns
                                                   ns
HSTL_II_DCI_18                   0.31 0.31         ns    LVDCI_18                         0.72 0.72    ns
                                                   ns
HSTL_III_18                      0.02 0.02       ns    LVDCI_DV2_18                     0.58 0.58    ns
                                                   ns
HSTL_III_DCI_18                  0.03 0.03       ns    LVCMOS25      Slow 2 mA 5.11 5.11             ns
                                                   ns
LVCMOS12        Slow 2 mA 6.47 6.47                ns                  4 mA 3.17 3.17                  ns
                                                   ns
                        4 mA 6.70 6.70                                 6 mA 2.53 2.53                  ns

                        6 mA 5.60 5.60                                 8 mA 2.21 2.21                  ns

                 Fast 2 mA 3.04 3.04                                   12 mA 1.79 1.79                 ns

                        4 mA 2.25 2.25                                 16 mA 1.77 1.77                 ns

                        6 mA 2.10 2.10                                 24 mA 1.53 1.53                 ns

LVCMOS15        Slow 2 mA 3.95 3.95                                    Fast 2 mA 2.30 2.30             ns

                        4 mA 3.49 3.49                                 4 mA 0.87 0.87                  ns

                        6 mA 2.85 2.85                                 6 mA 0.30 0.30                  ns

                        8 mA 3.44 3.44                                 8 mA 0.21 0.21                  ns

                        12 mA 2.82 2.82                                12 mA              0   0        ns

                 Fast 2 mA 2.29 2.29                                   16 mA 0.11 0.11                 ns

                        4 mA 1.37 1.37                                 24 mA 0.04 0.04                 ns

                        6 mA 1.15 1.15                   LVDCI_25                         0.19 0.19    ns

                        8 mA 1.13 1.13                   LVDCI_DV2_25                     0.10 0.10    ns

                        12 mA 1.00 1.00

LVDCI_15                         1.34 1.34

LVDCI_DV2_15                     1.14 1.14

18                                               www.xilinx.com               DS099-3 (v1.3) March 4, 2004

                                                 1-800-255-7778        Advance Product Specification
          R                                              Spartan-3 FPGA Family: DC and Switching Characteristics

Table 19: Output Timing Adjustments for IOB (Continued)  Table 19: Output Timing Adjustments for IOB (Continued)

    Convert Output Time from       Add the                   Convert Output Time from       Add the
LVCMOS25 with 12mA Drive and     Adjustment              LVCMOS25 with 12mA Drive and     Adjustment
Fast Slew Rate to the Following                          Fast Slew Rate to the Following
                                    Below                                                    Below
           Signal Standard                                          Signal Standard
                                 Speed Grade                                              Speed Grade

                                 -5  -4       Units                                       -5  -4       Units

LVCMOS33      Slow 2 mA 6.22 6.22             ns         PCI33_3                          0.26 0.26 ns

              4 mA 3.80 3.80                  ns         SSTL18_I                         0.05 0.05 ns

              6 mA 3.02 3.02                  ns         SSTL18_I_DCI                     0.01 0.01 ns

              8 mA 3.04 3.04                  ns         SSTL2_I                          0.08 0.08    ns

              12 mA 2.18 2.18                 ns         SSTL2_I_DCI                      0.01 0.01    ns

              16 mA 2.05 2.05                 ns         SSTL2_II                         0.04 0.04 ns

              24 mA 1.82 1.82                 ns         SSTL2_II_DCI                     0.14 0.14 ns

              Fast 2 mA 3.15 3.15             ns         Differential Standards

              4 mA 1.30 1.30                  ns         LDT_25                           0.52 0.52 ns

              6 mA 0.53 0.53                  ns         LVDS_25                          0.50 0.50 ns

              8 mA 0.54 0.54                  ns         LVDS_25_DCI                                   ns

              12 mA 0.14 0.14                 ns         BLVDS_25                         0.01 0.01 ns

              16 mA 0.08 0.08                 ns         LVDSEXT_25                       0.50 0.50 ns

              24 mA 0.03 0.03 ns                       LVDSEXT_25_DCI                                ns

LVDCI_33                         0   0        ns         ULVDS_25                         0.48 0.48 ns

LVDCI_DV2_33                     0   0        ns         LVPECL_25                                     ns

LVTTL         Slow 2 mA 6.24 6.24             ns         RSDS_25                                       ns

              4 mA 3.81 3.81                  ns         Notes:

              6 mA 3.03 3.03                  ns         1. The numbers in this table are tested using the methodology
                                                               presented in Table 20 and are based on the operating
              8 mA 3.02 3.02                  ns               conditions set forth in Table 5, Table 8, and Table 10.

              12 mA 2.17 2.17                 ns         2. These adjustments are used to convert output- and
                                                               three-state-path times originally specified for the LVCMOS25
              16 mA 2.05 2.05                 ns               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.

              24 mA 1.88 1.88                 ns

              Fast 2 mA 3.14 3.14             ns

              4 mA 1.31 1.31                  ns

              6 mA 0.50 0.50                  ns

              8 mA 0.51 0.51                  ns

              12 mA 0.12 0.12                 ns

              16 mA 0.06 0.06                 ns

              24 mA              0   0        ns

DS099-3 (v1.3) March 4, 2004                  www.xilinx.com                                                      19

Advance Product Specification                 1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                                                 R

Timing Measurement Methodology                                   LVTTL), then RT is set to 1M to indicate an open connec-
                                                                 tion, and VT is set to zero. The same measurement point
When measuring timing parameters at the programmable             (VM) that was used at the Input is also used at the Output.
I/Os, different signal standards call for different test condi-
tions. Table 20 presents the conditions to use for each stan-                             VT (VREF)
dard.
                                                                             FPGA Output  RT (RREF)
The method for measuring Input timing is as follows: A sig-
nal that swings between a Low logic level of VL and a High                                    VM (VMEAS)
logic level of VH is applied to the Input under test. Some                                CL (CREF)
standards also require the application of a bias voltage to
the VREF pins of a given bank to properly set the                                                                                                    ds099-3_07_012004
input-switching threshold. The measurement point of the
Input signal (VM) is commonly located halfway between VL                     Notes:
and VH.                                                                      1. The names shown in parentheses are

The Output test setup is shown in Figure 4. A termination                          used in the IBIS file.
voltage VT is applied to the termination resistor RT, the other
end of which is connected to the Output. For each standard,                       Figure 4: Output Test Setup
RT and VT generally take on the standard values recom-
mended for minimizing signal reflections. If the standard
does not ordinarily use terminations (e.g., LVCMOS,

Table 20: Test Methods for Timing Measurement at I/Os

                          Inputs                                                 Outputs                  Inputs and
                                                                                                           Outputs
                    VREF  VL                                     VH          RT           VT                   VM
                     (V)                                                                                       (V)
   Signal Standard   0.8  (V)                                    (V)         ()           (V)                 VREF
Single-Ended         1.0                                                                                      VREF
GTL                 0.75  VREF - 0.2                             VREF + 0.2  25           1.2                 VREF
GTL_DCI             0.90  VREF - 0.2                             VREF + 0.2                                   VREF
GTLP                0.90  VREF - 0.5                             VREF + 0.5  50           1.2                 VREF
GTLP_DCI            0.90  VREF - 0.5                             VREF + 0.5                                   VREF
HSTL_I               1.1  VREF - 0.5                             VREF + 0.5  25           1.5                 VREF
HSTL_I_DCI                VREF - 0.5                             VREF + 0.5
HSTL_III              -   VREF - 0.5                             VREF + 0.5  50           1.5                 0.75
HSTL_III_DCI          -
HSTL_I_18                       0                                     1.2    50           0.75
HSTL_I_DCI_18                   0                                     1.5
HSTL_II_18                                                                   50           0.75
HSTL_II_DCI_18
HSTL_III_18                                                                  50           1.5
HSTL_III_DCI_18
LVCMOS12                                                                     50           1.5
LVCMOS15
LVDCI_15                                                                     50           0.9
LVDCI_DV2_15
                                                                             50           0.9

                                                                             25           0.9

                                                                             50           0.9

                                                                             50           1.8

                                                                             50           1.8

                                                                             1M                      0

                                                                             1M                      0

                                                                             1M                      0

                                                                             1M                      0

20                                www.xilinx.com                                          DS099-3 (v1.3) March 4, 2004

                                  1-800-255-7778                                          Advance Product Specification
          R                                      Spartan-3 FPGA Family: DC and Switching Characteristics

Table 20: Test Methods for Timing Measurement at I/Os (Continued)

                                     Inputs                            Outputs                                             Inputs and
                                                                                                                            Outputs

                               VREF  VL          VH                RT           VT                                         VM

    Signal Standard            (V)   (V)         (V)               ()           (V)                                        (V)

LVCMOS18                       -     0           1.8               1M           0                                          0.9

LVDCI_18                                                           1M           0

LVDCI_DV2_18                                                       1M           0

LVCMOS25                       -     0           2.5               1M           0                                          1.25

LVDCI_25                                                           1M           0

LVDCI_DV2_25                                                       1M           0

LVCMOS33                       -     0           3.3               1M           0                                          1.65

LVDCI_33                                                           1M           0

LVDCI_DV2_33                                                       1M           0

LVTTL                          -     0           3.3               1M           0                                          1.4

PCI33_3 Rising                 -     Note 2      Note 2            25           0                                          0.94

              Falling                                              25           3.3                                        2.03

SSTL18_I                       0.9   VREF - 0.5  VREF + 0.5        50           0.9                                        VREF
SSTL18_I_DCI
                                                                   50           0.9

SSTL2_I                        1.25  VREF - 0.75 VREF + 0.75       50           1.25                                       VREF
SSTL2_I_DCI                                                                     1.25
                                                                   50

SSTL2_II                       1.25  VREF - 0.75 VREF + 0.75       25           1.25                                       VREF
SSTL2_II_DCI                                                                    1.25
                                                                   50

Differential

LDT_25                         -     0.6 - 0.125 0.6 + 0.125       60           0.6                                        0.6

LVDS_25                        -     1.2 - 0.125 1.2 + 0.125       50           1.2                                        1.2

LVDS_25_DCI                                                        1M           0

BLVDS_25                       -     1.2 - 0.125 1.2 + 0.125       1M           0                                          1.2

LVDSEXT_25                     -     1.2 - 0.125 1.2 + 0.125       50           1.2                                        1.2

LVDSEXT_25_DCI                                                     -            -

ULVDS_25                       -     0.6 - 0.125 0.6 + 0.125       60           0.6                                        0.6

LVPECL_25                      -     1.6 - 0.3   1.6 + 0.3         1M           0                                          1.6

RSDS_25                        -     1.3 - 0.1   1.3 + 0.1         50           1.2                                        1.2

Notes:

1. Descriptions of the relevant symbols are as follows:

            VREF -- The reference voltage for setting the input switching threshold
            VM -- Voltage of measurement point on signal transition
            VL -- Low-level test voltage at Input pin
            VH -- High-level test voltage at Input pin
            RT -- Effective termination resistance, which takes on a value of 1M when no parallel termination is required
            VT -- Termination voltage
            CL -- Load capacitance at Output pin, which is 0 pF for all standards

2. According to the PCI specification.

DS099-3 (v1.3) March 4, 2004                    www.xilinx.com                                                                   21

Advance Product Specification                   1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                              R

The capacitive load (CL) is connected between the output         IBIS models are found at the following link:
and GND. The Output timing for all standards, as published
in the speed files and the data sheet, is always based on a            http://www.xilinx.com/support/sw_ibis.htm
CL value of zero unless otherwise specified. High-imped-
ance probes (less than 1 pF) are used for all measure-           Simulate delays for a given application according to its spe-
ments. Any delay that the test fixture might contribute to test  cific load conditions as follows:
measurements is subtracted from those measurements to
produce the final timing numbers as published in the speed       1. Simulate the desired signal standard with the output
files and data sheet.                                                 driver connected to the test setup shown in Figure 4.
                                                                      Use parameter values VT, RT, CL, and VM from
Using IBIS Models to Simulate Load                                    Table 20.
Conditions in Application
                                                                 2. Record the time to VM.
IBIS Models permit the most accurate prediction of timing        3. Simulate the same signal standard with the output
delays for a given application. The parameters found in the
IBIS model (VREF, RREF, CREF, and VMEAS) correspond                   driver connected to the PCB trace with load. Use the
directly with the parameters used in Table 20, VT, RT, CL,            appropriate IBIS model (including VREF, RREF, CREF,
and VM. Do not confuse VREF (the termination voltage) from            and VMEAS values) or capacitive value to represent the
the IBIS model with VREF (the input-switching threshold)              load.
from the table! The four parameters describe all relevant
output test conditions.                                          4. Record the time to VMEAS.
                                                                 5. Compare the results of steps 2 and 4. The increase (or
Simultaneously Switching Output Guidelines
                                                                      decrease) in delay should be added to (or subtracted
                                                                      from) the appropriate Output standard adjustment
                                                                      (Table 19) to yield the worst-case delay of the PCB
                                                                      trace.

Table 21: Equivalent VCCO/GND Pairs per Bank

    Device VQ100 TQ144 PQ208 FT256                               FG320  FG456  FG676  FG900  FG1156
                                                                     -      -      -      -      -
XC3S50    1  1  2                             -                      -      -      -      -      -
                                                                    3      5       -      -      -
XC3S200   1  1  2                             3                     3      5      5       -      -
                                                                    3      5      6       -      -
XC3S400   -  1  2                             3                      -      -     6      9       -
                                                                     -      -      -    10      12
XC3S1000  -  -  2                             3                      -      -      -    10      12

XC3S1500  -  -  -                             -

XC3S2000  -  -  -                             -

XC3S4000  -  -  -                             -

XC3S5000  -  -  -                             -

22                                            www.xilinx.com                   DS099-3 (v1.3) March 4, 2004

                                              1-800-255-7778                   Advance Product Specification
          R                                                               Spartan-3 FPGA Family: DC and Switching Characteristics

Table 22: Maximum Number of Simultaneously                                Table 22: Maximum Number of Simultaneously
Switching Outputs per VCCO-GND Pair                                       Switching Outputs per VCCO-GND Pair (Continued)

                                                             Package                                                                   Package

      Signal Standard          VQ100,  FT256,                                             Signal Standard      VQ100,  FT256,
                               TQ144,  FG320,                                                                  TQ144,  FG320,
                               PQ208   FG456,                                                                  PQ208   FG456,
                                       FG676,                                                                          FG676,
                                       FG900,                                                                          FG900,
                                       FG1156                                                                          FG1156

Single-Ended Standards                                                    LVCMOS18 Slow 2                              64

GTL                                                                   4                                    4           34

GTLP_DCI                                                              3                                    6           22

GTLP                                                                  4                                    8           18

GTLP_DCI                                                              3                                    12          13

HSTL_I                                                                17                                   16          10

HSTL_I_DCI                                                            17                  Fast 2                       36

HSTL_III                                                              7                                    4           21

HSTL_III_DCI                                                          7                                    6           13

HSTL_I_18                                                             17                                   8           10

HSTL_I_DCI_18                                                                                              12          9

HSTL_II_18                                                            9                                    16          6

HSTL_II_DCI_18                                                            LVDCI_18                                     11

HSTL_III_18                                                           8   LVDCI_DV2_18                                 6

HSTL_III_DCI_18                                                           LVCMOS25 Slow 2                              76

LVCMOS12 Slow 2                                                       55                                   4           46

                        4                                             32                                   6           33

                        6                                             18                                   8           24

               Fast 2                                                 31                                   12          18

                        4                                             13                                   16          11

                        6                                             9                                    24          7

LVCMOS15 Slow 2                                                       55                  Fast 2                       42

                        4                                             31                                   4           20

                        6                                             18                                   6           15

                        8                                             15                                   8           13

                        12                                            10                                   12          11

               Fast 2                                                 25                                   16          8

                        4                                             16                                   24          5

                        6                                             13  LVDCI_25                                     13

                        8                                             11  LVDCI_DV2_25                                 7

                        12                                            7

LVDCI_15                                                              10

LVDCI_DV2_15                                                          5

DS099-3 (v1.3) March 4, 2004                                              www.xilinx.com                                                        23

Advance Product Specification                                             1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                     R

Table 22: Maximum Number of Simultaneously                            Table 22: Maximum Number of Simultaneously
Switching Outputs per VCCO-GND Pair (Continued)                       Switching Outputs per VCCO-GND Pair (Continued)

                                                             Package                                                               Package

          Signal Standard  VQ100,  FT256,                                       Signal Standard  VQ100,  FT256,
LVCMOS33(1) Slow 2         TQ144,  FG320,                             PCI33_3(1)                 TQ144,  FG320,
                           PQ208   FG456,                                                        PQ208   FG456,
                                   FG676,                                                                FG676,
                                   FG900,                                                                FG900,
                                   FG1156                                                                FG1156

                                      76

                 4                 46                                 SSTL18_I                           17

                 6                 27                                 SSTL18_I_DCI

                 8                 20                                 SSTL2_I                            13

                 12                13                                 SSTL2_I_DCI                        15

                 16                10                                 SSTL2_II                           9

                 24                9                                  SSTL2_II_DCI                       5

             Fast 2                44                                 Differential Standards

                 4                 26                                 LDT_25

                 6                 16                                 LVDS_25

                 8                 12                                 LVDS_25_DCI

                 12                10                                 BLVDS_25

                 16                7                                  LVDSEXT_25

                 24                3                                  LVDSEXT_25_DCI

LVDCI_33(1)                        13                                 ULVDS_25

LVDCI_DV2_33(1)                    7                                  LVPECL_25

LVTTL(1)     Slow 2                60                                 RSDS_25

                 4                 41                                 Notes:

                 6                 29                                 1. The numbers in this table are recommendations that assume
                                                                            sound board layout practice. For cases that exceed these
                 8                 22                                       maximum numbers, perform IBIS simulations to confirm
                                                                            signal integrity.

                 12                13

                 16                11

                 24                9

             Fast 2                34

                 4                 20

                 6                 15

                 8                 12

                 12                10

                 16                9

                 24                5

24                                     www.xilinx.com                                            DS099-3 (v1.3) March 4, 2004

                                       1-800-255-7778                                            Advance Product Specification
       R                                                  Spartan-3 FPGA Family: DC and Switching Characteristics

Core Logic Timing

Table 23: CLB Timing

                                                                                          Speed Grade

                                                                            -5                         -4

      Symbol                   Description                            Min                 Max   Min        Max   Units
                                                                                                                   ns
Clock-to-Output Times
                                                                                                                   ns
TCKO               When reading from the FFX (FFY) Flip-Flop,         -                   0.67  -          0.77    ns

                   the time from the active transition at the CLK                                                  ns
                                                                                                                   ns
                   input to data appearing at the XQ (YQ) output
                                                                                                                   ns
Setup Times                                                                                                        ns
                                                                                                                 MHz
TDYCK              Time from the setup of data at the D input to      0.08                -     0.09       -       ns

                   the active transition at the CLK input of FFX

TDXCK              Time from the setup of data at the D input to      0.08                -     0.09       -

                   the active transition at the CLK input of FFY

Hold Times

TCKDY              Time from the active transition at FFY's CLK       0.01                -     0.01       -

                   input to the point where data is last held at the

                   D input

TCKDX              Time from the active transition at FFX's CLK       0.01                -     0.01       -

                   input to the point where data is last held at the

                   D input

Clock Timing

TCH                The High pulse width of the CLB's CLK signal 0.76                      -     0.87       -

TCL                The Low pulse width of the CLK signal              0.76                -     0.87       -

FTOG               Maximum toggle frequency (for export control)      -                   500   -          500

Propagation Times

TILO               The time it takes for data to travel from the      -                   0.65  -          0.75

                   CLB's F (G) input to input to the X (Y) output

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

DS099-3 (v1.3) March 4, 2004                www.xilinx.com                                                              25

Advance Product Specification               1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                                       R

Table 24: Synchronous 18 x 18 Multiplier Timing                                                                  Units
                                                                                                                   ns
                                                                        Speed Grade                                ns
                                                                                                                   ns
                                                                    -5                                -4           ns
                                                                                                                   ns
    Symbol             Description           P Outputs Min              Max                     Min       Max      ns
                                                                                                                   ns
Clock-to-Output Times                                                                                              ns

TMULTCK      When reading from the           P[0]        -              0.76                    -         0.88     ns

             Multiplier, the time from the   P[15]       -              0.97                    -         1.11
             active transition at the C

             clock input to data             P[17]       -              1.17                    -         1.34

             appearing at the P outputs      P[19]       -              1.37                    -         1.58

                                             P[23]       -              1.78                    -         2.04

                                             P[31]       -              2.59                    -         2.97

                                             P[35]       -              3.00                    -         3.44

Setup Times

TMULIDCK     Time from the setup of data         -       2.18           -                       2.50          -

             at the A and B inputs to the

             active transition at the C

             input of the Multiplier

Hold Times

TMULCKID     Time from the active                -       0              -                       0             -

             transition at the Multiplier's

             C input to the point where

             data is last held at the A

             and B inputs

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

Table 25: Asynchronous 18 x 18 Multiplier Timing

                                                                                          Speed Grade

                                                                                          -5              -4

    Symbol                 Description              P Outputs                             Max         Max        Units

Propagation Times                                                                                                  ns
                                                                                                                   ns
TMULT        The time it takes for data to travel        P[0]                             1.25        1.44         ns
             from the A and B inputs to the P            P[15]                                                     ns
             outputs                                     P[17]                            2.88        3.31         ns
                                                                                                                   ns
                                                                                          3.10        3.56         ns

                                                         P[19]                            3.32        3.81

                                                         P[23]                            3.75        4.31

                                                         P[31]                            4.62        5.31

                                                         P[35]                            5.06        5.81

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

26                                                  www.xilinx.com                                    DS099-3 (v1.3) March 4, 2004

                                                    1-800-255-7778                                   Advance Product Specification
       R                                          Spartan-3 FPGA Family: DC and Switching Characteristics

Table 26: Block RAM Timing

                                                                  Speed Grade

                                                        -5                                      -4

    Symbol                     Description        Min             Max                     Min       Max   Units
                                                                                                            ns
Clock-to-Output Times
                                                                                                            ns
TBCKO         When reading from the Block         -               2.10                    -         2.41
                                                                                                            ns
              RAM, the time from the active
                                                                                                            ns
              transition at the CLK input to                                                                ns

              data appearing at the DOUT

              output

Setup Times

TBDCK         Time from the setup of data at      0.43            -                       0.49      -

              the DIN inputs to the active

              transition at the CLK input of the

              Block RAM

Hold Times

TBCKD         Time from the active transition     0               -                       0         -

              at the Block RAM's CLK input to

              the point where data is last held

              at the DIN inputs

Clock Timing

TBPWH         The High pulse width of the         1.26            -                       1.44      -

              Block RAM's CLK signal

TBPWL         The Low pulse width of the CLK      1.26            -                       1.44      -

              signal

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

DS099-3 (v1.3) March 4, 2004                      www.xilinx.com                                                 27

Advance Product Specification                     1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                     R

Digital Clock Manager (DCM) Timing                             only employs the DLL component. When the DFS and/or
                                                               the PS components are used together with the DLL, then
For specification purposes, the DCM consists of three key      the specifications listed in the DFS and PS tables (Table 29
components: the Delay-Locked Loop (DLL), the Digital Fre-      through Table 32) supersede any corresponding ones in the
quency Synthesizer (DFS), and the Phase Shifter (PS).          DLL tables. DLL specifications that do not change with the
                                                               addition of DFS or PS functions are presented in Table 27
Aspects of DLL operation play a role in all DCM applica-       and Table 28.
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 27 and Table 28) apply to any application that

Table 27: Recommended Operating Conditions for the DLL

                                                                                                Speed Grade

                                                              Frequency        Device       -5               -4
                                                                 Mode/        Revision
    Symbol                Description                                                   Min Max Min Max              Units
                                                            FCLKIN Range

Input Frequency Ranges

FCLKIN CLKIN_FREQ_DLL_LF Frequency for the                     Low            All       24(2) 165(3) 24 165(3) MHz
                                               CLKIN input     High
                                                                              0         48 280(3) 48 280(3) MHz
            CLKIN_FREQ_DLL_HF

                                                                              Future    48 326 48 TBD MHz

Input Pulse Requirements

CLKIN_PULSE               CLKIN pulse width as                 All            0         45% 55% 45% 55% -

                          a percentage of the               FCLKIN < 200 MHz Future     40% 60% 40% 60%              -
                          CLKIN period

                                                            FCLKIN > 200 MHz            45% 55% 45% 55% -

Input Clock Jitter and Delay Path Variation

CLKIN_CYC_JITT_DLL_LF     Cycle-to-cycle jitter at             Low            All       -300 +300 -300 +300 ps
CLKIN_CYC_JITT_DLL_HF     the CLKIN input                      High
                                                                                        -150 +150 -150 +150 ps

CLKIN_CYC_PER_DLL_LF      Period jitter at the                 Low                      -1      +1  -1           +1  ns
CLKIN_CYC_PER_DLL_HF      CLKIN input                          High
                                                                                        -1      +1  -1           +1  ns

CLKFB_DELAY_VAR_EXT       Allowable variation of               All                      -1      +1  -1           +1  ns

                          off-chip feedback delay

                          from the DCM output

                          to the CLKFB input

Notes:

1. DLL specifications apply when any of the DLL outputs (CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, or CLKDV) are in use.

2. Use of the DFS permits lower FCLKIN frequencies. See Table 29.
3. To double the maximum effective FCLKIN limit, set the CLKIN_DIVIDE_BY_2 attribute to TRUE.

28                                                          www.xilinx.com                      DS099-3 (v1.3) March 4, 2004

                                                            1-800-255-7778                  Advance Product Specification
            R                                        Spartan-3 FPGA Family: DC and Switching Characteristics

Table 28: Switching Characteristics for the DLL

                                                                                 Speed Grade

                                                     Frequency Mode /   Device   -5  -4
                                                        FCLKIN Range   Revision
                Symbol         Description                                       Min Max Min Max Units
Output Frequency Ranges
CLKOUT_FREQ_1X_LF              Frequency for the     Low               All       24 165 24 165 MHz
                               CLK0, CLK90,          High
CLKOUT_FREQ_1X_HF              CLK180, and                             0 Nophase 48 280 48 280 MHz
                               CLK270 outputs                                 shifting

                               Frequency for the                       Phase 48 200 48 200 MHz
                               CLK0 and CLK180                         shifting
                               outputs

CLKOUT_FREQ_2X_LF              Frequency for the     Low               Future    48 326 48 TBD MHz
                               CLK2X and             Low                 0(3)    48 330 48 330 MHz
                               CLK2X180 outputs      High
                                                      All              Future    48 330 48 330 MHz

CLKOUT_FREQ_DV_LF              Frequency for the      All              All       1.5 100 1.5 100 MHz
CLKOUT_FREQ_DV_HF              CLKDV output
                                                                       All       3 215 3 215 MHz

Output Clock Jitter

CLKOUT_PER_JITT_0              Period jitter at the                    All       -100 +100 -100 +100 ps
                               CLK0 output

CLKOUT_PER_JITT_90             Period jitter at the                              -150 +150 -150 +150 ps
                               CLK90 output

CLKOUT_PER_JITT_180            Period jitter at the                              -150 +150 -150 +150 ps
                               CLK180 output

CLKOUT_PER_JITT_270            Period jitter at the                              -150 +150 -150 +150 ps
                               CLK270 output

CLKOUT_PER_JITT_2X             Period jitter at the                              -200 +200 -200 +200 ps
                               CLK2X and
                               CLK2X180 outputs

CLKOUT_PER_JITT_DV1            Period jitter at the                              -150 +150 -150 +150 ps
                               CLKDV output
                               when performing
                               integer division

CLKOUT_PER_JITT_DV2            Period jitter at the                              -300 +300 -300 +300 ps
                               CLKDV output
                               when performing
                               non-integer
                               division

Duty Cycle

CLKOUT_DUTY_CYCLE_DLL(4)       Duty cycle                              All       -150 +150 -150 +150 ps
                               variation for the
                               CLK0, CLK90,
                               CLK180, CLK270,
                               CLK2X,
                               CLK2X180, and
                               CLKDV outputs

DS099-3 (v1.3) March 4, 2004                         www.xilinx.com                                      29

Advance Product Specification                        1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                R

Table 28: Switching Characteristics for the DLL (Continued)

                                                                               Speed Grade

                                           Frequency Mode /           Device   -5  -4
                                              FCLKIN Range           Revision
                Symbol  Description                                            Min Max Min Max Units
Phase Alignment

CLKIN_CLKFB_PHASE       Phase offset       All                       All       -50 +50 -50 +50 ps

                        between the

                        CLKIN and CLKFB

                        inputs

CLKOUT_PHASE            Phase offset       All                       All       -140 +140 -140 +140 ps

                        between any DLL

                        output and any

                        other DCM outputs

Lock Time

LOCK_DLL_24_30          Time required to 24 MHz < FCLKIN < 30 MHz    All       - 960 - 960 s
LOCK_DLL_30_40                                                                 - 720 - 720 s
LOCK_DLL_40_50          achieve lock       30 MHz < FCLKIN < 40 MHz            - 400 - 400 s
LOCK_DLL_50_60                                                                 - 200 - 200 s
LOCK_DLL_60                                40 MHz < FCLKIN < 50 MHz            - 160 - 160 s
Delay Lines
                                           50 MHz < FCLKIN < 60 MHz

                                           FCLKIN > 60 MHz

DCM_TAP                 Delay tap          All                       All       30.0 60.0 30.0 60.0 ps
                        resolution

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5 and Table 27.
2. DLL specifications apply when any of the DLL outputs (CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, or CLKDV) are in use.
3. For Rev. 0 devices only, use feedback from the CLK0 output (instead of the CLK2X output) and set the CLK_FEEDBACK attribute to

      1X.
4. This specification only applies if the attribute DUTY_CYCLE_CORRECTION = TRUE.

30                                         www.xilinx.com                      DS099-3 (v1.3) March 4, 2004

                                           1-800-255-7778                      Advance Product Specification
           R                                               Spartan-3 FPGA Family: DC and Switching Characteristics

Table 29: Recommended Operating Conditions for the DFS

                                                                                           Speed Grade

                                                                Frequency            -5                        -4
                                                                   Mode
              Symbol           Description                                      Min        Max         Min         Max   Units

Input Frequency Ranges(2)

FCLKIN     CLK_FREQ_FX         Frequency for the                 Low            1          210         1           210 MHz
                                                                 High
           CLK_FREQ_FX_HF CLKIN input                                           48         280         48          280 MHz

Input Clock Jitter

CLKIN_CYC_JITT_FX_LF           Cycle-to-cycle jitter at          Low            -300 +300 -300 +300 ps
CLKIN_CYC_JITT_FX_HF           the CLKIN input                   High           -150 +150 -150 +150 ps

CLKIN_CYC_PER_FX_LF            Period jitter at the              Low            -1         +1          -1          +1    ns
CLKIN_CYC_PER_FX_HF            CLKIN input                       High
                                                                                -1         +1          -1          +1    ns

Notes:
1. DFS specifications apply when either of the DFS outputs (CLKFX or CLKFX180) are in use.

2. If both DFS and DLL outputs are used on the same DCM, follow the more restrictive CLKIN_FREQ_DLL specifications in Table 27.

Table 30: Switching Characteristics for the DFS

                                                                                               Speed Grade

                                                           Frequency Device                -5                     -4
                                                              Mode Revision                                Min Max
         Symbol                Description                                           Min        Max                      Units
                                                                                                                         MHz
Output Frequency Ranges                                                                                                  MHz
                                                                                                                         MHz
CLKOUT_FREQ_FX_LF             Frequency for the CLKFX      Low             All       24         210        24      210     ps

CLKOUT_FREQ_FX_HF             and CLKFX180 outputs         High            0         210        280 210 280                ps

                                                                 Future              210        326 210 TBD                ps

Output Clock Jitter                                                                                                       ms

CLKOUT_PER_JITT_FX            Period jitter at the CLKFX   All             All

                              and CLKFX180 outputs

Duty Cycle(3)

CLKOUT_DUTY_CYCLE_FX Duty cycle precision for              All             All       -100       +100 -100 +100

                              the CLKFX and

                              CLKFX180 outputs

Phase Alignment

CLKOUT_PHASE                  Phase offset between         All             All       -140       +140 -140 +140

                              either DFS output and

                              any other DCM output

Lock Time

LOCK_FX                       Once the CLKIN and           All             All       -          10.0        -      10.0

                              CLKFB signals become

                              in-phase, the time it takes

                              for the DCM's LOCKED

                              output to go High.

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5 and Table 29.
2. DFS specifications apply when either of the DFS outputs (CLKFX or CLKFX180) is in use.
3. The CLKFX and CLKFX180 outputs always approximate 50% duty cycles.

DS099-3 (v1.3) March 4, 2004                               www.xilinx.com                                                    31

Advance Product Specification                              1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                         R

Phase Shifter (PS)                                            possible. In order to use the Variable Phase mode, it is nec-
                                                              essary to set the BitGen option Centered_x#y# option to 0.
Phase Shifter operation is only supported in the Low fre-     BitGen is part of the Xilinx development software. The lines
quency mode. For Rev. 0 devices, the Variable Phase mode      to be typed in the command prompt are shown in Table 33,
only permits positive shifts. For any desired negative phase  page 33.
shift (S), an equivalent positive phase shift (360 S) is

Table 31: Recommended Operating Conditions for the PS in Variable Phase Mode

                                                                                                 Speed Grade

                                             Frequency Mode/              Device             -5               -4
                                               FPSCLK Range              Revision
    Symbol        Description                                                          Min       Max     Min        Max  Units

Operating Frequency Ranges                                                                                               MHz

PSCLK_FREQ Frequency for the                      Low                    All           1         165     1          165     -
                                                                                                                            -
(FPSCLK)    PSCLK input                                                                                                     -

Input Pulse and Requirements

PSCLK_PULSE PSCLK pulse width                             Low               0          45%       55%     45%        55%
                         as a percentage of  Low FPSCLK < 200 MHz        Future        40%       60%     40%        60%
                         the PSCLK period                                              45%       55%     45%        55%
                                                       FPSCLK > 200 MHz

Notes:
1. The PS specifications in this table apply when the PS attribute CLKOUT_PHASE_SHIFT= VARIABLE.

Table 32: Switching Characteristics for the PS in Variable Phase Mode

                                                                                       Speed Grade

                                                       Frequency                   -5                    -4
                                                          Mode
          Symbol               Description                               Min           Max       Min          Max        Units

Phase Shifting Range

FINE_SHIFT_RANGE              Range for variable       Low               -             10.0           -       10.0       ns

                              phase shifting

Lock Time

LOCK_DLL_FINE_SHIFT(3) In the Variable                 Low               -                            -                  ms

                              Phase mode, the

                              additional time it

                              takes for the DCM's

                              LOCKED output to

                              go High

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5 and Table 31.
2. The PS specifications in this table apply when the PS attribute CLKOUT_PHASE_SHIFT= VARIABLE.
3. When in the Variable Phase mode, add the values for this parameter to the appropriate LOCK_DLL parameter from Table 28 for the

      total lock time.

32                                                     www.xilinx.com                                    DS099-3 (v1.3) March 4, 2004

                                                       1-800-255-7778                            Advance Product Specification
            R                                      Spartan-3 FPGA Family: DC and Switching Characteristics

Table 33: BitGen Commands for Variable Phase Mode

    Device     DCM Location (Device Top View)                         BitGen Command Line
                                                   bitgen -g centered_x0y1:0 design_name.ncd
XC3S50                         Upper               bitgen -g centered_x0y0:0 design_name.ncd
                                                   bitgen -g centered_x0y1:0 design_name.ncd
                               Lower               bitgen -g centered_x1y1:0 design_name.ncd
                                                   bitgen -g centered_x0y0:0 design_name.ncd
All others                     Upper left          bitgen -g centered_x1y0:0 design_name.ncd

                               Upper right

                               Lower left

                               Lower right

DS099-3 (v1.3) March 4, 2004                www.xilinx.com                                    33

Advance Product Specification               1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                        R

Configuration and JTAG Timing

    VCCINT                                                                                                        1.2V

    (Supply)

    VCCAUX                                                                                                        2.5V

    (Supply)

    VCCO Bank 4                                                                                                   2.5V

    (Supply)

    PROG_B                     TPOR                       TPL
     (Input)                   TPROG                                       TICCK

    INIT_B
     (Open-Drain)

    CCLK
     (Output)

                                                                                               DS099-3_03_022904

    Notes:

    1. The VCCINT, VCCAUX, and VCCO supplies may be applied in any order.
    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 5: Waveforms for Power-On and the Beginning of Configuration

Table 34: Power-On Timing and the Beginning of Configuration

                                                                                          All Speed Grades

    Symbol                                  Description                     Device        Min  Max                      Units
    TPOR(2)                                                              XC3S50                                          ms
                 The time from the application of VCCINT, VCCAUX, and    XC3S200          -    5                         ms
                 VCCO Bank 4 supply voltages (whichever occurs last)     XC3S400                                         ms
                 to the rising transition of the INIT_B pin                               -    5                         ms
                                                                                                                         ms
                                                                                          -    5                         ms
                                                                                                                         ms
                                                                         XC3S1000         -    5                         ms
                                                                                                                          s
                                                                         XC3S1500         -    7                         ms
                                                                                                                         ms
                                                                         XC3S2000         -    7                         ms
                                                                                                                         ms
                                                                         XC3S4000         -    7                         ms
                                                                                                                         ms
                                                                         XC3S5000         -    7                         ms
                                                                                                                         ms
    TPROG        The width of the low-going pulse on the PROG_B pin All                   0.3  -                          s
    TPL(2)
                 The time from the rising edge of the PROG_B pin to XC3S50                -    2

                 the rising transition on the INIT_B pin                 XC3S200          -    2

                                                                         XC3S400          -    2

                                                                         XC3S1000         -    2

                                                                         XC3S1500         -    3

                                                                         XC3S2000         -    3

                                                                         XC3S4000         -    3

                                                                         XC3S5000         -    3
                                                                         All
    TICCK(3)     The time from the rising edge of the INIT_B pin to the                   0.5  4.0
                 generation of the configuration clock signal at the
                 CCLK output pin

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.
2. Power-on reset and the clearing of configuration memory occurs during this period.
3. This specification applies only for the Master Serial and Master Parallel modes.

34                             www.xilinx.com                                                DS099-3 (v1.3) March 4, 2004

                               1-800-255-7778                                             Advance Product Specification
          R                                 Spartan-3 FPGA Family: DC and Switching Characteristics

PROG_B
(Input)

INIT_B                                                                                    TCCH       TCCL
  (Open-Drain)
                               TDCC         TCCD                                                  1/FCCSER
CCLK                                                                                            Bit n Bit n+1
  (Input/Output)                     Bit 0  Bit 1
                                                                                                       TCCO
DIN                                                                                                       Bit n-64 Bit n-63
  (Input)

DOUT
  (Output)

                                                                                                                                                                                                                                                                                                        DS099-3_04_041103

Notes:
1. The CS_B, WRITE_B, and BUSY signals are not used in the serial modes. Keep the CS_B and WRITE_B inputs inactive (i.e., both

      pins High).

                                   Figure 6: Waveforms for Master and Slave Serial Configuration

Table 35: Timing for the Master and Slave Serial Configuration Modes

                                                                                          All Speed Grades

    Symbol                     Description                        Slave/Master                  Min  Max                     Units
                                                                                                                               ns
Clock-to-Output Times
                                                                                                                               ns
TCCO              The time from the rising transition on the      Both                          -    12.0
                  CCLK pin to data appearing at the DOUT pin                                                                   ns

Setup Times                                                                                                                    ns
                                                                                                                               ns
TDCC              The time from the setup of data at the DIN pin  Both                          -    10.0                    MHz
                  to the rising transition at the CCLK pin                                                                      -

Hold Times

TCCD              The time from the rising transition at the      Both                          -          0
                  CCLK pin to the point when data is last held
                  at the DIN pin

Clock Timing

TCCH              The High pulse width at the CCLK input pin      Slave                    5.0          -
TCCL                                                                                       5.0          -
FCCSER            The Low pulse width at the CCLK input pin                                            66
                                                                                             -
                  Frequency of the clock signal at the CCLK                                          +50%
                  input pin                                                               50%

FCCSER            Variation from the generated CCLK frequency     Master
                  set using the ConfigRate BitGen option

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

DS099-3 (v1.3) March 4, 2004                www.xilinx.com                                                                          35

Advance Product Specification               1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                              R

PROG_B
(Input)

INIT_B                                 TSMCSCC                                                        TSMCCCS
(Open-Drain)
                               TSMCCW                                                                                 TSMWCC
CS_B
(Input)                                                                      TCCH                    TCCL

RDWR_B
(Input)

CCLK
(Input/Output)

                               TSMDCC          TSMCCD                                       1/FCCPAR

D0 - D7                                Byte 0   Byte 1                                      Byte n          Byte n+1
(Inputs)                                                                                         TSMCKBY
                                                            TSMCKBY
BUSY
(Output)              High-Z                                                                                         High-Z

                                                                              BUSY

                                                                                                                  DS099-3_05_041103

Notes:
1. Switching RDWR_B High or Low while holding CS_B Low asynchronously aborts configuration.

                                  Figure 7: Waveforms for Master and Slave Parallel Configuration

Table 36: Timing for the Master and Slave Parallel Configuration Modes

                                                                                            All Speed Grades

    Symbol                     Description                                    Slave/Master  Min             Max       Units
                                                                                   Slave                                ns
Clock-to-Output Times                                                               Both
                                                                                                                        ns
TSMCKBY          The time from the rising transition on the CCLK pin to a                          -        12.0        ns
                 signal transition at the BUSY pin                                                                      ns

Setup Times

TSMDCC           The time from the setup of data at the D0-D7 pins to the                   10.0            -
                 rising transition at the CCLK pin

TSMCSCC          The time from the setup of a logic level at the CS_B pin to                10.0            -
TSMCCW(2)        the rising transition at the CCLK pin
                                                                                            10.0            -
                 The time from the setup of a logic level at the RDWR_B pin
                 to the rising transition at the CCLK pin

36                                          www.xilinx.com                                  DS099-3 (v1.3) March 4, 2004

                                            1-800-255-7778                                  Advance Product Specification
            R                                              Spartan-3 FPGA Family: DC and Switching Characteristics

Table 36: Timing for the Master and Slave Parallel Configuration Modes (Continued)

                                                                                    All Speed Grades

    Symbol                            Description                          Slave/Master Min  Max Units

Hold Times

TSMCCD         The time from the rising transition at the CCLK pin to the  Both     0        -        ns
               point when data is last held at the D0-D7 pins

TSMCCCS        The time from the rising transition at the CCLK pin to the           0        -        ns
               point when a logic level is last held at the CS_B pin

TSMWCC(2)      The time from the rising transition at the CCLK pin to the           0        -        ns
               point when a logic level is last held at the RDWR_B pin

Clock Timing

TCCH           The High pulse width at the CCLK input pin                  Slave    5        -        ns
TCCL
FCCPAR         The Low pulse width at the CCLK input pin                            5        -        ns

               Frequency of the clock signal Not using the BUSY pin(3)              -        66       MHz

               at the CCLK input pin  Using the BUSY pin                            -        100 MHz

FCCPAR         Variation from the generated CCLK frequency set using       Master   50% +50%         -
               the BitGen option ConfigRate

Notes:

1. The numbers in this table are based on the operating conditions set forth in Table 5.

2. RDWR_B is synchronized to CCLK for the purpose of performing the Abort operation. The same pin asynchronously controls the
      driver impedance of the D0 - D7 pins. To avoid contention when writing configuration data to the D0 - D7 bus, do not bring RDWR_B
      High when CS_B is Low.

3. In the Slave Parallel mode, it is necessary to use the BUSY pin when the CCLK frequency exceeds this maximum specification.

DS099-3 (v1.3) March 4, 2004                       www.xilinx.com                                         37

Advance Product Specification                      1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                        R

                                                                                          TCCH          TCCL

      TCK                   TTMSTCK                      TTCKTMS                                1/FTCK
       (Input)            TTDITCK                      TTCKTDI

      TMS                                                               TTCKTDO
       (Input)
                          Figure 8: JTAG Waveforms
      TDI
       (Input)

      TDO
       (Output)

                                                                                                              DS099_06_040703

Table 37: Timing for the JTAG Test Access Port

                                                                      All Speed Grades

    Symbol                Description                                 Min                       Max           Units
                                                                                                                ns
Clock-to-Output Times
                                                                                                                ns
TTCKTDO          The time from the falling transition on the TCK pin  -                         11.0            ns

                 to data appearing at the TDO pin                                                               ns
                                                                                                                ns
Setup Times
                                                                                                                ns
TTDITCK          The time from the setup of data at the TDI pin to    5.0                       -               ns
                                                                                                              MHz
                 the rising transition at the TCK pin

TTMSTCK          The time from the setup of a logic level at the TMS  5.0                       -

                 pin to the rising transition at the TCK pin

Hold Times

TTCKTDI          The time from the rising transition at the TCK pin   0                         -

                 to the point when data is last held at the TDI pin

TTCKTMS          The time from the rising transition at the TCK pin   0                         -

                 to the point when a logic level is last held at the

                 TMS pin

Clock Timing

TCCH             The High pulse width at the TCK pin                  5                         -

TCCL             The Low pulse width at the TCK pin                   5                         -

FTCK             Frequency of the TCK signal                          -                         33

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 5.

38                                              www.xilinx.com                                  DS099-3 (v1.3) March 4, 2004

                                                   1-800-255-7778                               Advance Product Specification
          R                                            Spartan-3 FPGA Family: DC and Switching Characteristics

Revision History

  Date       Version No.                                               Description
04/11/03
07/11/03     1.0              Initial Xilinx release.
02/06/04
             1.1              Extended Absolute Maximum Rating for junction temperature in Table 1. Added numbers for
03/04/04
                              typical quiescent supply current (Table 7) and DLL timing.

             1.2              Revised VIN maximum rating (Table 1). Added power-on requirements (Table 3), leakage

                              current number (Table 6), and differential output voltage levels (Table 11) for Rev. 0. Published

                              new quiescent current numbers (Table 7). Updated pull-up and pull-down resistor strengths

                              (Table 6). Added LVDCI_DV2 and LVPECL standards (Table 10 and Table 11). Changed

                              CCLK setup time (Table 35 and Table 36).

             1.3              Added timing numbers from v1.29 speed files as well as DCM timing (Table 27 through

                              Table 32).

The Spartan-3 Family Data Sheet

DS099-1, Spartan-3 FPGA Family: Introduction and Ordering Information (Module 1)
DS099-2, Spartan-3 FPGA Family: Functional Description (Module 2)
DS099-3, Spartan-3 FPGA Family: DC and Switching Characteristics (Module 3)
DS099-4, Spartan-3 FPGA Family: Pinout Descriptions (Module 4)

DS099-3 (v1.3) March 4, 2004                           www.xilinx.com                                                    39

Advance Product Specification                          1-800-255-7778

40
Spartan-3 FPGA Family: DC and Switching Characteristics  R

40  www.xilinx.com                                       DS099-3 (v1.3) March 4, 2004

    1-800-255-7778                                       Advance Product Specification
                                                   0105

                              R                              Spartan-3 FPGA Family:

                                                             Pinout Descriptions

DS099-4 (v1.5) July 13, 2004                       0 0 Product Specification

Introduction                                                 The Package Overview section describes the various
                                                                  packaging options available for Spartan-3 FPGAs.
This data sheet module describes the various pins on a            Detailed pin list tables and footprint diagrams are
SpartanTM-3 FPGA and how they connect to the supported            provided for each package solution.
component packages.
                                                             Pin Descriptions
The Pin Types section categorizes all of the FPGA
     pins by their function type.                            Pin Types

The Pin Definitions section provides a top-level           A majority of the pins on a Spartan-3 FPGA are gen-
     description for each pin on the device.                 eral-purpose, user-defined I/O pins. There are, however, up
                                                             to 12 different functional types of pins on Spartan-3 pack-
The Detailed, Functional Pin Descriptions section          ages, as outlined in Table 1. In the package footprint draw-
     offers significantly more detail about each pin,        ings that follow, the individual pins are color-coded
     especially for the dual- or special-function pins used  according to pin type as in the table.
     during device configuration.

Some pins have associated optional behavior,
     controlled by settings in the configuration bitstream.
     These options are described in the Bitstream Options
     section.

Table 1: Types of Pins on Spartan-3 FPGAs

Type/                              Description                                 Pin Name(s) in Type
Color
Code

I/O    Unrestricted, general-purpose user-I/O pin. Most pins can be IO,

       paired together to form differential I/Os.                              IO_Lxxy_#

DUAL   Dual-purpose pin used in some configuration modes during the            IO_Lxxy_#/DIN/D0, IO_Lxxy_#/D1,
       configuration process and then usually available as a user I/O          IO_Lxxy_#/D2, IO_Lxxy_#/D3,
       after configuration. If the pin is not used during configuration, this  IO_Lxxy_#/D4, IO_Lxxy_#/D5,
       pin behaves as an I/O-type pin. There are 12 dual-purpose               IO_Lxxy_#/D6, IO_Lxxy_#/D7,
       configuration pins on every package.                                    IO_Lxxy_#/CS_B, IO_Lxxy_#/RDWR_B,
                                                                               IO_Lxxy_#/BUSY/DOUT,
                                                                               IO_Lxxy_#/INIT_B

CONFIG Dedicated configuration pin. Not available as a user-I/O pin.           CCLK, DONE, M2, M1, M0, PROG_B,
               Every package has seven dedicated configuration pins. These     HSWAP_EN
               pins are powered by VCCAUX.

JTAG   Dedicated JTAG pin. Not available as a user-I/O pin. Every              TDI, TMS, TCK, TDO

       package has four dedicated JTAG pins. These pins are powered

       by VCCAUX.

DCI Dual-purpose pin that is either a user-I/O pin or used to calibrate IO/VRN_#

       output buffer impedance for a specific bank using Digital               IO_Lxxy_#/VRN_#

       Controlled Impedance (DCI). There are two DCI pins per I/O IO/VRP_#

       bank.                                                                   IO_Lxxy_#/VRP_#

VREF   Dual-purpose pin that is either a user-I/O pin or, along with all       IO/VREF_#
       other VREF pins in the same bank, provides a reference voltage          IO_Lxxy_#/VREF_#
       input for certain I/O standards. If used for a reference voltage
       within a bank, all VREF pins within the bank must be connected.

2003-2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and disclaimers are as listed at http://www.xilinx.com/legal.htm.
            All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

DS099-4 (v1.5) July 13, 2004                       www.xilinx.com                                                                                                       1

Preliminary Product Specification                  1-800-255-7778
Spartan-3 FPGA Family: Pinout Descriptions                                                                        R

Table 1: Types of Pins on Spartan-3 FPGAs (Continued)

   Type/   Description                                                                 Pin Name(s) in Type
   Color
   Code

   GND     Dedicated ground pin. The number of GND pins depends on the         GND
           package used. All must be connected.

   VCCAUX Dedicated auxiliary power supply pin. The number of VCCAUX           VCCAUX
                   pins depends on the package used. All must be connected to
                   +2.5V.

   VCCINT  Dedicated internal core logic power supply pin. The number of       VCCINT
           VCCINT pins depends on the package used. All must be
           connected to +1.2V.

   VCCO    Dedicated I/O bank, output buffer power supply pin. Along with      VCCO_#
           other VCCO pins in the same bank, this pin supplies power to the    TQ144 Package Only:
           output buffers within the I/O bank and sets the input threshold     VCCO_LEFT, VCCO_TOP,
           voltage for some I/O standards.                                     VCCO_RIGHT, VCCO_BOTTOM

   GCLK    Dual-purpose pin that is either a user-I/O pin or an input to a     IO_Lxxy_#/GCLK0, IO_Lxxy_#/GCLK1,
           specific global buffer input. Every package has eight dedicated     IO_Lxxy_#/GCLK2, IO_Lxxy_#/GCLK3,
           GCLK pins.                                                          IO_Lxxy_#/GCLK4, IO_Lxxy_#/GCLK5,
                                                                               IO_Lxxy_#/GCLK6, IO_Lxxy_#/GCLK7
    N.C. This package pin is not connected in this specific
                 device/package combination but may be connected in larger     N.C.
                 devices in the same package.

Notes:
1. # = I/O bank number, an integer between 0 and 7.

I/Os with Lxxy_# are part of a differential output pair. `L' indi-   Pin Definitions
cates differential output capability. The "xx" field is a
two-digit integer, unique to each bank that identifies a differ-     Table 2 provides a brief description of each pin listed in the
ential pin-pair. The `y' field is either `P' for the true signal or  Spartan-3 pinout tables and package footprint diagrams.
`N' for the inverted signal in the differential pair. The `#' field  Pins are categorized by their pin type, as listed in Table 1.
is the I/O bank number.                                              See Detailed, Functional Pin Descriptions for more infor-
                                                                     mation.

2                                           www.xilinx.com                             DS099-4 (v1.5) July 13, 2004

                                            1-800-255-7778                             Product Specification
     R                                                              Spartan-3 FPGA Family: Pinout Descriptions

Table 2: Spartan-3 Pin Definitions

     Pin Name                  Direction                                               Description

I/O: General-purpose I/O pins                       User I/O:
                                                    Unrestricted single-ended user-I/O pin. Supports all I/O standards
I/O                    User-defined as input,       except the differential standards.

                       output, bidirectional,       User I/O, Half of Differential Pair:
                                                    Unrestricted single-ended user-I/O pin or half of a differential pair.
                       three-state output,          Supports all I/O standards including the differential standards.

                       open-drain output,           Configuration Data Port:
                                                    In Parallel (SelectMAP) modes, D0-D7 are byte-wide configuration
                       open-source output           data pins. These pins become user I/Os after configuration unless
                                                    the SelectMAP port is retained via the Persist bitstream option.
I/O_Lxxy_#             User-defined as input,       In Serial modes, DIN (D0) serves as the single configuration data
                       output, bidirectional,       input. This pin becomes a user I/O after configuration unless
                       three-state output,          retained by the Persist bitstream option.
                       open-drain output,
                       open-source output           Chip Select for Parallel Mode Configuration:
                                                    In Parallel (SelectMAP) modes, this is the active-Low Chip Select
DUAL: Dual-purpose configuration pins               signal. This pin becomes a user I/O after configuration unless the
                                                    SelectMAP port is retained via the Persist bitstream option.
IO_Lxxy_#/DIN/D0,      Input during configuration
IO_Lxxy_#/D1,                                       Read/Write Control for Parallel Mode Configuration:
IO_Lxxy_#/D2,          Possible bidirectional I/O   In Parallel (SelectMAP) modes, this is the active-Low Write
IO_Lxxy_#/D3,          after configuration if       Enable, active-High Read Enable signal. This pin becomes a user
IO_Lxxy_#/D4,          SelectMap port is retained.  I/O after configuration unless the SelectMAP port is retained via
IO_Lxxy_#/D5,                                       the Persist bitstream option.
IO_Lxxy_#/D6,          Otherwise, user I/O after
IO_Lxxy_#/D7           configuration                Configuration Data Rate Control for Parallel Mode, Serial Data
                                                    Output for Serial Mode:
IO_Lxxy_#/CS_B         Input during Parallel mode   In Parallel (SelectMAP) modes, BUSY throttles the rate at which
                       configuration                configuration data is loaded. This pin becomes a user I/O after
                                                    configuration unless the SelectMAP port is retained via the Persist
                       Possible input after         bitstream option.
                       configuration if SelectMap   In Serial modes, DOUT provides preamble and configuration data
                       port is retained.            to downstream devices in a multi-FPGA daisy-chain. This pin
                                                    becomes a user I/O after configuration.
                       Otherwise, user I/O after
                       configuration

IO_Lxxy_#/RDWR_B       Input during Parallel mode
                       configuration

                       Possible input after
                       configuration if SelectMap
                       port is retained.

                       Otherwise, user I/O after
                       configuration

IO_Lxxy_#/             Output during configuration
BUSY/DOUT
                       Possible output after
                       configuration if SelectMap
                       port is retained.

                       Otherwise, user I/O after
                       configuration

DS099-4 (v1.5) July 13, 2004                        www.xilinx.com                                                          3

Product Specification                               1-800-255-7778
Spartan-3 FPGA Family: Pinout Descriptions                                                                             R

Table 2: Spartan-3 Pin Definitions (Continued)

   Pin Name                       Direction                        Description

IO_Lxxy_#/INIT_B  Bidirectional (open-drain)    Initializing Configuration Memory/Detected Configuration Error:
                  during configuration
                                                When Low, this pin indicates that configuration memory is being
                  User I/O after configuration  cleared. When held Low, this pin delays the start of configuration.
                                                After this pin is released or configuration memory is cleared, the
                                                pin goes High. During configuration, a Low on this output indicates
                                                that a configuration data error occurred. This pin becomes a user
                                                I/O after configuration.

DCI: Digitally Controlled Impedance reference resistor input pins

IO_Lxxy_#/VRN_# or Input when using DCI         DCI Reference Resistor for NMOS I/O Transistor (per bank):

IO/VRN_#          Otherwise, same as I/O        If using DCI, a 1% precision impedance-matching resistor is
                                                connected between this pin and the VCCO supply for this bank.
                                                Otherwise, this pin is a user I/O.

IO_Lxxy_#/VRP_# or Input when using DCI         DCI Reference Resistor for PMOS I/O Transistor (per bank):

IO/VRP_#          Otherwise, same as I/O        If using DCI, a 1% precision impedance-matching resistor is
                                                connected between this pin and the ground supply. Otherwise, this
                                                pin is a user I/O.

GCLK: Global clock buffer inputs

IO_Lxxy_#/GCLK0,  Input if connected to global  Global Buffer Input:
IO_Lxxy_#/GCLK1,  clock buffers
IO_Lxxy_#/GCLK2,                                Direct input to a low-skew global clock buffer. If not connected to a
IO_Lxxy_#/GCLK3,  Otherwise, same as I/O        global clock buffer, this pin is a user I/O.
IO_Lxxy_#/GCLK4,
IO_Lxxy_#/GCLK5,
IO_Lxxy_#/GCLK6,
IO_Lxxy_#/GCLK7

VREF: I/O bank input reference voltage pins

IO_Lxxy_#/VREF_#  Voltage supply input when     Input Buffer Reference Voltage for Special I/O Standards (per
or                VREF pins are used within a   bank):
IO/VREF_#         bank.
                                                If required to support special I/O standards, all the VREF pins
                  Otherwise, same as I/O        within a bank connect to a input threshold voltage source.

                                                If not used as input reference voltage pins, these pins are available
                                                as individual user-I/O pins.

CONFIG: Dedicated configuration pins

CCLK              Input in Slave configuration  Configuration Clock:
                  modes                         The configuration clock signal synchronizes configuration data.

                  Output in Master
                  configuration modes

PROG_B            Input                         Program/Configure Device:

                                                Active Low asynchronous reset to configuration logic. Asserting
                                                PROG_B Low for an extended period delays the configuration
                                                process. This pin has an internal weak pull-up resistor during
                                                configuration.

4                                               www.xilinx.com                  DS099-4 (v1.5) July 13, 2004

                                                1-800-255-7778                  Product Specification
        R                                                             Spartan-3 FPGA Family: Pinout Descriptions

Table 2: Spartan-3 Pin Definitions (Continued)

     Pin Name                  Direction                              Description

DONE                   Bidirectional with open-drain  Configuration Done, Delay Start-up Sequence:
                       or totem-pole Output
                                                      A Low-to-High output transition on this bidirectional pin signals the
                                                      end of the configuration process.

                                                      The FPGA produces a Low-to-High transition on this pin to
                                                      indicate that the configuration process is complete. The DriveDone
                                                      bitstream generation option defines whether this pin functions as
                                                      a totem-pole output that actively drives High or as an open-drain
                                                      output. An open-drain output requires a pull-up resistor to produce
                                                      a High logic level. The open-drain option permits the DONE lines
                                                      of multiple FPGAs to be tied together, so that the common node
                                                      transitions High only after all of the FPGAs have completed
                                                      configuration. Externally holding the open-drain output Low delays
                                                      the start-up sequence, which marks the transition to user mode.

M0, M1, M2             Input                          Configuration Mode Selection:

                                                      These inputs select the configuration mode. The logic levels
                                                      applied to the mode pins are sampled on the rising edge of INIT_B.
                                                      See Table 7.

HSWAP_EN               Input                          Disable Weak Pull-up Resistors During Configuration:

                                                      A Low on this pin enables weak pull-up resistors on all pins that are
                                                      not actively involved in the configuration process. A High value
                                                      disables all pull-ups, allowing the non-configuration pins to float.

JTAG: JTAG interface pins

TCK                    Input                          JTAG Test Clock:
                                                      The TCK clock signal synchronizes all JTAG port operations.

TDI                    Input                          JTAG Test Data Input:

                                                      TDI is the serial data input for all JTAG instruction and data
                                                      registers.

TMS                    Input                          JTAG Test Mode Select:
                                                      The serial TMS input controls the operation of the JTAG port.

TDO                    Output                         JTAG Test Data Output:

                                                      TDO is the serial data output for all JTAG instruction and data
                                                      registers.

VCCO: I/O bank output voltage supply pins

VCCO_#                 Supply                         Power Supply for Output Buffer Drivers (per bank):
                                                      These pins power the output drivers within a specific I/O bank.

VCCAUX: Auxiliary voltage supply pins

VCCAUX                 Supply                         Power Supply for Auxiliary Circuits:

                                                      +2.5V power pins for auxiliary circuits, including the Digital Clock
                                                      Managers (DCMs), the dedicated configuration pins (CONFIG),
                                                      and the dedicated JTAG pins. All VCCAUX pins must be
                                                      connected.

VCCINT: Internal core voltage supply pins

VCCINT                 Supply                         Power Supply for Internal Core Logic:
                                                      +1.2V power pins for the internal logic. All pins must be connected.

DS099-4 (v1.5) July 13, 2004                          www.xilinx.com                                                         5

Product Specification                                 1-800-255-7778
Spartan-3 FPGA Family: Pinout Descriptions                                                                                                R

Table 2: Spartan-3 Pin Definitions (Continued)

      Pin Name                  Direction                                       Description

GND: Ground supply pins

GND             Supply                                          Ground:

                                                                Ground pins, which are connected to the power supply's return
                                                                path. All pins must be connected.

N.C.: Unconnected package pins

N.C.                                                            Unconnected Package Pin:
                                                                These package pins are unconnected.

Notes:

1. All unused inputs and bidirectional pins must be tied either High or Low. For unused enable inputs, apply the level that disables the
      associated function. One common approach is to activate internal pull-up or pull-down resistors. An alternative approach is to
      externally connect the pin to either VCCO or GND.

2. All outputs are of the totem-pole type -- i.e., they can drive High as well as Low logic levels -- except for the cases where "Open
      Drain" is indicated. The latter can only drive a Low logic level and require a pull-up resistor to produce a High logic level.

Detailed, Functional Pin Descriptions                            `L' indicates differential capability.

I/O Type: Unrestricted, General-purpose I/O                      "xx" is a two-digit integer, unique for each bank, that
Pins                                                                 identifies a differential pin-pair.

After configuration, I/O-type pins are inputs, outputs, bidi-    `y' is replaced by `P' for the true signal or `N' for the
rectional I/O, three-state outputs, open-drain outputs, or           inverted. These two pins form one differential pin-pair.
open-source outputs, as defined in the application
                                                                `#' is an integer, 0 through 7, indicating the associated
Pins labeled "IO" support all SelectIOTM signal standards            I/O bank.
except differential standards. A given device at most only
has a few of these pins.                                        If unused, these pins are in a high impedance state. The Bit-
                                                                stream generator option UnusedPin enables a weak pull-up
A majority of the general-purpose I/O pins are labeled in the   or pull-down resistor on all unused I/O pins.
format "IO_Lxxy_#". These pins support all SelectIO signal
standards, including the differential standards such as         Behavior from Power-On through End of Configu-
LVDS, ULVDS, BLVDS, RSDS, or LDT.                               ration

For additional information, see the "IOB" section under         During the configuration process, all pins that are not
Functional Description (Module 2 of the Spartan-3 data sheet).  actively involved in the configuration process are in a
                                                                high-impedance state. The HSWAP_EN input determines
Differential Pair Labeling                                      whether or not weak pull-up resistors are enabled during
                                                                configuration. HSWAP_EN = 0 enables the weak pull-up
A pin supports differential standards if the pin is labeled in  resistors. HSWAP_EN = 1 disables the pull-up resistors
the format "Lxxy_#". The pin name suffix has the following      allowing the pins to float, which is the desired state for
significance. Figure 1 provides a specific example showing      hot-swap applications.
a differential input to and a differential output from Bank 2.

                                                                                           Pair Number

                Bank 0   Bank 1
                Bank 5
                B ank 6 Bank 7                                                  IO_L38P_2  Bank Number
                                                B ank 3 Bank 2
                                                                                IO_L38N_2  Positive Polarity,
                                                                                IO_L39P_2     True Driver

                                                                                IO_L39N_2

                         Bank 4                                                            Negative Polarity,
                                                                                            Inverted Driver
                                      Figure 1: Differential Pair Labelling
                                                                                                             DS099-4_01_042303

6                                                               www.xilinx.com                       DS099-4 (v1.5) July 13, 2004

                                                                1-800-255-7778                                                  Product Specification
        R                                                          Spartan-3 FPGA Family: Pinout Descriptions

DUAL Type: Dual-Purpose Configuration and                       Serial Configuration Modes
I/O Pins
                                                                This section describes the dual-purpose pins used during
These pins serve dual purposes. The user-I/O pins are tem-      either Master or Slave Serial mode. See Table 7 for Mode
porarily borrowed during the configuration process to load      Select pin settings required for Serial modes. All such pins
configuration data into the FPGA. After configuration, these    are in Bank 4 and powered by VCCO_4.
pins are then usually available as a user I/O in the applica-
tion. If a pin is not applicable to the specific configuration  In both the Master and Slave Serial modes, DIN is the serial
mode--controlled by the mode select pins M2, M1, and            configuration data input. The D1-D7 inputs are unused in
M0--then the pin behaves as an I/O-type pin.                    serial mode and behave like general-purpose I/O pins.

There are 12 dual-purpose configuration pins on every           In all the cases, the configuration data is synchronized to
package, six of which are part of I/O Bank 4, the other six     the rising edge of the CCLK clock signal.
part of I/O Bank 5. Only a few of the pins in Bank 4 are used
in the Serial configuration modes.                              The DIN, DOUT, and INIT_B pins can be retained in the
                                                                application to support reconfiguration by setting the Persist
See "Configuration" under Functional Description (Module 2      bitstream generation option. However, the serial modes do
of the Spartan-3 data sheet).                                   not support device readback.

See "Pin Behavior During Configuration, page 15".

Table 3: Dual-Purpose Pins Used in Master or Slave Serial Mode

Pin Name Direction                                                 Description

DIN                    Input   Serial Data Input:

                               During the Master or Slave Serial configuration modes, DIN is the serial configuration data
                               input, and all data is synchronized to the rising CCLK edge. After configuration, this pin is
                               available as a user I/O.

                               This signal is located in Bank 4 and its output voltage determined by VCCO_4.

                               The BitGen option Persist permits this pin to retain its configuration function in the User
                               mode.

DOUT                   Output  Serial Data Output:

                               In a multi-FPGA design where all the FPGAs use serial mode, connect the DOUT output of
                               one FPGA--in either Master or Slave Serial mode--to the DIN input of the next FPGA--in
                               Slave Serial mode--so that configuration data passes from one to the next, in daisy-chain
                               fashion. This "daisy chain" permits sequential configuration of multiple FPGAs.

                               This signal is located in Bank 4 and its output voltage determined by VCCO_4.

                               The BitGen option Persist permits this pin to retain its configuration function in the User
                               mode.

INIT_B     Bidirectional       Initializing Configuration Memory/Configuration Error:
           (open-drain)
                               Just after power is applied, the FPGA produces a Low-to-High transition on this pin
                               indicating that initialization (i.e., clearing) of the configuration memory has finished. Before
                               entering the User mode, this pin functions as an open-drain output, which requires a pull-up
                               resistor in order to produce a High logic level. In a multi-FPGA design, tie (wire AND) the
                               INIT_B pins from all FPGAs together so that the common node transitions High only after
                               all of the FPGAs have been successfully initialized.

                               Externally holding this pin Low beyond the initialization phase delays the start of
                               configuration. This action stalls the FPGA at the configuration step just before the mode
                               select pins are sampled.

                               During configuration, the FPGA indicates the occurrence of a data (i.e., CRC) error by
                               asserting INIT_B Low.

                               This signal is located in Bank 4 and its output voltage determined by VCCO_4.

                               The BitGen option Persist permits this pin to retain its configuration function in the User
                               mode.

DS099-4 (v1.5) July 13, 2004                       www.xilinx.com                                                                7

Product Specification                              1-800-255-7778
Spartan-3 FPGA Family: Pinout Descriptions                                                             R

                                I/O Bank 4 (VCCO_4)                           I/O Bank 5 (VCCO_5)

                                            High Nibble                       Low Nibble

   Configuration Data Byte  D0              D1                    D2  D3  D4  D5  D6               D7
              0xA5 =
                            1               0                     1   0   0   1   0                1

   Figure 2: Configuration Data Byte Mapping to D0-D7 Bits

Parallel Configuration Modes (SelectMAP)                              CS_B and RDWR_B does not matter, although RDWR_B
                                                                      must be asserted throughout the configuration process. If
This section describes the dual-purpose configuration pins            RDWR_B is de-asserted during configuration, the FPGA
used during the Master and Slave Parallel configuration               aborts the configuration operation.
modes, sometimes also called the SelectMAP modes. In
both Master and Slave Parallel configuration modes, D0-D7             After configuration, these pins are available as general-pur-
form the byte-wide configuration data input. See Table 7 for          pose user I/O. However, the SelectMAP configuration inter-
Mode Select pin settings required for Parallel modes.                 face is optionally available for debugging and dynamic
                                                                      reconfiguration. To use these SelectMAP pins after configu-
As shown in Figure 2, D0 is the most-significant bit while D7         ration, set the Persist bitstream generation option.
is the least-significant bit. Bits D0-D3 form the high nibble of
the byte and bits D4-D7 form the low nibble.                          The Readback debugging option, for example, requires the
                                                                      Persist bitstream generation option. During Readback
In the Parallel configuration modes, both the VCCO_4 and              mode, assert CS_B Low, along with RDWR_B High, to read
VCCO_5 voltage supplies are required and must both equal              a configuration data byte from the FPGA to the D0-D7 bus
the voltage of the attached configuration device, typically           on a rising CCLK edge. During Readback mode, D0-D7 are
either 2.5V or 3.3V.                                                  output pins.

Assert Low both the chip-select pin, CS_B, and the                    In all the cases, the configuration data and control signals
read/write control pin, RDWR_B, to write the configuration            are synchronized to the rising edge of the CCLK clock sig-
data byte presented on the D0-D7 pins to the FPGA on a                nal.
rising-edge of the configuration clock, CCLK. The order of

8                                              www.xilinx.com                     DS099-4 (v1.5) July 13, 2004

                                                1-800-255-7778                            Product Specification
      R                                                                 Spartan-3 FPGA Family: Pinout Descriptions

Table 4: Dual-Purpose Configuration Pins for Parallel (SelectMAP) Configuration Modes

Pin     Direction                                                Description
Name

D0,      Input during Configuration Data Port (high nibble):

D1,      configuration Collectively, the D0-D7 pins are the byte-wide configuration data port for the Parallel

D2,                           (SelectMAP) configuration modes. Configuration data is synchronized to the rising edge of

D3       Output during CCLK clock signal.

         readback The D0-D3 pins are the high nibble of the configuration data byte and located in Bank 4 and

                              powered by VCCO_4.

                              The BitGen option Persist permits this pin to retain its configuration function in the User mode.

D4,      Input during Configuration Data Port (low nibble):

D5,      configuration The D4-D7 pins are the low nibble of the configuration data byte. However, these signals are

D6,                           located in Bank 5 and powered by VCCO_5.

D7       Output during The BitGen option Persist permits this pin to retain its configuration function in the User mode.

         readback

CS_B     Input                Chip Select for Parallel Mode Configuration:

                              Assert this pin Low, together with RDWR_B to write a configuration data byte from the D0-D7
                              bus to the FPGA on a rising CCLK edge.

                              During Readback, assert this pin Low, along with RDWR_B High, to read a configuration data
                              byte from the FPGA to the D0-D7 bus on a rising CCLK edge.

                              This signal is located in Bank 5 and powered by VCCO_5.
                              The BitGen option Persist permits this pin to retain its configuration function in the User mode.

                              CS_B                                               Function
                                 0  FPGA selected. SelectMAP inputs are valid on the next rising edge of CCLK.
                                 1  FPGA deselected. All SelectMAP inputs are ignored.

DS099-4 (v1.5) July 13, 2004                      www.xilinx.com                                                           9

Product Specification                             1-800-255-7778
Spartan-3 FPGA Family: Pinout Descriptions                                                                                  R

Table 4: Dual-Purpose Configuration Pins for Parallel (SelectMAP) Configuration Modes (Continued)

     Pin  Direction                                           Description
    Name

RDWR_B    Input          Read/Write Control for Parallel Mode Configuration:

                         In Master and Slave Parallel modes, assert this pin Low together with CS_B to write a
                         configuration data byte from the D0-D7 bus to the FPGA on a rising CCLK edge. Once
                         asserted during configuration, RDWR_B must remain asserted until configuration is
                         complete.

                         During Readback, assert this pin High with CS_B Low to read a configuration data byte from
                         the FPGA to the D0-D7 bus on a rising CCLK edge.

                         This signal is located in Bank 5 and powered by VCCO_5.

                         The BitGen option Persist permits this pin to retain its configuration function in the User mode.

                         RDWR_B                                               Function
                              0
                              1  If CS_B is Low, then load (write) configuration data to the FPGA.
                                 This option is valid only if the Persist bitstream option is set to Yes. If CS_B is
                                 Low, then read configuration data from the FPGA.

BUSY      Output         Configuration Data Rate Control for Parallel Mode:
INIT_B
                         In the Slave and Master Parallel modes, BUSY throttles the rate at which configuration data
                         is loaded. BUSY is only necessary if CCLK operates at greater than 50 MHz. Ignore BUSY
                         for frequencies of 50 MHz and below.

                         When BUSY is Low, the FPGA accepts the next configuration data byte on the next rising
                         CCLK edge for which CS_B and RDWR_B are Low. When BUSY is High, the FPGA ignores
                         the next configuration data byte. The next configuration data value must be held or reloaded
                         until the next rising CCLK edge when BUSY is Low. When CS_B is High, BUSY is in a high
                         impedance state.

                         BUSY                                    Function

                         0       The FPGA is ready to accept the next configuration data byte.

                         1       The FPGA is busy processing the current configuration data byte and is not

                                 ready to accept the next byte.

                         Hi-Z    If CS_B is High, then BUSY is high impedance.

                         This signal is located in Bank 4 and its output voltage is determined by VCCO_4. The BitGen
                         option Persist permits this pin to retain its configuration function in the User mode.

          Bidirectional  Initializing Configuration Memory/Configuration Error (active-Low):
          (open-drain)   See description under Serial Configuration Modes, page 7.

JTAG Configuration Mode                                       LVCMOS25 I/O standard. If connected to +3.3V, then the
                                                              pins drive LVCMOS output levels and accept either LVTTL
In the JTAG configuration mode all dual-purpose configura-    or LVCMOS input levels.
tion pins are unused and behave exactly like user-I/O pins,
as shown in Table 10. See Table 7 for Mode Select pin set-    Dual-Purpose Pin Behavior After Configuration
tings required for JTAG mode.
                                                              After the configuration process completes, these pins, if
Dual-Purpose Pin I/O Standard During Configura-               they were borrowed during configuration, become user-I/O
tion                                                          pins available to the application. If a dual-purpose configu-
                                                              ration pin is not used during the configuration process--i.e.,
During configuration, the dual-purpose pins default to        the parallel configuration pins when using serial
CMOS input and output levels for the associated VCCO          mode--then the pin behaves exactly like a general-purpose
voltage supply pins. For example, in the Parallel configura-  I/O. See I/O Type: Unrestricted, General-purpose I/O
tion modes, both VCCO_4 and VCCO_5 are required. If           Pins section above.
connected to +2.5V, then the associated pins conform to the

10                                          www.xilinx.com                        DS099-4 (v1.5) July 13, 2004

                                           &