2-25
Mode M2 M1 M0 CCLK Data
Master Serial 0 0 0 output Bit-Serial
Slave Serial 1 1 1 input Bit-Serial
Master Parallel up 1 0 0 output Byte-Wide, 00000
Master Parallel down 1 1 0 output Byte-Wide, 3FFFF
Peripheral Synchr. 0 1 1 input Byte-Wide
Peripheral Asynchr. 1 0 1 output Byte-Wide
Reserved 0 1 0
Reserved 0 0 1
Peripheral Synchronous can be considered Slave Parallel
Oscillator
An internal oscillator is used for clocking of the power-on
time-out, configuration memory clearing, and as the source
of CCLK in Master modes. This oscillator signal runs at a
nominal 8 MHz and varies with process, V
CC
and
temperature between 10 MHz max and 4 MHz min. This
signal is available on an output control net (OSCO) in the
upper right corner of the chip, if the oscillator-run control bit
is enabled in the configuration memory. Two of four
resynchronized taps of the power-on time-out divider are
also available on OSC1 and OSC2. These taps are at the
fourth, ninth, fourteenth and nineteenth bits of the ripple
divider. This can provide output signals of approximately
500 kHz,16 kHz, 490 Hz and 15 Hz.
Special Purpose Pins
The mode pins are sampled prior to configuration to
determine the configuration mode and timing options. After
configuration, these pins can be used as auxiliary connec-
tions: Mode 0 (MD0.I) and Mode 2 (MD2.I) as inputs and
Mode 1 (MD1.O and MD1.T) as an output. The XACT
development system will not use these resources unless
they are explicitly specified in the design entry. These
dedicated nets are located in the lower left chip corner and
are near the readback nets. This allows convenient routing
if compatibility with the XC2000 and XC3000 family con-
ventions of M0/RT, M1/RD is desired.
Configuration
Configuration is the process of loading design-specific
programming data into one or more LCA devices to define
the functional operation of the internal blocks and their
interconnections. This is somewhat like loading the com-
mand registers of a programmable peripheral chip. The
XC4000 families use about 350 bits of configuration data
per CLB and its associated interconnects. Each configura-
tion 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 XACT devel-
opment system translates the design into a netlist file. It
automatically partitions, places and routes the logic and
generates the configuration data in PROM format.
Modes
The XC4000 families have six configuration modes se-
lected by a 3- bit input code applied to the M0, M1, and M2
inputs. There are three self-loading Master modes, two
Peripheral modes and the Serial Slave mode used prima-
rily for daisy-chained devices. During configuration, some
of the I/O pins are used temporarily for the configuration
process. See Table 6.
For a detailed description of these configuration modes,
see pages 2-32 through 2-41.
Master
The Master modes use an internal oscillator to generate
CCLK for driving potential slave devices, and to 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, which is internally serialized into
the LCA data-frame format. The up and down selection
generates starting addresses at either zero or 3FFFF, to
be compatible with different microprocessor addressing
conventions. The Master Serial mode generates CCLK
and receives the configuration data in serial form from a
Xilinx serial-configuration PROM.
Peripheral
The two Peripheral modes accept byte-wide data from a
bus. A READY/BUSY status is available as a handshake
signal. In the asynchronous mode, the internal oscillator
generates a CCLK burst signal that serializes the byte-
wide data. In the synchronous mode, an externally sup-
plied clock input to CCLK serializes the data.
Serial Slave
In the Serial Slave mode, the LCA device 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 so that the devices can be config-
ured simultaneously.
Table 6. Configuration Modes
XC4000, XC4000A, XC4000H Logic Cell Array Families
2-26
Device XC4002A XC4003A XC4003/H XC4004A XC4005A XC4005/H XC4006 XC4008 XC4010/D XC4013/D XC4020 XC4025
Gates 2,000 3,000 3,000 4,000 5000 5,000 6,000 8,000 10,000 13,000 20,000 25,000
CLBs 64 100 100 144 196 196 256 324 400 576 784 1,024
(Row x Col) (8 x 8) (10 x 10) (10 x 10) (12 x 12) (14 x 14) (14 x 14) (16 x 16) (18 x 18) (20 x 20) (24 x 24) (28 x 28) (32 x 32)
IOBs 64 80 80/.160 96 112 112 (192) 128 144 160 192 224 256
Flip-flops 256 360 360/300 480 616 616 (392) 768 936 1,120 1,536 2,016 2,560
Horizontal
TBUF Longlines 16 20 20 24 28 28 32 36 40 48 56 64
TBUFs/Longline 10 12 12 14 16 16 18 20 22 26 30 34
Bits per Frame 102 122 126 142 162 166 186 206 226 266 306 346
Frames 310 374 428 438 502 572 644 716 788 932 1,076 1,220
Program Data 31,628 45,636 53,936 62,204 81,332 94,960 119,792 147,504 178,096 247,920 329,264 422,128
PROM size (bits)
31,668 45,676 53,976 62,244 81,372 95,000 119,832 147,544 178,136 247,960 329,304 422,168
XC4000, 4000H
: Bits per Frame = (10 x number of Rows) + 7 for the top + 13 for the bottom + 1 + 1 start bit + 4 error check bits
Number of Frames = (36 x number of Columns) + 26 for the left edge + 41 for the right edge + 1
XC4000A:
Bits per Frame = (10 x number of Rows) + 6 for the top + 10 for the bottom + 1 + 1 start bit + 4 error check bits
Number of Frames = (32 x number of Columns) + 21 for the left edge + 32 for the right edge + 1
Program Data = (Bits per Frame x Number of Frames) + 8 postamble bits
PROM Size = Program Data + 40
The user can add more "one" bits as leading dummy bits in the header, or, if CRC = off, as trailing dummy bits at the end of any
frame, following the four error check bits, but the Length Count value must be adjusted for all such extra "one" bits,
even for leading extra ones at the beginning of the header.
11111111
0010
< 24-BIT LENGTH COUNT >
1111
0 < DATA FRAME # 001 > eeee
0 < DATA FRAME # 002 > eeee
0 < DATA FRAME # 003 > eeee
. . .
. . .
. . .
. . .
– EIGHT DUMMY BITS MINIMUM
– PREAMBLE CODE
– CONFIGURATION PROGRAM LENGTH (MSB FIRST)
– DUMMY BITS (4 BITS MINIMUM)
(EACH FRAME CONSISTS OF:
A START BIT (0)
A DATA FIELD
FOUR ERROR CHECK BITS (eeee)
POSTAMBLE CODE
REPEATED FOR EACH LOGIC
CELL ARRAY IN A DAISY CHAIN
0 < DATA FRAME # N-1 > eeee
0 < DATA FRAME # N > eeee
0111 1111
HEADER
PROGRAM DATA
X1526
Figure 19. Internal Configuration Data Structure.
Format
The configuration-data stream begins with a string of ones,
a 0010 preamble code, a 24-bit length count, and a four-
bit separator field of ones. This is followed by the actual
configuration data in frames, each starting with a zero bit
and ending with a four-bit error check. For each XC4XXX
device, the MakeBits software allows a selection of CRC
or non-CRC error checking. The non-CRC error checking
tests for a 0110 end of frame field for each frame of a
selected LCA device. For CRC error checking, MakeBits
software calculates a running CRC of inserts a unique
four-bit partial check at the end of each frame. The 11-bit
CRC check of the last frame of an LCA device includes the
last seven data bits. Detection of an error results in
suspension of data loading and the pulling down of the
INIT
pin. In master modes, CCLK and address signals continue
to operate externally. The user must detect
INIT and
initialize a new configuration by pulsing the
PROGRAM pin
or cycling V
CC
. The length and number of frames depend
on the device type. Multiple LCA devices can be con-
nected in a daisy chain by wiring their CCLK pins in parallel
and connecting the DOUT of each to the DIN of the next.
The lead-master LCA device 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 LCA
2-27
device when it recognizes the 0010 preamble. Following
the length-count data, any LCA device outputs a High on
DOUT until it has received its required number of data
frames.
After an LCA device 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 LCA device(s) begin the
start-up sequence and become operational together.
Configuration Sequence
Configuration Memory Clear
When power is first applied or reapplied to an LCA device,
an internal circuit forces initialization of the configuration
logic. When V
CC
reaches an operational level, and the
circuit passes the write and read test of a sample pair of
configuration bits, a nominal 16-ms time delay is started
(four times longer when M0 is Low, i.e., in Master mode).
During this time delay, or as long as the
PROGRAM input
is asserted, the configuration logic is held in a Configura-
tion Memory Clear state. The configuration-memory frames
are consecutively initialized, using the internal oscillator.
At the end of each complete pass through the frame
addressing, the power-on time-out delay circuitry and the
level of the
PROGRAM pin are tested. If neither is as-
serted, the logic initiates one additional clearing of the
configuration frames and then tests the
INIT input.
Initialization
During initialization and configuration, user pins HDC,
LDC and INIT provide status outputs for system interface.
The outputs,
LDC, INIT and DONE are held Low and HDC
is held High starting at the initial application of power. The
open drain
INIT pin is released after the final initialization
pass through the frame addresses. There is a deliberate
delay of 50 to 250 µs before a Master-mode device
recognizes an inactive
INIT. Two internal clocks after the
INIT pin is recognized as High, the LCA device samples
the three mode lines to determine the configuration mode.
The appropriate interface lines become active and the
configuration preamble and data can be loaded.
Configuration
The 0010 preamble code indicates that the following
24 bits represent the length count, i.e., the total number of
configuration clocks needed to load the total configuration
data. 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. A specific configuration bit, early in
the first frame of a master device, controls the configura-
tion-clock rate and can increase it by a factor of eight. Each
frame has a Low start bit followed by the frame-configura-
Figure 20. Start-up Sequence
INIT
High? if
Master
Sample
Mode Lines
Load One
Configuration
Data Frame
Frame
Error
Pass
Configuration
Data to DOUT
V
CC
>3.5 V
No
Yes
Yes
No
No
Yes
Operational
Start-Up
Sequence
No
Yes
~1.3 µs per Frame
Master Waits 50 to 250 µs
Before Sampling Mode Lines
Master CCLK
Goes Active
F
Pull INIT Low
and Stop
X6076
EXTEST*
SAMPLE/PRELOAD
BYPASS
CONFIGURE*
(* if PROGRAM = High)
SAMPLE/PRELOAD
BYPASS
EXTEST
SAMPLE PRELOAD
BYPASS
USER 1
USER 2
CONFIGURE
READBACK
If Boundary Scan
is Selected
Config-
uration
memory
Full
CCLK
Count Equals
Length
Count
Completely Clear
Configuration Memory
Once More
LDC Output = L, HDC Output = H
Boundary Scan
Instructions
Available:
I/O Active
Keep Clearing
Configuration Memory
Test M0 Generate
One Time-Out Pulse
of 16 or 64 ms
PROGRAM
= Low
No
Yes
Yes

XC4003-6PC84C

Mfr. #:
Manufacturer:
Xilinx
Description:
IC FPGA 61 I/O 84PLCC
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union