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

产品描述

搜索
 

XC3S1000-5FG900C

器件型号:XC3S1000-5FG900C
器件类别:半导体    可编程逻辑器件   
厂商名称:XILINX
厂商官网:https://www.xilinx.com/
下载文档

器件描述

FPGA, 8320 CLBS, 5000000 GATES, 725 MHz, PBGA900

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

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

文档预览

XC3S1000-5FG900C器件文档内容

                          0

                       R                   Spartan-3 FPGA Family

                                           Data Sheet

DS099 June 25, 2008       0 0 Product Specification

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

Module 1:                                  Module 3:
Spartan-3 FPGA Family: Introduction        Spartan-3 FPGA Family: DC and
and Ordering Information                   Switching Characteristics

DS099-1 (v2.4) June 25, 2008               DS099-3 (v2.4) June 25, 2008

Introduction                              DC Electrical Characteristics
Features                                      - Absolute Maximum Ratings
Architectural Overview                        - Supply Voltage Specifications
Array Sizes and Resources                     - Recommended Operating Conditions
User I/O Chart                                - DC Characteristics
Ordering Information
                                           Switching Characteristics
Module 2:                                       - I/O Timing
Spartan-3 FPGA Family: Functional               - Internal Logic Timing
Description                                     - DCM Timing
                                                - Configuration and JTAG Timing
DS099-2 (v2.4) June 25, 2008
                                           Module 4:
Input/Output Blocks (IOBs)               Spartan-3 FPGA Family: Pinout
     - IOB Overview                        Descriptions
     - SelectIOTM Interface I/O Standards
                                           DS099-4 (v2.4) June 25, 2008
Configurable Logic Blocks (CLBs)
Block RAM                                 Pin Descriptions
Dedicated Multipliers                         - Pin Behavior During Configuration
Digital Clock Manager (DCM)
Clock Network                            Package Overview
Configuration                            Pinout Tables

                                                - Footprints

IMPORTANT NOTE: Each module has its own Revision History at the end. Use the PDF "Bookmarks" for easy navigation
in this volume.

2003-2008 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 June 25, 2008       www.xilinx.com                                                                                                                                1

Product Specification
                   R

2  www.xilinx.com  DS099 June 25, 2008

                   Product Specification
                                                          R                                       Spartan-3 FPGA Family:

DS099-1 (v2.4) June 25, 2008                                         10                           Introduction and Ordering

                                                                                                  Information

                                                                     0 0 Product Specification

Introduction                                                                                      Features

The Spartan-3 family of Field-Programmable Gate Arrays                                           Low-cost, high-performance logic solution for high-volume,
is specifically designed to meet the needs of high volume,                                              consumer-oriented applications
cost-sensitive consumer electronic applications. The                                                    - Densities up to 74,880 logic cells
eight-member family offers densities ranging from 50,000 to
five million system gates, as shown in Table 1.                                                    SelectIOTM interface signaling
                                                                                                        - Up to 633 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                                                    - 18 single-ended signal standards
resources, the capacity of internal RAM, the total number of                                            - 8 differential I/O standards including LVDS, RSDS
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.465V
enhancements derive from the Virtex-II platform technol-                                               - Double Data Rate (DDR) support
ogy. These Spartan-3 FPGA enhancements, combined with                                                   - DDR, DDR2 SDRAM support up to 333 Mbps
advanced process technology, deliver more functionality
and bandwidth per dollar than was previously possible, set-                                        Logic resources
ting new standards in the programmable logic industry.                                                  - Abundant logic cells with shift register capability
                                                                                                        - Wide, fast multiplexers
Because of their exceptionally low cost, Spartan-3 FPGAs                                                - Fast look-ahead carry logic
are ideally suited to a wide range of consumer electronics                                              - Dedicated 18 x 18 multipliers
applications, including broadband access, home network-                                                 - JTAG logic compatible with IEEE 1149.1/1532
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
conventional ASICs. Also, FPGA programmability permits                                             Digital Clock Manager (up to four DCMs)
design upgrades in the field with no hardware replacement                                               - Clock skew elimination
necessary, an impossibility with ASICs.                                                                 - Frequency synthesis
                                                                                                        - High resolution phase shifting
The Spartan-3 FPGAs are the first platform among several
within the Spartan-3 Generation FPGAs.                                                             Eight global clock lines and abundant routing

Table 1: Summary of Spartan-3 FPGA Attributes                                                      Fully supported by Xilinx ISE and WebPACKTM
                                                                                                       software development systems

                                                                                                   MicroBlazeTM and PicoBlazeTM processor, PCI, PCI
                                                                                                        Express PIPE Endpoint, and other IP cores

                                                                                                   Pb-free packaging options

                                                                                                   Automotive Spartan-3 XA Family variant

                       Equivalent                                      CLB Array                  Distributed  Block RAM                                Maximum
                          Logic                              (One CLB = Four Slices)               RAM Bits         Bits                                Differential
                          Cells1                                                                   (K=1024)
    Device  System                                                                         Total                (K=1024)  Dedicated    DCMs  Maximum     I/O Pairs
             Gates       1,728                               Rows Columns CLBs                        12K                 Multipliers         User I/O
XC3S502                                                                                               30K          72K                   2                   56
XC3S2002      50K        4,320                               16  12  192                              56K         216K         4         4      124          76
XC3S4002     200K                                                                                    120K         288K         12        4      173         116
XC3S10002    400K        8,064                               24  20  480                                          432K         16        4      264         175
              1M                                                                                                               24               391
                         17,280                              32  28  896

                                                             48  40  1,920

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     633        300

XC3S5000 5M            74,880 104                                80  8,320                        520K         1,872K     104          4     633        300

Notes:
1. Logic Cell = 4-input Look-Up Table (LUT) plus a `D' flip-flop. "Equivalent Logic Cells" equals "Total CLBs" x 8 Logic Cells/CLB x 1.125 effectiveness.
2. These devices are available in Xilinx Automotive versions as described in DS314: Spartan-3 Automotive XA FPGA Family.

2003-2008 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 (v2.4) June 25, 2008                                         www.xilinx.com                                                                                     3

Product Specification
Spartan-3 FPGA Family: Introduction and Ordering Information                                                                                                                                  R

Architectural Overview                                           Digital Clock Manager (DCM) blocks provide
                                                                     self-calibrating, fully digital solutions for distributing,
The Spartan-3 family architecture consists of five funda-            delaying, multiplying, dividing, and phase shifting clock
mental programmable functional elements:                             signals.

Configurable Logic Blocks (CLBs) contain RAM-based            These elements are organized as shown in Figure 1. A ring
     Look-Up Tables (LUTs) to implement logic and storage       of IOBs surrounds a regular array of CLBs. The XC3S50
     elements that can be used as flip-flops or latches.        has a single column of block RAM embedded in the array.
     CLBs can be programmed to perform a wide variety of        Those devices ranging from the XC3S200 to the XC3S2000
     logical functions as well as to store data.                have two columns of block RAM. The XC3S4000 and
                                                                XC3S5000 devices have four RAM columns. Each column
Input/Output Blocks (IOBs) control the flow of data           is made up of several 18-Kbit RAM blocks; each block is
     between the I/O pins and the internal logic of the         associated with a dedicated multiplier. The DCMs are posi-
     device. Each IOB supports bidirectional data flow plus     tioned at the ends of the outer block RAM columns.
     3-state operation. Twenty-six different signal standards,
     including eight high-performance differential standards,   The Spartan-3 family features a rich network of traces and
     are available as shown in Table 2. Double Data-Rate        switches that interconnect all five functional elements,
     (DDR) registers are included. The Digitally Controlled     transmitting signals among them. Each functional element
     Impedance (DCI) feature provides automatic on-chip         has an associated switch matrix that permits multiple con-
     terminations, simplifying board designs.                   nections to the routing.

Block RAM provides data storage in the form of 18-Kbit
     dual-port blocks.

Multiplier blocks accept two 18-bit binary numbers as
     inputs and calculate the product.

                                                                                                                                                                           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

4  www.xilinx.com                                               DS099-1 (v2.4) June 25, 2008

                                                                                                                                                                                              Product Specification
              R                                             Spartan-3 FPGA Family: Introduction and Ordering Information

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

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

Standard                      Description                       VCCO        Class                         Symbol        DCI
Category                                                         (V)                                 (IOSTANDARD)     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(1)                PCI33_3          No

SSTL             Stub Series Terminated Logic                   1.8         N/A (6.7 mA)            SSTL18_I         Yes

                                                                            N/A (13.4 mA)           SSTL18_II        No

                                                                2.5         I                        SSTL2_I          Yes

                                                                            II                       SSTL2_II         Yes

Differential

LDT              Lightning Data Transport (HyperTransportTM)    2.5         N/A                      LDT_25           No
(ULVDS)
                 Logic

LVDS             Low-Voltage Differential Signaling                         Standard                 LVDS_25          Yes

                                                                            Bus                      BLVDS_25         No

                                                                            Extended Mode            LVDSEXT_25       Yes

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

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

HSTL             Differential High-Speed Transceiver Logic      1.8         II                       DIFF_HSTL_II_18  Yes

SSTL             Differential Stub Series Terminated Logic      2.5         II                       DIFF_SSTL2_II    Yes

Notes:
1. 66 MHz PCI is not supported by the Xilinx IP core although PCI66_3 is an available I/O standard.

DS099-1 (v2.4) June 25, 2008                                www.xilinx.com                                                    5

Product Specification
Spartan-3 FPGA Family: Introduction and Ordering Information                                                                    R

Table 3 shows the number of user I/Os as well as the num-
ber of differential I/O pairs available for each device/pack-
age combination.

Table 3: Spartan-3 Device I/O Chart

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

          VQ100   CP132   TQ144   PQ208   FT256                    FG320   FG456   FG676                      FG900  FG1156(1)
         VQG100  CPG132  TQG144  PQG208  FTG256                   FGG320  FGG456  FGG676                     FGG900  FGG1156

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

XC3S50   63 29 89 44 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 -  -    -  -    -  -    -  -    -                     -  -  - 333 149 489 221 565 270 -                        -

XC3S4000 -  -    -  -    -  -    -  -    -                     -  -  -    -  - 489 221 633 300 712(1) 312(1)

XC3S5000 -  -    -  -    -  -    -  -    -                     -  -  -    -  - 489 221 633 300 784(1) 344(1)

Notes:
1. The FG(G)1156 package is being discontinued and is not recommended for new designs. See

      http://www.xilinx.com/support/documentation/spartan-3_customer_notices.htm for the latest updates.
2. All device options listed in a given package column are pin-compatible.
3. User = Single-ended user I/O pins. Diff = Differential I/O pairs.

6                                        www.xilinx.com                                                   DS099-1 (v2.4) June 25, 2008

                                                                                                                Product Specification
R                                                     Spartan-3 FPGA Family: Introduction and Ordering Information

Package Marking                                              marking for Spartan-3 FPGAs in the CP132 and CPG132
                                                             packages.
Figure 2 shows the top marking for Spartan-3 FPGAs in the
quad-flat packages. Figure 3 shows the top marking for       The "5C" and "4I" part combinations may be dual marked
Spartan-3 FPGAs in BGA packages except the 132-ball          as "5C/4I". Devices with the dual mark can be used as
chip-scale package (CP132 and CPG132). The markings          either -5C or -4I devices. Devices with a single mark are
for the BGA packages are nearly identical to those for the   only guaranteed for the marked speed grade and tempera-
quad-flat packages, except that the marking is rotated with  ture range.
respect to the ball A1 indicator. Figure 4 shows the top

                                Device Type                                                                      R    Mask Revision Code
                                      Package                                                                         Fabrication Code
                                                      SPARTAN R
                                Speed Grade                                                                           Process Technology
                       Temperature Range              XC3S400 TM                                                      Date Code
                                                      PQ208EGQ0525                                                    Lot Code
                                                      D1234567A
                                                      4C

                              Pin P1                                                                                  DS099-1_03_050305

   Figure 2: Spartan-3 QFP Package Marking Example for Part Number XC3S400-4PQ208C

                                        BGA Ball A1                                                                R  Mask Revision Code
                                                                                                                      Fabrication Code
                                       Device Type    SPARTAN R                                                       Process Code
                                             Package                                                                  Date Code
                                                      XC3S1000TM                                                      Lot Code
                                       Speed Grade    FT256EGQ0525
                              Temperature Range       D1234567A                                                                     DS099-1_04_050305
                                                      4C

   Figure 3: Spartan-3 BGA Package Marking Example for Part Number XC3S1000-4FT256C

                              Ball A1                        3S50                                                     Device Type

                              Lot Code                F1234567-0525                                                   Date Code

                                                      PHILIPPINES                                                     Temperature Range

                              Package                 C5EGQ 4C

                              C5 = CP132

                              C6 = CPG132                                                                             Speed Grade

                                                             Process Code

                              Mask Revision Code             Fabrication Code                                         DS099-1_05_050305

   Figure 4: Spartan-3 CP132 and CPG132 Package Marking Example for XC3S50-4CP132C

DS099-1 (v2.4) June 25, 2008                          www.xilinx.com                                                                                   7

Product Specification
Spartan-3 FPGA Family: Introduction and Ordering Information                                                R

Ordering Information

Spartan-3 FPGAs are available in both standard and Pb-free packaging options for all device/package combinations. The
Pb-free packages include a special `G' character in the ordering code.

Standard Packaging

                     Example: XC3S50 -4 PQ 208 C  Temperature Range:

                     Device Type                   C = Commercial (T = 0C to 85C)
                    Speed Grade                    I = Industrial (TJ = -J40C to 100C)
                   Package Type
                                                  Number of Pins                        DS099-1_02a_071304

Pb-Free Packaging

For additional information on Pb-free packaging, see XAPP427: "Implementation and Solder Reflow Guidelines for Pb-Free
Packages".

                   Example: XC3S50 -4 PQ G 208 C

                     Device Type                  Temperature Range:
                    Speed Grade
                   Package Type                   C = Commercial     =(T-J4=0C0Cto         to 85C)
                                                  I = Industrial (T                          100C)
                                                                  J

                                                  Number of Pins

                                                  Pb-free                               DS099-1_02b_071304

  Device         Speed Grade                        Package Type / Number of Pins               Temperature Range (TJ)
XC3S50    -4 Standard Performance  VQ(G)100 100-pin Very Thin Quad Flat Pack (VQFP)           C Commercial (0C to 85C)
XC3S200   -5 High Performance(1)   CP(G)132 132-pin Chip-Scale Package (CSP)                  I Industrial (40C to 100C)

XC3S400                            TQ(G)144 144-pin Thin Quad Flat Pack (TQFP)

XC3S1000                           PQ(G)208 208-pin Plastic Quad Flat Pack (PQFP)

XC3S1500                           FT(G)256 256-ball Fine-Pitch Thin Ball Grid Array (FTBGA)

XC3S2000                           FG(G)320 320-ball Fine-Pitch Ball Grid Array (FBGA)

XC3S4000                           FG(G)456 456-ball Fine-Pitch Ball Grid Array (FBGA)

XC3S5000                           FG(G)676 676-ball Fine-Pitch Ball Grid Array (FBGA)

                                     FG(G)900 900-ball Fine-Pitch Ball Grid Array (FBGA)
                                   FG(G)1156(2) 1156-ball Fine-Pitch Ball Grid Array (FBGA)

Notes:
1. The -5 speed grade is exclusively available in the Commercial temperature range.

2. The FG(G)1156 package is being discontinued and is not recommended for new designs.
See http://www.xilinx.com/support/documentation/spartan-3_customer_notices.htm for the latest updates.

8                                  www.xilinx.com                                             DS099-1 (v2.4) June 25, 2008

                                                                                                            Product Specification
          R                                            Spartan-3 FPGA Family: Introduction and Ordering Information

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.

07/13/04     1.3              Added information on Pb-free packaging options.

01/17/05     1.4              Referenced Spartan-3 XA Automotive FPGA families in Table 1. Added XC3S50CP132,

                              XC3S2000FG456, XC3S4000FG676 options to Table 3. Updated Package Marking to show

                              mask revision code, fabrication facility code, and process technology code.

08/19/05     1.5              Added package markings for BGA packages (Figure 3) and CP132/CPG132 packages

                              (Figure 4). Added differential (complementary single-ended) HSTL and SSTL I/O standards.

04/03/06     2.0              Increased number of supported single-ended and differential I/O standards.

04/26/06     2.1              Updated document links.

05/25/07     2.2              Updated Package Marking to allow for dual-marking.

11/30/07     2.3              Added XC3S5000 FG(G)676 to Table 3. Noted that FG(G)1156 package is being discontinued

                              and updated max I/O count.

06/25/08     2.4              Updated max I/O counts based on FG1156 discontinuation. Clarified dual mark in Package

                              Marking. Updated formatting and links.

DS099-1 (v2.4) June 25, 2008                           www.xilinx.com                                                   9

Product Specification
Spartan-3 FPGA Family: Introduction and Ordering Information  R

10  www.xilinx.com                                            DS099-1 (v2.4) June 25, 2008

                                                              Product Specification
                                 54

                              R                              Spartan-3 FPGA Family:

                                                             Functional Description

DS099-2 (v2.4) June 25, 2008                                 0 Product Specification

New Spartan-3 Generation Design                              For specific hardware examples, please see the Spartan-3
Documentation Available                                      FPGA Starter Kit board web page, which has links to
                                                             various design examples and the user guide.
The functionality of the Spartan-3 FPGA family is now
described and updated in the following documents. The         Spartan-3 FPGA Starter Kit Board Page
topics covered in each guide are listed below.                    http://www.xilinx.com/s3starter

UG331: Spartan-3 Generation FPGA User Guide                UG130: Spartan-3 FPGA Starter Kit User Guide
     http://www.xilinx.com/support/documentation/                 http://www.xilinx.com/support/documentation/
     user_guides/ug331.pdf                                        boards_and_kits/ug130.pdf
     - Clocking Resources
     - Digital Clock Managers (DCMs)                         Create a Xilinx MySupport user account and sign up to
     - Block RAM                                             receive automatic E-mail notification whenever this data
     - Configurable Logic Blocks (CLBs)                      sheet or the associated user guides are updated.
     - Distributed RAM
     - SRL16 Shift Registers                                  Sign Up for Alerts on Xilinx MySupport
     - Carry and Arithmetic Logic                                 http://www.xilinx.com/support/answers/19380.htm
     - I/O Resources
     - Embedded Multiplier Blocks
     - Programmable Interconnect
     - ISE Software Design Tools
     - IP Cores
     - Embedded Processing and Control Solutions
     - Pin Types and Package Overview
     - Package Drawings
     - Powering FPGAs

UG332: Spartan-3 Generation Configuration User
     Guide
     http://www.xilinx.com/support/documentation/
     user_guides/ug332.pdf
     - Configuration Overview
            Configuration Pins and Behavior
            Bitstream Sizes
     - Detailed Descriptions by Mode
            Master Serial Mode using Xilinx Platform Flash
                 PROM
            Slave Parallel (SelectMAP) using a Processor
            Slave Serial using a Processor
            JTAG Mode
     - ISE iMPACT Programming Examples

2004-2008 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 (v2.4) June 25, 2008     www.xilinx.com                                                                                                                         11

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                   R

IOBs                                                                 output driver. In addition to this direct path, the
                                                                     multiplexer provides the option to insert a pair of
For additional information, refer to the "Using I/O                  storage elements. When the T1 or T2 lines are
Resources" chapter in UG331.                                         asserted High, the output driver is high-impedance
                                                                     (floating, Hi-Z). The output driver is active-Low
IOB Overview                                                         enabled.
                                                                All signal paths entering the IOB, including those
The Input/Output Block (IOB) provides a programmable,                associated with the storage elements, have an inverter
bidirectional interface between an I/O pin and the FPGA's            option. Any inverter placed on these paths is
internal logic.                                                      automatically absorbed into the IOB.

A simplified diagram of the IOB's internal structure appears    Storage Element Functions
in Figure 5. There are three main signal paths within the
IOB: the output path, input path, and 3-state path. Each        There are three pairs of storage elements in each IOB, one
path has its own pair of storage elements that can act as       pair for each of the three paths. It is possible to configure
either registers or latches. For more information, see the      each of these storage elements as an edge-triggered
Storage Element Functions section. The three main sig-          D-type flip-flop (FD) or a level-sensitive latch (LD).
nal paths are as follows:
                                                                The storage-element-pair on either the Output path or the
The input path carries data from the pad, which is            Three-State path can be used together with a special multi-
     bonded to a package pin, through an optional               plexer to produce Double-Data-Rate (DDR) transmission.
     programmable delay element directly to the I line.         This is accomplished by taking data synchronized to the
     There are alternate routes through a pair of storage       clock signal's rising edge and converting them to bits syn-
     elements to the IQ1 and IQ2 lines. The IOB outputs I,      chronized on both the rising and the falling edge. The com-
     IQ1, and IQ2 all lead to the FPGA's internal logic. The    bination of two registers and a multiplexer is referred to as a
     delay element can be set to ensure a hold time of zero.    Double-Data-Rate D-type flip-flop (FDDR).

The output path, starting with the O1 and O2 lines,           See Double-Data-Rate Transmission, page 14 for more
     carries data from the FPGA's internal logic through a      information.
     multiplexer and then a three-state driver to the IOB
     pad. In addition to this direct path, the multiplexer      The signal paths associated with the storage element are
     provides the option to insert a pair of storage elements.  described in Table 4.

The 3-state path determines when the output driver is
     high impedance. The T1 and T2 lines carry data from
     the FPGA's internal logic through a multiplexer to the

Table 4: 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.

12                                             www.xilinx.com             DS099-2 (v2.4) June 25, 2008

                                                                          Product Specification
           R                                                                                 Spartan-3 FPGA Family: Functional Description

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                                                                                                   Pull-Up  ESD
                                SR REV
OTCLK2                                                                                                                               Pull-        I/O
                                                        DDR                                                                         Down          Pin
                                                        MUX                                                                                 ESD

                                                                                             Program-

                              D   Q                                                          mable        DCI

                                        OFF2                                                 Output

                              CE                                                             Driver

                              CK
                                SR REV

                                                                                                                                   Keeper
                                                                                                                                    Latch

                                                                                             Output Path

       I                      D   Q                                                   Fixed               LVCMOS, LVTTL, PCI
   IQ1                                                                                Delay               Single-ended Standards
                                                  IFF1
ICLK1                         CE                                                      Fixed                       using VREF
   ICE                                                                                Delay
   IQ2                                                                                                     Differential Standards
                              CK                                                                                                                   VREF
ICLK2                           SR REV                                                                                                             Pin
    SR
                              D   Q                                                                                                                I/O Pin
  REV                                                                                                                                              from
                                        IFF2                                                                                                       Adjacent
                                                                                                                                                   IOB
                              CE
                                                                                                                                            DS099-2_01_112905
                              CK
                                SR REV

                                                                                                    Input Path

              Note: All IOB signals originating from the FPGA's internal logic have an optional polarity inverter.

                                                      Figure 5: Simplified IOB Diagram

DS099-2 (v2.4) June 25, 2008                            www.xilinx.com                                                                                 13

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                            R

According to Figure 5, 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 5.
nects the CE inputs for the register pair on the three-state

Table 5: 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) applies 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 GSR 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                                    put enable to both the rising and falling edges of a clock.
                                                                 This DDR operation is realized in the same way as for the
Double-Data-Rate (DDR) transmission describes the tech-          output path.
nique of synchronizing signals to both the rising and falling
edges of the clock signal. Spartan-3 devices use regis-          The storage-element-pair on the input path (IFF1 and IFF2)
ter-pairs in all three IOB paths to perform DDR operations.      allows an I/O to receive a DDR signal. An incoming DDR
                                                                 clock signal triggers one register and the inverted clock sig-
