Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
If you’ve ever spent hours hunting through component catalogs trying to find the perfect combination of logic chips for your project, you’re not alone. The Xilinx XC9572XL CPLD offers a smarter solution: program your own custom logic chip with exactly the functionality you need.
I’ve been working with these devices in various designs over the years, from replacing obsolete glue logic to building custom interfaces for legacy systems. The XC9572XL strikes a sweet spot between capability and simplicity that makes it particularly appealing for embedded projects, prototype development, and production designs where you need deterministic timing without the complexity of an FPGA.
This guide covers everything you need to get started with the XC9572XL, from understanding its architecture to programming your first design.
The XC9572XL belongs to Xilinx’s XC9500XL family of Complex Programmable Logic Devices. Unlike simple PLDs or massive FPGAs, CPLDs occupy a middle ground, providing enough logic resources for moderately complex designs while maintaining the non-volatile, instant-on characteristics that many applications require.
At its core, the XC9572XL provides 72 macrocells organized into four function blocks. Each macrocell can be configured as either a combinatorial logic element or a registered (flip-flop) element depending on your design requirements. The device offers approximately 1,600 usable gates, which is sufficient for many glue logic applications, state machines, bus interfaces, and control functions.
What makes the XC9572XL particularly practical is its operating voltage configuration. The core runs on 3.3V, but all I/O pins are 5V tolerant, meaning you can interface directly with older TTL logic without level shifters. Output levels can be set to either 3.3V or 2.5V depending on your VCCIO supply.
XC9572XL Key Features at a Glance
Feature
Specification
Macrocells
72
Usable Gates
1,600
Function Blocks
4 (54V18 each)
Maximum I/O Pins
Up to 72 (package dependent)
Pin-to-Pin Delay
5 ns (fastest grade)
System Frequency
Up to 178 MHz
Core Voltage
3.3V
I/O Tolerance
5V tolerant inputs
Output Voltage
3.3V or 2.5V selectable
Technology
0.35 micron CMOS FastFLASH
Programming Interface
IEEE 1149.1 JTAG
Endurance
10,000+ program/erase cycles
Data Retention
20 years
XC9572XL Architecture Overview
Understanding the internal architecture helps you write more efficient designs and troubleshoot issues when things don’t work as expected.
Function Blocks and the FastCONNECT II Switch Matrix
The XC9572XL contains four identical function blocks, each with 18 macrocells. These function blocks connect through the FastCONNECT II switch matrix, which provides a programmable interconnect allowing any signal to route to any function block input.
Each function block receives 54 inputs from the switch matrix, giving you substantial flexibility in how signals route through the device. The outputs from each function block can drive I/O pins directly or feed back into the switch matrix for use by other function blocks.
Macrocell Structure
Each macrocell within the XC9572XL can implement either combinatorial logic or sequential logic:
Combinatorial mode uses the product-term array to create sum-of-products logic expressions
Sequential mode adds a configurable flip-flop with individual clock, enable, and preset/reset controls
The device supports up to 90 product terms per macrocell through the product-term allocator. This allocator can borrow unused product terms from adjacent macrocells when your design requires more complex logic expressions.
Global Signals
The XC9572XL provides three types of global signals that distribute across the entire device with minimal skew:
Signal Type
Pin Count
Function
GCK (Global Clock)
3
Low-skew clock distribution to all macrocells
GSR (Global Set/Reset)
1
Synchronous reset of all flip-flops
GTS (Global Tri-State)
2
Device-wide output disable
These global signals connect through optimized routing paths. If your design uses clocks, connecting them to GCK pins ensures the best possible timing performance. However, if you don’t explicitly enable these features in your design, the pins function as normal I/O.
One of the trickiest aspects of working with the XC9572XL is selecting the right package and correctly mapping your signals. The device comes in five package options with varying I/O counts.
Package Options Comparison
Package
Pins
User I/O
Best For
PC44 (PLCC)
44
34
Through-hole prototyping
VQ44 (VQFP)
44
34
Surface mount, compact designs
CS48 (CSP)
48
38
Space-critical applications
VQ64 (VQFP)
64
52
Medium I/O requirements
TQ100 (TQFP)
100
72
Maximum I/O utilization
VQ44 Package Pinout
The 44-pin VQFP package is the most common choice for hobbyist and prototype work. Here’s the critical pin mapping:
Pin Number
Function
Notes
1
I/O/GCK3
Global Clock 3
4
GND
Ground
5-6, 8, 12-14
I/O
General Purpose
9
TDI
JTAG Data In
10
TMS
JTAG Mode Select
11
TCK
JTAG Clock
15
VCCINT
3.3V Core Supply
17
GND
Ground
21-22
I/O
General Purpose
24
TDO
JTAG Data Out
25
GND
Ground
26
VCCIO
I/O Supply (2.5V or 3.3V)
27-32
I/O
General Purpose
33
I/O/GSR
Global Set/Reset
34
I/O/GTS2
Global Tri-State 2
35
VCCINT
3.3V Core Supply
36
I/O/GTS1
Global Tri-State 1
37-38
I/O
General Purpose
43
I/O/GCK1
Global Clock 1
44
I/O/GCK2
Global Clock 2
PC44 vs VQ44: A Common Pitfall
A word of caution from experience: the PC44 (PLCC) and VQ44 (VQFP) packages have completely different pinouts despite both having 44 pins. I’ve seen more than one designer waste hours debugging a board only to discover they selected the wrong package in their constraint file.
Always double-check that your UCF file specifies the correct package. For the VQ44, your ISE project should show “VQ44” in the device properties, not “PC44”.
Power Supply Requirements
Getting the power supply right is essential for reliable operation. The XC9572XL requires two supply rails:
VCCINT (Core Supply)
Voltage Range: 3.0V to 3.6V (nominal 3.3V)
Powers internal logic and JTAG interface
Multiple pins on larger packages for improved power distribution
VCCIO (I/O Supply)
3.3V operation: 3.0V to 3.6V
2.5V operation: 2.3V to 2.7V
Sets output voltage levels
Must not exceed VCCINT
Decoupling Capacitors
Proper decoupling prevents glitches and ensures reliable operation:
Location
Capacitor Value
Type
Each VCCINT pin
100nF
Ceramic (X7R)
Each VCCIO pin
100nF
Ceramic (X7R)
Power entry point
10µF
Tantalum or electrolytic
Place decoupling capacitors as close to the power pins as possible. For the VQ44 package, a single 100nF capacitor per supply rail is the minimum; adding a bulk 10µF capacitor near the power connector improves transient response.
Programming the XC9572XL: Step-by-Step Guide
Programming the XC9572XL follows a workflow that might feel different if you’re coming from a microcontroller background. Instead of writing sequential code, you describe the hardware behavior using a Hardware Description Language (HDL) or schematic capture.
Required Tools and Software
Xilinx ISE WebPack: This is the development environment for XC9500XL CPLDs. Download version 14.7 from Xilinx/AMD, which is the final version supporting these devices. The download is substantial (around 4.6GB) and the installation requires approximately 11GB of disk space.
JTAG Programmer: Several options exist:
Programmer Type
Approximate Cost
Notes
Xilinx Platform Cable USB
$270
Official, works directly with ISE
Digilent JTAG-HS2
$50
Works with ISE IMPACT
Bus Pirate
$30
Requires XSVF player software
FT2232-based cables
$15-30
Works with UrJTAG, xc3sprog
Raspberry Pi GPIO
$0 (if you have one)
Works with xc3sprog
Development Workflow
The basic workflow for any XC9572XL project follows these steps:
Create the design using Verilog, VHDL, or schematic entry
Synthesize the design to generate a netlist
Implement the design (fit it to the CPLD architecture)
Generate the programming file (.jed or .xsvf)
Program the device through JTAG
Creating a Project in ISE WebPack
When creating a new project in ISE, select these device options:
Device Family: XC9500XL CPLDs
Device: XC9572XL
Package: VQ44 (or your actual package)
Speed: -10 (or your speed grade)
Writing Your First Design: LED Blinker
Here’s a simple Verilog design that toggles an LED, useful for verifying your toolchain and hardware setup:
module led_blink(
input clk,
output reg led
);
reg [23:0] counter;
always @(posedge clk) begin
counter <= counter + 1;
if (counter == 24’d0)
led <= ~led;
end
endmodule
Pin Constraints (UCF File)
After writing your HDL, you need to tell the tools which physical pins to use. Create a User Constraints File (.ucf):
NET “clk” LOC = “P43”; # GCK1 pin
NET “led” LOC = “P39”; # General I/O pin
Use GCK pins for clock inputs to get the best timing performance. The LOC constraint specifies the physical pin number.
Generating and Downloading the Programming File
After synthesis and implementation complete successfully:
Expand “Generate Programming File” in the process panel
Right-click “Generate Programming File” and select “Run”
This creates a .jed file containing the fuse map
To program with an official Xilinx cable:
Double-click “Configure Target Device”
iMPACT will launch and detect your JTAG chain
Assign the .jed file to the XC9572XL device
Right-click and select “Program”
Alternative Programming Methods
If you’re using a third-party programmer like the Bus Pirate or xc3sprog, you’ll need to convert the .jed file to XSVF format:
In iMPACT, create a new project
Add your .jed file to the device
Right-click and select “Create new SVF/XSVF File”
Use your programmer’s utility to play the XSVF file
Common Applications for the XC9572XL
The XC9572XL excels in applications requiring fast, deterministic logic that doesn’t need the resources of an FPGA.
Glue Logic Replacement
Replace multiple 7400-series or 4000-series logic ICs with a single CPLD. This approach reduces board space, simplifies routing, and allows design changes without PCB modifications.
Bus Interface and Protocol Conversion
The XC9572XL handles tasks like:
Address decoding for memory-mapped peripherals
SPI to parallel conversion
Custom serial protocol implementation
Level shifting between voltage domains
State Machine Implementation
Finite state machines for control applications fit well in the XC9572XL. With 72 flip-flops available, you can implement moderately complex state machines with multiple outputs.
Legacy System Interfaces
The 5V tolerant inputs make the XC9572XL ideal for interfacing modern microcontrollers with older equipment. I’ve used them for connecting ARM processors to vintage computer buses.
Clock Division and Timing
Using the internal flip-flops, you can create clock dividers and timing generators. However, note that the XC9572XL doesn’t include a PLL or DLL, so clock multiplication requires an external oscillator.
The XC9572XL isn’t always the best option. Here’s how it compares to alternatives:
XC9572XL vs XC9572 (5V Version)
Feature
XC9572XL
XC9572
Core Voltage
3.3V
5V
I/O Tolerance
5V tolerant
5V native
Power Consumption
Lower
Higher
Availability
Good
Limited
Price
Lower
Higher
The XL version is generally preferred unless you specifically need 5V output levels.
XC9572XL vs CoolRunner-II
The CoolRunner-II (XC2C series) offers:
Lower power consumption (good for battery applications)
Multiple I/O voltage banks
Built-in clock divider
Internal pull-up resistors
However, it requires separate 1.8V core supply, adding board complexity.
When to Use an FPGA Instead
Consider an FPGA if you need:
More than 1,600 gates
Block RAM or distributed memory
PLLs for clock manipulation
DSP blocks
High-speed serial interfaces
Troubleshooting Common XC9572XL Issues
Working with CPLDs involves some common pitfalls that are worth knowing about upfront.
Programming Failures
If programming fails, check these items:
VCCIO must be connected, even during programming (this catches many people)
Verify your JTAG connections (TCK, TDI, TDO, TMS, GND)
Power cycle the board after programming; the CPLD doesn’t automatically load new configuration
Ensure you selected the correct package in your project settings
Design Doesn’t Fit
If your design exceeds the device resources:
Check the synthesis report for macrocell and product term usage
Enable low-power mode on non-critical paths (reduces product term count)
Consider restructuring combinatorial logic to share product terms
Use registered outputs where timing allows
Timing Issues
The XC9572XL provides predictable timing, but issues can arise:
Connect clocks to GCK pins for best performance
Use GSR for synchronous reset instead of asynchronous
Review the timing report for paths that exceed your requirements
Useful Resources for XC9572XL Development
Datasheets and Documentation
Resource
Description
DS057 XC9572XL Datasheet
Complete specifications, timing, and pinouts
XC9500XL Family Manual
Detailed architecture description
XAPP114
Understanding XC9500XL CPLD Power
XAPP784
Bulletproof CPLD Design Practices
Development Board Options
Board
Price Range
Features
Dangerous Prototypes XC9572XL
~$15
Basic breakout, LEDs, button
Numato Lab CPLD Module
~$20
Oscillator, more I/O
OHO-Elektronik GOP XC9572XL
~$30
Crystal oscillator, PAL emulation
Software Downloads
Xilinx ISE WebPack 14.7: Available from AMD’s website (legacy products section)
xc3sprog: Open-source programmer supporting Raspberry Pi and FT2232
UrJTAG: Universal JTAG tool for SVF playback
FAQs About the XC9572XL CPLD
Can the XC9572XL interface with 5V logic?
Yes, all I/O pins are 5V tolerant on inputs. The device accepts 5V, 3.3V, and 2.5V input levels. However, outputs are limited to VCCIO voltage (3.3V or 2.5V depending on your configuration). For driving 5V logic, the 3.3V output level generally meets TTL input thresholds (VIH minimum of 2.0V).
How many times can I reprogram the XC9572XL?
The device is rated for at least 10,000 program/erase cycles with 20-year data retention. In practical terms, you can reprogram it thousands of times during development without concern for wear-out.
Does the XC9572XL retain its configuration when powered off?
Yes, the XC9572XL uses non-volatile Flash technology. Unlike SRAM-based FPGAs, it retains its configuration without external memory and powers up immediately with your design active. This makes it ideal for applications requiring instant-on behavior.
What’s the difference between XC9572XL speed grades (-5, -7, -10)?
The speed grade indicates the fastest pin-to-pin propagation delay: -5 means 5ns, -7 means 7.5ns, and -10 means 10ns. The -5 grade also supports higher system frequencies (178 MHz vs 100 MHz for -10). Choose based on your timing requirements and budget.
Can I read back the configuration from an XC9572XL?
By default, yes. However, the device supports security bits that can be programmed to prevent readback, protecting your intellectual property. Once security is enabled, it can only be cleared by erasing the entire device.
Final Thoughts
The XC9572XL remains a practical choice for digital designers who need programmable logic without FPGA complexity. Its 5V tolerant inputs, instant-on operation, and straightforward toolchain make it particularly useful for interfacing, glue logic, and control applications.
While newer devices offer more features, the XC9572XL’s simplicity is often an advantage. You can have a working design programmed into hardware within an hour of starting, which is hard to beat for quick prototyping or learning programmable logic fundamentals.
Start with a development board, work through the LED blinker example, and gradually tackle more complex projects. The concepts you learn apply directly to FPGAs when you’re ready to scale up to larger designs.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.