Getting into CPLD

Hiya folks. I've been really interested in PLD/CPLD technology ever since I learned that I could replace tons of logic chips for address decoding and such with a single chip. I still have no experience with using them, though. It always seemed too expensive for me when I looked into it before, considering the programmers and all that stuff required.

But then I found out about chips like the ATF1500 from Atmel and the MAX 3000 from Altera, which are like a couple bucks, and have ISP capability. I read about these Byteblaster cables for programming them, which plug into the parallel port and can apparently be built with just a few bucks in parts. So it does in fact sound like this could possibly be affordable for me to be able to mess around with without worry of any expensive mistakes.

My question though is related to programming them. Do these chips still require high voltages to program them? I saw a reference to 14v in regards to the Atmel chip, and didn't know if that meant the maximum allowable voltage when in that mode or what. That's been one of the hurdles to me in terms of costs, because I can't afford the programmers and have no bench power supplies that can dump out these various higher voltages that traditional PLDs need. I would love to find a CPLD which can handle 5v inputs when in normal use, and use that same voltage for programming them as well. 3.3v would be okay too, but 5v is preferable for the types of stuff I want to work with. Old CPUs like the 6502, Z80, flash memory, etc. Mostly DIP components, even though I know these CPLDs would be at least PLCC, but I think I can deal with that.

Anyway, any info anyone can pass along to help a newbie in this field would be much appreciated!

Reply to
Loading thread data ...

Some of the older, legacy chips that use parallel programming need higher voltage pulses during the programming sequence. If you use the legacy chips, you'll probably want to invest in a device programmer that has the pin drivers and manufacturer-recommended algorithms already built-in.

Nowadays, most chips have migrated to some flavor of in-system serial programming, often "JTAG" (very similar to SPI synchronous serial protocol) and no special voltages needed to be supplied. Any HV write pulses that may be needed are made in the chip itself, automagically.

The bad news is that the older chips that are easiest to use with a breadboard (e.g., have DIP form factors available) are also the ones that tend to need out-of-circuit parallel programming. The good news is that you're not the first to cross that bridge, and a 'net search for "gal programmer" will turn up several home/hobby-grade programmers that will work with, e.g., Lattice and Atmel SPLD GALs.

The ByteBlaster etc. cables are for in-system serial programming and are used with chips that don't plug into breadboards. However, you can get break-out adapters that give access to the newer devices.

formatting link
makes some that are fairly easy to use.
formatting link
has some that may be more affordable but that need a little more skill with SMT soldering. Both available through some of the usual distributors.

Finally, check out

formatting link
for CPLD (and FPGA) dev boards. Some of the kits include the necessary programming cables and they're available separately as well. Also look at
formatting link
formatting link
for some other boards and programming adapters.

Have fun!

Rich Webb     Norfolk, VA
Reply to
Rich Webb

The Xilinx XC9536XL chip costs about $1, runs on 3.3v, and can be programmed with (probably) any JTAG system. There are non-XL versions that run on 5v but they're a little more expensive. The ISE software "Webpack" can be freely downloaded and runs on Linux and Windows. I've got a project page for my toying with them here:

formatting link

In addition, I wrote a Circuit Cellar article about that project that's in this months issue.

Reply to
DJ Delorie

Hi FyberOptic,

it looks, you're on the right track. The Max3000A EPLDs from Altera that you mentioned will definitely do and are simple enough for any newbie to program without much of expenses. They run on 3.3V, but are compatible with 5V logic input-wise. As far as outputs are con- cerned, Altera recommends connecting them directly to 5V TTL ICs and using pull-up resistors when connecting them to 5V CMOS ICs. In re- ality though most anything that takes 5V logic levels is designed to be at least somewhat TTL-compatible and you will find that you can dispense with the pullup resistors and connect an EPM3032A (or simi- lar) to all but the most bizarre 5V logic ICs directly. Also they don't need additional programming voltages (programming runs on 3.3V supply voltage) and programming can be done with a simple homemade clone of a ByteBlasterMV (needs a 74HC244 and some resistors).

There was once a datasheet for a BBMV with the full schematic but Altera has now pulled it from their main site. Altera's Japanese website still has it however:

formatting link

You may want to save a copy on your computer in case they decide to remove it later as well.

The design software (Quartus II) is freely downloadable too, so your expenses, apart from the CPLDs themselves, will be very small.

You should note however that using too long wires for programming will likely give you random and unpredictable errors. If you decide to build a ByteBlaster clone yourself, make sure that the total length of the cables you attach to it (both the PC port cable and the device programming cable together) is not excessive. A total length of 1 metre or less should work reliably, though it may mean that you'll have to pull the PC from under a table to connect it. Somewhat longer wires may work too, but use them at your own risk.

CPLDs also need bypass capacitors, but the rules here are more or less the same as when dealing with 74HC-something logic, that is, a couple of 100nF ceramics, so you probably knew that already. If you decide to use CPLDs with higher densities, such as an EPM1270, you should give more care to bypassing and use 4 to 6 caps in di- rect vicinity to each CPLD as well as a 47uF tantalum somewhere not-too-far-away from it. Also an EPM1270T144 is, while still possible to solder by hand, not entirely easy to work with :)

Regards, Tim

Reply to
Tim Reede

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.