So I did a little digging on the web and came up with a development system for Atmel CPLDs. Comparison with Altera devices shows their pinout to be the same (within the restrictions I detail below), so they'll work also. By building the development board and interface cable I'll present, then downloading the tools, you can develop your own CPLD applications.
Please note the following limitations and restrictions. I've tried to balance capability and simplicity so you can build something that you'll enjoy and learn from.
5V devices only. Extending the system to cover additional voltages (3.3V, 2.5V, 1.8V are supported by Atmel devices in the same family) is not difficult, but it complicates both the development board and the programming cable. Let's skip it for now. Note that you have to provide a 5V supply to the board.
44 pin PLCC only. Specifically, I've programmed the Atmel ATF1504AS. The Ghetto CPLD concept can be easily extended to other Atmel devices, but this device seemed like a good compromise between price, ease of use, and capability. The concept should also extend to other devices such as those from Altera, Xilinx, Actel, etc. In fact, the Max7000 family EPM7032 and EPM7064 will work in the same socket as long as you use the 44 pin PLCC versions. So far I've only used the Atmel programming cable, but the Altera Byte-Blaster is supported by the Atmel software and should also work fine. It's actually a little simpler design than the Atmel cable. (I built the Atmel version and it works, so I haven't tried the Altera version.) SparkFun offers a $15 version of the Altera cable. Since this will work for both Atmel and Altera, I recommend it. If you're going to develop with Altera parts, you'll want to get the Altera software as well. I haven't actually tried this, but there's no reason I can think of that it wouldn't work.
Speed is limited. Since the Ghetto CPLD Development System is built with hand wiring and no ground plane, don't expect reliable operation at speeds over a few megahertz. Even that's not guaranteed your mileage may vary! Of course, if you build prototype hardware that has a ground plane then your CPLD may work just fine at higher speeds. Just don't expect it to go fast mounted in the Ghetto Development System.
Remove these ads by
Signing UpStep 1Go Order Parts
For your convenience, here are Digikey Part Numbers:
CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND
SOCKET IC OPEN FRAME 14POS .3" PN: 3M5462-ND Qty: 2
SOCKET IC OPEN FRAME 18POS .3" PN: 3M5464-ND Qty: 2
CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qty: 1, C1
CAP CER .10UF 50V 20% DISC RAD PN: 478-4275-1-ND Qty: 4, C2-C5
RES METAL FILM 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND
PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND
IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND
A few parts may have minimum quantities, but should still be pretty cheap.
If you want to build some blinkenlights (Step 8) or make a set of switches (step 9) you may want to order these also. Keep in mind that Digikey has a $25 minimum to avoid a handling charge, so you might want to get a couple of extra unprogrammed CPLDs or an AVR processor or two just for fun.
I recommend you buy the Altera programming cable from SparkFun. Here are the part numbers. Get the cable and connector as well. (Otherwise, order parts for the cable from Digikey if you're building your own.)
Altera FPGA Compatible Programmer PN: PGM-08705
2x5 Pin IDC Ribbon Cable PN: PRT-08535
2x5 Pin Shrouded Header PN: PRT-08506
| « Previous Step | Download PDFView All Steps | Next Step » |














































I could design a circuit board for this if that would be helpful, but I think it's the idea of a programming socket that's valuable - folks can build one to suit their own needs given the concept.
My plan is to work on finding the public domain tool chain - nearly two years after I wrote this, I still don't think there is one.
The PLCC pins to the breakout headers is the easy part, I was referring to the capacitor (the non-decoupling one) and the VCC and Power pins.
And could you confim the programming aspect a bit. Does the ByteBlaster supply the voltage to the CPLD? You indicated that we need to connect a 5V power source. I take it that is not coming from the ByteBlaster.
Have you looked in to WinCUPL by Atmel? Or by public domain do you mean open source?
Thanks
Great tutorial by the way
Glad you enjoyed the Instructable.