Xilinx XC9500XL CPLD quick start

From DP

Jump to: navigation , search



  • 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


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.

JTAG cables

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

Basic circuit



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

6x1 JTAG pinout
Pin SignalDirection
1 V+

Common Xilinx JTAG pinout.

Clock source

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
  • More