The pair of storage elements on the IOB's Output path            nal triggers the other register. In this way, the registers take
(OFF1 and OFF2), used as registers, combine with a spe-          turns capturing bits of the incoming DDR data signal.
cial multiplexer to form a DDR D-type flip-flop (FDDR). This
primitive permits DDR transmission where output data bits        Aside from high bandwidth data transfers, DDR can also be
are synchronized to both the rising and falling edges of a       used to reproduce, or "mirror", a clock signal on the output.
clock. It is possible to access this function by placing either  This approach is used to transmit clock and data signals
an FDDRRSE or an FDDRCPE component or symbol into                together. A similar approach is used to reproduce a clock
the design. DDR operation requires two clock signals (50%        signal at multiple outputs. The advantage for both
duty cycle), one the inverted form of the other. These sig-      approaches is that skew across the outputs will be minimal.
nals trigger the two registers in alternating fashion, as
shown in Figure 6. Commonly, the Digital Clock Manager           Some adjacent I/O blocks (IOBs) share common routing
(DCM) generates the two clock signals by mirroring an            connecting the ICLK1, ICLK2, OTCLK1, and OTCLK2 clock
incoming signal, then shifting it 180 degrees. This approach     inputs of both IOBs. These IOB pairs are identified by their
ensures minimal skew between the two signals.                    differential pair names IO_LxxN_# and IO_LxxP_#, where
                                                                 "xx" is an I/O pair number and `#' is an I/O bank number.
The storage-element-pair on the Three-State path (TFF1           Two adjacent IOBs containing DDR registers must share
and TFF2) can also be combined with a local multiplexer to       common clock inputs, otherwise one or more of the clock
form an FDDR primitive. This permits synchronizing the out-      signals will be unroutable.

14                                             www.xilinx.com        DS099-2 (v2.4) June 25, 2008

                                                                     Product Specification
R                                                                                                                                       Spartan-3 FPGA Family: Functional Description

DCM                                                                                                                             transients. Each I/O has two clamp diodes: One diode
180 0                                                                                                                          extends P-to-N from the pad to VCCO and a second diode
                                                                                                                                 extends N-to-P from the pad to GND. During operation,
                                  FDDR                                                                                           these diodes are normally biased in the off state. These
                                                                                                                                 clamp diodes are always connected to the pad, regardless
                       D1                                                                                                        of the signal standard selected. The presence of diodes lim-
                             Q1                                                                                                  its the ability of Spartan-3 I/Os to tolerate high signal volt-
                                                                                                                                 ages. The VIN absolute maximum rating in Table 27,
                        CLK1                                                                                                     page 55 specifies the voltage range that I/Os can tolerate.

                                                                                                                                 Slew Rate Control and Drive Strength

                                  DDR MUX  Q                                                                                     Two options, FAST and SLOW, control the output slew rate.
                                                                                                                                 The FAST option supports output switching at a high rate.
                       D2                                                                                                        The SLOW option reduces bus transients. These options are
                              Q2                                                                                                 only available when using one of the LVCMOS or LVTTL
                                                                                                                                 standards, which also provide up to seven different levels of
                        CLK2                                                                                                     current drive strength: 2, 4, 6, 8, 12, 16, and 24 mA. Choos-
                                                                                                                                 ing the appropriate drive strength level is yet another means
                                                                                                                                 to minimize bus transients.

                                                                                                                                 Table 6 shows the drive strengths that the LVCMOS and
                                                                                                                                 LVTTL standards support.

                                                                                                              DS099-2_02_070303  Table 6: Programmable Output Drive Current

            Figure 6: Clocking the DDR Register                                                                                      Signal         Current Drive (mA)
                                                                                                                                   Standard      4 6 8 12 16 24
Pull-Up and Pull-Down Resistors                                                                                                  (IOSTANDARD) 2

The optional pull-up and pull-down resistors are intended to                                                                     LVTTL  3333333
establish High and Low levels, respectively, at unused I/Os.
The pull-up resistor optionally connects each IOB pad to                                                                         LVCMOS33 3 3 3 3 3 3 3
VCCO. A pull-down resistor optionally connects each pad to
GND. These resistors are placed in a design using the                                                                            LVCMOS25 3 3 3 3 3 3 3
PULLUP and PULLDOWN symbols in a schematic, respec-
tively. They can also be instantiated as components, set as                                                                      LVCMOS18 3 3 3 3 3 3 -
constraints or passed as attributes in HDL code. These
resistors can also be selected for all unused I/O using the                                                                      LVCMOS15 3 3 3 3 3 - -
Bitstream Generator (BitGen) option UnusedPin. A Low
logic level on HSWAP_EN activates the pull-up resistors on                                                                       LVCMOS12 3 3 3 - - - -
all I/Os during configuration.
                                                                                                                                 Boundary-Scan Capability
The Spartan-3 I/O pull-up and pull-down resistors are signif-
icantly stronger than the "weak" pull-up/pull-down resistors                                                                     All Spartan-3 IOBs support boundary-scan testing compat-
used in previous Xilinx FPGA families. See Table 32,                                                                             ible with IEEE 1149.1 standards. During boundary scan
page 58 for equivalent resistor strengths.                                                                                       operations such as EXTEST and HIGHZ the I/O pull-down
                                                                                                                                 resistor is active. For more information, see Bound-
Keeper Circuit                                                                                                                   ary-Scan (JTAG) Mode, page 49, and refer to the "Using
                                                                                                                                 Boundary Scan and BSDL Files" chapter in UG331.
Each I/O has an optional keeper circuit that retains the last
logic level on a line after all drivers have been turned off.                                                                    SelectIO Interface Signal Standards
This is useful to keep bus lines from floating when all con-
nected drivers are in a high-impedance state. This function                                                                      The IOBs support 18 different single-ended signal stan-
is placed in a design using the KEEPER symbol. Pull-up                                                                           dards, as listed in Table 7. Furthermore, the majority of
and pull-down resistors override the keeper circuit.                                                                             IOBs can be used in specific pairs supporting any of eight
                                                                                                                                 differential signal standards, as shown in Table 8.
ESD Protection
                                                                                                                                 To define the SelectIOTM interface signaling standard in a
Clamp diodes protect all device pads against damage from                                                                         design, set the IOSTANDARD attribute to the appropriate
Electro-Static Discharge (ESD) as well as excessive voltage                                                                      setting. Xilinx provides a variety of different methods for
                                                                                                                                 applying the IOSTANDARD for maximum flexibility. For a full
                                                                                                                                 description of different methods of applying attributes to
                                                                                                                                 control IOSTANDARD, refer to the "Using I/O Resources"
                                                                                                                                 chapter in UG331.

DS099-2 (v2.4) June 25, 2008                  www.xilinx.com                                                                                                                 15

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                         R

Together with placing the appropriate I/O symbol, two exter-         introduces the differential signaling capabilities of Spartan-3
                                                                     devices.
nally applied voltage levels, VCCO and VREF select the
desired signal standard. The VCCO lines provide current to           Each device-package combination designates specific I/O
the output driver. The voltage on these lines determines the         pairs that are specially optimized to support differential
                                                                     standards. A unique "L-number", part of the pin name, iden-
output voltage swing for all standards except GTL and                tifies the line-pairs associated with each bank (see
                                                                     Figure 38, page 105). For each pair, the letters `P' and `N'
GTLP.                                                                designate the true and inverted lines, respectively. For
                                                                     example, the pin names IO_L43P_7 and IO_L43N_7 indi-
All single-ended standards except the LVCMOS, LVTTL,                 cate the true and inverted lines comprising the line pair L43
                                                                     on Bank 7. The VCCO lines provide current to the outputs.
and PCI varieties require a Reference Voltage (VREF) to              The VCCAUX lines supply power to the differential inputs,
bias the input-switching threshold. Once a configuration             making them independent of the VCCO voltage for an I/O
                                                                     bank. The VREF lines are not used. Select the VCCO level to
data file is loaded into the FPGA that calls for the I/Os of a       suit the desired differential standard according to Table 8.

given bank to use such a signal standard, a few specifically         Table 8: Differential I/O Standards

reserved I/O pins on the same bank automatically convert

to VREF inputs. When using one of the LVCMOS standards,
these pins remain I/Os because the VCCO voltage biases
the input-switching threshold, so there is no need for VREF.
Select the VCCO and VREF levels to suit the desired sin-
gle-ended standard according to Table 7.

Table 7: Single-Ended I/O Standards (Values in Volts)                                   VCCO (Volts)           VREF for
                                                                                                                Inputs
                                                                     Signal Standard    For               For
                                                                                                                (Volts)
                   VCCO                       Board                    (IOSTANDARD)     Outputs Inputs
                                          Termination
     Signal      For     For   VREF for                              LDT_25 (ULVDS_25)  2.5               -    -
   Standard   Outputs  Inputs  Inputs(1)     Voltage
                                               (VTT)                 LVDS_25            2.5               -    -
(IOSTANDARD)   Note 2  Note 2     0.8
                                                1.2                  BLVDS_25           2.5               -    -
GTL

GTLP          Note 2 Note 2    1          1.5                        LVDSEXT_25         2.5               -    -

HSTL_I        1.5        -     0.75       0.75                       LVPECL_25          2.5               -    -

HSTL_III      1.5        -     0.9        1.5                        RSDS_25            2.5               -    -

HSTL_I_18     1.8        -     0.9        0.9                        DIFF_HSTL_II_18    1.8               -    -

                                                                     DIFF_SSTL2_II      2.5               -    -

HSTL_II_18    1.8        -     0.9        0.9                        Notes:
                                                                     1. See Table 9 for a listing of the differential DCI standards.
HSTL_III_18   1.8        -     1.1        1.8

LVCMOS12      1.2        1.2   -               -

LVCMOS15      1.5        1.5   -               -                     The need to supply VREF and VCCO imposes constraints on
                                                                     which standards can be used in the same bank. See The
LVCMOS18      1.8        1.8   -               -                     Organization of IOBs into Banks section for additional
                                                                     guidelines concerning the use of the VCCO and VREF lines.
LVCMOS25      2.5        2.5   -               -
                                                                     Digitally Controlled Impedance (DCI)
LVCMOS33      3.3        3.3   -               -
                                                                     When the round-trip delay of an output signal -- i.e., from
LVTTL         3.3        3.3   -               -                     output to input and back again -- exceeds rise and fall
                                                                     times, it is common practice to add termination resistors to
PCI33_3       3.0        3.0   -               -                     the line carrying the signal. These resistors effectively
                                                                     match the impedance of a device's I/O to the characteristic
SSTL18_I      1.8        -     0.9        0.9                        impedance of the transmission line, thereby preventing
                                                                     reflections that adversely affect signal integrity. However,
SSTL18_II     1.8        -     0.9        0.9                        with the high I/O counts supported by modern devices, add-
                                                                     ing resistors requires significantly more components and
SSTL2_I       2.5        -     1.25       1.25                       board area. Furthermore, for some packages -- e.g., ball
                                                                     grid arrays -- it may not always be possible to place resis-
SSTL2_II      2.5        -     1.25       1.25                       tors close to pins.

Notes:                                                               DCI answers these concerns by providing two kinds of
                                                                     on-chip terminations: Parallel terminations make use of an
1. Banks 4 and 5 of any Spartan-3 device in a VQ100 package          integrated resistor network. Series terminations result from
      do not support signal standards using VREF.                    controlling the impedance of output drivers. DCI actively
                                                                     adjusts both parallel and series terminations to accurately
2. The VCCO level used for the GTL and GTLP standards must
      be no lower than the termination voltage (VTT), nor can it be
      lower than the voltage at the I/O pad.

3. See Table 9 for a listing of the single-ended DCI standards.

Differential standards employ a pair of signals, one the
opposite polarity of the other. The noise canceling (e.g.,
Common-Mode Rejection) properties of these standards
permit exceptionally high data transfer rates. This section

16                                                www.xilinx.com                             DS099-2 (v2.4) June 25, 2008

                                                                                                          Product Specification
R                                                                     Spartan-3 FPGA Family: Functional Description

match the characteristic impedance of the transmission line.     five basic ways to configure terminations, as shown in
This adjustment process compensates for differences in I/O       Table 10. The DCI I/O standard determines which of these
impedance that can result from normal variation in the           terminations is put into effect.
ambient temperature, the supply voltage and the manufac-
turing process. When the output driver turns off, the series     HSTL_I_DCI-, HSTL_III_DCI-, and SSTL2_I_DCI-type out-
termination, by definition, approaches a very high imped-        puts do not require the VRN and VRP reference resistors.
ance; in contrast, parallel termination resistors remain at the  Likewise, LVDCI-type inputs do not require the VRN and
targeted values.                                                 VRP reference resistors. In a bank without any DCI I/O or a
                                                                 bank containing non-DCI I/O and purely HSTL_I_DCI- or
DCI is available only for certain I/O standards, as listed in    HSTL_III_DCI-type outputs, or SSTL2_I_DCI-type outputs
Table 9. DCI is selected by applying the appropriate I/O         or LVDCI-type inputs, the associated VRN and VRP pins
standard extensions to symbols or components. There are          can be used as general-purpose I/O pins.

Table 9: DCI I/O Standards

                                                 VCCO (V)                         Termination Type

Category of Signal     Signal Standard      For                  For   VREF for
      Standard         (IOSTANDARD)                                   Inputs (V)
                                            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
Transceiver Logic      HSTL_III_DCI
                                            1.5                  1.5  0.9         None                    Single

                       HSTL_I_DCI_18        1.8                  1.8  0.9         None                    Split

                       HSTL_II_DCI_18       1.8                  1.8  0.9         Split

                       DIFF_HSTL_II_18_DCI

                       HSTL_III_DCI_18      1.8                  1.8  1.1         None                    Single

Low-Voltage CMOS LVDCI_15                   1.5                  1.5  -           Controlled              None

                       LVDCI_18             1.8                  1.8  -           impedance driver

                       LVDCI_25             2.5                  2.5  -

                       LVDCI_33(3)          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  -

Hybrid HSTL Input      HSLVDCI_15           1.5                  1.5  0.75        Controlled              None
and LVCMOS             HSLVDCI_18
Output                 HSLVDCI_25           1.8                  1.8  0.9         impedance driver

                                            2.5                  2.5  1.25

                       HSLVDCI_33           3.3                  3.3  1.65

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

                       DIFF_SSTL2_II_DCI                                          driver

DS099-2 (v2.4) June 25, 2008                www.xilinx.com                                                        17

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                            R

Table 9: DCI I/O Standards (Continued)

                                                    VCCO (V)               Termination Type

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

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. DCI signal standards are not supported in Bank 5 of any Spartan-3 FPGA packaged in a VQ100, CP132, or TQ144 package.
2. The SSTL18_II signal standard does not have a DCI equivalent.
3. Equivalent to LVTTL DCI.

18                                             www.xilinx.com              DS099-2 (v2.4) June 25, 2008

                                                                           Product Specification
                                                         R                  Spartan-3 FPGA Family: Functional Description

Table 10: DCI Terminations                                             Schematic(1)                          Signal Standards
                      Termination                                                                             (IOSTANDARD)
                                                            IOB
Controlled impedance output driver                                         R                            LVDCI_15
                                                                                                     Z0  LVDCI_18
Controlled output driver with half impedance                                                            LVDCI_25
                                                            IOB                                          LVDCI_33
                                                                          R/2                            HSLVDCI_15
                                                                                                     Z0  HSLVDCI_18
                                                                                                         HSLVDCI_25
                                                                                                         HSLVDCI_33

                                                                                                         LVDCI_DV2_15
                                                                                                         LVDCI_DV2_18
                                                                                                         LVDCI_DV2_25
                                                                                                         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)
                                                                            2R Z0                        HSTL_II_DCI_18
                                                                            2R                           DIFF_HSTL_II_18_DCI
                                                                                                         DIFF_SSTL2_II_DCI
Split resistors with output driver impedance                IOB             VCCO                         LVDS_25_DCI
fixed to 25                                                           25         2R Z0                   LVDSEXT_25_DCI
                                                                                 2R
                                                                                                         SSTL18_I_DCI(3)
                                                                                                         SSTL2_I_DCI(3)
                                                                                                         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 (v2.4) June 25, 2008                                www.xilinx.com                                                     19

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                                     R

The DCI feature operates independently for each of the                                                            cated VCCO lines. For example, the VCCO Bank 7 lines are
device's eight banks. Each bank has an `N' reference pin                                                          separate from the VCCO lines going to all other banks. Thus,
(VRN) and a `P' reference pin, (VRP), to calibrate driver and                                                     Spartan-3 devices in these packages support eight inde-
termination resistance. Only when using a DCI standard on
a given bank do these two pins function as VRN and VRP.                                                           pendent VCCO supplies.
When not using a DCI standard, the two pins function as
user I/Os. As shown in Figure 7, add an external reference                                                                Bank 0  Bank 1
resistor to pull the VRN pin up to VCCO and another refer-
ence resistor to pull the VRP pin down to GND. Also see                                                           Bank 7                  Bank 2
Figure 40, page 109. Both resistors have the same value --
commonly 50 Ohms -- with one-percent tolerance, which is                                                          Bank 6                  Bank 3
either the characteristic impedance of the line or twice that,
depending on the DCI standard in use. Standards having a                                                                  Bank 5  Bank 4
symbol name that contains the letters "DV2" use a reference
resistor value that is twice the line impedance. DCI adjusts                                                                                                                                                      DS099-2_03_082104
the output driver impedance to match the reference resis-
tors' value or half that, according to the standard. DCI                                                                    Figure 8: Spartan-3 I/O Banks (top view)
always adjusts the on-chip termination resistors to directly
match the reference resistors' value.                                                                             In contrast, the 144-pin Thin Quad Flat Pack (TQ144) pack-
                                                                                                                  age and the 132-pin Chip-Scale Package (CP132) tie VCCO
    One of eight        VCCO                                                                                      together internally for the pair of banks on each side of the
    I/O Banks                   RREF (1%)                                                                         device. For example, the VCCO Bank 0 and the VCCO Bank 1
                                                                                                                  lines are tied together. The interconnected bank-pairs are
                  VRN           RREF (1%)                                                                         0/1, 2/3, 4/5, and 6/7. As a result, Spartan-3 devices in the
                   VRP                                                                                            CP132 and TQ144 packages support four independent
                                                                                                                  VCCO supplies.
                                                                                               DS099-2_04_082104
                                                                                                                  Spartan-3 Compatibility
  Figure 7: Connection of Reference Resistors (RREF)
                                                                                                                  Within the Spartan-3 family, all devices are pin-compatible
The rules guiding the use of DCI standards on banks are as                                                        by package. When the need for future logic resources out-
follows:                                                                                                          grows the capacity of the Spartan-3 device in current use, a
                                                                                                                  larger device in the same package can serve as a direct
1. No more than one DCI I/O standard with a Single                                                                replacement. Larger devices may add extra VREF and VCCO
     Termination is allowed per bank.                                                                             lines to support a greater number of I/Os. In the larger
                                                                                                                  device, more pins can convert from user I/Os to VREF lines.
2. No more than one DCI I/O standard with a Split                                                                 Also, additional VCCO lines are bonded out to pins that were
     Termination is allowed per bank.                                                                             "not connected" in the smaller device. Thus, it is important
                                                                                                                  to plan for future upgrades at the time of the board's initial
3. Single Termination, Split Termination, Controlled-                                                             design by laying out connections to the extra pins.
     Impedance Driver, and Controlled-Impedance Driver
     with Half Impedance can co-exist in the same bank.                                                           The Spartan-3 family is not pin-compatible with any previ-
                                                                                                                  ous Xilinx FPGA family or with other platforms among the
See also The Organization of IOBs into Banks, immedi-                                                             Spartan-3 Generation FPGAs.
ately below, and DCI: User I/O or Digitally Controlled
Impedance Resistor Reference Input, page 109.                                                                     Rules Concerning Banks

The Organization of IOBs into Banks                                                                               When assigning I/Os to banks, it is important to follow the
                                                                                                                  following VCCO rules:
IOBs are allocated among eight banks, so that each side of                                                        1. Leave no VCCO pins unconnected on the FPGA.
the device has two banks, as shown in Figure 8. For all                                                           2. Set all VCCO lines associated with the (interconnected)
packages, each bank has independent VREF lines. For
example, VREF Bank 3 lines are separate from the VREF                                                                  bank to the same voltage level.
lines going to all other banks.
                                                                                                                  3. The VCCO levels used by all standards assigned to the
For the Very Thin Quad Flat Pack (VQ), Plastic Quad Flat                                                               I/Os of the (interconnected) bank(s) must agree. The
Pack (PQ), Fine Pitch Thin Ball Grid Array (FT), and Fine
Pitch Ball Grid Array (FG) packages, each bank has dedi-

20                                             www.xilinx.com                                                                     DS099-2 (v2.4) June 25, 2008

                                                                                                                                          Product Specification
R                                                               Spartan-3 FPGA Family: Functional Description

     Xilinx development software checks for this. Tables 7, 8,  3. The VCCAUX is an auxiliary source of power, primarily to
     and 9 describe how different standards use the VCCO             optimize the performance of various FPGA functions
     supply.                                                         such as I/O switching.

4. Only one of the following standards is allowed on            The I/Os During Power-On, Configuration, and
     outputs per bank: LVDS, LDT, LVDS_EXT, or RSDS.            User Mode

5. If none of the standards assigned to the I/Os of the         With no power applied to the FPGA, all I/Os are in a
     (interconnected) bank(s) uses VCCO, tie all associated     high-impedance state. The VCCINT (1.2V), VCCAUX (2.5V),
     VCCO lines to 2.5V.                                        and VCCO supplies may be applied in any order. Before
                                                                power-on can finish, VCCINT, VCCO Bank 4, and VCCAUX
6. In general, apply 2.5V to VCCO Bank 4 from power-on to       must have reached their respective minimum recom-
     the end of configuration. Apply the same voltage to        mended operating levels (see Table 28, page 56). At this
     VCCO Bank 5 during parallel configuration or a             time, all I/O drivers also will be in a high-impedance state.
     Readback operation. For information on how to              VCCO Bank 4, VCCINT, and VCCAUX serve as inputs to the
     program the FPGA using 3.3V signals and power, see         internal Power-On Reset circuit (POR).
     the 3.3V-Tolerant Configuration Interface section.
                                                                A Low level applied to the HSWAP_EN input enables
If any of the standards assigned to the Inputs of the bank      pull-up resistors on User I/Os from power-on throughout
use VREF, then observe the following additional rules:          configuration. A High level on HSWAP_EN disables the
                                                                pull-up resistors, allowing the I/Os to float. If the
1. Connect all VREF pins within the bank to the same            HSWAP_EN pin is floating, then an internal pull-up resistor
     voltage level.                                             pulls HSWAP_EN High. As soon as power is applied, the
                                                                FPGA begins initializing its configuration memory. At the
2. The VREF levels used by all standards assigned to the        same time, the FPGA internally asserts the Global
     Inputs of the bank must agree. The Xilinx development      Set-Reset (GSR), which asynchronously resets all IOB stor-
     software checks for this. Tables 7 and 9 describe how      age 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, CP132, or            The Global Three State (GTS) net is released during
TQ144 package does not support DCI signal standards. In         Start-Up, marking the end of configuration and the begin-
this case, 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 7). 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 internal pull-up resistors on the I/Os are
                                                                disabled and HSWAP_EN becomes a "don't care" input. If it
Three different supplies power the IOBs:                        is desirable to have pull-up or pull-down resistors on I/Os
                                                                carrying signals, the appropriate symbol -- e.g., PULLUP,
1. The VCCO supplies, one for each of the FPGA's I/O            PULLDOWN -- must be placed at the appropriate pads in
     banks, power the output drivers, except when using the     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.

DS099-2 (v2.4) June 25, 2008  www.xilinx.com                    21

Product Specification
Spartan-3 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_082104

            Figure 9: Arrangement of Slices within the CLB

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

22                                             www.xilinx.com                       DS099-2 (v2.4) June 25, 2008

                                                                                                       Product Specification
R                                                                 Spartan-3 FPGA Family: Functional Description

                              WS DI

                                           DI
                                               D

                              WF[4:1]

                                                                                                                                                                                                                                                       DS312-2_32_042007

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 10: Simplified Diagram of the Left-Hand SLICEM

DS099-2 (v2.4) June 25, 2008                      www.xilinx.com                                                                                                                                                                                                          23

Product Specification
Spartan-3 FPGA Family: Functional Description                  R

The carry chain, together with various dedicated arithmetic    2. Bypass the LUT, then pass through a storage element
logic gates, support fast and efficient implementations of          via the D input before exiting as XQ (or YQ).
math operations. The carry chain enters the slice as CIN
and exits as COUT. Five multiplexers control the chain:        3. Control the wide function multiplexer F5MUX (or
CYINIT, CY0F, and CYMUXF in the lower portion as well as            F6MUX).
CY0G and CYMUXG in the upper portion. The dedicated
arithmetic logic includes the exclusive-OR gates XORG and      4. Via multiplexers, serve as an input to the carry chain.
XORF (upper and lower portions of the slice, respectively)
as well as the AND gates GAND and FAND (upper and              5. Drives the DI input of the LUT.
lower portions, respectively). For more details on the carry
logic, refer to the "Using Carry and Arithmetic Logic" chap-   6. BY can control the REV inputs of both the FFY and FFX
ter in UG331.                                                       storage elements.

Main Logic Paths                                               7. Finally, the DIG_MUX multiplexer can switch BY onto
                                                                    the DIG line, which exits the slice.
Central to the operation of each slice are two nearly identi-
cal data paths, distinguished using the terms top and bot-     Other slice signals shown in Figure 10, page 23 are dis-
tom. The description that follows uses names associated        cussed in the sections that follow.
with the bottom path. (The top path names appear in paren-
theses.) The basic path originates at an interconnect-switch   Function Generator
matrix outside the CLB. Four lines, F1 through F4 (or G1
through G4 on the upper path), enter the slice and connect     Each of the two LUTs (F and G) in a slice have four logic
directly to the LUT. Once inside the slice, the lower 4-bit    inputs (A1-A4) and a single output (D). This permits any
path passes through a function generator `F' (or `G') that     four-variable Boolean logic operation to be programmed
performs logic operations. The function generator's Data       into them. Furthermore, wide function multiplexers can be
output, `D', offers five possible paths:                       used to effectively combine LUTs within the same CLB or
                                                               across different CLBs, making logic functions with still more
1. Exit the slice via line `X' (or `Y') and return to          input variables possible.
     interconnect.
                                                               The LUTs in both the right-hand and left-hand slice-pairs
