Product Obsolete or Under Obsolescence
0
XC5200 Series
Field Programmable Gate Arrays
R
November 5, 1998 (Version 5.2)
0
7*
Product Specification
Features
-
• Low-cost, register/latch rich, SRAM based
reprogrammable architecture
- 0.5µm three-layer metal CMOS process technology
- 256 to 1936 logic cells (3,000 to 23,000 “gates”)
- Price competitive with Gate Arrays
• System Level Features
- System performance beyond 50 MHz
- 6 levels of interconnect hierarchy
- VersaRing™ I/O Interface for pin-locking
- Dedicated carry logic for high-speed arithmetic
functions
- Cascade chain for wide input functions
- Built-in IEEE 1149.1 JTAG boundary scan test
circuitry on all I/O pins
- Internal 3-state bussing capability
- Four dedicated low-skew clock or signal distribution
nets
• Versatile I/O and Packaging
- Innovative VersaRing™ I/O interface provides a high
logic cell to I/O ratio, with up to 244 I/O signals
- Programmable output slew-rate control maximizes
performance and reduces noise
- Zero Flip-Flop hold time for input registers simplifies
system timing
- Independent Output Enables for external bussing
•
Footprint compatibility in common packages within
the XC5200 Series and with the XC4000 Series
- Over 150 device/package combinations, including
advanced BGA, TQ, and VQ packaging available
Fully Supported by Xilinx Development System
- Automatic place and route software
- Wide selection of PC and Workstation platforms
- Over 100 3rd-party Alliance interfaces
- Supported by shrink-wrap Foundation software
Description
The XC5200 Field-Programmable Gate Array Family is
engineered to deliver low cost. Building on experiences
gained with three previous successful SRAM FPGA families, the XC5200 family brings a robust feature set to programmable logic design. The VersaBlock™ logic module,
the VersaRing I/O interface, and a rich hierarchy of interconnect resources combine to enhance design flexibility
and reduce time-to-market. Complete support for the
XC5200 family is delivered through the familiar Xilinx software environment. The XC5200 family is fully supported on
popular workstation and PC platforms. Popular design
entry methods are fully supported, including ABEL, schematic capture, VHDL, and Verilog HDL synthesis. Designers utilizing logic synthesis can use their existing tools to
design with the XC5200 devices.
.
Table 1: XC5200 Field-Programmable Gate Array Family Members
Device
XC5202
XC5204
XC5206
XC5210
XC5215
256
480
784
1,296
1,936
3,000
6,000
10,000
16,000
23,000
2,000 - 3,000
4,000 - 6,000
6,000 - 10,000
8x8
10 x 12
14 x 14
18 x 18
22 x 22
CLBs
64
120
196
324
484
Flip-Flops
256
480
784
1,296
1,936
I/Os
84
124
148
196
244
TBUFs per Longline
10
14
16
20
24
Logic Cells
Max Logic Gates
Typical Gate Range
VersaBlock Array
November 5, 1998 (Version 5.2)
10,000 - 16,000 15,000 - 23,000
7-83
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
XC5200 Family Compared to
XC4000/Spartan™ and XC3000
Series
Table 2: Xilinx Field-Programmable Gate Array
Families
For readers already familiar with the XC4000/Spartan and
XC3000 FPGA Families, this section describes significant
differences between them and the XC5200 family. Unless
otherwise indicated, comparisons refer to both
XC4000/Spartan and XC3000 devices.
CLB function
generators
4
3
3
2
CLB inputs
20
9
9
5
CLB outputs
12
4
4
2
Configurable Logic Block (CLB) Resources
Global buffers
4
8
8
2
Each XC5200 CLB contains four independent 4-input function generators and four registers, which are configured as
four independent Logic Cells™ (LCs). The registers in each
XC5200 LC are optionally configurable as edge-triggered
D-type flip-flops or as transparent level-sensitive latches.
User RAM
no
yes
yes
no
Edge decoders
no
no
yes
no
Cascade chain
yes
no
no
no
The XC5200 CLB includes dedicated carry logic that provides fast arithmetic carry capability. The dedicated carry
logic may also be used to cascade function generators for
implementing wide arithmetic functions.
Fast carry logic
yes
yes
yes
no
Internal 3-state
yes
yes
yes
yes
Boundary scan
yes
yes
yes
no
Slew-rate control
yes
yes
yes
yes
XC4000 family: XC5200 devices have no wide edge
decoders. Wide decoders are implemented using cascade
logic. Although sacrificing speed for some designs, lack of
wide edge decoders reduces the die area and hence cost
of the XC5200.
XC4000/Spartan family: XC5200 dedicated carry logic
differs from that of the XC4000/Spartan family in that the
sum is generated in an additional function generator in the
adjacent column. This design reduces XC5200 die size and
hence cost for many applications. Note, however, that a
loadable up/down counter requires the same number of
function generators in both families. XC3000 has no dedicated carry.
XC4000/Spartan family: XC5200 lookup tables are optimized for cost and hence cannot implement RAM.
Input/Output Block (IOB) Resources
The XC5200 family maintains footprint compatibility with
the XC4000 family, but not with the XC3000 family.
To minimize cost and maximize the number of I/O per Logic
Cell, the XC5200 I/O does not include flip-flops or latches.
For high performance paths, the XC5200 family provides
direct connections from each IOB to the registers in the
adjacent CLB in order to emulate IOB registers.
Each XC5200 I/O Pin provides a programmable delay element to control input set-up time. This element can be used
to avoid potential hold-time problems. Each XC5200 I/O
Pin is capable of 8-mA source and sink currents.
IEEE 1149.1-type boundary scan is supported in each
XC5200 I/O.
7-84
Parameter
XC5200 Spartan XC4000 XC3000
Routing Resources
The XC5200 family provides a flexible coupling of logic and
local routing resources called the VersaBlock. The XC5200
VersaBlock element includes the CLB, a Local Interconnect
Matrix (LIM), and direct connects to neighboring VersaBlocks.
The XC5200 provides four global buffers for clocking or
high-fanout control signals. Each buffer may be sourced by
means of its dedicated pad or from any internal source.
Each XC5200 TBUF can drive up to two horizontal and two
vertical Longlines. There are no internal pull-ups for
XC5200 Longlines.
Configuration and Readback
The XC5200 supports a new configuration mode called
Express mode.
XC4000/Spartan family: The XC5200 family provides a
global reset but not a global set.
XC5200 devices use a different configuration process than
that of the XC3000 family, but use the same process as the
XC4000 and Spartan families.
XC3000 family: Although their configuration processes differ, XC5200 devices may be used in daisy chains with
XC3000 devices.
XC3000 family: The XC5200 PROGRAM pin is a single-function input pin that overrides all other inputs. The
PROGRAM pin does not exist in XC3000.
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
XC3000 family: XC5200 devices support an additional programming mode: Peripheral Synchronous.
Input/Output Blocks (IOBs)
XC3000 family: The XC5200 family does not support
Power-down, but offers a Global 3-state input that does not
reset any flip-flops.
VersaRing
GRM
GRM
VersaRing
VersaBlock
Architectural Overview
Figure 1 presents a simplified, conceptual overview of the
XC5200 architecture. Similar to conventional FPGAs, the
XC5200 family consists of programmable IOBs, programmable logic blocks, and programmable interconnect. Unlike
other FPGAs, however, the logic and local routing
resources of the XC5200 family are combined in flexible
VersaBlocks (Figure 2). General-purpose routing connects
to the VersaBlock through the General Routing Matrix
(GRM).
GRM
VersaBlock
GRM
VersaBlock
GRM
VersaBlock
GRM
VersaBlock
GRM
VersaBlock
GRM
VersaBlock
VersaRing
XC3000 family: The XC5200 family does not provide an
on-chip crystal oscillator amplifier, but it does provide an
internal oscillator from which a variety of frequencies up to
12 MHz are available.
GRM
VersaBlock
VersaBlock
VersaRing
X4955
Figure 1: XC5200 Architectural Overview
VersaBlock: Abundant Local Routing Plus
Versatile Logic
GRM
The basic logic element in each VersaBlock structure is the
Logic Cell, shown in Figure 3. Each LC contains a 4-input
function generator (F), a storage device (FD), and control
logic. There are five independent inputs and three outputs
to each LC. The independence of the inputs and outputs
allows the software to maximize the resource utilization
within each LC. Each Logic Cell also contains a direct
feedthrough path that does not sacrifice the use of either
the function generator or the register; this feature is a first
for FPGAs. The storage device is configurable as either a D
flip-flop or a latch. The control logic consists of carry logic
for fast implementation of arithmetic functions, which can
also be configured as a cascade chain allowing decode of
very wide input functions.
4
4
24
24
7
TS
CLB
LC3
4
LC2
4
4
4
4
LC1
LC0
LIM
4
4
Direct Connects
X5707
Figure 2: VersaBlock
CO
DO
DI
D
F4
Q
FD
F3
F2
F
F1
X
CI
CE CK
CLR
X4956
Figure 3: XC5200 Logic Cell (Four LCs per CLB)
November 5, 1998 (Version 5.2)
7-85
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
The XC5200 CLB consists of four LCs, as shown in
Figure 4. Each CLB has 20 independent inputs and 12
independent outputs. The top and bottom pairs of LCs can
be configured to implement 5-input functions. The challenge of FPGA implementation software has always been
to maximize the usage of logic resources. The XC5200
family addresses this issue by surrounding each CLB with
two types of local interconnect — the Local Interconnect
Matrix (LIM) and direct connects. These two interconnect
resources, combined with the CLB, form the VersaBlock,
represented in Figure 2.
LC3
CO
DO
DI
D
F4
Q
FD
F3
F2
F
F1
X
LC2
DO
The LIM provides 100% connectivity of the inputs and outputs of each LC in a given CLB. The benefit of the LIM is
that no general routing resources are required to connect
feedback paths within a CLB. The LIM connects to the
GRM via 24 bidirectional nodes.
The direct connects allow immediate connections to neighboring CLBs, once again without using any of the general
interconnect. These two layers of local routing resource
improve the granularity of the architecture, effectively making the XC5200 family a “sea of logic cells.” Each
Versa-Block has four 3-state buffers that share a common
enable line and directly drive horizontal and vertical Longlines, creating robust on-chip bussing capability. The
VersaBlock allows fast, local implementation of logic functions, effectively implementing user designs in a hierarchical fashion. These resources also minimize local routing
congestion and improve the efficiency of the general interconnect, which is used for connecting larger groups of
logic. It is this combination of both fine-grain and
coarse-grain architecture attributes that maximize logic utilization in the XC5200 family. This symmetrical structure
takes full advantage of the third metal layer, freeing the
placement software to pack user logic optimally with minimal routing restrictions.
DI
D
F4
Q
FD
F3
F2
F
F1
X
LC1
DO
DI
D
F4
Q
FD
F3
F2
F
F1
X
LC0
DO
DI
D
F4
Q
VersaRing I/O Interface
The interface between the IOBs and core logic has been
redesigned in the XC5200 family. The IOBs are completely
decoupled from the core logic. The XC5200 IOBs contain
dedicated boundary-scan logic for added board-level testability, but do not include input or output registers. This
approach allows a maximum number of IOBs to be placed
around the device, improving the I/O-to-gate ratio and
decreasing the cost per I/O. A “freeway” of interconnect
cells surrounding the device forms the VersaRing, which
provides connections from the IOBs to the internal logic.
These incremental routing resources provide abundant
connections from each IOB to the nearest VersaBlock, in
addition to Longline connections surrounding the device.
The VersaRing eliminates the historic trade-off between
high logic utilization and pin placement flexibility. These
incremental edge resources give users increased flexibility
in preassigning (i.e., locking) I/O pins before completing
their logic designs. This ability accelerates time-to-market,
since PCBs and other system components can be manufactured concurrent with the logic design.
General Routing Matrix
FD
F3
F2
F
F1
X
CI
CE CK
CLR
X4957
Figure 4: Configurable Logic Block
7-86
The GRM is functionally similar to the switch matrices
found in other architectures, but it is novel in its tight coupling to the logic resources contained in the VersaBlocks.
Advanced simulation tools were used during the development of the XC5200 architecture to determine the optimal
level of routing resources required. The XC5200 family
contains six levels of interconnect hierarchy — a series of
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
single-length lines, double-length lines, and Longlines all
routed through the GRM. The direct connects, LIM, and
logic-cell feedthrough are contained within each
Versa-Block. Throughout the XC5200 interconnect, an efficient multiplexing scheme, in combination with three layer
metal (TLM), was used to improve the overall efficiency of
silicon usage.
Performance Overview
The XC5200 family has been benchmarked with many
designs running synchronous clock rates beyond 66 MHz.
The performance of any design depends on the circuit to be
implemented, and the delay through the combinatorial and
sequential logic elements, plus the delay in the interconnect routing. A rough estimate of timing can be made by
assuming 3-6 ns per logic level, which includes direct-connect routing delays, depending on speed grade. More
accurate estimations can be made using the information in
the Switching Characteristic Guideline section.
Taking Advantage of Reconfiguration
FPGA devices can be reconfigured to change logic function
while resident in the system. This capability gives the system designer a new degree of freedom not available with
any other type of logic.
Hardware can be changed as easily as software. Design
updates or modifications are easy, and can be made to
products already in the field. An FPGA can even be reconfigured dynamically to perform different functions at different times.
Reconfigurable logic can be used to implement system
self-diagnostics, create systems capable of being reconfigured for different environments or operations, or implement
multi-purpose hardware for a given application. As an
added benefit, using reconfigurable FPGA devices simplifies hardware design and debugging and shortens product
time-to-market.
Detailed Functional Description
Configurable Logic Blocks (CLBs)
Figure 4 shows the logic in the XC5200 CLB, which consists of four Logic Cells (LC[3:0]). Each Logic Cell consists
of an independent 4-input Lookup Table (LUT), and a
D-Type flip-flop or latch with common clock, clock enable,
and clear, but individually selectable clock polarity. Additional logic features provided in the CLB are:
• An independent 5-input LUT by combining two 4-input
LUTs.
• High-speed carry propagate logic.
• High-speed pattern decoding.
• High-speed direct connection to flip-flop D-inputs.
• Individual selection of either a transparent,
level-sensitive latch or a D flip-flop.
• Four 3-state buffers with a shared Output Enable.
5-Input Functions
Figure 5 illustrates how the outputs from the LUTs from
LC0 and LC1 can be combined with a 2:1 multiplexer
(F5_MUX) to provide a 5-input function. The outputs from
the LUTs of LC2 and LC3 can be similarly combined.
7
CO
DO
DI
Q
D
FD
I1
I2
I3
I4
F4
F3
F2
F1
F
X
LC1
F5_MUX
DO
I5
DI
Q
D
out
Qout
FD
F4
F3
F2
F1
F
X
CI
CE CK
5-Input Function
CLR
LC0
X5710
Figure 5: Two LUTs in Parallel Combined to Create a
5-input Function
November 5, 1998 (Version 5.2)
7-87
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
carry out
A3
or
B3
A3 and B3
to any two
CO
DO
XOR
X half sum3
F4
F3
F2
F1
FD
XOR
X
LC3
A2
or
B2
A2 and B2
to any two
D
F4
F3
F2
F1
DO
DI
Q
D
FD
CY_MUX
XOR
X
half sum2
F4
F3
F2
F1
XOR
X
A1 and B1
to any two
D
F4
F3
F2
F1
DO
DI
Q
D
FD
CY_MUX
XOR
X
half sum1
F4
F3
F2
F1
A0 and B0
to any two
DO
DI
XOR
X
F4
F3
F2
F1
XOR
X
CI
LC1
DO
DI
CE CK
CLR
Q
D
FD
CY_MUX
sum1
carry0
Q
D
Q
FD
LC1
A0
or
B0
sum2
LC2
DO carry1
DI
Q
FD
LC2
A1
or
B1
sum3
LC3
DO carry2
DI
Q
D
FD
CY_MUX
CO
DI
Q
D
F4
F3
F2
F1
carry3
DO
DI
half sum0
LC0
F4
F3
F2
F1
FD
XOR
X
CI
CE CK
CLR
sum0
LC0
carry in
0
CY_MUX
F=0
Initialization of
carry chain (One Logic Cell)
X5709
Figure 6: XC5200 CY_MUX Used for Adder Carry Propagate
Carry Function
The XC5200 family supports a carry-logic feature that
enhances the performance of arithmetic functions such as
counters, adders, etc. A carry multiplexer (CY_MUX) symbol is used to indicate the XC5200 carry logic. This symbol
represents the dedicated 2:1 multiplexer in each LC that
performs the one-bit high-speed carry propagate per logic
cell (four bits per CLB).
While the carry propagate is performed inside the LC, an
adjacent LC must be used to complete the arithmetic function. Figure 6 represents an example of an adder function.
The carry propagate is performed on the CLB shown,
7-88
which also generates the half-sum for the four-bit adder. An
adjacent CLB is responsible for XORing the half-sum with
the corresponding carry-out. Thus an adder or counter
requires two LCs per bit. Notice that the carry chain
requires an initialization stage, which the XC5200 family
accomplishes using the carry initialize (CY_INIT) macro
and one additional LC. The carry chain can propagate vertically up a column of CLBs.
The XC5200 library contains a set of Relationally-Placed
Macros (RPMs) and arithmetic functions designed to take
advantage of the dedicated carry logic. Using and modifying these macros makes it much easier to implement cus-
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
tomized RPMs, freeing the designer from the need to
become an expert on architectures.
results or other incoming data in flip-flops, and connect
their outputs to the interconnect network as well. The CLB
storage elements can also be configured as latches.
Table 3: CLB Storage Element Functionality
(active rising edge is shown)
cascade out
CO
Q
Mode
Power-Up or
GR
X
Flip-Flop
DO
DI
D
A15
F4
A14
F3
A13
F2
A12
F1
out
FD
CY_MUX
AND
LC3
DO
DI
D
A11
A10
A9
A8
F4
F3
F2
F1
Latch
Q
FD
CY_MUX
Both
Legend:
X
__/
0*
1*
AND
X
LC2
DO
DI
D
A7
F4
A6
F3
A5
F2
A4
F1
A1
F2
A0
F1
Q
FD
CY_MUX
X
CE CK
CLR
LC0
cascade in
CY_MUX
F=0
Initialization of
carry chain (One Logic Cell)
X5708
Figure 7: XC5200 CY_MUX Used for Decoder Cascade
Logic
Cascade Function
Each CY_MUX can be connected to the CY_MUX in the
adjacent LC to provide cascadable decode logic. Figure 7
illustrates how the 4-input function generators can be configured to take advantage of these four cascaded
CY_MUXes. Note that AND and OR cascading are specific
cases of a general decode. In AND cascading all bits are
decoded equal to logic one, while in OR cascading all bits
are decoded equal to logic zero. The flexibility of the LUT
achieves this result. The XC5200 library contains gate
macros designed to take advantage of this function.
CLB Flip-Flops and Latches
The CLB can pass the combinatorial output(s) to the interconnect network, but can also store the combinatorial
November 5, 1998 (Version 5.2)
X
X
X
X
0
X
__/
0
1
0
X
X
1*
X
1*
1*
0
1
0*
0*
0*
0*
0*
X
D
X
X
D
X
0
D
Q
Q
D
Q
Don’t care
Rising edge
Input is Low or unconnected (default value)
Input is High or unconnected (default value)
Four fast feed-through paths from DI to DO are available,
as shown in Figure 4. This bypass is sometimes used by
the automated router to repower internal signals. In addition to the storage element (Q) and direct (DO) outputs,
there is a combinatorial output (X) that is always sourced
by the Lookup Table.
AND
CI
Q
The source of a storage element data input is programmable. It is driven by the function F, or by the Direct In (DI)
block input. The flip-flops or latches drive the Q CLB outputs.
X
DO
F3
D
Data Inputs and Outputs
AND
D
F4
CLR
Q
DI
A2
CE
FD
CY_MUX
LC1
A3
CK
The four edge-triggered D-type flip-flops or level-sensitive
latches have common clock (CK) and clock enable (CE)
inputs. Any of the clock inputs can also be permanently
enabled. Storage element functionality is described in
Table 3.
Clock Input
The flip-flops can be triggered on either the rising or falling
clock edge. The clock pin is shared by all four storage elements with individual polarity control. Any inverter placed
on the clock input is automatically absorbed into the CLB.
Clock Enable
The clock enable signal (CE) is active High. The CE pin is
shared by the four storage elements. If left unconnected
for any, the clock enable for that storage element defaults
to the active state. CE is not invertible within the CLB.
Clear
An asynchronous storage element input (CLR) can be used
to reset all four flip-flops or latches in the CLB. This input
7-89
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
can also be independently disabled for any flip-flop. CLR is
active High. It is not invertible within the CLB.
STARTUP
PAD
IBUF
GR
GTS
Q2
Q3
Q1Q4
CLK DONEIN
X9009
Figure 8: Schematic Symbols for Global Reset
Global Reset
A separate Global Reset line clears each storage element
during power-up, reconfiguration, or when a dedicated
Reset net is driven active. This global net (GR) does not
compete with other routing resources; it uses a dedicated
distribution network.
GR can be driven from any user-programmable pin as a
global reset input. To use this global net, place an input pad
and input buffer in the schematic or HDL code, driving the
GR pin of the STARTUP symbol. (See Figure 9.) A specific
pin location can be assigned to this input using a LOC
attribute or property, just as with any other user-programmable pad. An inverter can optionally be inserted after the
input buffer to invert the sense of the Global Reset signal.
Alternatively, GR can be driven from any internal node.
Using FPGA Flip-Flops and Latches
The abundance of flip-flops in the XC5200 Series invites
pipelined designs. This is a powerful way of increasing performance by breaking the function into smaller subfunctions and executing them in parallel, passing on the results
through pipeline flip-flops. This method should be seriously
considered wherever throughput is more important than
latency.
To include a CLB flip-flop, place the appropriate library
symbol. For example, FDCE is a D-type flip-flop with clock
enable and asynchronous clear. The corresponding latch
symbol is called LDCE.
In XC5200-Series devices, the flip-flops can be used as
registers or shift registers without blocking the function
generators from performing a different, perhaps unrelated
task. This ability increases the functional capacity of the
devices.
The CLB setup time is specified between the function generator inputs and the clock input CK. Therefore, the specified CLB flip-flop setup time includes the delay through the
function generator.
Three-State Buffers
The XC5200 family has four dedicated Three-State Buffers
(TBUFs, or BUFTs in the schematic library) per CLB (see
Figure 9). The four buffers are individually configurable
through four configuration bits to operate as simple
non-inverting buffers or in 3-state mode. When in 3-state
mode the CLB output enable (TS) control signal drives the
enable to all four buffers. Each TBUF can drive up to two
horizontal and/or two vertical Longlines. These 3-state buffers can be used to implement multiplexed or bidirectional
buses on the horizontal or vertical longlines, saving logic
resources.
The 3-state buffer enable is an active-High 3-state (i.e. an
active-Low enable), as shown in Table 4.
Table 4: Three-State Buffer Functionality
IN
X
IN
T
1
0
OUT
Z
IN
Another 3-state buffer with similar access is located near
each I/O block along the right and left edges of the array.
The longlines driven by the 3-state buffers have a weak
keeper at each end. This circuit prevents undefined floating levels. However, it is overridden by any driver. To
ensure the longline goes high when no buffers are on, add
an additional BUFT to drive the output High during all of the
previously undefined states.
Figure 10 shows how to use the 3-state buffers to implement a multiplexer. The selection is accomplished by the
buffer 3-state signal.
TS
CLB
CLB
LC3
LC2
LC1
LC0
Horizontal
Longlines
X9030
Figure 9: XC5200 3-State Buffers
7-90
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Z = DA • A + DB • B + DC • C + DN • N
~100 kΩ
DA
DB
BUFT
DC
BUFT
A
B
DN
BUFT
C
BUFT
N
X6466
"Weak Keeper"
Figure 10: 3-State Buffers Implement a Multiplexer
Input/Output Blocks
User-configurable input/output blocks (IOBs) provide the
interface between external package pins and the internal
logic. Each IOB controls one package pin and can be configured for input, output, or bidirectional signals.
The I/O block, shown in Figure 11, consists of an input
buffer and an output buffer. The output driver is an 8-mA
full-rail CMOS buffer with 3-state control. Two slew-rate
control modes are supported to minimize bus transients.
Both the output buffer and the 3-state control are invertible.
The input buffer has globally selected CMOS or TTL input
thresholds. The input buffer is invertible and also provides a
programmable delay line to assure reliable chip-to-chip
set-up and hold times. Minimum ESD protection is 3 KV
using the Human Body Model.
Vcc
Source
Any device, Vcc = 3.3 V,
CMOS outputs
Any device, Vcc = 5 V,
TTL outputs
Any device, Vcc = 5 V,
CMOS outputs
XC5200 Input Mode
5 V,
5 V,
TTL
CMOS
√
√
√
Unreliable
Data
√
Optional Delay Guarantees Zero Hold Time
XC5200 devices do not have storage elements in the IOBs.
However, XC5200 IOBs can be efficiently routed to CLB
flip-flops or latches to store the I/O signals.
Input
Buffer
Pullup
Delay
I
PAD
Output
Buffer
Pulldown
O
T
X9001
Table 5: Supported Sources for XC5200-Series Device
Inputs
Slew Rate
Control
Figure 11: XC5200 I/O Block
IOB Input Signals
The XC5200 inputs can be globally configured for either
TTL (1.2V) or CMOS thresholds, using an option in the bitstream generation software. There is a slight hysteresis of
about 300mV.
The inputs of XC5200-Series 5-Volt devices can be driven
by the outputs of any 3.3-Volt device, if the 5-Volt inputs are
in TTL mode.
Supported sources for XC5200-Series device inputs are
shown in Table 5.
November 5, 1998 (Version 5.2)
The data input to the register can optionally be delayed by
several nanoseconds. With the delay enabled, the setup
time of the input flip-flop is increased so that normal clock
routing does not result in a positive hold-time requirement.
A positive hold time requirement can lead to unreliable,
temperature- or processing-dependent operation.
The input flip-flop setup time is defined between the data
measured at the device I/O pin and the clock input at the
CLB (not at the clock pin). Any routing delay from the
device clock pin to the clock input of the CLB must, therefore, be subtracted from this setup time to arrive at the real
setup time requirement relative to the device pins. A short
specified setup time might, therefore, result in a negative
setup time at the device pins, i.e., a positive hold-time
requirement.
When a delay is inserted on the data line, more clock delay
can be tolerated without causing a positive hold-time
requirement. Sufficient delay eliminates the possibility of a
data hold-time requirement at the external pin. The maximum delay is therefore inserted as the software default.
The XC5200 IOB has a one-tap delay element: either the
delay is inserted (default), or it is not. The delay guarantees
a zero hold time with respect to clocks routed through any
of the XC5200 global clock buffers. (See “Global Lines” on
page 96 for a description of the global clock buffers in the
XC5200.) For a shorter input register setup time, with
7-91
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
non-zero hold, attach a NODELAY attribute or property to
the flip-flop or input buffer.
IOB Output Signals
Output signals can be optionally inverted within the IOB,
and pass directly to the pad. As with the inputs, a CLB
flip-flop or latch can be used to store the output signal.
An active-High 3-state signal can be used to place the output buffer in a high-impedance state, implementing 3-state
outputs or bidirectional I/O. Under configuration control,
the output (OUT) and output 3-state (T) signals can be
inverted. The polarity of these signals is independently
configured for each IOB.
The XC5200 devices provide a guaranteed output sink current of 8 mA.
Supported destinations for XC5200-Series device outputs
are shown in Table 6.(For a detailed discussion of how to
interface between 5 V and 3.3 V devices, see the 3V Products section of The Programmable Logic Data Book.)
An output can be configured as open-drain (open-collector)
by placing an OBUFT symbol in a schematic or HDL code,
then tying the 3-state pin (T) to the output signal, and the
input pin (I) to Ground. (See Figure 12.)
Table 6: Supported Destinations for XC5200-Series
Outputs
XC5200 Output Mode
5 V,
CMOS
Destination
XC5200 device, VCC=3.3 V,
CMOS-threshold inputs
Any typical device, VCC = 3.3 V,
CMOS-threshold inputs
Any device, VCC = 5 V,
TTL-threshold inputs
Any device, VCC = 5 V,
CMOS-threshold inputs
√
some1
√
√
1. Only if destination device has 5-V tolerant inputs
For XC5200 devices, maximum total capacitive load for
simultaneous fast mode switching in the same direction is
200 pF for all package pins between each Power/Ground
pin pair. For some XC5200 devices, additional internal
Power/Ground pin pairs are connected to special Power
and Ground planes within the packages, to reduce ground
bounce.
For slew-rate limited outputs this total is two times larger for
each device type: 400 pF for XC5200 devices. This maximum capacitive load should not be exceeded, as it can
result in ground bounce of greater than 1.5 V amplitude and
more than 5 ns duration. This level of ground bounce may
cause undesired transient behavior on an output, or in the
internal logic. This restriction is common to all high-speed
digital ICs, and is not particular to Xilinx or the XC5200
Series.
XC5200-Series devices have a feature called “Soft
Start-up,” designed to reduce ground bounce when all outputs are turned on simultaneously at the end of configuration. When the configuration process is finished and the
device starts up, the first activation of the outputs is automatically slew-rate limited. Immediately following the initial
activation of the I/O, the slew rate of the individual outputs
is determined by the individual configuration option for
each IOB.
Global Three-State
A separate Global 3-State line (not shown in Figure 11)
forces all FPGA outputs to the high-impedance state,
unless boundary scan is enabled and is executing an
EXTEST instruction. This global net (GTS) does not compete with other routing resources; it uses a dedicated distribution network.
GTS can be driven from any user-programmable pin as a
global 3-state input. To use this global net, place an input
pad and input buffer in the schematic or HDL code, driving
the GTS pin of the STARTUP symbol. A specific pin location can be assigned to this input using a LOC attribute or
property, just as with any other user-programmable pad. An
inverter can optionally be inserted after the input buffer to
invert the sense of the Global 3-State signal. Using GTS is
similar to Global Reset. See Figure 8 on page 90 for
details. Alternatively, GTS can be driven from any internal
node.
OPAD
Other IOB Options
OBUFT
X6702
Figure 12: Open-Drain Output
There are a number of other programmable options in the
XC5200-Series IOB.
Pull-up and Pull-down Resistors
Output Slew Rate
The slew rate of each output buffer is, by default, reduced,
to minimize power bus transients when switching non-critical signals. For critical signals, attach a FAST attribute or
property to the output buffer or flip-flop.
7-92
Programmable IOB pull-up and pull-down resistors are
useful for tying unused pins to Vcc or Ground to minimize
power consumption and reduce noise sensitivity. The configurable pull-up resistor is a p-channel transistor that pulls
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
to Vcc. The configurable pull-down resistor is an n-channel
transistor that pulls to Ground.
The value of these resistors is 20 kΩ − 100 kΩ. This high
value makes them unsuitable as wired-AND pull-up resistors.
The pull-up resistors for most user-programmable IOBs are
active during the configuration process. See Table 13 on
page 124 for a list of pins with pull-ups active before and
during configuration.
After configuration, voltage levels of unused pads, bonded
or unbonded, must be valid logic levels, to reduce noise
sensitivity and avoid excess current. Therefore, by default,
unused pads are configured with the internal pull-up resistor active. Alternatively, they can be individually configured
with the pull-down resistor, or as a driven output, or to be
driven by an external source. To activate the internal
pull-up, attach the PULLUP library component to the net
attached to the pad. To activate the internal pull-down,
attach the PULLDOWN library component to the net
attached to the pad.
JTAG Support
Embedded logic attached to the IOBs contains test structures compatible with IEEE Standard 1149.1 for boundary
scan testing, simplifying board-level testing. More information is provided in “Boundary Scan” on page 98.
Oscillator
XC5200 devices include an internal oscillator. This oscillator is used to clock the power-on time-out, clear configuration memory, and source CCLK in Master configuration
modes. The oscillator runs at a nominal 12 MHz frequency
that varies with process, Vcc, and temperature. The output
CCLK frequency is selectable as 1 MHz (default), 6 MHz,
or 12 MHz.
The XC5200 oscillator divides the internal 12-MHz clock or
a user clock. The user then has the choice of dividing by 4,
16, 64, or 256 for the “OSC1” output and dividing by 2, 8,
32, 128, 1024, 4096, 16384, or 65536 for the “OSC2” output. The division is specified via a “DIVIDEn_BY=x”
attribute on the symbol, where n=1 for OSC1, or n=2 for
OSC2. These frequencies can vary by as much as -50% or
+ 50%.
The OSC5 macro is used where an internal oscillator is
required. The CK_DIV macro is applicable when a user
clock input is specified (see Figure 13).
November 5, 1998 (Version 5.2)
OSCS
OSC1
OSC2
CK_DIV
OSC1
OSC2
5200_14
Figure 13: XC5200 Oscillator Macros
VersaBlock Routing
The General Routing Matrix (GRM) connects to the
Versa-Block via 24 bidirectional ports (M0-M23). Excluding
direct connections, global nets, and 3-statable Longlines,
all VersaBlock inputs and outputs connect to the GRM via
these 24 ports. Four 3-statable unidirectional signals
(TQ0-TQ3) drive out of the VersaBlock directly onto the
horizontal and vertical Longlines. Two horizontal global
nets and two vertical global nets connect directly to every
CLB clock pin; they can connect to other CLB inputs via the
GRM. Each CLB also has four unidirectional direct connects to each of its four neighboring CLBs. These direct
connects can also feed directly back to the CLB (see
Figure 14).
In addition, each CLB has 16 direct inputs, four direct connections from each of the neighboring CLBs. These direct
connections provide high-speed local routing that
bypasses the GRM.
Local Interconnect Matrix
The Local Interconnect Matrix (LIM) is built from input and
output multiplexers. The 13 CLB outputs (12 LC outputs
plus a Vcc/GND signal) connect to the eight VersaBlock
outputs via the output multiplexers, which consist of eight
fully populated 13-to-1 multiplexers. Of the eight
VersaBlock outputs, four signals drive each neighboring
CLB directly, and provide a direct feedback path to the input
multiplexers. The four remaining multiplexer outputs can
drive the GRM through four TBUFs (TQ0-TQ3). All eight
multiplexer outputs can connect to the GRM through the
bidirectional M0-M23 signals. All eight signals also connect
to the input multiplexers and are potential inputs to that
CLB.
7-93
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
To GRM
M0-M23
24
TS
4
Global Nets
8
COUT
North
4
South
4
East
4
West
4
4
4
To
Longlines
and GRM
TQ0-TQ3
4
Direct to
East
CLB
5
Input
Multiplexers
LC3
5
LC2
5
LC1
5
LC0
3
3
VCC /GND
Output
Multiplexers
3
8
4
3
Direct North
CLK
4
Feedback
4
Direct West
CE
CLR
CIN
4
4
Direct South
X5724
Figure 14: VersaBlock Details
CLB inputs have several possible sources: the 24 signals
from the GRM, 16 direct connections from neighboring
VersaBlocks, four signals from global, low-skew buffers,
and the four signals from the CLB output multiplexers.
Unlike the output multiplexers, the input multiplexers are
not fully populated; i.e., only a subset of the available signals can be connected to a given CLB input. The flexibility
of LUT input swapping and LUT mapping compensates for
this limitation. For example, if a 2-input NAND gate is
required, it can be mapped into any of the four LUTs, and
use any two of the four inputs to the LUT.
Direct Connects
The unidirectional direct-connect segments are connected
to the logic input/output pins through the CLB input and output multiplexer arrays, and thus bypass the general routing
matrix altogether. These lines increase the routing channel
utilization, while simultaneously reducing the delay
incurred in speed-critical connections.
7-94
The direct connects also provide a high-speed path from
the edge CLBs to the VersaRing input/output buffers, and
thus reduce pin-to-pin set-up time, clock-to-out, and combinational propagation delay. Direct connects from the input
buffers to the CLB DI pin (direct flip-flop input) are only
available on the left and right edges of the device. CLB
look-up table inputs and combinatorial/registered outputs
have direct connects to input/output buffers on all four
sides.
The direct connects are ideal for developing customized
RPM cells. Using direct connects improves the macro performance, and leaves the other routing channels intact for
improved routing. Direct connects can also route through a
CLB using one of the four cell-feedthrough paths.
General Routing Matrix
The General Routing Matrix, shown in Figure 15, provides
flexible bidirectional connections to the Local Interconnect
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Matrix through a hierarchy of different-length metal segments in both the horizontal and vertical directions. A pro-
GRM
GRM
VersaBlock
GRM
GRM
VersaBlock
VersaBlock
GRM
VersaBlock
1
GRM
VersaBlock
VersaBlock
2
GRM
GRM
VersaBlock
GRM
VersaBlock
VersaBlock
3
4
Six Levels of Routing Hierarchy
1
Single-length Lines
2
Double-length Lines
3
Direct Connects
GRM
4
7
4
24
24
TS
CLB
LC3
4
4
4
4
Longlines and Global Lines
LC2
4
4
LC1
6 LC0
5
LIM
6
Local Interconnect Matrix
LIM
Logic Cell Feedthrough
Path (Contained within each
Logic Cell)
4
5
4
Direct Connects
X4963
Figure 15: XC5200 Interconnect Structure
grammable interconnect point (PIP) establishes an electrical connection between two wire segments. The PIP, consisting of a pass transistor switch controlled by a memory
element, provides bidirectional (in some cases, unidirectional) connection between two adjoining wires. A collection of PIPs inside the General Routing Matrix and in the
Local Interconnect Matrix provides connectivity between
various types of metal segments. A hierarchy of PIPs and
associated routing segments combine to provide a powerful interconnect hierarchy:
•
•
•
November 5, 1998 (Version 5.2)
Forty bidirectional single-length segments per CLB
provide ten routing channels to each of the four
neighboring CLBs in four directions.
Sixteen bidirectional double-length segments per CLB
provide four routing channels to each of four other
(non-neighboring) CLBs in four directions.
Eight horizontal and eight vertical bidirectional Longline
7-95
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
segments span the width and height of the chip,
respectively.
Two low-skew horizontal and vertical unidirectional global-line segments span each row and column of the chip,
respectively.
Single- and Double-Length Lines
The single- and double-length bidirectional line segments
make up the bulk of the routing channels. The double-length lines hop across every other CLB to reduce the
propagation delays in speed-critical nets. Regenerating the
signal strength is recommended after traversing three or
four such segments. Xilinx place-and-route software automatically connects buffers in the path of the signal as necessary. Single- and double-length lines cannot drive onto
Longlines and global lines; Longlines and global lines can,
however, drive onto single- and double-length lines. As a
general rule, Longline and global-line connections to the
general routing matrix are unidirectional, with the signal
direction from these lines toward the routing matrix.
Longlines
Longlines are used for high-fan-out signals, 3-state busses,
low-skew nets, and faraway destinations. Row and column
splitter PIPs in the middle of the array effectively double the
total number of Longlines by electrically dividing them into
two separated half-lines. Longlines are driven by the
3-state buffers in each CLB, and are driven by similar buffers at the periphery of the array from the VersaRing I/O
Interface.
Bus-oriented designs are easily implemented by using Longlines in conjunction with the 3-state buffers in the CLB and
in the VersaRing. Additionally, weak keeper cells at the
periphery retain the last valid logic level on the Longlines
when all buffers are in 3-state mode.
carry/cascade logic described above, implementing a wide
logic function in place of the wired function. In the case of
3-state bus applications, the user must insure that all states
of the multiplexing function are defined. This process is as
simple as adding an additional TBUF to drive the bus High
when the previously undefined states are activated.
Global Lines
Global buffers in Xilinx FPGAs are special buffers that drive
a dedicated routing network called Global Lines, as shown
in Figure 16. This network is intended for high-fanout
clocks or other control signals, to maximize speed and minimize skewing while distributing the signal to many loads.
The XC5200 family has a total of four global buffers (BUFG
symbol in the library), each with its own dedicated routing
channel. Two are distributed vertically and two horizontally
throughout the FPGA.
The global lines provide direct input only to the CLB clock
pins. The global lines also connect to the General Routing
Matrix to provide access from these lines to the function
generators and other control signals.
Four clock input pads at the corners of the chip, as shown
in Figure 16, provide a high-speed, low-skew clock network
to each of the four global-line buffers. In addition to the dedicated pad, the global lines can be sourced by internal
logic. PIPs from several routing channels within the VersaRing can also be configured to drive the global-line buffers.
Details of all the programmable interconnect for a CLB is
shown in Figure 17.
GCK1
GCK4
GCK2
GCK3
Longlines connect to the single-length or double-length
lines, or to the logic inside the CLB, through the General
Routing Matrix. The only manner in which a Longline can
be driven is through the four 3-state buffers; therefore, a
Longline-to-Longline or single-line-to-Longline connection
through PIPs in the General Routing Matrix is not possible.
Again, as a general rule, long- and global-line connections
to the General Routing Matrix are unidirectional, with the
signal direction from these lines toward the routing matrix.
The XC5200 family has no pull-ups on the ends of the Longlines sourced by TBUFs, unlike the XC4000 Series. Consequently, wired functions (i.e., WAND and WORAND) and
wide multiplexing functions requiring pull-ups for undefined
states (i.e., bus applications) must be implemented in a different way. In the case of the wired functions, the same
functionality can be achieved by taking advantage of the
7-96
X5704
Figure 16: Global Lines
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
CARRY
DOUBLE
SINGLE
CLB
LONG
x9010
.
SINGLE
GLOBAL
DOUBLE
LONG
DIRECT
DIRECT
DIRECT
GLOBAL
7
Figure 17: Detail of Programmable Interconnect Associated with XC5200 Series CLB
November 5, 1998 (Version 5.2)
7-97
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
VersaRing Input/Output Interface
The VersaRing, shown in Figure 18, is positioned between
the core logic and the pad ring; it has all the routing
resources of a VersaBlock without the CLB logic. The VersaRing decouples the core logic from the I/O pads. Each
VersaRing Cell provides up to four pad-cell connections on
one side, and connects directly to the CLB ports on the
other side.
Boundary-scan operation is independent of individual IOB
configuration and package type. All IOBs are treated as
independently controlled bidirectional pins, including any
unbonded IOBs. Retaining the bidirectional test capability
after configuration provides flexibility for interconnect testing.
VersaRing
8
2
8
8
2
2
Pad
2
GRM
Pad
10
Interconnect
Pad
4
4
VersaBlock
Pad
8
8
2
Pad
2
GRM
Pad
10
Interconnect
Pad
4
VersaBlock
4
Pad
2
8
2
8
X5705
Figure 18: VersaRing I/O Interface
Boundary Scan
The “bed of nails” has been the traditional method of testing
electronic assemblies. This approach has become less
appropriate, due to closer pin spacing and more sophisticated assembly methods like surface-mount technology
and multi-layer boards. The IEEE boundary scan standard
1149.1 was developed to facilitate board-level testing of
electronic assemblies. Design and test engineers can
imbed a standard test logic structure in their device to
achieve high fault coverage for I/O and internal logic. This
structure is easily implemented with a four-pin interface on
any boundary scan-compatible IC. IEEE 1149.1-compatible
devices may be serial daisy-chained together, connected in
parallel, or a combination of the two.
7-98
XC5200 devices support all the mandatory boundary-scan
instructions specified in the IEEE standard 1149.1. A Test
Access Port (TAP) and registers are provided that implement the EXTEST, SAMPLE/PRELOAD, and BYPASS
instructions. The TAP can also support two USERCODE
instructions. When the boundary scan configuration option
is selected, three normal user I/O pins become dedicated
inputs for these functions. Another user output pin
becomes the dedicated boundary scan output.
Also, internal signals can be captured during EXTEST by
connecting them to unbonded IOBs, or to the unused outputs in IOBs used as unidirectional input pins. This technique partially compensates for the lack of INTEST
support.
The user can serially load commands and data into these
devices to control the driving of their outputs and to examine their inputs. This method is an improvement over
bed-of-nails testing. It avoids the need to over-drive device
outputs, and it reduces the user interface to four pins. An
optional fifth pin, a reset for the control logic, is described in
the standard but is not implemented in Xilinx devices.
The dedicated on-chip logic implementing the IEEE 1149.1
functions includes a 16-state machine, an instruction register and a number of data registers. The functional details
can be found in the IEEE 1149.1 specification and are also
discussed in the Xilinx application note XAPP 017: “Boundary Scan in XC4000 and XC5200 Series devices”
Figure 19 on page 99 is a diagram of the XC5200-Series
boundary scan logic. It includes three bits of Data Register
per IOB, the IEEE 1149.1 Test Access Port controller, and
the Instruction Register with decodes.
The public boundary-scan instructions are always available
prior to configuration. After configuration, the public instructions and any USERCODE instructions are only available if
specified in the design. While SAMPLE and BYPASS are
available during configuration, it is recommended that
boundary-scan operations not be performed during this
transitory period.
In addition to the test instructions outlined above, the
boundary-scan circuitry can be used to configure the FPGA
device, and to read back the configuration data.
All of the XC4000 boundary-scan modes are supported in
the XC5200 family. Three additional outputs for the UserRegister are provided (Reset, Update, and Shift), repre-
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
senting the decoding of the corresponding state of the
boundary-scan internal state machine.
DATA IN
1
0
sd
D
Q
D
Q
LE
1
0
IOB.O
IOB.T
0
1
0
IOB
IOB
IOB
IOB
sd
D
Q
D
1
LE
IOB
IOB
Q
IOB
1
sd
D
Q
D
Q
0
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
LE
1
IOB.I
0
1
IOB
0
Q
D
Q
LE
1
0
IOB.O
IOB
BYPASS
REGISTER
sd
D
IOB.T
TDI
7
0
M TDO
U
X
INSTRUCTION REGISTER
1
0
sd
D
Q
D
Q
1
LE
M
U
TDO X
TDI
INSTRUCTION REGISTER
1
BYPASS
REGISTER
IOB
IOB
IOB
IOB
IOB
IOB
0
sd
D
Q
D
Q
LE
1
IOB.I
0
IOB
IOB
1
0
IOB
IOB
IOB
IOB
sd
D
Q
D
Q
LE
IOB
IOB
0
1
IOB.O
DATAOUT
IOB
IOB
IOB
IOB
IOB
SHIFT/
CAPTURE
UPDATE
EXTEST
CLOCK DATA
REGISTER
X1523_01
Figure 19: XC5200-Series Boundary Scan Logic
November 5, 1998 (Version 5.2)
7-99
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
XC5200-Series devices can also be configured through the
boundary scan logic. See XAPP 017 for more information.
Data Registers
The primary data register is the boundary scan register.
For each IOB pin in the FPGA, bonded or not, it includes
three bits for In, Out and 3-State Control. Non-IOB pins
have appropriate partial bit population for In or Out only.
PROGRAM, CCLK and DONE are not included in the
boundary scan register. Each EXTEST CAPTURE-DR
state captures all In, Out, and 3-State pins.
The data register also includes the following non-pin bits:
TDO.T, and TDO.O, which are always bits 0 and 1 of the
data register, respectively, and BSCANT.UPD, which is
always the last bit of the data register. These three boundary scan bits are special-purpose Xilinx test signals.
The other standard data register is the single flip-flop
BYPASS register. It synchronizes data being passed
through the FPGA to the next downstream boundary scan
device.
The FPGA provides two additional data registers that can
be specified using the BSCAN macro. The FPGA provides
two user pins (BSCAN.SEL1 and BSCAN.SEL2) which are
the decodes of two user instructions, USER1 and USER2.
For these instructions, two corresponding pins
(BSCAN.TDO1 and BSCAN.TDO2) allow user scan data to
be shifted out on TDO.
The data register clock
(BSCAN.DRCK) is available for control of test logic which
the user may wish to implement with CLBs. The NAND of
TCK and RUN-TEST-IDLE is also provided (BSCAN.IDLE).
Instruction Set
The XC5200-Series boundary scan instruction set also
includes instructions to configure the device and read back
the configuration data. The instruction set is coded as
shown in Table 7.
Table 7: Boundary Scan Instructions
Instruction I2
I1
I0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
7-100
Test
TDO Source
Selected
EXTEST
DR
SAMPLE/PR
DR
ELOAD
USER 1
BSCAN.
TDO1
USER 2
BSCAN.
TDO2
READBACK Readback
Data
CONFIGURE
DOUT
Reserved
—
BYPASS
Bypass
Register
I/O Data
Source
DR
Pin/Logic
Bit Sequence
The bit sequence within each IOB is: 3-State, Out, In. The
data-register cells for the TAP pins TMS, TCK, and TDI
have an OR-gate that permanently disables the output
buffer if boundary-scan operation is selected. Consequently, it is impossible for the outputs in IOBs used by TAP
inputs to conflict with TAP operation. TAP data is taken
directly from the pin, and cannot be overwritten by injected
boundary-scan data.
The primary global clock inputs (PGCK1-PGCK4) are
taken directly from the pins, and cannot be overwritten with
boundary-scan data. However, if necessary, it is possible to
drive the clock input from boundary scan. The external
clock source is 3-stated, and the clock net is driven with
boundary scan data through the output driver in the
clock-pad IOB. If the clock-pad IOBs are used for non-clock
signals, the data may be overwritten normally.
Pull-up and pull-down resistors remain active during
boundary scan. Before and during configuration, all pins
are pulled up. After configuration, the choice of internal
pull-up or pull-down resistor must be taken into account
when designing test vectors to detect open-circuit PC
traces.
From a cavity-up view of the chip (as shown in XDE or
Epic), starting in the upper right chip corner, the boundary
scan data-register bits are ordered as shown in Table 8.
The device-specific pinout tables for the XC5200 Series
include the boundary scan locations for each IOB pin.
Table 8: Boundary Scan Bit Sequence
Bit Position
Bit 0 (TDO)
Bit 1
...
...
...
Bit N (TDI)
I/O Pad Location
Top-edge I/O pads (right to left)
...
Left-edge I/O pads (top to bottom)
Bottom-edge I/O pads (left to right)
Right-edge I/O pads (bottom to top)
BSCANT.UPD
BSDL (Boundary Scan Description Language) files for
XC5200-Series devices are available on the Xilinx web site
in the File Download area.
Including Boundary Scan
User Logic
Pin/Logic
If boundary scan is only to be used during configuration, no
special elements need be included in the schematic or HDL
code. In this case, the special boundary scan pins TDI,
TMS, TCK and TDO can be used for user functions after
configuration.
Disabled
—
—
To indicate that boundary scan remain enabled after configuration, include the BSCAN library symbol and connect pad
symbols to the TDI, TMS, TCK and TDO pins, as shown in
Figure 20.
User Logic
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Optional
To User
Logic
IBUF
Output buffers capable of driving/sinking the specified 8 mA
loads under specified worst-case conditions may be capable of driving/sinking up to 10 times as much current under
best case conditions.
BSCAN
RESET
UPDATE
SHIFT
TDO
TDI
From
User Logic
Typically, a 0.1 µF capacitor connected near the Vcc and
Ground pins of the package will provide adequate decoupling.
TMS
DRCK
TCK
IDLE
TDO1
SEL1
TDO2
SEL2
To User
Logic
X9000
Figure 20: Boundary Scan Schematic Example
Noise can be reduced by minimizing external load capacitance and reducing simultaneous output transitions in the
same direction. It may also be beneficial to locate heavily
loaded output buffers near the Ground pads. The I/O Block
output buffers have a slew-rate limited mode (default)
which should be used where output rise and fall times are
not speed-critical.
Even if the boundary scan symbol is used in a schematic,
the input pins TMS, TCK, and TDI can still be used as
inputs to be routed to internal logic. Care must be taken not
to force the chip into an undesired boundary scan state by
inadvertently applying boundary scan input patterns to
these pins. The simplest way to prevent this is to keep
TMS High, and then apply whatever signal is desired to TDI
and TCK.
GND
Ground and
Vcc Ring for
I/O Drivers
Avoiding Inadvertent Boundary Scan
Vcc
Vcc
If TMS or TCK is used as user I/O, care must be taken to
ensure that at least one of these pins is held constant during configuration. In some applications, a situation may
occur where TMS or TCK is driven during configuration.
This may cause the device to go into boundary scan mode
and disrupt the configuration process.
Logic
Power Grid
GND
To prevent activation of boundary scan during configuration, do either of the following:
•
•
TMS: Tie High to put the Test Access Port controller
in a benign RESET state
TCK: Tie High or Low—do not toggle this clock input.
For more information regarding boundary scan, refer to the
Xilinx Application Note XAPP 017, “Boundary Scan in
XC4000 and XC5200 Devices.“
Power Distribution
Power for the FPGA is distributed through a grid to achieve
high noise immunity and isolation between logic and I/O.
Inside the FPGA, a dedicated Vcc and Ground ring surrounding the logic array provides power to the I/O drivers,
as shown in Figure 21. An independent matrix of Vcc and
Ground lines supplies the interior logic of the device.
This power distribution grid provides a stable supply and
ground for all internal logic, providing the external package
power pins are all connected and appropriately decoupled.
November 5, 1998 (Version 5.2)
X5422
Figure 21: XC5200-Series Power Distribution
Pin Descriptions
There are three types of pins in the XC5200-Series
devices:
•
•
•
Permanently dedicated pins
User I/O pins that can have special functions
Unrestricted user-programmable I/O pins.
Before and during configuration, all outputs not used for the
configuration process are 3-stated and pulled high with a
20 kΩ - 100 kΩ pull-up resistor.
After configuration, if an IOB is unused it is configured as
an input with a 20 kΩ - 100 kΩ pull-up resistor.
Device pins for XC5200-Series devices are described in
Table 9. Pin functions during configuration for each of the
seven configuration modes are summarized in “Pin Func-
7-101
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
tions During Configuration” on page 124, in the “Configuration Timing” section.
Table 9: Pin Descriptions
I/O
I/O
After
During
Config. Config.
Pin Name
Permanently Dedicated Pins
Pin Description
Five or more (depending on package) connections to the nominal +5 V supply voltage.
All must be connected, and each must be decoupled with a 0.01 - 0.1 µF capacitor to
Ground.
Four or more (depending on package type) connections to Ground. All must be conGND
I
I
nected.
During configuration, Configuration Clock (CCLK) is an output in Master modes or Asynchronous Peripheral mode, but is an input in Slave mode, Synchronous Peripheral
mode, and Express mode. After configuration, CCLK has a weak pull-up resistor and
can be selected as the Readback Clock. There is no CCLK High time restriction on
CCLK
I or O
I
XC5200-Series devices, except during Readback. See “Violating the Maximum High
and Low Time Specification for the Readback Clock” on page 113 for an explanation of
this exception.
DONE is a bidirectional signal with an optional internal pull-up resistor. As an output, it
indicates the completion of the configuration process. As an input, a Low level on
DONE can be configured to delay the global logic initialization and the enabling of outputs.
DONE
I/O
O
The exact timing, the clock source for the Low-to-High transition, and the optional
pull-up resistor are selected as options in the program that creates the configuration bitstream. The resistor is included by default.
PROGRAM is an active Low input that forces the FPGA to clear its configuration memory. It is used to initiate a configuration cycle. When PROGRAM goes High, the FPGA
PROGRAM
I
I
executes a complete clear cycle, before it goes into a WAIT state and releases INIT.
The PROGRAM pin has an optional weak pull-up after configuration.
User I/O Pins That Can Have Special Functions
During Peripheral mode configuration, this pin indicates when it is appropriate to write
another byte of data into the FPGA. The same status is also available on D7 in Asynchronous Peripheral mode, if a read operation is performed when the device is selected.
RDY/BUSY
O
I/O
After configuration, RDY/BUSY is a user-programmable I/O pin.
RDY/BUSY is pulled High with a high-impedance pull-up prior to INIT going High.
During Master Parallel configuration, each change on the A0-A17 outputs is preceded
by a rising edge on RCLK, a redundant output signal. RCLK is useful for clocked
RCLK
O
I/O
PROMs. It is rarely used during configuration. After configuration, RCLK is a user-programmable I/O pin.
As Mode inputs, these pins are sampled before the start of configuration to determine
the configuration mode to be used. After configuration, M0, M1, and M2 become user-programmable I/O.
M0, M1, M2
I
I/O
During configuration, these pins have weak pull-up resistors. For the most popular configuration mode, Slave Serial, the mode pins can thus be left unconnected. A pull-down
resistor value of 3.3 kΩ is recommended for other modes.
If boundary scan is used, this pin is the Test Data Output. If boundary scan is not used,
this pin is a 3-state output, after configuration is completed.
TDO
O
O
This pin can be user output only when called out by special schematic definitions. To
use this pin, place the library component TDO instead of the usual pad symbol. An output buffer must still be used.
VCC
7-102
I
I
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Table 9: Pin Descriptions (Continued)
Pin Name
I/O
I/O
After
During
Config. Config.
TDI, TCK,
TMS
I
HDC
O
LDC
O
INIT
I/O
GCK1 GCK4
Weak
Pull-up
CS0, CS1,
WS, RS
I
A0 - A17
O
D0 - D7
I
DIN
I
DOUT
O
Pin Description
If boundary scan is used, these pins are Test Data In, Test Clock, and Test Mode Select
inputs respectively. They come directly from the pads, bypassing the IOBs. These pins
can also be used as inputs to the CLB logic after configuration is completed.
I/O
If the BSCAN symbol is not placed in the design, all boundary scan functions are inhibor I
ited once configuration is completed, and these pins become user-programmable I/O.
(JTAG)
In this case, they must be called out by special schematic definitions. To use these pins,
place the library components TDI, TCK, and TMS instead of the usual pad symbols. Input or output buffers must still be used.
High During Configuration (HDC) is driven High until the I/O go active. It is available as
I/O
a control output indicating that configuration is not yet completed. After configuration,
HDC is a user-programmable I/O pin.
Low During Configuration (LDC) is driven Low until the I/O go active. It is available as a
control output indicating that configuration is not yet completed. After configuration,
I/O
LDC is a user-programmable I/O pin.
Before and during configuration, INIT is a bidirectional signal. A 1 kΩ - 10 kΩ external
pull-up resistor is recommended.
As an active-Low open-drain output, INIT is held Low during the power stabilization and
internal clearing of the configuration memory. As an active-Low input, it can be used
I/O
to hold the FPGA in the internal WAIT state before the start of configuration. Master
mode devices stay in a WAIT state an additional 50 to 250 µs after INIT has gone High.
During configuration, a Low on this output indicates that a configuration data error has
occurred. After the I/O go active, INIT is a user-programmable I/O pin.
Four Global inputs each drive a dedicated internal global net with short delay and minimal skew. These internal global nets can also be driven from internal logic. If not used
to drive a global net, any of these pins is a user-programmable I/O pin.
I or I/O
The GCK1-GCK4 pins provide the shortest path to the four Global Buffers. Any input
pad symbol connected directly to the input of a BUFG symbol is automatically placed on
one of these pins.
These four inputs are used in Asynchronous Peripheral mode. The chip is selected
when CS0 is Low and CS1 is High. While the chip is selected, a Low on Write Strobe
(WS) loads the data present on the D0 - D7 inputs into the internal data buffer. A Low
on Read Strobe (RS) changes D7 into a status output — High if Ready, Low if Busy —
I/O
and drives D0 - D6 High.
In Express mode, CS1 is used as a serial-enable signal for daisy-chaining.
WS and RS should be mutually exclusive, but if both are Low simultaneously, the Write
Strobe overrides. After configuration, these are user-programmable I/O pins.
During Master Parallel configuration, these 18 output pins address the configuration
I/O
EPROM. After configuration, they are user-programmable I/O pins.
During Master Parallel, Peripheral, and Express configuration, these eight input pins reI/O
ceive configuration data. After configuration, they are user-programmable I/O pins.
During Slave Serial or Master Serial configuration, DIN is the serial configuration data
I/O
input receiving data on the rising edge of CCLK. During Parallel configuration, DIN is
the D0 input. After configuration, DIN is a user-programmable I/O pin.
During configuration in any mode but Express mode, DOUT is the serial configuration
data output that can drive the DIN of daisy-chained slave FPGAs. DOUT data changes
on the falling edge of CCLK.
In Express mode, DOUT is the status output that can drive the CS1 of daisy-chained
I/O
FPGAs, to enable and disable downstream devices.
After configuration, DOUT is a user-programmable I/O pin.
November 5, 1998 (Version 5.2)
7-103
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Table 9: Pin Descriptions (Continued)
I/O
I/O
After
During
Pin Description
Config. Config.
Pin Name
Unrestricted User-Programmable I/O Pins
These pins can be configured to be input and/or output after configuration is completed.
Weak
I/O
Before configuration is completed, these pins have an internal high-value pull-up resisI/O
Pull-up
tor (20 kΩ - 100 kΩ) that defines the logic level as High.
Configuration
Configuration is the process of loading design-specific programming data into one or more FPGAs to define the functional operation of the internal blocks and their
interconnections. This is somewhat like loading the command registers of a programmable peripheral chip.
XC5200-Series devices use several hundred bits of configuration data per CLB and its associated interconnects.
Each configuration bit defines the state of a static memory
cell that controls either a function look-up table bit, a multiplexer input, or an interconnect pass transistor. The development system translates the design into a netlist file. It
automatically partitions, places and routes the logic and
generates the configuration data in PROM format.
Special Purpose Pins
Three configuration mode pins (M2, M1, M0) are sampled
prior to configuration to determine the configuration mode.
After configuration, these pins can be used as auxiliary I/O
connections. The development system does not use these
resources unless they are explicitly specified in the design
entry. This is done by placing a special pad symbol called
MD2, MD1, or MD0 instead of the input or output pad symbol.
In XC5200-Series devices, the mode pins have weak
pull-up resistors during configuration. With all three mode
pins High, Slave Serial mode is selected, which is the most
popular configuration mode. Therefore, for the most common configuration mode, the mode pins can be left unconnected. (Note, however, that the internal pull-up resistor
value can be as high as 100 kΩ.) After configuration, these
pins can individually have weak pull-up or pull-down resistors, as specified in the design. A pull-down resistor value
of 3.3kΩ is recommended.
These pins are located in the lower left chip corner and are
near the readback nets. This location allows convenient
routing if compatibility with the XC2000 and XC3000 family
conventions of M0/RT, M1/RD is desired.
Configuration Modes
XC5200 devices have seven configuration modes. These
modes are selected by a 3-bit input code applied to the M2,
7-104
M1, and M0 inputs. There are three self-loading Master
modes, two Peripheral modes, and a Serial Slave mode,
Table 10: Configuration Modes
Mode
Master Serial
Slave Serial
Master
Parallel Up
M2
0
1
1
M1
0
1
0
M0
0
1
0
CCLK
output
input
output
Master
Parallel Down
1
1
0
output
Peripheral
Synchronous*
Peripheral
Asynchronous
Express
Reserved
0
1
1
input
Data
Bit-Serial
Bit-Serial
Byte-Wide,
increment
from 00000
Byte-Wide,
decrement
from 3FFFF
Byte-Wide
1
0
1
output
Byte-Wide
0
0
1
0
0
1
input
—
Byte-Wide
—
Note :*Peripheral Synchronous can be considered byte-wide
Slave Parallel
which is used primarily for daisy-chained devices. The seventh mode, called Express mode, is an additional slave
mode that allows high-speed parallel configuration. The
coding for mode selection is shown in Table 10.
Note that the smallest package, VQ64, only supports the
Master Serial, Slave Serial, and Express modes.A detailed
description of each configuration mode, with timing information, is included later in this data sheet. During configuration, some of the I/O pins are used temporarily for the
configuration process. All pins used during configuration
are shown in Table 13 on page 124.
Master Modes
The three Master modes use an internal oscillator to generate a Configuration Clock (CCLK) for driving potential slave
devices. They also generate address and timing for external PROM(s) containing the configuration data.
Master Parallel (Up or Down) modes generate the CCLK
signal and PROM addresses and receive byte parallel
data. The data is internally serialized into the FPGA
data-frame format. The up and down selection generates
starting addresses at either zero or 3FFFF, for compatibility
with different microprocessor addressing conventions. The
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Master Serial mode generates CCLK and receives the configuration data in serial form from a Xilinx serial-configuration PROM.
CCLK speed is selectable as 1 MHz (default), 6 MHz, or 12
MHz. Configuration always starts at the default slow frequency, then can switch to the higher frequency during the
first frame. Frequency tolerance is -50% to +50%.
Peripheral Modes
The two Peripheral modes accept byte-wide data from a
bus. A RDY/BUSY status is available as a handshake signal. In Asynchronous Peripheral mode, the internal oscillator generates a CCLK burst signal that serializes the
byte-wide data. CCLK can also drive slave devices. In the
synchronous mode, an externally supplied clock input to
CCLK serializes the data.
Slave Serial Mode
In Slave Serial mode, the FPGA receives serial configuration data on the rising edge of CCLK and, after loading its
configuration, passes additional data out, resynchronized
on the next falling edge of CCLK.
Multiple slave devices with identical configurations can be
wired with parallel DIN inputs. In this way, multiple devices
can be configured simultaneously.
Serial Daisy Chain
Multiple devices with different configurations can be connected together in a “daisy chain,” and a single combined
bitstream used to configure the chain of slave devices.
To configure a daisy chain of devices, wire the CCLK pins
of all devices in parallel, as shown in Figure 28 on page
114. Connect the DOUT of each device to the DIN of the
next. The lead or master FPGA and following slaves each
passes resynchronized configuration data coming from a
single source. The header data, including the length count,
is passed through and is captured by each FPGA when it
recognizes the 0010 preamble. Following the length-count
data, each FPGA outputs a High on DOUT until it has
received its required number of data frames.
After an FPGA has received its configuration data, it
passes on any additional frame start bits and configuration
data on DOUT. When the total number of configuration
clocks applied after memory initialization equals the value
of the 24-bit length count, the FPGAs begin the start-up
sequence and become operational together. FPGA I/O are
normally released two CCLK cycles after the last configuration bit is received. Figure 25 on page 109 shows the
start-up timing for an XC5200-Series device.
The daisy-chained bitstream is not simply a concatenation
of the individual bitstreams. The PROM file formatter must
be used to combine the bitstreams for a daisy-chained configuration.
November 5, 1998 (Version 5.2)
Multi-Family Daisy Chain
All Xilinx FPGAs of the XC2000, XC3000, XC4000, and
XC5200 Series use a compatible bitstream format and can,
therefore, be connected in a daisy chain in an arbitrary
sequence. There is, however, one limitation. If the chain
contains XC5200-Series devices, the master normally cannot be an XC2000 or XC3000 device.
The reason for this rule is shown in Figure 25 on page 109.
Since all devices in the chain store the same length count
value and generate or receive one common sequence of
CCLK pulses, they all recognize length-count match on the
same CCLK edge, as indicated on the left edge of
Figure 25. The master device then generates additional
CCLK pulses until it reaches its finish point F. The different
families generate or require different numbers of additional
CCLK pulses until they reach F. Not reaching F means that
the device does not really finish its configuration, although
DONE may have gone High, the outputs became active,
and the internal reset was released. For the
XC5200-Series device, not reaching F means that readback cannot be initiated and most boundary scan instructions cannot be used.
The user has some control over the relative timing of these
events and can, therefore, make sure that they occur at the
proper time and the finish point F is reached. Timing is controlled using options in the bitstream generation software.
XC5200 devices always have the same number of CCLKs
in the power up delay, independent of the configuration
mode, unlike the XC3000/XC4000 Series devices. To guarantee all devices in a daisy chain have finished the
power-up delay, tie the INIT pins together, as shown in
Figure 27.
XC3000 Master with an XC5200-Series Slave
Some designers want to use an XC3000 lead device in
peripheral mode and have the I/O pins of the
XC5200-Series devices all available for user I/O. Figure 22
provides a solution for that case.
This solution requires one CLB, one IOB and pin, and an
internal oscillator with a frequency of up to 5 MHz as a
clock source. The XC3000 master device must be configured with late Internal Reset, which is the default option.
One CLB and one IOB in the lead XC3000-family device
are used to generate the additional CCLK pulse required by
the XC5200-Series devices.
When the lead device
removes the internal RESET signal, the 2-bit shift register
responds to its clock input and generates an active Low
output signal for the duration of the subsequent clock
period. An external connection between this output and
CCLK thus creates the extra CCLK pulse.
7-105
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Pseudo Daisy Chain
OE/T
Reset
0
0
1
0
1
1
0
1
0
1
. etc .
.
.
Output
Connected
to CCLK
Active Low Output
Active High Output
X5223
Figure 22: CCLK Generation for XC3000 Master
Driving an XC5200-Series Slave
Express Mode
Express mode is similar to Slave Serial mode, except the
data is presented in parallel format, and is clocked into the
target device a byte at a time rather than a bit at a time. The
data is loaded in parallel into eight different columns: it is
not internally serialized. Eight bits of configuration data are
loaded with every CCLK cycle, therefore this configuration
mode runs at eight times the data rate of the other six
modes. In this mode the XC5200 family is capable of supporting a CCLK frequency of 10 MHz, which is equivalent to
an 80 MHz serial rate, because eight bits of configuration
data are being loaded per CCLK cycle. An XC5210 in the
Express mode, for instance, can be configured in about 2
ms. The Express mode does not support CRC error checking, but does support constant-field error checking. A
length count is not used in Express mode.
In the Express configuration mode, an external signal
drives the CCLK input(s). The first byte of parallel configuration data must be available at the D inputs of the FPGA
devices a short set-up time before the second rising CCLK
edge. Subsequent data bytes are clocked in on each consecutive rising CCLK edge. See Figure 38 on page 123.
Bitstream generation currently generates a bitstream sufficient to program in all configuration modes except Express.
Extra CCLK cycles are necessary to complete the configuration, since in this mode data is read at a rate of eight bits
per CCLK cycle instead of one bit per cycle. Normally the
entire start-up sequence requires a number of bits that is
equal to the number of CCLK cycles needed. An additional
five CCLKs (equivalent to 40 extra bits) will guarantee completion of configuration, regardless of the start-up options
chosen.
Multiple slave devices with identical configurations can be
wired with parallel D0-D7 inputs. In this way, multiple
devices can be configured simultaneously.
7-106
Multiple devices with different configurations can be connected together in a pseudo daisy chain, provided that all of
the devices are in Express mode. A single combined bitstream is used to configure the chain of Express mode
devices, but the input data bus must drive D0-D7 of each
device. Tie High the CS1 pin of the first device to be configured, or leave it floating in the XC5200 since it has an internal pull-up. Connect the DOUT pin of each FPGA to the
CS1 pin of the next device in the chain. The D0-D7 inputs
are wired to each device in parallel. The DONE pins are
wired together, with one or more internal DONE pull-ups
activated. Alternatively, a 4.7 kΩ external resistor can be
used, if desired. (See Figure 37 on page 122.) CCLK pins
are tied together.
The requirement that all DONE pins in a daisy chain be
wired together applies only to Express mode, and only if all
devices in the chain are to become active simultaneously.
All devices in Express mode are synchronized to the DONE
pin. User I/O for each device become active after the
DONE pin for that device goes High. (The exact timing is
determined by options to the bitstream generation software.) Since the DONE pin is open-drain and does not
drive a High value, tying the DONE pins of all devices
together prevents all devices in the chain from going High
until the last device in the chain has completed its configuration cycle.
The status pin DOUT is pulled LOW two internal-oscillator
cycles (nominally 1 MHz) after INIT is recognized as High,
and remains Low until the device’s configuration memory is
full. Then DOUT is pulled High to signal the next device in
the chain to accept the configuration data on the D7-D0
bus. All devices receive and recognize the six bytes of preamble and length count, irrespective of the level on CS1;
but subsequent frame data is accepted only when CS1 is
High and the device’s configuration memory is not already
full.
Setting CCLK Frequency
For Master modes, CCLK can be generated in one of three
frequencies. In the default slow mode, the frequency is
nominally 1 MHz. In fast CCLK mode, the frequency is
nominally 12 MHz. In medium CCLK mode, the frequency
is nominally 6 MHz. The frequency range is -50% to +50%.
The frequency is selected by an option when running the
bitstream generation software. If an XC5200-Series Master
is driving an XC3000- or XC2000-family slave, slow CCLK
mode must be used. Slow mode is the default.
Table 11: XC5200 Bitstream Format
Data Type
Fill Byte
Preamble
Length Counter
Fill Byte
Value
11111111
11110010
COUNT(23:0)
11111111
Occurrences
Once per bitstream
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Table 11: XC5200 Bitstream Format
Data Type
Start Byte
Data Frame *
Cyclic Redundancy Check or
Constant Field Check
Fill Nibble
Extend Write Cycle
Postamble
Fill Bytes (30)
Start-Up Byte
Value
11111110
DATA(N-1:0)
CRC(3:0) or
0110
1111
FFFFFF
11111110
FFFF…FF
FF
Occurrences
Once per data
frame
Table 12: Internal Configuration Data Structure
Device
Once per device
Once per bitstream
*Bits per Frame (N) depends on device size, as described for
table 11.
Data Stream Format
The data stream (“bitstream”) format is identical for all configuration modes, with the exception of Express mode. In
Express mode, the device becomes active when DONE
goes High, therefore no length count is required. Additionally, CRC error checking is not supported in Express mode.
The data stream formats are shown in Table 11. Express
mode data is shown with D0 at the left and D7 at the right.
For all other modes, bit-serial data is read from left to right,
and byte-parallel data is effectively assembled from this
serial bitstream, with the first bit in each byte assigned to
D0.
The configuration data stream begins with a string of eight
ones, a preamble code, followed by a 24-bit length count
and a separator field of ones (or 24 fill bits, in Express
mode). This header is followed by the actual configuration
data in frames. The length and number of frames depends
on the device type (see Table 12). Each frame begins with
a start field and ends with an error check. In all modes
except Express mode, a postamble code is required to signal the end of data for a single device. In all cases, additional start-up bytes of data are required to provide four
clocks for the startup sequence at the end of configuration.
Long daisy chains require additional startup bytes to shift
the last data through the chain. All startup bytes are
don’t-cares; these bytes are not included in bitstreams created by the Xilinx software.
In Express mode, only non-CRC error checking is supported. In all other modes, a selection of CRC or non-CRC
error checking is allowed by the bitstream generation software. The non-CRC error checking tests for a designated
end-of-frame field for each frame. For CRC error checking,
the software calculates a running CRC and inserts a unique
four-bit partial check at the end of each frame. The 11-bit
CRC check of the last frame of an FPGA includes the last
seven data bits.
Detection of an error results in the suspension of data loading and the pulling down of the INIT pin. In Master modes,
November 5, 1998 (Version 5.2)
CCLK and address signals continue to operate externally.
The user must detect INIT and initialize a new configuration
by pulsing the PROGRAM pin Low or cycling Vcc.
XC5202
XC5204
XC5206
XC5210
XC5215
VersaBlock
Array
8x8
10 x 12
14 x 14
18 x 18
22 x 22
PROM
Size
(bits)
42,416
70,704
106,288
165,488
237,744
Xilinx
Serial PROM
Needed
XC1765E
XC17128E
XC17128E
XC17256E
XC17256E
Bits per Frame = (34 x number of Rows) + 28 for the top + 28 for
the bottom + 4 splitter bits + 8 start bits + 4 error check bits + 4 fill
bits * + 24 extended write bits
= (34 x number of Rows) + 100
* In the XC5202 (8 x 8), there are 8 fill bits per frame, not 4
Number of Frames = (12 x number of Columns) + 7 for the left
edge + 8 for the right edge + 1 splitter bit
= (12 x number of Columns) + 16
Program Data = (Bits per Frame x Number of Frames) + 48
header bits + 8 postamble bits + 240 fill bits + 8 start-up bits
= (Bits per Frame x Number of Frames) + 304
PROM Size = Program Data
7
Cyclic Redundancy Check (CRC) for
Configuration and Readback
The Cyclic Redundancy Check is a method of error detection in data transmission applications. Generally, the transmitting system performs a calculation on the serial
bitstream. The result of this calculation is tagged onto the
data stream as additional check bits. The receiving system
performs an identical calculation on the bitstream and compares the result with the received checksum.
Each data frame of the configuration bitstream has four
error bits at the end, as shown in Table 11. If a frame data
error is detected during the loading of the FPGA, the configuration process with a potentially corrupted bitstream is
terminated. The FPGA pulls the INIT pin Low and goes into
a Wait state.
During Readback, 11 bits of the 16-bit checksum are added
to the end of the Readback data stream. The checksum is
computed using the CRC-16 CCITT polynomial, as shown
in Figure 23. The checksum consists of the 11 most significant bits of the 16-bit code. A change in the checksum indicates a change in the Readback bitstream. A comparison
to a previous checksum is meaningful only if the readback
data is independent of the current device state. CLB outputs should not be included (Read Capture option not
used). Statistically, one error out of 2048 might go undetected.
7-107
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Initialization
X15
X16
15
2 3 4 5 6 7 8 9 10 11 12 13 14
SERIAL DATA IN
Polynomial: X16 + X15 + X2 + 1
1
1
1
1 0 15 14 13 12 11 10 9
START BIT
1
LAST DATA FRAME
8 7 6 5
CRC – CHECKSUM
Readback Data Stream
X1789
Figure 23: Circuit for Generating CRC-16
Configuration Sequence
There are four major steps in the XC5200-Series power-up
configuration sequence.
•
•
•
•
Power-On Time-Out
Initialization
Configuration
Start-Up
The full process is illustrated in Figure 24.
Power-On Time-Out
An internal power-on reset circuit is triggered when power
is applied. When VCC reaches the voltage at which portions
of the FPGA begin to operate (i.e., performs a
write-and-read test of a sample pair of configuration memory bits), the programmable I/O buffers are 3-stated with
active high-impedance pull-up resistors. A time-out delay
— nominally 4 ms — is initiated to allow the power-supply
voltage to stabilize. For correct operation the power supply
must reach VCC(min) by the end of the time-out, and must
not dip below it thereafter.
This phase clears the configuration memory and establishes the configuration mode.
The configuration memory is cleared at the rate of one
frame per internal clock cycle (nominally 1 MHz). An
open-drain bidirectional signal, INIT, is released when the
configuration memory is completely cleared. The device
then tests for the absence of an external active-low level on
INIT. The mode lines are sampled two internal clock cycles
later (nominally 2 µs).
The master device waits an additional 32 µs to 256 µs
(nominally 64-128 µs) to provide adequate time for all of the
slave devices to recognize the release of INIT as well. Then
the master device enters the Configuration phase.
VCC
3V
Boundary Scan
Instructions
Available:
No
Yes
Generate
One Time-Out Pulse
of 4 ms
PROGRAM
= Low
Yes
EXTEST*
SAMPLE/PRELOAD*
BYPASS
CONFIGURE*
Completely Clear
Configuration
Memory
~1.3 µs per Frame
(*only when PROGRAM = High)
INIT
High? if
Master
No
Yes
Sample
Mode Lines
Master CCLK
Goes Active after
50 to 250 µs
Load One
Configuration
Data Frame
Frame
Error
Yes
Pull INIT Low
and Stop
LDC Output = L, HDC Output = H
X2
0 1
No
If the time-out delay is insufficient, configuration should be
delayed by holding the INIT pin Low until the power supply
has reached operating levels.
This delay is applied only on power-up. It is not applied
when reconfiguring an FPGA by pulsing the PROGRAM
pin Low. During all three phases — Power-on, Initialization,
and Configuration — DONE is held Low; HDC, LDC, and
INIT are active; DOUT is driven; and all I/O buffers are disabled.
7-108
SAMPLE/PRELOAD
BYPASS
Configuration
memory
Full
Yes
No
Pass
Configuration
Data to DOUT
CCLK
Count Equals
Length
Count
Yes
No
Start-Up
Sequence
F
EXTEST
SAMPLE PRELOAD
BYPASS
USER 1
USER 2
CONFIGURE
READBACK
Operational
If Boundary Scan
is Selected
I/O Active
There is no distinction between master and slave modes
with regard to the time-out delay. Instead, the INIT line is
used to ensure that all daisy-chained devices have completed initialization. Since XC2000 devices do not have this
signal, extra care must be taken to guarantee proper operation when daisy-chaining them with XC5200 devices. For
proper operation with XC3000 devices, the RESET signal,
which is used in XC3000 to delay configuration, should be
connected to INIT.
X9017
Figure 24: Configuration Sequence
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Length Count Match
CCLK Period
CCLK
F
DONE
XC2000
I/O
Global Reset
F = Finished, no more
configuration clocks needed
Daisy-chain lead device
must have latest F
F
XC3000
DONE
I/O
Heavy lines describe
default timing
Global Reset
F
DONE
C1
XC4000E/EX
XC5200/
C2
C3
C4
C2
C3
C4
C2
C3
C4
I/O
CCLK_NOSYNC
GSR Active
7
DONE IN
F
DONE
C1, C2 or C3
XC4000E/EX
XC5200/
I/O
Di
CCLK_SYNC
Di+1
GSR Active
Di
Di+1
F
DONE
C1
XC4000E/EX
XC5200/
U2
U3
U4
U2
U3
U4
U2
U3
U4
I/O
UCLK_NOSYNC
GSR Active
DONE IN
F
DONE
C1
XC4000E/EX
XC5200/
U2
I/O
Di
Di+1
Di+2
Di+1
Di+2
UCLK_SYNC
GSR Active
Synchronization
Uncertainty
Di
UCLK Period
X6700
Figure 25: Start-up Timing
November 5, 1998 (Version 5.2)
7-109
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Configuration
Start-Up
The length counter begins counting immediately upon entry
into the configuration state. In slave-mode operation it is
important to wait at least two cycles of the internal 1-MHz
clock oscillator after INIT is recognized before toggling
CCLK and feeding the serial bitstream. Configuration will
not begin until the internal configuration logic reset is
released, which happens two cycles after INIT goes High.
A master device’s configuration is delayed from 32 to 256
µs to ensure proper operation with any slave devices driven
by the master device.
Start-up is the transition from the configuration process to
the intended user operation. This transition involves a
change from one clock source to another, and a change
from interfacing parallel or serial configuration data where
most outputs are 3-stated, to normal operation with I/O pins
active in the user-system. Start-up must make sure that
the user-logic ‘wakes up’ gracefully, that the outputs
become active without causing contention with the configuration signals, and that the internal flip-flops are released
from the global Reset at the right time.
The 0010 preamble code, included for all modes except
Express mode, indicates that the following 24 bits represent the length count. The length count is the total number
of configuration clocks needed to load the complete configuration data. (Four additional configuration clocks are
required to complete the configuration process, as discussed below.) After the preamble and the length count
have been passed through to all devices in the daisy chain,
DOUT is held High to prevent frame start bits from reaching
any daisy-chained devices. In Express mode, the length
count bits are ignored, and DOUT is held Low, to disable
the next device in the pseudo daisy chain.
Figure 25 describes start-up timing for the three Xilinx families in detail. Express mode configuration always uses
either CCLK_SYNC or UCLK_SYNC timing, the other configuration modes can use any of the four timing sequences.
A specific configuration bit, early in the first frame of a master device, controls the configuration-clock rate and can
increase it by a factor of eight. Therefore, if a fast configuration clock is selected by the bitstream, the slower clock
rate is used until this configuration bit is detected.
Each frame has a start field followed by the frame-configuration data bits and a frame error field. If a frame data error
is detected, the FPGA halts loading, and signals the error
by pulling the open-drain INIT pin Low. After all configuration frames have been loaded into an FPGA, DOUT again
follows the input data so that the remaining data is passed
on to the next device. In Express mode, when the first
device is fully programmed, DOUT goes High to enable the
next device in the chain.
Delaying Configuration After Power-Up
To delay master mode configuration after power-up, pull
the bidirectional INIT pin Low, using an open-collector
(open-drain) driver. (See Figure 12.)
Using an open-collector or open-drain driver to hold INIT
Low before the beginning of master mode configuration
causes the FPGA to wait after completing the configuration
memory clear operation. When INIT is no longer held Low
externally, the device determines its configuration mode by
capturing its mode pins, and is ready to start the configuration process. A master device waits up to an additional 250
µs to make sure that any slaves in the optional daisy chain
have seen that INIT is High.
7-110
To access the internal start-up signals, place the STARTUP
library symbol.
Start-up Timing
Different FPGA families have different start-up sequences.
The XC2000 family goes through a fixed sequence. DONE
goes High and the internal global Reset is de-activated one
CCLK period after the I/O become active.
The XC3000A family offers some flexibility. DONE can be
programmed to go High one CCLK period before or after
the I/O become active. Independent of DONE, the internal
global Reset is de-activated one CCLK period before or
after the I/O become active.
The XC4000/XC5200 Series offers additional flexibility.
The three events — DONE going High, the internal Reset
being de-activated, and the user I/O going active — can all
occur in any arbitrary sequence. Each of them can occur
one CCLK period before or after, or simultaneous with, any
of the others. This relative timing is selected by means of
software options in the bitstream generation software.
The default option, and the most practical one, is for DONE
to go High first, disconnecting the configuration data source
and avoiding any contention when the I/Os become active
one clock later. Reset is then released another clock period
later to make sure that user-operation starts from stable
internal conditions. This is the most common sequence,
shown with heavy lines in Figure 25, but the designer can
modify it to meet particular requirements.
Normally, the start-up sequence is controlled by the internal
device oscillator output (CCLK), which is asynchronous to
the system clock.
XC4000/XC5200 Series offers another start-up clocking
option, UCLK_NOSYNC. The three events described
above need not be triggered by CCLK. They can, as a configuration option, be triggered by a user clock. This means
that the device can wake up in synchronism with the user
system.
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
When the UCLK_SYNC option is enabled, the user can
externally hold the open-drain DONE output Low, and thus
stall all further progress in the start-up sequence until
DONE is released and has gone High. This option can be
used to force synchronization of several FPGAs to a common user clock, or to guarantee that all devices are successfully configured before any I/Os go active.
If either of these two options is selected, and no user clock
is specified in the design or attached to the device, the chip
could reach a point where the configuration of the device is
complete and the Done pin is asserted, but the outputs do
not become active. The solution is either to recreate the
bitstream specifying the start-up clock as CCLK, or to supply the appropriate user clock.
Start-up Sequence
The Start-up sequence begins when the configuration
memory is full, and the total number of configuration clocks
received since INIT went High equals the loaded value of
the length count.
The next rising clock edge sets a flip-flop Q0, shown in
Figure 26. Q0 is the leading bit of a 5-bit shift register. The
outputs of this register can be programmed to control three
events.
•
•
•
The release of the open-drain DONE output
The change of configuration-related pins to the user
function, activating all IOBs.
The termination of the global Set/Reset initialization of
all CLB and IOB storage elements.
The DONE pin can also be wire-ANDed with DONE pins of
other FPGAs or with other external signals, and can then
be used as input to bit Q3 of the start-up register. This is
called “Start-up Timing Synchronous to Done In” and is
selected by either CCLK_SYNC or UCLK_SYNC.
When DONE is not used as an input, the operation is called
“Start-up Timing Not Synchronous to DONE In,” and is
selected by either CCLK_NOSYNC or UCLK_NOSYNC.
As a configuration option, the start-up control register
beyond Q0 can be clocked either by subsequent CCLK
pulses or from an on-chip user net called STARTUP.CLK.
These signals can be accessed by placing the STARTUP
library symbol.
Start-up from CCLK
If CCLK is used to drive the start-up, Q0 through Q3 provide the timing. Heavy lines in Figure 25 show the default
timing, which is compatible with XC2000 and XC3000
devices using early DONE and late Reset. The thin lines
indicate all other possible timing options.
ship between CCLK and the user clock. This arbitration
causes an unavoidable one-cycle uncertainty in the timing
of the rest of the start-up sequence.
DONE Goes High to Signal End of Configuration
In all configuration modes except Express mode,
XC5200-Series devices read the expected length count
from the bitstream and store it in an internal register. The
length count varies according to the number of devices and
the composition of the daisy chain. Each device also
counts the number of CCLKs during configuration.
Two conditions have to be met in order for the DONE pin to
go high:
•
•
the chip's internal memory must be full, and
the configuration length count must be met, exactly.
This is important because the counter that determines
when the length count is met begins with the very first
CCLK, not the first one after the preamble.
Therefore, if a stray bit is inserted before the preamble, or
the data source is not ready at the time of the first CCLK,
the internal counter that holds the number of CCLKs will be
one ahead of the actual number of data bits read. At the
end of configuration, the configuration memory will be full,
but the number of bits in the internal counter will not match
the expected length count.
As a consequence, a Master mode device will continue to
send out CCLKs until the internal counter turns over to
zero, and then reaches the correct length count a second
time. This will take several seconds [224 ∗ CCLK period]
— which is sometimes interpreted as the device not configuring at all.
If it is not possible to have the data ready at the time of the
first CCLK, the problem can be avoided by increasing the
number in the length count by the appropriate value.
In Express mode, there is no length count. The DONE pin
for each device goes High when the device has received its
quota of configuration data. Wiring the DONE pins of several devices together delays start-up of all devices until all
are fully configured.
Note that DONE is an open-drain output and does not go
High unless an internal pull-up is activated or an external
pull-up is attached. The internal pull-up is activated as the
default by the bitstream generation software.
Release of User I/O After DONE Goes High
By default, the user I/O are released one CCLK cycle after
the DONE pin goes High. If CCLK is not clocked after
DONE goes High, the outputs remain in their initial state —
3-stated, with a 20 kΩ - 100 kΩ pull-up. The delay from
Start-up from a User Clock (STARTUP.CLK)
When, instead of CCLK, a user-supplied start-up clock is
selected, Q1 is used to bridge the unknown phase relation-
November 5, 1998 (Version 5.2)
7-111
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
DONE High to active user I/O is controlled by an option to
the bitstream generation software.
Q3
STARTUP
Q1/Q4
DONE
IN
Q2
*
IOBs OPERATIONAL PER CONFIGURATION
*
GLOBAL RESET OF
ALL CLB FLIP-FLOPS/LATCHES
1
0
GR ENABLE
GR INVERT
STARTUP.GR
CONTROLLED BY STARTUP SYMBOL
IN THE USER SCHEMATIC (SEE
LIBRARIES GUIDE)
STARTUP.GTS
GTS INVERT
GTS ENABLE
0
GLOBAL 3-STATE OF ALL IOBs
1
Q
S
R
*
DONE
1
1
0
0
Q0
FULL
LENGTH COUNT
Q1
Q2
Q3
" FINISHED "
ENABLES BOUNDARY
SCAN, READBACK AND
CONTROLS THE OSCILLATOR
Q4
1
S
Q
D
Q
D
Q
0
D
Q
D
Q
M
K
K
K
*
K
K
CLEAR MEMORY
CCLK
0
STARTUP.CLK
USER NET
1
M
*
*
CONFIGURATION BIT OPTIONS SELECTED BY USER
X9002
Figure 26: Start-up Logic
Release of Global Reset After DONE Goes High
By default, Global Reset (GR) is released two CCLK cycles
after the DONE pin goes High. If CCLK is not clocked twice
after DONE goes High, all flip-flops are held in their initial
reset state. The delay from DONE High to GR inactive is
controlled by an option to the bitstream generation software.
Configuration Complete After DONE Goes High
Three full CCLK cycles are required after the DONE pin
goes High, as shown in Figure 25 on page 109. If CCLK is
not clocked three times after DONE goes High, readback
cannot be initiated and most boundary scan instructions
cannot be used.
7-112
Configuration Through the Boundary Scan
Pins
XC5200-Series devices can be configured through the
boundary scan pins.
For detailed information, refer to the Xilinx application note
XAPP017, “Boundary Scan in XC4000 and XC5200
Devices.”
Readback
The user can read back the content of configuration memory and the level of certain internal nodes without interfering with the normal operation of the device.
Readback not only reports the downloaded configuration
bits, but can also include the present state of the device,
represented by the content of all flip-flops and latches in
CLBs.
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Note that in XC5200-Series devices, configuration data is
not inverted with respect to configuration as it is in XC2000
and XC3000 families.
Readback of Express mode bitstreams results in data that
does not resemble the original bitstream, because the bitstream format differs from other modes.
XC5200-Series Readback does not use any dedicated
pins, but uses four internal nets (RDBK.TRIG,
RDBK.DATA, RDBK.RIP and RDBK.CLK) that can be
routed to any IOB. To access the internal Readback signals, place the READBACK library symbol and attach the
appropriate pad symbols, as shown in Figure 27.
After Readback has been initiated by a Low-to-High transition on RDBK.TRIG, the RDBK.RIP (Read In Progress)
output goes High on the next rising edge of RDBK.CLK.
Subsequent rising edges of this clock shift out Readback
data on the RDBK.DATA net.
Readback data does not include the preamble, but starts
with five dummy bits (all High) followed by the Start bit
(Low) of the first frame. The first two data bits of the first
frame are always High.
Each frame ends with four error check bits. They are read
back as High. The last seven bits of the last frame are also
read back as High. An additional Start bit (Low) and an
11-bit Cyclic Redundancy Check (CRC) signature follow,
before RDBK.RIP returns Low.
IF UNCONNECTED,
DEFAULT IS CCLK
DATA
CLK
MD0
READ_TRIGGER
TRIG
READBACK
RIP
READ_DATA
MD1
OBUF
IBUF
X1786
Figure 27: Readback Schematic Example
Readback Options
Readback options are: Read Capture, Read Abort, and
Clock Select. They are set with the bitstream generation
software.
Read Capture
When the Read Capture option is selected, the readback
data stream includes sampled values of CLB and IOB signals. The rising edge of RDBK.TRIG latches the inverted
values of the CLB outputs and the IOB output and input signals.
Note that while the bits describing configuration
(interconnect and function generators) are not inverted, the
CLB and IOB output signals are inverted.
When the Read Capture option is not selected, the values
of the capture bits reflect the configuration data originally
written to those memory locations.
November 5, 1998 (Version 5.2)
The readback signals are located in the lower-left corner of
the device.
Read Abort
When the Read Abort option is selected, a High-to-Low
transition on RDBK.TRIG terminates the readback operation and prepares the logic to accept another trigger.
After an aborted readback, additional clocks (up to one
readback clock per configuration frame) may be required to
re-initialize the control logic. The status of readback is indicated by the output control net RDBK.RIP. RDBK.RIP is
High whenever a readback is in progress.
Clock Select
CCLK is the default clock. However, the user can insert
another clock on RDBK.CLK. Readback control and data
are clocked on rising edges of RDBK.CLK. If readback
must be inhibited for security reasons, the readback control
nets are simply not connected.
Violating the Maximum High and Low Time
Specification for the Readback Clock
The readback clock has a maximum High and Low time
specification. In some cases, this specification cannot be
met. For example, if a processor is controlling readback,
an interrupt may force it to stop in the middle of a readback.
This necessitates stopping the clock, and thus violating the
specification.
The specification is mandatory only on clocking data at the
end of a frame prior to the next start bit. The transfer mechanism will load the data to a shift register during the last six
clock cycles of the frame, prior to the start bit of the following frame. This loading process is dynamic, and is the
source of the maximum High and Low time requirements.
Therefore, the specification only applies to the six clock
cycles prior to and including any start bit, including the
clocks before the first start bit in the readback data stream.
At other times, the frame data is already in the register and
the register is not dynamic. Thus, it can be shifted out just
like a regular shift register.
The user must precisely calculate the location of the readback data relative to the frame. The system must keep
track of the position within a data frame, and disable interrupts before frame boundaries. Frame lengths and data formats are listed in Table 11 and Table 12.
Readback with the XChecker Cable
The XChecker Universal Download/Readback Cable and
Logic Probe uses the readback feature for bitstream verification. It can also display selected internal signals on the
PC or workstation screen, functioning as a low-cost in-circuit emulator.
7-113
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Configuration Timing
There is an internal delay of 0.5 CCLK periods, which
means that DOUT changes on the falling CCLK edge, and
the next FPGA in the daisy chain accepts data on the subsequent rising CCLK edge.
The seven configuration modes are discussed in detail in
this section. Timing specifications are included.
Slave Serial Mode
Figure 28 shows a full master/slave system. An
XC5200-Series device in Slave Serial mode should be connected as shown in the third device from the left.
In Slave Serial mode, an external signal drives the CCLK
input of the FPGA. The serial configuration bitstream must
be available at the DIN input of the lead FPGA a short
setup time before each rising CCLK edge.
Slave Serial mode is selected by a on the mode pins
(M2, M1, M0). Slave Serial is the default mode if the mode
pins are left unconnected, as they have weak pull-up resistors during configuration.
The lead FPGA then presents the preamble data—and all
data that overflows the lead device—on its DOUT pin.
NOTE:
M2, M1, M0 can be shorted
to VCC if not used as I/O
NOTE:
M2, M1, M0 can be shorted
to Ground if not used as I/O
VCC
3.3 KΩ
3.3 KΩ
N/C
3.3 KΩ
3.3 KΩ
M0 M1
M2
N/C
DOUT
XC1700E
+5 V
4.7 KΩ
CLK
DATA
CCLK
DIN
PROGRAM
DONE
M0 M1
M2
VPP
CEO
CE
RESET/OE
LDC
INIT
DOUT
CCLK
VCC
3.3 KΩ
M0 M1 PWRDN
M2
DIN
XC5200
MASTER
SERIAL
3.3 KΩ
DIN
DOUT
CCLK
Spartan,
XC4000E/EX,
XC5200
SLAVE
PROGRAM
DONE
XC3100A
SLAVE
INIT
RESET
D/P
INIT
(Low Reset Option Used)
PROGRAM
X9003_01
Figure 28: Master/Slave Serial Mode Circuit Diagram
DIN
Bit n
1 TDCC
Bit n + 1
2 TCCD
5 TCCL
CCLK
4 TCCH
DOUT
(Output)
3 TCCO
Bit n - 1
Bit n
X5379
CCLK
Note:
Description
DIN setup
DIN hold
DIN to DOUT
High time
Low time
Frequency
1
2
3
4
5
Symbol
TDCC
TCCD
TCCO
TCCH
TCCL
FCC
Min
20
0
Max
30
45
45
10
Units
ns
ns
ns
ns
ns
MHz
Configuration must be delayed until the INIT pins of all daisy-chained FPGAs are High.
Figure 29: Slave Serial Mode Programming Switching Characteristics
7-114
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Master Serial Mode
The value increases from a nominal 1 MHz, to a nominal 12
MHz. Be sure that the serial PROM and slaves are fast
enough to support this data rate. The Medium ConfigRate
option changes the frequency to a nominal 6 MHz.
XC2000, XC3000/A, and XC3100A devices do not support
the Fast or Medium ConfigRate options.
In Master Serial mode, the CCLK output of the lead FPGA
drives a Xilinx Serial PROM that feeds the FPGA DIN input.
Each rising edge of the CCLK output increments the Serial
PROM internal address counter. The next data bit is put on
the SPROM data output, connected to the FPGA DIN pin.
The lead FPGA accepts this data on the subsequent rising
CCLK edge.
The SPROM CE input can be driven from either LDC or
DONE. Using LDC avoids potential contention on the DIN
pin, if this pin is configured as user-I/O, but LDC is then
restricted to be a permanently High user output after configuration. Using DONE can also avoid contention on DIN,
provided the DONE before I/O enable option is invoked.
The lead FPGA then presents the preamble data—and all
data that overflows the lead device—on its DOUT pin.
There is an internal pipeline delay of 1.5 CCLK periods,
which means that DOUT changes on the falling CCLK
edge, and the next FPGA in the daisy chain accepts data
on the subsequent rising CCLK edge.
Figure 28 on page 114 shows a full master/slave system.
The leftmost device is in Master Serial mode.
Master Serial mode is selected by a on the mode
pins (M2, M1, M0).
In the bitstream generation software, the user can specify
Fast ConfigRate, which, starting several bits into the first
frame, increases the CCLK frequency by a factor of twelve.
CCLK
(Output)
2 TCKDS
1
Serial Data In
Serial DOUT
(Output)
TDSCK
n
n–3
n+1
n+2
n–2
n–1
7
n
X3223
CCLK
Description
DIN setup
DIN hold
Symbol
1
TDSCK
2
TCKDS
Min
20
0
Max
Units
ns
ns
Notes: 1. At power-up, Vcc must rise from 2.0 V to Vcc min in less than 25 ms, otherwise delay configuration by pulling PROGRAM
Low until Vcc is valid.
2. Master Serial mode timing is based on testing in slave mode.
Figure 30: Master Serial Mode Programming Switching Characteristics
In the two Master Parallel modes, the lead FPGA directly
addresses an industry-standard byte-wide EPROM, and
accepts eight data bits just before incrementing or decrementing the address outputs.
The eight data bits are serialized in the lead FPGA, which
then presents the preamble data—and all data that overflows the lead device—on its DOUT pin. There is an internal delay of 1.5 CCLK periods, after the rising CCLK edge
that accepts a byte of data (and also changes the EPROM
address) until the falling CCLK edge that makes the LSB
(D0) of this byte appear at DOUT. This means that DOUT
changes on the falling CCLK edge, and the next FPGA in
the daisy chain accepts data on the subsequent rising
CCLK edge.
November 5, 1998 (Version 5.2)
The PROM address pins can be incremented or decremented, depending on the mode pin settings. This option
allows the FPGA to share the PROM with a wide variety of
microprocessors and microcontrollers. Some processors
must boot from the bottom of memory (all zeros) while others must boot from the top. The FPGA is flexible and can
load its configuration bitstream from either end of the memory.
Master Parallel Up mode is selected by a on the
mode pins (M2, M1, M0). The EPROM addresses start at
00000 and increment.
Master Parallel Down mode is selected by a on the
mode pins. The EPROM addresses start at 3FFFF and
decrement.
7-115
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
3.3 K
M0
TO DIN OF OPTIONAL
DAISY-CHAINED FPGAS
HIGH
or
LOW
N/C
M1
M2
N/C
TO CCLK OF OPTIONAL
DAISY-CHAINED FPGAS
CCLK
NOTE:M0 can be shorted
to Ground if not used
as I/O.
DOUT
XC5200
Master
Parallel
VCC
4.7K
INIT
A17
...
A16
...
A15
...
A14
...
A13
...
M0
M1
DIN
EPROM
(8K x 8)
(OR LARGER)
A12
A11
A11
A10
A10
PROGRAM
A9
A9
D7
A8
A8
D6
A7
A7
D7
D5
A6
A6
D6
D4
A5
A5
D5
D3
A4
A4
D4
D2
A3
A3
D3
D1
A2
A2
D2
D0
A1
A1
D1
A0
A0
D0
DONE
OE
DOUT
CCLK
USER CONTROL OF HIGHER
ORDER PROM ADDRESS BITS
CAN BE USED TO SELECT BETWEEN
ALTERNATIVE CONFIGURATIONS
A12
M2
XC5200/
XC4000E/EX/
Spartan
SLAVE
PROGRAM
DONE
INIT
CE
DATA BUS
8
PROGRAM
X9004_01
Figure 31: Master Parallel Mode Circuit Diagram
7-116
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
.
A0-A17
(output)
Address for Byte n
Address for Byte n + 1
1 TRAC
D0-D7
Byte
3 TRCD
2 TDRC
RCLK
(output)
7 CCLKs
CCLK
CCLK
(output)
DOUT
(output)
D6
D7
Byte n - 1
CCLK
Note:
Description
Delay to Address valid
Data setup time
Data hold time
1
2
3
Symbol
TRAC
TDRC
TRCD
Min
0
60
0
X6078
Max
200
Units
ns
ns
ns
7
1. At power-up, VCC must rise from 2.0 V to VCC min in less then 25 ms, otherwise delay configuration by pulling PROGRAM
Low until VCC is Valid.
2. The first Data byte is loaded and CCLK starts at the end of the first RCLK active cycle (rising edge).
This timing diagram shows that the EPROM requirements are extremely relaxed. EPROM access time can be longer than
500 ns. EPROM data output has no hold-time requirements.
Figure 32: Master Parallel Mode Programming Switching Characteristics
November 5, 1998 (Version 5.2)
7-117
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Synchronous Peripheral Mode
Synchronous Peripheral mode can also be considered
Slave Parallel mode. An external signal drives the CCLK
input(s) of the FPGA(s). The first byte of parallel configuration data must be available at the Data inputs of the lead
FPGA a short setup time before the rising CCLK edge.
Subsequent data bytes are clocked in on every eighth consecutive rising CCLK edge.
The same CCLK edge that accepts data, also causes the
RDY/BUSY output to go High for one CCLK period. The pin
name is a misnomer. In Synchronous Peripheral mode it is
really an ACKNOWLEDGE signal. Synchronous operation
does not require this response, but it is a meaningful signal
for test purposes. Note that RDY/BUSY is pulled High with
a high-impedance pullup prior to INIT going High.
The lead FPGA serializes the data and presents the preamble data (and all data that overflows the lead device) on
its DOUT pin. There is an internal delay of 1.5 CCLK periods, which means that DOUT changes on the falling CCLK
edge, and the next FPGA in the daisy chain accepts data
on the subsequent rising CCLK edge.
In order to complete the serial shift operation, 10 additional
CCLK rising edges are required after the last data byte has
been loaded, plus one more CCLK cycle for each
daisy-chained device.
Synchronous Peripheral mode is selected by a on
the mode pins (M2, M1, M0).
NOTE:
M2 can be shorted to Ground
if not used as I/O
N/C
M0 M1
N/C
3.3 kΩ
M2
M0 M1
OPTIONAL
DAISY-CHAINED
FPGAs
8
DATA BUS
D0-7
DOUT
VCC
4.7 kΩ
M2
CCLK
CCLK
CLOCK
XC5200
SYNCHRONOUS
PERIPHERAL
DIN
DOUT
XC5200E/EX
SLAVE
RDY/BUSY
CONTROL
SIGNALS
INIT
DONE
INIT
DONE
3.3 kΩ
PROGRAM
PROGRAM
PROGRAM
X9005
Figure 33: Synchronous Peripheral Mode Circuit Diagram
7-118
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
TCCL
CCLK
1
TIC
3
2
INIT
D0 - D7
BYTE
0
BYTE
1
BYTE 0 OUT
0
DOUT
TCD
TDC
1
2
3
4
BYTE 1 OUT
5
6
7
0
1
RDY/BUSY
X6096
CCLK
Description
INIT (High) setup time
D0 - D7 setup time
D0 - D7 hold time
CCLK High time
CCLK Low time
CCLK Frequency
Symbol
1
TIC
2
TDC
3
TCD
TCCH
TCCL
FCC
Min
5
60
0
50
60
Max
8
Units
µs
ns
ns
ns
ns
MHz
7
Notes: 1. Peripheral Synchronous mode can be considered Slave Parallel mode. An external CCLK provides timing, clocking in the
first data byte on the second rising edge of CCLK after INIT goes high. Subsequent data bytes are clocked in on every
eighth consecutive rising edge of CCLK.
2. The RDY/BUSY line goes High for one CCLK period after data has been clocked in, although synchronous operation does
not require such a response.
3. The pin name RDY/BUSY is a misnomer. In synchronous peripheral mode this is really an ACKNOWLEDGE signal.
4.Note that data starts to shift out serially on the DOUT pin 0.5 CCLK periods after it was loaded in parallel. Therefore,
additional CCLK pulses are clearly required after the last byte has been loaded.
Figure 34: Synchronous Peripheral Mode Programming Switching Characteristics
November 5, 1998 (Version 5.2)
7-119
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Asynchronous Peripheral Mode
The READY/BUSY handshake can be ignored if the delay
from any one Write to the end of the next Write is guaranteed to be longer than 10 CCLK periods.
Write to FPGA
Asynchronous Peripheral mode uses the trailing edge of
the logic AND condition of WS and CS0 being Low and RS
and CS1 being High to accept byte-wide data from a microprocessor bus. In the lead FPGA, this data is loaded into a
double-buffered UART-like parallel-to-serial converter and
is serially shifted into the internal logic.
The lead FPGA presents the preamble data (and all data
that overflows the lead device) on its DOUT pin. The
RDY/BUSY output from the lead FPGA acts as a handshake signal to the microprocessor. RDY/BUSY goes Low
when a byte has been received, and goes High again when
the byte-wide input buffer has transferred its information
into the shift register, and the buffer is ready to receive new
data. A new write may be started immediately, as soon as
the RDY/BUSY output has gone Low, acknowledging
receipt of the previous data. Write may not be terminated
until RDY/BUSY is High again for one CCLK period. Note
that RDY/BUSY is pulled High with a high-impedance
pull-up prior to INIT going High.
The length of the BUSY signal depends on the activity in
the UART. If the shift register was empty when the new
byte was received, the BUSY signal lasts for only two
CCLK periods. If the shift register was still full when the
new byte was received, the BUSY signal can be as long as
nine CCLK periods.
Note that after the last byte has been entered, only seven
of its bits are shifted out. CCLK remains High with DOUT
equal to bit 6 (the next-to-last bit) of the last byte entered.
Status Read
The logic AND condition of the CS0, CS1 and RS inputs
puts the device status on the Data bus.
•
•
•
D7 High indicates Ready
D7 Low indicates Busy
D0 through D6 go unconditionally High
It is mandatory that the whole start-up sequence be started
and completed by one byte-wide input. Otherwise, the pins
used as Write Strobe or Chip Enable might become active
outputs and interfere with the final byte transfer. If this
transfer does not occur, the start-up sequence is not completed all the way to the finish (point F in Figure 25 on page
109).
In this case, at worst, the internal reset is not released. At
best, Readback and Boundary Scan are inhibited. The
length-count value, as generated by the software, ensures
that these problems never occur.
Although RDY/BUSY is brought out as a separate signal,
microprocessors can more easily read this information on
one of the data lines. For this purpose, D7 represents the
RDY/BUSY status when RS is Low, WS is High, and the
two chip select lines are both active.
Asynchronous Peripheral mode is selected by a on
the mode pins (M2, M1, M0).
N/C
N/C
N/C
3.3 kΩ
M0
8
DATA
BUS
M1
D0–7
CCLK
DOUT
4.7 kΩ
...
4.7 kΩ
M1
M2
CCLK
OPTIONAL
DAISY-CHAINED
FPGAs
VCC
ADDRESS
BUS
M0
M2
ADDRESS
DECODE
LOGIC
DOUT
DIN
CS0
XC5200
ASYNCHRONOUS
PERIPHERAL
XC5200/
XC4000E/EX
SLAVE
CS1
RS
WS
CONTROL
SIGNALS
RDY/BUSY
REPROGRAM
INIT
INIT
DONE
DONE
PROGRAM
PROGRAM
3.3 kΩ
X9006
Figure 35:
7-120
Asynchronous Peripheral Mode Circuit Diagram
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Write to LCA
Read Status
RS, CS0
WS/CS0
RS, CS1
WS, CS1
1
TCA
2
3
TDC
TCD
4
7
READY
BUSY
D0-D7
D7
CCLK
TWTRB 4
6
TBUSY
RDY/BUSY
Previous Byte D6
DOUT
D7
D0
D1
D2
X6097
Write
RDY
Description
Effective Write time
(CSO, WS=Low; RS, CS1=High
DIN setup time
DIN hold time
RDY/BUSY delay after end of
Write or Read
RDY/BUSY active after beginning
of Read
RDY/BUSY Low output (Note 4)
Symbol
1
TCA
2
3
4
TDC
TCD
TWTRB
Min
100
60
0
7
6
TBUSY
Max
2
Units
ns
60
ns
ns
ns
60
ns
9
CCLK
periods
Notes: 1. Configuration must be delayed until INIT pins of all daisy-chained FPGAs are high.
2. The time from the end of WS to CCLK cycle for the new byte of data depends on the completion of previous byte processing
and the phase of internal timing generator for CCLK.
3. CCLK and DOUT timing is tested in slave mode.
4. TBUSY indicates that the double-buffered parallel-to-serial converter is not yet ready to receive new data. The shortest TBUSY
occurs when a byte is loaded into an empty parallel-to-serial converter. The longest TBUSY occurs when a new word is
loaded into the input register before the second-level buffer has started shifting out data.
This timing diagram shows very relaxed requirements. Data need not be held beyond the rising edge of WS. RDY/BUSY will
go active within 60 ns after the end of WS. A new write may be asserted immediately after RDY/BUSY goes Low, but write
may not be terminated until RDY/BUSY has been High for one CCLK period.
Figure 36: Asynchronous Peripheral Mode Programming Switching Characteristics
November 5, 1998 (Version 5.2)
7-121
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Express Mode
Express mode is similar to Slave Serial mode, except that
data is processed one byte per CCLK cycle instead of one
bit per CCLK cycle. An external source is used to drive
CCLK, while byte-wide data is loaded directly into the configuration data shift registers. A CCLK frequency of 10
MHz is equivalent to an 80 MHz serial rate, because eight
bits of configuration data are loaded per CCLK cycle.
Express mode does not support CRC error checking, but
does support constant-field error checking.
In Express mode, an external signal drives the CCLK input
of the FPGA device. The first byte of parallel configuration
data must be available at the D inputs of the FPGA a short
setup time before the second rising CCLK edge. Subsequent data bytes are clocked in on each consecutive rising
CCLK edge.
If the first device is configured in Express mode, additional
devices may be daisy-chained only if every device in the
chain is also configured in Express mode. CCLK pins are
tied together and D0-D7 pins are tied together for all
devices along the chain. A status signal is passed from
DOUT to CS1 of successive devices along the chain. The
lead device in the chain has its CS1 input tied High (or floating, since there is an internal pullup). Frame data is
accepted only when CS1 is High and the device’s configu-
ration memory is not already full. The status pin DOUT is
pulled Low two internal-oscillator cycles after INIT is recognized as High, and remains Low until the device’s configuration memory is full. DOUT is then pulled High to signal
the next device in the chain to accept the configuration data
on the D0-D7 bus.
The DONE pins of all devices in the chain should be tied
together, with one or more active internal pull-ups. If a
large number of devices are included in the chain, deactivate some of the internal pull-ups, since the Low-driving
DONE pin of the last device in the chain must sink the current from all pull-ups in the chain. The DONE pull-up is
activated by default. It can be deactivated using an option
in the bitstream generation software.
XC5200 devices in Express mode are always synchronized
to DONE. The device becomes active after DONE goes
High. DONE is an open-drain output. With the DONE pins
tied together, therefore, the external DONE signal stays low
until all devices are configured, then all devices in the daisy
chain become active simultaneously. If the DONE pin of a
device is left unconnected, the device becomes active as
soon as that device has been configured.
Express mode is selected by a on the mode pins
(M2, M1, M0).
VCC
NOTE:
M2, M1, M0 can be shorted
to Ground if not used as I/O
3.3 kΩ
8
M0
M1
CS1
DATA BUS
8
M2
M1
CS1
DOUT
8
D0-D7
VCC
M0
M2
To Additional
Optional
Daisy-Chained
Devices
DOUT
D0-D7
Optional
Daisy-Chained
XC5200
XC5200
4.7KΩ
PROGRAM
INIT
PROGRAM
INIT
PROGRAM
DONE
CCLK
CCLK
INIT
DONE
CCLK
To Additional
Optional
Daisy-Chained
Devices
X6611_01
Figure 37: Express Mode Circuit Diagram
7-122
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
CCLK
1
TIC
INIT
TCD 3
2 T
DC
D0-D7
BYTE
0
BYTE
1
BYTE
2
BYTE
3
Serial Data Out
(DOUT)
FPGA Filled
Internal INIT
RDY/BUSY
CS1
CCLK
Description
INIT (High) Setup time required
DIN Setup time required
DIN hold time required
CCLK High time
CCLK Low time
CCLK frequency
X5087
1
2
3
Symbol
TIC
TDC
TCD
TCCH
TCCL
FCC
Min
5
30
0
30
30
Max
10
Units
µs
ns
ns
ns
ns
MHz
Note: If not driven by the preceding DOUT, CS1 must remain high until the device is fully configured.
Figure 38: Express Mode Programming Switching Characteristics
November 5, 1998 (Version 5.2)
7-123
7
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Table 13.
Pin Functions During Configuration
CONFIGURATION MODE:
SLAVE
MASTER-SER
SYN.PERIPH
ASYN.PERIPH MASTER-HIGH MASTER-LOW
EXPRESS
A16
A17
TDI
TCK
TMS
TDI
TCK
TMS
TDI
TCK
TMS
TDI
TCK
TMS
TDI
TCK
TMS
TDI
TCK
TMS
A16
A17
TDI
TCK
TMS
M1 (HIGH) (I)
M0 (HIGH) (I)
M2 (HIGH) (I)
M1 (LOW) (I)
M0 (LOW) (I)
M2 (LOW) (I)
M1 (HIGH) (I)
M0 (HIGH) (I)
M2 (LOW) (I)
M1 (LOW) (I)
M0 (HIGH) (I)
M2 (HIGH) (I)
M1 (HIGH) (I)
M0 (LOW) (I)
M2 (HIGH) (I)
M1 (LOW) (I)
M0 (LOW) (I)
M2 (HIGH) (I)
M1 (HIGH) (I)
M0 (LOW) (I)
M2 (LOW) (I)
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
HDC (HIGH)
LDC (LOW)
INIT-ERROR
DONE
PROGRAM (I)
DONE
PROGRAM (I)
DONE
PROGRAM (I)
DATA 7 (I)
DONE
PROGRAM (I)
DATA 7 (I)
DONE
PROGRAM (I)
DATA 7 (I)
DONE
PROGRAM (I)
DATA 7 (I)
DONE
PROGRAM (I)
DATA 7 (I)
DATA 6 (I)
DATA 5 (I)
DATA 6 (I)
DATA 5 (I)
CSO (I)
DATA 4 (I)
DATA 3 (I)
RS (I)
DATA 2 (I)
DATA 1 (I)
RDY/BUSY
DATA 0 (I)
DOUT
CCLK (O)
TDO
WS (I)
DATA 6 (I)
DATA 5 (I)
DATA 6 (I)
DATA 5 (I)
DATA 6 (I)
DATA 5 (I)
DATA 4 (I)
DATA 3 (I)
DATA 4 (I)
DATA 3 (I)
DATA 4 (I)
DATA 3 (I)
DATA 2 (I)
DATA 1 (I)
RCLK
DATA 0 (I)
DOUT
CCLK (O)
TDO
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
DATA 2 (I)
DATA 1 (I)
RCLK
DATA 0 (I)
DOUT
CCLK (O)
TDO
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
DATA 2 (I)
DATA 1 (I)
DATA 4 (I)
DATA 3 (I)
DIN (I)
DOUT
CCLK (I)
TDO
DIN (I)
DOUT
CCLK (O)
TDO
DATA 2 (I)
DATA 1 (I)
RDY/BUSY
DATA 0 (I)
DOUT
CCLK (I)
TDO
CS1 (I)
DATA 0 (I)
DOUT
CCLK (I)
TDO
CS1 (I)
USER
OPERATION
GCK1-I/O
I/O
TDI-I/O
TCK-I/O
TMS-I/O
I/O
I/O
I/O
I/O
GCK2-I/O
I/O
I/O
I/O
I/O
DONE
PROGRAM
I/O
GCK3-I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
CCLK (I)
TDO-I/O
I/O
GCK4-I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
ALL OTHERS
Notes: 1. A shaded table cell represents a 20-kΩ to 100-kΩ pull-up resistor before and during configuration.
2. (I) represents an input (O) represents an output.
3. INIT is an open-drain output during configuration.
7-124
November 5, 1998 (Version 5.2)
Product Obsolete or Under Obsolescence
R
XC5200 Series Field Programmable Gate Arrays
Configuration Switching Characteristics
T POR
Vcc
RE-PROGRAM
>300 ns
PROGRAM
T PI
INIT
T ICCK
TCCLK
CCLK OUTPUT or INPUT