EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: banedon on June 30, 2015, 10:27:03 pm

Title: Moving from GALs to CPLDs
Post by: banedon on June 30, 2015, 10:27:03 pm
Hi guys

I've been looking at moving from GALs which I'm using for memory decoding to something a little more modern so have settled on CPLDs.

Can someone recommend a beginner-friendly (and cheap) programmer along with a device which is both DIP and 5V?
I've had a lot of problems trying  to get such a combination as 5V seems to have gone out of fashion with regard to CPLDs.

Any advice appreciated :)
Title: Re: Moving from GALs to CPLDs
Post by: nctnico on June 30, 2015, 10:41:37 pm
I'm afraid you have to switch to 3.3V. IMHO the XC9500XL series from Xilinx are a nice step up from GALs. They are 5V tolerant and the smallest ones are available in a PLCC package which fits in a through hole PLCC socket.
Title: Re: Moving from GALs to CPLDs
Post by: slateraptor on July 01, 2015, 04:20:17 am
I'm afraid you have to switch to 3.3V. IMHO the XC9500XL series from Xilinx are a nice step up from GALs. They are 5V tolerant and the smallest ones are available in a PLCC package which fits in a through hole PLCC socket.

Not necessarily true. DIP requirement aside, Altera 7000S may be a better fit for the OP as they are 5VCCIO, also available in PLCC package, and still widely available, albeit a bit more expensive vs. 3.3VCCIO Xilinx XC9500XL.

As for DIP requirement, a quick distributor parametric search returned Atmel AT750 available in 24-DIP and ATF2500 in 40-DIP, with VOHmin of 2.4V for both. I have no experience with Atmel CPLDs so I can't comment on these, although would honestly advise against it since Xilinx and Altera are the dominant players in the reconfigurable market.

As for beginner-friendly (and cheap) programmers, I personally own both Xilinx's Platform Cable USB II and Altera's USB-Blaster, both of which are straight-forward USB JTAG programmers with good documentation. Both are expensive if you go OEM, but there are plenty of cheap clones on the market that I'm sure others on this forum have had favorable experiences with and may be able to comment on.
Title: Re: Moving from GALs to CPLDs
Post by: andersm on July 01, 2015, 06:08:32 am
If you take the extra step of converting the programming file into (X)SVF format, there's tons of programmers you can use. OpenOCD and a three-dollar USB Blaster clone is probably the cheapest you can get, though it might not fit your description of "friendly".
Title: Re: Moving from GALs to CPLDs
Post by: JoeN on July 01, 2015, 06:28:14 am
DIP   :-DD

Even PLCC is hard to find now.  I have about 20 XC9572XL in PLCC sitting around that I bought from Digikey a few years ago and now they are out.  I don't think they expect more.

You know what I suggest?  Get one of these...

http://www.ebay.com/itm/5PCS-IC-EPM240T100C5N-TQFP100-ALTERA-NEW-GOOD-QUALITY-/300746279397 (http://www.ebay.com/itm/5PCS-IC-EPM240T100C5N-TQFP100-ALTERA-NEW-GOOD-QUALITY-/300746279397)
http://www.ebay.com/itm/Altera-Mini-Usb-Blaster-Cable-For-CPLD-FPGA-NIOS-JTAG-Altera-Programmer-/271577508951 (http://www.ebay.com/itm/Altera-Mini-Usb-Blaster-Cable-For-CPLD-FPGA-NIOS-JTAG-Altera-Programmer-/271577508951)
http://www.ebay.com/itm/5-Pcs-of-TQFP100-PCB-SMD-Converter-Adapter-Convert-26x4-Dual-Pin-/251320801977 (http://www.ebay.com/itm/5-Pcs-of-TQFP100-PCB-SMD-Converter-Adapter-Convert-26x4-Dual-Pin-/251320801977)

And a free copy of Quartus.  Or something like this:

