CPLD: Complex programmable logic devices
From DP
Project Summary | |
---|---|
Name: | CPLD: Complex programmable logic devices |
Buy it: | Get one for $15 at Seeed Studio |
Price: | $15 |
Status: | Mature |
Manufacturing: | Shipping |
Forum: | CPLD: Complex programmable logic devices Forum |
Ever get stuck choosing the right logic chip combination or voltage level translator? Give up the hunt and create your own custom logic chip. CPLDs can give you the logic you need, with the pinout you want, while saving board space and board revisions.
Development boards from Dangerous Prototypes will help you build your first custom logic chip using simple schematic entry, Verilog, or VHDL.
- XC9572XL or XC2C64A CPLDs
- On-board power supply for core and pins
- Selectable 3.3volt or external supply for pins (1.8volt to 3.3volt)
- LEDs for output, push button for input
- Easy to program with the Bus Pirate
- Open source (CC-BY-SA)
CoolRunner-II and XC9572XL versions available for $15.
Contents |
Downloads
Hardware
XC9500XL
The Xilinx XC9500XL family has some of the cheapest and readily available CPLDs out there. Inputs are 5volt tolerant and they can be run from a single 3.3volt supply.
- XC9500XL CPLD development board hardware design
- XC9572XL CPLD dev-board introduction
- XC9500XL CPLD quick start
- XC9572XL dev-board v1 errors
- XC9500XL family manual
- XC9572XL device datasheet
- XC9536XL device datasheet (smaller version of XC9572XL)
CoolRunnerII
The CoolRunner-II family is newer than the XC9500XL, and has a few extra features like multiple IO voltage banks for voltage translation, internal pull-up resistors and pin keepers and a clock divider. Requires a 1.8volt core supply and a 1.2-3.3volt IO pin supply.
- CoolRunner-II CPLD development board hardware design
- XC2C64A CPLD dev-board introduction
- CoolRunner-II CPLD quick start
- CoolRunner-II family manual
- XC2C64A device datasheet
- XC2C32A device datasheet (smaller version of XC2C64A used on Bus Blaster v2)
CPLD development tutorials
This tutorial shows how to use simple schematics to design the logic in a Xilinx CoolRunner-II or XC9500 CPLD.
Tutorial files:
The Bus Pirate XSVF player and a .bat file are included with every example. Modify the COM post and click to load.
Schematic entry
Verilog
- CPLD Verilog intro 1: Light a LED
- CPLD Verilog intro 2: Toggle a LED with a button
- CPLD Verilog intro 3: Inverse LED toggle
VHDL
- CPLD VHDL intro 1: Light a LED
- CPLD VHDL intro 2: Toggle a LED with a button
- CPLD VHDL intro 3: Inverse LED toggle
- CPLD VHDL intro 4: Replacing simple logic
Plunify
Plunify is a cloud-based compiler for Xilinx and Altera chips. The CPLD examples are already loaded, all you have to do is sign up for a free account and copy the tutorial from the add IP tab. Unfortunately it no longer supports Xilinx chips.
ISE Webpack
- Export (X)SVF from Xilinx ISE Webpack
- CPLD: simulate designs
- Enable CoolRunner-II CPLD pull-up resistors
Example devices
Schematic
- CPLD example: Dual 74xx595s
- CPLD example: Dual latch
- CPLD example: FIFO
- CPLD example: Motor Phase Interlock
- CPLD example: Priority Decoder
- CPLD example: PWM Generator
- CPLD example: Addressable Latch
VHDL
- Our 7400 series library in VHDL
- 32 macrocell CPU at OpenCores.org
- CPLD ring oscillator a clock source without a crystal
Verilog
Programming
- CPLD programming with Bus Pirate, XSVF loader, and XSVF files
- CPLD programming with Bus Blaster, urJTAG, and SVF files (currently CoolRunner-II only)
- JTAG SVF to XSVF file converter
Additional methods
- Parallel cables with IMPACT
- XSVF player for any microcontroller (used in Bus Pirate XSVF player)
- lib(X)SVF
- FT2232 programmers and IMPACT with alternate driver
Links
Verilog
- Synthesis tutorial (a favorite tutorial)
- Verilog concepts (wire, reg, blocking, etc)
Resources
License
- Hardware: CC-BY-SA
- CPLD demos projects: CC-0