2. Inside the slice, `X' (or `Y') serves as an input to the    not only support the logic functions described above, but
     DXMUX (DYMUX) which feeds the data input, `D', of the     also can function as ROM that is initialized with data at the
     FFX (FFY) storage element. The `Q' output of the          time of configuration.
     storage element drives the line XQ (or YQ) which exits
     the slice.                                                The LUTs in the left-hand slice-pair (even-numbered col-
                                                               umns such as X0 in Figure 9) of each CLB support two
3. Control the CYMUXF (or CYMUXG) multiplexer on the           additional functions that the right-hand slice-pair (odd-num-
     carry chain.                                              bered columns such as X1) do not.

4. With the carry chain, serve as an input to the XORF (or     First, it is possible to program the "left-hand LUTs" as dis-
     XORG) exclusive-OR gate that performs arithmetic          tributed RAM. This type of memory affords moderate
     operations, producing a result on `X' (or `Y').           amounts of data buffering anywhere along a data path. One
                                                               left-hand LUT stores 16 bits. Multiple left-hand LUTs can be
5. Drive the multiplexer F5MUX to implement logic              combined in various ways to store larger amounts of data. A
     functions wider than four bits. The `D' outputs of both   dual port option combines two LUTs so that memory access
     the F-LUT and G-LUT serve as data inputs to this          is possible from two independent data lines. A Distributed
     multiplexer.                                              ROM option permits pre-loading the memory with data dur-
                                                               ing FPGA configuration.
In addition to the main logic paths described above, there
are two bypass paths that enter the slice as BX and BY.        Second, it is possible to program each left-hand LUT as a
Once inside the FPGA, BX in the bottom half of the slice (or   16-bit shift register. Used in this way, each LUT can delay
BY in the top half) can take any of several possible           serial data anywhere from one to 16 clock cycles. The four
branches:                                                      left-hand LUTs of a single CLB can be combined to produce
                                                               delays up to 64 clock cycles. The SHIFTIN and SHIFTOUT
1. Bypass both the LUT and the storage element, then exit      lines cascade LUTs to form larger shift registers. It is also
     the slice as BXOUT (or BYOUT) and return to               possible to combine shift registers across more than one
     interconnect.                                             CLB. The resulting programmable delays can be used to
                                                               balance the timing of data pipelines.

24                                             www.xilinx.com  DS099-2 (v2.4) June 25, 2008

                                                               Product Specification
          R                                                      Spartan-3 FPGA Family: Functional Description

Block RAM Overview                                               Block RAM and multipliers have interconnects between
                                                                 them that permit simultaneous operation; however, since
All Spartan-3 devices support block RAM, which is orga-          the multiplier shares inputs with the upper data bits of block
nized as configurable, synchronous 18Kbit blocks. Block          RAM, the maximum data path width of the block RAM is 18
RAM stores relatively large amounts of data more efficiently     bits in this case.
than the distributed RAM feature described earlier. (The lat-
ter is better suited for buffering small amounts of data any-    The Internal Structure of the Block RAM
where along signal paths.) This section describes basic
Block RAM functions. For more information, refer to the          The block RAM has a dual port structure. The two identical
"Using Block RAM" chapter in UG331.                              data ports called A and B permit independent access to the
                                                                 common RAM block, which has a maximum capacity of
The aspect ratio -- i.e., width vs. depth -- of each block       18,432 bits -- or 16,384 bits when no parity lines are used.
RAM is configurable. Furthermore, multiple blocks can be         Each port has its own dedicated set of data, control and
cascaded to create still wider and/or deeper memories.           clock lines for synchronous read and write operations.
                                                                 There are four basic data paths, as shown in Figure 11: (1)
A choice among primitives determines whether the block           write to and read from Port A, (2) write to and read from Port
RAM functions as dual- or single-port memory. A name of          B, (3) data transfer from Port A to Port B, and (4) data trans-
the form RAMB16_S[wA]_S[wB] calls out the dual-port prim-        fer from Port B to Port A.
itive, where the integers wA and wB specify the total data
path width at ports wA and wB, respectively. Thus, a                Write   Port A                                 Read 3
RAMB16_S9_S18 is a dual-port RAM with a 9-bit-wide Port          4 Read                                   Port B   Write
A and an 18-bit-wide Port B. A name of the form                              Spartan-3
RAMB16_S[w] identifies the single-port primitive, where the          Write   Dual Port                            Write
integer w specifies the total data path width of the lone port.    1        Block RAM                                    2
A RAMB16_S18 is a single-port RAM with an 18-bit-wide
port. Other memory functions -- e.g., FIFOs, data path               Read                                         Read
width conversion, ROM, etc. -- are readily available using
the CORE GeneratorTM software, part of the Xilinx develop-
ment software.

Arrangement of RAM Blocks on Die                                                                                                                                           DS099-2_12_030703

The XC3S50 has one column of block RAM. The Spartan-3                       Figure 11: Block RAM Data Paths
devices ranging from the XC3S200 to XC3S2000 have two
columns of block RAM. The XC3S4000 and XC3S5000                  Block RAM Port Signal Definitions
have four columns. The position of the columns on the die is
shown in Figure 1, page 4. For a given device, the total         Representations of the dual-port primitive
available RAM blocks are distributed equally among the col-      RAMB16_S[wA]_S[wB] and the single-port primitive
umns. Table 11 shows the number of RAM blocks, the data          RAMB16_S[w] with their associated signals are shown in
storage capacity, and the number of columns for each             Figure 12a and Figure 12b, respectively. These signals are
device.                                                          defined in Table 12.

Table 11: Number of RAM Blocks by Device

Device        Total Number           Total      Number
             of RAM Blocks      Addressable          of
                              Locations (bits)
                                                Columns

XC3S50       4                73,728            1

XC3S200      12               221,184           2

XC3S400      16               294,912           2

XC3S1000     24               442,368           2

XC3S1500     32               589,824           2

XC3S2000     40               737,280           2

XC3S4000     96               1,769,472         4

XC3S5000     104              1,916,928         4

DS099-2 (v2.4) June 25, 2008                    www.xilinx.com                                                    25

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                            R

                 WEA   RAMB16_SwA_SwB
                  ENA
                SSRA                               DOPA[pA1:0]
                CLKA                               DOA[wA1:0]
    ADDRA[rA1:0]
        DIA[wA1:0]
            DIPA[3:0]

                 WEB                        DOPB[pB1:0]                     WE  RAMB16_Sw
                  ENB                       DOB[wB1:0]                      EN
                SSRB                                                       SSR                           DOP[p1:0]
                CLKB                                                        CLK                          DO[w1:0]
    ADDRB[rB1:0]                                                ADDR[r1:0]
        DIB[wB1:0]                                                  DI[w1:0]
           DIPB[3:0]                                               DIP[p1:0]

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

                                                                                                  DS099-2_13_112905

    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 12: Block RAM Primitives

Table 12: 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).

                                                                 Whenever a port is enabled (ENA or ENB = High), address
                                                                 transitions must meet the data sheet setup and hold times with
                                                                 respect to the port clock (CLKA or CLKB). This requirement
                                                                 must be met, even if the RAM read output is of no interest.

Data Input Bus         DIA     DIB          Input                Data at the DI input bus is written to the 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 is
                                                                 16,384/(w-p) where "p" is the number of parity bits. Each
                                                                 memory location has 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 13.

26                                             www.xilinx.com                              DS099-2 (v2.4) June 25, 2008

                                                                                           Product Specification
           R                                                  Spartan-3 FPGA Family: Functional Description

Table 12: 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 and
                                                 READ_FIRST. WRITE_FIRST simultaneously presents the new
                                                 input data on the DO output port and writes the data to the
                                                 address RAM location. READ_FIRST presents the previously
                                                 stored RAM data on the DO output port while writing new data
                                                 to RAM.

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

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.

DS099-2 (v2.4) June 25, 2008                  www.xilinx.com            27

Product Specification
Spartan-3 FPGA Family: Functional Description                                                               R

Port Aspect Ratios                                               The width selection made for the DI/DO bus determines the
                                                                 number of address lines according to the relationship
On a given port, it is possible to select a number of different  expressed below:
possible widths (w p) for the DI/DO buses as shown in
Table 13. These two buses always have the same width.            r = 14 [log(wp)/log(2)]     (1)
This data bus width selection is independent for each port. If
the data bus width of Port A differs from that of Port B, the    In turn, the number of address lines delimits the total num-
Block RAM automatically performs a bus-matching function.        ber (n) of addressable locations or depth according to the
When data are written to a port with a narrow bus, then read     following equation:
from a port with a wide bus, the latter port will effectively
combine "narrow" words to form "wide" words. Similarly,                          n = 2r         (2)
when data are written into a port with a wide bus, then read
from a port with a narrow bus, the latter port will divide       The product of w and n yields the total block RAM capacity.
"wide" words to form "narrow" words. When the data bus           Equations (1) and (2) show that as the data bus width
width is eight bits or greater, extra parity bits become avail-  increases, the number of address lines along with the num-
able. The width of the total data path (w) is the sum of the     ber of addressable memory locations decreases. Using the
DI/DO bus width and any parity bits (p).                         permissible DI/DO bus widths as inputs to these equations
                                                                 provides the bus width and memory capacity measures
                                                                 shown in Table 13.

Table 13: 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                                        the ADDR lines passes through a transparent output latch
                                                                 to the DO outputs. The timing for basic data access is
Writing data to and accessing data from the block RAM are        shown in the portions of Figure 13, Figure 14, and
synchronous operations that take place independently on          Figure 15 during which WE is Low.
each of the two ports.
                                                                 Data can also be accessed on the DO outputs when assert-
The waveforms for the write operation are shown in the top       ing the WE input. This is accomplished using two different
half of the Figure 13, Figure 14, and Figure 15. When the        attributes:
WE and EN signals enable the active edge of CLK, data at
the DI input bus is written to the block RAM location            Choosing the WRITE_FIRST attribute, data is written to the
addressed by the ADDR lines.                                     addressed memory location on an enabled active CLK edge
                                                                 and is also passed to the DO outputs. WRITE_FIRST timing
There are a number of different conditions under which data      is shown in the portion of Figure 13 during which WE is
can be accessed at the DO outputs. Basic data access             High.
always occurs when the WE input is inactive. Under this
condition, data stored in the memory location addressed by

28                                             www.xilinx.com                            DS099-2 (v2.4) June 25, 2008

                                                                                         Product Specification
R                                                                           Spartan-3 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 13: 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 14 during which WE is High.
location is overwritten 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 14: 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 15 during which WE is High.
condition, the DO outputs will retain the data driven just

DS099-2 (v2.4) June 25, 2008                             www.xilinx.com                                           29

Product Specification
Spartan-3 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 15: 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 called MULT18X18S, as shown in
further details, refer to the "Using Embedded Multipliers"      Figure 16a and Figure 16b, respectively. The signals for
chapter in UG331.                                               these primitives are defined in Table 14.

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

                                                                                           DS099-2_17_052705

                             Figure 16: Embedded Multiplier Primitives

30                                             www.xilinx.com                             DS099-2 (v2.4) June 25, 2008

                                                                                                 Product Specification
         R                                                                    Spartan-3 FPGA Family: Functional Description

Table 14: 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
refer to the "Using Digital Clock Managers" chapter in              may lie in the signal path leading from the clock output
UG331.                                                              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, page 4. The Digital Clock              either multiplying and/or dividing the frequency of the
Manager is placed in a design as the "DCM" primitive.               input clock signal by any of several different factors.

The DCM supports three major functions:                         Phase Shifting: The DCM provides the ability to shift
                                                                    the phase of all its output clock signals with respect to
Clock-skew Elimination: Clock skew describes the                  its input clock signal.
     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 (v2.4) June 25, 2008  www.xilinx.com                                                                          31

Product Specification
Spartan-3 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 17: DCM Functional Blocks and Associated Signals

The DCM has four functional components: the                       Delay-Locked Loop (DLL)
Delay-Locked Loop (DLL), the Digital Frequency Synthe-
sizer (DFS), the Phase Shifter (PS), and the Status Logic.        The most basic function of the DLL component is to elimi-
Each component has its associated signals, as shown in            nate clock skew. The main signal path of the DLL consists of
Figure 17.                                                        an input stage, followed by a series of discrete delay ele-
                                                                  ments or taps, which in turn leads to an output stage. This
                                                                  path together with logic for phase detection and control
                                                                  forms a system complete with feedback as shown in
                                                                  Figure 18.

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

                                                                                                      LOCKED

    CLKFB                                     Phase
       RST                                  Detection

                                                                                                                                                             DS099-2_08_041103

                  Figure 18: Simplified Functional Diagram of DLL

32                                             www.xilinx.com                                                       DS099-2 (v2.4) June 25, 2008

                                                                                                                                                                                             Product Specification
        R                                                      Spartan-3 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 35. Signals that
CLK180, CLK270, CLK2X, CLK2X180, and CLKDV as                  initialize and report the state of the DLL are discussed in
described in Table 15. The clock outputs drive simulta-        The Status Logic Component, page 40.
neously; however, the High Frequency mode only supports

Table 15: 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 16. Each attribute is described in detail in the sec-
of the clock skew that the clock distribution network intro-   tions that follow:

DS099-2 (v2.4) June 25, 2008  www.xilinx.com                                                         33

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                          R

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

34                                             www.xilinx.com                    DS099-2 (v2.4) June 25, 2008

                                                                                 Product Specification
R                                                                                  Spartan-3 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  OBUF       Clock                              IBUFG                     CLK0  OBUF       Clock
      IBUFG                 CLK180   OBUF     Net Delay                            IBUFG                            OBUF    Net Delay
             CLKIN CLK270                                                                                  CLK90
                             CLKDV
                                                                                          CLKIN CLK180
              DCM CLK2X                                                                                  CLK270

                         CLK2X180                                                          DCM CLKDV

                                                                                                      CLK2X180

             CLKFB            CLK0                                                        CLKFB  CLK2X

                              CLK0                                                               CLK2X

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

                                                                                                                                                                                                                                                                        DS099-2_09_082104

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 19: Input Clock, Output Clock, and Feedback Connections for the DLL

In the on-chip synchronization case (Figure 19a and                attribute chooses between the two modes. When the
Figure 19b), 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 19a, the feedback loop is cre-         puts to operate at the highest possible frequencies. The
ated by routing CLK0 (or CLK2X, in Figure 19b) 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 19c and               Accommodating High Input Frequencies
Figure 19d), 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 19c, the feedback loop is            acceptable value using the CLKIN_DIVIDE_BY_2 attribute.
formed by feeding CLK0 (or CLK2X, in Figure 19d) 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 15.

DS099-2 (v2.4) June 25, 2008                                       www.xilinx.com                                                                                                                                                                                                          35

Product Specification
Spartan-3 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 20. The CLK90, CLK180 and CLK270 outputs are
not available when operating in the High Frequency mode.         Input Signal (40% Duty Cycle)
(See the description of the DLL_FREQUENCY_MODE
attribute in Table 16.) For control in finer increments than                                                t
90, see the Phase Shifter (PS), page 38 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 16. The basic frequency        CLK270
synthesis outputs are described in Table 15. Their relative
timing in the Low Frequency Mode is shown in Figure 20.          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 17.)
                                                                 CLK180
Duty Cycle Correction of DLL Clock Outputs
                                                                     CLK270                                      DS099-2_10_051907
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 20 compares the characteristics of the DLL's output
signals to those of the CLKIN signal.

                                                                 Figure 20: 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.

36                                             www.xilinx.com            DS099-2 (v2.4) June 25, 2008

                                                                                                               Product Specification
       R                                                          Spartan-3 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 18.
                                                                  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 17.                       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 17.                                    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 17: 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 18: 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 (v2.4) June 25, 2008  www.xilinx.com                                                                      37

Product Specification
Spartan-3 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 19a and Figure 19c, respectively. This is       operating modes. As described in Table 19, 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 34 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 21a 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 is only available when the DLL is operating in its
low-frequency mode. The PS component phase shifts the            then CLKFB and CLKIN will be in phase, the same as when
DCM output clocks by introducing a "fine phase shift" (TPS)
between the CLKFB and CLKIN signals inside the DLL               the PS component is disabled. When the PHASE_SHIFT
component. The user can control this fine phase shift down
to a resolution of 1/256 of a CLKIN cycle or one tap delay       value is positive, the CLKFB signal will be shifted later in
(DCM_TAP), whichever is greater. When in use, the PS
component shifts the phase of all nine DCM clock output          time with respect to CLKIN. If the attribute value is negative,
signals together. If the PS component is used together with
a DCM clock output such as the CLK90, CLK180, CLK270,            the CLKFB signal will be shifted earlier in time with respect
CLK2X180 and CLKFX180, then the fine phase shift of the
former gets added to the coarse phase 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 21b 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 19: PS Attributes

    Attribute                                  Description                             Values

CLKOUT_PHASE_SHIFT Disables PS component or chooses between Fixed Phase NONE, FIXED, VARIABLE
                                       and Variable Phase modes.

PHASE_SHIFT              Determines size and direction of initial fine phase shift.    Integers from 255 to +255(1)

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.

38                                             www.xilinx.com                          DS099-2 (v2.4) June 25, 2008

                                                                                       Product Specification
       R                                                                   Spartan-3 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 21: Phase Shifter Waveforms

DS099-2 (v2.4) June 25, 2008                               www.xilinx.com                                                          39

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                             R

Table 20: 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 20.                                                      value. The set of waveforms in Figure 21c illustrates the
                                                               relationship between CLKFB and CLKIN in the Variable
After device configuration, the PS component initially deter-  Phase mode.
mines TPS by evaluating Equation (4) for the value assigned
to the PHASE_SHIFT attribute. Then to dynamically adjust       The Status Logic Component
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 21.
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 22.

Table 21: 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.

40                                             www.xilinx.com                                DS099-2 (v2.4) June 25, 2008

                                                                                             Product Specification
     R                                                            Spartan-3 FPGA Family: Functional Description

Table 22: DCM STATUS Bus

Bit        Name                                                   Description

0 Phase Shift                 A value of 1 indicates a phase shift overflow when one of two conditions occurs:
        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 Input                 A value of 1 indicates that the CLKIN input signal is not toggling. A value of 0 indicates
        Stopped Toggling      toggling. This bit functions only when the CLKFB input is connected.(2)

2 CLKFX/CLKFX180 A value of 1 indicates that the CLKFX or CLKFX180 output signals are not toggling. A value

     Output Stopped           of 0 indicates toggling. This bit functions only when using the Digital Frequency

     Toggling                 Synthesizer (DFS).

3: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 23: 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                         in the center of the top edge, just below the GCLK4 -
                                                                GCLK7 inputs.
It is possible to delay the completion of device configuration
until after the DLL has achieved a lock condition using the     Pairs of BUFGMUX elements share global inputs, as shown
STARTUP_WAIT attribute described in Table 23. This              in Figure 22. For example, the GCLK4 and GCLK5 inputs
option ensures that the FPGA does not enter user mode --        both potentially connect to BUFGMUX4 and BUFGMUX5
i.e., begin functional operation -- until all system clocks     located in the upper right center. A differential clock input
generated by the DCM are stable. In order to achieve the        uses a pair of GCLK inputs to connect to a single BUFG-
delay, it is necessary to set the attribute to TRUE as well as  MUX element.
set the BitGen option LCK_cycle to one of the six cycles
making up the Startup phase of configuration. The selected      Each BUFGMUX element, shown in Figure 22, is a 2-to-1
cycle defines the point at which configuration will halt until  multiplexer that can receive signals from any of the four fol-
the LOCKED output goes High.                                    lowing sources:

Global Clock Network                                            1. One of the four Global Clock inputs on the same side of
                                                                     the die -- top or bottom -- as the BUFGMUX element in
Spartan-3 devices have eight Global Clock inputs called              use.
GCLK0 - GCLK7. These inputs provide access to a
low-capacitance, low-skew network that is well-suited to        2. Any of four nearby horizontal Double lines.
carrying high-frequency signals. The Spartan-3 clock net-
work is shown in Figure 22. GCLK0 through GCLK3 are             3. Any of four outputs from the DCM in the right-hand
located in the center of the bottom edge. GCLK4 through              quadrant that is on the same side of the die as the
GCLK7 are located in the center of the top edge.                     BUFGMUX element in use.

Eight Global Clock Multiplexers (also called BUFGMUX ele-       4. Any of four outputs from the DCM in the left-hand
ments) are provided that accept signals from Global Clock            quadrant that is on the same side of the die as the
inputs and route them to the internal clock network as well          BUFGMUX element in use.
as DCMs. Four BUFGMUX elements are located in the cen-
ter of the bottom edge, just above the GCLK0 - GCLK3            The multiplexer select line, S, chooses which of the two
inputs. The remaining four BUFGMUX elements are located         inputs, I0 or I1, drives the BUFGMUX's output signal, O, as
                                                                described in Table 24. The switching from one clock to the
                                                                other is glitchless, and done in such a way that the output
                                                                High and Low times are never shorter than the shortest
                                                                High or Low time of either input clock.

DS099-2 (v2.4) June 25, 2008                      www.xilinx.com                                                                      41

Product Specification
Spartan-3 FPGA Family: Functional Description                     R

Table 24: BUFGMUX Select Mechanism                                     reach the eight-line horizontal spine, which spans the
                                                                       width of the die. In turn, the horizontal spine branches
    S Input  O Output                                                  out into a subsidiary clock interconnect that accesses
                                                                       the CLBs.
    0        I0 Input
                                                                  2. The clock input of either DCM on the same side of the
    1        I1 Input                                                  die -- top or bottom -- as the BUFGMUX element in
                                                                       use.
The two clock inputs can be asynchronous with regard to
each other, and the S input can change at any time, except        Use either a BUFGMUX element or a BUFG (Global Clock
for a short setup time prior to the rising edge of the presently  Buffer) element to place a Global input in the design. For the
selected clock (I0 or I1). Violating this setup time require-     purpose of minimizing the dynamic power dissipation of the
ment can result in an undefined runt pulse output.                clock network, the Xilinx development software automati-
                                                                  cally disables all clock line segments that a design does not
The BUFG clock buffer primitive drives a single clock signal      use.
onto the clock network and is essentially the same element
as a BUFGMUX, just without the clock select mechanism.            A global clock line ideally drives clock inputs on the various
Similarly, the BUFGCE primitive creates an enabled clock          clocked elements within the FPGA, such as CLB or IOB
buffer using the BUFGMUX select mechanism.                        flip-flops or block RAMs. A global clock line also optionally
                                                                  drives combinatorial inputs. However, doing so provides
Each BUFGMUX buffers incoming clock signals to two pos-           additional loading on the clock line that might also affect
sible destinations:                                               clock jitter. Ideally, drive combinatorial inputs using the sig-
                                                                  nal that also drives the input to the BUFGMUX or BUFG ele-
1. The vertical spine belonging to the same side of the die       ment.
     -- top or bottom -- as the BUFGMUX element in use.
     The two spines -- top and bottom -- each comprise            For more details, refer to the "Using Global Clock
     four vertical clock lines, each running from one of the      Resources" chapter in UG331.
     BUFGMUX elements on the same side towards the
     center of the die. At the center of the die, clock signals

42                                             www.xilinx.com     DS099-2 (v2.4) June 25, 2008

                                                                  Product Specification
R                                                               Spartan-3 FPGA Family: Functional Description

        DCM                                     GCLK6         GCLK4

        DCM                              GCLK7  GCLK5

                              4                                            4
                                   4
                                                                     4           DCM
                                                                             8
                                                     4 BUFGMUX

                                                4

                                                                 

                                               Top Spine                            Array Dependent

                                                                       

                                      8                         8          8

                                         Horizontal Spine

                                                                       

                                               Bottom Spine                         Array Dependent

                                               4                     

                              4                      4 BUFGMUX            4
                                   4                                 4
                                                                              DCM

                                         GCLK3  GCLK1

                                                GCLK2         GCLK0                   DS099-2_18_050505

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

DS099-2 (v2.4) June 25, 2008             www.xilinx.com                                                  43

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                                                            R

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 23c).
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 23a). 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 23d). 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                                      For more details, refer to the "Using Interconnect" chapter in
Figure 23b). These lines fall between Long lines and Dou-                               UG331.

         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 23: Types of Interconnect

44                                                                              www.xilinx.com                    DS099-2 (v2.4) June 25, 2008

                                                                                                                  Product Specification
      R                                                           Spartan-3 FPGA Family: Functional Description

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

Table 25: 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.

The HSWAP_EN input pin defines whether the I/O pins that          configuration data is passed via the FPGA's DOUT pin.
are not actively used during configuration have pull-up           There is no such limit for JTAG chains.
resistors during configuration. By default, HSWAP_EN is
tied High (via an internal pull-up resistor if left floating)     The Standard Configuration Interface
which shuts off the pull-up resistors on the user I/O pins dur-
ing configuration. When HSWAP_EN is tied Low, user I/Os           Configuration signals belong to one of two different catego-
have pull-ups during configuration. The Dedicated configu-        ries: Dedicated or Dual-Purpose. Which category deter-
ration pins (CCLK, DONE, PROG_B, M2, M1, M0,                      mines which of the FPGA's power rails supplies the signal's
HSWAP_EN) and the JTAG pins (TDI, TMS, TCK, and                   driver and, thus, helps describe the electrical at the pin.
TDO) always have a pull-up resistor to VCCAUX during con-
figuration, regardless of the value on the HSWAP_EN pin.          The Dedicated configuration pins include PROG_B,
Similarly, the Dual-prupose INIT_B pin has an internal            HSWAP_EN, TDI, TMS, TCK, TDO, CCLK, DONE, and
pull-up resistor to VCCO_4 or VCCO_BOTTOM, depending              M0-M2. These pins are powered by the VCCAUX supply.
on the package style.
                                                                  Table 26: Spartan-3 Configuration Data
Depending on the chosen configuration mode, the FPGA
either generates a CCLK output, or CCLK is an input                                       Xilinx Platform Flash PROM
accepting an externally generated clock.
                                                                                          Serial  Parallel
A persist option is available which can be used to force the
configuration pins to retain their configuration function even    Device         File Sizes Configuration Configuration
after device configuration is complete. If the persist option is
not selected then the configuration pins with the exception       XC3S50         439,264  XCF01S  XCF08P
of CCLK, PROG_B, and DONE can be used as user I/O in
normal operation. The persist option does not apply to the        XC3S200 1,047,616       XCF01S  XCF08P
boundary-scan related pins. The persist feature is valuable
in applications that readback configuration data after enter-     XC3S400 1,699,136       XCF02S  XCF08P
ing the User mode.
                                                                  XC3S1000 3,223,488      XCF04S  XCF08P
Table 26 lists the total number of bits required to configure
each FPGA as well as the PROMs suitable for storing those         XC3S1500 5,214,784      XCF08P  XCF08P
bits. See DS123: Platform Flash In-System Programmable
Configuration PROMs data sheet for more information.              XC3S2000 7,673,024      XCF08P  XCF08P

The maximum bitstream length that Spartan-3 FPGAs sup-            XC3S4000 11,316,864     XCF16P  XCF16P
port in serial daisy-chains is 4,294,967,264 bits (4 Gbits),
roughly equivalent to a daisy-chain with 323 XC3S5000             XC3S5000 13,271,936     XCF16P  XCF16P
FPGAs. This is a limit only for serial daisy-chains where
                                                                  The Dual-Purpose configuration pins comprise INIT_B,
                                                                  DOUT, BUSY, RDWR_B, CS_B, and DIN/D0-D7. Each of
                                                                  these pins, according to its bank placement, uses the VCCO
                                                                  lines for either Bank 4 (VCCO_4 on most packages,
                                                                  VCCO_BOTTOM on TQ144 and CP132 packages) or Bank

DS099-2 (v2.4) June 25, 2008             www.xilinx.com                                                               45

Product Specification
Spartan-3 FPGA Family: Functional Description                   R

5 (VCCO_5). All the signals used in the serial configuration    series resistors to limit the incoming current to 10 mA or
modes rely on VCCO_4 power. Signals used in the parallel        less. The Dedicated outputs have reduced noise margin
configuration modes and Readback require from VCCO_5            when the FPGA drives a High logic level into another
as well as from VCCO_4.                                         device's 3.3V receiver. Choose a power regulator or supply
                                                                that can tolerate reverse current on the VCCAUX lines.
Both the Dedicated signals described above and the
Dual-Purpose signals constitute the configuration interface.    Configuration Modes
The Dedicated pins, powered by the 2.5V VCCAUX supply,
always use the LVCMOS25 I/O standard. The Dual-Pur-             Spartan-3 supports the following five configuration modes:
pose signals, however, are powered by the VCCO_4 supply
and also by the VCCO_5 supply in the Parallel configuration      Slave Serial mode
modes. The simplest configuration interface uses 2.5V for       Master Serial mode
VCCO_4 and VCCO_5, if required. However, VCCO_4 and,             Slave Parallel (SelectMAP) mode
if needed, VCCO_5 can be voltages other than 2.5V but            Master Parallel (SelectMAP) mode
then the configuration interface will have two voltage levels:   Boundary-Scan (JTAG) mode (IEEE 1532/IEEE
2.5V for VCCAUX and a separate VCCO supply. The
Dual-Purpose signals default to the LVCMOS input and out-            1149.1)
put levels for the associated VCCO voltage supply.
                                                                Slave Serial Mode
3.3V-Tolerant Configuration Interface
                                                                In Slave Serial mode, the FPGA receives configuration data
A 3.3V-tolerant configuration interface simply requires add-    in bit-serial form from a serial PROM or other serial source
ing a few external resistors as described in detail in "The     of configuration data. The FPGA on the far right of Figure 24
3.3V Configuration of Spartan-3 FPGAs" (XAPP453).               is set for the Slave Serial mode. The CCLK pin on the FPGA
                                                                is an input in this mode. The serial bitstream must be set up
The 3.3V-tolerance is implemented as follows (a similar         at the DIN input pin a short time before each rising edge of
approach can be used for other supply voltage levels):          the externally generated CCLK.

Apply 3.3V to VCCO_4 and, in some configuration modes,          Multiple FPGAs can be daisy-chained for configuration from
to VCCO_5 to power the Dual-Purpose configuration pins.         a single source. After a particular FPGA has been config-
This scales the output voltages and input thresholds associ-    ured, the data for the next device is routed internally to the
ated with these pins so that they become 3.3V-compatible.       DOUT pin. The data on the DOUT pin changes on the falling
                                                                edge of CCLK.
Apply 2.5V to VCCAUX to power the Dedicated configuration
pins. For 3.3V-tolerance, the Dedicated inputs require

46                                             www.xilinx.com   DS099-2 (v2.4) June 25, 2008

                                                                Product Specification
R                                                                                                   Spartan-3 FPGA Family: Functional Description

                       3.3V: XCF0xS                         2.5V         2.5V                             2.5V
                       1.8V: XCFxxP

                                                                                                    1.2V                        1.2V

                                   VCCO        VCCJ                              VCCO Bank 4                       VCCO Bank 4
                       VCCINT                    D0                            VCCAUX VCCINT                    VCCAUX VCCINT

                                                                               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_112905

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 24: Connection Diagram for Master and Slave Serial Configuration

Slave Serial mode is selected by applying <111> to the                              6 MHz. Configuration bits then switch CCLK to a higher fre-
mode pins (M0, M1, and M2). A pull-up on the mode pins                              quency for the remainder of the configuration.
makes slave serial the default mode if the pins are left
unconnected.                                                                        Slave Parallel Mode (SelectMAP)

Master Serial Mode                                                                  The Parallel or SelectMAP modes support the fastest con-
                                                                                    figuration. Byte-wide data is written into the FPGA with a
In Master Serial mode, the FPGA drives CCLK pin, which                              BUSY flag controlling the flow of data. An external source
behaves as a bidirectional I/O pin (see ). The FPGA in the                          provides 8-bit-wide data, CCLK, an active-Low Chip Select
center of Figure 24 is set for Master Serial mode and con-                          (CS_B) signal and an active-Low Write signal (RDWR_B). If
nects to the serial configuration PROM and to the CCLK                              BUSY is asserted (High) by the FPGA, the data must be
inputs of any slave FPGAs in a configuration daisy-chain.                           held until BUSY goes Low. Data can also be read using the
The master FPGA drives the configuration clock on the                               Slave Parallel mode. If RDWR_B is asserted, configuration
CCLK pin to the Xilinx Serial PROM, which, in response,                             data is read out of the FPGA as part of a readback opera-
provides bit-serial data to the FPGA's DIN input. The FPGA                          tion.
accepts this data on each rising CCLK edge. After the mas-
ter FPGA finishes configuring, it passes data on its DOUT                           After configuration, it is possible to use any of the Multipur-
pin to the next FPGA device in a daisy-chain. The DOUT                              pose pins (DIN/D0-D7, DOUT/BUSY, INIT_B, CS_B, and
data appears after the falling CCLK clock edge.                                     RDWR_B) as User I/Os. To do this, simply set the BitGen
                                                                                    option Persist to No and assign the desired signals to multi-
The Master Serial mode interface is identical to Slave Serial                       purpose configuration pins using the Xilinx development
except that an internal oscillator generates the configuration                      software. Alternatively, it is possible to continue using the
clock (CCLK). A wide range of frequencies can be selected                           configuration port (e.g. all configuration pins taken together)
for CCLK, which always starts at a default frequency of

DS099-2 (v2.4) June 25, 2008                                             www.xilinx.com                                                        47

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                        R

when operating in the User mode. This is accomplished by                 tiple devices in this way, wire the individual CCLK, Data,
setting the Persist option to Yes.                                       RDWR_B, and BUSY pins of all the devices in parallel. The
                                                                         individual devices are loaded separately by deasserting the
Multiple FPGAs can be configured using the Slave Parallel                CS_B pin of each device in turn and writing the appropriate
mode and can be made to start-up simultaneously.                         data.
Figure 25 shows the device connections. To configure mul-

                 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 25: Connection Diagram for Slave Parallel Configuration

48                                                       www.xilinx.com                                DS099-2 (v2.4) June 25, 2008

                                                                                                             Product Specification
R                                                                                         Spartan-3 FPGA Family: Functional Description

                                                                       2.5V

                              1.8V                               2.5V                                       1.2V

                                                                                          VCCO Banks 4 & 5
                                                                                          VCCAUX VCCINT

                                                VCCO  VCCJ                                Spartan-3
                                    VCCINT                                                  Master

                                                   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_112905

   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 26: Connection Diagram for Master Parallel Configuration

Master Parallel Mode                                                   or Master Parallel mode, and the associated PROM is
                                                                       already programmed with a valid configuration image, then
In this mode, the FPGA configures from byte-wide data, and             there is potential for configuration interference between the
the FPGA supplies the CCLK configuration clock. In Master              JTAG and PROM data. Selecting the Boundary-Scan mode
configuration modes, CCLK behaves as a bidirectional I/O               disables the other modes and is the most reliable mode
pin (see . Timing is similar to the Slave Parallel mode except         when programming via JTAG.
that CCLK is supplied by the FPGA. The device connec-
tions are shown in Figure 26.                                          Configuration Sequence

Boundary-Scan (JTAG) Mode                                              The configuration of Spartan-3 devices is a three-stage pro-
                                                                       cess that occurs after Power-On Reset or the assertion of
In Boundary-Scan mode, dedicated pins are used for con-                PROG_B. POR occurs after the VCCINT, VCCAUX, and VCCO
figuring the FPGA. The configuration is done entirely                  Bank 4 supplies have reached their respective maximum
through the IEEE 1149.1 Test Access Port (TAP). FPGA                   input threshold levels (see Table 28, page 56). After POR,
configuration using the Boundary-Scan mode is compliant                the three-stage process begins.
with the IEEE 1149.1-1993 standard and the new IEEE
1532 standard for In-System Configurable (ISC) devices.                First, the configuration memory is cleared. Next, con-
                                                                       figuration data is loaded into the memory, and finally, the
Configuration through the boundary-scan port is always                 logic is activated by a start-up process. A flow diagram for
available, regardless of the selected configuration mode. In           the configuration sequence of the Serial and Parallel modes
some cases, however, the mode pin setting may affect                   is shown in Figure 27. The flow diagram for the Bound-
proper programming of the device due to various interac-               ary-Scan configuration sequence appears in Figure 28.
tions. For example, if the mode pins are set to Master Serial

DS099-2 (v2.4) June 25, 2008                          www.xilinx.com                                                                                                                          49

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                                                                R

        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 27: Configuration Flow Diagram for the Serial and Parallel Modes

50                                             www.xilinx.com                    DS099-2 (v2.4) June 25, 2008

                                                                                                                                                                             Product Specification
R                                                                        Spartan-3 FPGA Family: Functional Description

                                  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 28: Boundary-Scan Configuration Flow Diagram

DS099-2 (v2.4) June 25, 2008                           www.xilinx.com                                                                                                                        51

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                                     R

Configuration is automatically initiated after power-on                                                                           become active. One CCLK cycle later, the Global Write
unless it is delayed by the user. INIT_B is an open-drain line                                                                    Enable (GWE) signal is released. This permits the internal
that the FPGA holds Low during the clearing of the configu-                                                                       storage elements to begin changing state in response to the
ration memory. Extending the time that the pin is Low                                                                             design logic and the user clock.
causes the configuration sequencer to wait. Thus, configu-
ration is delayed by preventing entry into the phase where                                                                        The relative timing of configuration events can be changed
data is loaded.                                                                                                                   via the BitGen options in the Xilinx development software. In
                                                                                                                                  addition, the GTS and GWE events can be made depen-
The configuration process can also be initiated by asserting                                                                      dent on the DONE pins of multiple devices all going High,
the PROG_B pin. The end of the memory-clearing phase is                                                                           forcing the devices to start synchronously. The sequence
signaled by the INIT_B pin going High. At this point, the con-                                                                    can also be paused at any stage, until lock has been
figuration data is written to the FPGA. The FPGA pulses the                                                                       achieved on any DCM.
Global Set/Reset (GSR) signal at the end of configuration,
resetting all flip-flops. The completion of the entire process                                                                    Readback
is signaled by the DONE pin going High.
                                                                                                                                  Using Slave Parallel mode, configuration data from the
    Start-Up Clock        Default Cycles                                                                                          FPGA can be read back. Readback is supported only in the
               Phase                                                                                                              Slave Parallel and Boundary-Scan modes.
                      0 1 2 3 4 5 67
                                                                                                                                  Along with the configuration data, it is possible to read back
    DONE                                                                                                                          the contents of all registers, distributed RAM, and block
      GTS                                                                                                                         RAM resources. This capability is used for real-time debug-
                                                                                                                                  ging.
                GWE       Sync-to-DONE
                                                                                                                                  Additional Configuration Details
    Start-Up Clock    0 1 2 3 4 5 67
               Phase                                                                                                              Additional details about the Spartan-3 FPGA configuration
                                                                                                                                  architecture and command set are available in the "Spar-
                      DONE High                                                                                                   tan-3 Generation Configuration User Guide" (UG332) and
                                                                                                                                  the "Spartan-3 Advanced Configuration Architecture" appli-
    DONE                                                                                                                          cation note (XAPP452).
      GTS
                                                                                                                                  Powering Spartan-3 FPGAs
                       GWE
                                                                                                                                  Voltage Regulators
                                                                                                                DS099_028_060905
                                                                                                                                  Various power supply manufacturers offer complete power
         Notes:                                                                                                                   solutions for Xilinx FPGAs, including some with integrated
         1. The BitGen option StartupClk in the Xilinx                                                                            multi-rail regulators specifically designed for Spartan-3
                                                                                                                                  FPGAs. The Xilinx Power Corner website provides links to
               development software selects the CCLK input,                                                                       vendor solution guides as well as Xilinx power estimation
               TCK input, or a user-designated clock input (via the                                                               and analysis tools.
               STARTUP_SPARTAN3 primitive) for receiving the
               clock signal that synchronizes Start-Up.                                                                           Power Distribution System (PDS) Design and
                                                                                                                                  Bypass/Decoupling Capacitors
            Figure 29: Default Start-Up Sequence
                                                                                                                                  Good power distribution system (PDS) design is important
The default start-up sequence, shown in Figure 29, serves                                                                         for all FPGA designs, especially for high-performance appli-
as a transition to the User mode. The default start-up                                                                            cations. Proper design results in better overall performance,
sequence is that one CCLK cycle after DONE goes High,                                                                             lower clock and DCM jitter, and a generally more robust sys-
the Global Three-State signal (GTS) is released. This per-                                                                        tem. Before designing the printed circuit board (PCB) for the
mits device outputs to which signals have been assigned to                                                                        FPGA design, review "Power Distribution System (PDS)
                                                                                                                                  Design: Using Bypass/Decoupling Capacitors" (XAPP623).

                                                                                                                                  Power-On Behavior

                                                                                                                                  Spartan-3 FPGAs have a built-in Power-On Reset (POR)
                                                                                                                                  circuit that monitors the three power rails required to suc-
                                                                                                                                  cessfully configure the FPGA. At power-up, the POR circuit
                                                                                                                                  holds the FPGA in a reset state until the VCCINT, VCCAUX,
                                                                                                                                  and VCCO Bank 4 supplies reach their respective input

52                                             www.xilinx.com                                                                     DS099-2 (v2.4) June 25, 2008

                                                                                                                                  Product Specification
R                                                                Spartan-3 FPGA Family: Functional Description

threshold levels (see Table 28, page 56). After all three sup-   Initial Spartan-3 FPGA mask revisions have a limit on how
plies reach their respective threshold, the POR reset is         fast the VCCO supply can ramp. The minimum allowed VCCO
released and the FPGA begins its configuration process.          ramp rate appears as TCCO in Table 29, page 57. The mini-
                                                                 mum rate is affected by the package inductance. Conse-
Because the three supply inputs must be valid to release         quently, the ball grid array and chip-scale packages
the POR reset and can be supplied in any order, there are        (CP132, FT256, FG456, FG676, and FG900) allow a faster
no specific voltage sequencing requirements. However,            ramp rate than the quad-flat packages (VQ100, TQ144, and
applying the FPGA's VCCAUX supply before the VCCINT sup-         PQ208).
ply uses the least ICCINT current.
                                                                 Configuration Data Retention, Brown-Out
Once all three supplies are valid, the minimum current
required to power-on the FPGA is equal to the worst-case         The FPGA's configuration data is stored in robust CMOS
quiescent current, as specified in Table 33, page 60. Spar-      configuration latches. The data in these latches is retained
tan-3 FPGAs do not require Power-On Surge (POS) current          even when the voltages drop to the minimum levels neces-
to successfully configure.                                       sary to preserve RAM contents. This is specified in
                                                                 Table 30, page 57.
Surplus ICCINT if VCCINT Applied before VCCAUX
                                                                 If, after configuration, the VCCAUX or VCCINT supply drops
If the VCCINT supply is applied before the VCCAUX supply,        below its data retention voltage, clear the current device
the FPGA may draw a surplus ICCINT current in addition to        configuration using one of the following methods:
the ICCINT quiescent current levels specified in Table 33.
The momentary additional ICCINT surplus current might be a       Force the VCCAUX or VCCINT supply voltage below the
few hundred milliamperes under nominal conditions, signifi-           minimum Power On Reset (POR) voltage threshold
cantly less than the instantaneous current consumed by the            Table 28, page 56).
bypass capacitors at power-on. However, the surplus cur-
rent immediately disappears when the VCCAUX supply is             Assert PROG_B Low.
applied, and, in response, the FPGA's ICCINT quiescent cur-
rent demand drops to the levels specified in Table 33. The       The POR circuit does not monitor the VCCO_4 supply after
FPGA does not use nor does it require the surplus current        configuration. Consequently, dropping the VCCO_4 voltage
to successfully power-on and configure. If applying VCCINT-      does not reset the device by triggering a Power-On Reset
before VCCAUX, ensure that the regulator does not have a         (POR) event.
foldback feature that could inadvertently shut down in the
presence of the surplus current.                                 No Internal Charge Pumps or Free-Running
                                                                 Oscillators
Maximum Allowed VCCINT Ramp Rate on Early
Devices, if VVCCINTSupply is Last in Sequence                    Some system applications are sensitive to sources of ana-
                                                                 log noise. Spartan-3 FPGA circuitry is fully static and does
All devices with a mask revision code `E' or later do not have   not employ internal charge pumps.
a VCCINT ramp rate requirement. See Mask and Fab Revi-
sions, page 55.                                                  The CCLK configuration clock is active during the FPGA
                                                                 configuration process. After configuration completes, the
