Xilinx XC9500XL CPLD quick start
- 2.5volt or 3.3volt IO, 3.3volt core supply required
- 5volt tolerant IO pins
- Modern XC9500XL has a 3.3volt core, older XC9500 had a 5volt core
- Compare Xilinx XC9500 and CoolRunner-II
- Unlike most FPGA, CPLDs are static and store their configuration permanently
- Several devices in easy-to-solder TQFP-44 packages
- Available at Digikey, among others
- XC9500XL homepage (not much there)
- XC9500XL CPLD development board hardware design
- XC9572XL CPLD dev-board introduction
- XC9500XL CPLD quick start
- XC9500XL family manual
- XC9572XL device datasheet
- XC9536XL device datasheet
Development and programming
Xilinx has a free FPGA and CPLD development package called ISE WebPack. This is the only development tool we're aware of.
XC9500XL uses a JTAG programming interface.
- Parallel cable and ISE
- FT2232 JTAG
Load configurations into the CPLD or FPGA by 'playing' an (X)SVF encoded file with a JTAG cable.
- UrJTAG - load SVF with a number of programmers, including common FT2232 programmers
- OpenOCD - detects FPGA/CPLDs, but doesn't do much with them
Requires, at minimum, a 3.3volt supply.
- 3.3volts - core supply and JTAG pins (VDDINT)
- 2.5volts or 3.3volts - IO supply for the IO pins, use your preferred interface voltage (VDDIO)
There is no default reset pin on the XC9500, but similar functionality can be programmed.
- GSR pins have an optimized path to the Set/Reset signal of all macrocells. These pins can be used to synchronously reset all the macrocells in the CPLS with minimum extra resource. This feature must be enabled in the CPLD design, or the pins will be normal IO.
JTAG programming connections
Common Xilinx JTAG pinout.
A clock source is only required if your design needs it. If you plan to use a clock, connect it to a GCK pin for best results.
- GCK pins are optimized to distribute a clock signal to all macrocells with minimum skew and extra resources. If you plan to use a clock with the CPLD, connect it to one of these pins if possible. The GCK features must be applied in the CPLD design or the GCK pin will be an ordinary IO pin.
There are also some pins with special features, though they are not used unless specifically enabled in the CPLD synthesis:
- GCK (global clock) - optimized to distribute a clock signal to all macrocells with minimum skew and extra resources
- GSR (global set reset) - optimized path to the Set/Reset signal of all macrocells, allows synchronous reset of the flip-flop in all cells with minimum extra resources
- GTS (global tri-state) - optimized to put all CPLD pins in a high impedance state