Maker Pro
Maker Pro

Getting into CPLD

F

FyberOptic

Jan 1, 1970
0
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!
 
R

Rich Webb

Jan 1, 1970
0
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?

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.
http://www.schmartboard.com/ makes some that are fairly easy to use.
http://www.beldynsys.com/ 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 http://digilent.us/ 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 http://www.fpga4fun.com/ and
http://www.knjn.com/ for some other boards and programming adapters.

Have fun!
 
D

DJ Delorie

Jan 1, 1970
0
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:

http://www.delorie.com/electronics/bin2seven/

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

Tim Reede

Jan 1, 1970
0
FyberOptic said:
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.
<snip>

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:

http://www.altera.co.jp/literature/ds/dsbytemv.pdf

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
 
Top