Early Spartan-3 FPGAs were produced at a 200 mm wafer            CCLK oscillator is automatically disabled unless the Bit-
production facility and are identified by a fabrication/process  stream Generator (BitGen) option Persist=Yes. See Mod-
code of "FQ" on the device top marking, as shown in Pack-        ule 4: Table 79, page 117.
age Marking, page 7. These "FQ" devices have a maxi-
mum VCCINT ramp rate requirement if and only if VCCINT is        Spartan-3 FPGAs optionally support a featured called Digi-
the last supply to ramp, after the VCCAUX and VCCO Bank 4        tally Controlled Impedance (DCI). When used in an appli-
supplies. This maximum ramp rate appears as TCCINT in            cation, the DCI logic uses an internal oscillator. The DCI
Table 29, page 57.                                               logic is only enabled if the FPGA application specifies an I/O
                                                                 standard that requires DCI (LVDCI_33, LVDCI_25, etc.). If
Minimum Allowed VCCO Ramp Rate on Early                          DCI is not used, the associated internal oscillator is also dis-
Devices                                                          abled.

Devices shipped since 2006 essentially have no VCCO ramp         In summary, unless an application uses the Persist=Yes
rate limits, shown in Table 29, page 57. Similarly, all devices  option or specifies a DCI I/O standard, an FPGA with no
with a mask revision code `E' or later do not have a VCCO        external switching remains fully static.
ramp rate limit. See Mask and Fab Revisions, page 55.

DS099-2 (v2.4) June 25, 2008  www.xilinx.com                     53

Product Specification
Spartan-3 FPGA Family: Functional Description                                                                          R

Revision History

  Date    Version No.                                            Description
04/11/03
05/19/03  1.0          Initial Xilinx release
07/11/03
          1.1          Added Block RAM column, DCMs, and multipliers to XC3S50 descriptions.
08/24/04
08/19/05  1.2          Explained the configuration port Persist option in Slave Parallel Mode (SelectMAP) section.

04/03/06               Updated Figure 6 and Double-Data-Rate Transmission section to indicate that DDR clocking
04/26/06
05/25/07               for the XC3S50 is the same as that for all other Spartan-3 devices. Updated description of I/O
11/30/07
06/25/08               voltage tolerance in ESD Protection section. In Table 9, changed input termination type for

                       DCI version of the LVCMOS standard to None. Added additional flexibility for making DLL

                       connections in Figure 19 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.

          1.3          Showed inversion of 3-state signal (Figure 5). Clarified description of pull-up and pull-down

                       resistors (Table 5 and page 15). Added information on operating block RAM with multipliers to

                       page 25. Corrected output buffer name in Figure 19. Corrected description of how DOUT is

                       synchronized to CCLK (page 46).

          1.4          Corrected description of WRITE_FIRST and READ_FIRST in Table 12. Added note regarding

                       address setup and hold time requirements whenever a block RAM port is enabled (Table 12).

                       Added information in the maximum length of a Configuration daisy-chain. Added reference

                       to XAPP453 in 3.3V-Tolerant Configuration Interface section. Added information on the

                       STATUS[2] DCM output (Table 22). Added information on CCLK behavior and termination

                       recommendations to Configuration. Added Additional Configuration Details section.

                       Added Powering Spartan-3 FPGAs section. Removed GSR from Figure 29 because its

                       timing is not programmable.

          2.0          Updated Figure 5. Updated Figure 12. Updated Table 9. Updated Figure 20. Corrected

                       Platform Flash supply voltage name and value in Figure 24 and Figure 26. Added No Internal

                       Charge Pumps or Free-Running Oscillators. Corrected a few minor typographical errors.

          2.1          Added more information on the pull-up resistors that are active during configuration to

                       Configuration. Added information to Boundary-Scan (JTAG) Mode about potential

                       interactions when configuring via JTAG if the mode select pins are set for other than JTAG.

          2.2          Added New Spartan-3 Generation Design Documentation Available. Noted SSTL2_I_DCI

                       25-Ohm driver in Table 9 and Table 10. Added note that pull-down is active during boundary

                       scan tests.

          2.3          Updated links to documentation on xilinx.com.

          2.4          Added HSLVDCI to Table 9. Updated formatting and links.

54                                             www.xilinx.com                   DS099-2 (v2.4) June 25, 2008

                                                                                Product Specification
                                                      98

                              R                               Spartan-3 FPGA Family:

                                                              DC and Switching Characteristics

DS099-3 (v2.4) June 25, 2008                              0   Product Specification

DC Electrical Characteristics                                 applies unless otherwise noted: The parameter values
                                                              published in this module apply to all Spartan-3
In this section, specifications may be designated as          devices. AC and DC characteristics are specified using
Advance, Preliminary, or Production. These terms are          the same numbers for both commercial and industrial
defined as follows:                                           grades. All parameters representing voltages are mea-
                                                              sured with respect to GND.
Advance: Initial estimates are based on simulation, early
characterization, and/or extrapolation from the characteris-  If a particular Spartan-3 FPGA differs in functional behavior
tics of other families. Values are subject to change.         or electrical characteristic from this data sheet, those differ-
Although speed grades with this designation are considered    ences are described in a separate errata document. The
relatively stable and conservative, some under-reporting      errata notices for Spartan-3 FPGAs are living documents
might still occur. Use as estimates, not for production.      and are available online. Also, create a Xilinx MySupport
                                                              user account and sign up for automatic E-mail notification
Preliminary: Based on complete early silicon characteriza-    whenever this data sheet or an errata notice is updated.
tion. Devices and speed grades with this designation are
intended to give a better indication of the expected perfor-   Spartan-3 FPGA Errata Notices
mance of production silicon. The probability of                     http://www.xilinx.com/support/documentation/
under-reported delays is greatly reduced compared to                spartan-3_errata.htm
Advance data. Use as estimates, not for production.
                                                               To Sign Up for Alerts on Xilinx MySupport
Production: These specifications are approved only after            http://www.xilinx.com/support/answers/19380.htm
silicon has been characterized over numerous production
lots. There is no under-reporting of delays, and customers    Mask and Fab Revisions
receive formal notification of any subsequent changes.
Parameter values are considered stable with no future         Some specifications list different values for one or more
changes expected.                                             mask or fab revisions, indicated by the device top marking
                                                              (see Package Marking, page 7). The revision differences
Production-quality systems must only use FPGA designs         involve the power ramp rates, differential DC specifications,
compiled with a Production status speed file. FPGA designs    and DCM characteristics. The most recent revision (mask
using a less mature speed file designation should only be     rev E and GQ fab/geometry code) is errata-free with
used during system prototyping or preproduction qualifica-    improved specifications than earlier revisions.
tion. FPGA designs with speed files designated as Preview,
Advance, or Preliminary should not be used in a produc-       Mask rev E with fab rev GQ has been shipping since 2005
tion-quality system.                                          (see XCN05009) and has been 100% of Xilinx Spartan-3
                                                              device shipments since 2006. SCD 0974 was provided to
Whenever a speed file designation changes, as a device        ensure the receipt of the rev E silicon, but it is no longer
matures toward Production status, rerun the latest Xilinx     needed. Parts ordered under the SCD appended "0974" to
ISE software on the FPGA design to ensure that the FPGA      the standard part number. For example,
design incorporates the latest timing information and soft-   "XC3S50-4VQ100C" became "XC3S50-4VQ100C0974".
ware updates.

All parameter limits are representative of worst-case supply
voltage and junction temperature conditions. The following

Table 27: Absolute Maximum Ratings

Symbol                 Description                            Conditions  Min   Max         Units

VCCINT  Internal supply voltage relative to GND                           0.5  1.32        V
VCCAUX  Auxiliary supply voltage relative to GND
VCCO   Output driver supply voltage relative to GND                      0.5  3.00        V
        Input reference voltage relative to GND
VREF                                                                     0.5  3.75        V

                                                                          0.5  VCCO + 0.5  V

2003-2008 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 (v2.4) June 25, 2008                          www.xilinx.com                                                                                                    55

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                       R

Table 27: Absolute Maximum Ratings (Continued)

Symbol           Description                                           Conditions             Min         Max    Units

    VIN    Voltage applied to all User I/O pins and       Driver in a     Commercial          0.95       4.4       V

           Dual-Purpose pins relative to GND(2, 4)        high-impedance  Industrial          0.85       4.3
                                                          state

           Voltage applied to all Dedicated pins                          All temp. ranges 0.5 VCCAUX + 0.5        V
           relative to GND(3)

      IIK  Input clamp current per I/O pin                0.5 V < VIN < (VCCO + 0.5 V)       -           100      mA
                                                          Human body model
    VESD   Electrostatic Discharge Voltage pins relative  Charged device model                            2000     V
           to GND
                                                                                              -           500      V

                                                          Machine model                       -           200      V

    TJ     Junction temperature                                                               -           125       C

    TSOL Soldering temperature                                                                -           220       C

    TSTG Storage temperature                                                                  65         150       C

Notes:

1. Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device. These are stress
      ratings only; functional operation of the device at these or any other conditions beyond those listed under the Recommended
      Operating Conditions is not implied. Exposure to Absolute Maximum Ratings conditions for extended periods of time adversely
      affects device reliability.

2. 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. Keeping VIN within 500 mV of the associated VCCO rails or ground rail ensures that the internal diode
      junctions that exist between each of these pins and the VCCO and GND rails do not turn on. Table 31 specifies the VCCO range used
      to determine the max limit. Input voltages outside the -0.5V to VCCO+0.5V voltage range are permissible provided that the IIK input
      clamp diode rating is met and no more than 100 pins exceed the range simultaneously. The VIN limits apply to both the DC and AC
      components of signals. Simple application solutions are available that show how to handle overshoot/undershoot as well as achieve
      PCI compliance. Refer to the following application notes: "Powering and Configuring Spartan-3 Generation FPGAs in Compliant PCI
      Applications" (XAPP457) and "Virtex-II Pro / Virtex-II Pro X 3.3V I/O Design Guidelines" (XAPP659).

3. All Dedicated pins (M0M2, CCLK, PROG_B, DONE, HSWAP_EN, TCK, TDI, TDO, and TMS) draw power from the VCCAUX rail
      (2.5V). Meeting the VIN max limit ensures that the internal diode junctions that exist between each of these pins and the VCCAUX rail
      do not turn on. Table 31 specifies the VCCAUX range used to determine the max limit. When VCCAUX is at its maximum recommended
      operating level (2.625V), VIN max < 3.125V. As long as the VIN max specification is met, oxide stress is not possible. For information
      concerning the use of 3.3V signals, see the 3.3V-Tolerant Configuration Interface, page 46See XAPP459, "Eliminating I/O
      Coupling Effects when Interfacing Large-Swing Single-Ended Signals to User I/O Pins."

4. For soldering guidelines, see "Device Packaging and Thermal Characteristics" (UG112) and "Implementation and Solder Reflow
      Guidelines for Pb-Free Packages" (XAPP427).

Table 28: 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                                         0.8         2.0         V

         VCCO4T  Threshold for the VCCO Bank 4 supply                                    0.4         1.0         V

Notes:
1. VCCINT, VCCAUX, and VCCO supplies may be applied in any order. When applying VCCINT power before VCCAUX power, the FPGA may

      draw a surplus current in addition to the quiescent current levels specified in Table 33. Applying VCCAUX eliminates the surplus
      current. The FPGA does not use any of the surplus current for the power-on process. For this power sequence, make sure that
      regulators with foldback features will not shut down inadvertently.

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.

3. If a brown-out condition occurs where VCCAUX or VCCINT drops below the retention voltage indicated in Table 30, then VCCAUX or
      VCCINT must drop below the minimum power-on reset voltage in order to clear out the device configuration content.

56                                                        www.xilinx.com                           DS099-3 (v2.4) June 25, 2008

                                                                                                     Product Specification
        R                                              Spartan-3 FPGA Family: DC and Switching Characteristics

Table 29: Power Voltage Ramp Time Requirements

Symbol     Description        Top Marking(2)            Device Package     Min       Max Units

TCCO       VCCO ramp time for Mask revisions `A'        XC3S50  All        No limit       -   ms

           all eight banks    through `D'               XC3S200 FT and FG  0.6            -   ms

                                                                Other      2.0            -   ms

                                                        XC3S400 FT and FG  0.6            -   ms

                                                                Other      2.0            -   ms

                                                        XC3S1000 All       No limit       -

                                                        XC3S1500 All       0.6            -   ms

                                                        XC3S2000 All       No limit       -

                                                        XC3S4000 All       0.6            -   ms

                                                        XC3S5000 All       No limit       -

                              Mask revisions `E' or All         All        No limit       -

                              later

