2-13
Figure 4. 16-byte FIFO
inputs could not be driven by all adjacent routing lines. In
the XC4000 families, these constraints have been largely
eliminated. This makes it easier for the software to com-
plete the routing of complex interconnect patterns.
Chip architects and software designers worked closely
together to achieve a solution that is not only inherently
powerful, but also easy to utilize by the software-driven
design tools for Partitioning, Placement and Routing. The
goal was to provide automated push-button software tools
that complete almost all designs, even large and dense
ones, automatically, without operator assistance. But these
tools will still give the designer the option to get involved in
the partitioning, placement and, to a lesser extent, even
the routing of critical parts of the design, if that is needed
to optimize the performance.
On-Chip Memory
The XC4000, XC4000A and XC4000H family devices are
the first programmable logic devices with RAM accessible
to the user.
An optional mode for each CLB makes the memory look-
up tables in the F' and G' function generators usable as
either a 16 x 2 or 32 x 1 bit array of Read/Write memory
cells (Figure 3). The F1-F4 and G1-G4 inputs to the
function generators act as address lines, selecting a
particular memory cell in each look-up table. The function-
ality of the CLB control signals change in this configura-
tion; the H1, DIN, and S/R lines become the two data inputs
and the Write Enable (WE) input for the 16 x 2 memory.
When the 32 x 1 configuration is selected, D1 acts as the
fifth address bit and D0 is the data input. The contents of
the memory cell(s) being addressed are available at the F'
and G' function-generator outputs, and can exit the CLB
through its X and Y outputs, or can be pipelined using the
CLB flip-flop(s).
Configuring the CLB function generators as Read/Write
memory does not affect the functionality of the other
portions of the CLB, with the exception of the redefinition
of the control signals. The H' function generator can be
used to implement Boolean functions of F', G', and D1, and
the D flip-flops can latch the F', G', H', or D0 signals.
The RAMs are very fast; read access is the same as logic
delay, about 5.5 ns; write time is about 8 ns; both are
several times faster than any off-chip solution. Such dis-
tributed RAM is a novel concept, creating new possibilities
in system design: registered arrays of multiple accumula-
tors, status registers, index registers, DMA counters, dis-
tributed shift registers, LIFO stacks, and FIFO buffers. The
data path of a 16-byte FIFO uses four CLBs for storage,
and six CLBs for address counting and multiplexing (Fig-
ure 4). With 32 storage locations per CLB, compared to two
flip-flops per CLB, the cost of intelligent distributed memory
has been reduced by a factor of 16.
4
Read Counter
2 CBLs
Write Counter
2 CBLs
Multiplexer
2 CBLs
4
8
8
Control
8
2 CBLs
WE
Read
Write
Full
Empty
16 x 8 RAM
Data
In
Data
Out
X5375
Input/Output Blocks (IOBs), XC4000 and XC4000A
Families (for XC4000H family, see page 2-82)
User-configurable IOBs provide the interface between
external package pins and the internal logic (Figure 5).
Each IOB controls one package pin and can be defined for
input, output, or bidirectional signals.
Two paths, labeled I1 and I2, bring input signals into the
array. Inputs are routed to an input register that can be
programmed as either an edge-triggered flip-flop or a
level-sensitive transparent latch. Optionally, the data input
to the register can be delayed by several nanoseconds to
compensate for the delay on the clock signal, that first must
Figure 3. CLB Function Generators Can Be Used as
Read/Write Memory Cells
M
Write G'
M
Write F'
M
16 x 2
WE DATA
IN
G'
Function
Generator
G4
G3
G2
G1
WE DATA
IN
F'
Function
Generator
F4
F3
F2
F1
M
Configuration Memory Bit
WE(S/R) D1(H1) D0(DIN) EC
C1 C2 C3 C4
X6072
XC4000, XC4000A, XC4000H Logic Cell Array Families
2-14
pass through a global buffer before arriving at the IOB. This
eliminates the possibility of a data hold-time requirement
at the external pin. The I1 and I2 signals that exit the block
can each carry either the direct or registered input signal.
Output signals can be inverted or not inverted, and can
pass directly to the pad or be stored in an edge-triggered
flip-flop. Optionally, an output enable signal can be used to
place the output buffer in a high-impedance state, imple-
menting 3-state outputs or bidirectional I/O. Under con-
figuration control, the output (OUT) and output enable
(OE) signals can be inverted, and the slew rate of the
output buffer can be reduced to minimize power bus
transients when switching non-critical signals. Each
XC4000-families output buffer is capable of sinking 12 mA;
two adjacent output buffers can be wire-ANDed externally
to sink up to 24 mA. In the XC4000A and XC4000H
families, each output buffer can sink 24 mA.
There are a number of other programmable options in the
IOB. Programmable pull-up and pull-down resistors are
useful for tying unused pins to V
CC
or ground to minimize
power consumption. Separate clock signals are provided
for the input and output registers; these clocks can be
inverted, generating either falling-edge or rising-edge trig-
gered flip-flops. As is the case with the CLB registers, a
global set/reset signal can be used to set or clear the input
and output registers whenever the RESET net is active.
Embedded logic attached to the IOBs contains test struc-
tures compatible with IEEE Standard 1149.1 for boundary-
scan testing, permitting easy chip and board-level testing.
Programmable Interconnect
All internal connections are composed of metal segments
with programmable switching points to implement the
desired routing. An abundance of different routing re-
sources is provided to achieve efficient automated routing.
The number of routing channels is scaled to the size of the
array; i.e., it increases with array size.
In previous generations of LCAs, the logic-block inputs
were located on the top, left, and bottom of the block;
outputs exited the block on the right, favoring left-to-right
data flow through the device. For the third-generation
family, the CLB inputs and outputs are distributed on all
four sides of the block, providing additional routing flexibil-
ity (Figure 6). In general, the entire architecture is more
symmetrical and regular than that of earlier generations,
and is more suited to well-established placement and
routing algorithms developed for conventional mask- pro-
grammed gate-array design.
There are three main types of interconnect, distinguished
by the relative length of their segments: single-length lines,
double-length lines, and Longlines. Note: The number of
routing channels shown in Figures 6 and 9 are for illustra-
tion purposes only; the actual number of routing channels
varies with array size. The routing scheme was designed
for minimum resistance and capacitance of the average
routing path, resulting in significant performance improve-
ments.
The single-length lines are a grid of horizontal and vertical
lines that intersect at a Switch Matrix between each block.
Figure 6 illustrates the single-length interconnect lines
Figure 6. Typical CLB Connections to Adjacent
Single-Length Lines
Figure 5. XC4000 and XC4000A Families
Input/Output Block
CLB
G1
C1
K
F1
X
Y
G3
C3
F3
F4
C4 G4 YQ
XQ F2 C2 G2
Switch
Matrix
X3242
Switch
Matrix
Switch
Matrix
Switch
Matrix
Q
Flip-
Flop/
Latch
D
D
Q
Out
OE
Output
Clock
I
Input
Clock
Delay
Pad
Flip-
Flop
Slew Rate
Control
Output
Buffer
Input
Buffer
Passive
Pull-Up/
Pull-Down
2
I
1
X6073
2-15
Figure 9. Longline Routing Resources with
Typical CLB Connections
surrounding one CLB in the array. Each Switch Matrix
consists of programmable n-channel pass transistors used
to establish connections between the single-length lines
(Figure 7). For example, a signal entering on the right side
of the Switch Matrix can be routed to a single-length line on
the top, left, or bottom sides, or any combination thereof,
if multiple branches are required. Single-length lines are
normally used to conduct signals within a localized area
and to provide the branching for nets with fanout greater
than one.
Compared to the previous generations of LCA archi-
tectures, the number of possible connections through the
Switch Matrix has been reduced. This decreases capaci-
tive loading and minimizes routing delays, thus increasing
performance. However, a much more versatile set of
connections between the single-length lines and the CLB
inputs and outputs more than compensate for the reduc-
tion in Switch Matrix options, resulting in overall increased
routability.
The function generator and control inputs to the CLB (F1-
F4, G1-G4, and C1-C4) can be driven from any adjacent
single-length line segment (Figure 6). The CLB clock (K)
input can be driven from one-half of the adjacent single-
length lines. Each CLB output can drive several of the
single-length lines, with connections to both the horizontal
and vertical Longlines.
The double-length lines (Figure 8) consist of a grid of metal
segments twice as long as the single-length lines; i.e, a
double-length line runs past two CLBs before entering a
Switch Matrix. Double-length lines are grouped in pairs
with the Switch Matrices staggered so that each line goes
through a Switch Matrix at every other CLB location in that
row or column. As with single-length lines, all the CLB
inputs except K can be driven from any adjacent double-
length line, and each CLB output can drive nearby double-
length lines in both the vertical and horizontal planes.
Double-length lines provide the most efficient imple-
mentation of intermediate length, point-to-point inter-
connections.
Figure 8. Double-Length Lines
Longlines form a grid of metal interconnect segments that
run the entire length or width of the array (Figure 9).
Additional vertical longlines can be driven by special global
buffers, designed to distribute clocks and other high fanout
control signals throughout the array with minimal skew.
Longlines are intended for high fan-out, time-critical signal
nets. Each Longline has a programmable splitter switch at
its center, that can separate the line into two independent
routing channels, each running half the width or height of
the array. CLB inputs can be driven from a subset of the
adjacent Longlines; CLB outputs are routed to the Lon-
glines via 3-state buffers or the single-length intercon-
nected lines.
Figure 7. Switch Matrix
CLB
CLB
CLB
CLB
Switch
Matrices
X3245
Six Pass Transistors
Per Switch Matrix
Interconnect Point
X3244
F4 C4 G4 YQ
G1
C1
K
F1
X
XQ
F2 C2 G2
F3
C3
G3
Y
CLB
“Global”
Long Lines
X5520
“Global”
Long Lines

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