3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Ghetto Programmable Logic (CPLD) Development System

Ghetto Programmable Logic (CPLD) Development System
For the past several months I have been enjoying the Ghetto Development System for the AVR processors. In fact, this nearly zero dollar tool has proven so fascinating and useful that it got me wondering if it were possible to extend the concept to FPGA/CPLD development as well. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.)

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 adsRemove these ads by Signing Up
 

Step 1Go Order Parts

Go Order Parts
You'll need a 44 pin plcc socket, some decoupling caps, some unprogrammed CPLDs, sockets for breadboard connections, a pull-up resistor and maybe some perf board to build it on. If you have any of this in your junk box you can save a few bucks.

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 StepDownload PDFView All StepsNext Step »
9 comments
Jun 3, 2010. 8:37 PMaverage_male says:
please please please please provide a schematic of this thing, that solder monster is ugly and hard to understand what connects to what... please!!!
Jun 3, 2010. 11:21 PMaverage_male says:
Thanks for the quick feedback.

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
Jun 4, 2010. 10:41 AMaverage_male says:
Thanks for clearing that up and look forward to seeing the next version.
May 25, 2010. 6:41 AMyim bunchhat says:
It good for me in the first time. But i need to borrow the computer desktop from my friend because it have parallel port. would you mind if i want you to tell me about USB port  please.
Nov 19, 2009. 12:09 PMaleksanc says:
nice project, but terrible soldering.
Nov 13, 2009. 9:01 AMJon87 says:
On the spark fun schematic, are capacitors C1 to C7 needed? It would make a PCB design much easier.

Great tutorial by the way

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
41
Followers
8
Author:doctek