ETC XC95288

0
XC9500 In-System Programmable
CPLD Family
R
September 15, 1999 (Version 5.0)
0
1*
Features
Family Overview
•
The XC9500 CPLD family provides advanced in-system
programming and test capabilities for high performance,
general purpose logic integration. All devices are in-system
programmable for a minimum of 10,000 program/erase
cycles. Extensive IEEE 1149.1 (JTAG) boundary-scan support is also included on all family members.
•
•
•
•
•
•
•
•
•
•
•
•
•
High-performance
- 5 ns pin-to-pin logic delays on all pins
- fCNT to 125 MHz
Large density range
- 36 to 288 macrocells with 800 to 6,400 usable gates
5 V in-system programmable
- Endurance of 10,000 program/erase cycles
- Program/erase over full commercial voltage and
temperature range
Enhanced pin-locking architecture
Flexible 36V18 Function Block
- 90 product terms drive any or all of 18 macrocells
within Function Block
- Global and product term clocks, output enables, set
and reset signals
Extensive IEEE Std 1149.1 boundary-scan (JTAG)
support
Programmable power reduction mode in each
macrocell
Slew rate control on individual outputs
User programmable ground pin capability
Extended pattern security features for design protection
High-drive 24 mA outputs
3.3 V or 5 V I/O capability
Advanced CMOS 5V FastFLASH technology
Supports parallel programming of multiple XC9500
devices
As shown in Table 1, logic density of the XC9500 devices
ranges from 800 to over 6,400 usable gates with 36 to 288
registers, respectively. Multiple package options and associated I/O capacity are shown in Table 2. The XC9500 family is fully pin-compatible allowing easy design migration
across multiple density options in a given package footprint.
The XC9500 architectural features address the requirements of in-system programmability. Enhanced pin-locking
capability avoids costly board rework. An expanded JTAG
instruction set allows version control of programming patterns and in-system debugging. In-system programming
throughout the full device operating range and a minimum
of 10,000 program/erase cycles provide worry-free reconfigurations and system field upgrades.
Advanced system features include output slew rate control
and user-programmable ground pins to help reduce system
noise. I/Os may be configured for 3.3 V or 5 V operation. All
outputs provide 24 mA drive.
Architecture Description
Each XC9500 device is a subsystem consisting of multiple
Function Blocks (FBs) and I/O Blocks (IOBs) fully interconnected by the FastCONNECT switch matrix. The IOB provides buffering for device inputs and outputs. Each FB
provides programmable logic capability with 36 inputs and
18 outputs. The FastCONNECT switch matrix connects all
FB outputs and input signals to the FB inputs. For each FB,
12 to 18 outputs (depending on package pin-count) and
associated output enable signals drive directly to the IOBs.
See Figure 1.
September 15, 1999 (Version 5.0)
1
R
XC9500 In-System Programmable CPLD Family
3
JTAG Port
JTAG
Controller
In-System Programming Controller
36
Function
Block 1
18
I/O
Macrocells
1 to 18
I/O
FastCONNECT Switch Matrix
I/O
I/O
I/O
Blocks
I/O
I/O
I/O
36
Function
Block 2
18
Macrocells
1 to 18
36
Function
Block 3
18
Macrocells
1 to 18
I/O
3
I/O/GCK
36
1
I/O/GTS
Function
Block N
Macrocells
1 to 18
18
I/O/GSR
2 or 4
X5877
Figure 1: XC9500 Architecture
Note: Function Block outputs (indicated by the bold line) drive the I/O Blocks directly.
Table 1: XC9500 Device Family
Macrocells
Usable Gates
Registers
tPD (ns)
tSU (ns)
tCO (ns)
fCNT (MHz)
fSYSTEM (MHz)
XC9536
XC9572
XC95108
XC95144
XC95216
XC95288
36
800
36
5
3.5
4.0
100
100
72
1,600
72
7.5
4.5
4.5
125
83.3
108
2,400
108
7.5
4.5
4.5
125
83.3
144
3,200
144
7.5
4.5
4.5
125
83.3
216
4,800
216
10
6.0
6.0
111.1
66.7
288
6,400
288
10
6.0
6.0
111.1
66.7
Note: fCNT = Operating frequency for 16-bit counters
fSYSTEM = Internal operating frequency for general purpose system designs spanning multiple FBs.
2
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
Table 2: Available Packages and Device I/O Pins (not including dedicated JTAG pins)
44-Pin VQFP
44-Pin PLCC
48-Pin CSP
84-Pin PLCC
100-Pin TQFP
100-Pin PQFP
160-Pin PQFP
208-Pin HQFP
352-Pin BGA
XC9536
XC9572
34
34
34
34
XC95108
XC95144
69
81
81
108
81
81
133
69
72
72
XC95216
XC95288
133
166
166
168
192
Function Block
Each Function Block, as shown in Figure 2, is comprised of
18 independent macrocells, each capable of implementing
a combinatorial or registered function. The FB also
receives global clock, output enable, and set/reset signals.
The FB generates 18 outputs that drive the FastCONNECT
switch matrix. These 18 outputs and their corresponding
output enable signals also drive the IOB.
Logic within the FB is implemented using a sum-of-products representation. Thirty-six inputs provide 72 true and
complement signals into the programmable AND-array to
form 90 product terms. Any number of these product terms,
up to the 90 available, can be allocated to each macrocell
by the product term allocator.
Each FB (except for the XC9536) supports local feedback
paths that allow any number of FB outputs to drive into its
own programmable AND-array without going outside the
FB. These paths are used for creating very fast counters
and state machines where all state registers are within the
same FB.
Macrocell 1
Programmable
AND-Array
From
FastCONNECT
Switch Matrix
Product
Term
Allocators
18
To FastCONNECT
Switch Matrix
36
18
OUT
18
PTOE
To I/O Blocks
Macrocell 18
1
Global
Set/Reset
3
Global
Clocks
X5878
Figure 2: XC9500 Function Block
September 15, 1999 (Version 5.0)
3
5
R
XC9500 In-System Programmable CPLD Family
Macrocell
Each XC9500 macrocell may be individually configured for
a combinatorial or registered function. The macrocell and
associated FB logic is shown in Figure 3.
Five direct product terms from the AND-array are available
for use as primary data inputs (to the OR and XOR gates)
to implement combinatorial functions, or as control inputs
including clock, set/reset, and output enable. The product
36
term allocator associated with each macrocell selects how
the five direct terms are used.
The macrocell register can be configured as a D-type or
T-type flip-flop, or it may be bypassed for combinatorial
operation. Each register supports both asynchronous set
and reset operations. During power-up, all user registers
are initialized to the user-defined preload state (default to 0
if unspecified).
Global
Set/Reset
Global
Clocks
3
Additional
Product
Terms
(from other
macrocells)
Product Term Set
1
0
To
FastCONNECT
Switch Matrix
S
D/T Q
Product
Term
Allocator
Product Term Clock
R
Product Term Reset
OUT
Product Term OE
PTOE
To
I/O Blocks
Additional
Product
Terms
(from other
macrocells)
X5879
Figure 3: XC9500 Marcocell Within Function Block
4
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
All global control signals are available to each individual
macrocell, including clock, set/reset, and output enable signals. As shown in Figure 4, the macrocell register clock
originates from either of three global clocks or a product
term clock. Both true and complement polarities of a GCK
pin can be used within the device. A GSR input is also provided to allow user registers to be set to a user-defined
state.
Macrocell
Product Term Set
Product Term Clock
S
D/T
R
Product Term Reset
I/O/GSR
Global Set/Reset
5
I/O/GCK1
Global Clock 1
I/O/GCK2
I/O/GCK3
Global Clock 2
Global Clock 3
X5880
Figure 4: Macrocell Clock and Set/Reset Capability
September 15, 1999 (Version 5.0)
5
R
XC9500 In-System Programmable CPLD Family
Product Term Allocator
The product term allocator controls how the five direct
product terms are assigned to each macrocell. For example, all five direct terms can drive the OR function as shown
in Figure 5.
Product Term
Allocator
Note that the incremental delay affects only the product
terms in other macrocells. The timing of the direct product
terms is not changed.
Product Term
Allocator
Macrocell
Product Term
Logic
Product Term
Allocator
X5894
Figure 5: Macrocell Logic Using Direct Product Term
The product term allocator can re-assign other product
terms within the FB to increase the logic capacity of a macrocell beyond five direct terms. Any macrocell requiring
additional product terms can access uncommitted product
terms in other macrocells within the FB. Up to 15 product
terms can be available to a single macrocell with only a
small incremental delay of tPTA, as shown in Figure 6.
Macrocell Logic
With 15 P-Terms
Product Term
Allocator
X5895
Figure 6: Product Term Allocation With 15 Product
Terms
6
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
The product term allocator can re-assign product terms
from any macrocell within the FB by combining partial sums
of products over several macrocells, as shown in Figure 7.
In this example, the incremental delay is only 2*tPTA. All 90
product terms are available to any macrocell, with a maximum incremental delay of 8*tPTA.
Product Term
Allocator
Macrocell Logic
With 2
Product Terms
Product Term
Allocator
5
Product Term
Allocator
Macrocell Logic
With 18
Product Terms
Product Term
Allocator
X5896
Figure 7: Product Term Allocation Over Several Macrocells
September 15, 1999 (Version 5.0)
7
R
XC9500 In-System Programmable CPLD Family
The internal logic of the product term allocator is shown in Figure 8.
From Upper
Macrocell
To Upper
Macrocell
Product Term
Allocator
Product Term Set
Global Set/Reset
1
0
S
D/T Q
Global Clocks
Product Term Clock
R
Product Term Reset
Global Set/Reset
Product Term OE
From Lower
Macrocell
To Lower
Macrocell
X5881
Figure 8: Product Term Allocator Logic
8
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
FastCONNECT Switch Matrix
The FastCONNECT switch matrix connects signals to the
FB inputs, as shown in Figure 9. All IOB outputs (corresponding to user pin inputs) and all FB outputs drive the
FastCONNECT matrix. Any of these (up to a FB fan-in limit
of 36) may be selected, through user programming, to drive
each FB with a uniform delay.
FastCONNECT
Switch Matrix
The FastCONNECT switch matrix is capable of combining
multiple internal connections into a single wired-AND output before driving the destination FB. This provides additional logic capability and increases the effective logic
fan-in of the destination FB without any additional timing
delay. This capability is available for internal connections
originating from FB outputs only. It is automatically invoked
by the development software where applicable.
Function Block
5
I/O Block
(36)
18
D/T Q
I/O
Function Block
I/O Block
(36)
18
D/T Q
I/O
Wired-AND Capability
99021101
Figure 9: FastCONNECT Switch Matrix
September 15, 1999 (Version 5.0)
9
R
XC9500 In-System Programmable CPLD Family
I/O Block
The I/O Block (IOB) interfaces between the internal logic
and the device user I/O pins. Each IOB includes an input
buffer, output driver, output enable selection multiplexer,
and user programmable ground control. See Figure 10 for
details.
The input buffer is compatible with standard 5 V CMOS, 5 V
TTL and 3.3 V signal levels. The input buffer uses the internal
5 V voltage supply (VCCINT) to ensure that the input thresholds are constant and do not vary with the VCCIO voltage.
The output enable may be generated from one of four
options: a product term signal from the macrocell, any of
the global OE signals, always “1”, or always “0”. There are
two global output enables for devices with up to 144 macrocells, and four global output enables for devices with 180
or more macrocells. Both polarities of any of the global
3-state control (GTS) pins may be used within the device.
To other
Macrocells
I/O Block
VCCINT
VCCIO
To FastCONNECT
Switch Matrix
Pull-up
Resistor *
Macrocell
I/O
OUT
(Inversion in
AND-array)
Product Term OE
PTOE
UserProgrammable
Ground
1
0
Slew Rate
Control
I/O/GTS1
* Pull-up resistors are used to prevent
floating pins during programming
and other times. They are disabled
during normal operations.
Global OE 1
I/O/GTS2
I/O/GTS3
I/O/GTS4
Global OE 2
Global OE 3
Available in
XC95216
and XC95288
Global OE 4
X5899_01
Figure 10: I/O Block and Output Enable Capability
10
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
Each output has independent slew rate control. Output
edge rates may be slowed down to reduce system noise
(with an additional time delay of tSLEW) through programming. See Figure 11.
voltage supply. Figure 12 shows how the XC9500 device
can be used in 5 V only and mixed 3.3 V/5 V systems.
Each IOB provides user programmable ground pin capability. This allows device I/O pins to be configured as additional ground pins. By tying strategically located
programmable ground pins to the external ground connection, system noise generated from large numbers of simultaneous switching outputs may be reduced.
The capability to lock the user defined pin assignments during design changes depends on the ability of the architecture to adapt to unexpected changes. The XC9500 devices
have architectural features that enhance the ability to
accept design changes while maintaining the same pinout.
A control pull-up resistor (typically 10K ohms) is attached to
each device I/O pin to prevent them from floating when the
device is not in normal user operation. This resistor is
active during device programming mode and system
power-up. It is also activated for an erased device. The
resistor is deactivated during normal operation.
The output driver is capable of supplying 24 mA output
drive. All output drivers in the device may be configured for
either 5 V TTL levels or 3.3 V levels by connecting the
device output voltage supply (VCCIO) to a 5 V or 3.3 V
Pin-Locking Capability
The XC9500 architecture provides maximum routing within
the FastCONNECT switch matrix, and incorporates a flexible Function Block that allows block-wide allocation of
available product terms. This provides a high level of confidence of maintaining both input and output pin assignments for unexpected design changes.
For extensive design changes requiring higher logic capacity than is available in the initially chosen device, the new
design may be able to fit into a larger pin-compatible device
using the same pin assignments. The same board may be
used with a higher density device without the expense of
board rework.
Output
Voltage
Output
Voltage
Standard
Slew-Rated Limited
Slew-Rated Limited
tSLEW
tSLEW
1.5 V
1.5 V
Standard
Time
0
Time
0
(b)
(a)
Figure 11:
Output Slew-Rate For (a) Rising and (b) Falling Outputs
5V
5 V CMOS
5 V CMOS
0V
VCCIO
VCCINT
or
IN
XC9500
CPLD
0V
3.3 V
VCCINT
VCCIO
GND
3.3 V
3.6 V
~4V
IN
XC9500
CPLD
0V
3.3 V
0V
or
OUT
0V
or
3.3 V
0V
5 V TTL
5 V TTL
3.6 V
3.3 V
5V
5V
5V
5 V TTL
X5900
3.3 V
OUT
0V
or
3.3 V
GND
0V
(a)
(b)
X5901
Figure 12: XC9500 Devices in (a) 5 V Systems and (b) Mixed 3.3 V/5 V Systems
September 15, 1999 (Version 5.0)
11
5
R
XC9500 In-System Programmable CPLD Family
XC9500 devices are programmed in-system via a standard
4-pin JTAG protocol, as shown in Figure 13. In-system programming offers quick and efficient design iterations and
eliminates package handling. The Xilinx development system provides the programming data sequence using a Xilinx download cable, a third-party JTAG development
system, JTAG-compatible board tester, or a simple microprocessor interface that emulates the JTAG instruction
sequence.
All I/Os are 3-stated and pulled high by the IOB resistors
during in-system programming. If a particular signal must
remain low during this time, then a pulldown resistor may
be added to the pin.
External Programming
XC9500 devices can also be programmed by the Xilinx
HW130 device programmer as well as third-party programmers. This provides the added flexibility of using pre-programmed devices during manufacturing, with an in-system
programmable option for future enhancements.
Endurance
All XC9500 CPLDs provide a minimum endurance level of
10,000 in-system program/erase cycles. Each device
meets all functional, performance, and data retention specifications within this endurance limit.
IEEE 1149.1 Boundary-Scan (JTAG)
XC9500 devices fully support IEEE 1149.1 boundary-scan
(JTAG). EXTEST, SAMPLE/PRELOAD, BYPASS, USERCODE, INTEST, IDCODE, and HIGHZ instructions are supported in each device. For ISP operations, five additional
instructions are added; the ISPEN, FERASE, FPGM,
FVFY, and ISPEX instructions are fully compliant extensions of the 1149.1 instruction set.
12
The TMS and TCK pins have dedicated pull-up resistors as
specified by the IEEE 1149.1 standard.
Boundary Scan Description Language (BSDL) files for the
XC9500 are included in the development system and are
available on the Xilinx FTP site.
Design Security
XC9500 devices incorporate advanced data security features which fully protect the programming data against
unauthorized reading or inadvertent device erasure/reprogramming. Table 3 shows the four different security settings available.
The read security bits can be set by the user to prevent the
internal programming pattern from being read or copied.
When set, they also inhibit further program operations but
allow device erase. Erasing the entire device is the only
way to reset the read security bit.
The write security bits provide added protection against
accidental device erasure or reprogramming when the
JTAG pins are subject to noise, such as during system
power-up. Once set, the write-protection may be deactivated when the device needs to be reprogrammed with a
valid pattern.
Table 3: Data Security Options
Read Security
Default
Write Security
In-System Programming
Set
Read Allowed
Read Inhibited
Program/Erase Allowed
Program Inhibited/Erase Allowed
Read Allowed
Read Inhibited
Program/Erase Inhibited
Program/Erase Inhibited
Default
Set
X5905
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
V CC
GND
(a)
(b)
X5902
Figure 13: In-System Programming Operation (a) Solder Device to PCB and (b) Program Using Download Cable
Low Power Mode
Timing Model
All XC9500 devices offer a low-power mode for individual
macrocells or across all macrocells. This feature allows the
device power to be significantly reduced.
The uniformity of the XC9500 architecture allows a simplified timing model for the entire device. The basic timing
model, shown in Figure 14, is valid for macrocell functions
that use the direct product terms only, with standard power
setting, and standard slew rate setting. Table 4 shows how
each of the key timing parameters is affected by the product term allocator (if needed), low-power setting, and
slew-limited setting.
Each individual macrocell may be programmed in
low-power mode by the user. Performance-critical parts of
the application can remain in standard power mode, while
other parts of the application may be programmed for
low-power operation to reduce the overall power dissipation. Macrocells programmed for low-power mode incur
additional delay (tLP) in pin-to-pin combinatorial delay as
well as register setup time. Product term clock to output
and product term output enable delays are unaffected by
the macrocell power-setting.
The product term allocation time depends on the logic span
of the macrocell function, which is defined as one less than
the maximum number of allocators in the product term
path. If only direct product terms are used, then the logic
span is 0. The example in Figure 6 shows that up to 15
product terms are available with a span of 1. In the case of
Figure 7, the 18 product term function has a span of 2.
Detailed timing information may be derived from the full
timing model shown in Figure 15. The values and explanations for each parameter are given in the individual device
data sheets.
September 15, 1999 (Version 5.0)
13
5
R
XC9500 In-System Programmable CPLD Family
tSU
Combinatorial
Logic
Combinatorial
Logic
D/T
Q
tCO
Clock to Out Time = tCO
Setup Time = tSU
Propagation Delay = tPD
(b)
(a)
tPSU
Combinatorial
Logic
D/T
Q
Combinatorial
Logic
P-Term Clock
Path
D/T
Q
tPCO
Clock to Out Time = tPCO
Setup Time = tPSU
Internal System Cycle Time = tSYSTEM
(c)
(d)
All resources within FB using local Feedback
Combinatorial
Logic
D/T
Combinatorial
Logic
Q
Combinatorial
Logic
Internal Cycle Time = tCNT
(e)
Propagation Delay = tPD + tFBK
With Feedback
(f)
Setup
Time
Figure 14: Basic Timing Model
Combinatorial
Logic
Pin Feedback
tF
tLF
tLOGILP
tIN
S*tPTA
tLOGI
D/T
tPTSR
Q
tOUT
tSUI tCOI
tHI
tPTCK
tGCK
tSLEW
tPDI
>
tAOI
tRAI
tEN
SR
tGSR
tPTTS
tGTS
Figure 15: Detailed Timing Model
Power-Up Characteristics
The XC9500 devices are well behaved under all operating
conditions. During power-up each XC9500 device employs
internal circuitry which keeps the device in the quiescent
state until the VCCINT supply voltage is at a safe level
(approximately 3.8 V). During this time, all device pins and
JTAG pins are disabled and all device outputs are disabled
14
with the IOB pull-up resistors (~ 10K ohms) enabled, as
shown in Table 5. When the supply voltage reaches a safe
level, all user registers become initialized (typically within
100 µs for 9536 - 95144, 200 µs for 95216 and 300 µs for
95288), and the device is immediately available for operation, as shown in Figure 16.
September 15, 1999 (Version 5.0)
R
XC9500 In-System Programmable CPLD Family
If the device is in the erased state (before any user pattern
is programmed), the device outputs remain disabled with
the IOB pull-up resistors enabled. The JTAG pins are
enabled to allow the device to be programmed at any time.
If the device is programmed, the device inputs and outputs
take on their configured states for normal operation. The
JTAG pins are enabled to allow device erasure or boundary-scan tests at any time.
FastFLASH Technology
An advanced CMOS Flash process is used to fabricate all
XC9500 devices. Specifically developed for Xilinx in-system programmable CPLDs, the FastFLASH process provides high
performance logic capability, fast programming times, and
endurance of 10,000 program/erase cycles.
VCCINT
Development System Support
The XC9500 CPLD family is fully supported by the development systems available from Xilinx and the Xilinx Alliance
Program vendors.
The designer can create the design using ABEL, schematics, equations, VHDL, or Verilog in a variety of software
front-end tools. The development system can be used to
implement the design and generate a JEDEC bitmap which
can be used to program the XC9500 device. Each development system includes JTAG download software that can be
used to program the devices via the standard JTAG interface and a download cable.
3.8 V
(Typ)
0V
No
Power
Quiescent
State
User Operation
Quiescent
State
Initialization of User Registers
No
Power
X5904
Figure 16: Device Behavior During Power-up
5
Table 4: Timing Model Parameters
Description
Parameter
Product Term
Allocator1
Macrocell
Low-Power Setting
Output Slew-Limited
Setting
Propagation Delay
Global Clock Setup Time
Global Clock-to-output
Product Term Clock Setup
Time
Product Term Clock-to-output
Internal System Cycle Period
tPD
tSU
tCO
tPSU
+ tPTA * S
+ tPTA * S
–
+ tPTA * S
+ tLP
+ tLP
–
+ tLP
+ tSLEW
–
+ tSLEW
–
tPCO
tSYSTEM
–
+ tPTA * S
–
+ tLP
+ tSLEW
–
Note: 1. S = the logic span of the function, as defined in the text.
Table 5: XC9500 Device Characteristics
Device
Circuitry
IOB Pull-up Resistors
Device Outputs
Device Inputs and Clocks
Function Block
JTAG Controller
September 15, 1999 (Version 5.0)
Quiescent
State
Erased Device
Operation
Valid User
Operation
Enabled
Disabled
Disabled
Disabled
Disabled
Enabled
Disabled
Disabled
Disabled
Enabled
Disabled
As Configured
As Configured
As Configured
Enabled
15
R
XC9500 In-System Programmable CPLD Family
Revision History
Version
3.0
4.0
5.0
16
Date
12/14/98
2/10/99
9/15/99
Revision
Revised datasheet to reflect new AC characteristics and Internal Timing Parmeters.
Corrected Figure 3
Added -10 speed grade to 95288
September 15, 1999 (Version 5.0)