Connect with us

Getting into CPLD

Discussion in 'Electronic Basics' started by FyberOptic, May 16, 2009.

Scroll to continue with content
  1. FyberOptic

    FyberOptic Guest

    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!
     
  2. Rich Webb

    Rich Webb Guest

    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!
     
  3. DJ Delorie

    DJ Delorie Guest

    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.
     
  4. Tim Reede

    Tim Reede Guest

    <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
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-