TCCINT VCCINT ramp time, Devices with `FQ'              All     All        No limit  500      s

           only if VCCINT is last fabrication/process

           in three-rail power-on code

           sequence           Devices with `GQ'         All     All        No limit No limit

                              fabrication/process

                              code or parts ordered

                              with SCD0974(6,7)

Notes:

1. If a limit exists, this specification is based on characterization.
2. The mask revision code appears on the device top marking. See Package Marking, page 7
3. The ramp time is measured from 10% to 90% of the full nominal voltage swing for all I/O standards.

4. For information on power-on current needs, see Power-On Behavior, page 52
5. Mask revision, fabrication, and process codes appear in Package Marking, page 7. Devices ordered with SCD0974 or with `GQ'

      fabrication/process code are also described in XCN05009.
6. To specifically order mask revision 'E' devices, append "0974" to the standard part number. For example, "XC3S50-4VQ100C"

      becomes "XC3S50-4VQ100C0974". Mask revision `E' devices are errata free and have improved specifications. See Mask and Fab
      Revisions, page 55.

7. Also applies to now-obsolete SCD0961

Table 30: 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 data stored in CMOS configuration latches.

2. The level of the VCCO supply has no effect on data retention.
3. If a brown-out condition occurs where VCCAUX or VCCINT drops below the retention voltage, then VCCAUX or VCCINT must drop below

      the minimum power-on reset voltage indicated in Table 28 in order to clear out the device configuration content.

DS099-3 (v2.4) June 25, 2008               www.xilinx.com                                            57

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                        R

Table 31: General Recommended Operating Conditions

    Symbol                                    Description                      Min               Nom       Max          Units

            TJ  Junction temperature                          Commercial       0                 25          85         C

                                                              Industrial       40               25        100          C

      VCCINT    Internal supply voltage                                        1.140             1.200      1.260          V
      VCCO (1)                                                                 1.140                -       3.465          V
                Output driver supply voltage                                   2.375                        2.625          V
      VCCAUX                                                                                     2.500                  mV/ms
    VCCAUX(2)   Auxiliary supply voltage                                          -                 -          10          V
                                                                               0.3                 -        3.75          V
       VIN(3)   Voltage variance on VCCAUX when using a DCM                    0.3                 -   VCCO + 0.3(4)

                Voltage applied to all User                   VCCO = 3.3V
                                                              VCCO  2.5V
                I/O pins and Dual-Purpose
                pins relative to GND(4, 6)

                Voltage applied to all                                         0.3              -      VCCAUX+ 0.3(5)  V

                Dedicated pins relative to
                GND(5)

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 34, and that specific to the differential standards is given in
      Table 36.
2. Only during DCM operation is it recommended that the rate of change of VCCAUX not exceed 10 mV/ms.
3. Input voltages outside the recommended range are permissible provided that the IIK input diode clamp diode rating is met.
4. Each of the User I/O and Dual-Purpose pins is associated with one of the VCCO rails. Meeting the VIN limit ensures that the internal
      diode junctions that exist between these pins and their associated VCCO and GND rails do not turn on. The absolute maximum rating
      is provided in Table 27.
5. All Dedicated pins (PROG_B, DONE, TCK, TDI, TDO, and TMS) draw power from the VCCAUX rail (2.5V). Meeting the VIN max limit
      ensures that the internal diode junctions that exist between each of these pins and the VCCAUX and GND rails do not turn on.
6. See XAPP459, "Eliminating I/O Coupling Effects when Interfacing Large-Swing Single-Ended Signals to User I/O Pins."

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

Symbol          Description                                   Test Conditions                    Min    Typ      Max Units

    IL(2)       Leakage current at User I/O,                  Driver is Hi-Z, VIN = VCCO > 3.0V      -  -        25    A

                Dual-Purpose, and Dedicated pins              0V or VCCO max,  VCCO < 3.0V           -  -        10    A
                                                               sample-tested

    IRPU(3) Current through pull-up resistor at User          VIN = 0V, VCCO = 3.3V              0.84  -        2.35 mA
                  I/O, Dual-Purpose, and Dedicated pins       VIN = 0V, VCCO = 3.0V
                                                              VIN = 0V, VCCO = 2.5V              0.69  -        1.99 mA
                                                              VIN = 0V, VCCO = 1.8V
                                                              VIN = 0V, VCCO = 1.5V              0.47  -        1.41 mA
                                                              VIN = 0V, VCCO = 1.2V
                                                              VCCO = 3.0V to 3.465V              0.21  -        0.69 mA
                                                               VCCO = 2.3V to 2.7V
                                                               VCCO = 1.7V to 1.9V               0.13  -        0.43 mA
                                                               VCCO = 1.4V to 1.6V
                                                               VCCO = 1.14 to 1.26V              0.06  -        0.22 mA

    RPU(3)      Equivalent resistance of pull-up resistor at         VIN = VCCO                  1.27   -        4.11   k
                User I/O, Dual-Purpose, and Dedicated
                pins, derived from IRPU                                                          1.15   -        3.25   k

                                                                                                 2.45   -        9.10   k

                                                                                                 3.25   -        12.10  k

                                                                                                 5.15   -        21.00  k

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

58                                                            www.xilinx.com                            DS099-3 (v2.4) June 25, 2008

                                                                                                           Product Specification
        R                                            Spartan-3 FPGA Family: DC and Switching Characteristics

Table 32: General DC Characteristics of User I/O, Dual-Purpose, and Dedicated Pins (Continued)

Symbol                 Description                   Test Conditions             Min   Typ      Max Units

RPD(3)  Equivalent resistance of pull-down resistor  VIN =VCCO = 3.0V to 3.465V  1.75  -        9.35   k
        at User I/O, Dual-Purpose, and Dedicated      VIN =VCCO = 2.3V to 2.7V
        pins, driven from IRPD                        VIN =VCCO = 1.7V to 1.9V   1.35  -        7.30   k
                                                      VIN =VCCO = 1.4V to 1.6V
                                                      VIN =VCCO = 1.14 to 1.26V  1.00  -        5.15   k

                                                                                 0.85  -        4.35   k

                                                                                 0.68  -        3.465  k

RDCI    Value of external reference resistor to                                  20    -        100   
        support DCI I/O standards

IREF VREF current per pin                            VCCO > 3.0V                 -     -        25    A
                                                     VCCO < 3.0V
                                                                                 -     -        10    A

CIN     Input capacitance                                                        3     -        10     pF

Notes:

1. The numbers in this table are based on the conditions set forth in Table 31.
2. The IL specification applies to every I/O pin throughout power-on as long as the voltage on that pin stays between the absolute VIN

      minimum and maximum values (Table 27). For hot-swap applications, at the time of card connection, be sure to keep all I/O voltages
      within this range before applying VCCO power. Consider applying VCCO power before connecting the signal lines, to avoid turning on
      the ESD protection diodes, shown in Module 2: Figure 5, page 13. When the FPGA is completely unpowered, the I/O pins are high
      impedance, but there is a path through the upper and lower ESD protection diodes.
3. This parameter is based on characterization. The pull-up resistance RPU = VCCO / IRPU. The pull-down resistance RPD = VIN / IRPD.
      Spartan-3 family values for both resistances are stronger than they have been for previous FPGA families.

DS099-3 (v2.4) June 25, 2008                         www.xilinx.com                                        59

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                           R

Table 33: Quiescent Supply Current Characteristics

    Symbol   Description                            Device                   Commercial Industrial
                                                            Typical(1) Maximum(1) Maximum(1) Units

    ICCINTQ  Quiescent VCCINT supply current XC3S50         5    24   31   mA

                                            XC3S200         10   54   80   mA

                                            XC3S400         15   110  157  mA

                                            XC3S1000        35   160  262  mA

                                            XC3S1500        45   260  332  mA

                                            XC3S2000        60   360  470  mA

                                            XC3S4000        100  450  810  mA

                                            XC3S5000        120  600  870  mA

    ICCOQ    Quiescent VCCO supply current  XC3S50          1.5  2.0  2.5  mA

                                            XC3S200         1.5  3.0  3.5  mA

                                            XC3S400         1.5  3.0  3.5  mA

                                            XC3S1000        2.0  4.0  5.0  mA

                                            XC3S1500        2.5  4.0  5.0  mA

                                            XC3S2000        3.0  5.0  6.0  mA

                                            XC3S4000        3.5  5.0  6.0  mA

                                            XC3S5000        3.5  5.0  6.0  mA

    ICCAUXQ  Quiescent VCCAUX supply current XC3S50         7    20   22   mA

                                            XC3S200         10   30   33   mA

                                            XC3S400         15   40   44   mA

                                            XC3S1000        20   50   55   mA

                                            XC3S1500        35   75   85   mA

                                            XC3S2000        45   90   100  mA

                                            XC3S4000        55   110  125  mA

                                            XC3S5000        70   130  145  mA

Notes:

1. The numbers in this table are based on the conditions set forth in Table 31. Quiescent supply current is measured with all I/O drivers
      in a high-impedance state and with all pull-up/pull-down resistors at the I/O pads disabled. Typical values are characterized using
      devices with typical processing at ambient room temperature (TA of 25C at VCCINT = 1.2V, VCCO = 3.3V, and VCCAUX = 2.5V).
      Maximum values are the production test limits measured for each device at the maximum specified junction temperature and at
      maximum voltage limits with VCCINT = 1.26V, VCCO = 3.465V, and VCCAUX = 2.625V. The FPGA is programmed with a "blank"
      configuration data file (i.e., a design with no functional elements instantiated). For conditions other than those described above, (e.g.,
      a design including functional elements, the use of DCI standards, etc.), measured quiescent current levels may be different than the
      values in the table. Use the XPower Estimator or XPower Analyzer for more accurate estimates. See Note 2.

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

3. The maximum numbers in this table also indicate the minimum current each power rail requires in order for the FPGA to power-on
      successfully, once all three rails are supplied. If VCCINT is applied before VCCAUX, there may be temporary additional ICCINT current
      until VCCAUX is applied. See Surplus ICCINT if VCCINT Applied before VCCAUX, page 53

60                                          www.xilinx.com            DS099-3 (v2.4) June 25, 2008

                                                                      Product Specification
             R                                         Spartan-3 FPGA Family: DC and Switching Characteristics

Table 34: 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
     (IOSTANDARD)           -    Nom (V)          -      0.74                   Nom (V)      0.86         Max (V)        Min (V)
