Introduction
In the ever-evolving world of digital electronics, programmable logic devices (PLDs) have revolutionized the way engineers design and implement complex digital systems. Among these versatile devices, the CoolRunner-II CPLD family by Xilinx stands out as a popular choice for many applications. This guide will explore the features, applications, and setup process of the CoolRunner-II CPLD, with a focus on the widely used XC2C64A model.
The CoolRunner-II CPLD, also known as CoolRunner II or CoolRunner 2, continues to be a go-to solution for designers seeking low-power, high-performance programmable logic. Its enduring popularity stems from its unique combination of ultra-low power consumption, instant-on capability, and versatile features that make it ideal for a wide range of applications.
In this comprehensive guide, we’ll delve into the key features of the CoolRunner-II CPLD, explore its typical applications, and provide a step-by-step tutorial for setting up and using the CoolRunner-II CPLD starter board and development board. Whether you’re a seasoned engineer or a newcomer to the world of programmable logic, this guide will equip you with the knowledge to harness the power of the CoolRunner-II CPLD in your projects.

1. What is the CoolRunner-II CPLD?
Definition of a CPLD
A Complex Programmable Logic Device (CPLD) is a type of programmable logic device that allows designers to implement custom digital circuits. CPLDs consist of a set of logic blocks connected by a programmable interconnect matrix, enabling the creation of complex digital systems on a single chip.
Brief History of the Xilinx CoolRunner-II CPLD Family
The CoolRunner-II CPLD family was introduced by Xilinx in the early 2000s as a successor to the original CoolRunner series. It was designed to meet the growing demand for low-power, high-performance programmable logic in portable and battery-operated devices.
Differences Between CoolRunner II and Earlier Generations
CoolRunner-II CPLDs offer several improvements over their predecessors:
- Lower power consumption
- Higher operating speeds
- Increased logic density
- Enhanced I/O capabilities
- Improved design software support
Key Models
The CoolRunner-II CPLD family includes several models, with the XC2C64A being one of the most popular. Other models in the series include:
- XC2C32A
- XC2C128
- XC2C256
- XC2C384
- XC2C512
Each model offers different numbers of macrocells and I/O pins, allowing designers to choose the most appropriate device for their specific requirements.
Read more about:
2. Key Features of CoolRunner-II CPLDs

