CPLD experiment kit
Here is some information to get you started with CPLD's.

complete kit

1) programmer:
It took me a while to find an programmer for these type of devices, but the xilinx programmer is usable with their free software package. But i found an good xilinx CPLD programmer schematic.

LPT JTAG adapter schematic


LPT JTAG adapter built

Its quite easy to assemble just the 74hc125 chips can be hard to get at the local electronics shop. Farnell carries them for quite cheaply, i dont know if substituting with HCT will work. This programmer works like an charm and is quite fast. The programmer software detects it as the Parallel 3 programmer. As it is an JTAG programmer you can add all kinds of JTAG devices in the chain as long as you have the proper definition files (BDSL files). I built the programmer itself without the 100 and 330 ohm resistors, the 100pf capacitors where left out too. I dont know why they where put there, maybe to power longer chains or reduce noise. You can add or remove them, but it works without them.
2) software
The software from xilinx is free but quite powerful. It contains most tools in the big buget packages but somewhat reduced in capacity. The software is very easy to use if you follow a small tutorial. Just type in some verilog code. Say what pins are connected to the outputs, generate programming file, load programming file JTAG programmer and you have an working design in no time!
3) cheap devices
Farnell carries them and cheaper than any kind of CPLD they offer, especially the XC9536XL costs 2.50 euro's there. Quite cheap for such an versatile device.


Xilinx 9500XL CPLD in socket

4) HDL tutorial/book
Putting together this kit is the first step you also need to learn an HDL (Hardware Description Language), i chose to learn verilog. Not so commonplace but very easy to learn. I have found in my opion an simple but very clear and good to understand tutorial.

When you start this kit, assemble it and compile some examples from the tutorial site. Then let your imagination go wild! Many complex functions can be built into CPLD's. They can also be used to replace large amounts of Glue logic that populate lot of hobby projects. All XilinX devices with an JTAG port (in circuit programmable) can be programmed with this device, just pay attention to a few things. If the I/O voltage is below 3.3V the programmer does not detect anything, you can alleviate that problem by simply hooking up 2.5 directly to the pin that detects the voltage presence (Pin 15).
Also replacing the logic might be good, becouse of the speed hit that you get when working with lower voltages. I suggest AC logic (same voltages greater speeds).

5) new version
Made a new version of the XilinX JTAG programmer. This one just supports JTAG mode, and no slave serial or slave select (altough its just a reassigning of the pins). I am more and more switching to 10 pin flatcables for signal transmission, so this programmer fits right in. All my future FPGA projects will utilise this cable format.

One led is not used, while the other indicates power.

Back

Last update at: 24-07-2007