XC4000, XC4000A, XC4000H Logic Cell Array Families
2-16
Communication between Longlines and single-length lines
is controlled by programmable interconnect points at the
line intersections. Double-length lines do not connect to
other lines.
Three-State Buffers
A pair of 3-state buffers, associated with each CLB in the
array, can be used to drive signals onto the nearest
horizontal Longlines above and below the block. This
feature is also available in the XC3000 generation of LCA
devices. The 3-state buffer input can be driven from any
X, Y, XQ, or YQ output of the neighboring CLB, or from
nearby single-length lines; the buffer enable can come
from nearby vertical single-length or Longlines. Another 3-
state buffer with similar access is located near each I/O
block along the right and left edges of the array. These
buffers can be used to implement multiplexed or bidirec-
tional buses on the horizontal Longlines. Programmable
pull-up resistors attached to both ends of these Longlines
help to implement a wide wired-AND function.
Special Longlines running along the perimeter of the array
can be used to wire-AND signals coming from nearby IOBs
or from internal Longlines.
Taking Advantage of Reconfiguration
LCA devices can be reconfigured to change logic function
while resident in the system. This gives the system de-
signer 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. An
LCA device 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 dual-purpose
hardware for a given application. As an added benefit, use
of reconfigurable LCA devices simplifies hardware design
and debugging and shortens product time-to-market.
Development System
The powerful features of the XC4000 device families
require an equally powerful, yet easy-to-use set of devel-
opment tools. Xilinx provides an enhanced version of the
Xilinx Automatic CAE Tools (XACT) optimized for the
XC4000 families.
As with other logic technologies, the basic methodology for
XC4000 FPGA design consists of three inter-related steps:
entry, implementation, and verification. Popular ‘generic’
tools are used for entry and simulation (for example,
Viewlogic System’s ViewDraw schematic editor and
ViewSim simulator), but architecture-specific tools are
needed for implementation.
All Xilinx development system software is integrated under
the Xilinx Design Manager (XDM), providing designers
with a common user interface regardless of their choice of
entry and verification tools. XDM simplifies the selection of
command-line options with pull-down menus and on-line
help text. Application programs ranging from schematic
capture to Partitioning, Placement, and Routing (PPR) can
be accessed from XDM, while the program-command
sequence is generated and stored for documentation prior
to execution. The XMAKE command, a design compilation
utility, automates the entire implementation process, auto-
matically retrieving the design’s input files and performing
all the steps needed to create configuration and report
files.
Several advanced features of the XACT system facilitate
XC4000 FPGA design. The MEMGEN utility, a memory
compiler, implements on-chip RAM within an XC4000
FPGA. Relationally Placed Macros (RPMs) – schematic-
based macros with relative locations constraints to guide
their placement within the FPGA – help ensure an opti-
mized implementation for common logic functions. XACT-
Performance, a feature of the Partition, Place, and Route
(PPR) implementation program, allows designers to enter
their exact performance requirements during design entry,
at the schematic level.
Design Entry
Designs can be entered graphically, using schematic-
capture software, or in any of several text-based formats
(such as Boolean equations, state-machine descriptions,
and high-level design languages).
Xilinx and third-party CAE vendors have developed library
and interface products compatible with a wide variety of
design-entry and simulation environments. A standard
interface-file specification, XNF (Xilinx Netlist File), is
provided to simplify file transfers into and out of the XACT
development system.
Xilinx offers XACT development system interfaces to the
following design environments.
Viewlogic Systems (ViewDraw, ViewSim)
Mentor Graphics V7 and V8 (NETED, Quicksim,
Design Architect, Quicksim II)
OrCAD (SDT , VST)
Synopsys (Design Compiler, FPGA Compiler)
Xilinx-ABEL
X-BLOX
Many other environments are supported by third-party
vendors. Currently, more than 100 packages are sup-
ported.
The schematic library for the XC4000 FPGA reflects the
wide variety of logic functions that can be implemented in
these versatile devices. The library contains over 400
primitives and macros, ranging from 2-input AND gates to
16-bit accumulators, and including arithmetic functions,
2-17
comparators, counters, data registers, decoders, encod-
ers, I/O functions, latches, Boolean functions, RAM and
ROM memory blocks, multiplexers, shift registers, and
barrel shifters.
Designing with macros is as easy as designing with
standard SSI/MSI functions. The ‘soft macro’ library con-
tains detailed descriptions of common logic functions, but
does not contain any partitioning or routing information.
The performance of these macros depends, therefore, on
how the PPR software processes the design. Relationally
Placed Macros (RPMs), on the other hand, do contain pre-
determined partitioning and relative placement informa-
tion, resulting in an optimized implementation for these
functions. Users can create their own library elements –
either soft macros or RPMs – based on the macros and
primitives of the standard library.
X-BLOX
is a graphics-based high-level description lan-
guage (HDL) that allows designers to use a schematic
editor to enter designs as a set of generic modules. The X-
BLOX compiler optimizes the modules for the target de-
vice architecture, automatically choosing the appropriate
architectural resources for each function.
The XACT design environment supports hierarchical de-
sign entry, with top-level drawings defining the major
functional blocks, and lower-level descriptions defining the
logic in each block. The implementation tools automati-
cally combine the hierarchical elements of a design. Differ-
ent hierarchical elements can be specified with different
design entry tools, allowing the use of the most convenient
entry method for each portion of the design.
Design Implementation
The design implementation tools satisfy the requirement
for an automated design process. Logic partitioning, block
placement and signal routing, encompassing the design
implementation process, are performed by the Partition,
Place, and Route program (PPR). The partitioner takes the
logic from the entered design and maps the logic into the
architectural resources of the FPGA (such as the logic
blocks, I/O blocks, 3-state buffers, and edge decoders).
The placer then determines the best locations for the
blocks, depending on their connectivity and the required
performance. The router finally connects the placed blocks
together. The PPR algorithms result in the fully automatic
implementation of most designs. However, for demanding
applications, the user may exercise various degrees of
control over the automated implementation process. Op-
tionally, user-designated partitioning, placement, and rout-
ing information can be specified as part of the design entry
process. The implementation of highly-structured designs
can greatly benefit from the basic floorplanning techniques
familiar to designers of large gate arrays.
The PPR program includes XACT-Performance, a feature
that allows designers to specify the timing requirements
along entire paths during design entry. Timing path analy-
sis routines in PPR then recognize and accommodate the
user-specified requirements. Timing requirements can be
entered on the schematic in a form directly relating to the
system requirements (such as the targeted minimum clock
frequency, or the maximum allowable delay on the data
path between two registers). So, while the timing of each
individual net is not predictable (nor does it need to be), the
overall performance of the system along entire signal
paths is automatically tailored to match user-generated
specifications.
The automated implementation tools are complemented
by the XACT Design Editor (XDE), an interactive graphics-
based editor that displays a model of the actual logic and
routing resources of the FPGA. XDE can be used to
directly view the results achieved by the automated tools.
Modifications can be made using XDE; XDE also performs
checks for logic connectivity and possible design-rule
violations.
Design Verification
The high development cost associated with common mask-
programmed gate arrays necessitates extensive simula-
tion to verify a design. Due to the custom nature of masked
gate arrays, mistakes or last-minute design changes can-
not be tolerated. A gate-array designer must simulate and
test all logic and timing using simulation software. Simula-
tion describes what happens in a system under worst-case
situations. However, simulation is tedious and slow, and
simulation vectors must be generated. A few seconds of
system time can take weeks to simulate.
Programmable-gate-array users, however, can use in-
circuit debugging techniques in addition to simulation.
Because Xilinx devices are reprogrammable, designs can
be verified in the system in real time without the need for
extensive simulation vectors.
The XACT development system supports both simulation
and in-circuit debugging techniques. For simulation, the
system extracts the post-layout timing information from
the design database. This data can then be sent to the
simulator to verify timing-critical portions of the design.
Back-annotation – the process of mapping the timing
information back into the signal names and symbols of the
schematic – eases the debugging effort.
For in-circuit debugging, XACT includes a serial download
and readback cable (XChecker) that connects the device
in the system to the PC or workstation through an RS232
serial port. The engineer can download a design or a
design revision into the system for testing. The designer
can also single-step the logic, read the contents of the
numerous flip-flops on the device and observe internal
logic levels. Simple modifications can be downloaded into
the system in a matter of minutes.
XC4000, XC4000A, XC4000H Logic Cell Array Families
2-18
The XACT system also includes XDelay, a static timing
analyzer. XDelay examines a design’s logic and timing to
calculate the performance along signal paths, identify pos-
sible race conditions, and detect set-up and hold-time
violations. Timing analyzers do not require that the user
generate input stimulus patterns or test vectors.
Summary
The result of eight years of FPGA design experience and
feedback from thousands of customers, the XC4000 families
combine architectural versatility, on-chip RAM, increased
speed and gate complexity with abundant routing resources
and new, sophisticated software to achieve fully automated
implementation of complex, high-performance designs.
7400 Equivalents
# of CLBs
‘138 5
‘139 2
‘147 5
‘148 6
‘150 5
‘151 3
‘152 3
‘153 2
‘154 16
‘157 2
‘158 2
‘160 5
‘161 6
‘162 8
‘163 8
‘164 4
‘165s 9
‘166 5
‘168 7
‘174 3
‘194 5
‘195 3
‘280 3
‘283 8
‘298 2
‘352 2
‘390 3
‘518 3
‘521 3
Barrel Shifters
brlshft4 4
brlshft8 13
4-Bit Counters
cd4ce 3
cd4cle 5
cd4rle 6
cb4ce 3
cb4cle 6
cb4re 5
8- and 16-Bit Counters
cb8ce 6
cb8re 10
cc16ce 10
cc16cle 11
cc16cled 21
Identity Comparators
comp4 1
comp8 2
comp16 5
Magnitude Comparators
compm4 4
compm8 9
compm16 20
Decoders
d2-4e 2
d3-8e 4
d4-16e 16
Multiplexers
m2-1e 1
m4-1e 1
m8-1e 3
m16-1e 5
Registers
rd4r 2
rd8r 4
rd16r 8
Shift Registers
sr8ce 4
sr16re 8
RAMs
ram 16x4 2
Explanation of counter nomenclature
cb = binary counter
cd = BCD counter
cc = cascadable binary counter
d = bidirectional
l = loadable
x = cascadable
e = clock enable
r = synchronous reset
c = asynchronous clear
Figure 10. CLB Count of Selected XC4000 Soft Macros

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