Some time ago I wanted to try out programming CPLDs in VHDL. I was entirely new to both of those topics and I didn’t have a real need for a CPLD at the time. So I built myself a nice little prototyping board for the Xilinx XC9500XL complete with some push buttons, LEDs a 7-segment display and a PIC16F688 used mainly as a clock source.
As you can see, I’v used a socketed PLCC44 package. The CPLD comes in two versions: XC9536XL with 36 macro cells and XC9572XL macro cells. 36 cells won’t allow you to do very much I had to soon find out and even 72 can be quite limiting depending on what you are planning to do. Prices don’t differ that much so I recommend you get the 9572 straight away.
Notice that I’m using the 3.3V version in this project. There is a 5V version of these chips as well and many of the DIY projects you find on the web use them. But they are increasingly hard to find and might cost several times more. When I was doing this project, Farnell was selling them around $15 in small quantities compared to maybe $4 for the 3.3V version.
The board is powered from anywhere in the range of 4 – 16V so you can easily power it from USB. All the CPLD pins are accessible from the 100mil headers you on the top and the bottom of the board. On the right you can see the programming headers for the PIC and the CPLD, respectively. I’ve also included a few 3.3V ‘outlets’ that I can use to power other boards connected to it.
Here’s a list of related projects: