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.
Step 1: Go 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
Step 2: Get and Install Software
The Atmel Prochip Designer 5.0 is here. If you get it, be sure to get the Service Pack 1 for it as well.
Step 3: Make Programming Cable
Step 4: Make Programmer Cradle
The pictures show front and rear views of the cradle I built. Note the DIP sockets used as breadboard connectors. All pins on one side of each connector are connected to ground; pins on the other side connect to signal pins on the CPLD. I included a few power connections as well; put these in where they fit. The diagrams are sort of pictorial schematics; only the extra power connections aren't shown. Look at the pictures for ideas on these.
Step 5: Building the Cradle - Part 1
Anchor the sockets with a bit of solder or epoxy depending on the type of perf board you use. Allow some extra room at the top (above pin 1 of the CPLD socket) for the JTAG connector and the power connector. Refer to the pictures of the one I built.
Route a bare wire (20 gauge or so) around the outside of the sockets for a ground bus. Route the power bus also. (The red wire in the pictures.) Refer to the pictures for some guidance, but your board will probably be a little different - and that's just fine.
Solder the outside pins of the sockets to the ground bus. This will help anchor the bus wire.
Step 6: Building the Cradle - Part 2
Once the cap connections are done, connect the power and ground bus. All the red pins on the diagrams are Vcc and should be connected. The black pins are ground and should be connected also. Again, routing it in the air is a good approach. Look at the pictures for ideas.
Step 7: Building the Cradle - Conclusion
The last step is to connect each I/O pin of the CPLD to a pin on the sockets. Use the numbers in the diagrams for the connections. This takes the longest time! If you follow my numbering scheme, then you can use the Top View diagram as a guide when hooking up your circuits. You really don't have to hook up all of these initially you can wait until you need them for the circuits you design.
Check your work carefully. Be sure power and ground aren't shorted!
Step 8: Make Blinkenlights (TTL Version)
The only catch is that CPLDs don't have the beefy outputs that the AVR processors have. Use LEDs rated for 10ma and use 1KOhm series resistors. These will give you clear output signals without straining the CPLD outputs.
Step 9: Make Switches
Pushbutttons can be made using the circuit Atmel recommends for their demo board. Schematics are on page 36 or so.
Another option is to hook up an AVR processor to provide stimuli - and even check responses. But that's an exercise left to the student.
Step 10: Create Your First Circuit
Step 11: Program Your First CPLD
Step 12: Test Your Programmed Part!
The top view diagram will guide you in connecting your switches and blinkenlights for testing.
Step 13: The End and Some Web Resources
Note that you can also use the Ghetto CPLD Development System to learn Verilog and other CPLD programming techniques the hardware doesn't care.
VHDL Resources on the Web:
Basics and some links here and here.
Links to free tools.
Tutorials I like are here and here, but you'll find lots of others.
Finally (for now), you'll want to check out the discussion group.
Enjoy, learn a lot, and share what you know.