http://www.ebay.com/itm/1PCS-New-MAX-II-EPM240-CPLD-Minimum-System-Core-board-Development-board-/271037655073 (http://www.ebay.com/itm/1PCS-New-MAX-II-EPM240-CPLD-Minimum-System-Core-board-Development-board-/271037655073)

You will still need the ByteBlaster with this board.

Even these "small" 240 LE devices are amazingly powerful compared to GALs.  It's well worth it to use them.  Too bad the power supply situation isn't as easy as with a PAL/GAL but they are amazing devices.
Title: Re: Moving from GALs to CPLDs
Post by: miguelvp on July 01, 2015, 06:55:11 am
This one might do for just $30, no programmer needed it's built in, you still need to get Quartus II

http://parts.arrow.com/item/detail/arrow-development-tools/bemicromax10 (http://parts.arrow.com/item/detail/arrow-development-tools/bemicromax10)

No DIP but at least you can use jumper wires to connect things, and if you need more pins you can get the edge connector:
http://www.newark.com/samtec/mec6-140-02-l-d-ra1/connector-card-edge-rcpt-80pos/dp/85T5569 (http://www.newark.com/samtec/mec6-140-02-l-d-ra1/connector-card-edge-rcpt-80pos/dp/85T5569)

Edit: other edge connectors:
http://www.newark.com/webapp/wcs/stores/servlet/Search?st=MEC614002 (http://www.newark.com/webapp/wcs/stores/servlet/Search?st=MEC614002)

BeMicro Max 10 wiki:
http://www.alterawiki.com/wiki/BeMicro_Max_10 (http://www.alterawiki.com/wiki/BeMicro_Max_10)

Edit: Btw the Altera Max series used to be CPLDs, but they were really very FPGA alike so they got upgraded to that nomenclature, but they are still CPLDs in the sense that they retain the programming.

Edit2: but I'm afraid it's not 5V tolerant at all.
Title: Re: Moving from GALs to CPLDs
Post by: nctnico on July 01, 2015, 07:10:20 am
If you take the extra step of converting the programming file into (X)SVF format, there's tons of programmers you can use. OpenOCD and a three-dollar USB Blaster clone is probably the cheapest you can get, though it might not fit your description of "friendly".
You could but I have a Xilinx 'clone' and it works like a charm. I wouldn't be surprised if Xilinx has a hand in getting these clones on the market. Their trademark is also on the 'clone' programmers and I can't imagine they would allow that.
Title: Re: Moving from GALs to CPLDs
Post by: miguelvp on July 01, 2015, 07:53:59 am
If you take the extra step of converting the programming file into (X)SVF format, there's tons of programmers you can use. OpenOCD and a three-dollar USB Blaster clone is probably the cheapest you can get, though it might not fit your description of "friendly".
You could but I have a Xilinx 'clone' and it works like a charm. I wouldn't be surprised if Xilinx has a hand in getting these clones on the market. Their trademark is also on the 'clone' programmers and I can't imagine they would allow that.

Don't know about Xilinx but Altera offers documents on how to configure their FPGAS from alternate sources, for example:

https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyc/cyc_c51013.pdf (https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyc/cyc_c51013.pdf)

But they have other documents regarding this. You still need to use their toolchain to create the files needed to program the FPGA.

Title: Re: Moving from GALs to CPLDs
Post by: banedon on July 01, 2015, 05:43:40 pm
Cool - Thanks guys.

The main issue is that as I'm dealing with old CPUs (65C02S) I need something that not only will take 5V logic in, but have 5V logic out as well.
Perhaps I should just stick with GALs for this and when I have a project that can go to 3.3V I'll look at using CPLDs again.
Title: Re: Moving from GALs to CPLDs
Post by: nctnico on July 01, 2015, 06:19:38 pm
That does not need to be a problem. If the logic is TTL compatible then the thresholds are well within the range of logic operating from 3.3V. TTL specifies that anything above 1.4V is regarded '1' and eveything below 0.7V is '0'.
Title: Re: Moving from GALs to CPLDs
Post by: bingo600 on July 01, 2015, 07:18:57 pm