GTL(3)                      -                     -      0.74                                0.86       VREF - 0.05   VREF + 0.05
GTL_DCI                     -         -           -      0.88                      0.8       1.12       VREF - 0.05   VREF + 0.05
GTLP(3)                     -       1.2           -      0.88                      0.8       1.12       VREF - 0.1    VREF + 0.1
GTLP_DCI                                                   -                        1          -        VREF - 0.1    VREF + 0.1
HSLVDCI_15                1.4         -          1.6       -                        1          -        VREF - 0.1    VREF + 0.1
HSLVDCI_18                1.7       1.5          1.9       -                      0.75         -        VREF - 0.1    VREF + 0.1
HSLVDCI_25                2.3       1.5          2.7       -                       0.9         -        VREF - 0.1    VREF + 0.1
HSLVDCI_33                3.0       1.8        3.465     0.68                     1.25        0.9       VREF - 0.1    VREF + 0.1
HSTL_I, HSTL_I_DCI        1.4       2.5          1.6       -                      1.65         -        VREF - 0.1    VREF + 0.1
HSTL_III, HSTL_III_DCI    1.4       3.3          1.6                              0.75                  VREF - 0.1    VREF + 0.1
HSTL_I_18,                          1.5                  0.8                       0.9        1.1
HSTL_I_DCI_18             1.7       1.5          1.9                                                    VREF - 0.1    VREF + 0.1
                                                                                   0.9
                                    1.8

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(4)             1.14             1.2  1.3      -                        -               -       0.37VCCO      0.58VCCO

LVCMOS15, LVDCI_15,     1.4              1.5  1.6      -                        -               -       0.30VCCO      0.70VCCO
LVDCI_DV2_15(4)

LVCMOS18, LVDCI_18,     1.7              1.8  1.9      -                        -               -       0.30VCCO      0.70VCCO
LVDCI_DV2_18(4)

LVCMOS25(4,5),

LVDCI_25,               2.3              2.5  2.7      -                        -               -             0.7     1.7

LVDCI_DV2_25(4)

LVCMOS33, LVDCI_33,     3.0              3.3  3.465    -                        -               -             0.8     2.0
LVDCI_DV2_33(4)

LVTTL                   3.0              3.3  3.465    -                        -               -             0.8     2.0
PCI33_3(7)
                        3.0              3.3  3.465    -                        -               -       0.30VCCO      0.50VCCO
SSTL18_I,
SSTL18_I_DCI            1.7              1.8  1.9      0.833                    0.900      0.969        VREF - 0.125  VREF + 0.125

SSTL18_II               1.7              1.8  1.9      0.833                    0.900      0.969        VREF - 0.125  VREF + 0.125

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

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. For device operation, the maximum signal voltage (VIH max) may be as high as VIN max. See Table 27.
3. 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.
4. There is approximately 100 mV of hysteresis on inputs using LVCMOS25 or LVCMOS33 standards.

5. 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, page 46

6. The Global Clock Inputs (GCLK0-GCLK7) are Dual-Purpose pins to which any signal standard may be assigned.

7. For more information, see (XAPP457).