Ultra-Low Power Operation
One of the standout features of the CoolRunner-II CPLD is its ultra-low power consumption. It offers two power modes:
- Zero Power Mode: Draws minimal current when the device is inactive
- Turbo Mode: Provides high-speed operation when needed
This flexibility allows designers to optimize power consumption based on the application’s requirements.
High-Speed Logic Performance
CoolRunner-II CPLDs offer excellent performance with:
- System frequencies up to 320 MHz
- Pin-to-pin delays as low as 3.5 ns
Instant-On Capability
Unlike many FPGAs, CoolRunner-II CPLDs are instantly operational upon power-up, making them ideal for applications that require immediate functionality.
High Density and Scalability
The CoolRunner-II CPLD family offers a range of densities, from 64 to 512 macrocells, allowing designers to choose the right size for their application while maintaining a consistent architecture across the family.
Low Pin-to-Pin Delay
With pin-to-pin delays as low as 3.5 ns, CoolRunner-II CPLDs are well-suited for high-speed interfacing and glue logic applications.
I/O Standards Support
CoolRunner-II CPLDs support various I/O standards, including:
- LVCMOS (1.5V, 1.8V, 2.5V, 3.3V)
- LVTTL
- HSTL
- SSTL
This versatility allows for easy integration with a wide range of other components and systems.
Internal Clocking Flexibility
The devices offer multiple clock sources and dividers, enabling designers to create complex timing schemes within a single CPLD.
Software Support
Xilinx provides robust software support for CoolRunner-II CPLDs through:
- ISE WebPACK (for older versions)
- Vivado Design Suite (for newer projects)
These tools offer a comprehensive development environment for designing, synthesizing, and implementing CPLD projects.
3. Common Applications of CoolRunner-II CPLD
Glue Logic in Embedded Systems
CoolRunner-II CPLDs excel at providing glue logic in embedded systems, integrating various components and interfaces efficiently.
Low-Power Handheld and Portable Electronics
The ultra-low power consumption of CoolRunner-II CPLDs makes them ideal for battery-operated devices such as:
- Smartphones
- Tablets
- Wearable technology
Consumer Electronics
CoolRunner-II CPLDs find applications in various consumer electronics, including:
- MP3 players
- GPS devices
- Digital cameras
Industrial Automation and Control Systems
In industrial settings, CoolRunner-II CPLDs are used for:
- Motor control
- Sensor interfaces
- Real-time control systems
Interface Bridging
CoolRunner-II CPLDs are excellent for bridging different communication protocols, such as:
4. CoolRunner-II vs. Other CPLDs and FPGAs
Comparison with Traditional FPGAs
While FPGAs offer higher logic density and more advanced features, CoolRunner-II CPLDs have several advantages:
- Lower power consumption
- Faster start-up time
- Simpler design process
- Lower cost for smaller designs
When to Choose a CPLD Over an FPGA
Choose a CoolRunner-II CPLD when:
- Ultra-low power consumption is critical
- Instant-on functionality is required
- The design is relatively simple and doesn’t require extensive resources
- Cost is a significant factor
Advantages and Limitations
Advantages:
- Ultra-low power consumption
- Instant-on capability
- Simple design process
- Non-volatile configuration storage
Limitations:
- Lower logic density compared to FPGAs
- Limited advanced features (e.g., no DSP blocks or embedded processors)
5. Introduction to the CoolRunner-II CPLD Starter Board
What is the CoolRunner-II CPLD Starter Board?
The CoolRunner-II CPLD starter board is an evaluation and development platform designed to help engineers and hobbyists get started with CoolRunner-II CPLDs. It typically features an XC2C64A CoolRunner-II CPLD and various peripherals for prototyping and testing designs.
Key Features and Specifications
- XC2C64A CoolRunner-II CPLD
- On-board voltage regulators
- JTAG programming interface
- User-configurable clock sources
- Multiple I/O expansion headers
Included Peripherals
- Push-button switches
- LED indicators
- 7-segment display
- Clock oscillator
- Expansion headers for custom add-ons
6. Setting Up the CoolRunner-II Development Board
Unboxing the CoolRunner-II Development Board
When you receive your CoolRunner-II development board, carefully unpack it and check for any visible damage. The package should include:
- CoolRunner-II development board
- USB cable
- Quick start guide
- Any additional documentation or accessories
Required Tools and Software
To begin development with the CoolRunner-II CPLD, you’ll need:
- Xilinx ISE WebPACK (for older versions) or Vivado Design Suite
- USB programmer cable (usually included with the board)
- A computer running Windows or Linux
Installing Drivers and Software
- Download and install the appropriate Xilinx design software (ISE WebPACK or Vivado)
- Install any necessary USB drivers for the programming cable
- Update your system’s environment variables if required
First Connection Setup
- Connect the USB cable between your computer and the CoolRunner-II development board
- Power on the board (if it has a separate power switch)
- Verify that the board is recognized by your computer
Configuring the XC2C64A CoolRunner-II CPLD
- Launch the Xilinx design software
- Create a new project, selecting the XC2C64A as the target device
- Write your VHDL or Verilog code
- Synthesize and implement the design
- Generate the programming file
- Use the programming tool to configure the CPLD on the development board
7. First Project: Hello World with CoolRunner-II
Simple Project: Blinking LED
Let’s create a simple “Hello World” project that blinks an LED on the CoolRunner-II development board.
Writing a Basic VHDL Program
Here’s a simple VHDL code to blink an LED:
vhdl复制library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity blink_led is
Port ( clk : in STD_LOGIC;
led : out STD_LOGIC);
end blink_led;
architecture Behavioral of blink_led is
signal counter : unsigned(23 downto 0) := (others => '0');
begin
process(clk)
begin
if rising_edge(clk) then
counter <= counter + 1;
if counter(23) = '1' then
led <= '1';
else
led <= '0';
end if;
end if;
end process;
end Behavioral;
Synthesizing, Implementing, and Programming the Device
- Create a new project in Xilinx ISE or Vivado
- Add the VHDL file to your project
- Set the XC2C64A as the target device
- Run synthesis and implementation
- Generate the programming file
- Use the programmer tool to configure the CPLD
Troubleshooting Tips for Beginners
- Double-check your pin assignments in the constraints file
- Verify that the clock source is correctly configured
- Use the software’s built-in simulation tools to test your design before programming
- If the LED doesn’t blink, try adjusting the counter size or clock frequency
8. Expanding Your CoolRunner-II Projects
Using Onboard Switches and LEDs for Input/Output
Expand your projects by incorporating the onboard switches and LEDs:
- Use switches as input signals
- Control multiple LEDs for more complex output patterns
- Implement debouncing for switch inputs
Creating State Machines
State machines are powerful tools for controlling system behavior:
- Implement a simple traffic light controller
- Create a sequence detector using switch inputs
- Design a basic elevator controller
Interface Examples: UART, SPI, I2C Bridging
CoolRunner-II CPLDs excel at interfacing different protocols:
- Implement a UART to SPI bridge
- Create an I2C to parallel bus converter
- Design a custom communication protocol using available I/O
Power Optimization Tricks for Mobile Designs
To maximize battery life in portable applications:
- Utilize the CoolRunner-II’s power-down modes
- Implement clock gating for unused modules
- Use the lowest possible operating voltage for your design
9. Where to Buy CoolRunner-II CPLD Boards and Parts
Recommended Vendors and Distributors
- Digikey
- Mouser Electronics
- Arrow Electronics
- Avnet
Finding an XC2C64A CoolRunner-II CPLD Development Board Affordably
- Check for educational discounts if you’re a student or academic institution
- Look for bundle deals that include software and accessories
- Consider purchasing refurbished or older model boards for cost savings
Tips for Checking Compatibility and Authenticity
- Verify that the board supports the specific CoolRunner-II CPLD model you need
- Check for official Xilinx branding and documentation
- Ensure the board is compatible with your version of Xilinx design software
Conclusion
The Xilinx CoolRunner-II CPLD remains a popular choice for designers seeking a low-power, versatile programmable logic solution. Its unique combination of ultra-low power consumption, instant-on capability, and robust feature set makes it ideal for a wide range of applications, from portable electronics to industrial control systems.
By starting with simple projects and gradually exploring more advanced features, you can unlock the full potential of the CoolRunner-II CPLD. The CoolRunner II development board provides an excellent platform for learning and prototyping, allowing you to bring your digital designs to life quickly and efficiently.
As you continue your journey with CoolRunner-II CPLDs, remember to experiment, explore new applications, and leverage the wealth of resources available from Xilinx and the broader CPLD community. With its enduring relevance and capabilities, the CoolRunner-II CPLD is sure to remain a valuable tool in your digital design toolkit for years to come.
Frequently Asked Questions (FAQ)
Q1: Is CoolRunner-II still supported by Xilinx?
A: While newer Xilinx products have been introduced, CoolRunner-II CPLDs are still supported through the Xilinx ISE WebPACK software. However, they are not supported in the newer Vivado Design Suite.
Q2: What is the difference between CoolRunner-II and Spartan FPGA?
A: CoolRunner-II is a CPLD family optimized for low power and instant-on applications, while Spartan FPGAs offer higher logic density and more advanced features but typically consume more power and require configuration upon startup.
Q3: Can I use CoolRunner-II CPLDs in new designs?
A: Yes, CoolRunner-II CPLDs are still suitable for new designs, especially in applications requiring low power consumption and instant-on functionality. However, consider future availability and support when making long-term design decisions.
Q4: What programming languages can I use with CoolRunner-II CPLDs?
A: CoolRunner-II CPLDs can be programmed using hardware description languages (HDLs) such as VHDL and Verilog. The choice between these languages often depends on personal preference or project requirements.
Q5: How does the power consumption of CoolRunner-II compare to other CPLDs?
A: CoolRunner-II CPLDs are known for their ultra-low power consumption, often outperforming other CPLD families in this aspect. This makes them particularly suitable for battery-operated and portable devices.
Related posts:
- The XC2C128C6-BMS: Unleashing Design Flexibility with Xilinx’s CoolRunner-II CPLD Development Platform
- XC2C128-6TQG144C: A Comprehensive Guide to Xilinx’s CoolRunner-II CPLD
- XC95144XL-10TQG100C Xilinx CPLD: Datasheet, Pinout & Features Explained
- What are the Features and Applications of the TU 768 PCB Materials?