http://www.ebay.com/itm/1PCS-New-MAX-II-EPM240-CPLD-Minimum-System-Core-board-Development-board-/271037655073 (http://www.ebay.com/itm/1PCS-New-MAX-II-EPM240-CPLD-Minimum-System-Core-board-Development-board-/271037655073)

Even these "small" 240 LE devices are amazingly powerful compared to GALs.  It's well worth it to use them.  Too bad the power supply situation isn't as easy as with a PAL/GAL but they are amazing devices.

Don't use the "Red" EPM240 board , it lacks almost all of the decoupling caps.

Get the "Blue board"
None of them are 5v compatible though

The "Blue" is one of my favourite boards , and can be programmed with a $5 USB-Blaster clone

CPLD "Blue board"
http://www.ebay.com/itm/271159389579 (http://www.ebay.com/itm/271159389579)

FPGA
http://www.ebay.com/itm/400630255386 (http://www.ebay.com/itm/400630255386)

Programmer
http://www.ebay.com/itm/161597061343 (http://www.ebay.com/itm/161597061343)


Or my "Guzunty Pi" port for 1v8 Odroids
http://forum.odroid.com/viewtopic.php?f=80&t=11888 (http://forum.odroid.com/viewtopic.php?f=80&t=11888)


/Bingo
Title: Re: Moving from GALs to CPLDs
Post by: slateraptor on July 02, 2015, 05:55:57 pm
That does not need to be a problem. If the logic is TTL compatible then the thresholds are well within the range of logic operating from 3.3V. TTL specifies that anything above 1.4V is regarded '1' and eveything below 0.7V is '0'.

As far as I'm aware, there is no overarching specification for TTL logic level, just de facto standards steered by major manufacturers.

More clearly, a typical 3.3V LVTTL device producing VOLmax=0.4V / VOHmin=2.4V should theoretically have no problem interfacing with a typical 5V TTL device accepting VILmax=0.8V / VIHmin=2.0V.

Some design considerations:
* Including a 3.3V device in a 5V circuit means an additional regulator to supply the power rail. Depending on device power requirements, this can be as simple as an additional resistor and 3.3V Zener diode with decoupling caps, to a complicated 3.3V switching regulator.
* Care must be taken when driving 5V signals into a 3.3V device. Selecting a 3.3V device with 5V-tolerant inputs will reduce complexity, but will also have a negative impact on reliability, which may or may not be important to you depending on application.
* Pay close attention to your device's current drive spec. This will play an important role in designing sound termination strategy.


EDIT: Forgot subscripting.
Title: Re: Moving from GALs to CPLDs
Post by: ale500 on July 11, 2015, 04:41:42 am
I am also developing some HD63C09-based SBC, and interfacing to 5 V logic is getting more and more difficult. I went for a XC95288XL CPLD. It 5 V tolerant, and still available. But, in reality I should have used 8T245s level shifters and a MachXO2 device: embedded SRAM block, much denser (not really a concern) and cheaper.
Some years ago I used just resistors between the 5 V TLL outputs and 3.3 CMOS inputs (to a Parallax Propeller) it never worked quite well. And using just resistors to the MachXO2 is also a waste as it doesn't really work either (just maybe for slow signals...).
I think that this is the way to go: http://www.ti.com/corp/docs/landing/hpadavinci/sp_logic_sn74avc1t45.htm (http://www.ti.com/corp/docs/landing/hpadavinci/sp_logic_sn74avc1t45.htm)
This part can also be used and is available in DIP too:http://www.ti.com/lit/ds/symlink/sn74lvc245a.pdf (http://www.ti.com/lit/ds/symlink/sn74lvc245a.pdf)