DS099-3 (v2.4) June 25, 2008                           www.xilinx.com                                                                                61

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                              R

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

            Signal Standard            Test Conditions                  Logic Level Characteristics
    (IOSTANDARD) and Current
                                IOL                       IOH             VOL      VOH
         Drive Attribute (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

HSLVDCI_15                     Note 3                   Note 3          0.4      VCCO - 0.4

HSLVDCI_18

HSLVDCI_25

HSLVDCI_33

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

62                                     www.xilinx.com                            DS099-3 (v2.4) June 25, 2008

                                                                                 Product Specification
           R                          Spartan-3 FPGA Family: DC and Switching Characteristics

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

        Signal Standard               Test Conditions          Logic Level Characteristics
(IOSTANDARD) and Current
                               IOL                      IOH      VOL                  VOH
     Drive Attribute (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

SSTL18_II                      13.4                    13.4   VTT - 0.475          VTT + 0.475
SSTL2_I                         8.1                     8.1   VTT - 0.61           VTT + 0.61
SSTL2_I_DCI                   Note 3                   Note 3
SSTL2_II(7)                    16.2                    16.2   VTT - 0.80           VTT + 0.80
SSTL2_II_DCI(7)               Note 3                   Note 3

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

2. Descriptions of the symbols used in this table are as follows:

     VVVVVVIVIOOOOIICRTLHLHTCELHFOtttthhtthhthhheeteeteehehioeionevnoouupopruustteulputptutpfaptuteupuguvtvrtptoeetocclvlynvultuatoaocarrvprlgerlgtoetpeaeaelnvlngtgiaotettteehhglcdctaateaotohthttgnonafaioiedndntatrididtiftinoioniriiococedrudnanasitsictcptiueesueaaunsttnstttotedeidanrdasesegrtLrHaeriavotwrwiheLmgwHherhohsiiiigwlncicolnahhaohgplstgoilViuVcooigwcOtgOnilecesLilHcelwvlliveesilaiseetvlcstvleteheelLsislVnttegCeddMthrOeSsh, oLVldTTL, and PCI inputs

3. Tested according to the standard's relevant specifications. When using the DCI version of a standard on a given I/O bank, that bank
      will consume more power than if the non-DCI version had been used instead. The additional power is drawn for the purpose of
      impedance-matching at the I/O pins. A portion of this power is dissipated in the two RREF resistors.

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, page 46

6. Tested according to the relevant PCI specifications. For more information, see XAPP457.

7. The minimum usable VTT voltage is 1.25V

DS099-3 (v2.4) June 25, 2008          www.xilinx.com                                             63

Product Specification
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 30: Differential Input Voltages

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

                     VCCO(1)                    VID                                       VICM                                                                     VIH           VIL

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

LDT_25 (ULVDS_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

LVPECL_25            2.375 2.50 2.625 100             -                 - 0.30 1.20 2.20 0.8 2.0                                                                           0.5 1.7

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

DIFF_HSTL_II_18,     1.70 1.80 1.90 200               -                 - 0.80 - 1.00 -                                                                                 -  -  -

DIFF_HSTL_II_18_DCI

DIFF_SSTL2_II,       2.375 2.50 2.625 300             -                 - 1.05 - 1.45 -                                                                                 -  -  -

DIFF_SSTL2_II_DCI

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.

64                                              www.xilinx.com                                                                                                  DS099-3 (v2.4) June 25, 2008

                                                                                                                                                                        Product Specification
            R                                                    Spartan-3 FPGA Family: DC and Switching Characteristics

                              Internal                              VOUTP               Differential
                                Logic                                                P  I/O Pair Pins
                                                                                     N

                                                                       VOUTN

                                   VOUTN          50%                             VOH
                                   VOUTP                   VOCM       VOD

                              GND level                                                             VOL

                                          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 31: Differential Output Voltages

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

                       Mask(1)                    VOD                                   VOCM                                  VOH                VOL
                                                                                                                            Min (V)            Max (V)
Signal Standard        Revision Min (mV) Typ (mV) Max (mV) Min (V) Typ (V) Max (V)

LDT_25 (ULVDS_25)      All                430(3)  600            670   0.495 0.600 0.715                                    0.71               0.50

LVDS_25                All                100     -              600   0.80                           -  1.6                0.85               1.55

                       `E'                200     -              500   1.0                            -  1.5                1.10               1.40

BLVDS_25(6)            All                250     350            450   -                1.20                    -           -                  -

LVDSEXT_25                    All         100     -              600   0.80                           -  1.6                0.85               1.55

                       `E'                300     -              700   1.0                            -  1.5                1.15               1.35

LVPECL_25(6)           All                -       -              -     -                              -         -           1.35               1.005

RSDS_25(5)             All                100     -              600   0.80                           -  1.6                0.85               1.55

                       `E'                200     -              500   1.0                            -  1.5                1.10               1.40

DIFF_HSTL_II_18        All                -       -              -     -                              -         -           VCCO 0.40        0.40

DIFF_SSTL2_II          All                -       -              -     -                              -         -           VTT + 0.80 VTT 0.80

Notes:

1. The mask revision code appears on the device top marking. See Mask revision `E' devices have tighter output ranges but can be used
      in any design created using a previous revision. See Mask and Fab Revisions, page 55.

2. The numbers in this table are based on the conditions set forth in Table 31 and Table 36.

3. This value must be compatible with the receiver to which the FPGA's output pair is connected.
4. 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.

5. Only one of the differential standards RSDS_25, LDT_25, LVDS_25, and LVDSEXT_25 may be used for outputs within a bank.
      Each differential standard input-pair requires an external 100 termination resistor.

6. Each LVPECL_25 or BLVDS_25 output-pair requires three external resistors for proper output operation as shown in Figure 32. Each
      LVPECL_25 or BLVDS_25 input-pair uses a 100 termination resistor at the receiver.

            LVPECL 70                                    LVPECL       BLVDS 165                                                    BLVDS

                                         Z0=50    100                                         Z0=50                         100
                                   240                                                  140

                                           Z0=50                                                         Z0=50
                       70
                                                                       165                                                  ds099-3_08_112105

               Figure 32: External Termination Required for LVPECL and BLVDS Output and Input

DS099-3 (v2.4) June 25, 2008                           www.xilinx.com                                                                                   65

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                            R

Switching Characteristics                                       All specified limits are representative of worst-case supply
                                                                voltage and junction temperature conditions. Unless other-
All Spartan-3 devices are available in two speed grades: 4     wise noted, the following applies: Parameter values apply to
and the higher performance 5. Switching characteristics in     all Spartan-3 devices. All parameters representing voltages
this document may be designated as Advance, Preliminary,        are measured with respect to GND.
or Production. Each category is defined as follows:
                                                                Selected timing parameters and their representative values
Advance: These specifications are based on simulations          are included below either because they are important as
only and are typically available soon after establishing        general design requirements or they indicate fundamental
FPGA specifications. Although speed grades with this des-       device performance characteristics. The Spartan-3 v1.38
ignation are considered relatively stable and conservative,     speed files are the original source for many but not all of the
some under-reported delays may still occur.                     values. The v1.38 speed files are available in Xilinx Inte-
                                                                grated Software Environment (ISE) software version 8.2i.
Preliminary: These specifications are based on complete
early silicon characterization. Devices and speed grades        The speed grade designations for these files are shown in
with this designation are intended to give a better indication  Table 38. For more complete, more precise, and worst-case
of the expected performance of production silicon. The          data, use the values reported by the Xilinx static timing ana-
probability of under-reporting preliminary delays is greatly    lyzer (TRACE in the Xilinx development software) and
reduced compared to Advance data.                               back-annotated to the simulation netlist.

Production: These specifications are approved once              Table 38: Spartan-3 Speed Grade Designations (ISE
enough production silicon of a particular device family mem-    v8.2i or later)
ber has been characterized to provide full correlation
between speed files and devices over numerous production        Device    Advance Preliminary Production
lots. There is no under-reporting of delays, and customers
receive formal notification of any subsequent changes. Typ-     XC3S50      4, 5
ically, the slowest speed grades transition to Production       XC3S200
before faster speed grades.                                     XC3S400   (v1.37 and
                                                                             later)
Production-quality systems must use FPGA designs com-
piled using a Production status speed file. FPGAs designs       XC3S1000
using a less mature speed file designation may only be
used during system prototyping or preproduction qualifica-      XC3S1500
tion. FPGA designs using Advance or Preliminary status
speed files should never be used in a production-quality        XC3S2000
system.
                                                                XC3S4000
Whenever a speed file designation changes, as a device
matures toward Production status, rerun the Xilinx ISE soft-    XC3S5000    4, 5
ware on the FPGA design to ensure that the FPGA design
incorporates the latest timing information and software                   (v1.38 and
updates.                                                                     later)

Xilinx ISE Software Updates
      http://www.xilinx.com/support/download/index.htm

66  www.xilinx.com                                                        DS099-3 (v2.4) June 25, 2008

                                                                          Product Specification
        R                                       Spartan-3 FPGA Family: DC and Switching Characteristics

I/O Timing

Table 39: 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 Output          LVCMOS25(2), 12mA XC3S50        2.04 2.35    ns

            Flip-Flop (OFF), the time from the output drive, Fast slew XC3S200  1.45 1.75    ns
                                                rate, with DCM(3)
            active transition on the Global                         XC3S400     1.45 1.75    ns

            Clock pin to data appearing at the                      XC3S1000 2.07 2.39       ns

            Output pin. The DCM is in use.

                                                                    XC3S1500 2.05 2.36       ns

                                                                    XC3S2000 2.03 2.34       ns

                                                                    XC3S4000 1.94 2.24       ns

                                                                    XC3S5000 2.00 2.30       ns

TICKOF      When reading from OFF, the time LVCMOS25(2), 12mA XC3S50            3.70 4.24    ns

            from the active transition on the output drive, Fast slew XC3S200   3.89 4.46    ns

            Global Clock pin to data appearing rate, without DCM    XC3S400     3.91 4.48    ns
            at the Output pin. The DCM is not
                                                                    XC3S1000 4.00 4.59       ns
            in use.

                                                                    XC3S1500 4.07 4.66       ns

                                                                    XC3S2000 4.19 4.80       ns

                                                                    XC3S4000 4.44 5.09       ns

                                                                    XC3S5000 4.38 5.02       ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 47 and are based on the operating conditions set
      forth in Table 31 and Table 34.

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

3. DCM output jitter is included in all measurements.

4. For minimums, use the values reported by the Xilinx timing analyzer.

DS099-3 (v2.4) June 25, 2008                    www.xilinx.com                                   67

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                              R

Table 40: System-Synchronous 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

    TPSDCM   When writing to the Input             LVCMOS25(2),      XC3S50    2.37      2.71     ns

             Flip-Flop (IFF), the time from the IOBDELAY = NONE,     XC3S200   2.13      2.35     ns
             setup of data at the Input pin to with DCM(4)
                                                                     XC3S400   2.15      2.36     ns
             the active transition at a Global

             Clock pin. The DCM is in use. No                        XC3S1000  2.58      2.95     ns

             Input Delay is programmed.                              XC3S1500  2.55      2.91     ns

                                                                     XC3S2000  2.59      2.96     ns

                                                                     XC3S4000  2.76      3.15     ns

                                                                     XC3S5000  2.69      3.08     ns

    TPSFD    When writing to IFF, the time         LVCMOS25(2),      XC3S50    3.00      3.46     ns
             from the setup of data at the         IOBDELAY = IFD,
             Input pin to an active transition at  without DCM       XC3S200   2.63      3.02     ns
             the Global Clock pin. The DCM is
             not in use. The Input Delay is                          XC3S400   2.50      2.87     ns
             programmed.
                                                                     XC3S1000  3.50      4.03     ns

                                                                     XC3S1500  3.78      4.35     ns

                                                                     XC3S2000  4.98      5.73     ns

                                                                     XC3S4000  5.25      6.05     ns

                                                                     XC3S5000  5.37      6.18     ns

Hold Times

    TPHDCM   When writing to IFF, the time         LVCMOS25(3),      XC3S50    0.45     0.40    ns
             from the active transition at the
             Global Clock pin to the point         IOBDELAY = NONE,  XC3S200   0.12     0.05    ns
             when data must be held at the         with DCM(4)
             Input pin. The DCM is in use. No                        XC3S400   0.12     0.05    ns
             Input Delay is programmed.
                                                                     XC3S1000  0.43     0.38    ns

                                                                     XC3S1500  0.45     0.40    ns

                                                                     XC3S2000  0.47     0.42    ns

                                                                     XC3S4000  0.61     0.56    ns

                                                                     XC3S5000  0.62     0.57    ns

    TPHFD    When writing to IFF, the time         LVCMOS25(3),      XC3S50    0.98     0.93    ns
             from the active transition at the     IOBDELAY = IFD,
             Global Clock pin to the point         without DCM       XC3S200   0.40     0.35    ns
             when data must be held at the
             Input pin. The DCM is not in use.                       XC3S400   0.27     0.22    ns
             The Input Delay is programmed.
                                                                     XC3S1000  1.19     1.14    ns

                                                                     XC3S1500  1.43     1.38    ns

                                                                     XC3S2000  2.33     2.28    ns

                                                                     XC3S4000  2.47     2.42    ns

                                                                     XC3S5000  2.66     2.61    ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 47 and are based on the operating conditions set
      forth in Table 31 and Table 34.

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 43. 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 43. If this is true of the data Input,
      subtract the appropriate Input adjustment from the same table. When the hold time is negative, it is possible to change the data
      before the clock's active edge.

4. DCM output jitter is included in all measurements.

68                                                 www.xilinx.com                    DS099-3 (v2.4) June 25, 2008

                                                                                         Product Specification
            R                                                Spartan-3 FPGA Family: DC and Switching Characteristics

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

                                                                                        Speed Grade

                                                                                        -5     -4

Symbol                        Description                    Conditions       Device    Min    Min    Units

Setup Times

TIOPICK        Time from the setup of data at the Input      LVCMOS25(2),     XC3S50    1.65   1.89   ns
               pin to the active transition at the ICLK      IOBDELAY = NONE  XC3S200
               input of the Input Flip-Flop (IFF). No Input                   XC3S400   1.37   1.57   ns
               Delay is programmed.
                                                                                        1.37   1.57   ns

                                                                              XC3S1000  1.65   1.89   ns

                                                                              XC3S1500  1.65   1.89   ns

                                                                              XC3S2000  1.65   1.89   ns

                                                                              XC3S4000  1.73   1.99   ns

                                                                              XC3S5000  1.82   2.09   ns

TIOPICKD       Time from the setup of data at the Input      LVCMOS25(2),     XC3S50    4.39   5.04   ns
               pin to the active transition at the IFF's     IOBDELAY = IFD
               ICLK input. The Input Delay is                                 XC3S200   4.76   5.47   ns
               programmed.
                                                                              XC3S400   4.63   5.32   ns

                                                                              XC3S1000  5.02   5.76   ns

                                                                              XC3S1500  5.40   6.20   ns

                                                                              XC3S2000  6.68   7.68   ns

                                                                              XC3S4000  7.16   8.24   ns

                                                                              XC3S5000  7.33   8.42   ns

Hold Times

TIOICKP        Time from the active transition at the IFF's  LVCMOS25(2),     XC3S50    -0.55  -0.55  ns
               ICLK input to the point where data must       IOBDELAY = NONE  XC3S200
               be held at the Input pin. No Input Delay is                    XC3S400   -0.29  -0.29  ns
               programmed.
                                                                                        -0.29  -0.29  ns

                                                                              XC3S1000  -0.55  -0.55  ns

                                                                              XC3S1500  -0.55  -0.55  ns

                                                                              XC3S2000  -0.55  -0.55  ns

                                                                              XC3S4000  -0.61  -0.61  ns

                                                                              XC3S5000  -0.68  -0.68  ns

TIOICKPD       Time from the active transition at the IFF's  LVCMOS25(2),     XC3S50    -2.74  -2.74  ns
               ICLK input to the point where data must       IOBDELAY = IFD
               be held at the Input pin. The Input Delay                      XC3S200   -3.00  -3.00  ns
               is programmed.
                                                                              XC3S400   -2.90  -2.90  ns

                                                                              XC3S1000  -3.24  -3.24  ns

                                                                              XC3S1500  -3.55  -3.55  ns

                                                                              XC3S2000  -4.57  -4.57  ns

                                                                              XC3S4000  -4.96  -4.96  ns

                                                                              XC3S5000  -5.09  -5.09  ns

Set/Reset Pulse Width

TRPW_IOB       Minimum pulse width to SR control input                        All       0.66   0.76   ns
               on IOB

Notes:
1. The numbers in this table are tested using the methodology presented in Table 47 and are based on the operating conditions set forth in

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

DS099-3 (v2.4) June 25, 2008                                 www.xilinx.com                               69

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                  R

Table 42: Propagation Times for the IOB Input Path

                                                                        Speed Grade

                                                                        -5    -4

    Symbol         Description               Conditions       Device    Max   Max Units

Propagation Times

    TIOPLI   The time it takes for data to LVCMOS25(2),       XC3S50    2.01  2.31   ns
                                                              XC3S200
             travel from the Input pin       IOBDELAY = NONE            1.50  1.72   ns

             through the IFF latch to the I

             output with no input delay                       XC3S400   1.50  1.72   ns

             programmed                                       XC3S1000  2.01  2.31   ns

                                                              XC3S1500  2.01  2.31   ns

                                                              XC3S2000  2.01  2.31   ns

                                                              XC3S4000  2.09  2.41   ns

                                                              XC3S5000  2.18  2.51   ns

    TIOPLID  The time it takes for data to   LVCMOS25(2),     XC3S50    4.75  5.46   ns
             travel from the Input pin       IOBDELAY = IFD
             through the IFF latch to the I                   XC3S200   4.89  5.62   ns
             output with the input delay
             programmed                                       XC3S400   4.76  5.48   ns

                                                              XC3S1000  5.38  6.18   ns

                                                              XC3S1500  5.76  6.62   ns

                                                              XC3S2000  7.04  8.09   ns

                                                              XC3S4000  7.52  8.65   ns

                                                              XC3S5000  7.69  8.84   ns

Notes:

1. The numbers in this table are tested using the methodology presented in Table 47 and are based on the operating conditions set forth
      in Table 31 and Table 34.

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

70                                           www.xilinx.com             DS099-3 (v2.4) June 25, 2008

                                                                              Product Specification
          R                                            Spartan-3 FPGA Family: DC and Switching Characteristics

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

Convert Input Time from             Add the            Convert Input Time from          Add the
      LVCMOS25 to the         Adjustment Below               LVCMOS25 to the      Adjustment Below

Following Signal Standard     Speed Grade              Following Signal Standard  Speed Grade
        (IOSTANDARD)                                           (IOSTANDARD)
                              -5    -4          Units                             -5     -4         Units

Single-Ended Standards                           ns    LVDCI_DV2_25               0.04   0.04       ns
                                                 ns
GTL, GTL_DCI                  0.44  0.50         ns    LVCMOS33, LVDCI_33,        0.05  0.02      ns
                                                 ns    LVDCI_DV2_33
GTLP, GTLP_DCI                0.36  0.42         ns
                                                 ns
HSLVDCI_15                    0.51  0.59         ns    LVTTL                      0.18   0.21       ns
                                                 ns
HSLVDCI_18                    0.29  0.33         ns    PCI33_3                    0.20   0.22       ns

HSLVDCI_25                    0.51  0.59         ns    SSTL18_I, SSTL18_I_DCI     0.39   0.45       ns

HSLVDCI_33                    0.51  0.59         ns    SSTL18_II                  0.39   0.45       ns

HSTL_I, HSTL_I_DCI            0.51  0.59         ns    SSTL2_I, SSTL2_I_DCI       0.40   0.46       ns
                                                 ns
HSTL_III, HSTL_III_DCI        0.37  0.42         ns    SSTL2_II, SSTL2_II_DCI     0.36   0.41       ns
                                                 ns
HSTL_I_18,                    0.36  0.41         ns    Differential Standards
HSTL_I_DCI_18                                    ns
                                                 ns    LDT_25 (ULVDS_25)          0.76   0.88       ns
                                                 ns
HSTL_II_18,                   0.39  0.45         ns    LVDS_25, LVDS_25_DCI       0.65   0.75       ns
HSTL_II_DCI_18
                                                       BLVDS_25                   0.34   0.39       ns

HSTL_III_18,                  0.45  0.52               LVDSEXT_25,                0.80   0.92       ns
HSTL_III_DCI_18                                        LVDSEXT_25_DCI

LVCMOS12                      0.63  0.72               LVPECL_25                  0.18   0.21       ns

LVCMOS15                      0.42  0.49               RSDS_25                    0.43   0.50       ns

LVDCI_15                      0.38  0.43               DIFF_HSTL_II_18,           0.34   0.39       ns
                                                       DIFF_HSTL_II_18_DCI
LVDCI_DV2_15                  0.38  0.44

LVCMOS18                      0.24  0.28               DIFF_SSTL2_II              0.65   0.75       ns
                                                       DIFF_SSTL2_II_DCI
LVDCI_18                      0.29  0.33

LVDCI_DV2_18                  0.28  0.33               Notes:

LVCMOS25                      0     0                  1. The numbers in this table are tested using the methodology
                                                             presented in Table 47 and are based on the operating
LVDCI_25                      0.05  0.05                     conditions set forth in Table 31, Table 34, and Table 36.

                                                       2. These adjustments are used to convert input path times
                                                             originally specified for the LVCMOS25 standard to times that
                                                             correspond to other signal standards.

DS099-3 (v2.4) June 25, 2008                    www.xilinx.com                                             71

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                            R

Table 44: Timing for the IOB Output Path

                                                                                             Speed Grade

                                                                                             -5  -4

    Symbol                   Description               Conditions         Device             Max Max Units

Clock-to-Output Times

    TIOCKP       When reading from the Output          LVCMOS25(2), 12mA  XC3S200            1.28 1.47 ns

                 Flip-Flop (OFF), the time from the output drive, Fast slew rate XC3S400

                 active transition at the OTCLK                           XC3S50             1.95 2.24 ns
                 input to data appearing at the
                 Output pin                                               XC3S1000

                                                                          XC3S1500

                                                                          XC3S2000

                                                                          XC3S4000

                                                                          XC3S5000

Propagation Times

    TIOOP        The time it takes for data to travel LVCMOS25(2), 12mA   XC3S200            1.28 1.46 ns

                 from the IOB's O input to the         output drive, Fast slew rate XC3S400

                 Output pin                                               XC3S50             1.94 2.23 ns

                                                                          XC3S1000

                                                                          XC3S1500

                                                                          XC3S2000

                                                                          XC3S4000

                                                                          XC3S5000

    TIOOLP       The time it takes for data to travel                     XC3S200            1.28 1.47 ns
                 from the O input through the OFF                         XC3S400
                 latch to the Output pin
                                                                          XC3S50             1.95 2.24 ns

                                                                          XC3S1000

                                                                          XC3S1500

                                                                          XC3S2000

                                                                          XC3S4000

                                                                          XC3S5000

Set/Reset Times

    TIOSRP       Time from asserting the OFF's SR LVCMOS25(2), 12mA       XC3S200            2.10 2.41 ns

                 input to setting/resetting data at output drive, Fast slew rate XC3S400

                 the Output pin                                           XC3S50             2.77 3.18 ns

                                                                          XC3S1000

                                                                          XC3S1500

                                                                          XC3S2000

                                                                          XC3S4000

                                                                          XC3S5000

    TIOGSRQ      Time from asserting the Global                           All                8.07 9.28 ns
                 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 47 and are based on the operating conditions set
      forth in Table 31 and Table 34.

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

3. For minimums, use the values reported by the Xilinx timing analyzer.

72                                                     www.xilinx.com                        DS099-3 (v2.4) June 25, 2008

                                                                                             Product Specification
            R                                              Spartan-3 FPGA Family: DC and Switching Characteristics

Table 45: Timing for the IOB Three-State Path

                                                                                              Speed Grade

                                                                                              -5  -4

Symbol                        Description                        Conditions         Device Max Max Units

Synchronous Output Enable/Disable Times

TIOCKHZ          Time from the active transition at the LVCMOS25, 12mA              All       0.74 0.85 ns
                                                                                              0.72 0.82 ns
                 OTCLK input of the Three-state            output drive, Fast slew

                 Flip-Flop (TFF) to when the Output pin rate

                 enters the high-impedance state

TIOCKON(2)       Time from the active transition at TFF's                           All

                 OTCLK input to when the Output pin

                 drives valid data

Asynchronous Output Enable/Disable Times

TGTS             Time from asserting the Global Three LVCMOS25, 12mA XC3S200 7.71 8.87 ns

                 State (GTS) net to when the Output pin output drive, Fast slew XC3S400

                 enters the high-impedance state           rate                     XC3S50    8.38 9.63 ns

                                                                                    XC3S1000

                                                                                    XC3S1500

                                                                                    XC3S2000

                                                                                    XC3S4000

                                                                                    XC3S5000

Set/Reset Times

TIOSRHZ          Time from asserting TFF's SR input to LVCMOS25, 12mA               All       1.55 1.78 ns
TIOSRON(2)
                 when the Output pin enters a              output drive, Fast slew

                 high-impedance state                      rate

                 Time from asserting TFF's SR input at                              XC3S200 2.24 2.57 ns
                 TFF to when the Output pin drives                                  XC3S400
                 valid data
                                                                                    XC3S50    2.91 3.34 ns

                                                                                    XC3S1000

                                                                                    XC3S1500

                                                                                    XC3S2000

                                                                                    XC3S4000

                                                                                    XC3S5000

Notes:

1. The numbers in this table are tested using the methodology presented in Table 47 and are based on the operating conditions set
      forth in Table 31 and Table 34.

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

3. For minimums, use the values reported by the Xilinx timing analyzer.

DS099-3 (v2.4) June 25, 2008                      www.xilinx.com                                            73

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                            R

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

     Convert Output Time from   Add the Adjust-            Convert Output Time from   Add the Adjust-
    LVCMOS25 with 12mA Drive      ment Below              LVCMOS25 with 12mA Drive      ment Below

     and Fast Slew Rate to the  Speed Grade                and Fast Slew Rate to the  Speed Grade
     Following Signal Standard                             Following Signal Standard
                                -5           -4    Units                              -5    -4         Units
             (IOSTANDARD)                                          (IOSTANDARD)
                                                     ns
Single-Ended Standards                               ns   LVDCI_15                    1.51  1.74       ns
                                                     ns
GTL                             0            0.02    ns   LVDCI_DV2_15                1.32  1.52       ns
                                                     ns
GTL_DCI                         0.13 0.15            ns   LVCMOS18      Slow 2 mA 5.49      6.31       ns
                                                     ns
GTLP                            0.03 0.04            ns                 4 mA 3.45           3.97       ns
                                                     ns
GTLP_DCI                        0.23 0.27            ns                 6 mA 2.84           3.26       ns
                                                     ns
HSLVDCI_15                      1.51 1.74            ns                 8 mA 2.62           3.01       ns
                                                     ns
HSLVDCI_18                      0.81 0.94            ns                 12 mA 2.11          2.43       ns
                                                     ns
HSLVDCI_25                      0.27 0.31            ns                 16 mA 2.07          2.38       ns
                                                     ns
HSLVDCI_33                      0.28 0.32            ns                 Fast 2 mA 2.50      2.88       ns
                                                     ns
HSTL_I                          0.60 0.69            ns                 4 mA 1.15           1.32       ns
                                                     ns
HSTL_I_DCI                      0.59 0.68            ns                 6 mA 0.96           1.10       ns
                                                     ns
HSTL_III                        0.19 0.22            ns                 8 mA 0.87           1.01       ns
                                                     ns
HSTL_III_DCI                    0.20 0.23            ns                 12 mA 0.79          0.91       ns
                                                     ns
HSTL_I_18                       0.18 0.21            ns                 16 mA 0.76          0.87       ns
                                                     ns
HSTL_I_DCI_18                   0.17 0.19            ns   LVDCI_18                    0.81  0.94       ns
                                                     ns
HSTL_II_18                      0.02 0.01          ns   LVDCI_DV2_18                0.67  0.77       ns
                                                     ns
HSTL_II_DCI_18                  0.75 0.86            ns   LVCMOS25      Slow 2 mA 6.43      7.39       ns

HSTL_III_18                     0.28 0.32                               4 mA 4.15           4.77       ns

HSTL_III_DCI_18                 0.28 0.32                               6 mA 3.38           3.89       ns

LVCMOS12         Slow 2 mA 7.60              8.73                       8 mA 2.99           3.44       ns

                        4 mA 7.42 8.53                                  12 mA 2.53          2.91       ns

                        6 mA 6.67 7.67                                  16 mA 2.50          2.87       ns

                 Fast 2 mA 3.16 3.63                                    24 mA 2.22          2.55       ns

                        4 mA 2.70 3.10                                  Fast 2 mA 3.27      3.76       ns

                        6 mA 2.41 2.77                                  4 mA 1.87           2.15       ns

LVCMOS15         Slow 2 mA 4.55              5.23                       6 mA 0.32           0.37       ns

                        4 mA 3.76 4.32                                  8 mA 0.19           0.22       ns

                        6 mA 3.57 4.11                                  12 mA         0     0          ns

                        8 mA 3.55 4.09                                  16 mA 0.02 0.01 ns

                        12 mA 3.00 3.45                                 24 mA 0.04 0.02 ns

                 Fast 2 mA 3.11 3.57                      LVDCI_25                    0.27  0.31       ns

                        4 mA 1.71 1.96                    LVDCI_DV2_25                0.16  0.19       ns

                        6 mA 1.44 1.66

                        8 mA 1.26 1.44

                        12 mA 1.11 1.27

74                                                 www.xilinx.com                     DS099-3 (v2.4) June 25, 2008

                                                                                      Product Specification
          R                                              Spartan-3 FPGA Family: DC and Switching Characteristics

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

Convert Output Time from     Add the Adjust-             Convert Output Time from   Add the Adjust-
LVCMOS25 with 12mA Drive        ment Below               LVCMOS25 with 12mA Drive      ment Below

and Fast Slew Rate to the    Speed Grade                 and Fast Slew Rate to the  Speed Grade
Following Signal Standard                                Following Signal Standard
                              -5    -4         Units                                 -5    -4         Units
         (IOSTANDARD)                                             (IOSTANDARD)

LVCMOS33      Slow 2 mA 6.38        7.34       ns        PCI33_3                     0.74  0.85       ns

                       4 mA 4.83    5.55       ns        SSTL18_I                    0.07  0.07       ns

                       6 mA 4.01    4.61       ns        SSTL18_I_DCI                0.22  0.25       ns

                       8 mA 3.92    4.51       ns        SSTL18_II                   0.30  0.34       ns

                       12 mA 2.91   3.35       ns        SSTL2_I                     0.23  0.26       ns

                       16 mA 2.81   3.23       ns        SSTL2_I_DCI                 0.19  0.22       ns

                       24 mA 2.49   2.86       ns        SSTL2_II                    0.13  0.15       ns

              Fast 2 mA 3.86        4.44       ns        SSTL2_II_DCI                0.10  0.11       ns

                       4 mA 1.87    2.15       ns        Differential Standards

                       6 mA 0.62    0.71       ns        LDT_25 (ULVDS_25)           0.06 0.05 ns

                       8 mA 0.61    0.70       ns        LVDS_25                     0.09 0.07 ns

                       12 mA 0.16   0.19       ns        BLVDS_25                    0.02  0.04       ns

                       16 mA 0.14   0.16       ns        LVDSEXT_25                  0.15 0.13 ns

                       24 mA 0.06   0.07       ns        LVPECL_25                   0.16  0.18       ns

LVDCI_33                      0.28  0.32       ns        RSDS_25                     0.05  0.06       ns

LVDCI_DV2_33                  0.26  0.30       ns        DIFF_HSTL_II_18             0.02 0.01 ns

LVTTL         Slow 2 mA 7.27        8.36       ns        DIFF_HSTL_II_18_DCI         0.75  0.86       ns

                       4 mA 4.94    5.69       ns        DIFF_SSTL2_II               0.13  0.15       ns

                       6 mA 3.98    4.58       ns        DIFF_SSTL2_II_DCI           0.10  0.11       ns

                       8 mA 3.98    4.58       ns        Notes:

                       12 mA 2.97   3.42       ns        1. The numbers in this table are tested using the methodology
                                                               presented in Table 47 and are based on the operating
                       16 mA 2.84   3.26       ns              conditions set forth in Table 31, Table 34, and Table 36.

                       24 mA 2.65   3.04       ns        2. These adjustments are used to convert output- and
                                                               three-state-path times originally specified for the LVCMOS25
              Fast 2 mA 4.32        4.97       ns              standard with 12 mA drive and Fast slew rate to times that
                                                               correspond to other signal standards. Do not adjust times
                       4 mA 1.87    2.15       ns              that measure when outputs go into a high-impedance state.

                       6 mA 1.27    1.47       ns        3. For minimums, use the values reported by the Xilinx timing
                                                               analyzer.

                       8 mA 1.19    1.37       ns

                       12 mA 0.42   0.48       ns

                       16 mA 0.27   0.32       ns

                       24 mA 0.16   0.18       ns

DS099-3 (v2.4) June 25, 2008                   www.xilinx.com                                                     75

Product Specification
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 47 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 33. 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 33: 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 47: Test Methods for Timing Measurement at I/Os

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

76                                           www.xilinx.com                                  DS099-3 (v2.4) June 25, 2008

                                                                                                     Product Specification
              R                                       Spartan-3 FPGA Family: DC and Switching Characteristics

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

Signal Standard                          Inputs                            Outputs          Inputs and
(IOSTANDARD)                            VL (V)                                               Outputs
                              VREF (V)                VH (V)        RT ()           VT (V)     VM (V)
LVCMOS18                           -       0            1.8           1M               0         0.9

LVDCI_18                                                                                        1.25

LVDCI_DV2_18                                                                                    1.65

HSLVDCI_18                                                                                       1.4
                                                                                                0.94
LVCMOS25                      -         0             2.5           1M              0           2.03
                                                                                                VREF
LVDCI_25                                                                                        VREF
                                                                                                VREF
LVDCI_DV2_25                                                                                    VREF

HSLVDCI_25                                                                                      VICM
                                                                                                VICM
LVCMOS33                      -         0             3.3           1M              0           VICM
                                                                                                VICM
LVDCI_33                                                                                        VICM
                                                                                                VICM
LVDCI_DV2_33                                                                                    VICM

HSLVDCI_33

LVTTL                           -          0            3.3         1M              0
                                -       Note 3        Note 3
PCI33_3          Rising                                             25              0
                              0.9
                 Falling                                            25              3.3
                              0.9
SSTL18_I                      1.25      VREF - 0.5    VREF + 0.5    50              0.9

SSTL18_I_DCI                  1.25      VREF - 0.5    VREF + 0.5
                                        VREF - 0.75   VREF + 0.75
SSTL18_II                                                           50              0.9
                                        VREF - 0.75   VREF + 0.75
SSTL2_I                                                             50              1.25

SSTL2_I_DCI

SSTL2_II                                                            25              1.25

SSTL2_II_DCI                                                        50              1.25

Differential

LDT_25 (ULVDS_25)             -         VICM - 0.125  VICM + 0.125  60              0.6

LVDS_25                       -         VICM - 0.125  VICM + 0.125  50              1.2

LVDS_25_DCI                                                         1M              0

BLVDS_25                      -         VICM - 0.125  VICM + 0.125  1M              0

LVDSEXT_25                    -         VICM - 0.125  VICM + 0.125  50              1.2

LVDSEXT_25_DCI                                                      N/A             N/A

LVPECL_25                     -         VICM - 0.3    VICM + 0.3    1M              0

RSDS_25                       -         VICM - 0.1    VICM + 0.1    50              1.2

DIFF_HSTL_II_18               -         VICM - 0.5    VICM + 0.5    50              1.8

DIFF_HSTL_II_18_DCI

DS099-3 (v2.4) June 25, 2008                        www.xilinx.com                                      77

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                            R

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

      Signal Standard                 Inputs                                             Outputs                       Inputs and
       (IOSTANDARD)                 VL (V)                                                                              Outputs
                       VREF (V)  VICM - 0.75                      VH (V)          RT ()           VT (V)
DIFF_SSTL2_II               -                                  VICM + 0.75          50             1.25                   VM (V)
                                                                                                                           VICM
DIFF_SSTL2_II_DCI

Notes:
1. Descriptions of the relevant symbols are as follows:

         VREF The reference voltage for setting the input switching threshold
         VICM The common mode input voltage
         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

2. The load capacitance (CL) at the Output pin is 0 pF for all signal standards.
3. According to the PCI specification.

The capacitive load (CL) is connected between the output       models are found in the Xilinx development software as well
and GND. The Output timing for all standards, as published     as at the following link.
in the speed files and the data sheet, is always based on a
CL value of zero. High-impedance probes (less than 1 pF)             http://www.xilinx.com/support/download/index.htm
are used for all measurements. Any delay that the test fix-
ture might contribute to test measurements is subtracted       Simulate delays for a given application according to its spe-
from those measurements to produce the final timing num-       cific load conditions as follows:
bers as published in the speed files and data sheet.
                                                               1. Simulate the desired signal standard with the output
Using IBIS Models to Simulate Load                                  driver connected to the test setup shown in Figure 33.
Conditions in Application                                           Use parameter values VT, RT, and VM from Table 47.
                                                                    CREF is zero.
IBIS Models permit the most accurate prediction of timing
delays for a given application. The parameters found in the    2. Record the time to VM.
IBIS model (VREF, RREF, and VMEAS) correspond directly         3. Simulate the same signal standard with the output
with the parameters used in Table 47, VT, RT, and VM. Do
not confuse VREF (the termination voltage) from the IBIS            driver connected to the PCB trace with load. Use the
model with VREF (the input-switching threshold) from the            appropriate IBIS model (including VREF, RREF, CREF,
table. A fourth parameter, CREF, is always zero. The four           and VMEAS values) or capacitive value to represent the
parameters describe all relevant output test conditions. IBIS       load.

                                                               4. Record the time to VMEAS.
                                                               5. Compare the results of steps 2 and 4. The increase (or

                                                                    decrease) in delay should be added to (or subtracted
                                                                    from) the appropriate Output standard adjustment

78                               www.xilinx.com                                                   DS099-3 (v2.4) June 25, 2008

                                                                                                          Product Specification
          R                                                    Spartan-3 FPGA Family: DC and Switching Characteristics

Simultaneously Switching Output Guidelines

This section provides guidelines for the maximum allowable        output signal standard and drive strength, Table 49 recom-
number of Simultaneous Switching Outputs (SSOs). These            mends the maximum number of SSOs, switching in the
guidelines describe the maximum number of user I/O pins,          same direction, allowed per VCCO/GND pair within an I/O
of a given output signal standard, that should simulta-           bank. The Table 49 guidelines are categorized by package
neously switch in the same direction, while maintaining a         style. Multiply the appropriate numbers from Table 48 and
safe level of switching noise. Meeting these guidelines for       Table 49 to calculate the maximum number of SSOs
the stated test conditions ensures that the FPGA operates         allowed within an I/O bank. Exceeding these SSO guide-
free from the adverse effects of ground and power bounce.         lines may result in increased power or ground bounce,
                                                                  degraded signal integrity, or increased system jitter.
Ground or power bounce occurs when a large number of
outputs simultaneously switch in the same direction. The                       SSOMAX/IO Bank = Table 48 x Table 49
output drive transistors all conduct current to a common
voltage rail. Low-to-High transitions conduct to the VCCO         The recommended maximum SSO values assume that the
rail; High-to-Low transitions conduct to the GND rail. The        FPGA is soldered on the printed circuit board and that the
resulting cumulative current transient induces a voltage dif-     board uses sound design practices. The SSO values do not
ference across the inductance that exists between the die         apply for FPGAs mounted in sockets, due to the lead induc-
pad and the power supply or ground return. The inductance         tance introduced by the socket.
is associated with bonding wires, the package lead frame,
and any other signal routing inside the package. Other vari-      The number of SSOs allowed for quad-flat packages (VQ,
ables contribute to SSO noise levels, including stray induc-      TQ, PQ) is lower than for ball grid array packages (FG) due
tance on the PCB as well as capacitive loading at receivers.      to the larger lead inductance of the quad-flat packages. The
Any SSO-induced voltage consequently affects internal             results for chip-scale packaging (CP132) are better than
switching noise margins and ultimately signal quality.            quad-flat packaging but not as high as for ball grid array
                                                                  packaging. Ball grid array packages are recommended for
Table 48 and Table 49 provide the essential SSO guide-            applications with a large number of simultaneously switch-
lines. For each device/package combination, Table 48 pro-         ing outputs.
vides the number of equivalent VCCO/GND pairs. For each

Table 48: Equivalent VCCO/GND Pairs per Bank

Device VQ100 CP132(1) TQ144(1) PQ208 FT256 FG320 FG456 FG676 FG900 FG1156(2)

XC3S50       1                1.5  1.5        2                -  -  -  -  -   -

XC3S200      1                -    1.5        2                3  -  -  -  -   -

XC3S400      -                -    1.5        2                3  3  5  -  -   -

XC3S1000     -                -    -          -                3  3  5  5  -   -

XC3S1500     -                -    -          -                -  3  5  6  -   -

XC3S2000     -                -    -          -                -  -  5  6  9   -

XC3S4000     -                -    -          -                -  -  -  6  10  12

XC3S5000     -                -    -          -                -  -  -  6  10  12

Notes:

1. The VCCO lines for the pair of banks on each side of the CP132 and TQ144 packages are internally tied together. Each
     pair of interconnected banks shares three VCCO/GND pairs. Consequently, the per bank number is 1.5.

2. The FG(G)1156 package is being discontinued and is not recommended for new designs. See
     http://www.xilinx.com/support/documentation/spartan-3_customer_notices.htm for the latest updates.

3. The information in this table also applies to Pb-free packages.

DS099-3 (v2.4) June 25, 2008                     www.xilinx.com                    79

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                              R

Table 49: Recommended Number of Simultaneously                                Table 49: Recommended Number of Simultaneously
Switching Outputs per VCCO-GND Pair                                           Switching Outputs per VCCO-GND Pair (Continued)

                                                              Package                                                                       Package

    Signal Standard                                                   FT256,  Signal Standard                                                FT256,
    (IOSTANDARD)                                                     FG320,   (IOSTANDARD)                                                  FG320,
                                                                     FG456,                                                                 FG456,
                                                                     FG676,                                                                 FG676,
                        VQ TQ PQ CP FG900,                                                     VQ TQ PQ CP FG900,
                        100 144 208 132 FG1156                                                 100 144 208 132 FG1156

Single-Ended Standards                                                        LVCMOS18 Slow 2 19       13  13  29  64

GTL                     0   0   0   1   14                                                     4 13    8   8   19  34

GTL_DCI                 0   0   0   1   14                                                     68      8   8   9   22

GTLP                    0   0   0   1   19                                                     87      7   7   9   18

GTLP_DCI                0   0   0   1   19                                                     12 5    5   5   5   13

HSLVDCI_15              6   6   6   6   14                                                     16 5    5   5   5   10

HSLVDCI_18              7   7   7   7   10                                                  Fast 2 13  13  13  19  36

HSLVDCI_25              7   7   7   7   11                                                     48      8   8   13  21

HSLVDCI_33              10  10  10  10  10                                                     68      8   8   8   13

HSTL_I                  11  11  11  11  17                                                     87      7   7   7   10

HSTL_I_DCI              11  11  11  11  17                                                     12 5    5   5   5   9

HSTL_III                7   7   7   7   7                                                      16 5    5   5   5   6

HSTL_III_DCI            7   7   7   7   7                                     LVDCI_18         7       7   7   7   10

HSTL_I_18               13  13  13  13  17                                    LVDCI_DV2_18     7       7   7   7   10

HSTL_I_DCI_18           13  13  13  13  17                                    HSLVDCI_18       7       7   7   7   10

HSTL_II_18              9   9   9   9   9                                     LVCMOS25 Slow 2 28       16  12  42  76

HSTL_II_DCI_18          9   9   9   9   9                                                      4 13    10  10  19  46

HSTL_III_18             8   8   8   8   8                                                      6 13    8   8   19  33

HSTL_III_DCI_18         8   8   8   8   8                                                      87      7   7   9   24

LVCMOS12 Slow 2 17          17  17  17  55                                                     12 6    6   6   9   18

                     4 13   13  13  13  32                                                     16 6    6   6   6   11

                     6 10   10  10  10  18                                                     24 5    5   5   5   7

              Fast 2 12     12  12  12  31                                                  Fast 2 17  12  12  26  42

                     4 11   11  11  11  13                                                     4 10    10  10  13  20

                     69     9   9   9   9                                                      68      8   8   13  15

LVCMOS15 Slow 2 16          12  12  19  55                                                     87      7   7   7   13

                     48     7   7   9   31                                                     12 6    6   6   6   11

                     67     7   7   9   18                                                     16 6    6   6   6   8

                     86     6   6   6   15                                                     24 5    5   5   5   5

                     12 5   5   5   5   10                                    LVDCI_25         7       7   7   7   11

              Fast 2 10     10  10  13  25                                    LVDCI_DV2_25     7       7   7   7   11

                     46     7   7   7   16                                    HSLVDCI_25       7       7   7   7   11

                     67     7   7   7   13

                     86     6   6   6   11

                     12 6   6   6   6   7

LVDCI_15                6   6   6   6   14

LVDCI_DV2_15            6   6   6   6   14

HSLVDCI_15              6   6   6   6   14

80                                      www.xilinx.com                                                 DS099-3 (v2.4) June 25, 2008

                                                                                                           Product Specification
            R                                                                Spartan-3 FPGA Family: DC and Switching Characteristics

Table 49: Recommended Number of Simultaneously                               Table 49: Recommended Number of Simultaneously
Switching Outputs per VCCO-GND Pair (Continued)                              Switching Outputs per VCCO-GND Pair (Continued)

                                                              Package                                                                      Package

Signal Standard                                                      FT256,  Signal Standard                                                    FT256,
(IOSTANDARD)                                                        FG320,   (IOSTANDARD)                                                      FG320,
                                                                    FG456,                                                                     FG456,
                                                                    FG676,                                                                     FG676,
                       VQ TQ PQ CP FG900,                                                         VQ TQ PQ CP FG900,
                       100 144 208 132 FG1156                                                     100 144 208 132 FG1156

LVCMOS33 Slow 2 34            24  24  52  76                                 PCI33_3              9   9   9   9                        9

                 4 17         14  14  26  46                                 SSTL18_I             13  13  13  13                       17

                 6 17         11  11  26  27                                 SSTL18_I_DCI         13  13  13  13                       17

                 8 10         10  10  13  20                                 SSTL18_II            8   8   8   8                        9

                 12 9         9   9   13  13                                 SSTL2_I              10  10  10  10                       13

                 16 8         8   8   8   10                                 SSTL2_I_DCI          10  10  10  10                       13

                 24 8         8   8   8   9                                  SSTL2_II             6   6   6   6                        9

               Fast 2 20      20  20  26  44                                 SSTL2_II_DCI         6   6   6   6                        9

                 4 15         15  15  15  26                                 Differential Standards (Number of I/O Pairs or Channels)

                 6 11         11  11  13  16                                 LDT_25 (ULVDS_25)    5   5   5   5                        5

                 8 10         10  10  10  12                                 LVDS_25              7   5   5   12                       20

                 12 8         8   8   8   10                                 BLVDS_25             2   1   1                            4

                 16 8         8   8   8   8                                  LVDSEXT_25           5   5   5   5                        5

                 24 7         7   7   7   7                                  LVPECL_25            2   1   1                            4

LVDCI_33               10     10  10  10  10                                 RSDS_25              7   5   5   12                       20

LVDCI_DV2_33           10     10  10  10  10                                 DIFF_HSTL_II_18      4   4   4   4                        4

HSLVDCI_33             10     10  10  10  10                                 DIFF_HSTL_II_18_DCI  4   4   4   4                        4

LVTTL          Slow 2 34      25  25  52  60                                 DIFF_SSTL2_II        3   3   3   3                        4

                 4 17         16  16  26  41                                 DIFF_SSTL2_II_DCI    3   3   3   3                        4

                 6 17         15  15  26  29                                 Notes:

                 8 12         12  12  13  22                                 1. The numbers in this table are recommendations that assume the
                                                                                   FPGA is soldered on a printed circuit board using sound practices.
                 12 10        10  10  13  13                                       This table assumes the following parasitic factors: combined PCB
                                                                                   trace and land inductance per VCCO and GND pin of 1.0 nH, receiver
                 16 10        10  10  10  11                                       capacitive load of 15 pF. Test limits are the VIL/VIH voltage limits for
                                                                                   the respective I/O standard.
                 24 8         8   8   8   9
                                                                             2. Regarding the SSO numbers for all DCI standards, the RREF resistors
               Fast 2 20      20  20  26  34                                       connected to the VRN and VRP pins of the FPGA are 50 .

                 4 13         13  13  13  20                                 3. If more than one signal standard is assigned to the I/Os of a given
                                                                                   bank, refer to XAPP689: "Managing Ground Bounce in Large
                 6 11         11  11  13  15                                       FPGAs" for information on how to perform weighted average SSO
                                                                                   calculations.
                 8 10         10  10  10  12
                                                                             4. Results are based on actual silicon testing using an FPGA soldered
                                                                                   on a typical printed-circuit board.

                 12 9         9   9   9   10

                 16 8         8   8   8   9

                 24 7         7   7   7   7

DS099-3 (v2.4) June 25, 2008              www.xilinx.com                                                                                            81

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                  R

Internal Logic Timing

Table 50: 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.63  -          0.72    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
TAS                Time from the setup of data at the F or G input 0.46                    -     0.53       -       ns
                                                                                                                    ns
                   to the active transition at the CLK input of the

                   CLB

TDICK              Time from the setup of data at the BX or BY         1.27                -     1.57       -

                   input to the active transition at the CLK input of

                   the CLB

Hold Times

TAH                Time from the active transition at the CLK input    0                   -     0          -

                   to the point where data is last held at the F or

                   G input

TCKDI              Time from the active transition at the CLK input 0.25                   -     0.29       -

                   to the point where data is last held at the BX or

                   BY input

Clock Timing

TCH                CLB CLK signal High pulse width                     0.69                      0.79      

TCL                CLB CLK signal Low pulse width                      0.69                      0.79      

FTOG               Maximum toggle frequency (for export control)       -                   725   -          630

Propagation Times

TILO               The time it takes for data to travel from the       -                   0.53  -          0.61

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

Set/Reset Pulse Width

TRPW_CLB           The minimum allowable pulse width, High or          0.76                -     0.87       -

                   Low, to the CLB's SR input

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 31.
2. The timing shown is for SLICEM.
3. For minimums, use the values reported by the Xilinx timing analyzer.

82                                                 www.xilinx.com                                DS099-3 (v2.4) June 25, 2008

                                                                                                            Product Specification
      R                                                 Spartan-3 FPGA Family: DC and Switching Characteristics

Table 51: CLB Distributed RAM Switching Characteristics

Symbol                        Description                                                   -5          -4  Units
                                                                                     Min Max     Min Max

Clock-to-Output Times

TSHCKO       Time from the active edge at the CLK input to data                      -     1.87  -     2.15 ns
             appearing on the distributed RAM output

Setup Times

TDS          Setup time of data at the BX or BY input before the active              0.46  -     0.52  -    ns

             transition at the CLK input of the distributed RAM

TAS          Setup time of the F/G address inputs before the active                  0.46  -     0.53  -    ns

             transition at the CLK input of the distributed RAM

TWS          Setup time of the write enable input before the active                  0.33  -     0.37  -    ns

             transition at the CLK input of the distributed RAM

Hold Times

TDH, TAH, TWH Hold time of the BX, BY data inputs, the F/G address                   0     -     0     -    ns
                      inputs, or the write enable input after the active transition

                      at the CLK input of the distributed RAM

Clock Pulse Width

TWPH, TWPL Minimum High or Low pulse width at CLK input                              0.85  -     0.97  -    ns

Table 52: CLB Shift Register Switching Characteristics

Symbol                        Description                                                   -5          -4  Units
                                                                                     Min Max     Min Max

Clock-to-Output Times

TREG         Time from the active edge at the CLK input to data                      -     3.30  -     3.79 ns
             appearing on the shift register output

Setup Times

TSRLDS       Setup time of data at the BX or BY input before the active              0.46  -     0.52  -    ns
             transition at the CLK input of the shift register

Hold Times

TSRLDH       Hold time of the BX or BY data input after the active                   0     -     0     -    ns
             transition at the CLK input of the shift register

Clock Pulse Width

TWPH, TWPL Minimum High or Low pulse width at CLK input                              0.85  -     0.97  -    ns

DS099-3 (v2.4) June 25, 2008  www.xilinx.com                                                                    83

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                                                  R

Table 53: 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.38           1.00               0.38         1.15    ns

             Multiplier, the time from the   P[15]       0.44           1.15               0.44         1.32
             active transition at the C

             clock input to data             P[17]       0.50           1.30               0.50         1.50

             appearing at the P outputs      P[19]       0.55           1.45               0.55         1.67

                                             P[23]       0.67           1.76               0.67         2.02

                                             P[31]       0.90           2.37               0.90         2.72

                                             P[35]       1.02           2.67               1.02         3.07

Setup Times

TMULIDCK     Time from the setup of data         -       1.84           -                  2.11         -

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

Table 54: Asynchronous 18 x 18 Multiplier Timing

                                                                                           Speed Grade

                                                                        -MIN               -5           -4

    Symbol                 Description              P Outputs           Min                Max          Max   Units

Propagation Times                                                                                               ns
                                                                                                                ns
TMULT        The time it takes for data to travel   P[0]                0.59               1.55         1.78    ns
             from the A and B inputs to the P       P[15]                                                       ns
             outputs                                P[17]               1.20               3.15         3.62    ns
                                                                                                                ns
                                                                        1.28               3.36         3.86    ns

                                                    P[19]               1.33               3.49         4.01

                                                    P[23]               1.42               3.73         4.29

                                                    P[31]               1.61               4.23         4.86

                                                    P[35]               1.7                4.47         5.14

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

84                                                  www.xilinx.com                               DS099-3 (v2.4) June 25, 2008

                                                                                                        Product Specification
       R                                                Spartan-3 FPGA Family: DC and Switching Characteristics

Table 55: 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.09                     -           2.40
                                                                                                                     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         Block RAM CLK signal High           1.19                                     1.37        

              pulse width

TBPWL         Block RAM CLK signal Low            1.19                                     1.37        

              pulse width

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 31.
2. For minimums, use the values reported by the Xilinx timing analyzer.

Clock Distribution Switching Characteristics

Table 56: Clock Distribution Switching Characteristics

                                                                                                 Maximum

                                                                                                 Speed Grade

                                           Description                   Symbol                  -5          -4    Units
                                                                           TGIO                                      ns
Global clock buffer (BUFG, BUFGMUX, BUFGCE) I-input to O-output delay      TGSI                  0.36        0.41    ns

Global clock multiplexer (BUFGMUX) select S-input setup to I0- and                               0.53        0.60
I1-inputs. Same as BUFGCE enable CE-input

Notes:
1. For minimums, use the values reported by the Xilinx timing analyzer.

DS099-3 (v2.4) June 25, 2008                      www.xilinx.com                                                          85

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                R

Digital Clock Manager (DCM) Timing                             addition of DFS or PS functions are presented in Table 57
                                                               and Table 58.
For specification purposes, the DCM consists of three key
components: the Delay-Locked Loop (DLL), the Digital Fre-      Period jitter and cycle-cycle jitter are two (of many) different
quency Synthesizer (DFS), and the Phase Shifter (PS).          ways of characterizing clock jitter. Both specifications
                                                               describe statistical variation from a mean value.
Aspects of DLL operation play a role in all DCM applica-
tions. All such applications inevitably use the CLKIN and the  Period jitter is the worst-case deviation from the average
CLKFB inputs connected to either the CLK0 or the CLK2X         clock period of all clock cycles in the collection of clock peri-
feedback, respectively. Thus, specifications in the DLL        ods sampled (usually from 100,000 to more than a million
tables (Table 57 and Table 58) apply to any application that   samples for specification purposes). In a histogram of
only employs the DLL component. When the DFS and/or            period jitter, the mean value is the clock period.
the PS components are used together with the DLL, then
the specifications listed in the DFS and PS tables (Table 59   Cycle-cycle jitter is the worst-case difference in clock period
through Table 62) supersede any corresponding ones in the      between adjacent clock cycles in the collection of clock peri-
DLL tables. DLL specifications that do not change with the     ods sampled. In a histogram of cycle-cycle jitter, the mean
                                                               value is zero.
Delay-Locked Loop (DLL)

Table 57: Recommended Operating Conditions for the DLL

                                                                                       Speed Grade

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

Input Frequency Ranges

FCLKIN CLKIN_FREQ_DLL_LF Frequency for the CLKIN input         Low              18(2)  167(3)  18(2)   167(3)   MHz
                                                               High              48    280(3)   48    280(3,4)  MHz
    CLKIN_FREQ_DLL_HF

Input Pulse Requirements

CLKIN_PULSE               CLKIN pulse width as a               FCLKIN < 100 MHz 40% 60% 40% 60%                 -

                          percentage of the CLKIN period FCLKIN > 100 MHz 45% 55% 45% 55%                       -

Input Clock Jitter Tolerance and Delay Path Variation(4)

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

CLKIN_PER_JITT_DLL_LF     Period jitter at the CLKIN input     All              -      1      -      1        ns

CLKIN_PER_JITT_DLL_HF

CLKFB_DELAY_VAR_EXT       Allowable variation of off-chip      All              -      1      -      1        ns

                          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. The DFS, when operating independently of the DLL, supports lower FCLKIN frequencies. See Table 59.
3. To double the maximum effective FCLKIN limit, set the CLKIN_DIVIDE_BY_2 attribute to TRUE.
4. Industrial temperature range devices have additional requirements for continuous clocking, as specified in Table 63.

5. CLKIN input jitter beyond these limits may cause the DCM to lose lock. See UG331 for more details.

86                                     www.xilinx.com                                  DS099-3 (v2.4) June 25, 2008

                                                                                               Product Specification
            R                                                    Spartan-3 FPGA Family: DC and Switching Characteristics

Table 58: Switching Characteristics for the DLL

                                                                                             Speed Grade

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

CLKOUT_FREQ_2X_LF(3)          Frequency for the CLK2X and                                    36 334 36 334 MHz
                              CLK2X180 outputs

CLKOUT_FREQ_DV_LF             Frequency for the CLKDV                                        1.125 110 1.125 110  MHz
CLKOUT_FREQ_DV_HF             output                                                           3 185 3 185        MHz
Output Clock Jitter(4)

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

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

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

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

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

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

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

Duty Cycle

CLKOUT_DUTY_CYCLE_DLL(5)      Duty cycle variation for the                         XC3S50    - 150 - 150 ps
                              CLK0, CLK90, CLK180,                                 XC3S200   - 150 - 150 ps
                              CLK270, CLK2X, CLK2X180,                             XC3S400   - 250 - 250 ps
                              and CLKDV outputs                                    XC3S1000  - 400 - 400 ps
                                                                                   XC3S1500  - 400 - 400 ps
                                                                                   XC3S2000  - 400 - 400 ps
                                                                                   XC3S4000  - 400 - 400 ps
                                                                                   XC3S5000  - 400 - 400 ps

Phase Alignment               Phase offset between the                             All       - 150 - 150 ps
CLKIN_CLKFB_PHASE             CLKIN and CLKFB inputs
                                                                                             - 140 - 140 ps
CLKOUT_PHASE                  Phase offset between any two
                              DLL outputs (except CLK2X
                              and CLK0)                                                      - 250 - 250 ps

                              Phase offset between the
                              CLK2X and CLK0 outputs

DS099-3 (v2.4) June 25, 2008                                  www.xilinx.com                                      87

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                          R

Table 58: Switching Characteristics for the DLL (Continued)

                                                                                                      Speed Grade

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

LOCK_DLL                    When using the DLL alone: The 18 MHz < FCLKIN < 30 MHz         All  - 2.88 - 2.88 ms
Delay Lines                                                                                     - 2.16 - 2.16 ms
                            time from deassertion at the                                        - 1.20 - 1.20 ms
                            DCM's Reset input to the rising 30 MHz < FCLKIN < 40 MHz            - 0.60 - 0.60 ms
                                                                                                - 0.48 - 0.48 ms
                            transition at its LOCKED output.  40 MHz < FCLKIN < 50 MHz
                            When the DCM is locked, the       50 MHz < FCLKIN < 60 MHz
                            CLKIN and CLKFB signals are

                            in phase                                FCLKIN > 60 MHz

DCM_TAP                     Delay tap resolution                        All                All  30.0 60.0 30.0 60.0 ps

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 31 and Table 57.
2. DLL specifications apply when any of the DLL outputs (CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, or CLKDV) are in use.
3. Only mask revision `E' and later devices (see Mask and Fab Revisions, page 55) and all revisions of the XC3S50 and the XC3S1000 support DLL

      feedback using the CLK2X output. For all other Spartan-3 devices, use feedback from the CLK0 output (instead of the CLK2X output) and set the
      CLK_FEEDBACK attribute to 1X.
4. Indicates the maximum amount of output jitter that the DCM adds to the jitter on the CLKIN input.
5. This specification only applies if the attribute DUTY_CYCLE_CORRECTION = TRUE.

Digital Frequency Synthesizer (DFS)

Table 59: Recommended Operating Conditions for the DFS

                                                                                                Speed Grade

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

Input Frequency Ranges(2)

FCLKIN       CLKIN_FREQ_FX            Frequency for the CLKIN input          All        1       280   1      280 MHz

Input Clock Jitter Tolerance(3)

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

CLKIN_PER_JITT_FX                     Period jitter at the CLKIN input       All        -       1    -            1  ns

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

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

3. CLKIN input jitter beyond these limits may cause the DCM to lose lock.

88                                                 www.xilinx.com                                     DS099-3 (v2.4) June 25, 2008

                                                                                                      Product Specification
           R                                                          Spartan-3 FPGA Family: DC and Switching Characteristics

Table 60: Switching Characteristics for the DFS

                                                                                                    Speed Grade

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

Output Frequency Ranges

CLKOUT_FREQ_FX_LF        Frequency for the CLKFX and CLKFX180          Low        All           18  210    18    210 MHz
CLKOUT_FREQ_FX_HF        outputs                                       High
                                                                                  Mask          210 280 210 280 MHz

                                                                                  revisions
                                                                                  `A' `D'(5)

                                                                                  Mask          210 326 210 307 MHz

                                                                                  revisions

                                                                                  `E' and

                                                                                  later(5)

Output Clock Jitter

CLKOUT_PER_JITT_FX       Period jitter at the CLKFX and CLKFX180       All        All           Note 3 Note 3 Note 3 Note 3 ps
                         outputs
Duty Cycle(4)                                                          All        XC3S50        -   100   -     100 ps
CLKOUT_DUTY_CYCLE_FX     Duty cycle precision for the CLKFX and
                         CLKFX180 outputs
                                                                                  XC3S200       -   100   -     100 ps

                                                                                  XC3S400       -   250   -     250 ps

                                                                                  XC3S1000 -        400   -     400 ps

                                                                                  XC3S1500 -        400   -     400 ps

                                                                                  XC3S2000 -        400   -     400 ps

                                                                                  XC3S4000 -        400   -     400 ps

                                                                                  XC3S5000 -        400   -     400 ps

Phase Alignment          Phase offset between the DFS output and       All        All           -   300   -     300 ps
CLKOUT_PHASE

                         the CLK0 output

Lock Time

LOCK_DLL_FX              When using the DFS in conjunction with the    All        All           -   10.0   -     10.0 ms

                         DLL: The time from deassertion at the DCM's

                         Reset input to the rising transition at its

                         LOCKED output. When the DCM is locked,

                         the CLKIN and CLKFB signals are in phase.

LOCK_FX                  When using the DFS without the DLL: The       All        All           -   10.0   -     10.0 ms

                         time from deassertion at the DCM's Reset

                         input to the rising transition at its LOCKED

                         output. By asserting the LOCKED signal, the

                         DFS indicates valid CLKFX and CLKFX180

                         signals.

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 31 and Table 59.
2. DFS specifications apply when either of the DFS outputs (CLKFX or CLKFX180) is in use.
3. The Virtex-II FPGA Jitter Calculator at http://www.xilinx.com/applications/web_ds_v2/jitter_calc.htm provides an estimate. Use the DCM Clock

      Wizard in the ISE software for a Spartan-3 device specific number. Jitter number assumes 150 ps of input clock jitter.
4. The CLKFX and CLKFX180 outputs always approximate 50% duty cycles.
5. The mask revision code appears on the device top marking. See Mask and Fab Revisions, page 55.

DS099-3 (v2.4) June 25, 2008                     www.xilinx.com                                                                 89

Product Specification
Spartan-3 FPGA Family: DC and Switching Characteristics                                                                       R

Phase Shifter (PS)
Phase Shifter operation is only supported if the DLL is in the Low frequency mode, see Table 57.

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

                                                                                                 Speed Grade

                                     Device                 Frequency Mode/                  -5               -4
                                    Revision                  FCLKIN Range
    Symbol   Description                                                              Min        Max    Min       Max  Units
                                                                                                                       MHz
Operating Frequency Ranges
                                                                                                                          -
PSCLK_FREQ Frequency for the                 All            Low                        1         167    1         167     -

(FPSCLK)     PSCLK input

Input Pulse Requirements

PSCLK_PULSE PSCLK pulse width                All            Low FCLKIN < 100 MHz 40%             60%    40%       60%
                                                                       FCLKIN > 100 MHz 45%      55%    45%       55%
             as a percentage of

             the PSCLK period

Table 62: Switching Characteristics for the PS in Variable or Fixed Phase Shift Mode

                                                                                                 Speed Grade

         Symbol             Description                     Frequency Mode/                       -5           -4
Phase Shifting Range                                          FCLKIN Range                 Min Max      Min Max Units

FINE_SHIFT_RANGE Phase shift range                               Low                         -   10.0      -      10.0 ns

Lock Time

LOCK_DLL_PS           When using the PS in conjunction 18 MHz < FCLKIN < 30 MHz              -   3.28      -      3.28 ms

                      with the DLL: The time from
                      deassertion at the DCM's Reset 30 MHz < FCLKIN < 40 MHz                -   2.56      -      2.56 ms

                      input to the rising transition at its 40 MHz < FCLKIN < 50 MHz         -   1.60      -      1.60 ms

                      LOCKED output. When the DCM
                      is locked, the CLKIN and CLKFB 50 MHz < FCLKIN < 60 MHz                -   1.00      -      1.00 ms

                      signals are in phase.                 60 MHz < FCLKIN < 165 MHz        -   0.88      -      0.88 ms

LOCK_DLL_PS_FX When using the PS in conjunction                  Low                         -   10.40     -      10.40 ms

                      with the DLL and DFS: The time

                      from deassertion at the DCM's

                      Reset input to the rising transition

                      at its LOCKED output. When the

                      DCM is locked, the CLKIN and

                      CLKFB signals are in phase.

Notes:
1. The numbers in this table are based on the operating conditions set forth in Table 31 and Table 61.
2. The PS specifications in this table apply when the PS attribute CLKOUT_PHASE_SHIFT= VARIABLE or FIXED.

90                                                          www.xilinx.com                            DS099-3 (v2.4) June 25, 2008

                                                                                                        Product Specification
R                                                         Spartan-3 FPGA Family: DC and Switching Characteristics

Miscellaneous DCM Timing

Table 63: Miscellaneous DCM Timing

                                                                               DLL        Temperature Range

                                                                               Frequency

Symbol                                       Description                       Mode Commercial Industrial    Units

DCM_INPUT_CLOCK_STOP Maximum duration that the CLKIN and                       Any        100  100           ms
                                           CLKFB signals can be stopped(1, 2)

DCM_RST_PW_MIN        &n