Hrdatabook PDF
Hrdatabook PDF
Hrdatabook PDF
R
0 0
Important Information You Need to Know
About This Data Book
July 1, 2000 (v1.0)
The Website is Whenever Xilinx updates technical data on its products, the first place that information goes is
Always Current to the Xilinx website. To find the absolutely latest technical product data from Xilinx, simply go
to the following Web address:
http://www.xilinx.com/products/hirel_qml.htm
Aerospace and The Aerospace and Defense CD-ROM contains the complete Aerospace and Defense data
Defense book in PDF format (AD_databook.pdf) as well as the complete Data Book 2000 PDF version
(databook.pdf). The Aerospace and Defense data book contains the complete versions of all
CD-ROM QPRO data sheets. Double click on the AD_databook.pdf in the root directory and it will open
to the Table of Contents.
Registration Advantage
Please take a moment to complete the registration section on the CD-ROM. This will ensure
that you automatically begin to receive quarterly updates of the CD-ROM as they become
available. By registering, you will receive the next updated CD-ROM free of charge and without
any other action required on your part.
© 2000 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.
, all XC-prefix product designations, AllianceCore, Alliance Series, BITA,, CLC, Configurable
Logic Cell, CoolRunner, Dual Block, EZTag, Fast CLK, FastCONNECT, Fast FLASH, FastMap,
Foundation, FZP, HardWire, LCA, LogiBLOX, LogiCORE, Logic Cell, Logic Professor,
MicroVia, PowerGuide, PowerMaze, PLUSASM, QPRO, SelectI/O, SelectRAM+, SelectRAM,
Shadow X Design, Smartguide, SmartSearch, Smartspec, SMARTswitch, Spartan,
TotalCMOS, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex, WebFITTER,
WebLINX, XABEL, XACT-Floorplanner, XACT-Performance, XACTstep, XACTstep Advanced,
XACTstep Foundry, XAM, XAPP, X-BLOX, X-BLOX plus, XChecker, XDM, XDS, XEPLD, Xilinx
Foundation Series, XPLA, XPLA3, XPP, XSI, ZERO+ are trademarks of Xilinx, Inc.
The Programmable Logic Company and The Programmable Gate Array Company are service
marks of Xilinx, Inc.
All other trademarks are the property of their respective owners.
Xilinx does not assume any liability arising out of the application or use of any product
described or shown herein; nor does it convey any license under its patents, copyrights, or
maskwork rights or any rights of others. Xilinx reserves the right to make changes, at any time,
in order to improve reliability, function or design and to supply the best product possible. Xilinx
will not assume responsibility for the use of any circuitry described herein other than circuitry
entirely embodied in its products. Xilinx devices and products are protected under one or more
of the following U.S. Patents: 4,642,487; 4,695,740; 4,706,216; 4,713,557; 4,746,822;
4,750,155; 4,758,985; 4,820,937; 4,821,233; 4,835,418; 4,853,626; 4,855,619; 4,855,669;
4,902,910; 4,940,909; 4,967,107; 5,012,135; 5,023,606; 5,028,821; 5,047,710; 5,068,603;
5,140,193; 5,148,390; 5,155,432; 5,166,858; 5,224,056; 5,243,238; 5,245,277; 5,267,187;
5,291,079; 5,295,090; 5,302,866; 5,319,252; 5,319,254; 5,321,704; 5,329,174; 5,329,181;
5,331,220; 5,331,226; 5,332,929; 5,337,255; 5,343,406; 5,349,248; 5,349,249; 5,349,250;
5,349,691; 5,357,153; 5,360,747; 5,361,229; 5,362,999; 5,365,125; 5,367,207; 5,386,154;
5,394,104; 5,399,924; 5,399,925; 5,410,189; 5,410,194; 5,414,377; 5,422,833; 5,426,378;
5,426,379; 5,430,687; 5,432,719; 5,448,181; 5,448,493; 5,450,021; 5,450,022; 5,453,706;
5,466,117; 5,469,003; 5,475,253; 5,477,414; 5,481,206; 5,483,478; 5,486,707; 5,486,776;
5,488,316; 5,489,858; 5,489,866; 5,491,353; 5,495,196; 5,498,979; 5,498,989; 5,499,192;
5,500,608; 5,500,609; 5,502,000; 5,502,440; RE 34,363, RE 34,444, and RE 34,808. Other
U.S. and foreign patents pending. Xilinx, Inc. does not represent that devices shown or
products described herein are free from patent infringement or from any other third party right.
Xilinx assumes no obligation to correct any errors contained herein or to advise any user of this
text of any correction if such be made. Xilinx will not assume any liability for the accuracy or
correctness of any engineering or software support or assistance provided to a user.
Xilinx products are not intended for use in life support appliances, devices, or systems. Use of
a Xilinx product in such applications without the written consent of the appropriate Xilinx officer
is prohibited.
Copyright 2000 Xilinx, Inc. All Rights Reserved.
1 Introduction
www.xilinx.com
1-800-255-7778
R
Table of Contents
Section 1. Introduction
QPRO™ High-Reliability QML Certified and
Radiation Hardened Products for Aerospace and Defense Applications ................................................1-1
Section 2: QPRO QML Certified and Radiation Hardened Products
QPRO Virtex 2.5V QML High-Reliability FPGAs .........................................................................................2-1
QPRO™ Virtex™ 2.5V Radiation Hardened FPGAs .................................................................................2-29
QPRO XQ4000E/EX QML High-Reliability FPGAs ....................................................................................2-43
QPRO XQ4000XL Series QML High-Reliability FPGAs ............................................................................2-79
QPRO XQR4000XL Radiation Hardened FPGAs ......................................................................................2-99
QPRO Series Configuration PROMs (XQ) including Radiation-Hardened Series (XQR) ....................2-119
QPRO Family of XC1700D QML Configuration PROMs .........................................................................2-129
Section 3. Application Notes
XAPP151: Virtex Series Configuration Architecture User Guide .............................................................3-1
XAPP138: Virtex FPGA Series Configuration and Readback .................................................................3-47
XAPP181: SEU Mitigation Design Techniques for the XQR4000XL .......................................................3-87
XAPP216: Correcting Single-Event Upsets Through Virtex Partial Configuration .............................3-101
Section 4. QPRO High-Reliability QML Products Quality and Reliability Program ...................................................4-1
Section 5. Packages and Thermal Characteristics: High-Reliability Products .........................................................5-1
High-Reliability Package Drawings ...........................................................................................................5-25
Section 6. Xilinx Sales Offices ........................................................................................................................................6-1
www.xilinx.com
1-800-255-7778
0
R
0 1
Introduction
1 Introduction
www.xilinx.com
1-800-255-7778
R Introduction
Table of Contents
www.xilinx.com
1-800-255-7778
0
R
QPRO High-Reliability QML Certified and
0 1
Radiation Hardened Products for
June 15, 2000 (v2.1) Aerospace and Defense Applications
The High- Xilinx is the leading supplier of High-Reliability programmable logic devices to the aerospace
Reliability and defense markets. These devices are used in a wide range of applications such as
Programmable
electronic warfare, missile guidance and targeting, RADAR, SONAR, communications, signal
processing, avionics and satellites. The Xilinx QPRO™ family of ceramic and plastic QML
1
Logic Leader products (Qualified Manufacturers Listing), certified to MIL-PRF-38585, provide system
designers with advanced programmable logic solutions for next generation designs. The QPRO
family also includes select products that are radiation hardened for use in satellite and other
space applications. 2
The Xilinx QPRO family addresses the issues that are critical to the aerospace and defense
market:
• QML/Best commercial practices. Commercial manufacturing strengths result in more
efficient process flows.
3
• Performance-based solutions, including cost-effective plastic packages.
• Reliability of supply. Controlled mask sets and processes insure the same quality devices,
every time, without variation, which remain in production for an extended time. 4
• Off-the-shelf ASIC solutions. Standard devices readily available, no need for custom logic
and gate arrays.
© 2000 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.
QPRO High-Reliability QML Certified and Radiation Hardened Products for Aerospace and Defense
Unmatched The QPRO family provides a wide variety of devices, delivering the industry’s fastest and
Product biggest devices. The Virtex members of the QPRO family offers FPGAs with densities greater
than 1,000,000 system gates, and even larger devices planned for the future. This broad range
Offering of devices is available in a wide variety of speed and package options. Both military
temperature and full QML/SMD versions are available as standard off-the-shelf products.
Select software cores, such as complete PowerPC peripherals, is also available.
Products for Xilinx offers the industry’s only radiation hardened reconfigurable FPGAs for satellite and
Space space. These devices are manufactured using an epitaxial wafer process, and have
guaranteed total dose, latch up immunity, and low soft upset rates. These products allow for the
Applications ultimate in design and mission flexibility in a cost-effective manner.
Commitment to Xilinx understands that our customers need to be able to count on their suppliers to be around
the Aerospace for the long-term. Xilinx is committed to the long-term support of the aerospace and defense
market, and we are continually expanding our product portfolio. Because our focus is in the
and Defense form of a vertical market concept, we are able to provide emphasis on all of our customer’s
Market product requirements.
Notes:
1. The XQ4085XL is the only XQ4000XL series device that
uses an XLA rather than XL designation.
QPRO High-Reliability QML Certified and Radiation Hardened Products for Aerospace and Defense
Speed Grades
When making a device selection in the implementation tools, always select a speed grade that
corresponds to the specific target device. In other words, a “-4” speed grade is still a “-4”
regardless of whether it is a Commercial, Industrial, or Military grade part.
The AC characteristics and guaranteed timing specifications for a given device are specified
per a specific speed grade. However, these parameters do not vary per product grade (i.e.,
Commercial, Industrial, Military, or other). Therefore, a Commercial grade device (C) of a
particular speed grade will have identical guaranteed worst case timing specifications as the
1
Industrial or Military version (I, M, B, or N) of the same part and same speed grade. However,
this is not the case for best case or minimum delay timing specifications.
Xilinx devices are assigned a speed grade based on the whether or not the device can pass all
the guaranteed worst case timing (maximum delays) for that speed grade. A device that does 2
not pass all AC parametric tests for the fastest speed grade classification may test successfully
for a slower speed grade classification and subsequently be assigned that grade. Therefore, a
faster device may be categorized to a slower speed grade as long as there aren’t any
associated guaranteed minimum timing delay specifications, or the part successfully meets
such specifications.
3
Industrial and Military grade devices are tested at a greater junction temperature range than
Commercial grade devices. The commercial range for junction temperature is 0°C to +85°C.
The industrial temperature range –40°C to +100°C, and the military range is –55°C to +125°C.
The military version of a specific device must meet the same timing specifications at +125°C as
4
the corresponding commercial version at +85°C (for a specific speed grade). For example, a
device that meets all timing specifications for a -6 speed grade at +85°C may only meet the
timing specifications for a -4 speed grade when tested at +125°C. Therefore, the commercial
grade devices will typically have an extended speed grade offering over the availability of 5
devices tested at extended temperature ranges.
QPRO High-Reliability QML Certified and Radiation Hardened Products for Aerospace and Defense
XC3000 Products(1,2)
SMD Number Equivalent “B” Grade P/N Speed Package Mark Loc
5962-8994803MXC XC3020-100PG84B -100 PG84 TOP
5962-8994803MNC XC3020-100CB100B -100 CB100 BASE
5962-8994803MMC XC3020-100CB100B -100 CB100 LID
5962-8971303MXC XC3042-100PG84B -100 PG84 TOP
5962-8971303MZC XC3042-100PG132B -100 PG132 TOP
5962-8971303M9C XC3042-100CB100B -100 CB100 BASE
5962-8971303MMC XC3042-100CB100B -100 CB100 LID
5962-8982303MXC XC3090-100PG175B -100 PG175 TOP
5962-8982303MZC XC3090-100CB164B -100 CB164 BASE
5962-8982303MTC XC3090-100CB164B -100 CB164 LID
Notes:
1. All devices listed also available as military temperature only.
2. Do not use for new designs.
XC4000 Products(1,2)
SMD Number Equivalent “B” Grade P/N Speed Package Mark Loc
5962-9225203MXC XC4005-5PG156B -5 PG156 TOP
5962-9225203MYC XC4005-5CB164B -5 CB164 LID
5962-9225203MZC XC4005-5CB164B -5 CB164 BASE
5962-9230503MXC XC4010-5PG191B -5 PG191 TOP
5962-9230503MYC XC4010-5CB196B -5 CB196 BASE
5962-9230503MZC XC4010-5CB196B -5 CB196 LID
5962-9473002MYC XC4013-6CB228B2 -6 CB228 BASE
5962-9473002MZC XC4013-6CB228B -6 CB228 LID
5962-9473002MXC XC4013-6PG223B -6 PG223 TOP
Notes:
1. All devices listed also available as military temperature only.
2. Do not use for new designs.
QPRO High-Reliability QML Certified and Radiation Hardened Products for Aerospace and Defense
XC4000E Products(1,2)
SMD Number Equivalent “B” Grade P/N Speed Package Mark Loc
5962-9752201QXC XC4005E-4PG156B -4 PG156 TOP
5962-9752201QYC XC4005E-4CB164B -4 CB164 BASE
5962-9752201QZC XC4005E-4CB164B -4 CB164 LID
1
5962-9752301QXC XC4010E-4PG191B -4 PG191 TOP
5962-9752301QYC XC4010E-4CB164B -4 CB196 BASE
5962-9752301QZC XC4010E-4CB164B -4 CB196 LID
2
5962-9752401QXC XC4013E-4PG223B -4 PG223 TOP
5962-9752401QYC XC4013E-4CB228B -4 CB228 BASE
5962-9752401QZC XC4013E-4CB228B -4 CB228 LID 3
5962-9752501QXC XC4025E-4PG299B -4 PG299 TOP
5962-9752501QYC XC4025E-4CB228B -4 CB228 BASE
5962-9752501QZC XC4025E-4CB228B -4 CB228 LID 4
Notes:
1. All devices listed also available as military temperature only as "XQ" products.
2. XC4010E/XC4013E are also available in plastic as "XQ" products, to -3 speed grade.
5
XQ4000EX Products(1)
SMD Number Equivalent “B” Grade P/N Speed Package Mark Loc
5962-985901NTB XQ4028EX-4HQ240N(2) -4 HG240 TOP 6
5962-985901NUA XQ4028EX-4BG352N(2) -4 BG352 TOP
5962-985901QXC XQ4028EX-4PG299B -4 PG299 TOP
5962-985901QYC XQ4028EX-4CB228B -4 CB228 BASE
5962-985901QZC XQ4028EX-4CB228B -4 CB228 LID
Notes:
1. All devices listed also available as military temperature only.
2. Plastic package.
QPRO High-Reliability QML Certified and Radiation Hardened Products for Aerospace and Defense
XQ4000XL(1)
SMD Number Equivalent “B” Grade P/N Speed Package Mark Loc
5962-9851301NTB XQ4013XL-3PQ240N(2) -3 PG240 TOP
5962-9851301NUA XQ4013XL-3BG256B(2) -3 BG256 TOP
5962-9851301QXC XQ4013XL-3PG223B -3 PG223 TOP
5962-9851301QYC XQ4013XL-3CB228B -3 CB228 BASE
5962-9851301QZC XQ4013XL-3CB228B -3 CB288 LID
5962-9851001NTB XQ4036XL-3HQ240N(2) -3 HQ240 TOP
5962-9851001NUA XQ4036XL-3BG352N(2) -3 BG352 TOP
5962-9851001QXC XQ4036XL-3PG411B -3 PG411 TOP
5962-9851001QYC XQ4036XL-3CB228B -3 PG228 BASE
5962-9851001QZC XQ4036XL-3CB228B -3 CB228 LID
5962-9851101NTB XQ4062XL-3HQ240N(2) -3 HQ240 TOP
5962-9851101NUA XQ4062XL-3BG432N(2) -3 BG432 TOP
5962-9851101QXC XQ4062XL-3PG475B -3 PG475 TOP
5962-9851101QYC XQ4062XL-3CB228B -3 CB228 BASE
5962-9851101QZC XQ4062XL-3CB228B -3 CB228 LID
Notes:
1. All devices listed also available as military temperature only.
2. Plastic Package
Revision The following table shows the revision history for this document.
Control
Date Version Description
01/01/98 1.1 High-Reliability and QML Military Products, correct erroneous
information page 2 “XC3000 Products”, delete last page, table -
“Mil-PRF-3853 QML, Xilinx M Grade and Plastic Commercial Flows”
11/01/98 1.2 Added new products, corrected XC3000, XC4000 products.
02/02/00 2.0 Updated Introduction and product listing.
06/15/00 2.1 Updated product listing and added "Software and Core Support for
Xilinx QPRO High-Reliability Products".
R
0 2
QPRO™ QML Certified and Radiation
Hardened Products
1 Introduction
www.xilinx.com
1-800-255-7778
R
QPRO™ QML Certified and Radiation
Hardened Products
Table of Contents
QPRO™ Virtex™ 2.5V QML High-Reliability FPGAs ................................................................................. 2-1
Features ................................................................................................................................................... 2-1
Description ............................................................................................................................................... 2-1
Virtex Electrical Characteristics ............................................................................................................... 2-2
Virtex DC Characteristics ......................................................................................................................... 2-2
Virtex Switching Characteristics .............................................................................................................. 2-5
Virtex Pin-to-Pin Output Parameter Guidelines ..................................................................................... 2-13
Virtex Pin-to-Pin Input Parameter Guidelines ........................................................................................ 2-15
QPRO Virtex Pin Outs ........................................................................................................................... 2-17
Package Drawing CG560 Ceramic Column Grid ................................................................................... 2-17
Device/Package Combinations and Maximum I/O ................................................................................ 2-28
Ordering Information ............................................................................................................................. 2-28
www.xilinx.com
1-800-255-7778
R
QPRO Series Configuration PROMs (XQ) including Radiation-Hardened Series (XQR) ................... 2-119
Features ............................................................................................................................................... 2-119
Description ........................................................................................................................................... 2-119
Pin Description .................................................................................................................................... 2-120
FPGA Master Serial Mode Summary .................................................................................................. 2-121
Standby Mode ..................................................................................................................................... 2-124
Programming ....................................................................................................................................... 2-124
Radiation Characteristics (XQR1701L and XQR1704L only) .............................................................. 2-124
Absolute Maximum Ratings 2-125
Operating Conditions ........................................................................................................................... 2-125
DC Characteristics Over Operating Condition ..................................................................................... 2-125
AC Characteristics Over Operating Condition ..................................................................................... 2-126
AC Characteristics Over Operating Condition When Cascading ......................................................... 2-127
Ordering Information ............................................................................................................................ 2-128
Valid Ordering Combinations ............................................................................................................... 2-128
www.xilinx.com
1-800-255-7778
R
www.xilinx.com
1-800-255-7778
7
© 2000 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.
PCI, 5.0 V –0.5 0.8 2.0 5.5 0.55 2.4 (2) (2)
GTL –0.5 VREF – 0.05 VREF + 0.05 3.6 0.4 n/a 40 n/a
GTL+ –0.5 VREF – 0.1 VREF + 0.1 3.6 0.6 n/a 36 n/a
HSTL I –0.5 VREF – 0.1 VREF + 0.1 3.6 0.4 VCCO – 0.4 8 -8
HSTL III –0.5 VREF – 0.1 VREF + 0.1 3.6 0.4 VCCO – 0.4 24 –8
HSTL IV –0.5 VREF – 0.1 VREF + 0.1 3.6 0.4 VCCO – 0.4 48 –8
SSTL3 I –0.5 VREF – 0.2 VREF + 0.2 3.6 VREF – 0.6 VREF + 0.6 8 –8
SSTL3 II –0.5 VREF – 0.2 VREF + 0.2 3.6 VREF – 0.8 VREF + 0.8 16 –16
SSTL2 I –0.5 VREF – 0.2 VREF + 0.2 3.6 VREF – 0.65 VREF + 0.65 7.6 –7.6
SSTL2 II –0.5 VREF – 0.2 VREF + 0.2 3.6 VREF – 0.80 VREF + 0.80 15.2 –15.2
CTT –0.5 VREF – 0.2 VREF + 0.2 3.6 VREF – 0.4 VREF + 0.4 8 –8
AGP –0.5 VREF – 0.2 VREF + 0.2 3.6 10% VCCO 90% VCCO (2) (2)
Notes:
1. VOL and VOH for lower drive currents are sample tested.
2. Tested according to the relevant specifications.
Speed 2
Grade
Symbol Description Device -4 Units
Propagation Delays 3
TIOPI Pad to I output, no delay All 1.0 ns, max
TIOPID Pad to I output, with delay XQV100 1.9 ns, max
XQV300 1.9 ns, max 4
XQV600 2.3 ns, max
XQV1000 2.7 ns, max
TIOPLI Pad to output IQ via transparent latch, no delay All 2.0 ns, max 5
TIOPLID Pad to output IQ via transparent latch, with delay XQV100 4.8 ns, max
XQV300 5.1 ns, max
XQV600 5.5 ns, max
6
XQV1000 5.9 ns, max
Sequential Delays
TIOCKIQ Clock CLK to output IQ All 0.8 ns, max
Setup and Hold Times with Respect to Clock CLK Setup Time / Hold Time
TIOPICK / TIOICKP Pad, no delay All 2.0 / 0 ns, min
TIOPICKD / TIOICKPD Pad, with delay All 5.0 / 0 ns, min
TIOICECK / TIOCKICE ICE input All 1.0 / 0 ns, min
TIOSRCKI / TIOCKISR SR input (IFF, synchronous) All 1.3 / 0 ns, min
Set/Reset Delays
TIOSRIQ SR input to IQ (asynchronous) All 1.8 ns, max
TGSRQ GSR to output IQ All 12.5 ns, max
Notes:
1. A Zero “0” Hold Time listing indicates no hold time or a negative hold time. Negative values can not be guaranteed “best-case”, but
if a “0” is listed, there is no positive hold time.
Speed Grade
Symbol Description -4 Units
Propagation Delays 1
TIOOP O input to pad 3.5 ns, max
TIOOLP O input to pad via transparent latch 4.0 ns, max
3-State Delays 2
TIOTHZ T input to pad high-impedance(1) 2.4 ns, max
TIOTON T input to valid data on pad 3.7 ns, max
TIOTLPHZ T input to pad high-impedance via transparent latch(1) 3.0 ns, max 3
TIOTLPON T input to valid data on pad via transparent latch 4.2 ns, max
TGTS GTS to pad high impedance(1) 6.3 ns, max
Sequential Delays 4
TIOCKP Clock CLK to pad 3.5 ns, max
TIOCKHZ Clock CLK to pad high-impedance (synchronous)(1) 2.9 ns, max
TIOCKON Clock CLK to valid data on pad (synchronous) 4.1 ns, max
5
Setup and Hold Times before/after Clock CLK Setup Time /
Hold Time(2)
TIOOCK/TIOCKO O input 1.3 / 0 ns, min
TIOOCECK/TIOCKOCE OCE input 1.0 / 0 ns, min 6
TIOSRCKO/TIOCKOSR SR input (OFF) 1.4 / 0 ns, min
TIOTCK/TIOCKT 3-state setup times, T input 0.9 / 0 ns, min
TIOTCECK/TIOCKTCE 3-state setup times, TCE input 1.1 / 0 ns, min
TIOSRCKT/TIOCKTSR 3-state setup times, SR input (TFF) 1.3 / 0 ns, min
Set/Reset Delays
TIOSRP SR input to pad (asynchronous) 4.6 ns, max
TIOSRHZ SR input to pad high-impedance (asynchronous)(1) 3.9 ns, max
TIOSRON SR input to valid data on pad (asynchronous) 5.1 ns, max
Notes:
1. High-impedance turn-off delays should not be adjusted.
2. A Zero “0” Hold Time listing indicates no hold time or a negative hold time. Negative values can not be guaranteed “best-case”, but
if a “0” is listed, there is no positive hold time.
Speed Grade
Symbol Description Standard -4 Units
Output Delay Adjustments
TOLVTTL_S2 Standard-specific adjustments for output delays LVTTL, slow 2 mA 17.0 ns
terminating at pads (based on standard capacitive
TOLVTTL_S4 4 mA 8.6 ns
load, Csl)
TOLVTTL_S6 6 mA 5.6 ns
TOLVTTL_S8 8 mA 3.5 ns
TOLVTTL_S12 12 mA 2.2 ns
TOLVTTL_S16 16 mA 2.0 ns
TOLVTTL_S24 24 mA 1.6 ns
TOLVTTL_F2 LVTTL, fast 2 mA 15.1 ns
TOLVTTL_F4 4 mA 6.1 ns
TOLVTTL_F6 6 mA 3.6 ns
TOLVTTL_F8 8 mA 1.2 ns
TOLVTTL_F12 12 mA 0.0 ns
TOLVTTL_F16 16 mA –0.05 ns
TOLVTTL_F24 24 mA –0.23 ns
TOLVCMOS2 LVCMOS2 0.12 ns
TOPCI33_3 PCI, 33 MHz, 3.3V 2.7 ns
TOPCI33_5 PCI, 33 MHz, 5.0V 3.3 ns
TOGTL GTL 0.6 ns
TOGTLP GTL+ 1.0 ns
TOHSTL_I HSTL I –0.5 ns
TOHSTL_III HSTL III –1.0 ns
TOHSTL_IV HSTL IV –1.1 ns
TOSSTL2_I SSTL2 I –0.5 ns
TOSSTL2_II SSTL2 II –1.0 ns
TOSSTL3_I SSTL3 I –0.5 ns
TOSSTL3_II SSTL3 II –1.1 ns
TOCTT CTT –0.6 ns
TOAGP AGP –1.0 ns
Speed Grade
Symbol Description -4 Units
TGIO Global clock buffer I input to O output 0.9 ns, max
Speed Grade
Symbol Description -4 Units
Combinatorial Delays
1
TILO 4-input function: F/G inputs to X/Y outputs 0.8 ns, max
TIF5 5-input function: F/G inputs to F5 output 0.9 ns, max
TIF5X 5-input function: F/G inputs to X output 1.0 ns, max
2
TIF6Y 6-input function: F/G inputs to Y output via F6 MUX 1.2 ns, max
TF5INY 6-input function: F5IN input to Y output 0.5 ns, max
TIFNCTL Incremental delay routing through transparent latch to XQ/YQ outputs 0.8 ns, max
3
TBYYB BY input to YB output 0.7 ns, max
Sequential Delays
TCKO FF clock CLK to XQ/YQ outputs 1.4 ns, max
4
TCKLO Latch clock CLK to XQ/YQ outputs 1.6 ns, max
Setup and Hold Times before/after Clock CLK Setup Time /
Hold Time
TICK/TCKI 4-input function: F/G Inputs 1.5 / 0 ns, min 5
TIF5CK/TCKIF5 5-input function: F/G inputs 1.7 / 0 ns, min
TF5INCK/TCKF5IN 6-input function: F5IN input 1.2 / 0 ns, min
TIF6CK/TCKIF6 6-input function: F/G inputs via F6 MUX 1.9 / 0 ns, min 6
TDICK/TCKDI BX/BY inputs 0.8 / 0 ns, min
TCECK/TCKCE CE input 1.0 / 0 ns, min
TRCKTCKR SR/BY inputs (synchronous) 0.9 / 0 ns, min
Clock CLK
TCH Minimum pulse width, High 2.0 ns, min
TCL Minimum pulse width, Low 2.0 ns, min
Set/Reset
TRPW Minimum pulse width, SR/BY inputs 3.3 ns, min
TRQ Delay from SR/BY inputs to XQ/YQ outputs (asynchronous) 1.4 ns, max
TIOGSRQ Delay from GSR to XQ/YQ outputs 12.5 ns, max
Notes:
1. A Zero “0” Hold Time listing indicates no hold time or a negative hold time. Negative values can not be guaranteed “best-case”, but
if a “0” is listed, there is no positive hold time.
Speed Grade
Symbol Description -4 Units
Combinatorial Delays
TOPX F operand inputs to X via XOR 1.0 ns, max
TOPXB F operand input to XB output 1.4 ns, max
TOPY F operand input to Y via XOR 2.0 ns, max
TOPYB F operand input to YB output 2.0 ns, max
TOPCYF F operand input to COUT output 1.5 ns, max
TOPGY G operand inputs to Y via XOR 1.2 ns, max
TOPGYB G operand input to YB output 2.1 ns, max
TOPCYG G operand input to COUT output 1.6 ns, max
TBXCY BX initialization input to COUT 1.1 ns, max
TCINX CIN input to X output via XOR 0.6 ns, max
TCINXB CIN input to XB 0.1 ns, max
TCINY CIN input to Y via XOR 0.6 ns, max
TCINYB CIN input to YB 0.6 ns, max
TBYP CIN input to COUT output 0.2 ns, max
Multiplier Operation
TFANDXB F1/2 operand inputs to XB output via AND 0.5 ns, max
TFANDYB F1/2 operand inputs to YB output via AND 1.1 ns, max
TFANDCY F1/2 operand inputs to COUT output via AND 0.6 ns, max
TGANDYB G1/2 operand inputs to YB output via AND 0.7 ns, max
TGANDCY G1/2 operand inputs to COUT output via AND 0.2 ns, max
Setup and Hold Times before/after Clock CLK Setup Time / Hold Time
TCCKX/TCKCX CIN input to FFX 1.3 / 0 ns, min
TCCKY/TCKCY CIN input to FFY 1.4 / 0 ns, min
Notes:
1. A Zero “0” Hold Time listing indicates no hold time or a negative hold time. Negative values can not be guaranteed “best-case”, but
if a “0” is listed, there is no positive hold time.
Global Clock Input to Output Delay for LVTTL, 12 mA, Fast Slew Rate, with DLL
Speed Grade
Symbol Description Device -4 Units
LVTTL Global Clock Input to Output Delay using Output Flip-flop, XQV100 3.6 ns, max
12 mA, Fast Slew Rate, with DLL. For data output with different XQV300 3.6 ns, max
standards, adjust the delays with the values shown in "IOB Output
Switching Characteristics Standard Adjustments" on page 8. XQV600 3.6 ns, max
XQV1000 3.6 ns, max
Notes:
1. Listed above are representative values where one global clock input drives one vertical clock line in each accessible column, and
where all accessible IOB and CLB flip-flops are clocked by the global clock net.
2. Output timing is measured at 50% VCC threshold with 35 pF external capacitive load. For different loads, see Table 2.
3. DLL output jitter is already included in the timing calculation.
Global Clock Input to Output Delay for LVTTL, 12 mA, Fast Slew Rate, without DLL
Speed
Grade
Symbol Description Device -4 Units
LVTTL Global Clock Input to Output Delay using Output Flip-flop, XQV100 5.7 ns, max
12 mA, Fast Slew Rate, without DLL. For data output with different XQV300 5.9 ns, max
standards, adjust the delays with the values shown in "IOB Output
Switching Characteristics Standard Adjustments" on page 8. XQV600 6.0 ns, max
XQV1000 6.3 ns, max
Notes:
1. Listed above are representative values where one global clock input drives one vertical clock line in each accessible column,and
where all accessible IOB and CLB flip-flops are clocked by the global clock net.
2. Output timing is measured at 50% VCC threshold with 35 pF external capacitive load. For different loads, see Table 2.
Global Clock Setup and Hold for LVTTL Standard, with DLL
Speed Grade
Symbol Description Device -4 Units
Input Setup and Hold Time Relative to Global Clock Input Signal for LVTTL Standard. For data input with different
standards, adjust the setup time delay by the values shown in Input Delay Adjustments.
TPSDLL/TPHDLL No Delay XQV100 2.1 / –0.4 ns, min
Global clock and IFF, with DLL XQV300 2.1 / –0.4 ns, min
XQV600 2.1 / –0.4 ns, min
XQV1000 2.1 / –0.4 ns, min
Notes:
1. IFF = Input Flip-Flop or Latch
2. Setup time is measured relative to the Global Clock input signal with the fastest route and the lightest load. Hold time is measured
relative to the Global Clock input signal with the slowest route and heaviest load.
3. DLL output jitter is already included in the timing calculation.
Global Clock Setup and Hold for LVTTL Standard, without DLL
Speed Grade
Symbol Description Device -4 Units
Input Setup and Hold Time Relative to Global Clock Input Signal for LVTTL Standard. For data input with different
standards, adjust the setup time delay by the values shown in Input Delay Adjustments.
TPSFD/TPHFD Full Delay XQV100 3.0 / 0.0 ns, min
Global clock and IFF, without DLL XQV300 3.1 / 0.0 ns, min
XQV600 3.3 / 0.0 ns, min
XQV1000 3.6 / 0.0 ns, min
Notes:
1. IFF = Input Flip-Flop or Latch
2. Setup time is measured relative to the Global Clock input signal with the fastest route and the lightest load. Hold time is measured
relative to the Global Clock input signal with the slowest route and heaviest load.
3. A Zero “0” Hold Time listing indicates no hold time or a negative hold time. Negative values can not be guaranteed “best-case”, but
if a “0” is listed, there is no positive hold time.
CLKDLLHF CLKDLL
3
Symbol Description Min Max Min Max Units
TIPTOL Input clock period tolerance - 1.0 - 1.0 ns
TIJITCC Input clock jitter cycle to cycle - ±150 - ± 300 ps
TLOCK Time required for DLL to acquire Lock 4
FCLKIN > 60 MHz - 20 - 20 ms
50-60 MHz - - - 25 ms
40-50 MHz - - - 50 ms 5
30-40 MHz - - - 90 ms
25-30 MHz - - - 120 ms
TSKEW DLL output skew (between any DLL output) - ±150 - ± 150 ps
TOPHASE DLL output long term phase differential - ±100 - ± 100 ps
6
TOJITCC DLL output ditter cycle to cycle ± 60 ± 60 ps
Notes:
1. All specifications correspond to Commercial Operating Temperatures (0°C to +100°C).
Clock Jitter: the difference between an ideal reference clock edgfe and the actual design.
_
+
TOJITCC DS002_01_060100
Table 4: Virtex Plastic Ball Grid and Ceramic Column Grid Pinout Information
Pin Name Device BG256 BG352 BG432 BG560/CG560
GCK0 All Y11 AE13 AL16 AL17
GCK1 All Y10 AF14 AK16 AJ17
GCK2 All A10 B14 A16 D17
GCK3 All B10 D14 D17 A17
M0 All Y1 AD24 AH28 AJ29
M1 All U3 AB23 AH29 AK30
M2 All W2 AC23 AJ28 AN32
CCLK All B19 C3 D4 C4
PROGRAM All Y20 AC4 AH3 AM1
DONE All W19 AD3 AH4 AJ5
INIT All U18 AD2 AJ2 AH5
BUSY/DOUT All D18 E4 D3 D4
D0/DIN All C19 D3 C2 E4
D1 All E20 G1 K4 K3
D2 All G19 J3 K2 L4
D3 All J19 M3 P4 P3
D4 All M19 R3 V4 W4
D5 All P19 U4 AB1 AB5
D6 All T20 V3 AB3 AC4
D7 All V19 AC3 AG4 AJ4
WRITE All A19 D5 B4 D6
CS All B18 C4 D5 A2
TDI All C17 B3 B3 D5
TDO All A20 D4 C4 E6
TMS All D3 D23 D29 B33
TCK All A1 C24 D28 E29
DXN All W3 AD23 AH27 AK29
Table 4: Virtex Plastic Ball Grid and Ceramic Column Grid Pinout Information (Continued)
Pin Name Device BG256 BG352 BG432 BG560/CG560
DXP All V4 AE24 AK29 AJ28
VCCINT XQV100 C10, D6, D15,
(VCCINT pins are listed incrementally. F4, F17, L3,
Connect all pins listed for both the L18, R4, R17,
U6, U15, V10
required device and all smaller
devices listed in the same package.) XQV300 A20, B16, A10, A17, B23,
1
C14, D10, C14, C19, K3,
D12, J24, K4, K29, N2, N29,
L1, L25, P2, T1, T29, W2,
P25, R23, T1, W31, AB2, 2
V24, W2, AB30, AJ10,
AC10, AE14, AJ16, AK13,
AE19, AF11, AK19, AK22
AF16,
3
XQV600 ... + B26, C7,
F1, F30, AE29,
AF1, AH8,
AH24
XQV1000 A21, B12, B14,
4
B18, B28, C22,
C24, E9, E12, F2,
H30, J1, K32, M3,
N1, N29, N33, 5
U5, U30, Y2,
Y31, AB2, AB32,
AD2, AD32, AG3,
AG31, AJ13,
AK8, AK11,
6
AK17, AK20,
AL14, AL22,
AL27, AN25
VCCO, Bank 0 All D7, D8 A17, B25, A21, C29, D21 A22, A26, A30,
D19 B19, B32
VCCO, Bank 1 All D13, D14 A10, D7, D13 A1, A11, D11 A10, A16, B13,
C3, E5
VCCO, Bank 2 All G17, H17 B2, H4, K1 C3, L1, L4 B2, D1, H1, M1,
R2
VCCO, Bank 3 All N17, P17 P4, U1, Y4 AA1, AA4, AJ3 V1, AA2, AD1,
AK1, AL2
VCCO, Bank 4 All U13, U14 AC8, AE2, AH11, AL1, AM2, AM15,
AF10 AL11 AN4, AN8, AN12
VCCO, Bank 5 All U7, U8 AC14, AC20, AH21, AJ29, AL31, AM21,
AF17 AL21 AN18, AN24,
AN30
VCCO, Bank 6 All N4, P4 U26, W23, AA28, AA31, W32, AB33,
AE25 AL31 AF33, AK33,
AM32
VCCO, Bank 7 All G4, H4 G23, K26, A31, L28, L31 C32, D33, K33,
N23 N32, T33
Table 4: Virtex Plastic Ball Grid and Ceramic Column Grid Pinout Information (Continued)
Pin Name Device BG256 BG352 BG432 BG560/CG560
VREF, Bank 0 XQV100 A4, A8, B4
(VREF pins are listed incrementally. XQV300 A16, C19, B19, D22, D24,
Connect all pins listed for both the C21, D21 D26
required device and all smaller
XQV600 ... + C18, C24
devices listed in the same package.)
Within each bank, if input reference XQV1000 A19, D20, D26,
voltage is not required, all VREF pins D29, E21, E23,
are general I/O. E24, E27,
Table 4: Virtex Plastic Ball Grid and Ceramic Column Grid Pinout Information (Continued)
Pin Name Device BG256 BG352 BG432 BG560/CG560
VREF, Bank 4 XQV100 V12, W15,
(VREF pins are listed incrementally. Y18
Connect all pins listed for both the XQV300 AC12, AE4, AJ7, AL4, AL8,
required device and all smaller AE5, AE8 AL13
devices listed in the same package.)
Within each bank, if input reference
XQV600 ... + AK8, AK15 1
voltage is not required, all VREF pins XQV1000 AK13, AL7, AL9,
are general I/O. AL10, AL16,
AM4, AM14,AN3
VREF, Bank 5 XQV100 V9, W6, Y3 2
(VREF pins are listed incrementally. XQV300 AC15, AC18, AJ18, AJ25,
Connect all pins listed for both the AD20, AE23 AK23, AK27
required device and all smaller
XQV600 ... + AJ17,
devices listed in the same package.)
AL24 3
Within each bank, if input reference
voltage is not required, all VREF pins XQV1000 AJ18, AJ25,
are general I/O. AK28, AL20,
AL24, AL29,
AM26, AN23 4
VREF, Bank 6 XQV100 M2, R3, T1
(VREF pins are listed incrementally. XQV300 R24, Y26, V28, AB28,
Connect all pins listed for both the AA25, AD26 AE30, AF28
required device and all smaller
XQV600 ... + U28, AC28
5
devices listed in the same package.)
XQV1000 V29, Y32,
Within each bank, if input reference
AA30,AD31,
voltage is not required, all VREF pins
AE29, AK32,
are general I/O.
AE31, AH30
6
VREF, Bank 7 XQV100 D1, G3, H1
(VREF pins are listed incrementally. XQV300 D26, E24, F28, F31, J30,
Connect all pins listed for both the G26, L26 N30
required device and all smaller
XQV600 ... + J28, R31
devices listed in the same package.)
XQV1000 D31, E31, G31,
Within each bank, if input reference
H32, K31, P31,
voltage is not required, all VREF pins
T31
are general I/O.
Table 4: Virtex Plastic Ball Grid and Ceramic Column Grid Pinout Information (Continued)
Pin Name Device BG256 BG352 BG432 BG560/CG560
GND All C3, C18, D4, A1, A2, A5, A2, A3, A7, A9, A1, A7, A12, A14,
D5, D9, D10, A8, A14, A19, A14, A18, A23, A18, A20, A24,
D11, D12, A22, A25, A25, A29, A30, A29, A32, A33,
D16, D17. E4, A26, B1, B26, B1, B2, B30, B1, B6, B9, B15,
E17, J4, J17, E1, E26, H1, B31, C1, C31, B23, B27, B31,
K4, K17, L4, H26, N1, P26, D16, G1, G31, C2, E1, F32, G2,
L17, M4, M9, W1, W26, J1, J31, P1, G33, J32, K1, L2,
M10, M17, AB1, AB26, P31, T4, T28, M33, P1, P33,
T4, T17, U4, AE1, AE26, V1, V31, AC1, R32, T1, V33,
U5, U9, U10, AF1, AF2, AC31, AE1, W2, Y1, Y33,
U11, U12, AF5, AF8, AE31, AH16, AB1, AC32,
U16, U17, V3, AF13, AF19, AJ1, AJ31, AD33, AE2, AG1,
V18 AF22, AF25, AK1, AK2, AG32, AH2,
AF26 AK30, AK31, AJ33, AL32,
AL2, AL3, AL7, AM3, AM7,
AL9, AL14, AM11, AM19,
AL18, AL23, AM25, AM28,
AL25, AL29, AM33, AN1, AN2,
AL30 AN5, AN10,
AN14, AN16,
AN20, AN22,
AN27, AN33
GND(1) All J9, J10, J11,
J12, K9, K10,
K11, K12, L9,
L10, L11,
L12, M9,
M10,
M11,M12
No Connect C31, AC2, AK4,
AL3
Notes:
1. 16 extra balls (grounded) at package center.
Ceramic Quad Flat Package (CB228) Pinout Table 5: CQFP Package (CB228) (Continued)
Information Function Pin No.
Table 5: CQFP Package (CB228) OP 39
Function Pin No. IO 40
GND 1 VCCINT 41
TMS 2 GND 42
IO 3 IO 43 1
IO 4 IO_VREF_6 44
IO_VREF_7 5 IO 45
IO 46
IO 6
IO_VREF_6 47
2
IO 7
GND 8 GND 48
OIIO 9 IO 49
IO 10 IO 50 3
IO 11 IO_VREF_6 51
IO_VREF_7 12 IO 52
IO 13 IO 53
4
GND 14 IO 54
VCCINT 15 M1 55
IO 16 GND 56
IO 17 M0 57 5
VCCO 18 VCCO 58
IO 19 M2 59
IO 20 IO 60 6
IO_VREF_7 21 IO 61
IO 22 IO 62
IO 23 IO_VREF_5 63
IO 24 IO 64
IO 25 IO 65
IO_IRDY 26 GND 66
GND 27 IO_VREF_5 67
VCCO 28 IO 68
IO_TRDY 29 IO 69
VCCINT 30 IO_VREF5 70
IO 31 IO 71
IO 32 GND 72
IO 33 VCCINT 73
IO_VREF_6 34 IO 74
IO 35 IO 75
IO 36 VCCO 76
VCCO 37 IO 77
IO 38 IO 78
Table 5: CQFP Package (CB228) (Continued) Table 5: CQFP Package (CB228) (Continued)
Function Pin No. Function Pin No.
IO_VREF_5 79 IO_VREF_3 120
IO 80 IO 121
IO 81 IO 122
IO 82 GND 123
VCCINT 83 IO_VREF_3 124
GCK1 84 IO 125
VCCO 85 IO 126
GND 86 IO_VREF_3 127
GCKO 87 IO_D6 128
IO 89 GND 129
IO 90 VCCINT 130
IO 91 IO_D5 131
IO_VREF_4 92 IO 132
IO 93 VCCO 133
IO 94 IO 134
VCCO 95 IO 135
IO 96 IO_VREF_3 136
IO 97 IO_D4 137
IO 98 IO 138
VCCINT 99 IO 139
GND 100 VCCINT 140
IO 101 IO_TRDY 141
IO_VREF_4 102 VCCO 142
IO 103 GND 143
IO 104 IO_IRDY 144
IO_VREF_4 105 IO 145
GND 106 IO 146
IO 107 IO 147
IO 108 IO_D3 148
IO_VREF_4 109 IO_VREF_2 149
IO 110 IO 150
IO 111 IO 151
IO 112 VCCO 152
GND 113 IO 153
DONE 114 IO 154
VCCO 115 IO_D2 155
PROGRAM 116 VCCINT 156
IO_INIT 117 GND 157
IO_D7 118 IO_D1 158
IO 119 IO_VREF_2 159
Table 5: CQFP Package (CB228) (Continued) Table 5: CQFP Package (CB228) (Continued)
Function Pin No. Function Pin No.
IO 160 GND 200
IO 161 VCCO 201
IO_VREF_2 162 GCK3 202
GND 163 VCCINT 203
IO 164 IO 204 1
IO 165 IO 205
IO_VREF_2 166 IO 206
IO 167 IO_VREF_0 207
IO_DIN_D0 168 IO 208
2
IO_DOUT_BUSY 169 IO 209
CCLK 170 VCCO 210
VCCO 171 IO 211 3
TDO 172 IO 212
GND 173 IO 213
TDI 174 VCCINT 214
4
IO_CS 175 GND 215
IO_WRITE 176 IO 216
IO 177 IO_VREF_0 217
IO_VREF_1 178 IO 218 5
IO 179 IO 219
GND 180 IO_VREF_0 220
IO_VREF_1 181 GND 221 6
IO 182 IO 222
IO 183 IO 223
IO_VREF_1 184 IO_VREF_0 224
IO 185 IO 225
GND 186 IO 226
VCCINT 187 TCK 227
IO 188 VCCO 228
IO 189 GND* 1, 8, 14, 27, 42, 48,
IO 190 56, 66, 72, 86, 100,
106, 113, 123, 129,
VCCO 191 143, 157, 163, 173,
IO 192 180, 186, 200, 215,
IO 193 221
Package Type
PQ = Plastic Quad Flat Pack 6
HQ = High Heat Dissipation QFP (Plastic)
BG = Plastic Ball Grid Array
CB = Ceramic Quad Flat Pack
CG = Ceramic Grid Column Array (Surface Mount)
Revision History
The following table shows the revision history for this document
© 2000 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.
Radiation Specifications(1)
Symbol Description Min Max Units
TID Total Ionizing Dose 100K RAD(Si)
Method 1019, Dose Rate ~9.0 rads(Si)/sec
SEL Single Event Latch-up Immunity 0 (cm2/Device)
Heavy Ion Saturation Cross Section
LET > 125 MeV cm2/mg
SEUFH Single Event Upset CLB Flip-flop 6.5E – 8 (cm2/Bit)
Heavy Ion Saturation Cross Section
SEUCH Single Event Upset Configuration Latch 8.0E – 8 (cm2/Bit)
Heavy Ion Saturation Cross Section
SEUCP Single Event Upset Configuration Latch 2.2E – 14 (cm2/Bit)
Proton (63MeV) Saturation Cross Section
SEUBH Single Event Upset BRAM Bit 1.6E – 7 (cm2/Bit)
Heavy Ion Saturation Cross Section
Notes:
1. For more information, refer to "Radiation Test Results of the Virtex FPGA for Space Based Reconfigurable Computing" and "SEU
Mitigation Techniques for Virtex FPGAs in Space Applications" at http://www.xilinx.com/products/hirel_qml.htm.
Virtex DC Characteristics 1
Absolute Maximum Ratings
Table 2: Virtex Ceramic Column Grid (CG560) Pinout Table 2: Virtex Ceramic Column Grid (CG560) Pinout
(Continued) (Continued)
Pin Name Device CG560 Pin Name Device CG560
VCCINT XQVR1000 A21, B12, VREF, Bank 0 XQVR1000 A19, D20,
(VCCINT pins are listed B14, B18, (VREF pins are listed D26, D29,
incrementally. Connect B28, C22, incrementally. Connect E21, E23,
all pins listed for both the all pins listed for both the
required device and all C24, E9, required device and all E24, E27, 1
smaller devices listed in E12, F2, smaller devices listed in
the same package.) H30, J1, the same package.)
AL27, AN25
required, all VREF pins
are general I/O.
5
VCCO, Bank 0 A22, A26, VREF, Bank 2 XQVR1000 B3, G5,
A30, B19, B32 (VREF pins are listed H4, K5,
VCCO, Bank 1 A10, A16, incrementally. Connect L5, N5, 6
all pins listed for both the
B13, C3, E5 required device and all P4, R1
VCCO, Bank 2 B2, D1, smaller devices listed in
the same package.)
H1, M1, R2
Within each bank, if input
VCCO, Bank 3 V1, AA2, reference voltage is not
AD1, AK1, AL2 required, all VREF pins
are general I/O.
VCCO, Bank 4 AM2, AM15,
VREF, Bank 3 XQVR1000 V4, W5,
AN4, AN8,
AN12 (VREF pins are listed AA4, AD3,
incrementally. Connect AE5, AF1,
VCCO, Bank 5 AL31, AM21, all pins listed for both the
required device and all AH4, AK2
AN18, AN24,
AN30 smaller devices listed in
the same package.)
VCCO, Bank 6 XQVR1000 W32, AB33,
Within each bank, if input
AF33, AK33, reference voltage is not
AM32 required, all VREF pins
VCCO, Bank 7 XQVR1000 C32, D33, are general I/O.
K33, N32, T33
Table 2: Virtex Ceramic Column Grid (CG560) Pinout Table 2: Virtex Ceramic Column Grid (CG560) Pinout
(Continued) (Continued)
Pin Name Device CG560 Pin Name Device CG560
VREF, Bank 4 XQVR1000 AK13, AL7, GND XQVR1000 A1, A7,
(VREF pins are listed AL9, AL10, A12, A14,
incrementally. Connect AL16, AM4, A18, A20,
all pins listed for both the
required device and all AM14,AN3 A24, A29,
smaller devices listed in A32, A33,
the same package.) B1, B6,
Within each bank, if input B9, B15,
reference voltage is not
required, all VREF pins B23, B27,
are general I/O. B31, C2,
VREF, Bank 5 XQVR1000 AJ18, AJ25, E1, F32,
(VREF pins are listed AK28, AL20, G2, G33,
incrementally. Connect AL24, AL29, J32, K1,
all pins listed for both the
AM26, AN23 L2, M33,
required device and all
smaller devices listed in P1, P33,
the same package.) R32, T1,
Within each bank, if input V33, W2,
reference voltage is not Y1, Y33,
required, all VREF pins
are general I/O. AB1, AC32,
AD33, AE2,
VREF, Bank 6 XQVR1000 V29, Y32,
AG1, AG32,
(VREF pins are listed AA30,AD31,
incrementally. Connect AH2, AJ33,
AE29, AK32,
all pins listed for both the AL32, AM3,
required device and all AE31, AH30
AM7, AM11,
smaller devices listed in
the same package.) AM19, AM25,
Within each bank, if input AM28, AM33,
reference voltage is not AN1, AN2,
required, all VREF pins
AN5, AN10,
are general I/O.
AN14, AN16,
VREF, Bank 7 XQVR1000 D31, E31,
AN20, AN22,
(VREF pins are listed G31, H32,
incrementally. Connect AN27, AN33
K31, P31,
all pins listed for both the GND* All
required device and all T31
smaller devices listed in No Connect C31, AC2,
the same package.) AK4, AL3
Within each bank, if input * 16 extra balls (grounded) at package center.
reference voltage is not
required, all VREF pins
are general I/O.
GND 1 7 VCCO 28 6
TMS 2 IO_TRDY 29
IO 3 VCCINT 30
IO 4 IO 31 1
IO_VREF_7 5 IO 32
IO 6 IO 33
IO 7 IO_VREF_6 34 2
GND 8 IO 35
IO 9 IO 36
IO 10 VCCO 37 3
IO 11 IO 38
IO_VREF_7 12 IO 39
IO 13 IO 40 4
GND 14 VCCINT 41
VCCINT 15 GND 42
IO 16 IO 43
5
IO 17 IO_VREF_6 44
VCCO 18 IO 45
IO 46
6
IO 19
IO 20 IO_VREF_6 47
IO_VREF_7 21 GND 48
IO 22 IO 49
IO 23 IO 50
IO 24 IO_VREF_6 51
IO 25 IO 52
IO_IRDY 26 IO 53
GND 27 IO 54
M1 55
GND 56
M0 57
Table 3: CQFP Package (CB228) (Continued) Table 3: CQFP Package (CB228) (Continued)
Function Pin # Bank # Function Pin # Bank #
VCCO 58 5 IO 93 4
M2 59 IO 94
IO 60 VCCO 95
IO 61 IO 96
IO 62 IO 97
IO_VREF_5 63 IO 98
IO 64 VCCINT 99
IO 65 GND 100
GND 66 IO 101
IO_VREF_5 67 IO_VREF_4 102
IO 68 IO 103
IO 69 IO 104
IO_VREF5 70 IO_VREF_4 105
IO 71 GND 106
GND 72 IO 107
VCCINT 73 IO 108
IO 74 IO_VREF_4 109
IO 75 IO 110
VCCO 76 IO 111
IO 77 IO 112
IO 78 GND 113
IO_VREF_5 79 DONE 114
IO 80 VCCO 115
IO 81
IO 82
VCCINT 83 4
GCK1 84
VCCO 85
GND 86
GCKO 87
IO 89
IO 90
IO 91
IO_VREF_4 92
Table 3: CQFP Package (CB228) (Continued) Table 3: CQFP Package (CB228) (Continued)
Function Pin # Bank # Function Pin # Bank #
PROGRAM 116 3 GND 143 2
IO_INIT 117 IO_IRDY 144
IO_D7 118 IO 145
IO 119 IO 146 1
IO_VREF_3 120 IO 147
IO 121 IO_D3 148
IO 122 IO_VREF_2 149 2
GND 123 IO 150
IO_VREF_3 124 IO 151
IO 125 VCCO 152 3
IO 126 IO 153
IO_VREF_3 127 IO 154
IO_D6 128 IO_D2 155 4
GND 129 VCCINT 156
VCCINT 130 GND 157
IO_D5 131 IO_D1 158
5
IO 132 IO_VREF_2 159
VCCO 133 IO 160
IO 134 IO 161
6
IO 135 IO_VREF_2 162
IO_VREF_3 136 GND 163
IO_D4 137 IO 164
IO 138 IO 165
IO 139 IO_VREF_2 166
VCCINT 140 IO 167
IO_TRDY 141 IO_DIN_D0 168
VCCO 142 IO_DOUT_BUSY 169
CCLK 170
VCCO 171
Table 3: CQFP Package (CB228) (Continued) Table 3: CQFP Package (CB228) (Continued)
Function Pin # Bank # Function Pin # Bank #
TDO 172 1 GCK3 202 0
GND 173 VCCINT 203
TDI 174 IO 204
IO_CS 175 IO 205
IO_WRITE 176 IO 206
IO 177 IO_VREF_0 207
IO_VREF_1 178 IO 208
IO 179 IO 209
GND 180 VCCO 210
IO_VREF_1 181 IO 211
IO 182 IO 212
IO 183 IO 213
IO_VREF_1 184 VCCINT 214
IO 185 GND 215
GND 186 IO 216
VCCINT 187 IO_VREF_0 217
IO 188 IO 218
IO 189 IO 219
IO 190 IO_VREF_0 220
VCCO 191 GND 221
IO 192 IO 222
IO 193 IO 223
IO_VREF_1 194 IO_VREF_0 224
IO 195 IO 225
IO 196 IO 226
IO 197 TCK 227
IO 198 VCCO 228
GCK2 199
GND 200
VCCO 201
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1
2
3
4
5
6
7
8
9
A G S ✳ ✳ ✳ R G ✳ ✳ O ✳ G ✳ G ✳ O 3 G R G V O ✳ G ✳ O ✳ ✳ G O ✳ G G A
B G O r ✳ ✳ G ✳ ✳ G ✳ ✳ v O V G ✳ ✳ V O ✳ ✳ ✳ G ✳ ✳ ✳ G V ✳ ✳ G O T B
C ✳ G OK ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ v ✳V ✳ ✳ ✳ ✳ ✳ ✳ n O ✳ C
D O ✳ ✳ B T W R ✳ ✳ r R ✳ r ✳ ✳ R 2 ✳ ✳ R ✳ ✳ ✳ ✳ ✳ R ✳ ✳ r ✳ r ✳ O D
E G ✳ ✳ ➉O T r ✳V ✳ ✳ V ✳ ✳ R ✳ ✳ ✳ ✳ ✳ r ✳ R r ✳ ✳ R ✳ T ✳ R ✳ ✳ E
F ✳ V ✳ ✳ ✳ Bank 1 Bank 0 ✳ ✳ ✳ G ✳ F
G ✳ G ✳ ✳ R ✳ ✳ R ✳ G G
H O ✳ ✳ R ✳ ✳ V ✳ r ✳ H
J V ✳ ✳ ✳ ✳ ✳ ✳ ✳ G ✳ J
K G ✳ ➀✳ r Bank 2 Bank 7 ✳ ✳ R V O K
L ✳ G ✳ ➁R ✳ ✳ ✳ ✳ r L
M O ✳ v ✳ ✳ ✳ ✳ ✳ ✳ G M
N V ✳ ✳ ✳ r v ✳ ✳ O V N
P G ✳ ➂R ✳ ✳ ✳ R ✳ G P
R R O ✳ ✳ ✳ CG560 ✳ ✳ ✳ G ✳ R
T G ✳ ✳ ✳ ✳ (Top View) ✳ ✳ R ✳ O T
U ✳ ✳ ✳ ✳V ✳ V ✳ ✳ ✳ U
V O ✳ ✳ R ✳ R ✳ ✳ ✳ G V
W ✳ G ✳ ➃R ✳ ✳ ✳ O ✳ W
Y G V ✳ ✳ ✳ ✳ ✳ V R G Y
AA ✳ O ✳ r ✳ ✳ r ✳ ✳ ✳ AA
AB G v ✳ ✳ ➄ ✳ ✳ ✳ v O AB
AC ✳ n ✳ ➅ ✳ Bank 3 Bank 6 ✳ ✳ ✳ G ✳ AC
AD O V R ✳ ✳ ✳ ✳ R V G AD
AE ✳ G ✳ ✳ R R ✳ r ✳ ✳ AE
AF r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ O AF
AG G ✳ V ✳ ✳ Bank 4 Bank 5 ✳ ✳ V G ✳ AG
AH ✳ G ✳ r I ✳ r ✳ ✳ ✳ AH
AJ ✳ ✳ ✳ ➆D ✳ ✳ ✳ ✳ ✳ ✳ ✳ v ✳ ✳ ✳ 1 R ✳ ✳ ✳ ✳ ✳ ✳ R ✳ ✳ + ❿ ✳ ✳ ✳ G AJ
AK O R ✳ n ✳ ✳ ✳V ✳ ✳V ✳ r ✳ ✳ ✳ V ✳ ✳ V ✳ ✳ ✳ ✳ ✳ ✳ ✳ r – ❶ ✳ R O AK
AL ✳ O n ✳ ✳ ✳ R ✳ r R ✳ ✳ ✳ V ✳ R Ø ✳ ✳ R ✳ v ✳ R ✳ ✳ V ✳ R ✳ O G ✳ AL
AM P O G R ✳ ✳ G ✳ ✳ ✳ G ✳ ✳ R O ✳ ✳ ✳ G ✳ O ✳ ✳ ✳ G r ✳ G ✳ ✳ ✳ O G AM
AN G G r O G ✳ ✳ O ✳ G ✳ O ✳ G ✳ G ✳ O ✳ G ✳ G r O V ✳ G ✳ ✳ O ✳ ❷ G AN
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1
2
3
4
5
6
7
8
9
DS028_01_011900
Ordering Information
Revision History
The following table shows the revision history for this document.
R QPRO XQ4000E/EX
QML High-Reliability FPGAs
DS021 (v2.2) June 25, 2000 0 2 Product Specification
Product Features
• Certified to MIL-PRF-38535, appendix A QML • Configured by Loading Binary File
(Qualified Manufacturers Listing) - Unlimited reprogrammability 1
• Also available under the following Standard Microcircuit • Readback Capability
Drawings (SMD) - Program verification
- XC4005E 5962-97522 - Internal node observability
- XC4010E 5962-97523 • Backward Compatible with XC4000 Devices 2
- XC4013E 5962-97524 • Development System runs on most common computer
- XC4025E 5962-97525 platforms
- XC4028EX 5962-98509 - Interfaces to popular design environments
• For more information contact the Defense Supply
Center Columbus (DSCC)
- Fully automatic mapping, placement and routing 3
- Interactive design editor for design optimization
http://www.dscc.dla.mis/v/va/smd/smdsrch.html • Available Speed Grades:
• System featured Field-Programmable Gate Arrays - XQ4000E -3 for plastic packages only
- Select-RAMTM memory: on-chip ultra-fast RAM with
· Synchronous write option
- -4 for ceramic packages only
- XQ4028EX -4 for all packages
4
· Dual-port RAM option
- Abundant flip-flops
More Information
- Flexible function generators
- Dedicated high-speed carry logic For more information refer to Xilinx XC4000E and XC4000X
series Field Programmable Gate Arrays product specifica-
5
- Wide edge decoders on each edge
tion. This data sheet contains pinout tables for XQ4010E
- Hierarchy of interconnect lines
only. Refer to Xilinx web site for pinout tables for other
- Internal 3-state bus capability
devices. (Pinouts for XQ4000E/EX are identical to
- Eight global low-skew clock or signal distribution
networks
XC4000E/EX.) 6
(http://www.xilinx.com/partinfo/databook.htm)
• System Performance beyond 60 MHz
• Flexible Array Architecture
• Low Power Segmented Routing Architecture
• Systems-Oriented Features
- IEEE 1149.1-compatible boundary scan logic
support
- Individually programmable output slew rate
- Programmable input pull-up or pull-down resistors
- 12 mA sink current per XQ4000E/EX output
© 2000 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.
-3 -4
Symbol Description(1,2) Device Max Max Units
TWAF Full length, both pull-ups, inputs from IOB I-pins XQ4005E - 9.5 ns
XQ4010E 9.0 15.0 ns
XQ4013E 11.0 16.0 ns
XQ4025E - 18.0 ns
TWAFL Full length, both pull-ups, inputs from internal logic XQ4005E - 12.5 ns
XQ4010E 11.0 18.0 ns
XQ4013E 13.0 19.0 ns
XQ4025E - 21.0 ns
TWAO Half length, one pull-up, inputs from IOB I-pins XQ4005E - 10.5 ns
XQ4010E 10.0 16.0 ns
XQ4013E 12.0 17.0 ns
XQ4025E - 19.0 ns
TWAOL Half length, one pull-up, inputs from internal logic XQ4005E - 12.5 ns
XQ4010E 12.0 18.0 ns
XQ4013E 14.0 19.0 ns
XQ4025E - 21.0 ns
Notes:
1. These delays are specified from the decoder input to the decoder output.
2. Fewer than the specified number of pull-up resistors can be used, if desired. Using fewer pull-ups reduces power consumption but
increases delays. Use the static timing analyzer to determine delays if fewer pull-ups are used.
WCLK (K)
TWSS TWHS
WE
TDSS TDHS
DATA IN
TASS TAHS
ADDRESS
TILO TILO
TWOS
DS021_01_060100
WCLK (K)
TWSS TWHS
WE
TDSDS TDHDS
DATA IN
TASDS TAHDS
ADDRESS
TILO TILO
TWODS
DS021_02_060100
-3 -4
1
Symbol Single Port RAM Size Min Max Min Max Units
Write Operation
TWC Address write cycle time 16x2 8.0 - 8.0 - ns 2
TWCT 32x1 8.0 - 8.0 - ns
TWP Write Enable pulse width (High) 16x2 4.0 - 4.0 - ns
TWPT 32x1 4.0 - 4.0 - ns 3
TAS Address setup time before WE 16x2 2.0 - 2.0 - ns
TAST 32x1 2.0 - 2.0 - ns
TAH Address hold time after end of WE 16x2 2.0 - 2.5 - ns
4
TAHT 32x1 2.0 - 2.0 - ns
TDS DIN setup time before end of WE 16x2 2.2 - 4.0 - ns
TDST 32x1 2.2 - 5.0 - ns
TDH DIN hold time after end of WE 16x2 2.0 - 2.0 - ns
5
TDHT 32x1 2.0 - 2.0 - ns
Read Operation
TRC Address read cycle time 16x2 3.1 - 4.5 - ns 6
TRCT 32x1 5.5 - 6.5 - ns
TILO Data valid after address change (no Write Enable) 16x2 - 1.8 - 2.7 ns
TIHO 32x1 - 3.2 - 4.7 ns
Read Operation, Clocking Data into Flip-Flop
TICK Address setup time before clock K 16x2 3.0 - 4.0 - ns
TIHCK 32x1 4.6 - 6.1 - ns
Read During Write
TWO Data valid after WE goes active (DIN stable before WE) 16x2 - 6.0 - 10.0 ns
TWOT 32x1 - 7.3 - 12.0 ns
TDO Data valid after DIN (DIN changes during WE) 16x2 - 6.6 - 9.0 ns
TDOT 32x1 - 7.6 - 11.0 ns
Read During Write, Clocking Data into Flip-Flop
TWCK WE setup time before clock K 16x2 6.0 - 8.0 - ns
TWCKT 32x1 6.8 - 9.6 - ns
TDCK Data setup time before clock K 16x2 5.2 - 7.0 - ns
TDOCK 32x1 6.2 - 8.0 - ns
Notes:
1. Timing for the 16x1 RAM option is identical to 16x2 RAM timing.
WRITE TWC
ADDRESS
CLOCK
TCKO
XQ,YQ OUTPUTS VALID (OLD) VALID (NEW)
DATA IN
(changing during WE) OLD NEW
TWO TDO
VALID VALID VALID
X,Y OUTPUTS (PREVIOUS) (OLD) (NEW)
CLOCK
TCKO
XQ,YQ OUTPUTS
DS021_03_060100
DS021_04_060100 3
TICKO Global clock to output (slew-limited) using OFF XQ4005E - 18.0 ns
(Max) XQ4010E 14.9 20.0 ns
TPG OFF XQ4013E 15.0 20.5 ns
XQ4025E - 21.0 ns 4
Global Clock-to-Output Delay
DS021_04_060100
TPSUF Input setup time, using IFF (no delay) XQ4005E - 2.0 ns
(Min) XQ4010E 0.2 1.0 ns
5
D
Input
Setup
XQ4013E 0 0.5 ns
TPG IFF
and Hold XQ4025E - 0 ns
Time
6
DS021_05_060100
TPHF Input hold time, using IFF (no delay) XQ4005E - 4.6 ns
(Min) XQ4010E 5.5 6.0 ns
D
Input
Setup
XQ4013E 6.5 7.0 ns
TPG IFF
and Hold XQ4025E - 8.0 ns
Time
DS021_05_060100
TPSU Input setup time, using IFF (with delay) XQ4005E - 8.5 ns
(Min) XQ4010E 7.0 8.5 ns
Input D
Setup
XQ4013E 7.0 8.5 ns
TPG IFF
and Hold XQ4025E - 9.5 ns
Time
DS021_05_060100
DS021_05_060100
Notes:
1. OFF = Output Flip-Flop
2. IFF = Input Flip-Flop or Latch
-3 -4
Symbol Description Device Min Max Min Max Units
Propagation Delays (TTL Inputs)(1)
TPID Pad to I1, I2 All devices - 2.5 - 3.0 ns
TPLI Pad to I1, I2 via transparent input latch, no delay All devices - 3.6 - 4.8 ns
TPDLI Pad to I1, I2 via transparent FCL and input latch, XQ4005E - - - 10.8 ns
with delay
XQ4010E - 10.8 - 11.0 ns
XQ4013E - 11.2 - 11.4 ns
XQ4025E - - - 13.8 ns
Propagation Delays (CMOS Inputs)(1)
TPIDC Pad to I1, I2 All devices - 4.1 - 5.5 ns
TPLIC Pad to I1, I2 via transparent input latch, no delay All devices - 8.8 - 6.8 ns
TPDLIC Pad to I1, I2 via transparent FCL and input latch, XQ4005E - - - 16.5 ns
with delay XQ4010E - 14.0 - 17.5 ns
XQ4013E - 14.4 - 18.0 ns
XQ4025E - - - 20.8 ns
Propagation Delays (TTL Inputs)
TIKRI Clock (IK) to I1, I2 (flip-flop) All devices - 2.8 - 5.6 ns
TIKLI Clock (IK) to I1, I2 (latch enable, active Low) All devices - 4.0 - 6.2 ns
Hold Times(2)
TIKPI Pad to clock (IK), no delay All devices 0 - 0 - ns
TIKPID Pad to clock (IK), with delay All devices 0 - 0 - ns
TIKEC Clock enable (EC) to clock (K), no delay All devices 1.5 - 1.5 - ns
TIKECD Clock enable (EC) to clock (K), with delay All devices 0 - 0 - ns
Notes:
1. Input pad setup and hold times are specified with respect to the internal clock (IK). For setup and hold times with respect to the clock
input pin, see the pin-to-pin parameters in the Guaranteed Input and Output Parameters table.
2. Voltage levels of unused pads, bonded or unbonded, must be valid logic levels. Each can be configured with the internal pull-up
(default) or pull-down resistor, or configured as a driven output, or can be driven from an external source.
-3 -4
Symbol Description Min Max Min Max Units
Propagation Delays (TTL Output Levels)
TOKPOF Clock (OK) to pad, fast - 6.5 - 7.5 ns
TOKPOS Clock (OK) to pad, slew-rate limited - 9.5 - 11.5 ns
TOPF Output (O) to pad, fast - 5.5 - 8.0 ns
TOPS Output (O) to pad, slew-rate limited - 8.6 - 12.0 ns
TTSHZ 3-state to pad High-Z, slew-rate independent - 4.2 - 10.0 ns
TTSONF 3-state to pad active and valid, fast - 8.1 - 10.0 ns
TTSONS 3-state to pad active and valid, slew-rate limited - 11.1 - 13.7 ns
Propagation Delays (CMOS Output Levels)
TOKPOFC Clock (OK) to pad, fast - 7.8 - 9.5 ns
TOKPOSC Clock (OK) to pad, slew-rate limited - 11.6 - 13.5 ns
TOPFC Output (O) to pad, fast - 9.7 - 10.0 ns
TOPSC Output (O) to pad, slew-rate limited - 13.4 - 14.0 ns
TTSHZC 3-state to pad High-Z, slew-rate independent - 4.3 - 5.2 ns
TTSONFC 3-state to pad active and valid, fast - 7.6 - 9.1 ns
TTSONSC 3-state to pad active and valid, slew-rate limited - 11.4 - 13.1 ns
Setup and Hold Times
TOOK Output (O) to clock (OK) setup time 4.6 - 5.0 - ns
TOKO Output (O) to clock (OK) hold time 0 - 0 - ns
TECOK Clock enable (EC) to clock (OK) setup 3.5 - 4.8 - ns
TOKEC Clock enable (EC) to clock (OK) hold 1.2 - 1.2 - ns
Clock
TCH Clock High 4.0 - 4.5 - ns
TCL Clock Low 4.0 - 4.5 - ns
Global Set/Reset(3)
TRRO Delay from GSR net to pad - 11.8 - 15.0 ns
TMRW GSR width 11.5 - 13.0 - ns
TMRO GSR inactive to first active clock (OK) edge 11.5 - 13.0 - ns
Notes:
1. Output timing is measured at pin threshold, with 50 pF external capacitive loads (incl. test fixture). Slew-rate limited output rise/fall
times are approximately two times longer than fast output rise/fall times. For the effect of capacitive loads on ground bounce, see the
“Additional XC4000 Data” section on the Xilinx web site, www.xilinx.com/partinfo/databook.htm.
2. Voltage levels of unused pads, bonded or unbonded, must be valid logic levels. Each can be configured with the internal pull-up
(default) or pull-down resistor, or configured as a driven output, or can be driven from an external source.
3. Timing is based on the XC4005E. For other devices see the XACT timing calculator.
-3 -4
Symbol Description Min Max Min Max Units
2
Setup Times
TTDITCK Input (TDI) to clock (TCK) 30.0 30.0 ns
TTMSTCK Input (TMS) to clock (TCK) 15.0 15.0 ns
Hold Times
3
TTCKTDI Input (TDI) to clock (TCK) 0 0 ns
TTCKTMS Input (TMS) to clock (TCK) 0 0 ns
Propagation Delay 4
TTCKPO Clock (TCK) to pad (TDO) 30.0 30.0 ns
Clock
TTCKH Clock (TCK) High 5.0 5.0 ns 5
TTCKL Clock (TCK) Low 5.0 5.0 ns
FMAX Frequency 15.0 15.0 MHz
Notes:
1. Input setup and hold times and clock-to-pad times are specified with respect to external signal pins.
6
2. Output timing is measured at pin threshold, with 50pF external capacitive loads (incl. test fixture). Slew-rate limited output rise/fall
times are approximately two times longer than fast output rise/fall times. For the effect of capacitive loads on ground bounce, see the
“Additional XC4000 Data” section of the Programmable Logic Data Book.
3. Voltage levels of unused pads, bonded or unbonded, must be valid logic levels. Each can be configured with the internal pull-up
(default) or pull-down resistor, or configured as a driven output, or can be driven from an external source.
-4
1
Symbol Single Port RAM Size Min Max Units
Write Operation
TWCS Address write cycle time (clock K period) 16x2 11.0 - ns 2
TWCTS 32x1 11.0 - ns
TWPS Clock K pulse width (active edge) 16x2 5.5 - ns
TWPTS 32x1 5.5 - ns
TASS Address setup time before clock K 16x2 2.7 - ns 3
TASTS 32x1 2.6 - ns
TAHS Address hold time after clock K 16x2 0 - ns
TAHTS 32x1 0 - ns
TDSS DIN setup time before clock K 16x2 2.4 - ns
4
TDSTS 32x1 2.9 - ns
TDHS DIN hold time after clock K 16x2 0 - ns
TDHTS 32x1 0 - ns 5
TWSS WE setup time before clock K 16x2 2.3 - ns
TWSTS 32x1 2.1 - ns
TWHS WE hold time after clock K 16x2 0 - ns
TWHTS 32x1 0 - ns 6
TWOS Data valid after clock K 16x2 - 8.2 ns
TWOTS 32x1 - 10.1 ns
Notes:
1. Applicable Read timing specifications are identical to Level-Sensitive Read timing.
WCLK (K)
TWSS TWHS
WE
TDSS TDHS
DATA IN
TASS TAHS
ADDRESS
TILO TILO
TWOS
DS021_01_060100
WCLK (K)
TWSS TWHS
WE
TDSDS TDHDS
DATA IN
TASDS TAHDS
ADDRESS
TILO TILO
TWODS
DS021_02_060100
XQ4028EX CLB RAM Asynchronous (Level-Sensitive) Write and Read Operation Guidelines
Testing of switching parameters is modeled after testing by the static timing analyzer (TRCE in the Xilinx Develop-
methods specified by MIL-M-38510/605. All devices are ment System) and back-annotated to the simulation netlist.
100% functionally tested. Internal timing parameters are All timing parameters assume worst-case operating condi-
derived from measuring internal test patterns. Listed below tions (supply voltage and junction temperature). Values
are representative values. For more specific, more precise, apply to all XQ4000EX devices unless otherwise noted.
and worst-case guaranteed data, use the values reported
-4
1
Symbol Single Port RAM Size Min Max Units
Write Operation
TWC Address write cycle time 16x2 10.6 - ns 2
TWCT 32x1 10.6 - ns
TWP Write Enable pulse width (High) 16x2 5.3 - ns
TWPT 32x1 5.3 - ns 3
TAS Address setup time before WE 16x2 2.8 - ns
TAST 32x1 2.8 - ns
TAH Address hold time after end of WE 16x2 1.7 - ns
4
TAHT 32x1 1.7 - ns
TDS DIN setup time before end of WE 16x2 1.1 - ns
TDST 32x1 1.1 - ns
TDH DIN hold time after end of WE 16x2 6.6 - ns
5
TDHT 32x1 6.6 - ns
Read Operation
TRC Address read cycle time 16x2 4.5 - ns 6
TRCT 32x1 6.5 - ns
TILO Data valid after address change (no Write Enable) 16x2 - 2.2 ns
TIHO 32x1 - 3.8 ns
Read Operation, Clocking Data into Flip-Flop
TICK Address setup time before clock K 16x2 1.5 - ns
TIHCK 32x1 3.2 - ns
Read During Write
TWO Data valid after WE goes active (DIN stable before WE) 16x2 - 6.5 ns
TWOT 32x1 - 7.4 ns
TDO Data valid after DIN (DIN changes during WE) 16x2 - 7.7 ns
TDOT 32x1 - 8.2 ns
Read During Write, Clocking Data into Flip-Flop
TWCK WE setup time before clock K 16x2 7.1 - ns
TWCKT 32x1 9.2 - ns
TDCK Data setup time before clock K 16x2 5.9 - ns
TDOCK 32x1 8.4 - ns
Notes:
1. Timing for the 16x1 RAM option is identical to 16x2 RAM timing.
WRITE TWC
ADDRESS
CLOCK
TCKO
XQ,YQ OUTPUTS VALID (OLD) VALID (NEW)
DATA IN
(changing during WE) OLD NEW
TWO TDO
VALID VALID VALID
X,Y OUTPUTS (PREVIOUS) (OLD) (NEW)
CLOCK
TCKO
XQ,YQ OUTPUTS
DS021_03_060100
Figure 1:
-4
Symbol Description Max Units
TTTLOF For TTL output FAST add 0 ns
TTTLO For TTL output SLOW add 2.9 ns
TCMOSOF For CMOS FAST output add 1.0 ns
TCMOSO For CMOS SLOW output add 3.6 ns
Bound Bound
Pin Description PG191 CB196 Scan Pin Description PG191 CB196 Scan
I/O H16 P68 286 PGCK3_(I/O) U16 P102 370
I/O H17 P69 291 - - P103(1) -
I/O H18 P70 295 I/O T14 P104 376
I/O J18 P71 298 I/O U15 P105 376
I/O J17 P72 301 I/O_(D6) V17 P106 379
1
I/O_(/ERR_/INIT) J16 P73 304 I/O V16 P107 382
VCC J15 P74 - I/O T13 P108 385
GND K15 P75 - I/O U14 P109 388 2
I/O K16 P76 307 I/O V15 P110 391
I/O K17 P77 310 I/O V14 P111 394
I/O K18 P78 313 GND T12 P112 - 3
I/O L18 P79 316 I/O U13 P113 397
I/O L17 P80 319 I/O V13 P114 400
I/O L16 P81 322 I/O_(D5) U12 P115 403
4
I/O M18 P82 325 I/O_(/CSO) V12 P116 406
I/O M17 P83 328 I/O T11 P117 409
I/O N18 P84 331 I/O U11 P118 412
I/O P18 P85 334 I/O V11 P119 415
5
GND M16 P86 - I/O V1 P120 418
I/O N17 P87 337 I/O_(D4) U10 P121 421
I/O R18 P88 340 I/O T10 P122 424 6
I/O T18 P89 343 VCC R10 P123 -
I/O P17 P90 349 GND R9 P124 -
I/O N16 P91 349 I/O_(D3) T9 P125 427
I/O T17 P92 352 I/O_(/RS) U9 P126 430
I/O R17 P93 355 I/O V9 P127 433
I/O P16 P94 358 I/O V8 P128 436
I/O U18 P95 361 I/O U8 P129 439
SGCK3_(I/O) T16 P96 364 I/O T8 P130 442
GND R16 P97 - I/O_(D2) V7 P131 445
DONE U17 P98 - I/O U7 P132 448
VCC R15 P99 - I/O V6 P133 451
/PROG V18 P100 - I/O U6 P134 454
I/O_(D7) T15 P101 367 GND T7 P135 -
Notes: Notes:
1. Indicates unconnected package pins. 1. Indicates unconnected package pins.
2. Contributes only one bit (.I) to the boundary scan register. 2. Contributes only one bit (.I) to the boundary scan register.
Boundary Scan Bit 0 = TD0.T Boundary Scan Bit 0 = TD0.T
Boundary Scan Bit 1 = TD0.0 Boundary Scan Bit 1 = TD0.0
Boundary Scan Bit 487 = BSCAN.UPD Boundary Scan Bit 487 = BSCAN.UPD
Bound Bound
Pin Description PG191 CB196 Scan Pin Description PG191 CB196 Scan
I/O V5 P136 457 I/O K1 P169 53
I/O V4 P137 460 I/O_(A6) K2 P170 56
I/O U5 P138 463 I/O_(A7) K3 P171 59
I/O T6 T139 446 GND K4 P172 -
I/O_(D1) V3 P140 469 VCC J4 P173 -
I/O_(RCLK-/BUSY/RDY) V2 P141 472 I/O_(A8) J3 P174 62
I/O U4 P142 475 I/O_(A9) J2 P175 65
I/O T5 P143 478 I/O J1 P176 68
I/O_(D0*_DIN) U3 P144 481 I/O H1 P177 71
SGCK4_(DOUT*_I/O) T4 P145 484 I/O H2 P178 74
CCLK V1 P146 - I/O H3 P179 77
VCC R4 P147 - I/O_(A10) G1 P180 80
TDO U2 P148 - I/O_(A11) G2 P181 83
GND R3 P149 - I/O F1 P182 86
I/O_(A0*_WS) T3 P150 2 I/O E1 P183 89
PGCK4_(I/O*_A1) U1 P151 5 GND G3 P184 -
- - P152(1) - I/O F2 P185 92
I/O P3 P153 8 I/O D1 P186 96
I/O R2 P154 11 I/O C1 P187 98
I/O_(CS1*_A2) T2 P155 14 I/O E2 P188 101
I/O_(A3) N3 P156 17 I/O_(A12) F3 P189 104
I/O P2 P157 20 I/O_(A13 D2 P190 107
I/O T1 P158 23 - - P192(1) -
I/O R1 P159 26 I/O E3 P193 113
I/O N2 P160 29 I/O_(A14) C2 P194 116
GND M3 P161 - SGCK1(A15*I/O) B2 P195 119
I/O P1 P162 32 VCC D3 P196 -
I/O N1 P163 35 Notes:
1. Indicates unconnected package pins.
I/O_(A4) M2 P164 38 2. Contributes only one bit (.I) to the boundary scan register.
I/O_(A5) M1 P165 41 Boundary Scan Bit 0 = TD0.T
Boundary Scan Bit 1 = TD0.0
I/O L3 P166 44 Boundary Scan Bit 487 = BSCAN.UPD
Ordering Information
XQ 4010E -4 PG 191 M
Temperature Range
MIL-PRF-38535 M = Ceramic (TC = –55°C to +125°C)
(QML) Processing N = Plastic (TJ = –55°C to +125°C)
Device Type 1
XQ4005E Number of Pins
XQ4010E
XQ4013E
XQ4025E Package Type
2
XQ4028EX CB = Top Brazed Ceramic Quad Flat Pack
Speed Grade PG = Ceramic Pin Grid Array
HQ = Plastic Quad Flat Pack
-3 BG = Plastic Ball Grid Array
-4 3
Revision History 4
The following table shows the revision history for this document
© 2000 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.
Ramp-up Time
Product Description Fast (120 ms) Slow (50 ms)
XQ4013 - 36XL Minimum required current supply 1A 500 mA
XC4062XL Minimum required current supply 2A 500 mA
XC4085XL(1) Minimum required current supply 2A(1) 500 mA
Notes:
1. The XC4085XL fast ramp-up time is 5 ms.
2. Devices are guaranteed to initialize properly with the minimum current listed above. A larger capacity power supply may result in a
larger initialization current.
3. This specification applies to Commercial and Industrial grade products only.
4. Ramp-up Time is measured from 0VDC to 3.6VDC. Peak current required lasts less than 3 ms, and occurs near the internal power
on reset threshold voltage. After initialization and before configuration, ICC max is less than 10 mA.
All
-3 -1 5
Symbol Description Device Min Max Max Units
TGE Delay from pad through Global Early buffer, to any IOB XQ4013XL 0.4 2.4 - ns
clock. Values are for BUFGEs 1, 2, 5 and 6.
XQ4036XL 0.3 3.1 - ns 6
XQ4062XL 0.3 4.9 - ns
XQ4085XL 0.4 - 4.7 ns
WCLK (K)
TWSS TWHS
WE
TDSS TDHS
DATA IN
TASS TAHS
ADDRESS
TILO TILO
TWOS
DS029_01_011300
WCLK (K)
TWSS TWHS
WE
TDSDS TDHDS
DATA IN
TASDS TAHDS
ADDRESS
TILO TILO
TWODS
DS029_02_011300
All
-3 -1 2
Symbol Description Device Min Max Max Units
TICKOF Global low skew clock to output using OFF(4) XQ4013XL 1.5 8.6 - ns
XQ4036XL 2.0 9.8 - ns 3
XQ4062XL 2.3 11.3 - ns
XQ4085XL 2.5 - 9.5 ns
TSLOW For output SLOW option add All Devices 3.0 3.0 3.0 ns
4
Notes:
1. Listed above are representative values where one global clock input drives one vertical clock line in each accessible column, and
where all accessible IOB and CLB flip-flops are clocked by the global clock net.
2. Clock-to-out minimum delay is measured with the fastest route and the lightest load, Clock-to-out maximum delay is measured using
the farthest distance and a reference load of one clock pin (IK or OK) per IOB as well as driving all accessible CLB flip-flops. For
designs with a smaller number of clock loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can 5
be added to the AC parameter Tokpof and used as a worst-case pin-to-pin clock-to-out delay for clocked outputs for FAST mode
configurations.
3. Output timing is measured at ~50% VCC threshold with 50 pF external capacitive load.
4. OFF = Output Flip-Flop
6
Output Flip-Flop, Clock to Out, BUFGEs 1, 2, 5, and 6
All -3 -1
Symbol Description Device Min Max Max Units
TICKEOF Global early clock to output using OFF XQ4013XL 1.3 7.4 - ns
Values are for BUFGEs 1, 2, 5, and 6. XQ4036XL 1.2 8.1 - ns
XQ4062XL 1.2 9.9 - ns
XQ4085XL 1.3 - 8.5 ns
Notes:
1. Clock-to-out minimum delay is measured with the fastest route and the lightest load, Clock-to-out maximum delay is measured using
the farthest distance and a reference load of one clock pin (IK or OK) per IOB as well as driving all accessible CLB flip-flops. For
designs with a smaller number of clock loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can
be added to the AC parameter Tokpof and used as a worst-case pin-to-pin clock-to-out delay for clocked outputs for FAST mode
configurations.
2. Output timing is measured at ~50% VCC threshold with 50 pF external capacitive load.
-1
-2
0 20 40 60 80 100 120 140
Capacitance (pF)
DS029_03_011300
Global Early Clock BUFEs 1, 2, 5, and 6 Setup and Hold for IFF and FCL(1,2)
-3 -1
Symbol Description Device Min Min
No Delay
TPSEN/TPHEN Global early clock and IFF(3) XQ4013XL 1.2 / 4.7 -
TPFSEN/TPFHEN Global early clock and FCL(4) XQ4036XL 1.2 / 6.7 -
XQ4062XL 1.2 / 8.4 -
XQ4085XL - 0.9 / 6.6
Partial Delay
TPSEPN/TPHEP Global early clock and IFF(3) XQ4013XL 6.4 / 0.0 -
TPFSEP/TPFHEP Global early clock and FCL(4) XQ4036XL 7.0 / 0.8 -
XQ4062XL 9.0 / 0.8 -
XQ4085XL - 11.0 / 0.0
Full Delay
TPSEPD/TPHED Global early clock and IFF(3) XQ4013XL 12.0 / 0.0 -
XQ4036XL 13.8 / 0.0 -
XQ4062XL 13.1 / 0.0 -
XQ4085XL - 13.6 / 0.0
Notes:
1. The XQ4013XL, XQ4036XL, and XQ4062XL have significantly faster partial and full delay setup times than other devices.
2. Input setup time is measured with the fastest route and the lightest load. Input hold time is measured using the furthest distance and
a reference load of one clock pin per IOB as well as driving all accessible CLB flip-flops. For designs with a smaller number of clock
loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can be used as a worst-case pin-to-pin
no-delay input hold specification.
3. IFF = Input Flip-Flop or Latch
4. FCL = Fast Capture Latch
Global Early Clock BUFEs 3, 4, 7, and 8 Setup and Hold for IFF and FCL(1,2)
-3 -1
Symbol Description Device Min Min
No Delay
TPSEN/TPHEN Global early clock and IFF(3) XQ4013XL 1.2 / 4.7 -
TPFSEN/TPFHEN Global early clock and FCL(4) XQ4036XL 1.2 / 6.7 - 1
XQ4062XL 1.2 / 8.4 -
XQ4085XL - 0.9 / 6.6
Partial Delay
2
TPSEPN/TPHEP Global early clock and IFF(3) XQ4013XL 5.4 / 0.0 -
TPFSEP/TPFHEP Global early clock and FCL(4) XQ4036XL 6.4 / 0.8 -
XQ4062XL 8.4 / 1.5 -
XQ4085XL - 11.0 / 0.0
3
Full Delay
TPSEPD/TPHED Global early clock and IFF(3) XQ4013XL 10.0 / 0.0 -
XQ4036XL 12.2 / 0.0 - 4
XQ4062XL 13.1 / 0.0 -
XQ4085XL - 13.6 / 0.0
Notes: 5
1. The XQ4013XL, XQ4036XL, and XQ4062XL have significantly faster partial and full delay setup times than other devices.
2. Input setup time is measured with the fastest route and the lightest load. Input hold time is measured using the furthest distance and
a reference load of one clock pin per IOB as well as driving all accessible CLB flip-flops. For designs with a smaller number of clock
loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can be used as a worst-case pin-to-pin
no-delay input hold specification.
3. IFF = Input Flip-Flop or Latch 6
4. FCL = Fast Capture Latch
-3 -1
Symbol Description Device Min Max Min Max Units
Clocks
TECIK Clock enable (EC) to clock (IK) All devices 0.1 - 0.1 - ns
TOKIK Delay from FCL enable (OK) active edge to IFF All devices 2.2 - 1.6 - ns
clock (IK) active edge
Setup Times
TPICK Pad to clock (IK), no delay All devices 1.7 - 1.3 - ns
TPICKF Pad to clock (IK), via transparent fast capture latch, All devices 2.3 - 1.8 - ns
no delay
TPOCK Pad to fast capture latch enable (OK), no delay All devices 1.2 - 0.9 - ns
Hold Times
All Hold Times All devices 0 - 0 - ns
Global Set/Reset
TMRW Minimum GSR pulse width All devices - 19.8 - 15.0 ns
TRRI Delay from GSR input to any Q(2) XQ4013XL - 15.9 - - ns
XQ4036XL - 22.5 - - ns
XQ4062XL - 29.1 - - ns
XQ4085XL - - - 26.0 ns
Propagation Delays
TPID Pad to I1, I2 All devices - 1.6 - 1.7 ns
TPLI Pad to I1, I2 via transparent input latch, no delay All devices - 3.1 - 2.4 ns
TPFLI Pad to I1, I2 via transparent FCL and input latch, no All devices - 3.7 - 2.8 ns
delay
TIKRI Clock (IK) to I1, I2 (flip-flop) All devices - 1.7 - 1.3 ns
TIKLI Clock (IK) to I1, I2 (latch enable, active Low) All devices - 1.8 - 1.4 ns
TOKLI FCL enable (OK) active edge to I1, I2 All devices - 3.6 - 2.7 ns
(via transparent standard input latch)
Notes:
1. IFF = Input Flip-Flop or Latch, FCL = Fast Capture Latch
2. Indicates Minimum Amount of Time to Assure Valid Data.
Table 2: CB228 Package Pinouts (Continued) Table 2: CB228 Package Pinouts (Continued)
Pin Name CB228 Pin Name CB228
IO P79 IO P119
IO P80 IO P120
IO P81 IO P121
IO P82 IO P122
IO P83 D6_IO P123 1
/ERR_INIT_IO P84 IO P124
VCC P85 IO P125
GND P86 IO P126
2
IO P87 IO P127
IO P88 IO P128
IO P89 GND P129
IO P90 IO P130 3
IO P91 IO P131
IO P92 IO_FCLK3 P132
IO P93 IO P133 4
IO P94 D5_IO P134
VCC P95 /CS0_IO P135
IO P96 IO P136
IO P97 IO P137 5
IO P98 IO P138
IO P99 IO P139
GND P100 D4_IO P140 6
IO P101 IO P141
IO P102 VCC P142
IO P103 GND P143
IO P104 D3_IO P144
IO P105 /RS_IO P145
IO P106 IO P146
IO P107 IO P147
IO P108 IO P148
IO P109 IO P149
IO P110 D2_IO P150
IO P111 IO P151
BUFGS_BR_GCK4_IO P112 VCC P152
GND P113 IO P153
DONE P114 IO_FCLK4 P154
VCC P115 IO P155
/PROGRAM P116 IO P156
D7_IO P117 GND P157
BUFGP_BR_GCK5_IO P118 IO P158
Table 2: CB228 Package Pinouts (Continued) Table 2: CB228 Package Pinouts (Continued)
Pin Name CB228 Pin Name CB228
IO P159 A7_IO P199
IO P160 GND P200
IO P161 VCC P201
IO P162 A8_IO P202
IO P163 A9_IO P203
D1_IO P164 A19_IO P204
BUSY_/RDY_RCLK_IO P165 A18_IO P205
IO P166 IO P206
IO P167 IO P207
D0_DIN_IO P168 A10_IO P208
BUFGS_TR_GCK6_DOUT_IO P169 A11_IO P209
CCLK P170 VCC P210
VCC P171 IO P211
TDO P172 IO P212
GND P173 IO P213
A0_/WS_IO P174 IO P214
BUFGP_TR_GCK7_A1_IO P175 GND P215
IO P176 IO P216
IO P177 IO P217
CSI_A2_IO P178 IO P218
A3_IO P179 IO P219
IO P180 A12_IO P220
IO P181 A13_IO P221
IO P182 IO P222
IO P183 IO P223
IO P184 IO P224
IO P185 IO P225
GND P186 A14_IO P226
IO P187 BUFGS_TL_GCK8_A15_IO P227
IO P188 VCC P228
IO P189
IO P190
VCC P191
A4_IO P192
A5_IO P193
IO P194
IO P195
A21_IO P196
A20_IO P197
A6_IO P198
Ordering Information
Example for QPRO™ military temperature part:
XQ 4062XL -3 PG 475 M
Mil-PRF-38535
Temperature Range
(QML) Processed
M = Military Ceramic (TC = –55oC to +125 oC)
Device Type N = Military Plastic (TJ = –55°C to +125°C)
1
XQ4085XL
XQ4062XL Number of Pins
XQ4036XL
XQ4013XL Speed Grade
2
Package Type
-3 CB = Top Brazed Ceramic Quad Flat Pack
-1 (XQ4085XL only) PG = Ceramic Pin Grid Array
PQ/HQ = Plastic Quad Flat Back
BG = Plastic Ball Grid Array 3
Revision History
The following table shows the revision history for this document
© 2000 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.
Radiation Specifications
Symbol Description Min Max Units
TID Total ionizing dose - 60K RAD(Si)
SEL Single event Latch-up LET> 100 MeV CM2/mg. @ +125°C - 0
SEU Single event upset galactic p+(1) - 2.43E – 8 Upsets/
Bit-Day
SEU Single event upset galactic heavy Ion(1) - 9.54E – 8 Upsets/
Bit-Day
SEU Single event upset trapped p+(1) - 2.50E – 7 Upsets/
Bit-Day
SEU Single event upset galactic p+(2) - 5.62E – 8 Upsets/
Bit-Day
SEU Single event upset galactic heavy Ion(2) - 2.43E – 7 Upsets/
Bit-Day
Notes:
1. 680 Km LEO, 98o Inclination, 100-mil Al Shielding
2. 35,000 Km GEO, 0o Inclination, 100-mil Al Shielding
3. Simulations done using Space Radiation Version 2.5 code from Severn Communication Corp.
Ramp-up Time
Product Description Fast (120 ms) Slow (50 ms)
XQR4013 - 36XL Minimum required current supply 1A 500 mA
XC4062XL Minimum required current supply 2A 500 mA
Notes:
1. Devices are guaranteed to initialize properly with the minimum current listed above. A larger capacity power supply may result in a
larger initialization current.
2. This specification applies to Commercial and Industrial grade products only.
3. Ramp-up Time is measured from 0VDC to 3.6VDC. Peak current required lasts less than 3 ms, and occurs near the internal power
on reset threshold voltage. After initialization and before configuration, ICC max is less than 10 mA.
WCLK (K)
TWSS TWHS
WE
TDSS TDHS
DATA IN
TASS TAHS
ADDRESS
TILO TILO
TWOS
DS029_01_011300
WCLK (K)
TWSS TWHS
WE
TDSDS TDHDS
DATA IN
TASDS TAHDS
ADDRESS
TILO TILO
TWODS
DS029_02_011300
-1
-2
0 20 40 60 80 100 120 140
Capacitance (pF)
DS029_03_011300
Global Early Clock BUFEs 1, 2, 5, and 6 Setup and Hold for IFF and FCL(1,2)
-3
Symbol Description Device Min
No Delay
TPSEN/TPHEN Global early clock and IFF(3) XQR4013XL 1.2 / 4.7
TPFSEN/TPFHEN Global early clock and FCL(4) XQR4036XL 1.2 / 6.7
XQR4062XL 1.2 / 8.4
Partial Delay
TPSEPN/TPHEP Global early clock and IFF(3) XQR4013XL 6.4 / 0.0
TPFSEP/TPFHEP Global early clock and FCL(4) XQR4036XL 7.0 / 0.8
XQR4062XL 9.0 / 0.8
Full Delay
TPSEPD/TPHED Global early clock and IFF(3) XQR4013XL 12.0 / 0.0
XQR4036XL 13.8 / 0.0
XQR4062XL 13.1 / 0.0
Notes:
1. The XQR4013XL, XQR4036XL, and XQR4062XL have significantly faster partial and full delay setup times than other devices.
2. Input setup time is measured with the fastest route and the lightest load. Input hold time is measured using the furthest distance and
a reference load of one clock pin per IOB as well as driving all accessible CLB flip-flops. For designs with a smaller number of clock
loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can be used as a worst-case pin-to-pin
no-delay input hold specification.
3. IFF = Input Flip-Flop or Latch
4. FCL = Fast Capture Latch
Global Early Clock BUFEs 3, 4, 7, and 8 Setup and Hold for IFF and FCL(1,2)
-3
Symbol Description Device Min
No Delay
TPSEN/TPHEN Global early clock and IFF(3) XQR4013XL 1.2 / 4.7
TPFSEN/TPFHEN Global early clock and FCL(4) XQR4036XL 1.2 / 6.7
XQR4062XL 1.2 / 8.4
Partial Delay
TPSEPN/TPHEP Global early clock and IFF(3) XQR4013XL 5.4 / 0.0
TPFSEP/TPFHEP Global early clock and FCL(4) XQR4036XL 6.4 / 0.8
XQR4062XL 8.4 / 1.5
Full Delay
TPSEPD/TPHED Global early clock and IFF(3) XQR4013XL 10.0 / 0.0
XQR4036XL 12.2 / 0.0
XQR4062XL 13.1 / 0.0
Notes:
1. The XQR4013XL, XQR4036XL, and XQR4062XL have significantly faster partial and full delay setup times than other devices.
2. Input setup time is measured with the fastest route and the lightest load. Input hold time is measured using the furthest distance and
a reference load of one clock pin per IOB as well as driving all accessible CLB flip-flops. For designs with a smaller number of clock
loads, the pad-to-IOB clock pin delay as determined by the static timing analyzer (TRCE) can be used as a worst-case pin-to-pin
no-delay input hold specification.
3. IFF = Input Flip-Flop or Latch
4. FCL = Fast Capture Latch
-3
1
Symbol Description Device Min Max Units
Clocks
TECIK Clock enable (EC) to clock (IK) All devices 0.1 - ns 2
TOKIK Delay from FCL enable (OK) active edge to IFF clock All devices 2.2 - ns
(IK) active edge
Setup Times
3
TPICK Pad to clock (IK), no delay All devices 1.7 - ns
TPICKF Pad to clock (IK), via transparent fast capture latch, no All devices 2.3 - ns
delay
TPOCK Pad to fast capture latch enable (OK), no delay All devices 1.2 - ns 4
Hold Times
All Hold Times All devices 0 - ns
Global Set/Reset 5
TMRW Minimum GSR pulse width All devices - 19.8 ns
TRRI Delay from GSR input to any Q(2) XQR4013XL - 15.9 ns
XQR4036XL - 22.5 ns
6
XQR4062XL - 29.1 ns
Propagation Delays
TPID Pad to I1, I2 All devices - 1.6 ns
TPLI Pad to I1, I2 via transparent input latch, no delay All devices - 3.1 ns
TPFLI Pad to I1, I2 via transparent FCL and input latch, no All devices - 3.7 ns
delay
TIKRI Clock (IK) to I1, I2 (flip-flop) All devices - 1.7 ns
TIKLI Clock (IK) to I1, I2 (latch enable, active Low) All devices - 1.8 ns
TOKLI FCL enable (OK) active edge to I1, I2 All devices - 3.6 ns
(via transparent standard input latch)
Notes:
1. IFF = Input Flip-Flop or Latch, FCL = Fast Capture Latch
2. Indicates Minimum Amount of Time to Assure Valid Data.
-3
Symbol Description Min Max Units
Clocks
TCH Clock High 3.0 - ns
TCL Clock Low 3.0 - ns
Propagation Delays
TOKPOF Clock (OK) to pad - 5.0 ns
TOPF Output (O) to pad - 4.1 ns
TTSHZ High-Z to pad High-Z (slew-rate independent) - 4.4 ns
TTSONF High-Z to pad active and valid - 4.1 ns
TOFPF Output (O) to pad via fast output MUX - 5.5 ns
TOKFPF Select (OK) to pad via fast MUX - 5.1 ns
Setup and Hold Times
TOOK Output (O) to clock (OK) setup time 0.5 - ns
TOKO Output (O) to clock (OK) hold time 0 - ns
TECOK Clock Enable (EC) to clock (OK) setup time 0 - ns
TOKEC Clock Enable (EC) to clock (OK) hold time 0.3 - ns
Global Set/Reset
TMRW Minimum GSR pulse width 19.8 - ns
TRPO Delay from GSR input to any pad(2)
XQR4013XL - 20.5 ns
XQR4036XL - 27.1 ns
XQR4062XL - 33.7 ns
Slew Rate Adjustment
TSLOW For output SLOW option add - 3.0 ns
Notes:
1. Output timing is measured at ~50% VCC threshold, with 50 pF external capacitive loads.
2. Indicates Minimum Amount of Time to Assure Valid Data.
Ordering Information
XQR 4062XL -3 CB 228 M
QPRO Radiation Hardened
Temperature Range
M = Military Ceramic (TC = –55°C to +125°C)
Device Type
XQR4062XL
XQR4036XL Number of Pins
XQR4013XL
Revision History
The following table shows the revision history for this document
R
QPRO Series Configuration
PROMs (XQ) including
Radiation-Hardened Series (XQR)
DS062 (v2.0) June 1, 2000 0 2 Advance Product Specification
Features Description
• Configuration one-time programmable (OTP) read-only The QPRO™ series XQ1701L and XQ1704L are Xilinx
memory designed to store configuration bitstreams of 3.3V high-density configuration PROMs. The XQR1701L 1
Xilinx FPGA devices and XQR1704L are radiation hardened. These devices are
• Simple interface to the FPGA; requires only one user manufactured on Xilinx QML certified manufacturing lines
I/O pin utilizing epitaxial substrates and TID lot qualification (per
method 1019).
• Cascadable for storing longer or multiple bitstreams 2
• Programmable reset polarity (active High or active When the FPGA is in Master Serial mode, it generates a
Low) for compatibility with different FPGA solutions configuration clock that drives the PROM. A short access
time after the rising clock edge, data appears on the PROM
• Supports XQR4000XL/Virtex fast configuration mode
DATA output pin that is connected to the FPGA DIN pin. The
(15.0 MHz) (XQR1701L and XQR1704L)
FPGA generates the appropriate number of clock pulses to 3
• Supports XQ4000EX/XL fast configuration mode complete the configuration. Once configured, it disables the
(15.0 MHz) (XQ1701L and XQ1704L) PROM. When the FPGA is in Slave Serial mode, the PROM
• Fabricated on Epitaxial Silicon to improve latch and the FPGA must both be clocked by an incoming signal.
performance (parts are immune to Single Event Figure 1 shows a simplied block diagram. 4
Latch-up) (XQR1701L and XQR1704L) Multiple devices can be concatenated by using the CEO
• QML certified output to drive the CE input of the following device. The
• Single Event Bit Upset immune (XQR1701L and clock inputs and the DATA outputs of all PROMs in this
XQR1704L) chain are interconnected. All devices are compatible and
can be cascaded with other members of the family.
5
• Total Dose tolerance in excess of 50K rads(Si)
(XQR1701L and XQR1704L) For device programming, either the Xilinx Alliance or Foun-
• All lots subjected to TID Lot Qualification in accordance dation series development system compiles the FPGA
design file into a standard Hex format, which is then trans-
with method 1019 (dose rate ~9.0 rads(Si)/sec)
(XQR1701L and XQR1704L) ferred to most commercial PROM programmers.
6
• Available in 44-pin ceramic LCC (M grade) package
• Available in 44-pin plastic chip carrier package
(XQ1704L only)
• Available in 20-pin SOIC package (XQ1701L only)
• Programming support by leading programmer
manufacturers.
• Design support using the Xilinx Alliance and
Foundation series software packages.
© 2000 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.
RESET/
CE CEO
OE
or
OE/
RESET
Address Counter
CLK TC
EPROM OE
Output
Cell DATA
Matrix
DS027_01_021500
Pin Description
DATA CE
Data output is in a high-impedance state when either CE or When High, this pin disables the internal address counter,
OE are inactive. During programming, the DATA pin is I/O. puts the DATA output in a high-impedance state, and forces
Note that OE can be programmed to be either active High or the device into low-ICC standby mode.
active Low.
CEO
CLK Chip Enable output, to be connected to the CE input of the
Each rising edge on the CLK input increments the internal next PROM in the daisy chain. This output is Low when the
address counter, if both CE and OE are active. CE and OE inputs are both active AND the internal address
counter has been incremented beyond its Terminal Count
RESET/OE (TC) value. In other words: when the PROM has been read,
When High, this input holds the address counter reset and CEO will follow CE as long as OE is active. When OE goes
puts the DATA output in a high-impedance state. The polar- inactive, CEO stays High until the PROM is reset. Note that
ity of this input pin is programmable as either RESET/OE or OE can be programmed to be either active High or active
OE/RESET. To avoid confusion, this document describes Low.
the pin as RESET/OE, although the opposite polarity is pos-
sible on all devices. When RESET is active, the address
VPP
counter is held at "0", and puts the DATA output in a Programming voltage. No overshoot above the specified
high-impedance state. The polarity of this input is program- max voltage is permitted on this pin. For normal read oper-
mable. The default is active High RESET, but the preferred ation, this pin must be connected to VCC. Failure to do so
option is active Low RESET, because it can be driven by the may lead to unpredictable, temperature-dependent opera-
FPGAs INIT pin. tion and severe problems in circuit debugging. Do not leave
VPP floating!
The polarity of this pin is controlled in the programmer inter-
face. This input pin is easily inverted using the Xilinx
HW-130 Programmer. Third-party programmers have differ-
VCC and GND
ent methods to invert this pin. Positive supply and ground pins.
PROM Pinouts • The CEO output of a PROM drives the CE input of the
next PROM in a daisy chain (if any).
Pin Name 44-Pin CLCC • The RESET/OE input of all PROMs is best driven by
the INIT output of the lead FPGA device. This
DATA 2
connection assures that the PROM address counter is
CLK 5 reset before the start of any (re)configuration, even
when a reconfiguration is initiated by a VCC glitch.
RESET/OE (OE/RESET) 19
Other methods—such as driving RESET/OE from LDC
CE 21 or system reset—assume the PROM internal 1
power-on-reset is always in step with the FPGAs
GND 3, 24 internal power-on-reset. This may not be a safe
CEO 27 assumption.
VPP 41
• The PROM CE input can be driven from either the LDC 2
or DONE pins. Using LDC avoids potential contention
VCC 44 on the DIN pin.
• The CE input of the lead (or only) PROM is driven by
Capacity the DONE output of the lead FPGA device, provided 3
that DONE is not permanently grounded. Otherwise,
Devices Configuration Bits LDC can be used to drive CE, but must then be
unconditionally High during user operation. CE can
XQR1704L 4,194,304 also be permanently tied Low, but this keeps the DATA
XQR1701L 1,048,576 output active and causes an unnecessary supply 4
current of 10 mA maximum.
XQ1704L 4,194,304
XQ1701L 1,048,576 FPGA Master Serial Mode Summary
The I/O and logic functions of the Configurable Logic Block 5
Xilinx FPGAs and Compatible PROMs. (CLB) and their associated interconnections are established
by a configuration program. The program is loaded either
Device Configuration Bits PROM automatically upon power up, or on command, depending
Programming the FPGA With Counters contentions inside the FPGA and on its output pins. This
Unchanged Upon Completion method must, therefore, never be used when there is any
chance of external reset during configuration.
When multiple FPGA-configurations for a single FPGA are
stored in a PROM, the OE pin should be tied Low. Upon Cascading Configuration PROMs
power-up, the internal address counters are reset and con-
figuration begins with the first program stored in memory. For multiple FPGAs configured as a daisy-chain, or for
Since the OE pin is held Low, the address counters are left future FPGAs requiring larger configuration memories, cas-
unchanged after configuration is complete. Therefore, to caded PROMs provide additional memory. After the last bit
reprogram the FPGA with another program, the DONE line from the first PROM is read, the next clock signal to the
is pulled Low and configuration begins at the last value of PROM asserts its CEO output Low and disables its DATA
the address counters. line. The second PROM recognizes the Low level on its CE
input and enables its DATA output. See Figure 2.
This method fails if a user applies RESET during the FPGA
configuration process. The FPGA aborts the configuration After configuration is complete, the address counters of all
and then restarts a new configuration, as intended, but the cascaded PROMs are reset if the FPGA RESET pin goes
PROM does not reset its address counter, since it never Low, assuming the PROM reset polarity option has been
saw a High level on its OE input. The new configuration, inverted.
therefore, reads the remaining data in the PROM and inter- To reprogram the FPGA with another program, the DONE
prets it as preamble, length count etc. Since the FPGA is line goes Low and configuration begins where the address
the master, it issues the necessary number of CCLK pulses, counters had stopped. In this case, avoid contention
up to 16 million (224) and DONE goes High. However, the between DATA and the configured I/O use of DIN.
FPGA configuration will be completely wrong, with potential
Vcc
DOUT OPTIONAL
Daisy-chained
FPGAs with
Different
configurations
1
FPGA OPTIONAL
Slave FPGAs
with Identical 2
Configurations
MODES* VCC
3
3.3V VPP
4.7K
VCC VPP 4
DIN DATA DATA Cascaded
RESET RESET CCLK CLK PROM CLK Serial
Memory
DONE CE CEO CE 5
INIT OE/RESET OE/RESET
CCLK
(Output)
DIN
DOUT
(Output)
DS027_02_060100
Figure 2: Master Serial Mode. The one-time-programmable PROM supports automatic loading of configuration programs.
Multiple devices can be cascaded to support additional FPGAs. An early DONE inhibits the PROM data output one CCLK
cycle before the FPGA I/Os become active.
Operating Conditions
3
Symbol Description Min Max Units
VCC(1) Supply voltage relative to GND Military 3.0 3.6 V 4
ceramic package (TC = –55°C to +125°C)
Notes:
1. During normal read operation VPP MUST be connect to VCC.
RESET/OE
THOE
TLC THC TCYC
CLK
TOE TCAC TOH TDF
TCE
DATA
TOH
DS027_03_021500
XQ1701L,
XQR1701L XQR1704L
Symbol Description Min Max Min Max Units
TOE OE to data delay - 25 - 30 ns
TCE CE to data delay - 45 - 45 ns
TCAC CLK to data delay - 45 - 45 ns
TDF CE or OE to data float delay(2,3) - 50 - 50 ns
TOH Data hold from CE, OE, or CLK(3) 0 - 0 - ns
TCYC Clock periods 67 - 67 - ns
TLC CLK Low time(3) 20 - 25 - ns
THC CLK High time(3) 20 - 25 - ns
TSCE CE setup time to CLK (to guarantee proper counting) 20 - 25 - ns
THCE CE hold time to CLK (to guarantee proper counting) 0 - 0 - ns
THOE OE hold time (guarantees counters are reset) 20 - 25 - ns
Notes:
1. AC test load = 50 pF
2. Float delays are measured with 5 pF AC loads. Transition is measured at ±200 mV from steady state active levels.
3. Guaranteed by design, not tested.
4. All AC parameters are measured with VIL = 0.0V and VIH = 3.0V.
RESET/OE
CE
1
CLK
TCDF 2
DATA Last Bit First Bit
TOCK TOOE
3
CEO
TOCE TOCE
DS027_04_021500
4
Symbol Description Min Max Units
TCDF CLK to data float delay(2,3) - 50 ns
TOCK CLK to CEO delay(3) - 30 ns 5
TOCE CE to CEO delay(3) - 35 ns
TOOE RESET/OE to CEO delay(3) - 30 ns
Notes: 6
1. AC test load = 50 pF
2. Float delays are measured with 5 pF AC loads. Transition is measured at ±200 mV from steady state active levels.
3. Guaranteed by design, not tested.
4. All AC parameters are measured with VIL = 0.0V and VIH = 3.0V.
Ordering Information
XQR1701L CC44 M
Device Number Operating Range/Processing
XQ1704L Package Type B = Military(TC = –55° to +125°C)
XQ1701L QML certified to MIL-PRF-38535
XQR1704L CC44 = 44-pin Ceramic Chip Carrier M = Military (TC = –55° to +125°C)
XQR1701L SO20 = 20-pin Plastic Small Outline Package QML certified to MIL-PRF-38535
PC44 = 44-pin Plastic Chip Carrier N = Military Plastic (TJ = –55° to +125°C)
Revision History
The following table shows the revision history for this document.
Features Description
• Certified to MIL-PRF-38535 Appendix A QML The XC1700D QPRO™ family of configuration PROMs pro-
(Qualified Manufacturer Listing.) vide an easy-to-use, cost-effective method for storing Xilinx 1
• Also available under the following Standard Microcircuit FPGA configuration bitstreams.
Drawings (SMD): 5962-94717 and 5962-95617.
When the FPGA is in Master Serial mode, it generates a
• Configuration one-time programmable (OTP) read-only
configuration clock that drives the PROM. A short access
memory designed to store configuration bitstreams of
Xilinx FPGA devices
time after the rising clock edge, data appears on the PROM 2
DATA output pin that is connected to the FPGA DIN pin. The
• On-chip address counter, incremented by each rising
FPGA generates the appropriate number of clock pulses to
edge on the clock input
complete the configuration. Once configured, it disables the
• Simple interface to the FPGA requires only one user PROM. When the FPGA is in Slave Serial mode, the PROM
I/O pin and the FPGA must both be clocked by an incoming signal. 3
• Cascadable for storing longer or multiple bitstreams
• Programmable reset polarity (active High or active Multiple devices can be concatenated by using the CEO
Low) for compatibility with different FPGA solutions output to drive the CE input of the following device. The
clock inputs and the DATA outputs of all PROMs in this
• Low-power CMOS EPROM process
chain are interconnected. All devices are compatible and 4
• Available in 5V version only
can be cascaded with other members of the family.
• Programming support by leading programmer
manufacturers. For device programming, either the Xilinx Alliance™ or the
• Design support using the Xilinx Alliance and Foundation™ series development systems compiles the
Foundation series software packages. FPGA design file into a standard HEX format which is then 5
transferred to most commercial PROM programmers.
6
VCC VPP GND
RESET/
CE CEO
OE
or
OE/
RESET
Address Counter
CLK TC
EPROM OE
Output
Cell DATA
Matrix
DS027_01_021500
© 2000 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.
Controlling PROMs read sequentially, accessed via the internal address and bit
counters which are incremented on every valid rising edge
Connecting the FPGA device with the PROM. of CCLK.
• The DATA output(s) of the PROM(s) drives the DIN
If the user-programmable, dual-function DIN pin on the
input of the lead FPGA device. FPGA is used only for configuration, it must still be held at a
• The Master FPGA CCLK output drives the CLK input(s) defined level during normal operation. Xilinx FPGAs take
of the PROM(s). care of this automatically with an on-chip default pull-up
resistor.
• The CEO output of a PROM drives the CE input of the
next PROM in a daisy chain (if any).
1
• The RESET/OE input of all PROMs is best driven by
Programming the FPGA With Counters
the INIT output of the lead FPGA device. This Unchanged Upon Completion
connection assures that the PROM address counter is When multiple FPGA-configurations for a single FPGA are
reset before the start of any (re)configuration, even stored in a PROM, the OE pin should be tied Low. Upon 2
when a reconfiguration is initiated by a VCC glitch. power-up, the internal address counters are reset and con-
Other methods—such as driving RESET/OE from LDC figuration begins with the first program stored in memory.
or system reset—assume the PROM internal Since the OE pin is held Low, the address counters are left
power-on-reset is always in step with the FPGA’s unchanged after configuration is complete. Therefore, to 3
internal power-on-reset. This may not be a safe reprogram the FPGA with another program, the DONE line
assumption. is pulled Low and configuration begins at the last value of
• The PROM CE input can be driven from either the LDC the address counters.
or DONE pins. Using LDC avoids potential contention
on the DIN pin.
This method fails if a user applies RESET during the FPGA
configuration process. The FPGA aborts the configuration
4
• The CE input of the lead (or only) PROM is driven by and then restarts a new configuration, as intended, but the
the DONE output of the lead FPGA device, provided PROM does not reset its address counter, since it never
that DONE is not permanently grounded. Otherwise, saw a High level on its OE input. The new configuration,
LDC can be used to drive CE, but must then be therefore, reads the remaining data in the PROM and inter- 5
unconditionally High during user operation. CE can prets it as preamble, length count etc. Since the FPGA is
also be permanently tied Low, but this keeps the DATA the master, it issues the necessary number of CCLK pulses,
output active and causes an unnecessary supply up to 16 million (224) and DONE goes High. However, the
FPGA configuration will be completely wrong, with potential
current of 10 mA maximum.
contentions inside the FPGA and on its output pins. This
6
FPGA Master Serial Mode Summary method must, therefore, never be used when there is any
The I/O and logic functions of the Configurable Logic Block chance of external reset during configuration.
(CLB) and their associated interconnections are established
by a configuration program. The program is loaded either Cascading Configuration PROMs
automatically upon power up, or on command, depending For multiple FPGAs configured as a daisy-chain, or for
on the state of the three FPGA mode pins. In Master Serial future FPGAs requiring larger configuration memories, cas-
mode, the FPGA automatically loads the configuration pro- caded PROMs provide additional memory. After the last bit
gram from an external memory. The Xilinx PROMs have from the first PROM is read, the next clock signal to the
been designed for compatibility with the Master Serial PROM asserts its CEO output Low and disables its DATA
mode. line. The second PROM recognizes the Low level on its CE
Upon power-up or reconfiguration, an FPGA enters the input and enables its DATA output. See Figure 2.
Master Serial mode whenever all three of the FPGA After configuration is complete, the address counters of all
mode-select pins are Low (M0=0, M1=0, M2=0). Data is cascaded PROMs are reset if the FPGA RESET pin goes
read from the PROM sequentially on a single data line. Syn- Low, assuming the PROM reset polarity option has been
chronization is provided by the rising edge of the temporary inverted.
signal CCLK, which is generated during configuration.
To reprogram the FPGA with another program, the DONE
Master Serial Mode provides a simple configuration inter- line goes Low and configuration begins where the address
face. Only a serial data line and two control lines are counters had stopped. In this case, avoid contention
required to configure an FPGA. Data from the PROM is between DATA and the configured I/O use of DIN.
Vcc
DOUT OPTIONAL
Daisy-chained
FPGAs with
Different
configurations
FPGA OPTIONAL
Slave FPGAs
with Identical
Configurations
MODES* VCC
3.3V VPP
4.7K
VCC VPP
DIN DATA DATA Cascaded
RESET RESET CCLK CLK PROM CLK Serial
Memory
DONE CE CEO CE
INIT OE/RESET OE/RESET
CCLK
(Output)
DIN
DOUT
(Output)
DS027_02_052200
Figure 2: Master Serial Mode. The one-time-programmable PROM supports automatic loading of configuration programs.
Multiple devices can be cascaded to support additional FPGAs. An early DONE inhibits the PROM data output one CCLK
cycle before the FPGA I/Os become active.
Operating Conditions
Symbol Description Min Max Units
VCC Supply voltage relative to GND (TC = –55°C to +125°C) Military 4.50 5.50 V
RESET/OE
THOE
TLC THC TCYC
CLK
1
TOE TCAC TOH TDF
TCE
DATA
2
TOH
DS027_03_021500
3
XC1736D XC17128D
XC1765D XC17256D
Symbol Description Min Max Min Max Units
TOE OE to data delay - 45 - 25 ns
4
TCE CE to data delay - 60 - 45 ns
TCAC CLK to data delay - 150 - 50 ns
TOH Data hold from CE, OE, or CLK(3) 0 - 0 - ns
5
TDF CE or OE to data float delay(3,4) - 50 - 50 ns
TCYC Clock periods 200 - 80 - ns
6
TLC CLK Low time(3) 100 - 20 - ns
THC CLK High time(3) 100 - 20 - ns
TSCE CE setup time to CLK (to guarantee proper counting) 25 - 20 - ns
THCE CE hold time to CLK (to guarantee proper counting) 0 - 0 - ns
THOE OE hold time (guarantees counters are reset) 100 - 20 - ns
Notes:
1. AC test load = 50 pF
2. All AC parameters are measured with VIL = 0.0V and VIH = 3.0V.
3. Guaranteed by design, not tested.
4. Float delays are measured with 5 pF AC loads. Transition is measured at ±200mV from steady state active levels.
RESET/OE
CE
CLK
TCDF
TOCK TOOE
CEO
TOCE TOCE
DS027_04_021500
XC1736D XC17128D
XC1765D XC17256D
Symbol Description Min Max Min Max Units
TCDF CLK to data float delay(3,4) - 50 - 50 ns
TOCK CLK to CEO delay(3) - 65 - 30 ns
TOCE CE to CEO delay(3) - 45 - 35 ns
TOOE RESET/OE to CEO delay(3) - 40 - 30 ns
Notes:
1. AC test load = 50 pF
2. All AC parameters are measured with VIL = 0.0V and VIH = 3.0V.
3. Guaranteed by design, not tested.
4. Float delays are measured with 5 pF AC loads. Transition is measured at ±200mV from steady state active levels.
Ordering Information
XC17256D DD8 M
Revision History
The following table shows the revision history for this document
R
0 3
QPRO Application Notes
1 Introduction
www.xilinx.com
1-800-255-7778
R
www.xilinx.com
1-800-255-7778
R
www.xilinx.com
1-800-255-7778
R
www.xilinx.com
1-800-255-7778
Application Note: Virtex Series
0
R
0 3
Virtex Series Configuration Architecture
User Guide
XAPP151 (v1.4) June 15, 2000
Summary The Virtex™ architecture supports powerful new configuration modes, including partial
reconfiguration. These mechanisms are designed to give advanced applications access to and 1
manipulation of on-chip data through the configuration interfaces.
This document is an overview of the Virtex architecture, emphasizing data bit location in the
configuration bitstream. Knowing bit locations is the basis for accessing and altering on-chip
data. FPGA applications can be built that change or examine the functionality of the operating
circuit without stopping the circuit loaded in the device. A glossary is included to explain some
2
of the terminology used in this application note.
3
Introduction CLBs, IOBs, and Configurations
Each Virtex device contains configurable logic blocks (CLBs), input-output blocks (IOBs), block
RAMs, clock resources, programmable routing, and configuration circuitry (Figure 1). These
logic functions are configurable through the configuration bitstream. Configuration bitstreams 4
contain a mix of commands and data. Configuration bitstreams can be read and written through
one of the configuration interfaces on the device.
The Virtex, Virtex-E, and Virtex-E Extended Memory (Virtex-EM) families differ primarily in the
amount of block RAM available. 5
Pad
DLL 1 IOBs DLL
Right IOBs
Left IOBs
CLBs
x151_01_012700
© 2000 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.
Warning! This document discusses mechanisms for manipulating the configuration bits for the
! Virtex devices. If portions of the bitstream other than those described here are altered, the
device may be damaged. Xilinx is not liable for any consequences of misprogramming a
device.
Writing some or all of a configuration is done by issuing configuration commands to the desired
interface followed by the configuration data.
The SelectMAP interface is an 8-bit interface on the device with data pins labeled D[7:0]. The
configuration bitstream can be written eight bits per clock cycle. Virtex devices can be
configured to retain the (D[7:0], BUSY/DOUT, INIT, WRITE, and CS) SelectMAP pins, allowing
further re-configuration via those pins. If further re-configuration is not required, those pins can
be configured as user I/O.
When the master/slave serial or Boundary Scan interface is used for configuration or re-
onfiguration, the configuration bitstream is transmitted one bit per clock cycle.
Timing relationships for the configuration interfaces are discussed in the Virtex series data
sheets located at http://www.xilinx.com/products/virtex.htm.
Configuration The Virtex configuration memory can be visualized as a rectangular array of bits. The bits are
Columns grouped into vertical frames that are one-bit wide and extend from the top of the array to the
bottom. A frame is the atomic unit of configuration - it is the smallest portion of the configuration
memory that can be written to or read from.
Frames are grouped together into larger units called columns. In Virtex, Virtex-E, and
Virtex-EM devices, there are several different types of columns:
Each device contains one center column that includes configuration for the four global clock 2
pins. Two IOB columns represent configuration for all of the IOBs on the left and right edges of
the device. The majority of columns are CLB columns which each contain one column of CLBs
and the two IOBs above and below those CLBs. The remaining two column types involve the
block RAM: one for content and the other for interconnect. For each RAM column, one of each
type is present (for values for all Virtex devices, see Table 3, “Virtex Series Devices,” on
3
page 6).
The columns for an sample Virtex device are shown below:
2 2 2 2 2 4
IOB IOB GCL IOB IOB
s s K s s
… …
Interconnect (27 frames)
Interconnect(27 frames)
5
Content (64 frames)
Block SelectRAM
Block SelectRAM
Block SelectRAM
Left IOB Column
Center Column
CLB Column
CLB Column
CLB Column
CLB Column
(54 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(54 frames)
(8 frames)
2 2 2 2 2
IOB IOB GCL IOB IOB
s s K s s
2 2 2 2 2
IOBs IOBs GCL IOBs IOBs
K
… …
Interconnect (27 frames)
Block SelectRAM
Block SelectRAM
Block SelectRAM
Left IOB Column
Center Column
CLB Column
CLB Column
CLB Column
CLB Column
(54 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(54 frames)
(8 frames)
2 2 2 2 2
IOBs IOBs GCL IOBs IOBs
K
Center
IORight
RAM0
RAM1
IOLeft
BIC0
BIC1
C12
C13
C24
C1
M.A. 26 0 28 24 2 0 1 23 27 1 25
Figure 4: Virtex Family: Allocation of Frames to Device Resources (XCV50)
SelectRAM interconnect appear in the middle of the CLB addresses while in the Virtex and
Virtex-EM families, they appear at the very end after the IOB columns. Also, note that the block
SelectRAM content columns begin with "1" (Virtex devices begin with "0").
A XCV50E is shown in Figure 5. The shaded columns are in the RAM address space.
2 2 2 2 2 2 2 2 2
IOB IOB IOB IOB GC IOB IOB IOB IOB
s s s s LK s s s s 1
… … … …
Interconnect (27 frames)
Block SelectRAM
Block SelectRAM
Block SelectRAM
Block SelectRAM
Block SelectRAM
Block SelectRAM
Block SelectRAM
2
Left IOB Column
Center Column
CLB Column
CLB Column
CLB Column
CLB Column
CLB Column
CLB Column
CLB Column
CLB Column
(54 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(54 frames)
(8 frames)
3
2 2 2 2 2 2 2 2 2 4
IOB IOB IOB IOB GC IOB IOB IOB IOB
s s s s LK s s s s
CLB18
Center
IORight
RAM0
RAM1
RAM2
RAM3
IOLeft
BIC0
BIC1
BIC2
BIC3
C12
C13
C19
C24
C1
C6
C7
5
M. 30 4 28 26 16 2 14 12 2 0 1 11 13 1 15 25 27 3 29
A.
Figure 5: Virtex-E Family: Allocation of Frames to Device Resources (XCV50E)
6
Frames Frames are read and written sequentially with ascending addresses for each operation.
Multiple consecutive frames can be read or written with a single configuration command. The
smallest amount of data that can be read or written with a single command is a single frame.
The entire CLB array plus the IOBs and block SelectRAM interconnect can be read or written
with a single command. Each block SelectRAM Content must be read or written separately.
Frame Sizes
Frame size depends on the number of rows in the device. The number of configuration bits in a
frame is 18 ´ (# CLB_rows+2) and is padded with zeroes on the right (bottom) to fit in 32-bit
words. <Link>“Frame Organization” for more details. An additional padding word is needed at
the end of each frame for pipelining. Table 3 shows the frame sizes for all Virtex devices. This
table also shows the size, in words, of the bitstream for the CLB address space and the number
of words in each RAM block.
Notes:
1. Includes pad frame in calculation.
Frame Organization
Each frame sits vertically in the device, with the “front” of the frame at the top. As shown in
Figure 6, it is convenient to consider the frame horizontally when it is viewed as part of a
bitstream. The top IOBs are shown on the left followed by the CLBs in the column and the
bottom IOBs on the right. Bits in frames are allocated as follows.
For CLB columns, the first 18 bits control the two IOBs at the top of the column; then 18 bits are
allocated for each CLB row; finally, the next 18 bits control the two IOBs at the bottom of the
CLB column. The frame then contains enough “pad” bits to make it an integral multiple of
32 bits.
18 18 18 ... 18 18
1
x151_06_020700
For IOB columns, the frame allocates 18 bits per three IOB rows, Figure 7. When reading and 2
writing frames, bits are grouped into 32-bit words, starting on the left (corresponding to the top
of the device). If the last word does not completely fill a 32-bit word, it is padded on the right with
zeroes.
3
Top 3 IOBs 3 IOBs ... Bottom 3 IOBs
18 18 ... 18
4
x151_07_020800
For block SelectRAM content columns (Figure 8), the first 18 bits are pad bits; then 72 bits are 5
allocated for each RAM row; finally, there are another 18 pad bits. The frame then adds enough
“pad” bits to make it an integral multiple of 32 bits.
configuration data in the Device Write format. After modifying the configuration, the altered data
can be written to the Virtex device followed by a pad word and a pad frame.
It is not necessary to retain the contents of the pad frame or pad words. However, pad words
and pad frames are included in the CRC calculation.
Note: Frames span an entire column of CLB slices (or IOBs). Thus, when changing LUT
! SelectRAM bit 0 for a single CLB slice (e.g., R3C4.S1), LUT SelectRAM bit 0 for all slices in
that column (i.e., R*C4.S1) is written with the same command. One must ensure that either all
other data in the slice is constant or changed externally through partial configurations. 1
LUT SelectRAMs not configured externally should not lie in the same slice with LUTs or LUT
SelectRAMs that are re-configured externally. Such a mixture can cause the unrelated LUT
SelectRAM data to be re-configured when the frames are written to the device. Figure 11
shows what can happen if this restriction is not observed. 2
In this example, it is the objective to perform a Read-Modify-Write on the LUT SelectRAM in
R2C3.S1 in column 3, which is shown in the first column in the figure. Row 2 contains a LUT
containing the value AB. Row 3 contains a SelectRAM containing the value C3. Because the
Read and Write operations operate on an entire frame, the RAM in R3C3.S1 is also read and
written when R2C3.S1 is read and written. Performing the Readback operation reads all the
3
LUT and SelectRAM values for the column. Before the new value for the LUT is written, it is
possible for the on-chip circuitry to write a new value, such as 14, into the SelectRAM. When
the new value, BD, is written via the configuration interface into LUT R2C3.S1, the value C3 is
also written into RAM R3C3.S1. This may not always be desirable (It is design-dependent). 4
6
...
...
...
Before Before After
Readback Configuration Configuration
Write Write
x151_11_020800
Definitions Two sets of variables are defined to determine where a desired bit is in the configuration data.
The first is a set of “independent” variables, or design attributes, namely characteristics of the
design that are known, i.e., the device size and which CLB and bit(s) within the CLB to locate,
Table 4. The second set is a set of “dependent” variables or design variables, namely values
that must be calculated to find the bit(s) of interest listed in Table 5.
CLB LUT Table 7 shows equations for the LUT SelectRAM “Dependent Variables” that were defined in
SelectRAM Table 5.
Notes:
! • Do NOT input the final results back into the original Virtex equations (e.g. do not use 5
MJAfinal value to calculate fm_st_wd).
• MJAfinal = MJA + MJA_adj
• fm_st_wdfinal = fm_st_wd + fm_st_wd_adj
6
The left and right sides of the device are treated differently:
CLB Flip-Flop Equations for the CLB flip-flops can be found in Table 10. Their locations are calculated
Dependent similarly to the LUT SelectRAM locations. Equations for the CLB FF Dependent Variables are
defined in Table 5.
Variables
Table 10: Virtex Equations for CLB FF Dependent Variables
Term Definition
MJA if (CLB_Col £ Chip_Cols/2)
then Chip_Cols – CLB_Col ´ 2 + 2
else 2 ´ CLB_Col – Chip_Cols – 1
MNA Slice ´ (12 ´ XY – 43) – 6 ´ XY + 45
fm_bit_idx (18 ´ CLB_Row) + 1 + (32 ´ RW)
fm_st_wd FL ´ (8 + (MJA –1) ´ 48 + MNA) + RW ´ FL
fm_wd floor(fm_bit_idx/32)
fm_wd_bit_idx 31 + 32 ´ fm_wd – fm_bit_idx
IOB Dependent Each IOB contains four values that can be captured into special registers. These values are:
Variables • I — the input flip-flop
• O — the output flip-flop
• T — the flip-flop for the tri-state control
• P — the value of the I/O pad
These values are captured by utilizing the CAPTURE_VIRTEX symbol in your design. The
Libraries Guide has more details on the use of this symbol. The following registers will be read
as part of the readback data.
Access to the IOB flip-flops is different for the top and bottom IOBs versus the left and right
IOBs.
The top and bottom IOBs are part of the CLB column frames. There are two IOBs at the top and
bottom of each CLB column.
The left and right IOBs are in columns by themselves. There are three IOBs per CLB row.
IOBs are numbered clockwise around the die. Pad 1 is located at the left side of the top edge,
above CLB column 1. The equations for where to find IOB flip-flops in the bitstream are based
on the pad number which is the same for a given size device, not the package pin name, which
varies from package to package. The mapping from package pin names to pad numbers can be
found in EPIC or fpga_editor.
Table 11 contains the numeric pad indices for the pads on all four edges of the device in terms
of the number of CLB columns and rows on the device.
Table 12 shows the equations for the dependent variables for the IOB flip-flops. The variable i
in this table refers to the index of pad i. 2
Table 12: Equations for IOB Dependent Variables
Term Definition
if (i £ Chip_Cols) 3
Top then Chip_Cols – ceiling(i/2) ´ 2 + 2
else 2 ´ ceiling (i/2) – Chip_Cols –1
Right Chip_Cols + 1
MJA
if (i > 3 ´ (Chip_Cols + Chip_Rows))
4
Bottom then 2 ´ ceiling((i – 3 ´ Chip_Cols – 3 ´ Chip_Rows)/2)
else Chip_Cols – 2 ´ floor((i – 2 ´ Chip_Cols – 3 ´ Chip_Rows – 1)/2) – 1
Left Chip_Cols + 2
5
I – 25 ´ (i%2) + 45
O – 13 ´ (i%2) + 39
Top
T – 5 ´ (i%2) + 35 6
P – 4 ´ (i%2) + 25
I t = (i – 2 ´ Chip_Cols) % 3; MNA = 27.5 ´ t2 – 57.5 ´ t + 32
O t = (i – 2 ´ Chip_Cols) % 3; MNA = 21.5 ´ t2 – 51.5 ´ t + 38
Right
T t = (i – 2 ´ Chip_Cols) % 3; MNA = 17.5 ´ t2 – 47.5 ´ t + 42
P 50
MNA
I 25 ´ ((i – 2 x Chip_Cols - 3 x Chip_Rows)%2) + 20
O 13 ´ ((i – 2 x Chip_Cols - 3 x Chip_Rows)%2) + 26
Bottom
T 5 ´ ((i – 2 x Chip_Cols - 3 x Chip_Rows)%2) + 30
P 4 ´ ((i – 2 x Chip_Cols - 3 x Chip_Rows)%2) + 21
I t = (i – 4 x Chip_Cols - 3 x Chip_Rows)%3; MNA = 17.5 ´ t2 – 47.5 ´ t + 45
O t = (i – 4 x Chip_Cols - 3 x Chip_Rows)%3; MNA = 23.5 ´ t2 – 53.5 ´ t + 39
Left
T t = (i – 4 x Chip_Cols - 3 x Chip_Rows)%3; MNA = 27.5 ´ t2 – 57.5 ´ t + 35
P 50
Right t = (i – 2 ´ Chip_Cols) % 3;
P fm_bit_idx = 18 ´ (1 + floor ((i – 2 ´ Chip_Cols – 1)/3)) + 6 ´ t2 – 17 ´ t + 15 + 32 ´
RW
Bottom 18 ´ (Chip_Rows + 1)+ 32 ´ RW
18 ´ (Chip_Rows – floor(
I, O, &T
(i – 4 ´ Chip_Cols – 3 ´ Chip_Rows – 1)/3)) + 32 ´ RW
Left t = (i – 4 ´ Chip_Cols – 3 ´ Chip_Rows)%3;
P fm_bit_idx = 18 ´ (Chip_Rows – floor ((i – 4 ´ Chip_Cols – 3 ´ Chip_Rows – 1)/3))
– 10.5 ´ t2 + 21.5 ´ t + 4 + 32 ´ RW
fm_st_wd if (MJA > Chip_Cols + 1)
then FL ´ (54 ´ MJA – 46 + MNA – 6 ´ Chip_Cols) + RW ´ FL
else FL ´ (8 + (MJA –1) ´ 48 + MNA) + RW ´ FL
fm_wd floor (fm_bit_idx/32)
fm_wd_bit_idx 31 + 32 ´ fm_wd – fm_bit_idx
Block The equations for the block SelectRAM dependent variables are given in Table 15. The
SelectRAM relationship of a particular memory cell index in the context of a given configuration is described
in XAPP130 “Using the Virtex Block SelectRAM+ Resource”.
Dependent
Variables Table 15: Virtex Equations for Block SelectRAM Dependent Variables
Term Definition
if (RAM_Col < Chip_Rams/2)
MJA then 2 x (Chip_Rams/2 - 1 - RAM_Col) 1
else 2 x (RAM_Col - Chip_Rams/2) + 1
1 x floor(((ram_bit / 64) % 64)/32) + 2 x floor(((ram_bit / 64) % 32)/16)
+ 4 x floor(((ram_bit / 64) % 16)/8) + 8 x floor(((ram_bit / 64) % 8)/4)
MNA
+ 16 x floor(((ram_bit / 64) % 4)/2) + 32 x floor(((ram_bit / 64) % 2)/1) 2
equivalent to MNA = div64[0:5] where div64[5:0] = floor(ram_bit/64)
obtain value for bitpos from Table 16
fm_bit_idx
fm_bit_idx = 18 + 72 x RAM_Row + bitpos
3
fm_st_wd FL ´ MNA + RW ´ FL
fm_wd floor(fm_bit_idx/32)
fm_wd_bit_idx 31 + 32 ´ fm_wd – fm_bit_idx 4
Table 16: Virtex Block SelectRAM Bit Position Within a Given Block SelectRAM
5
ram_bit % 64
ram_bit % 64
ram_bit % 64
ram_bit % 64
ram_bit % 64
ram_bit % 64
ram_bit % 64
ram_bit % 64
bitpos
bitpos
bitpos
bitpos
bitpos
bitpos
bitpos
bitpos
6
0 42 8 45 16 29 24 26 32 43 40 44 48 28 56 27
1 58 9 61 17 13 25 10 33 59 41 60 49 12 57 11
2 41 10 46 18 30 26 25 34 40 42 47 50 31 58 24
3 57 11 62 19 14 27 9 35 56 43 63 51 15 59 8
4 50 12 53 20 21 28 18 36 51 44 52 52 20 60 19
5 49 13 54 21 22 29 17 37 48 45 55 53 23 61 16
6 66 14 69 22 5 30 2 38 67 46 68 54 4 62 3
7 65 15 70 23 6 31 1 39 64 47 71 55 7 63 0
Table 17: Virtex-E and Virtex-EM Adjustments for Block SelectRAM Dependent
Variables
Term Definition
MJA_adj if (RAM_Col < Chip_Rams/2) MJA_adj = 2
OP CODE
Read 01
Write 10
Figure 12: OP Field Code
A command is organized as a packet with a header word and optional data words. The header
word is the first word written to the appropriate command register for a read or write operation.
The header word contains a type field (001), an operand field, a register address field, and a
word count field. The format for the command header is shown in Figure 13 on page 17.
The Register Address field defines the target of this command, as defined in Table 18 on page
17.
The header word count field contains an integer between 0 and 2,047 and indicates the
number of words that follow the header. Larger word counts (between 2,048 and 1,048,575
words) are achieved by setting the header word count to 0. The Extension header word has a
type field = 010, an OP field that must match the OP field in the preceding Command Header
word, and a 20-bit word count, this format is shown Figure 14 on page 17.
Configuration Flow
Virtex devices are configured by presenting configuration data to the SelectMAP or JTAG
interfaces in a specific sequence.
Reading Configuration
These commands can be issued to read a full configuration or for a partial configuration after
the device has been completely configured.
1. Issue a Sync word (SelectMAP only) if the previous configuration command was aborted.
2. Set the FAR to the starting address.
3. Issue a RCFG (read configuration) command to the CMD register.
4. Write the number of words to be read to the FDRO register.
5. Flush the command pipeline with a pad word.
6. Read data frames.
Writing Configuration
These commands can be issued either as part of an initial configuration or for a partial
configuration after the device has been configured.
1. Issue a Sync word (SelectMAP only) if the previous configuration command was aborted.
2. If the frames being written can cause contention, then assert the GHIGH_B signal.
3. Set the FAR to the starting address.
4. Issue a WCFG (write configuration) command to the CMD register. 1
5. Write the number of words to be written to the FDRI register.
6. Write data frames.
7. If the GHIGH_B signal was asserted, de-assert it by writing the LFRM (Last Frame) 2
command to the CMD register and write one pad frame.
Configuration Configuration logic is accessed and controlled via a collection of 32-bit registers called the
Registers configuration registers (see Table 18). Registers are described in the following sections.
DONE_CYCLE
DRIVE_DONE
GWE_CYCLE
GSR_CYCLE
LCK_CYCLE
GTS_CYCLE
LOCK_WAIT
SHUTDOWN
DONE_PIPE
SSCLKSRC
OSCFSEL
SINGLE
3
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Notes:
4
1. Locations within fields containing a zero or one must have these values. An X in a bit field indicates that the value is variable and must
be set.
2. Heavy vertical lines are used to separate fields. Light vertical lines separate nibbles in the word.
Figure 15: COR (Configuration of Option Register) Fields 5
Table 21 shows the allowed values for the OSCFSEL field of the COR. Setting OSCFSEL to
one of these values will set the Master CCLK frequency to the specified value.
Notes:
1. These values are accurate to +45%, – 30%.
1
Table 22 shows the values of the DONE_CYCLE, LCK_CYCLE, GTS_CYCLE, GWE_CYCLE,
and GSR_CYCLE fields in COR. This table shows the step in the start-up sequence when each
of these signals becomes active. 2
Table 22: COR Startup Cycle Fields
GTS_CYCLE
Field DONE_CYCLE (GTS_CFG GSR_CYCLE GWE_CYCLE
Value (DONE Active) Inactive) (GSR Inactive) (GWE Active) LCK_CYCLE
3
000 1 1 1 1 0
001 2 2 2 2 1
010 3 3 3 3 2
4
011 4 (default) 4 4 4 3
100 5 5 (default) 5 5 4
5
101 6 6 6 (default) 6 (default) 5
110 - DoneIn† DoneIn† DoneIn† 6
111 Keep State Keep State Keep State Keep State Don’t Wait
(default)
6
Notes:
1. † DONE if DonePipe = No, else the delayed version of DONE.
GTS_USR_B
PERSIST
SBITS
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x 0 0 0 0 0 x
Notes:
1. Locations within fields containing a zero or one must have these values. An X in a bit field indicates that the value is variable and must
be set.
2. Heavy vertical lines are used to separate fields. Light vertical lines separate nibbles in the word.
Figure 16: Control Register Fields
CRC Algorithm
/* Initialization */
bcc = 0;
skip_pad = true;
more_words = true;
/* Check for write operation. */
do {
w = next_word;
if (w[31:27] == ’00101’) {
/* A Read OP. Don’t use in CRC*/
wc = w[10:0];
if (wc == 0) {
w = next_word;
wc = w[19:0];
}
while (wc-- > 0) {
w = next_word;
}
}
elsif (w[31:27] == ’00110’) {
/* A Write OP. Use in CRC. */
addr = w[16:13];
if (addr Œ {0,1,2,4,5,6,9,D,B}) {
wc = w[10:0];
if (wc == 0) {
/* wc is in next word. */
w = next_word;
wc = w[19:0];
}
while (wc-- > 0) {
w = next_word;
sw[35:0] = addr, word;
for (i=0; i<36; i++) {
x16 = bcc[15] XOR sw[i];
x15 = bcc[14] XOR x16;
2
CRC Calculation Register
15
0 1
2 3 4 5 6 7 8 9 10 11 12 13 14
DATA_IN
3
CRC Data Input Register
Address 32-bit Data Word
3 2 1 0 31 30 29 28 27 26 5 4 3 2 1 0
SHIFT
4
0000 0000 0000 0000 16-bit CRC
31:16 15:0
CRC Register [31:0]
x151_17_021100 5
Figure 17: CRC Calculation Register
Type Codes
CLB 00
RAM 01
Figure 18: Block Type Codes
CRC_ERROR
IN_ERROR
GTS_CFG
GHIGH_B
GWE_B
GSR_B
MODE
DONE
LOCK
INIT
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x x x x x x x x x x x x x
Notes:
1. An X in a bit field indicates that the value is variable.
2. Heavy vertical lines are used to separate fields. Light vertical lines separate nibbles in the word.
Figure 20: Status Register Fields
Configuration
Interface Table 25: Status Register Bits
Name Bit Indices Description
DONE 14 Input from DONE pin
INIT 13 Value of INIT
MODE 12:10 Value of M2, M1, M0 mode pins
GHIGH_B 9 0 = GHIGH_B asserted
GSR_B 8 0 = all flip-flops are Reset/Set
GWE_B 7 1 = flip-flops and block RAM are write disabled
GTS_CFG 6 0 = I/Os are tri-stated
IN_ERROR 5 Legacy input error
LOCK 4:1 Output from DLL lock signals. 1 = DLL is locked.
CRC_ERROR 0 Indicates that a CRC error has occurred.
There are two configuration interfaces to the Virtex devices — the bit-serial Boundary Scan
interface and the 8-bit byte-serial SelectMAP interface. Conceptually, XCV50 configuration
data appears as in Figure 21.
Frames and words within frames are written in the same order in both configuration interfaces,
starting with Frame 0, word 0 (the left-most in the picture), followed by word 1, etc. Bits within
each word are written from left to right (MSB first) in the bit-serial configuration interfaces.
Within the SelectMAP interface, data is written a byte at a time. A sample word is shown in
Figure 22. The top row indicates the device pin names. The bottom row indicates the bit indices
within a configuration word. Byte 0 loads first, followed by byte 1, et cetera. The MSB of each
byte (i.e., bits 31, 23, 15, and 7) is loaded on pin D0. The LSB of each byte (i.e., bits 24, 16, 8,
and 0) is loaded on pin D7.
Examples Several examples of reading and evaluating configuration data are provided to illustrate the
following.
"Example 1: Read and Write Semaphores in an XCV100 at CLB R1 C1, Slice 0." on page 27
"Example 2: Reading the Complete Configuration from an XCV50." on page 32
"Example 3: Read the Slice 0 G-LUT from CLB R1 C1 from the Complete Configuration of an
XCV50." on page 33
"Example 4: Read the Slice 1 F-LUT from CLB R19 C16 from an XCV100." on page 35
"Example 5: Read All Bits in Slice 0 G-LUTs from CLB C2 and XCV50." on page 40 1
"Example 6: Read Block SelectRAM index 387 of RAM R2 C0 from an XCV100E." on page 42
Status
5
Control
6
Semaphores
MicroProcessor FPGA
x151_ 23_021400
G
DIN
15
1
1
1
1
14 1
1
1
0
47 46
D0 D1 D2 D3 D4 D5 D6 D 7
47 46
Select Map
Chip Interface
Frame 47 Frame 46
G F
x151_ 24_021100
Using a Semaphore Abstraction dual-port RAM ensures that the LUT SelectRAMs are placed
in the CLB in a predictable manner. When writing data to one or more LUT SelectRAMs or flip-
flops on the device, all bits in the frame must have valid configuration information. This is
assured by altering valid configurations from bitstream files or from frames read from a properly
configured Virtex device. The latter approach is used in this example.
From the equations in Table 7 on page 11, the values shown in Table 27 can be calculated. 4
Table 27: Semaphore Example Variables, Equations, and Values
Value(s)
G-LUT[15] F-LUT[14] 5
Variable Equation Read Read Write
MJA 1 £ 30/2 Þ 30 – 1 ´ 2 + 2 30
MNA lut_bit + 32– 0 ´ (...) 47 46 6
fm_bit_idx 3 + 18 ´ 1 – FG + RW ´ 32 52 53 21
fm_st_wd 14 ´ (8 + (30 – 1) ´ 48 20,272 20,258 20,244
+ {46,47}) +RW ´ (14 +1)
= 14 ´ (1,400 + {46,47}) + 14 ´ RW
= 19,600 + 14 ´ {46,47} + 14 ´ RW
fm_wd floor (20/32) 1 1 0
fm_wd_bit_idx 31 + 32 ´ {1,1,0} – {52,53,21} 11 10 10
From off-chip, for reading the G-LUT[15] bit, read one frame (MNA=47). For writing the F-
LUT[14] bit, we show how to read then write one frame (MNA=46), as opposed to modifying
data from a bitstream file (both are valid methods). The frames on the XCV100 contain 13
32-bit words and one pad word. Remember that fm_st_wd is calculated assuming the entire
configuration has been read. However, only the pad frame and then frames 46 and 47 from
Major Address 30 are being read. The desired bit is in Frame 1, word #1, which is word 15.
The commands for reading both frames (and the pad frame) are given in Figure 25.
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Instruction Hex
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 5566 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0
Write next (1) word to FAR 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
CLB MJA=30, MNA=46 003C 5800 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
Write next word to CMD 3000 8001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Register value for RCFG 0000 0004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
Read from FDRO 2800 602A 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0
Flush pipe 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(read 42 words)
Notes:
1. Binary data is grouped in two ways for ease of interpretation. Thin vertical lines separate nibble boundaries. Heavy vertical lines
separate field boundaries.
Figure 25: Commands to Read Two Data Frames
The 42 words read are shown in Figure 26. F-LUT[14] is in the second frame (frame=1,
word=1) at bit 10. The value read is a "1", but because the LUT bits are inverted, the logic value
is zero. G-LUT[15] is in word one of the third data frame (frame=2, word=1) at bit 11.The value
read is a "1", which is a logic zero.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Frame Word
9
8
7
6
5
4
3
2
1
0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0
6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 F[14]
3
2 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0
3 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0
4 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0
5 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 4
6 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0
1
7 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0
8 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1
9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 5
10 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
11 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0
12 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
13 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 G[15]
2 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
3 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0
4 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
5 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1
6 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
2
7 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
8 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
10 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
11 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
12 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0
13 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Figure 26: Three Frames Containing the Semaphores
To write to the F-LUT semaphore, start with the second data frame (frame=1) that was just
read. Words 1 - 13 of that frame will become words 0 - 12 of the frame to be written. Word 13
of this new frame is a pad word and can have any value (typically 0 is chosen). In this new
frame, set bit 11 of word 0 (zero) to the desired value of the semaphore. A pad frame must
follow the data frame. The commands from Figure 27 write these two frames into the device at
the proper location.
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Instruction Hex
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0
5566
Write next (1) word to FAR 3000 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
2001
MJA=30, MNA=46 003C 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0
5C00
Write next word to CMD 3000 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
8001
Register value for WCFG 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0001
Write 28 words to FDRI 3000 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0
401C
Data Word 0 A01A 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
EC00
Data Word 1 FF0F 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
3FC0
Data Word 2 0FF0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0
02FC
…
(instruction register) with the CFG_OUT instruction. Then go to the SDR (Shift-DR) state and
shift the data out. (See Figure 28).
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Instruction Hex
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 5566 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0
Write next word to FAR. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
CLB MJA=0, MNA=0 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1
Write next word to CMD 3000 8001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
register.
Register value for RCFG 0000 0004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
Read from FDRO register.
15876 words
2800 6000
4800 3E04
0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0
2
Flush pipe 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Read 15876 words.)
Write to FAR register. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
3
RAM MJA=0, MNA=0 0200 0000 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read 780 words from 2800 630C 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0
FDRO reg.
Flush pipe
(Read 780 words.)
0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4
Write to FAR register. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
RAM MJA=1, MNA=0 0202 0000 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read 780 words from
FDRO reg.
2800 630C 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0
5
Flush pipe. 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Read 780 words.)
Figure 28: Example 2 - Read Complete Configuration for XCV50 6
Example 3: Read the Slice 0 G-LUT from CLB R1 C1 from the Complete
Configuration of an XCV50.
The commands for reading the bitstream from the Virtex device are given in "Example 1: Read
and Write Semaphores in an XCV100 at CLB R1 C1, Slice 0." on page 27. Using an XCV50
device, the independent attributes are show in Table 28:
From the equations given earlier in Table 7, calculating the range of values for fm_st_wd
indicates that the word 13740 of the configuration is the starting word of the 12-word (FL=12)
frame containing bit 0 of the G-LUT in Slice 0 of CLB R1C1 (Table 29).
The configuration bits for the given frame are as follows. G-LUT[0] is in fm_wd=0, at bit #11.
All 16 LUT SelectRAM bits are in the following words at the same bit index, 11.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
13741 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
13753 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1
13765 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 2
13777 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 3
13789 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 4
13801 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 5 1
13813 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 6
13825 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 7
13837 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 8
13849 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 9
2
13861 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 10
13873 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 11
13885 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 12
13897 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 13
3
13909 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 14
13921 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 15
Figure 30: Location of all 16 LUT SelectRAM Bits 4
The 16 bits are LUT[15:0]=0111111111111111. The LUT SelectRAM bits are inverted from
their logic values. The “logical” contents are LUT[15:0]=1000000000000000. Thus, this G-LUT
implements a 4-input AND function.
5
Example 4: Read the Slice 1 F-LUT from CLB R19 C16 from an XCV100.
Commands for reading the bitstream from the Virtex device are given in Figure 31. Use the
following independent attributes to find the given F-LUT.
6
Table 30: Virtex Bitstream Command Attributes
Independent Attributes Values
Chip_Rows 20
Chip_Cols 30
FL 14
CLB_Row 19
CLB_Col 16
FG 0
Slice 1
RW 1
From the equations in Table 7 on page 11, calculating fm_st_wd indicates the starting word with
respect to a configuration that starts at MJA=0, MNA=0. Because the frames we are interested
in start at MJA=1, MNA=0, which is fm_st_wd = 126, so the first 126 words are not needed (0–
125). Therefore, to find the given Slice 1 F-LUT, see Table 31.
Sixteen frames need to be read, one for each bit in the LUT SelectRAM. The bits in LUT
SelectRAMs in Slice 1 occur in the opposite order that they do for Slice 0 LUT SelectRAMs.
Frames are read sequentially with ascending addresses. If read in LUT bit order, LUT[0],
LUT[1], …, LUT[15]. These are stored in descending addresses which require 16 separate
read operations each reading one data frame and one pad frame. However, if read in ascending
address order, LUT[15], LUT[14], …, LUT[0], all 16 data frames are read with a single read
operation. This requires only one pad frame for all 16 frames. Thus, it takes less time to read
ascending frames starting at MJA=1, MNA=0 and finishing with frame MJA=1, MNA=15. The
frames in the XCV100 contain 14 32-bit words and a single pad word. Commands for reading
only the F-LUT data are given in Figure 31.
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
Instruction Hex 10
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 5566 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0
Write next (1) word to FAR. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
CLB MJA = 1, MNA = 0 0002 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Write next word to CMD. 3000 8001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Register value for RCFG 0000 0004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
Read from FDRO. 2800 60EE 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0
Flush pipe. 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Read 238 words.)
Figure 31: Commands to read Slice 1 F-LUT
The 377th bit of each frame is the bit in the F-LUT. This LUT SelectRAM bit is in the frame’s
word index 11, bit index 6.
The configuration bits for the given frame in Figure 32 are as follows: LUT Bit 15 is in MJA=1,
MNA=0, fm_wd=11, at bit #6.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
2 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
3 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0
4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
5 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1
6 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
7 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
8 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
10 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0
12 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0
13 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0
For the sake of brevity, here are the sixteen 11th words in the order they appear in the
bitstream.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
137 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 15
151 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 14
165 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 13
179 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 12
193 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 11
207 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 10
221 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 9
235 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 8
249 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 7
263 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 0 0 6
277 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 5
291 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 4
305 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 3
319 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 0 0 2
333 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1
347 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0
Figure 34: Sixteen Words Containing the F-LUT bit
The bits are LUT[15:0]=0111111111111111. The LUT SelectRAM bits are inverted from the
logic sense. The logical contents are LUT[15:0]=1000000000000000. Thus, this F-LUT
implements a 4-input AND gate.
Example 5: Read All Bits in Slice 0 G-LUTs from CLB C2 and XCV50.
Given the following attributes, the necessary values to find the G-LUT data can be computed.
Table 32: All Bits: Slice 0 G–LUTs from CLB C2 and XCV50
Independent Attributes Values
Chip_Rows 16
Chip_Cols 24
FL 12
CLB_Row 1:16
CLB_Col 2
FG 1
Slice 0
lut_bit 0:15
RW 1
Note that fm_bit_idx, fm_wd, and fm_wd_bit_idx have 16 values, one for each row on the
XCV50. Figure 36 shows where the data lies in the first frame, which contains G[0] for the entire
column. The process is the same for the other 15 frames. The commands for reading the LUT
SelectRAM data are given in Figure 35.
From the calculation for fm_st_wd, Frame 0 would start at word 12,588 reading the whole
configuration. The instructions in Figure 35 start at that word, so word 0 (ignoring the 12 words
in the pad frame) is the same as word 12,588 of the entire CLB configuration. The 12 words in
the frame are shown in Figure 36.
The LUT SelectRAM bits have been shaded for ease of identification. It can be seen from the
calculation of fm_bit_idx that the LUT SelectRAM bits are in the order 1:16. For example, from
the above calculations for fm_wd and fm_wd_bit_idx, G-LUT[0] in R1C2 is in fm_wd 1,
fm_wd_bit_idx 11. This bit is the shaded bit in word 1 at bit index 11. Similarly, the G-LUT[0] for
the other 15 CLB rows are also shaded in this table.
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Instruction Hex
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 5566 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0
Write next (1) word to FAR. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
CLB MJA=22, MNA=32 002C 4000 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Write next word to CMD. 3000 8001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Register value for RCFG 0000 0004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
Read from FDRO. 2800 60CC 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0
Flush pipe. 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Read 204 words.)
Figure 35: Commands to read R*C2.S0 G-LUT
Since we are attempting to read only one bit location, only one frame is necessary to be read.
We use the equations of Table 15, Table 16, and Table 17 to determine the dependent
variables.
Commands for reading this memory index are given in Figure 37.
4
Data
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
Instruction Hex
9
8
7
6
5
4
3
2
1
0
Sync Word AA99 5566 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 5
Write next (1) word to FAR. 3000 2001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
CLB MJA = 4, MNA = 24 0208 3000 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Write next word to CMD. 3000 8001 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Register value for RCFG 0000 0004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 6
Read from FDRO. 2800 601C 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0
Flush pipe. 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Read 28 words.)
Figure 37: Commands to read Block SelectRAM index 387
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
2 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
3 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0
4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
5 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1
6 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
7 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
8 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
10 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0
12 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0
13 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0
Capture Data
The flip-flop and pad data saved from the logic cells and I/O blocks into the bitstream. Use the
CAPTURE_VIRTEX primitive in your HDL code to specify the trigger and clock for the capture
operation.
Configuration Bitstream
Configuration commands, optionally with configuration data.
Configuration Commands
Instructions for the Virtex device. There are two classes of Configuration Command — Major
and Minor. The Major Commands read and write data to configuration registers in the Virtex
device. The Minor commands instruct the Virtex configuration logic to perform specific
functions. See "Command Register (CMD)" on page 18.
Configuration Data
Bits that directly define the state of programmable logic. These are written to a Virtex device in
a configuration bitstream, and read as Readback Data from a Virtex device.
Configuration Frame
The configuration bits in a Virtex device are organized in columns. A column of CLBs with the
I/O blocks above and below the CLBs contain 48 frames of configuration bits. The smallest
number of bits that can be read or written through the configuration interfaces is one frame.
Configuration Interface
A logical interface on the Virtex device through which configuration commands and data can be
read and written. A interface consists of one or more physical Device Pins.
1
Configuration Readback
The operation of reading Configuration Data (also known as Readback Data) from a Virtex
device.
Device Pin
2
One of the electrical connections on the package containing the Virtex device.
Frame
See Configuration Frame.
3
Logic Cell (LC)
The basic building block of the Virtex CLB. An LC includes a 4-input function generator, carry
logic, and a storage element. 4
LUT SelectRAMs
Shallow RAM structures implemented in CLB Lookup Tables (LUTs). See also block
SelectRAM section.
5
Pad
Pad bits are extra bits used to make the total number of bits in a frame an integral multiple of 32,
the number of bits in a configuration word. A Pad Word is an extra word used at the end of a
Configuration Frame for pipelining. A Pad Frame is an extra Configuration Frame used at the 6
beginning of a Configuration Readback and at the end of a Configuration Write for pipelining.
Readback Data
Configuration data read from a Virtex device. The data is organized as Configuration Frames.
SelectMAP Interface
One of the configuration interfaces on the Virtex device. This is a byte-serial interface. The pins
in the SelectMAP interface may be used as user I/O after configuration has been completed or
remain configured as a configuration interface.
Slice
A subdivision of the Virtex CLB. There are two, vertical, slices in a Virtex CLB. Each slice
contains two Logic Cells.
Sync Word
A 32-bit word with a value that is used to synchronize the configuration logic.
Revision The following table shows the revision history for this document.
History Date Version Revision
6/17/99 1.0 Initial Release
7/27/99 1.1 Updated the following tables: Table 5: equation for MNA; Table 7:
equations for MJA & fm_bit_idx.
9/20/99 1.2 Changes in page 5. Most formulae in Table 7 have been revised.
Documented pad capture value P. Corrected bit locations in
Examples.
2/22/00 1.3 Updated to include Virtex-E block SelectRAM. Corrected
fm_bit_idx (Right IOB) equations in Table 12 and fm_st_wd
definition. Corrected CRC algorithm. Various corrections in
Examples. Reformatted and edited document and figures.
6/15/00 1.4 Updated to include Virtex-EM devices in Table 3 and Table 24.
R
0 3
Virtex FPGA Series Configuration and
Readback
XAPP138 (v2.1) June 15, 2000
Summary This application note is offered as complementary text to the configuration section of the
Virtex™ data sheet. It is strongly recommended that the Virtex data sheets be reviewed prior to 1
reading this note. Virtex FPGAs offer a broader range of configuration and readback
capabilities than previous generations of Xilinx FPGAs. This note first provides a comparison of
how Virtex configuration is different from previous Xilinx FPGAs, followed by a complete
description of the configuration process and flow. Each of the configuration modes are outlined
and discussed in detail, concluding with a complete description of data stream formats, and 2
readback functions and operations.
3
Introduction Configuration is the process of loading a design bitstream into the FPGA internal configuration
memory. Readback is the process of reading that data.
Virtex configuration logic is significantly different from that of the XC4000 series, but maintains
a great deal of compatibility to all Xilinx FPGA families. This information was prepared with the 4
XC4000 series user in mind, but the new user of Xilinx FPGAs need not review XC4000 series
configuration-related material.
Virtex Series vs. This section discusses the major configuration differences between the Virtex series and 5
XC4000 Series previous Xilinx FPGA families.
Serial Modes
The Master and Slave Serial modes perform essentially the same as those of previous FPGA
families. For a detailed description, see "Master/Slave Serial Modes" on page 56.
© 2000 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.
Parallel Modes
The SelectMAP mode is the 8-bit parallel mode for Virtex devices that is similar to Express
mode in XC4000XLA and Spartan®-XL. As with these other Xilinx device families, D0 is
considered the MSB. For a detailed description, see "SelectMAP Mode" on page 57. Previous
users of peripheral modes should find the transition to SelectMAP fairly straight-forward.
Virtex devices do not have a Master Parallel mode. Users who prefer to store configuration data
on parallel EPROMs should read the Xilinx application note XAPP137 "Configuring Virtex
FPGAs from Parallel EPROMs".
Daisy-Chaining
Virtex FPGAs can be serially daisy-chained for configuration just as all previous Xilinx FPGAs,
see "Master/Slave Serial Modes" on page 56. All devices in the chain must be in one of the
serial modes. The SelectMAP mode does not support any serial daisy-chaining. Multiple Virtex
devices can, however, be configured through the SelectMAP interface in a parallel fashion, see
"SelectMAP Mode" on page 57. An example of this is also demonstrated in application note
XAPP137 "Configuring Virtex FPGAs from Parallel EPROMs".
For Serial Slave and SelectMAP configuration modes, VCCO can be any voltage (as long as it
is ³ 1.8V £ 3.3V) provided one meets the VIH/VIL levels of the resulting input buffer (see data
sheet). Any pin that is a shared I/O, such as INIT, DOUT/BUSY, and DONE should have an
added pull-up resistor or utilize the internal pull-up resistors. The dedicated CONFIG and JTAG
pins should be pulled up to at least VCCINT (1.8V). Additionally, VCCO_2 must be pulled to a
value above 1.0V during power-up of the FPGA.
JTAG inputs are independent of VCCO and work between 2.5V and 3.3V TTL levels. TDO is
sourced from VCCO_2 and should be 1.8V, 2.5V, or 3.3V depending on what the TDI of the next
device accepts. 1
BitGen Switches and Options
This section describes new optional settings for bitstream generation that pertain only to Virtex
devices. The new BitGen options are listed in Table 2 and described below. 2
Table 2: Virtex-Specific BitGen Options
Switch Default Setting Optional Setting
Readback N/A N/A
3
ConfigRate MHz 4 4, 5, 7, 8, 9, 10, 13, 15, 20, 26, 30, 34, 41, 45,
(nominal) 51, 55, 60
StartupClk CCLK UserClk, JtagClk 4
DONE_cycle 4 1, 2, 3, 5, 6
GTS_cycle 5 1, 2, 3, 4, 6, DONE
GSR_cycle 6 1, 2, 3, 4, 5, DONE
5
GWE_cycle 6 1, 2, 3, 4, 5, DONE
LCK_cycle NoWait 0, 1, 2, 3, 4, 5, 6
Persist No X1, X8
DriveDONE No Yes
6
DonePipe No Yes
Security None Level1, Level2
UserID N/A <hex string> (32-bit)
Gclkdel0 N/A <binary string>
Gclkdel1 N/A <binary string>
Gclkdel2 N/A <binary string>
Gclkdel3 N/A <binary string>
Readback
The Readback option causes BitGen to write out a readback command file <design>.rbb.
For more information, see "Readback" on page 70.
ConfigRate
The ConfigRate is the internally generated frequency of CCLK in Master Serial mode. The
initial frequency is 2.5 MHz. The CCLK changes to the selected frequency after the first
60 bytes of the bitstream have been loaded. For details, see "Bitstream Format" on page 61. It
should also be noted that the CCLK periods have a variance of - 30% to +45% from the
specified value.
StartupClk
The StartupClk option selects a clock source to synchronize the Start-up Sequence. The
default is CCLK which is standard for most configuration schemes. However, some applications
require that the Start-up Sequence be synchronized to another clock source (UserClk) which
must be specified in the user design. If configuring in Boundary Scan, select the JTAGClk
option. For more information on Boundary Scan, refer to application note XAPP139
"Configuration and Readback of Virtex FPGAs Using (JTAG) Boundary Scan".
DONE_cycle
The DONE_cycle specifies which state of the Start-up Sequence releases the DONE pin. For
more information on the Start-up Sequence, see "Start-up Sequence" on page 51.
GSR_cycle
The GSR_cycle specifies which state of the Start-up Sequence releases the internal
GlobalSetReset signal. The GSR signal holds all internal flip-flops in their configured initial
state. The DONE setting asserts the GSR asynchronously as DONE transitions High unless
the DonePipe option is used. If the DonePipe option is used, it releases GSR on the first rising
edge of the StartupClk after DONE transitions High.
GWE_cycle
The GWE_cycle specifies which state in the Start-up Sequence releases the internal
GlobalWriteEnable signal. This signal is not accessible to the user. It keeps all flip-flops, and
RAM from changing state. However, DLL is not affected by GWE. The DONE setting asserts
GWE asynchronously as DONE transitions High unless the DonePipe option is used. If the
DonePipe option is used, it releases GWE on the first rising edge of the StartupClk after DONE
transitions High.
GTS_cycle
The GTS_cycle specifies which cycle of the Start-up Sequence releases the internal Global 3-
state signal. The GTS signal holds all outputs disabled. The DONE setting asserts the GTS
asynchronously as DONE transitions High unless the DonePipe option is used. If the DonePipe
option is used, it releases GSR on the first rising edge of the StartupClk after DONE transitions
High.
LCK_cycle
The LCK_cycle specifies in which state the Start-up Sequence should stay until a DLL has
established a Lock. The default setting of NoWait is used whenever a DLL is not used in a
design. When a DLL is used, the Start-up Sequence should not be delayed for a DLL lock. If a
wait state is specified by this option, the Start-up Sequence proceeds to the specified state, but
then waits in that state until DLL lock occurs.
Since there are four DLLs per device, the LCK_cycle option must be used with a DLL attribute
in the design. For more information on DLL attributes, see application note XAPP132 "Using
the Virtex Delay-Locked Loop".
Persist
If the Persist option is unspecified, or specified with a default setting of No, then all configuration
pins other than CCLK, PROGRAM, and DONE become user I/O after configuration. The
Persist switch causes the configuration pins to retain their configuration function even after
configuration. The X1 setting is reserved for future use and should not be used. The X8 setting
applies to the SelectMAP interface and X8 setting must be selected if readback is to be
performed through the SelectMAP interface. The Persist switch does not affect Boundary Scan
ports.
DriveDONE
By default, the DONE pin is an open-drain driver. However, if the DriveDONE option is set to
Yes, then DONE becomes an active driver, and no external pull-up is needed.
DonePipe
Independent of the DONE_cycle setting, after releasing DONE, the Start-up Sequence waits
for DONE to be externally asserted High before continuing. The rise time of DONE depends on
its external capacitive loading and is less than one CCLK period.
1
The DonePipe option adds a pipeline register stage between the DONE pin and the start-up
circuitry. Useful for high configuration speeds when the rise time for DONE cannot be faster
than one CCLK period.
Security 2
Security level settings restrict access to configuration and readback operations. If the
Persistence option is not set, then configuration ports are not available after configuration.
However, the Boundary Scan ports are always active and have access to configuration and
readback. 3
Setting security Level 1 disables all readback functions from either the SelectMAP or Boundary
Scan ports.
Setting security Level 2 disables all configuration and readback functions from all configuration
and Boundary Scan ports. 4
The only way to remove a security level in a configured device is to de-configure it by asserting
PROGRAM or recycling power.
UserID
5
The UserID is a 32-bit data word accessible through the Boundary Scan USERCODE
command. The data word can be any arbitrary 32-bit value. To include a UserID in a bitstream,
set the UserID option to the HEX representation of the desired data word <XXXXXXXX>h.
Gclkdel 6
The Gclkdel option adds delay to one of the four global clock buffers. This option is only used
in PCI applications.
Start-up Sequence
Start-up is the transition from the configuration state to the operational state. The Start-up
Sequence activates an FPGA upon the successful completion of configuration. The Start-up
Sequencer is an 8-phase sequential state machine that transitions from phase 0 to phase 7.
See Figure 1.
The Start-up Sequencer performs the following tasks:
1. Releases the DONE pin.
Default Cycles
Start-upCLK
Phase 0 1 2 3 4 5 6 7
DONE
GTS
GSR
GWE
Sync to DONE
Start-upCLK
Phase 0 1 2 3 4 5 6 7
DONE High
DONE
GTS
GSR
GWE
x138_01_041300
Configuration The external configuration process is simply a matter of loading the configuration bitstream into
Process and the FPGA using the selected configuration mode. The configuration process follows the flow
illustrated in Figure 2.
Flow
Power-Up
The VCCint power pins must be supplied with a 2.5V source. The rise time for the core voltage
should be a maximum of 50 ms to rise from 1.0V to 2.4V. The IOB output voltage input for
Bank 2 (VCCO_2) is also used as a logic input to the Power-On-Reset (POR) circuitry. This value 1
must be greater than 1.0V for power-up to continue. If this bank is not being used, a pull-up
should be added to VCCO_2.
PowerUp
VCCO_2 No PROGRAM
> 1.0V = Low
Yes Yes
Keep Clearing
Configuration
Memory
Clear Configuration
Memory Once More
INIT No
High?
Yes
Master Serial
CCLK Begins
Load Configuration
Data Frames
Yes
Start-up
Sequence
Operational
x138_02_022400
the configuration memory. The minimum Low pulse time for PROGRAM is 300 ns. There is no
maximum value.
Delaying Configuration
The INIT pin may also be held Low externally to delay configuration of the FPGA. The FPGA
samples its mode pins on the rising edge of INIT. After INIT has gone High, configuration may
begin. No additional time-out or waiting periods are required, but configuration does not need to
commence immediately after the transition of INIT. The configuration logic does not begin
processing data until the synchronization word from the bitstream is loaded.
1
Loading Configuration Data
The details of loading the configuration data are discussed in the following sections of the
configuration modes, see "Master/Slave Serial Modes" on page 56 and "SelectMAP Mode" on
2
page 57.
Configuration Pins
Certain pins in the FPGA are designated for configuration and are listed in Table 3. Some pins
are dedicated to the configuration function and others are dual-function pins that can be user
I/O after configuration.
Master/Slave In serial configuration mode, the FPGA is configured by loading one bit per CCLK cycle. In
Serial Modes Master Serial mode, the FPGA drives the CCLK pin. In Slave Serial mode, the FPGAs CCLK
pin is driven by an external source. In both serial configuration modes, the MSB of each data
byte is always written to the DIN pin first.
The Master Serial mode is designed so the FPGA can be configured from a Serial PROM
(Figure 3). The speed of the CCLK is selectable by BitGen options, see "BitGen Switches and
Options" on page 49. Be sure to select a CCLK speed supported by the SPROM.
The Slave Serial configuration mode allows for FPGAs to be configured from other logic
devices, such as microprocessors, or in a daisy-chain fashion. Figure 3 shows a Master Serial
FPGA configuring from an SPROM with a Slave Serial FPGA in a daisy-chain with the Master.
Daisy-Chain Configuration
Virtex FPGAs may only be daisy-chained with XC4000X, SpartanXL, Spartan-II or other Virtex
FPGAs for configuration. There are no restrictions on the order of the chain. However, if a Virtex
FPGA is placed as the Master and a non-Virtex FPGA is placed as a slave, select a
configuration CCLK speed supported by all devices in the chain.
The separate bitstreams for the FPGAs in a daisy-chain are required to be combined into a
single PROM file by using either the PROM File Formatter or the PROMgen utility. Separate
PROM files may not be simply concatenated together to form a daisy-chain bitstream.
The first device in the chain is the first to be configured. No data is passed onto the DOUT pin
until all the data frames, start-up command, and CRC check have been loaded. CRC checks
only include the data for the current device, not for any others in the chain. After finishing the
first stream, data for the next device is loaded. The data for the downstream device appears on
DOUT typically about 40 CCLK cycles after being loaded into DIN. This is due to internal packet
processing. Each daisy-chained bitstream carries its own synchronization word. Nothing of the
first bitstream is passed to the next device in the chain other than the daisy-chained
configuration data.
The DONE_cycle must be set before GTS and GSR, or the GTS_cycle and GSR_cycle must
be set to the value DONE for the Start-up Sequence of each Virtex device not to begin until all
of the DONE pins have been released. When daisy-chaining multiple Virtex devices, either set
the last device in the chain to DriveDONE, or add external pull-up resistors to counteract the
combined capacitive loading on DONE. If non-Virtex devices are included in the daisy-chain, it
is important to set their bitstreams to SyncToDONE with BitGen options. For more information
on Virtex BitGen options, see "BitGen Switches and Options" on page 49.
M0 M1 M0 M1
PROM M2 M2
1
DATA DIN DOUT DIN DOUT
RESET/OE
VIRTEX
MASTER
VIRTEX,
XC4000X,
2
SERIAL Note 1 SpartanXL
(Low Reset Option Used) Optional
SLAVE
Pull-up
on DONE1
PROG PROG
PROGRAM
x138_03_041100 4
Figure 3: Master/Slave Serial Mode Circuit Diagram
Notes:
1. If no Virtex device is selected to DriveDONE, an external pull-up of 330W should be added to the 5
common DONE line. With SpartanXL devices a 4.7KW pull-up resistor should be added to the
common DONE line. This pull-up is not needed if DriveDONE is selected. DriveDONE should only be
selected for the last device in the configuration chain.
6
PROGRAM
INIT
Master CLK Begins Here(1)
CCLK
x138_04_022400
Notes:
1. For Slave configurations a free running CCLK may be used as indicated in Figure 4. For Master
configurations, the CCLK does not transition until after initialization as indicated by the arrow.
SelectMAP The SelectMAP mode provides an 8-bit bidirectional data bus interface to the Virtex
Mode configuration logic that may be used for both configuration and readback. Virtex devices may
not be serially daisy-chained when the SelectMAP interface is used. However, they may be
connected in a parallel-chain as shown in Figure 5. The DATA pins (D0:D7), CCLK, WRITE,
BUSY, PROGRAM, DONE, and INIT may be connected in common between all of the devices.
CS inputs should be kept separate so each device may be accessed individually. If all devices
are to be configured with the same bitstream, readback is not being used, and CCLK is less
than 50 MHz, the CS pins may be connected to a common line so the devices are configured
simultaneously.
Although Figure 5 does not show a control module for the SelectMAP interface, the SelectMAP
interface is typically driven by a processor, micro controller, or some other logic device such as
an FPGA or a CPLD.
WRITE
When asserted Low, the WRITE signal indicates that data is being written to the data bus.
When asserted High, the WRITE signal indicates that data is being read from the data bus.
CS
The Chip Select input (CS) enables the SelectMAP data bus. To write or read data onto or from
the bus, the CS signal must be asserted Low. When CS is High, Virtex devices do not drive onto
or read from the bus.
BUSY
When CS is asserted, the BUSY output indicates when the FPGA can accept another byte. If
BUSY is Low, the FPGA reads the data bus on the next rising CCLK edge where both CS and
WRITE are asserted Low. If BUSY is High, the current byte is ignored and must be reloaded on
the next rising CCLK edge when BUSY is Low. When CS is not asserted, BUSY is tri-stated.
BUSY is only necessary for CCLK frequencies above 50 MHz. For frequencies at or below
50 MHz, BUSY is ignored, see "Express-Style Loading" on page 59. For parallel chains, as
shown in Figure 5, where the same bitstream is to be loaded into multiple devices
simultaneously, BUSY should not be used. Thus, the maximum CCLK frequency for such an
application must be less than 50 MHz.
CCLK
The CCLK pin is a clock input to the SelectMAP interface that synchronizes all loading and
reading of the data bus for configuration and readback. Additionally, the CCLK drives internal
configuration circuitry. The CCLK may be driven either by a free running oscillator or an
externally-generated signal.
DATA[0:7]
CCLK
WRITE
BUSY
M1 M2 M1 M2
M0 M0
VIRTEX
SelectMAP
VIRTEX
SelectMAP
1
D[0:7] D[0:7]
CCLK CCLK
WRITE WRITE 2
BUSY BUSY
CS(0) CS CS(1) CS
Optional
Pull-up
PROG PROG
3
on DONE1 DONE INIT DONE INIT
DONE
PROGRAM
INIT 4
X138_05_082599
Express-Style Loading
In express-style loading, a data byte is loaded on every rising CCLK edge as shown in Figure 6.
If the CCLK frequency is less than 50 MHz, this can be done without handshaking. For
frequencies above 50 MHz, the BUSY signal must be monitored. If BUSY is High, the current
byte must be reloaded when BUSY is Low.
The first byte may be loaded on the first rising CCLK edge that INIT is High, and when both CS
and WRITE are asserted Low. CS and WRITE may be asserted anytime before or after INIT
has gone High. However, the SelectMAP interface is not active until after INIT has gone High.
The order of CS and WRITE does not matter, but WRITE must be asserted throughout
configuration. If WRITE is de-asserted before all data has been loaded, the FPGA aborts the
operation. To complete configuration, the FPGA must be reset by PROGRAM and reconfigured
with the entire stream. For applications that need to de-assert WRITE between bytes, see
"Controlled CCLK" on page 61.
PROGRAM
INIT
CCLK
CS
WRITE
BUSY BUSY
PROGRAM
INIT
CCLK
CS
WRITE
BUSY
High-Z High-Z High-Z
Controlled CCLK
Some applications require that WRITE be de-asserted between the loading of configuration
data bytes asynchronously from the CS. Typically, this would be due to the WRITE signal being
a common connection to other devices on the board, such as memory storage elements. In
such a case, driving CCLK as a controlled signal instead of a free-running oscillator makes this
type of operation possible. In Figure 8, the CCLK, CS, and WRITE are asserted Low while a
data byte becomes active. Once the CCLK has gone High, the data is loaded. WRITE may be
de-asserted and re-asserted as many times as necessary, just as long as it is Low before the
next rising CCLK edge.
1
CCLK
2
CS
WRITE
3
DATA[0:7] Byte 0 Byte 1 Byte n
X138_08_120299
Bitstream The Virtex bitstream has a very different format from that of all other Xilinx FPGAs. The typical
Format FPGA user does not need a bit-level understanding of the configuration stream. However, for
the purpose of debugging, designing embedded readback operations, or otherwise complex
5
styles of configuring multiple FPGAs, a review of the bitstream format is recommended.
Therefore, this section describes the Virtex bitstream, the internal configuration logic, and the
internal processing of configuration data.
6
Data Frames
The internal configuration memory is partitioned into segments called "Frames." The portions
of the bitstream that actually get written to the configuration memory are "Data Frames." The
number and size of frames varies with device size as shown in Table 4. The total number of
configuration bits for a particular device is calculated by multiplying the number of frames by the
number of bits per frame, and then adding the total number of bits needed to perform the
Configuration Register Writes shown in Table 7.
Configuration Registers
Table 5: Internal Configuration Registers
Symbol Register Name Address
CMD Command 0100b
FLR Frame Length 1011b
COR Configuration Option 1001b
MASK Control Mask 0110b
CTL Control 0101b
FAR Frame Address 0001b
FDRI Frame Data Input 0010b
CRC Cyclic Redundancy Check 0000b
FDRO Frame Data Output 0011b
LOUT Daisy-chain Data Output (DOUT) 1000b
The Virtex configuration logic was designed so that an external source may have complete
control over all configuration functions by accessing and loading addressed internal
configuration registers over a common configuration bus. The internal configuration registers
that are used for configuration and readback are listed in Table 5. All configuration data, except
the synchronization word and dummy words, is written to internal configuration registers.
The first command set prepares the internal configuration logic for the loading of the data
frames. The internal configuration logic is first initialized with several CCLK cycles represented
by dummy words, and then synchronized to recognize the 32-bit word boundaries by the
synchronization word. The CRC register and circuitry must then be reset by writing the RCRC
command to the CMD register. The frame length size for the device being configured is then
loaded into the FLR register. The configuration options are loaded into the COR. The CCLK
frequency selected is specified in the COR; however, to switch to that frequency the SWITCH
command must be loaded into the CMD register. Now the data frames can be loaded.
The second command set loads the configuration data frames. First, a WCFG (Write
Configuration) command is loaded into the CMD register activating the circuitry that writes the
data loaded into the FDRI into the configuration memory cells. To load a set of data frames, the
starting address for the first frame is first loaded to the FAR, followed by a write command, and
then by the data frames to the FDRI. The FDRI write command also specifies the amount of
data that is to follow in terms of the number of 32-bit words that comprise the data frames being
written. Typically, three large sets of frames are loaded by this process. When all but the last
frame has been loaded, an initial CRC checksum is loaded into the CRC register. The Last
Frame command (LFRM) is loaded into the CMD register followed by a final FDRI write
command and the last data frame into the FDRI register.
The third command set initializes the Start-up Sequence and finishes CRC checking. After all
the data frames have been loaded, the START command is loaded into the CMD register,
followed by any internal control data to the CTL and by the final CRC value into the CRC
register. The four dummy words at the end are flushed through the system to provide the
finishing CCLK cycles to activate the FPGA.
After synchronization, all data (register writes and frame data) are encapsulated in packets.
There are two kinds of packets: Type 1 and Type 2. Type 1 packets are used for register writes.
A combination of Type 1 and Type 2 packets are used for frame data writes. A packet contains
two different sections: Header and Data. A Type 1 Packet Header, shown in Figure 10, is
always a single 32-bit word that describes the packet type, whether it is a read/write function or
a specific configuration register address (see Table 5) as the destination, and how many
32-bit words are in the following Packet Data portion. A Type 1 Packet Data portion may contain
anywhere from 0 to 2,047 32-bit data words.
The first packet in Table 8 is a Type 1 packet header that specifies writing one data word to the
CMD register. The following packet data is a data word specifying a reset of the CRC register
(compare the data field of Table 8 to the binary codes of Table 6).
1
The second packet in Table 8 loads the frame size into the FLR. The value is the frame size
from Table 4, divided by 32, minus 1, and converted to Hex (e.g., the FLR for a V300 is 14h).
The third packet loads the configuration options into the COR register. The binary description of
this register is not documented. Following this is a similar write of the SWITCH command to the
CMD register which selects the CCLK frequency specified in the COR. Finally, the WCFG
2
command is loaded into the CMD register so the loading of frame data may commence.
Table 9 shows the packets that load all the data frames starting with a Type 1 packet to load the
starting frame address, which is always 0h.
3
Operation Register Address Byte Word Count
Packet Header Type (Write/Read) (Destination) Address (32-bit Words)
Bits[31:0] 31:29 28:27 26:13 12:11 10:0
Type 1 001 10/01 XXXXXXXXXXXXXX XX XXXXXXXXXXX 4
Figure 10: Type 1 Packet Header
The loading of data frames requires a combination of Type 1 and Type 2 packets. Type 2
packets must always be preceded by a Type 1 packet that contains no packet data. A Type 2
packet also contains both a header and a data portion, but the Type 2 packet data can be up to
1,048,575 data words in size.
The Type 2 packet header, shown in Figure 11, differs slightly from a Type 1 packet header in
that there is no Register Address or Byte Address fields.
To write a set of data frames to the configuration memory, after the starting frame address has
been loaded into the FAR, a Type 1 packet header issues a write command to the FDRI,
followed by a Type 2 packet header specifying the number of data words to be loaded, and then
followed by the actual frame data as Type 2 packet data. Writing data frames may require a
Type 1/Type 2 packet combination, or a Type 1 only. This depends on the amount of data being
written.
This series of FAR and FDRI writes is executed three times to load all but the last data frame.
Before the last data frame is loaded, a CRC check is made. To load the last frame, a LFRM
command is written to the CMD register followed by a Type 1/Type 2 packet combination to the
FDRI, just as before, except that there is no FAR specified. The FAR is not needed when writing
the last data frame.
Table 10 shows the packets needed to issue the start-up operations and load the final CRC
check. The FPGA does not go active until after the final CRC is loaded. The number of clock
cycles required to complete the start-up depends on the BitGen options. Completion of the
configuration process requires eight to 16 clock cycles after the final CRC is loaded. Typically,
DONE is released within the first seven CCLK cycles after the final CRC value is loaded but, the
rest of the dummy data at the end of the stream should continue to be loaded. The FPGA needs
the additional clock cycles to finish internal processing, but this is not a concern when a free-
running oscillator is used for CCLK. In serial mode this requires only 16 bits (two bytes), but in
SelectMAP mode, this requires 16 bytes of dummy words at the end of the bitstream. Since the
intended configuration mode to be used is unknown by Bitgen, four 32-bit dummy words (16
bytes) are always placed at the end of the bitstream.
This description is a model that may be used to generate an identical CRC value. The actual
circuitry in the device is a slightly more complex Parallel CRC circuit that produces the same
result.
SHIFT
Readback Readback is the process of reading all the data in the internal configuration memory. This can
be used to verify that the current configuration data is correct and to read the current state of all
internal CLB and IOB registers as well as the current LUT RAM and block RAM values.
Readback is only available through the SelectMAP and Boundary Scan interfaces. This
application note only demonstrates the use of the SelectMAP interface for performing
readback. For information on using the Boundary Scan interface for readback refer to
application note XAPP139 “Configuration and Readback of Virtex FPGAs Using (JTAG)
Boundary Scan”.
Trigger with
External or CAPTURE_VIRTEX
Internal Signal.
CAP
1
CLK
Synchronize
to External or
Internal Clock. X138_13_082599
2
Figure 13: Readback Capture Library Primitive
Readback Operations
Readback is performed by reading a data packet from the FDRO register. The flow for this
process is shown in Figure 14.
Set FAR
Activate RCFG
Address FDRO
X138_14_082599
The entire configuration memory map cannot be read in one readback sequence. Three
sequences are required: one for the CLB frames and two for the block RAM frames. However,
all of the configuration data frames that need to be read for verification, as well as all of the
register states stored by Capture, are contained within the CLB frames. The other frame
sections contain the configuration data for the columns of block RAMs. The block RAM
configuration data need not be used for verification purposes, but may be used to extract the
current internal states of the block RAMs just as Capture is used to extract the current internal
states of registers. Therefore, a full readback and capture would require three separate
readback sequences, but a simple verification requires onlyone (the CLB frames). This section
describes the process for readback of the CLB Frames. For readback of the block RAM frames,
first review this section and then refer to "Readback of Block RAM Frames" on page 81.
Table 13 shows the command set to initiate a readback of the CLB Frames. This command set
is provided in the <design>.rbb file shown in Figure 19, <design>.rba and the
<design>.msk file shown in Figure 17 on page 76.
To perform the first readback sequence after configuration, it is not necessary to re-synchronize
the SelectMAP interface. However, if re-synchronization is required, an ABORT process should
be executed followed by loading the synchronization word. See Table 13. If a re-
synchronization is not necessary, the synchronization word may be omitted from the readback
command set. If the synchronization word is reloaded, it is merely interpreted as a “No
Operation” command and is ignored. The total readback command set, not including the
synchronization word, is 24 bytes.
Since all data loaded through the SelectMAP interface is processed as 32-bit words, re-
synchronization is needed when either an unknown number (or a number that is not a multiple
of four bytes) of data write cycles have taken place since the last command was loaded.
Once the configuration logic is synchronized, set the starting frame address in FAR as shown
in Table 13. For a complete readback of the CLB frames, this is always 32 x 0h. However, this
value is different for the block RAM frames. See "Readback of Block RAM Frames" on page 81.
Next, load the RCFG command into the CMD register to set the FPGA for readback. Address
the FDRO register with a Type 1 read packet data header that specifies "0" following data 1
words. Follow that with a Type 2 read data packet header which specifies the number of 32-bit
words to be readback. The number of data words to be readback depends on which Virtex
device is being readback, shown in Table 14. Type 1 or Type 2 headers may be used depending
on the amount of data that is to be readback. See "Bitstream Format" on page 61.
2
Table 14: CLB Frame Word Counts per Device
TYPE 2 Packet Header for CLB Frames Word
Device CLB Frames Count
XCV50 4800 3E04h 15876 3
XCV50E 4800 408Ch 16524
XCV100 4800 581Ah 22554
XCV100E 4800 5B0Eh 23310 4
XCV150 4800 76B0h 30384
XCV200 4800 99C6h 39366
XCV200E 4800 9D92h 40338 5
XCV300 4800 CB07h 51975
XCV300E 4800 CF75h 53109
XCV400 4801 29F3h 76275
XCV400E 4801 2F39h 77625
6
XCV405E 4801 4997h 84375
XCV600 4801 A90Ah 108810
XCV600E 4801 B5B2h 112050
XCV800 4802 2E36h 142902
XCV812E 4802 6EC2h 159426
XCV1000 4802 D80Dh 186381
XCV1000E 4802 E881h 190593
XCV1600E 4803 9EAFh 237231
XCV2000E 4804 7670h 292464
XCV2600E 4805 BB7Eh 375678
XCV3200E 4807 4799h 477081
Now the readback data is ready to be clocked out. The readback sequence is shown in
waveform format in Figure 15. First, assert the CS and WRITE signals and load the readback
command set data described above, or from either the <design>.rbb, .rba or .msk file.
See "Verifying Configuration Data" on page 75. for a detailed description of these files. Then,
de-assert WRITE and CS, and de-activate any external drivers on the D0 through D7 pins. To
begin reading back the data, assert CS leaving WRITE High. The readback data bytes are
driven out on each positive edge CCLK transition. Continue to clock for the entire readback
(Word Count x 4) bytes, and then de-assert CS. The process may be repeated for additional
readbacks.
CS
WRITE
WRITE READ
CCLK
X138_15_082599
X138_16_082599
The declarations portion is throw-away data. The first command set is for the CLB frames and
includes the synchronization word which may be omitted if an Abort has not been executed.
The second and third command sets are required for block RAM0 and block RAM1.
<design>.msk
x138_17_72699
The masking data is used to determine which of the data frame bits are configuration bits and
should be verified against the bitmap in the <design>.rbb readback file, and which bits are
either RAM or Capture bits and thus should be skipped. The MSK file will mask out the 32 bits
following each frame, but does not mask out the first 32-bit portion of the readback stream, nor
the first frame pad data or following 32-bit pipeline data portion. See Figure 18. The equation
for this file follows.
RBB[i] = MSK[i] * DATA[i].
Each bit position of the masking data corresponds to the bit position of the readback data.
Therefore, the first masking data bit specifies if the first bit of the first valid frame should be
verified against the bitmap <design>.rbb file. If the mask bit is a "0b," the frame bit should be
verified. If the mask bit is a "1b," the frame bit should not be verified. Since the mask file has the
32-bit pad data portions trailing the frames, at the end of each mask is a superfluous 32-bit
portion which may be ignored.
Readback
Data
Bitmap (.rbb)
32-bit Word
Declarations Pad Data Word
Mask (.msk)
and
Command Set FRAME DATA Pad Data Frame
1
Declarations
and
32-bit Word Command Set 32-bit Word Pad Data Word
FRAME DATA
FRAME MASK
FRAME DATA Frame 1 3
32-bit Word 32-bit Word
FRAME DATA
FRAME MASK
FRAME DATA 4
32-bit Word 32-bit Word Pad Data Word
The readback bit file <design>.rbb provides the configuration stream bitmap (data frames)
for verifying the readback data stream. This must be used instead of the bitstream
<design>.bit file, because, the frame data is encapsulated inside packets along with
command data that is not written into configuration memory. The readback bit file is shown in
Figure 19.
<design>.rbb
Unlike the mask file, the bitmap does take into account that the pad data in between the data
frames in the readback data stream proceed, rather than follow, each frame. The pad data
portions in the readback data stream should not be verified against the bitmap. However, for
every bit of pad data that is discarded from the readback data stream, a corresponding bit must
be discarded from the bitmap data. A flow chart to demonstrate how a readback verification
algorithm should work is provided in Figure 20.
No Passed Start
of First Is the current Readback byte part of a
1
Frame? data frame?
Yes
Read Mask
Byte
Read next byte from Mask data (MSK). 2
i=0 For each Bit, if the mask bit is a 0, then
i = i+1 compare the Readback data bit to the
bitmap bit.
No
3
Mask(i) = 0
?
Yes
4
Data(i) = No Verification
Bitmap(i) If any bits mismatch, then verification
Failed
? has failed.
Yes
5
No
i=7
?
6
No EOF Is Readback complete?
?
Yes
X138_20_082599
Info Capture=Used
Info STARTSEL0=1
Info Persist=1
Bit 3274 11 35 Block=CLB_R16C13.S1 Latch=XQ
Bit 3292 11 53 Block=CLB_R15C13.S1 Latch=XQ
Bit 3310 11 71 Block=CLB_R14C13.S1 Latch=XQ
Bit 3328 11 89 Block=CLB_R13C13.S1 Latch=XQ
Bit 3346 11 107 Block=CLB_R12C13.S1 Latch=XQ
Bit 3364 11 125 Block=CLB_R11C13.S1 Latch=XQ
The frame order for the block RAMs assumes that all the bits from a complete readback of all
the CLB frames have been counted, and that the count continues on with the readback of the 2
block RAM frames starting from the lowest block number. Therefore, when readback of block
RAMs is used, the data frame bit count must be offset by the number of bits in all the CLB
frames. This offset may be obtained from the Frame Bytes number in Table 15 and multiplying
by eight. 3
Readback of Block RAM Frames
A readback of the block RAM frames may follow the same procedure as that for the CLB
frames. However, when a readback of the block RAM is initiated, control of the block RAM is 4
taken from the user logic so the block RAM elements may be accessed by the configuration
circuitry. In order to make this hand off smooth and glitch free, it is recommended that a
shutdown be performed prior to readback, and then a start-up again after readback. After a
shutdown sequence has been performed, all user logic and I/O is disabled until a start-up
sequence is performed. This is the same start-up sequence used in configuration. See "Start- 5
up Sequence" on page 51. The start-up sequencer is used for both start-up and shut-down.
In applications where it is preferable not to shut-down the device, any user logic designed to
drive the block RAM should also be designed to halt any write operations just prior to and
during the block RAM readback session. 6
The flow for a block RAM readback is shown in Figure 21 with the shut-down and start-up
sequences shown in the grey areas of Figure 21. RAM readback follows the same process as
for CLB frames, but with a different FAR value. See "Readback Operations" on page 72.
However, the synchronization step may be omitted if a previous readback sequence has
already synchronized the SelectMAP interface.
The shut-down sequence is enabled by setting bit 15 of the COR. The preferred method of
setting this value is to read the current value of COR, toggle bit 15 to a logic “1,” and then load
the new 32-bit value back into the COR.
The full command set is shown in Table 18. After loading the COR, the START command,
followed by the RCRC command must be written to the CMD register. For the Shut-down
Sequence to commence, the device needs to be clocked eight times. This also flushes the data
pipeline. Once the Shut-down Sequence is complete, it is safe to imitate the readback
sequence of the block RAM.
To read back both columns of block RAMs, the readback sequence must be repeated for each
column. The sequence is the same except for different FAR values as shown in Table 17.
In Virtex-E and Virtex-EM devices the block RAM address alternates around the center to the
right and left side starting with address "1" instead of the "0" in the Virtex family devices. The
addressing is interweaved by starting with the block RAM to the right of the center at "1". The
block to the left of the center is for address "2", and the block to the right of block "1" is "3". For
a more detailed discussion, please refer to XAPP151.
Set SHUT-DOWN
SHUT-DOWN Sequence
Bit in COR
Activate START
Activate RCRC
Clock SHUT-DOWN
Set FAR
Activate RCFG
Address FDRO
Reset
SHUTDOWN
Bit in COR
Activate START
Clock START-UP
X138_21_082599
The two sets of block RAM frames in every device size consist of 65 frames in each column;
however, the frame sizes vary per device. The word count for block RAM readback and the
associated code for each device are shown in Table 19.
After the completion of the readback session, a Start-up Sequence must be performed to
reactivate the user logic and I/O. To enable the start-up, the shut-down bit (15) of the COR must
be reset to a logic "0". Then, just as with the Shut-down Sequence, the START and RCRC
commands must be loaded into the CMD register and the Sequence must be clocked eight
times, at which time the device may resume normal operation.
Virtex-E Device The configuration modes and operation of the 1.8V Virtex-E and Virtex-EM (Extended Memory)
Addendum devices are similar with the 2.5V Virtex devices. The designer differences between the Virtex
family and Virtex-E or Virtex-EM devices are discussed in this addendum.
Power Supplies
Virtex-E VCCINT, the supply voltage for the internal logic and memory, is 1.8V instead of 2.5V for
Virtex devices.
I/O Banking
In Virtex-E devices, the banking rules are different because the input buffers (with LVTTL,
LVCMOS, and PCI standards) are powered by VCCO instead of VCCINT. For these standards,
only input and output buffers that have the same VCCO can be combined together in the same
bank.
Revision The following table shows the revision history for this document.
History Date Version Revision
3/21/99 1.0 Initial release
7/29/99 1.1 Overall update to application note
9/23/99 1.2 Virtex-E update
2/24/00 2.0 Revised to new template, new drawings
6/15/00 2.1 Virtex-EM update to tables 4, 7, 8, 10, 14,15,18, and 19. Revised
Figures 1 and 3.
XQR4000XL
XAPP181 (v1.0) March 15, 2000 Author: Phil Brinkley, Avnet and Carl Carmichael
Summary This Application Note discusses system and FPGA design techniques for applications that
operate in space or in other environments exposed to heavy ion or charged particle radiation. 1
Single Event Upset (SEU) detection, correction, and mitigation for the XQR4000XL are
demonstrated.
2
Overview FPGA design for use in a radiation environment presents new challenges to the traditional
digital designer. Often people associate radiation tolerance with the so-called "hardness" of the
part. "Hardness" is simply a measure of the total dose of radiation to which an IC can be
subjected before critical parameter(s) cross a predefined threshold. An IC is therefore said to 3
be "rad tolerant" to a given total dosage, at which point some critical parameter goes out of
specification.
© 2000 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.
35
30
25
I CC (mA)
20
15
10
0
0 10 20 30 40 50 60 70
Dose (kRads-Si)
X181_01_030900
Xilinx defines the dose limit of their XCR4000XL FPGAs as the point where ICC has increased
to twice the commercial ICC specification, with all AC parameters remaining within specification.
The commercial ICC specification is a very conservative value, so twice this number still falls
within absolute operating limits. The 0.35m XC4000XL radiation-tolerant FPGAs are rated as 60
KRad parts.
If the application requires a higher total dosage rating than that specified, shielding may be
employed to keep the effective dosage of the FPGA below the maximum specification.
feed a gating circuit the output of which reflects the state of the majority of the flip-flops. A
typical majority vote circuit is shown in Figure 2.
X181_02_031500
Inherent in this technique is the assumption that only one SEU occurs within a given time
period (i.e., the time it takes for the next clock edge to occur and load the flip-flops with new
data). Obviously, if two of the flip-flops suffer contemporaneous upsets, then the majority vote
circuit will give the state of the two incorrectly set flip-flops. The chance of this occurring,
though, is usually considered statistically negligible, calculated by squaring the "normal" SEU
rate (e.g., [10-5 bit-upsets/day]2 = 10-10 uncorrected bit-upsets/day).
It is important to acknowledge that FPGA designs for space always come down to a determined
acceptable amount of risk. Decreasing risk means increasing design complexity. The cost of
the standard majority mitigation technique is obvious: the use of three times as many flip-flops.
But with the abundance of resources available in Xilinx's line of rad-tolerant FPGAs, this cost
would be tolerable in most cases.
However, there are many more latches in a Xilinx FPGA than those actually design-specified by
the user as flip-flops; the majority of latches are in fact used for configuration memory. Because
the configuration memory cells are just as susceptible to SEUs as are the design-specified flip-
flops, the standard majority mitigation technique alone is not adequate to overcome the effects
of SEUs in FPGAs.
Reconfigurability One of the very notable features of Xilinx FPGAs is that they are reconfigurable, as opposed to
one-time programmable. If a design change is necessary, then a new configuration can be
loaded and the functionality of the FPGA altered without having to remove and discard the IC,
as is the case with anti-fuse FPGAs. This also allows upgrades to be made in the field, or even
in space. Unfortunately, this increased flexibility results in a more involved design solution for
SEU effects. An understanding of how a Xilinx FPGAs configuration works is necessary before
we can discuss the next level of SEU design mitigation techniques.
Using a "house" analogy, if all the functions that the FPGA is to perform (logic, flip-flops, pins,
etc.) are considered to be on the "first floor", then all the configuration latches are in the
"basement". See Figure 3.
Ro
utin
g
Us
er r"
Log
ic loo
st F
"1
Co
nfig t"
ura
men
tion
"B ase
X181_03_030900
As it turns out, the basement is necessarily much larger than the first floor. It takes
approximately 30 configuration latches to configure each user-CLB, with each configuration
latch controlling some specific property of the CLB or I/O block. The logic implemented in the
look-up tables (LUTs) is one of the more important properties held in these latches. If a latch
that configures an LUT experiences an upset, then the logic intended in the design may be
altered. For example, it could be possible for a design-specified AND gate to become a NAND
gate instead.
It should now become apparent that the majority vote circuit shown in Figure 2 is not reliable as
an SEU mitigation technique, because the majority vote portion of the circuit can change its
function in the event of an SEU occurring on a latch that controls the circuit. Therefore, some
new methods of SEU mitigation are required.
Design FPGA designs are completed with varying degrees of risk based on the mitigation techniques
Mitigation employed. Since the amount of "acceptable risk" varies with the application, the design
mitigation strategy employed will also vary. In some cases, it may be acceptable to do very little
Techniques to accommodate SEUs; in other cases, the techniques may need to be rather sophisticated.
The remainder of this Application Note will focus on various techniques for SEU mitigation.
These techniques are listed in ascending complexity: auto-reconfiguration; using logic
redundancy and an XOR gate for SEU detection; using the Xilinx "Readback" capability for
SEU detection; using wired-AND outputs in conjunction with readback; and finally, building an
SEU-safe system by combining these techniques.
Auto-Reconfiguration
The simplest approach to SEU mitigation is to reconfigure the FPGA upon detecting a system
failure or at specified time intervals. For example, suppose an FPGA used to control a
spacecraft heater experiences an SEU, causing the FPGA to improperly turn on the heater. If
it can be determined through other spacecraft systems that the heater has been turned on, a
command could be sent to restore the heater to its proper state and/or reconfigure the FPGA.
While this strategy may create an annoyance for the system, it might be seen as an acceptable
approach in non-mission-critical applications where economy of design is paramount. If an
application is of a more critical nature, however, then it may be imperative that the occurrence
of an SEU be detected and specifically addressed.
Logic
SEU_EVENT
Duplicate
Logic
X181_04_030900
If there are several places where this method needs to be employed, the XOR outputs can all
be ORed together to provide a single SEU status bit. This SEU status bit can also be used to
drive the GTS (Global Tri-State) pin of the STARTUP component, causing all outputs to a high-
impedance state in the event of an SEU occurrence.
Readback
CRC Capture
SEU_EVENT
Compare
Expected CRC
X181_05_030900
The CRC data is located in the last 11 bits of the readback stream. XAPP015 explains in
greater detail the anatomy of the readback data; however, Table 1 summarizes the CRC
locations for the XQR4000XL parts. The beginning of the readback stream is identified by a
preamble consisting of five dummy "1s" followed by a "0". The amount of data between the
preamble and the 11-bit CRC is device-dependent, as shown in Table 1.
Self-readback
Instead of having two or more FPGAs monitor one another’s readback CRC, it is possible to use
a single FPGA to monitor itself. Design redundancy is required, however, because an SEU can
occur in the readback monitor circuit itself, thereby rendering its result invalid. A simple
redundancy method involves creating two readback compare circuits in parallel and wire-
ANDing the outputs. Simultaneous occurrence of CRC errors in both comparators would
indicate an SEU in the configuration logic under test, rather than in one of the readback
compare circuits. A block diagram of this technique is shown in Figure 6.
CRC Capture
SEU_EVENT
Compare
Expected CRC
CRC Capture
SEU_EVENT
Compare
Expected CRC
X181 06 030900
Wire-ANDed Outputs
Up to this point, we have focused on methods of detecting when a logic error caused by an SEU
has already occurred. Some signals, however, are sufficiently mission-critical that an erroneous
logic state on an output cannot be tolerated for any period of time. The technique of wire-
ANDing redundant logic outputs can be employed to mitigate the effects of SEUs at this level of
criticalness.
For example, suppose that the FPGA is being used to drive a pyrotechnic device that jettisons
part of a spacecraft. In this example, it would be unacceptable for the signal output to remain
erroneous for the time required to complete a readback, detect that an SEU has occurred, and
remediate the condition. Wire ANDing using redundant design logic only drives a mission-
critical output to the active state when the two legs of redundant logic agree.
It is important to understand that this mitigation method does not ensure that a desired signal
will be correctly asserted in spite of an SEU which occurs during the assertion function. It does,
however, ensure that a signal will not be erroneously asserted due to an SEU.
The technique is shown in Figure 7.
4.7k
Logic
Pin
Duplicate
Logic
Pin
100 4.7k
XQR4000XL DONE
X181_07_030900
To drive an output High, both the primary and duplicate logic chains must direct their respective
output buffers to a high-impedance condition. In this state, both logic outputs are high-
impedance (looking back into the output pins), and the external pull-up resistor will pull the
output signal High. If the logic chains do not agree, however, one or the other of the output
buffers will be enabled, driving the wire-ANDed buffer output signal Low.
This technique is reliable for especially critical control signals, where one output state (logic
High) is, by design, more meaningful than the other (logic Low). However, this approach is
inappropriate for general data processing applications, where the output logic states are of
equal importance and correct data propagation must be ensured.
Reliable System To be considered reliable, a system must process and propagate data correctly even in the
Design event of an upset to the configuration and/or user logic. To build a reliable FPGA system,
therefore, we must combine the techniques of SEU detection, correction and mitigation.
Whichever method of SEU detection is chosen (full verification or CRC checking), adequate
SEU correction requires reconfiguring the FPGA, as the configuration logic and memory
cannot be ruled out as being a possible cause of the error detected. The XQR4000XL,
therefore, does constrain the designer in one significant respect: a temporary disruption in
service must be tolerated when correcting detected upsets. Designers of systems that cannot
tolerate such a disruption should consider using the Virtex FPGA, which can be partially
reconfigured without interruption.
Therefore, while an upset is present and being addressed, the logical functionality of the user
design must be validated in some way so that incorrect data is not propagated through the
system. The classical method for accomplishing this is Triple-Module Redundancy (TMR): that
is, three identical FPGAs processing the same data in tandem, with the outputs mediated by an
external voting circuit (Figure 2 on page 89).
TMR carries the further advantage that the entire FPGA may be used for the basic design, with
no internal SEU mitigation techniques applied. However, since three duplicate FPGAs are
required, it also carries the disadvantage of consuming significantly more board space and
power. Where full TMR is deemed unsuitable by design economics or other considerations, the
number of redundant FPGAs can be reduced from three to two by combining variations of the
previously discussed techniques, provided the basic design (including duplicated logic) can be
implemented within one FPGA.
Dual-voting A dual-voting system incorporates in just two FPGAs a fully redundant, self-mitigating system
Device with built-in SEU detection and correction. The system, shown in Figure 8, is comprised of two
FPGAs and a storage PROM.
Redundancy
The basic logic design is duplicated in each FPGA. The two FPGAs configure sequentially and
then resynchronize. Corresponding output pairs are XORed, and then all XOR outputs are
ORed together to drive the (GTS) pin of the STARTUP component.
4.7k
SPROM
DATA DIN OUTPUTS
OE/RESET INIT
CLK DONE
PROG STARTUP 50 ohm
GSR Series
IO_1 Logic
Reconfiguration
Readback and
Control Logic
IO_2 GTS
Duplicate
Logic
RB_OUT
Falling
RB_IN Edge
Detector
CCLK XQR4000XL
50 ohm
Series
DIN OUTPUTS
INIT
DONE
PROG STARTUP
GSR
IO_1 Logic
Reconfiguration
Readback and
Control Logic
IO_2
GTS
Duplicate
Logic
RB_OUT
Falling
RB_IN Edge
Detector
CCLK XQR4000XL
X181_08_030900
If the occurrence of an SEU affects the function of the user logic, the compare circuitry will
assert the GTS signal for that device. Asserting GTS causes all the I/O pins of the affected
FPGA to a high-impedance state; however, the unaffected FPGA will continue to drive the
correct data. If the SEU is merely transient (i.e., no configuration cells are upset), GTS will
release when the redundant logic modules are resynchronized. (For complex designs an
additional security measure may be added to time-out when one device has been off-line too
long and issue a soft reset to both FPGAs to resynchronize the system).
To protect against the effects of an SEU occurring within the configuration memory cells, each
FPGA should perform a constant readback on the other. When one FPGA detects that the
other has been upset, it will force the upset FPGA to reconfigure. When the upset FPGA is
reinitialized and resumes operation, it should notice that the other FPGA is already running,
and should assert a soft reset (GSR) to both FPGAs to resynchronize the system. (The soft
reset causes an unfortunate disruption of the system, but the interruption is less severe than it
would be with less sophisticated SEU mitigation, as the system will still function while an upset
FPGA is being reconfigured.)
The following sections describe the different aspects of this system in greater detail.
Power-on Configuration
Both FPGAs (top and bottom) shown in Figure 8 should be set for Master Serial Mode
configuration (all mode pins tied Low M[2:0]<000>). The power-on configuration process
executes according to the following steps:
1. Upon power-up, both FPGAs will drive their INIT pins Low until they are ready for
configuration. Since they are in Master Mode, they will release their INIT pins and
commence clocking the configuration data out of the serial PROM once their INIT pins have
externally transitioned High. (This process can be delayed by holding INIT Low externally.)
2. The top FPGA will commence configuration first. The DONE pin of each FPGA is driven
Low by each device until configuration is complete. Since the DONE pin of the top FPGA is
connected to the INIT pin of the bottom FPGA, the bottom FPGA cannot commence
configuration until the top FPGA has released its DONE pin upon completion of its own
configuration.
3. When the top FPGA has completed configuration and has released its DONE pin, the
bottom FPGA will attempt to commence configuration. However, in order for the bottom
FPGA to successfully configure, both the PROM and the bottom FPGA must be reset by
pulsing Low OE/RESET and PROG, respectively. This is accomplished with the IO_1 pin,
which is controlled by user-defined logic and is described in "Auto-Reconfiguration" on
page 90.
NOTE: The IO_1 pin is a user-defined pin that may, if the user so chooses, co-exist on the
same pin as INIT, a dual-function pin that becomes a user-programmable I/O (IOB) after
configuration is complete. The IO_2 pin is also a user-defined I/O; it must be on a standard
programmable I/O pin.
4. Upon configuration and activation, the top FPGA should sense that the DONE of the
bottom device is Low on its IO_2 input, and subsequently pulse its IO_1 output Low for at
least 300 ns. This will reset the serial PROM and force the bottom FPGA into
reconfiguration
5. Upon completion of the bottom FPGAs configuration, the top FPGA’s DONE should be
observed High on the IO_2 input, and normal system operation will begin.
Condition 3 is not illustrated in Figure 8. The basic concept is for each FPGA to be cognizant
of the operational status of its neighbor FPGA. If the neighbor FPGA tri-states its pins because
of a functional interrupt or effect other than an SEU to the configuration memory, but does not
seem to recover on its own, then the system should be reset before such time has elapsed that
would put the system in danger of both FPGAs being upset simultaneously. See "Optional
Watch-Dog" on page 99.
If any of the above conditions occur, the FPGA should pulse the IO_1 output Low for 300 ns
(min) to reconfigure the other FPGA.
The constant Low output, shown in Figure 8 as an output buffer (OBUF) tied Low, indicates
whether the FPGA is online or off-line.
When an FPGA is configuring, all its outputs are in a high-impedance state. Therefore, the
constant Low output will pull High indicating that the FPGA is off-line. When the FPGA is done
configuring, the constant Low output will return Low.
The falling-edge detector in the active FPGA generates a pulse when the other FPGA comes
back online. This pulse should be used to assert a global reset in the logic of both FPGAs. This
will resynchronize all the logic of both FPGAs after one FPGA has been reconfigured, or when
one FPGA has been momentarily off-line due to a transient interrupt. This is important, as it
protects the hard-wired OUTPUTS from being in a state of contention.
The benefit of this practice is that the system will continue to function on one FPGA while the
other is either upset or being reconfigured. However, the basic user’s logic must be designed to
tolerate unexpected global resets.
WARNING: The CRC of the very first readback after reconfiguration should be ignored.
Only the CRC from the second (and subsequent) readback should be used.This is because
the value of the expected CRC cannot be known prior to execution of a readback.
The readback control logic must be designed to do three consecutive readbacks in order to
perform the first compare: the first to initialize; the second to capture the CRC; and the third to
execute the compare. Each subsequent readback then results in an immediate compare.
However, if the FPGA being read back is reconfigured, this process must start again from the
beginning.
The CRC value captured from the second readback needs to be stored for comparison with
succeeding readbacks. This can be done with registers, but should use triple module
redundancy so that the wrong value is not used should one of the registers get upset.
In this case, it is acceptable to use LUTs for the voting circuit, because even if LUTs get upset,
the system will eventually reconfigure and repair itself.
Optional Watch-Dog
It is possible for an SEU to affect the functional operation of the design without upsetting any
configuration memory latches (i.e., upsetting the stored value in a CLB flip-flop). Such an upset
would not be detected by a readback, and thus would not induce a reconfiguration.
When a functional upset like this occurs, there will most likely be a discrepancy between the
"Logic" and "Duplicate Logic" which will cause the FPGA outputs to a high-impedance state.
Whether or not the FPGAs' design will eventually resynchronize without a reset depends
entirely on the complexity of the design itself.
A simple pipelined arithmetic through-put function, such as a multiplier, will always
resynchronize within the number of clock stages present between the upset flip-flop and the
output. However, a highly complex state-machine may never recover. It is therefore left to the
designer to determine if this is a possibility for the design in question.
If the possibility of a functionally upset design never recovering is of concern, then the designer
should include a "watch-dog" timer to reset the system.
For this system the timer would be merely a counter that is clock-enabled by the constant Low
output of the neighbor FPGA. When the neighbor FPGA tri-states its pins, the Low output will
pull high and thus cause the timer to start incrementing. When the timer has reached a
"terminal count" value, it should pulse the GSR of both FPGAs.
It is left to the designer to determine the appropriate "terminal count" value for the application.
For example, one application may require that the timer time-out before the next statistically
expected upset. The time interval between upsets depends on the orbit and location. This may
be a matter of seconds, minutes, hours, days, or years.
Summary With the release of Xilinx radiation-tolerant FPGAs, engineers now have a more powerful and
flexible option for programmable logic in space applications. While the techniques to mitigate
the effects of SEUs are more complicated than those methods employed for older technology
radiation-tolerant FPGAs, in many applications the benefits of Xilinx FPGAs are an
overwhelming return for the additional design effort. These benefits include: higher density (up
to 62K gates); significantly lower cost; in-circuit reprogrammability (ISP), allowing rapid
changes with no rework or scrapping; and three densities utilizing the same footprint that adds
to cost savings and makes room for design growth.
Revision The following table shows the revision history for this document.
History Date Version Revision
03/15/00 1.0 Initial Xilinx release.
R
Correcting Single-Event Upsets Through
0 3
Virtex Partial Configuration
Author: Carl Carmichael
XAPP216 (v1.0) June 1, 2000 Co-authors: Michael Caffrey, Anthony Salazar; Los Alamos National Laboratories
Summary This application note describes the use of partial reconfiguration in Virtex™ series FPGAs for
the purpose of correcting Single Event Upsets to the configuration memory array induced by 1
cosmic rays. It is essential for the reader to have a basic understanding of the Virtex
SelectMAP™ interface as well as configuration and readback operations. An in-depth review of
Xilinx Application Note XAPP138 is highly recommended.
5
Introduction On-orbit, space based, and extra-terrestrial applications must consider the effects high energy
charged particles (radiation) may have on electronic components. In Particular, Single Event
Upsets (SEU) may alter the logic state of any static memory element (latch, flip-flop, or RAM
cell). Since the user-programmed functionality of an FPGA depends on the data stored in
millions of configuration latches within the device, an SEU in the configuration memory array 6
may have adverse effects on the expected functionality.
A static upset in the configuration memory is not synonymous with a functional error. Upsets
may have no effect on functionality. Design mitigation techniques, such as triple redundancy,
can harden functionality against single events upsets. However, the upsets must be corrected
so that errors do not accumulate.
The Virtex Series FPGA SelectMAP interface provides post-configuration read/write access to
the configuration memory array. "Readback" is a post-configuration read operation of the
configuration memory, and "Partial Reconfiguration" is a post-configuration write operation to
the configuration memory. Readback and Partial Reconfiguration allow a system to detect and
repair SEUs in the configuration memory without disrupting its operations or completely
reconfiguring the FPGA.
Before continuing with this application note it is essential for the reader to have a full
understanding of the basic configuration and readback operations, as well as the bit-stream
format and command structure, of the Virtex Series configuration logic and SelectMAP
interface. A careful review of Xilinx Application Note XAPP138 "Virtex FPGA Series
Configuration and Readback" will provide this information. For further reading on the Virtex
Series FPGAs’ configuration architecture, see Xilinx Application Note XAPP151 "Virtex
Configuration Architecture Advanced Users’ Guide."
© 2000 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.
BRAM0
BRAM1
CLB
Frames
XAPP216_01_060100
The CLB Frames contain all configuration data for all programmable elements within the FPGA.
This includes all Lookup Table (LUT) values, CLB, IOB, and BRAM control elements, and all
interconnect control. Therefore, every programmable element within the FPGA can be
addressed with a single read or write operation. All of these configuration latches can be
accessed without any disruption to the functioning user design, as long as LUTs are not used
as distributed RAM components.
While CLB flip-flops do have programmable features that are selected by configuration latches,
the flip-flop registers themselves are separate from configuration latches and cannot be
accessed through configuration. Therefore, readback and partial configuration will not effect
the data stored in these registers.
However, when a LUT is used as either a distributed RAM element, or as a shift register
function, the 16 configuration latches that normally only contain the static LUT values are now
dynamic design elements in the user design. Therefore, the use of partial reconfiguration on a
design that contains either LUT-RAM (i.e., RAM16X1S) or LUT-Shift-register (SRL16)
components may have a disruptive effect on the user operation. For this reason the use of
these components can not be supported for this type of operation.
However, Block RAMs (RAMB) may be used in such an application. Since all of the
programmable control elements for the Block RAM are contained within the CLB Frames and
the Block_RAM content is in separate frame segments, partial reconfiguration may be used
without disrupting user operation of the Block RAM as design elements.
Data Frames
The configuration memory segments are further divided into columns of data frames. A data
frame is the smallest portion of configuration data which may be read from, or written to, the
configuration memory. The CLB array contains four categories of frame columns: one center
column (eight frames), CLB columns (48 frames/column), two BRAM-Interconnect columns (27
frames/column), and two IOB columns (54 frames/column). The number of CLB columns and
the size of the frames vary per device. However, the frame sizes are constant for a particular
device regardless of the column type in which it resides. The entire array may be addressed as
one block, or alternatively any individual frame may be accessed as a unique block of data.
BRAM Interconnect
BRAM Interconnect
Center Column
CLB Column
CLB Column
CLB Column
CLB Column
IOB Column
IOB Column
(27 frames)
(54 frames)
(48 frames)
(48 frames)
(48 frames)
(48 frames)
(54 frames)
(27 frames)
(8 frames)
1
2 IOBs
2 GCLK
2 IOBs 2 DLLs 2 IOBs 2 IOBs
2
Cn+4
Cn+2
Cn+1
Cn+3
Cn–1
C2
C0
C1
Cn
3
XAPP216_02_060100
As shown in Figure 2, the frame columns are numbered in a "ping-pong" order which places all
4
the even numbered columns to the left of the center column and all the odd numbered frames
to the right. The frames within a column are numbered sequentially within that column away
from the center. If all the frames were simply numbered sequentially in accordance with the
5
order of their appearance when performing a full readback of the CLB Frames, their order
would be as shown in Figure 3.
60 59 58 57 56 0 1 2 3 4 5 6 7 8 9 0 1 55
4 3 2 1 0 0 1 2 3 4 5 6 7 0 1 2 3 47
C2 C0 C1
XAPP216_03_060100
5
SEU Detection Readback and Comparison
The more traditional method of verification of the data stored in configuration memory is to
readback the data and perform a bit for bit comparison. This requires the use of a mask file
(.msk) and readback file (.rbb) each of which are equal in size to the original bit-stream used to 6
configure the FPGA. This method is explained in detail in Application Note XAPP138.
This method would effectively triple the amount of system memory required for configuration
and readback operations. Therefore, this method is not generally considered to be desirable for
space applications.
should be generated by the host system and stored in RAM. If the FPGAs’ bitstream is ever
updated then the CRC values can be refreshed.
Figure 4 shows a basic overview of one possible implementation of this system. The basic sub-
blocks represent either logic or algorithms to interface with the Virtex SelectMAP Port, interface
with the memory components, calculate and compare CRC values, and some sort of finite state
machine to control the operations. The design details are left for the user to implement;
however, an example design will be published by Los Alamos National Labs and posted as an
addendum to this application note.
The mapping of the memory components should be done uniquely for each system. One
possible method would be to store the CRC values in addresses such that the address number
itself corresponds to the Frame number that the CRC value represents. This could reduce the
number of processing steps, or decode logic, to access a specific CRC frame constant.
Memory Virtex
SelectMAP
DATA{7:0]
DATA WRITE
Configuration
ADDRESS CS
Controller
OE BUSY
CE DONE
PROG
INIT
CCLK
Configuration Controller
Memory SelectMAP
Interface Interface
FSM
CRC CRC
Comparator Calculator
XAPP216_04_060100
If the readback cycle did produce some CRC mismatches then the data for the stored frame
numbers must be accessed from memory and reloaded into the FPGA. The procedure for a
single frame write cycle follows:
1. Abort
An Abort command is issued by holding the CS Low and the WR High for at least three
clock cycles. This will reset the SelectMAP and configuration logic so that the interface may
be re-synchronized. This alleviates tracking the number of clock cycles between readback
and write cycles and clears any errors caused by an SEU in the configuration logic itself. 1
2. Synchronize
Before a new process can commence the SelectMAP interface must be resynchronized by
reloading the Synchronization Word.
3. Issue WCFG Command to CMD Register
2
Enable write access to the configuration memory array by loading the WCFG command
into the CMD register.
4. Load FAR 3
Specify the frame address in the FAR with a major and minor address location. See "Frame
Address Register" on page 108.
5. Access FDRI Register
Use a Type 1 packet header to issue a write command to the FDRI register specifying the
4
frame data length in 32-bit words plus one 32-bit dummy word.
6. Load Frame Data
Load the data frame into the FPGA followed by one dummy frame. Each frame must be 5
followed by a dummy word; However, the bitstream includes these dummy words at the end
of each data frame.
7. Reset CRC
Issue a RCRC command to the CMD register to clear the CRC register. 6
8. Abort
Although a second Abort command may be superfluous, a resetting of the SelectMAP
interface and subsequent resynchronization for any new process increases the likelihood
that the process will be successful.
The data fields for the previous commands, except for the frame data, is shown in Table 1. The
Abort command does not have any associated data.
Table 1: Instruction Set for Single Frame Write Operation
Command Data (32 Bits)
Synchronize AA 99 55 66
Write to CMD 30 00 80 01
WCFG 00 00 00 01
Write FAR 30 00 20 01
Frame Address 0? ?? ?? 00
Write FDRI XQVR300 30 00 40 2A
XQVR600 30 00 40 3C
XQVR1000 30 00 40 4E
Frame Data
Write CMD 30 00 80 01
RCRC 00 00 00 07
Example
In this example the target device is an XQVR300. Therefore, the Cols=48. If the frame that
needs to be corrected is the 2373rd valid data frame that was read back (not counting the
dummy frame), then counting from zero, the frame number is N=2372.
Colsx48 = 48x48 = 2304 and N-2304 = 2372 - 2304 = 68;
N satisfies the third condition: 2312 < N < 2419; Therefore,
Maj = (N-Colsx48-8)DIV(54) + Cols + 1 = (60)DIV(54) + 49 = 50;
And
Min = (N-Colsx48-8)MOD(54) = (60)MOD(54) = 6;
Converting these to 8-bit Binay values gives the following major and
minor addresses:
Major: 00110010; Minor: 00000110;
Inserting the Major Address into bits 17 through 24, the Minor
Address into bits 9 through 16, and placing zeros in all other
positions gives an FAR value of:
1
FAR(31:0) =0000 0000 0110 0100 0000 1100 0000 0000b = 00 64 0C 00h;
Scrubbing reloads the majority of the bitstream from the beginning, randomly accessible
memory is not required.
Controller
Memory Virtex
Counter
DATA DATA
Q[17:0] Address
Host
CE Decode MOE OE
Decode MCE CE
Decode VCS CS
CCLK
XAPP216_05_060100
The example shown in Figure 5 demonstrates the use of a parallel (8-bit wide) memory device.
This allows the data signals to be connected directly from the memory to the Virtex SelectMAP
data pins. If the memory’s data ports are of any other configuration then the data should be
reorganized into 8-bit words within the control chip.
For this example a simple counter is a sufficient state machine to control the scrubbing
operations. The LSB outputs of the counter (number depends on the size of the memory) may
be used as the address for the memory module. The example uses an 18-bit counter because
this is the minimum value for a V300 bit-stream. A V600 or V1000 would require a larger
counter. Additionally, the system clock may be too fast for the configuration interface (50 MHz
max). In which case the address lines could be shifted to higher order bits of the count value
leaving the lower order bits to serve as a clock divider.
There are four signals that need to be decoded from the Counter: MOE (Memory Output
Enable), MCE (Memory Chip Enable), VCS (Virtex Chip Select), and VWR (Virtex Write). The
complexity of these decoders and their associated values depends on how many Memory chips
and FPGAs are being designed into the system. Since this is an entirely application specific
variable we will simplify this example further by assuming a single memory chip and a single
FPGA.
If the system had several memory chips, each memory would require its own MCE decoder.
However, for one memory the MCE may be eliminated altogether and tied to the MOE decoder.
The MOE must disable the memory’s output during an Abort sequence. However, the VCS and
VWR may not be combined, even for a single FPGA implementation, because the Abort
sequence requires separate control of these signals.
Table 2 shows the state transitions for a complete scrubbing operation, including a trailing Abort
sequence, and the associated clock cycles for each state. One clock cycle represents one byte
of data transferred. If the Counter is to be used as a Configuration Clock (CCLK) divider as well,
then the number of clock transitions would need to be multiplied by the Divisor.
Note: The clock cycles specified for the load operation are based on the bitstream format generated 2
by the bitgen utility version 2.1i. If using any other version then these numbers should be manually
verified in the bitstream.
The system also needs some sort of mechanism to control how often a scrub cycle takes place.
In Figure 5 this is shown simply as a connection from the Host System to the CE input of the 3
counter. Consideration is also needed for a reset control to the counter. If the desired time
between scrub cycles is constant, then this could be automated by using another counter to
control the CE of the scrub counter and another decoder to control a synchronous reset of the
counters. Choosing how long to wait between scrub cycles (Scrub Rate) should be determined
primarily from the expected upset rate for the specific application, orbit or mission. 4
Scrub Rates
A Scrub Rate describes how often a scrub cycle should occur. It may be denoted by either a
unit of time between scrubs, or a percentage (scrub cycle time divided by the time between 5
scrubs). The scrub rate should be determined by the expected upset rate of the device for the
given application.
Upset rates are calculated from the Static Bit Cross Section (see Data Sheet) of the device and
the charged particle flux the application or mission is expected to endure. For other 6
technologies, the upset rate is an indication of how often the system will have to tolerate a
functional bit error. But this is not precisely the case for an FPGA.
The static cross-section for a given device is derived by determining the cross-section per bit
(obtained through experimentation and measurement) multiplied by the number of bits in the
device. The static cross-section for a Virtex Series FPGA may be orders of magnitude higher
than what the experienced space applications designer might be used to. This is because of the
high density of configuration latches. But this upset rate does not carry the same meaning as it
does for other technologies.
For example, lets compare a 6,000 flip-flop ASIC to a 6,000 flip-flop Virtex Series FPGA. If the
ASIC and the FPGA have similar process geometries, then the static cross-section per bit will
be similar for both devices. However, the device cross-section is the bit cross-section multiplied
by the number of bits in the device. For a 6000 flip-flop ASIC the number of bits is 6000, but the
a Virtex FPGA this number is 6000 plus 1.7 Million (approximately).
However, for an ASIC, a bit upset is considered to be a definite functional bit error. This would
be an incorrect assumption for an FPGA. An upset in the configuration memory may or may not
have any effect on the functional integrity of the user’s design in the FPGA.
Design techniques may be applied to strengthen the functional integrity of the user design and
protect it from the effect of any Single Event Upset. This process is called "SEU Mitigation."
These design techniques are described in Xilinx Application Note XAPP186: "Space
Application Design Techniques for the Virtex QPRO™ Radiation Hardened Series FPGA."
Where systems that include ASIC technology use a static upset rate to determine how often a
functional bit failure may be expected, systems that use Virtex Series FPGAs should define a
"Dynamic Upset Rate" for this purpose. The application of a dynamic upset rate is discussed in
the previously mentioned application note and is not covered in this paper. However, the
necessary assumption is that the scrub rate should be set such that any SEU on the
configuration memory will be fixed before the next will occur. Additionally, the life span of an
SEU, time between the occurrence of the upset and it’s subsequent correction, should be
minimized. It is entirely up to the designer to choose the scrub rate. However, a good "rule of
thumb" is to place the scrub rate at one order of magnitude from the upset rate. In other words,
the system should scrub, on average, ten times between upsets.
For example, if we were to assume a bit upset rate of once per hour and a configuration clock
frequency of 10 MHz, then the scrub rate should be once every six minutes. Thus, the scrub
time, for a V1000 is 80 ms. Therefore, the scrub rate as a percentage would be 0.2%.
Meanwhile, the FPGA will be capable of carrying out it’s operations and functioning normally.
It’s ability to do so is a function of the design methodologies and mitigation strategies employed
in the system.
Reference
Tables Table 3: Device Statistics and Static Elements
Devices XQVR300 XQVR600 XQVR1000
CLB Array Size (RowxCol) 32 x 48 48 x 72 64 x 96
CLB Flip Flops 6,144 13,824 24,576
Select Block RAM (bits) 65,536 98,304 131,072
Frames 2474 3626 4778
Words (32-bit) per Frame (Including 21 30 39
one dummy word)
Configuration Latches 1,583,360 3,364,928 5,810,048
Revision The following table shows the revision history for this document.
History Date Version Revision
06/01/00 1.0 Initial Xilinx release.
R
0 4
QPRO Quality and Reliability and
Manufacturing Flow
1 Introduction
www.xilinx.com
1-800-255-7778
R
QPRO Quality and Reliability and
Manufacturing Flow
Table of Contents
QPRO High-Reliability QML Products Quality and Reliability Program ......................................................... 4-1
Quality Systems Compliance: ........................................................................................................................ 4-1
QML Background ........................................................................................................................................... 4-1
Screening-In Quality ....................................................................................................................................... 4-2
Best Commercial Practices ............................................................................................................................ 4-2
Current Status ................................................................................................................................................ 4-3
What QML Means Today ................................................................................................................................ 4-3
ISO9000 ......................................................................................................................................................... 4-3
Manufacturing Flows ...................................................................................................................................... 4-5
www.xilinx.com
1-800-255-7778
0
R
0 4
QPRO High-Reliability QML Products
Quality and Reliability Program
June 15, 2000 (v1.0)
Quality The quality level of all Xilinx products are assured by strict compliance to several world wide
Systems standards. These standards include QML, ISO9000 (9001 and 9002), STACK, PURE,
Compliance:
Siemen’s 72500, and others (see Table 1 on page 2). All Xilinx products are manufactured in
compliance with the rigorous quality requirements of these standards. This includes all of our
1
commercial grades, our QML product lines and our MIL-M-38510 full “B-grade” Military and
“T-grade” Radiation Tolerant product lines. However, not all product lines are screened to the
screening requirements of MIL-M-38510. While all products are manufactured on QML certified
lines and are capable of passing the screening levels of MIL-M-38510, only those products 2
designated as compliant to these screening levels are so tested. A comparison of the various
flows available from Xilinx is detailed in Table 2.
t) tion 3
Cu
Pr ome
Do erre Part
od ica
st
ef
ck d S ne
Pr alif
uc
QM
to up rsh
4
u
L s
er try
r
MI
(n s Q
St pli ips
Qu L-PR m s
oc er
sto ndu ds
s
M ali F-3
ot
e
k
Lin anuf fied 8535 I
C d ar c,
oc
uri
ng St IAJ,
Xilinx (E ck)
St
a 5
Total
Quality
6
ISO 9000
All Xilinx Sites
All
Subcontractors
QML In 1994, Dr. William Perry issued a mandate that became known as the “Perry Initiative”. It
Background directed all contractors involved in the design and/or upgrade of military equipment(s) to utilize
performance standards to define (hopefully) Commercial Off the Shelf (COTs) parts for use in
these military systems. After this directive, it became mandatory for a manufacturer to utilize
performance standards to define parts to be used in military systems, and it took a waiver from
the government for the manufacturer to specify and/or utilize MIL-Spec parts. This was done to
(hopefully) remove unnecessary costs from defense procurements. Like all generalizations,
this one had its exceptions.
Fortunately, the defense industry with the aid of DSCC (then known as the Defense Electronics
Supply Center, DESC) was already moving in this direction. In early 1995, the government
formally recognized the QML concept in its issuance of MIL-PRF-38535. This directive went
beyond the MIL-SPEC status of parts and gave manufacturers a cost effective way to provide
military customers with the quality and reliability levels they needed, while meeting the
“performance-based” requirements of the Perry Initiative. This methodology was the
© 2000 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.
Screening-In The Qualified Parts List was the government’s original attempt to establish a supply of
Quality integrated circuit products with assured quality and reliability levels. This concept establish a
“cookbook” of screening tests (defined by then MIL-STD-883) to which each and every part had
to be subjected. While the standardization of these flows led to a supply of products (from
various manufacturers) capable of meeting the government’s quality and reliability
requirements, the tracking and screening (and the fallout of product through the screening
process) led to high costs of manufacturing, and hence to high procurement costs. Indeed, the
paperwork or documentation costs of product often exceeded the costs of manufacture of the
devices themselves. But the primary limitation of this methodology was that it required the
“screening-in” of reliability through a rigid set of tests that every manufacturer of every part had
to implement for every lot. The method made no allowances for design similarity, design
process control, SPC, wafer scale reliability monitoring, or other equivalent (or superior)
methodologies to be substituted for the screening.
Best While the QPL system worked well for years, it suffered from stagnation. It did not allow the
Commercial implementation of advances in technology or advances in methodology (like some of those
cited above). Thus, while the commercial semiconductor industry made great strides in the
Practices quality and reliability (and yield) of its products (and hence the cost), the military establishment
was chained to the “screening-in” methodology. That changed in 1995 when DSCC published
the QML concepts. The major change between the two systems is that the QPL system was
stagnant and strictly prescribed, while the QML system was flexible and allowed the
incorporation of those “best commercial practices” that improve component quality and
reliability while decreasing costs. Finally, it was possible to establish the “performance based”
standards mandated by Dr. Perry and gain the flexibility and process improvements that came
from the incorporation of “best commercial practices” while assuring the military needs for
quality and reliability. In 1998 the DOD allowed the approval of off-shore wafer fabs (off shore
assembly had been available for several years) as sourceing for QPL and QML devices,
extending the number and availability of more total system solutions to those customers who
elect QML certified products.
Current Status Xilinx was audited by DSCC in November 1997, was found to be in full compliance with the
requirements of MIL-M-38535 and was granted full status as a QML supplier. In 1998 and 1999
DSCC was invited by Xilinx to participate in the Xilinx annual audits of our hermetic assembly 1
supplier and two of our wafer fabrication suppliers, and in all three instances DSSC and Xilinx
confirmed full compliance of these suppliers to the requirements of the QML program. Future
supplier management and the audit conformance demonstration of additional suppliers was left
to the control of the Xilinx Technical Review Board. In February, 2000 DSCC again visited Xilinx 2
and reviewed our conduct of the QML program and the performance of our Technical Review
Board. At that time Xilinx proposed “class T” flow was reviewed and Xilinx was approved to
manufacture and certify “class T” products for the radiation hardened communities (both
commercial and military).
3
What QML From a customer’s stand point, QML means that the supplier has the ability to rapidly convert
Means Today to newer, superior technologies. Reduced screening tests mean reduced lead times and lower
manufacturing costs. Designing-in and manufacturing-in reliability means that product is not
handled unnecessarily during the screening steps. Rather, process design, control and SPC
4
are strictly monitored by the manufacturer’s Technical Review Board. This, combined with
robust reliability monitoring programs and sound technical assessments, ensures that product
manufactured under the QML flows meet or exceed the reliability and quality of product
manufactured utilizing screening. Indeed today, per directives from DSCC and from Dr. Perry, 5
QML products represent the preferred procurement methodology for high reliability integrated
circuits for use in military systems.
It should be noted that the incorporation of QML manufacturing flows does not throw out the
baby with the bath water. Xilinx QML products still retain the special services military customers 6
require. These includes configuration control, device traceability, standard supplier certification
and obsolescence control. Indeed, QML products represent the most cost effective
methodology to meet the quality and reliability requirements of military equipment
manufacturers.
ISO9000 All aspects of the Quality Assurance Program at Xilinx have been designed to eliminate the root
cause of defects by prevention, rather than to try to remove defects through inspection. This is
the heart of the ISO9000 philosophy, and is in concert with the QML programs referenced
above. A quality management system is in place at Xilinx which is in full compliance with the
requirements of ISO9001. Xilinx has been audited and found in full compliance to
ISO9001:1994 by an independent auditor and was registered in November 1997. Xilinx
registration covers “the design, manufacturing and testing of programmable logic devices”.
Xilinx was the first “fabless” semiconductor company to be registered as a “manufacturer of
semiconductor products”, due to the engineering support, the process control and partner
relationships we exhibited with our wafer fabrication suppliers.
Those aspects of ISO conformance which are in place at Xilinx include the following 16 points:
1. Management Review: a comprehensive system of management attention to and direction
of all aspects of company performance with directly affects customers. This policy is
implemented and understood at all levels of the organization.
2. Quality Systems: are in place to ensure that all Xilinx products conform to customer
specifications. These systems facilitate, measure and foster the continuous improvement
process.
3. Contract Review: is conducted to ensure that each contract adequately defines and
documents customer requirements, and that compliance is assured or differences
negotiated and agreed.
4. Document Control: procedures are established and maintained to control all documents
and data that relate to the performance of Xilinx business and processing requirements. All
access to these documents is electronically assured to be the latest revision and properly
controlled.
5. Purchasing: procedures are in place to ensure that all purchased products and materials
conform to specified requirements. Special attention is paid to the performance of our
subcontractors, all of whom are ISO9000 registered.
6. Product Identification and Traceability: is maintained throughout the manufacturing
process, and is uniquely identified through product markings.
7. Process Control: is assured by identifying and planning those processes which directly
affect the quality of our products, whether performed by Xilinx or by our subcontractors. All
Xilinx subcontractors are ISO9000 registered.
8. Inspection and Test: is performed to ensure that incoming product is verified (both by
Xilinx and our Subcontractors) to be compliant with requirements.
9. Inspection, Measuring and Test Equipment: is calibrated in conformance with
ANSI/NCSL Z540-I-1994 (and former MIL-REF-45662) and maintained to ensure
consistent verification of specification compliance.
10. Inspection and Test Status: products are uniquely identified throughout the
manufacturing process, both at Xilinx and at our qualified subcontractors. Control of
Non-Conforming Product is assured through disposition procedures which are defined to
prevent the shipment of non-conforming product.
11. Corrective Action: processes are documented and implemented to prevent the
recurrence of product non-conformance. Root cause elimination through corrective action
is the main focus of ISO9000.
12. Handling, Storage, Packaging and Delivery: procedures are defined and implemented
to prevent damage or deterioration of product once manufacturing is complete.
13. Quality Records: procedures are established and maintained for the collection, indexing,
filing, and storage of quality records.
14. Internal Quality Audits: are carried out to verify that quality activities comply with the
documented requirements and further, to determine their effectiveness. These audits are
regularly supplemented by our independent auditors, by our customers, and by DSCC.
15. Training: procedures have been established and are implemented to identify the training
needs of all personnel whose performance affects the quality and reliability of our products.
Personnel performing such activities are qualified based on appropriate training, education
and/or experience.
16. Statistical Techniques: are in place at Xilinx and at our subcontractors for verifying the
acceptability of process capabilities and product characteristics.
Manufacturing All Xilinx Military classes have the following items under formal control:
Flows Wafer Scale Reliability Data TRB Review (Monthly)
Full Temperature Characterization Periodic Reliability Monitor
Maverick Lot Elimination "QCI Coverage (groups B,C,D)"
Please note that, as a QML supplier, Xilinx reserves the right to substitute alternate control
methodologies (which assure equivalent quality and reliability) for some of the screening
elements of the class B flow on a part by part basis. Any such decisions are approved by the
Xilinx Technical Review Board and communicated to DSCC (along with technical justification)
on a quarterly basis.
For more information, refer to Xilinx Quality and Reliability web site:
http://www.xilinx.com/products/qa_data/index.htm
Revision The following table shows the revision history for this document.
History Date Version Revision
06/15/00 1.0 Initial Xilinx release.
R
0 5
QPRO Packaging and Thermal
Characteristics
1 Introduction
www.xilinx.com
1-800-255-7778
R
QPRO Packaging and Thermal
Characteristics
Table of Contents
www.xilinx.com
1-800-255-7778
0
R
0 5
Packages and Thermal Characteristics:
High-Reliability Products
PK100 (v1.0) June 15, 2000
M ID
3
e
4
e e
5
M
IE
6
b2
l2 e
PK100_01_060100
Figure 1: EIA Standard Board Layout of Soldered Pads for QFP Devices
© 2000 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.
VL VL
VH VH
W
W
D D
L L
M M
e e
Solder Mask Defined Land Patterns are Non-Solder Mask Defined Land Patterns or
recommended for BG. Land Defined land Patterns are recommended
for FG.
PK100_02_060100
Figure 2: Suggested Board Layout of Soldered Pads for BGA and FG Packages
Clockwise or Counterclockwise
The orientation of the die in the package and the orientation of the package on the PC board
affect the PC board layout. PLCC and PQFP packages specify pins in a counterclockwise
direction, when viewed from the top of the package (the surface with the Xilinx logo). PLCCs
have pin 1 in the center of the beveled edge while all other packages have pin 1 in one corner,
with one exception: The 100-pin and 165-pin CQFPs (CB100 and CB164) for the XC3000
devices have pin 1 in the center of one edge.
CQFP packages specify pins in a clockwise direction, when viewed from the top of the
package. The user can make the pins run counterclockwise by forming the leads such that the
logo mounts against the PC board. However, heat flow to the surrounding air is impaired if the
logo is mounted down.
Thermal Modern high-speed logic devices consume an appreciable amount of electrical energy. This
Management energy invariably turns into heat. Higher device integration drives technologies to produce
smaller device geometry and interconnections. With smaller chip sizes and higher circuit
densities, heat generation on a fast switching CMOS circuit can be very significant. The heat
removal needs for these modern devices must be addressed.
Managing heat generation in a modern CMOS logic device is an industry-wide pursuit.
However, unlike the power needs of a typical Application Specific Integrated Circuit (ASIC) gate
array, the power requirements for FPGAs are not determined as the device leaves the factory.
Designs vary in power needs.
There is no way of anticipating the power needs of an FPGA device short of depending on
compiled data from previous designs. For each device type, primary packages are chosen to
handle "typical" designs and gate utilization requirements. For the most part the choice of a
package as the primary heat removal casing works well.
Occasionally designers exercise an FPGA device, particularly the high gate count variety,
beyond "typical" designs. The use of the primary package without enhancement may not
adequately address the device’s heat removal needs. Heat removal management through
external means or an alternative enhanced package should be considered.
Removing heat ensures the functional and maximum design temperature limits are maintained.
The device may go outside the temperature limits if heat build up becomes excessive. As a
consequence, the device may fail to meet electrical performance specifications. It is also
necessary to satisfy reliability objectives by operating at a lower temperature. Failure
mechanisms and the failure rate of devices depend on device operating temperature. Control of
the package and the device temperature ensures product reliability.
Definition of Terms
TJ Junction Temperature — the maximum temperature on the die, expressed in °C
TA Ambient Temperature — expressed in °C.
TC The temperature of the package body taken at a defined location on the body. This is
taken at the primary heat flow path on the package and represents the hottest part on the
package — expressed in °C.
Tl The isothermal fluid temperature when junction to case temperature is taken —
expressed in °C.
Pd The total device power dissipation — expressed in watts.
ENVIRONMENT
Resistor
Supply
1
Constant D R
Current VF
Source VR
2
DUT
3
IF
IR
6
Data Acquisition and
Control Computer
PK100_01_060100
Example 1:
The manufacturer’s goal is TJ (max) < 100°C
A module is designed for a TA = 45°C max.
A XC3042 in a PLCC 84 has a QJA = 32°C/watt.
Given a XC3042 with a logic design with a rated power Pd of 0.75watt.
With this information, the maximum die temperature can be calculated as:
TJ = 45 + (32 x 0.75) ³ 69°C.
The system manufacturer’s goal of TJ < 100°C is met.
Example 2:
A module has a TA = 55°C max.
The Xilinx XC4013E is in a PQ240 package (HQ240 is also considered).
A XC4013E, in an example logic design, has a rated power of 2.50 watts. The module
manufacturers goal is TJ (max.) < 100°C.
Table 5 shows the package and thermal enhancement combinations required to meet the
goal of TJ < 100°C.
Device Name Package Still Air (250 LFM) (500 LFM) (750 LFM) QJC Comments
XC4013E PQ240 23.7 17.5 15.4 14.3 2.7 Cu, SMT 2L/0P
XC4013E HQ240 12.5 8.6 6.9 6.2 1.5 4-layer board data
Notes:
1. Possible Solutions to meet the module requirements of 100°C :
2. Using the standard PQ240; TJ = 55 + (23.7 x 2.50) ³ 114.25°C.
3. Using standard PQ240 with 250LFM forced air; TJ = 55 + (17.5 x 2.50) ³ 98.75°C
4. Using standard HQ240, TJ = 55 + (12.5 x 2.50) ³ 86.25°C
5. Using HQ240 with 250 LFM forced air; TJ = 55 + (8.6 x 2.50) ³ 76.5°C
For all solutions, the junction temperature is calculated as: TJ = Power x QJA + TA. All solutions
meet the module requirement of less than 100°C, with the exception of the PQ240 package in
still air. In general, depending on ambient and board temperatures conditions, and most
importantly the total power dissipation, thermal enhancements -- such as forced air cooling,
heat sinking, etc. may be necessary to meet the TJ(max) conditions set.
Thermal Data The following charts (Figures 4, 5, 6, 7, and 8) are for reference only.
Comparison
1
Charts HQ/PQ Thermal Data
Size Effect on ΘJA
35 2
30
25
3
ΘJA (°C/watt)
20 HQ208
HQ240 4
15
HQ304
10 PQ208
5
PQ240
5
200 300 400 500 600 700
20
XC4025E-HQ304
15
10
0
0 200 400 600 800
Airflow - LFM
PK100_05_060100
ΘJA (°C/watt)
15
10
0
0 100 200 300 400 500 600 700
Air Flow - LFM
PK100_06_060100
15
ΘJA (°C/watt)
10
0
A B C D E F
PK100_07_060100
Figure 7: PGA Thermal Data (Effects of Active and Passive Heat Sinks)
25
2
20
15
3
10
0 200 400 600 800
Air Flow - LFM PK100_08_060100
4
Figure 8: BGA/CGA Thermal Data (Effect of Air Flow on QJA)
Some Power FPGA devices are usually not the dominating power consumers in a system, and do not have
Management a big impact on power supply designs. There are obvious exceptions. When the actual or 5
estimated power dissipation appears to be more than the specification of the chosen package,
Options some options can be considered. Details on the engineering designs and analysis of some of
these suggested considerations may be obtained from the references listed at the end of the
section. The options include:
• Explore thermally enhanced package options available for the same device. As illustrated
6
above, the HQ240 package has a thermal impedance of about 50% of the equivalent
PQ240. Besides, the 240 lead, the 208 lead and the 304 lead Quad packages have
equivalent heatsink enhanced versions. Typically 25% to 40% improvement in thermal
performance can be expected from these heatsink enhanced packages. Most of the high
gate count devices above the XC4013 level come either exclusively in heat enhanced
packages or have these packages as options. If the use of a standard PQ appears to be a
handicap in this respect, a move to the equivalent HQ package if available may resolve the
issue. The heat enhanced packages are pin to pin compatible and they use the same
board layout.
• The use of forced air is an effective way to improve thermal performance. As seen on the
graphs and the calculations above, forced air (200-300 LFM) can reduce junction to
ambient thermal resistance by 30%.
• If space will allow, the use of finned external heatsinks can be effective. If implemented
with forced air as well, the benefit can be a 40% to 50% reduction. The HQ304, all cavity
down PGAs, and the BG352 with exposed heatsink lend themselves to the application of
external heatsinks for further heat removal efficiency.
• Outside the package itself, the board on which the package sits can have a significant
impact. Board designs may be implemented to take advantage of this. Heat flows to the
outside of a board mounted package and is sunk into the board to radiate. The effect of
the board will be dependent on the size and how it conducts heat. Board size, the level of
copper traces on it, the number of buried copper planes all lower the junction-to-ambient
thermal resistance for a package. Some of the heatsink packages with the exposed
heatsink on the board side can be glued to the board with thermal compound to enhance
heat removal.
References
Forced Air Cooling Application Engineering
COMAIR ROTRON
2675 Custom House Court
San Ysidro, CA 92173
1-619-661-6688
Heatsink Application Engineering
The following facilities provide heatsink solutions for industry standard packages.
AAVID Thermal Technologies
1 Kool Path
Box 400
Laconia, NH 03247-0400
1-603-528-3400
Thermalloy, Inc.
2021 W. Valley View Lane
Box 810839
Dallas, TX 75381-0839
1-214-243-4321
Wakefield Engineering, Inc.
60 Audubon Road
Wakefield MA 01880-1255
1-617-245-5900
Xilinx does not endorse these vendors nor their products. They are listed here for reference
only. Any materials or services received from the vendors should be evaluated for compatibility
with Xilinx components.
Package In high-speed systems, the effects of electrical package parasitics become very critical when
Electrical optimizing for system performance. Such problems as ground bounce and crosstalk can occur
Characterization due to the inductance, capacitance, and resistance of package interconnects. In digital
systems, such phenomena can cause logic error, delay, and reduced system speed. A solid
understanding and proper usage of package characterization data during system design
simulation can help prevent such problems.
Theoretical Background
There are three major electrical parameters which are used to describe the package
performance: resistance, capacitance, and inductance. Also known as interconnect parasitics,
they can cause many serious problems in digital systems. For example, a large resistance can
cause RC & RL off-chip delays, power dissipation, and edge-rate degradation. Large
capacitance can cause RC delays, crosstalk, edge-rate degradation, and signal distortion. The
lead inductance, perhaps the most damaging parasitic in digital circuitry, can cause such
problems as ground bounce (also known as simultaneous switching noise or delta-I noise), RL
delays, crosstalk, edge rate degradation, and signal distortion.
Ground bounce is the voltage difference between any two grounds (typically between an IC and
circuit board ground) induced by simultaneously switching current through bondwire, lead, or
other interconnect inductance.
When IC outputs change state, large current spikes result from charging or discharging the
load capacitance. The larger the load capacitance and faster the rise/fall times, the larger the
current spikes are: I = C * dv/dt. Current spikes through the IC pin and bondwire induces a
voltage drop across the leads and bondwires: V = L * di/dt. The result is a momentary voltage
difference between the internal IC ground and system ground, which show up as voltage spikes
and unswitched outputs.
8h w+t
Lself = 5l ln æ ------------ö + æ ------------ö nH
(above ground)
è w + tø è 4h ø
3
where:
l = lead/trace length
w = lead/trace width 4
t = lead/trace thickness
h = ground height
unit = inches 5
2. Bondwire (gold wire)
2l 3
Lwire = 5l ln æ -----ö – --- nH
è r ø 4
where:
6
L = wire length
r = wire radius
unit = inches
Component
Mass (Weight) Table 6: Component Mass (Weight) by Package Type(1,2)
by Package
JEDEC
Type Package Description Outline # Xilinx # Mass (g)
BG225 Molded BGA 27 mm Full Matrix MO-151-CAL OBG0001 2.2
BG256 Molded BGA 27 mm SQ MO-151-CAL OBG0011 2.2 1
BG352 Super BGA: 35 x 35 mm Peripheral MO-151-BAR OBG0008 7.1
BG432 Super BGA:- 40 x 40 mm Peripheral MO-151-BAU OBG0009 9.1
BG560 Super BGA: 42.5 x 42.5 mm SQ MO-192-BAV OBG0010 11.5 2
CG560 Super BGA: 42.5 x 42.5 mm SQ MO-192-BAV OBG0010 11.5
CB100 NCTB Top Braze 3K Version MO-113-AD(3) OCQ0008 10.8
CB100 NCTB Top Braze 4K Version MO-113-AD(3) OCQ0006 10.8
3
CB164 NCTB Top Braze 3K Version MO-113-AA-AD(3) OCQ0003 11.5
CB164 NCTB Top Braze 4K Version MO-113-AA-AD(3) OCQ0007 11.5
CB196 NCTB Top Braze 4K Version MO-113-AB-AD(3) OCQ0005 15.3
4
CB228 NCTB Top Braze 4K Version MO-113-AD(3) OCQ0012 17.6
DD8 0.300 CERDIP Package MO-036-AA OPD0005 1.1
5
HQ160 Metric 28 28 -.65 mm 1.6H/S Die Up MO-108-DDI OPQ0021 10.8
HQ208 Metric 28 x 28 - H/S Die Up MO-143-FA1 OPQ0020 10.8
HQ240 Metric QFP 32 32 - H/S Die Up MO-143-GA OPQ0019 15.0
6
HQ304 Metric QFP 40 40-H/S die Down MO-143-JA OPQ0014 26.2
PC20 PLCC JEDEC MO-047 MO-047-AA OPC0006 0.8
PC44 PLCC JEDEC MO-047 MO-047-AC OPC0005 1.2
PC68 PLCC JEDEC MO-047 MO-047-AE OPC0001 4.8
PC84 PLCC JEDEC MO-047 MO-047-AF OPC0001 6.8
PD8 DIP 0.300 Standard MO-001-AA OPD0002 0.5
PG84 Ceramic PGA CAV UP 11 x 11 MO-067-AC OPG0003 7.2
PG120 Ceramic PGA 13 x 13 Matrix MO-067-AE OPG0012 11.5
PG132 Ceramic PGA 14 x 14 Matrix MO-067-AF OPG0004 11.8
PG156 Ceramic PGA 16 x 16 Matrix MO-067-AH OPG0007 17.1
PG175 Ceramic PGA 16 x 16 STD VER. MO-067-AH OPG0009 17.7
PG191 Ceramic PGA 18 x 18 STD - ALL MO-067-AK OPG0008 21.8
PG223 Ceramic PGA 18 x 18 Type MO-067-AK OPG0016 26.0
PG299 Ceramic PGA 20 x 20 Heatsink MO-067-AK OPG0022 37.5
PG299 Ceramic PGA 20 x 20 Type MO-067-AK OPG0015 29.8
PG411 Ceramic PGA 39 x 39 Stagger MO-128-AM OPG0019 36.7
Notes:
1. Data represents average values for typical packages with typical devices. The accuracy is between
7% to 10%.
2. More precise numbers (below 5% accuracy) for specific devices may be obtained from Xilinx through
a factory representative or by calling the Xilinx Hotline.
3. Tie-bar details are specific to Xilinx package. Lead width minimum is 0.056”.
Overview
Xilinx offers thermally enhanced quad flat pack packages on certain devices. This section
discusses the performance and usage of these packages (designated HQ). In summary:
• The HQ-series and the regular PQ packages conform to the same JEDEC drawings.
• The HQ and PQ packages use the same PCB land patterns.
• The HQ packages have more mass
• Thermal performance is better for the HQ packages 1
Where and When Offered
- HQ packages are offered as the thermally enhanced equivalents of PQ packages.
They are used for high gate count or high l/O count devices in packages, where heat 2
dissipation without the enhancement may be a handicap for device performance.
Such devices include XC4013E, XC4020E, XC4025E, and XC5215.
- They are also being used in place of MQUAD (MQ) packages of the same lead count
for new devices. 3
- The HQ series at the 240-pin count level or below are offered with the heatsink at the
bottom of the package (Figure 9). This was done to ensure pin to pin compatibility with
the existing PQ and MQ packages.
- At the 304-pin count level, the HQ is offered with the heatsink up (Figure 9). This
arrangement offers a better potential for further thermal enhancement by the designer.
4
B. Die Down/Heatsink Up 6
PK100_09_060100
Mass Comparison
Because of the copper heatsink, the HQ series of packages are about twice as heavy as the
equivalent PQ. Here is a quick comparison.
Notes:
1. QJC is typically between 1°C/Watt and 2°C/Watt for HQ and MQ
Packages. For PQs, it is between 2°C/Watt and 7 °C/Watt.
Other Information
- Leadframe: Copper EFTEC-64 or C7025
- Heat Slug: Copper - Nickel plated ® Heatsink metal is grounded
- Lead Finish 85/15 Sn/Pb 300 microinches minimum
- D/A material - Same as PQ; Epoxy 84-1LMISR4
- Mold Cpd. Same as PQ - EME7304LC
- Packed in the same JEDEC trays
encapsulant properties, TCE, and the amount of moisture absorbed. The PSMC moisture
sensitivity has, in addition to package cracking, been identified as a contributor to delamination-
related package failure artifacts. These package failure artifacts include bond lifting and
breaking, wire neckdown, bond cratering, die passivation, and metal breakage.
Because of the importance of the PSMC moisture sensitivity, both device suppliers and device
users have ownership and responsibility. The background for present conditions, moisture
sensitivity standardized test and handling procedures have been published by two national
organizations. Users and suppliers are urged to obtain copies of both documents (listed below) 1
and use them rigorously. Xilinx adheres to both.
• JEDEC STANDARD JESD22-A112.
Test Method A112 “Moisture-Induced Stress Sensitivity for Plastic Surface Mounted
Devices”. Available through Global Engineering Documents
Phone: USA and Canada 800-854-7179, International 1-303-792-2181
2
• IPC Standard IPC-SM-786A “Procedures for Characterizing and Handling of
Moisture/Reflow Sensitive ICs”. Available through IPC
Phone: 1-708-677-2850
None of the previously stated or following recommendations apply to parts in a socketed
3
application. For board mounted parts careful handling by the supplier and the user is vital. Each
of the above publications has addressed the sensitivity issue and has established 6 levels of
sensitivity (based on the variables identified). A replication of those listings, including the
preconditioning and test requirements, and the factory floor life conditions for each level are 4
outlined in Table 10. Xilinx devices are characterized to their proper level as listed. This
information is conveyed to the user via special labeling on the Moisture Barrier Bag (MBB).
In Table 10, the level number is entered on the MBB prior to shipment. This establishes the
user’s factory floor life conditions as listed in the time column. The soak requirement is the test 5
limit used by Xilinx to determine the level number. This time includes manufacturer’s exposure
time or the time it will take for Xilinx to bag the product after baking.
Table 10: Package Moisture Sensitivity Levels per J-STD-020
Factory Floor Life Soak Requirements (Preconditioning)
6
Level Conditions Time Time Conditions
1 £ 30°C / 90% RH Unlimited 168 hours 85°C / 85% RH
2 £ 30°C / 60% RH 1 year 168 hours 85°C / 60% RH
Time (hours)
X +(1) Y =(2) Z(3)
3 £ 30°C / 60% RH 168 hours 24 168 192 30°C / 60% RH
4 £ 30°C / 60% RH 72 hours 24 72 96 30°C / 60% RH
5 £ 30°C / 60% RH 24/28 hours 24 24/48 48/72 30°C / 60% RH
6 £ 30°C / 60% RH 6 hours 0 6 6 30°C / 60% RH
Notes:
1. X = Default value of semiconductor manufacturer’s time between bake and bag. If the semiconductor manufacturer’s actual time
between bake and bag is different from the default value, use the actual time.
2. Y = Floor life of package after it is removed from dry pack bag.
3. Z = Total soak time for evaluation.
Storage
The sealed MBB should be stored, unopened, in an environment of not more than 90% RH and
40°C. The enclosed HIC is the only verification to show if the parts have been exposed to
moisture. Nothing in part appearance can verify moisture levels.
Expiration Date
The seal date is indicated on the MBB. The expiration date is 12 months from the seal date. If
the expiration date has been exceeded or HIC shows exposure beyond 20% upon opening the
bag bake the devices per the earlier stated bake schedules. The three following options apply
after baking:
1. Use the devices within time limits stated on the MBB.
2. Reseal the parts completely under a partial vacuum with an impulse sealer (hot bar sealer)
in an approved MBB within 12 hours, using fresh desiccant and HIC, and label accordingly.
Partial closures using staples, plastic tape, or cloth tape are unacceptable.
3. Store the out-of-bag devices in a controlled atmosphere at less than 20% RH. A desiccator
cabinet with controlled dry air or dry nitrogen is ideal.
Other Conditions
Open the MBB when parts are to be used. Open the bag by cutting across the top as close to
the seal as possible. This provides room for possible resealing and adhering to the reseal
conditions outlined above. After opening, strictly adhere to factory floor life conditions to ensure
that devices are maintained below critical moisture levels.
Bags opened for less than one hour (strongly dependent on environment) may be resealed with
the original desiccant. If the bag is not resealed immediately, new desiccant or the old one that
has been dried out may be used to reseal, if the factory floor life has not been exceeded. 1
Note that factory floor life is cumulative. Any period of time when MBB is opened must be added
to all other opened periods.
Both the desiccant pouches and the HIC are reversible. Restoration to dry condition is
accomplished by baking at 125°C for 10-16 hours, depending on oven loading conditions. 2
Reflow To implement and control the production of surface mount assemblies, the dynamics of the
solder reflow process and how each element of the process is related to the end result must be
Soldering
thoroughly understood.
3
Process
The primary phases of the reflow process are as follows:
Guidelines
1. Melting the particles in the solder paste
2. Wetting the surfaces to be joined 4
3. Solidifying the solder into a strong metallurgical bond
The sequence of five actions that occur during this process is shown in Figure 10.
200
6
Temperature (˚C)
150
100
Flux Reduces
Metal Oxides
Evaporation
50
Solvent
Time
PK100_10_060100
Each phase of a surface mount reflow profile has min/max limits that should be viewed as a
process window. The process requires a careful selection and control of the materials,
geometries of the mating surfaces (package footprint vs. PCB land pattern geometries) and the
time temperature of the profile. If all of the factors of the process are sufficiently optimized,
there will be good solder wetting and fillet formation (between component leads and the land
patterns on the substrate). If factors are not matched and optimized there can be potential
problems as summarized in Figure 11.
Temperature
5
2
3
Time
Figure 12 and Figure 13 show typical conditions for solder reflow processing using
IR/Convection or Vapor Phase. Both IR and Convection furnaces are used for BGA assembly.
The moisture sensitivity of Plastic Surface Mount Components (PSMCs) must be verified prior
to surface mount flow. See the preceding sections for a more complete discussion on PSMC
moisture sensitivity.
2-4˚C/s
Ramp down
2-4˚C/s
Temp = 183˚C
T183
60s < T183 < 120s
Preheat and drying dwell applies to lead area
120-180s
between 95˚C-180˚C (Note 3)
(Note 2)
Time (s)
PK100_12_060100
The peak reflow temperature of the PSMC body should not be more than 220°C in order to
avoid internal package delamination. For multiple BGAs in a single board, it is recommended to
check all BGA sites for varying temperatures because of differences in surrounding
components.
Temperature (˚C)
2˚C-4˚C/s
T183
Dwell = 30-60s
(Note 2)
3
Time (s)
PK100_13_060100
Sockets Table 11 lists manufacturers known to offer sockets for Xilinx Package types. This summary
does not imply an endorsement by Xilinx. Each user has the responsibility to evaluate and
approve a particular socket manufacturer.
Revision The following table shows the revision history for this document.
History
Date Version Revision
06/15/00 1.0 Initial Xilinx release.
Package Package drawings are located on the High-reliability CD-ROM enclosed with this data book, or
Drawings on the Xilinx web site: www.xilinx.com/partinfo/pkgs.htm
Ceramic DIP Package - DD8................................................................................. CD-ROM
Plastic DIP Package - PD8.................................................................................... CD-ROM
1
SOIC and TSOP Packages - SO8, VO8................................................................ CD-ROM
SOIC Package - SO20 .......................................................................................... CD-ROM
SOIC Package - SO24 .......................................................................................... CD-ROM
PLCC Packages - PC20, PC28, PC44, PC68, PC84 ............................................ CD-ROM
2
Ceramic Leaded Chip Carrier Package - CC44 .................................................... CD-ROM
Ball Chip Scale Package - CS48........................................................................... CD-ROM
Ball Chip Scale Package - CS144......................................................................... CD-ROM
Ball Chip Scale Package - CS280......................................................................... CD-ROM 3
Ball Chip Scale (0.5 mm pitch) Package - CP56 ................................................... CD-ROM
PQ/HQFP Packages - PQ100, HQ100.................................................................. CD-ROM
PQ/HQFP Packages - PQ44, PQ160, PQ208, PQ240, HQ160, HQ208, HQ240 . CD-ROM
PQ/HQFP Packages - PQ304, HQ304.................................................................. CD-ROM 4
BGA Package - BG225 ......................................................................................... CD-ROM
BGA Package - BG256 ......................................................................................... CD-ROM
BGA Packages - BG352, BG432 .......................................................................... CD-ROM
BGA Package - BG492 ......................................................................................... CD-ROM 5
BGA Package - BG560 ......................................................................................... CD-ROM
Ceramic PGA Packages - PG68, PG84 ................................................................ CD-ROM
Ceramic PGA Packages - PG120, PG132, PG156 ............................................... CD-ROM
Ceramic PGA Package - PG175 ........................................................................... CD-ROM
Ceramic PGA Package - PG191 ........................................................................... CD-ROM
6
Ceramic PGA Packages - PG223, PG299 ............................................................ CD-ROM
Ceramic PGA Package - PG411 ........................................................................... CD-ROM
Ceramic PGA Package - PG475 ........................................................................... CD-ROM
Ceramic PGA Package - PG559 ........................................................................... CD-ROM
Ceramic Brazed QFP Package - CB100 (XC3000 Version) .................................. CD-ROM
Ceramic Brazed QFP Package - CB164 (XC3000 Version) .................................. CD-ROM
Ceramic Brazed QFP Packages - CB100, CB164, CB196 (XC4000 Version) ...... CD-ROM
Ceramic Brazed QFP Package - CB228 ............................................................... CD-ROM
Ball Fine Pitch Package - FG256 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG456 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG676 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG680 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG860 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG900 .......................................................................... CD-ROM
Ball Fine Pitch Package - FG1156 ........................................................................ CD-ROM
© 2000 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.
1 Introduction
www.xilinx.com
1-800-255-7778
R
http://www.xilinx.com/company/sales/offices.htm
or call
1-800-255-7778
www.xilinx.com
1-800-255-7778