Author Topic: Looking to use a CPLD. Which one to go for...?  (Read 18866 times)

0 Members and 1 Guest are viewing this topic.

Offline TronixTopic starter

  • Newbie
  • Posts: 3
  • Country: gb
Looking to use a CPLD. Which one to go for...?
« on: February 05, 2016, 10:37:13 pm »
Hi,

I'm looking to move from using 74xx series logic and GALs to a CPLD, but unsure which family to use.

The circuitry I'm looking to replace is all 5v as it'll be connecting to older home computer hardware - a mix of 74xx and 4000 parts and an old CPU + Memory all on shared data/address bus etc.

What would be ideal:
- 5v operation
- PLCC packaging

But I know that 5v can now be quite limiting, the only current series I can see are the ATMEL ATF15xx which are still produced in 5v parts, with 44 and 84pin PLCC parts (32/64/128 macrocells).

On paper, they sound ideal, however, from reading their website, news and these forums...

- The ATMEL range is not recommended
- Their software for developing CPLD is limited to using the CUPL language for designing, unless a two year license is purchased to use VHDL/Verilog.
- With Microchip about to buy up ATMEL who knows how long the parts will be produced.

The Xilinx range XC95xx seem to be very popular, but with the 5v range now discontinued moving 3v3 is the only option. Although with 5v tolerant inputs it would still require a 3v3 regulator to power the device, and I'm not sure that 3v3 outputs would be sufficient to trigger everything that may possibly be connected to the shared buses (as it is old legacy hardware it would be connected to).

Thanks in advance for any advice.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27978
  • Country: nl
    • NCT Developments
Re: Looking to use a CPLD. Which one to go for...?
« Reply #1 on: February 05, 2016, 11:20:22 pm »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #2 on: February 06, 2016, 01:53:15 am »
Hi

Five volt supplies went out of favor on CPLD / FPGA type parts in the mid 90's. Most of them went out of production by about 2005.

Xylinx and Altera are are the top two guys in the CPLD / FPGA arena. I happen to be an Altera guy, a LOT of people use those other people. Depending on how you measure (surprise, they each look at it differently) one or the other is ahead in this or that this month.

They each have good free tools to program the parts with. They also have free design tools. Altera will let you do a design with a schematic. I don't know if Xylinx will let you do that or not. Except for Neanderthals, this stuff gets set up with Verilog (or something similar) rather than a schematic. My kid keeps telling me I need to move into the modern age.

Both outfits will sell you demo boards with parts on them. That's nice with things like 144 pin package or BGA's involved. There also are an enormous number of guys on eBay that will sell you cheap boards. More or less it's a "grab a board, download software and run" sort of thing. About all you will need is a modern PC and a cheap programming dongle.

Bob
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Looking to use a CPLD. Which one to go for...?
« Reply #3 on: February 06, 2016, 06:40:06 am »
What would be ideal:
- 5v operation
Most 5V parts are out of production and hard to get, but many 5V tolerant  parts are still available - just add a 3.3V regulator.

Quote
the only current series I can see are the ATMEL ATF15xx
Don't touch Atmel unless you have the correct programmer for them.

Quote
The Xilinx range XC95xx seem to be very popular, but with the 5v range now discontinued moving 3v3 is the only option. Although with 5v tolerant inputs it would still require a 3v3 regulator to power the device, and I'm not sure that 3v3 outputs would be sufficient to trigger everything that may possibly be connected to the shared buses (as it is old legacy hardware it would be connected to).
3.3V CMOS logic levels are compatible with 5V TTL parts, including old CPUs and memory etc. 5V 4000 series is not TTL compatible, but was rarely used in old home computers for that reason (and because it's slow). 3.3V is actually an advantage when you want to interface modern peripherals such as SD Cards. Yes, you have to add a 3.3V regulator, but that's not hard.

Xilinx XC95xx and Altera EPM30xx series are cheap and easy to use. PLCC versions are getting rare, but adapter boards for TQFP packages are readily available. Lattice might be another possibility (Element14 have a few 5V PLCC parts in stock!).


 

Offline obiwanjacobi

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Looking to use a CPLD. Which one to go for...?
« Reply #4 on: February 06, 2016, 07:51:09 am »
I've started recently with the Altera MAX II (3.3V). 100 pin flat pack (0.1 mm pitch)
Bought a cheap board on ebay and a blaster (USB programmer) and downloaded the software (big!). The MAX II is still supported by the latest software version (no support for Win10 though).

Recently bought a couple MAX II's on ebay - just the chips for $1,38 (US) each - so very cheap. I soldered those on adapter boards to get to 0.1" pin headers.

I was also thinking of getting into the older GALs but I could find all the parts: IDE, Programmer etc.


Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline TronixTopic starter

  • Newbie
  • Posts: 3
  • Country: gb
Re: Looking to use a CPLD. Which one to go for...?
« Reply #5 on: February 06, 2016, 09:53:38 am »
Hi,

Thanks for the advice so far, appreciated.

Quote
Don't touch Atmel unless you have the correct programmer for them.

I learned that with their GALs... my programmer did not like them so I still use old stock of Lattice GALs.

*If* I did go Atmel I'd get their ATF15xx demo kit which has their JTAG programmer. Their parts are also readily available from Digikey etc.


Quote
3.3V is actually an advantage when you want to interface modern peripherals such as SD Cards. Yes, you have to add a 3.3V regulator, but that's not hard.

I have done that before, as I have SD cards running in previous projects. But for my new ideas I still cannot fully guarantee everything would be happy at 3.3v.

I think the idea may just to pick up a very cheap board with a chip and give it a try... if something like a Xilinx part isn't working reliably then maybe then have to explore the Atmel route with 5v parts...


Quote
Both outfits will sell you demo boards with parts on them. That's nice with things like 144 pin package or BGA's involved.

TQFPs I can handle hand soldering, but I wouldn't go down the route of BGA.
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Looking to use a CPLD. Which one to go for...?
« Reply #6 on: February 06, 2016, 10:24:52 am »
for my new ideas I still cannot fully guarantee everything would be happy at 3.3v.
What are your new ideas?

 

Offline andre_teprom

  • Regular Contributor
  • *
  • Posts: 71
  • Country: br
    • Aluis-Rcastro
Re: Looking to use a CPLD. Which one to go for...?
« Reply #7 on: February 06, 2016, 10:51:06 am »
Why don't you simply buy an extremely cheap starter kit instead of assembling yourself the chip at the board ?
"Part of the world that you live in, You are the part that you're giving" ( Renaissance )
 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #8 on: February 06, 2016, 03:13:49 pm »
Hi

Here's the next "layer" to this decision:

These guys very much want you to use the latest and greatest parts. In most areas that would equal "most expensive and crazy to use". In the world of FPGA's and CPLD's ... not so much. Each new generation brings out bigger parts (higher gate count) at lower prices per gate. The result often is that a newer / bigger /faster part is cheaper than an old part.

Since they want you to focus on the new stuff, they taylor the support in their free software to the newer parts. The support for the older parts stays with the older software. The software keeps getting (slightly) easer to use and adds features as time goes on.

Take a look at the prices of the demo boards / breakout boards. I can get a Max 10 (Altera's latest and greatest) for less than $30 from Arrow (not the cheapest place in the world). The eBay guys have not quite caught up to cheap Max 10 parts (yet), but take a look at Cyclone V, IV, III and II boards. There is a dip in the curve. At some point rather than getting cheaper, as you go back in time, they get more expensive. Once you hit that dip, there isn't any value in going further back.

If you are a bit confused by that naming switch, you are not the only one. Altera has essentially turned their CPLD parts into something that directly compares to an FPGA. The why is a bit complex. Mostly it is one of those "because we could" sort of things.

Yes, that's all Altera specific. You sort of need to name names to do this sort of comparison. The Spartan series works pretty much the same way cost wise in the Xylinx lineup.(except for the dodge to CPLD right at the end).

You might notice that these are *not* the smallest of the small devices. If you are buying boards, the little guys don't save you much ($6 delivered isn't that much less than two for $13 delivered). In some cases they actually are more expensive. The nutty part is that I can't buy the chips in small quantities for the price of the board. It's not a close thing in most cases ....I certainly can not layout a board, populate it with regulators and caps and assemble it at anything close to what the boards cost.

What you likely will find (once you get going) is that this stuff is pretty easy. Your ideas will grow at a rapid clip. What looked like a big part last week will be full sometime middle of next week. Bigger is always better ...



Bob
 

Offline asgard20032

  • Regular Contributor
  • *
  • Posts: 184
Re: Looking to use a CPLD. Which one to go for...?
« Reply #9 on: February 06, 2016, 03:24:50 pm »
And don`t forget that newer = more low power, also lower power = less need for complicated power design to power up the FPGA. So again, lower cost, smaller regulator.
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1684
  • Country: gb
Re: Looking to use a CPLD. Which one to go for...?
« Reply #10 on: February 06, 2016, 03:49:01 pm »
As these guys have said, whilst you can still get 'CPLDs', many companies have blurred the lines between these and FPGA's, effectively creating convenient FPGA's, with on-board config memory, oscillators, flash etc.. A good example is the Lattice XO2/3 series.

I got 'in' to CPLD's about 16 years ago, back when there were plenty of 32/64/128 macrocell devices in PLCC packages - I still have quite a few MAX7000's (Altera), 9500's (Xilinx), and lattice MACH4A's.  Whilst I could probably still use them in some projects, the hassle of finding the older software that supports these, and possible issues getting them to run on windows 7/10 means they just collect dust - and thats a pity.  But I'm going to order a XO3 board, which for £20 has more than enough gates for anything I'll need - its almost shocking how powerful/large these devices are on boards that cost far less than the older CPLD boards (that had 32 MC's..).  No doubt I'll end up like these guys who use CortexM4's to make  a few LED's flash.

Back to your needs.  The biggest restriction is of course, 5v logic.  Yes, the 9500XL from xilinx (I *think* that is still supported) has 5V tolerant IO's, but adding HCT buffer chips to its outputs to get 'true 5v' sort of defeats the point of using a CPLD to replace said 7400.  And even though much newer devices can have 3.3V IO (with a separate core voltage much lower) I don't think any are 5v-tolerant, and perhaps, even though you get *much* more logic for the price, using a modern FPGA would be overkill, and for knocking up 'old' computer hardware - it could all be done in the FPGA anyway, which again, maybe defeats the point of building old computer hardware..

If this is just for one off's, and you feel you really need a 5V device, I can supply you with a list of chips I have (in the UK here), and try and find the older versions of Altera/Xiliinx/Lattice software that will allow you to configure them.  (Pretty sure Altera and Xilinx have ftp servers providing very old versions of their software).  Simpler devices such as these also have the advantage that they have a lot less 'options' (IO slew rate, thresholds etc..) that would have to be configured for a modern device.  So yes, cost is generally proportional to the age of the device.

You could try one of these:
http://www.ebay.co.uk/itm/XILINX-XC9572XL-Development-Board-CPLD-Logikgatter-/181974808918?hash=item2a5e8b3956:g:2UQAAOSwCQNWgVfG

But actually programming them can be an arse.  Whilst Altera has the Byteblaster - and the many cheap clones around, xilinx programmers tend to be more expensive, unless you have a parallel port on an old PC then you can knock one up pretty quickly.  It really is the software/programmer rather than the devices features itself that make the difference.




 

Offline chris_leyson

  • Super Contributor
  • ***
  • Posts: 1548
  • Country: wales
Re: Looking to use a CPLD. Which one to go for...?
« Reply #11 on: February 06, 2016, 04:32:21 pm »
Unlike Uncle_Bob who is an Altera guy I'm a Xilinx guy, only because the Altera MAX7000 series I tried years ago had totem pole output drivers and my application needed true complimentary output drivers, I went for Xilinx XC3000 in the end and thats why I'm a Xilinx guy, I don't have enough time to learn a new set of tools so I've stuck with Xilinx ISE, I don't have anything against Altera. Xilinx Coolrunner was bought from Philips in around '99, 3.3V parts but have low power consumption.

Xilinx XC95 series, now obsolete, run at 5V and they were available in PLCC package but run quite warm, it was prior to the Philips buy out. Altera MAX7000 series will also run at 5V but have a totem pole output stage, good enough for TTL interfacing. If you can get your hands on XC95 or MAX7000 chips they are a good place to start and still supported by the older software suites. Lattice also have older generation 5V logic but I've never used Lattice in a design so can't make any recomendations.

 

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3447
  • Country: ca
  • Place text here.
Re: Looking to use a CPLD. Which one to go for...?
« Reply #12 on: February 06, 2016, 04:41:02 pm »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.

I wonder if it is possible to raise the CPLD's ground reference to shift up its logic levels...
I know, I'm a rebel.
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #13 on: February 06, 2016, 04:45:28 pm »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.

I wonder if it is possible to raise the CPLD's ground reference to shift up its logic levels...
I know, I'm a rebel.

Hi

Been there, done that. Not a real good idea. You get into all sorts of nasty diode clamp issues. Outputs swing sort of right until you hit a tri-state port. Inputs clamp on both sides, with occasional "interesting" outcomes. (as in you source enough current into the part to take the top or bottom side rail to +5 or to ground).

Bob
 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #14 on: February 06, 2016, 05:05:20 pm »


You could try one of these:
http://www.ebay.co.uk/itm/XILINX-XC9572XL-Development-Board-CPLD-Logikgatter-/181974808918?hash=item2a5e8b3956:g:2UQAAOSwCQNWgVfG



Hi

Just for the sake of completeness (NOT because it's a better board):

http://www.ebay.com/itm/EP4CE6-EP4CE6E22C8N-ALTERA-FPGA-Cyclone-IV-Development-Evaluation-Board-Core-Kit-/231074176951?hash=item35cd181fb7:g:D0UAAOSwYIhWjb~K

Make offer, so who knows what he'll take. You will have all the usual shipping and VAT issues. Likel
y outcome > $30 delivered.

An *excellent* example of the alternative:

https://www.arrow.com/en/products/bemicromax10/arrow-development-tools?utm_source=arrow&utm_medium=npi&utm_content=bemicro_max10&utm_term=buy_now&utm_campaign=bemicro_is

Out of stock, can be back ordered. Who knows what that means. Possibly they will never make another batch. $30 before delivery. Not clear what Arrow does to get them to the UK.

What do you get in each case?

The Arrow board has a much more powerful / newer part on it. It has far more i/o. It has a lot more support chips on the board. It also has a built in programmer. The build quality of the board is excellent. The chip on the board is supported by current software and will be supported for many years to come.

The board from eBay *is* cheaper and you have a range of people to buy them from. It requires a programmer ($4 to $8 depending on how picky you are). That can be a plus or a minus. It probably does everything you need it to do. The chip on the board may not be supported a lot longer on the free software.  There are interesting little quirks to the board (the FPGA memory IC) that may or may not be a PIA when you go to program it.

If you want the board that Arrow (or any of the other guys) make up, you need to buy them when they have them. The boards are targeted at the classes they hold to train customers on the parts. The deal is you come in, get a free lunch, a free board and errr.... pay $99. (so maybe not free ...). Because it's a course board, there are nice "getting started" materials that come with the board. A few years from now, you fry the board and want another one .... probably not going to happen.

Regardless of what family you start out with, there are boards like this and choices like this. Starting with the training board does not cost a lot of money. It gets you over a bunch of bumps in the road a lot faster than the eBay board. Take care though, if you head off to a training board that has things like Ethernet and video on it, they run up into the $100 to $200 range pretty fast.

Bob
« Last Edit: February 06, 2016, 05:39:13 pm by uncle_bob »
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Looking to use a CPLD. Which one to go for...?
« Reply #15 on: February 06, 2016, 05:34:32 pm »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.
With 99% of old home computers you don't need to raise the voltage. Since TTL only requires 0.8V low to 2.0V high, 3.3V CMOS logic levels are sufficient. The only problem is ensuring that 5V inputs don't overdrive the CPLD. Xilinx XC9500XL series are 5V tolerant and don't have clamp diodes to Vio, so you can connect them directly to a TTL compatible 5V CPU bus. Here is an example:-

ZX Breakout 

 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #16 on: February 06, 2016, 05:43:59 pm »
The only problem is ensuring that 5V inputs don't overdrive the CPLD. Xilinx XC9500XL series are 5V tolerant and don't have clamp diodes to Vio, so you can connect them directly to a TTL compatible 5V CPU bus. Here is an example:-

ZX Breakout 

Hi

The only thing that leaves are Tri-state outputs (like an address or data bus) that have external pull ups to +5V. In that case a weak pull up is not likely to create an issue. If somebody got a bit crazy with values, your 3.3V output (and possibly 3.3V regulator) may not be very happy dealing with the injection current.

Bob
 

Offline Gribo

  • Frequent Contributor
  • **
  • Posts: 642
  • Country: ca
Re: Looking to use a CPLD. Which one to go for...?
« Reply #17 on: February 06, 2016, 06:07:11 pm »
Be careful of fake chips. There are tons of fake EP3000 and EP7000 on EBay and Alibaba. The chip might pass programming, but not all the IO pins will work.
I am available for freelance work.
 

Offline uncle_bob

  • Supporter
  • ****
  • Posts: 2441
  • Country: us
Re: Looking to use a CPLD. Which one to go for...?
« Reply #18 on: February 06, 2016, 06:31:40 pm »
Be careful of fake chips. There are tons of fake EP3000 and EP7000 on EBay and Alibaba. The chip might pass programming, but not all the IO pins will work.

Hi

.... or the chip may not program at all. The same caution applies to just about any part you buy. Tantalum caps are another commonly faked part. Any time a part gets expensive or rare, it becomes worthwhile to fake them.

Yet another reason to buy working (or hopefully working) boards rather than bulk parts.

Bob
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27978
  • Country: nl
    • NCT Developments
Re: Looking to use a CPLD. Which one to go for...?
« Reply #19 on: February 06, 2016, 08:03:49 pm »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.
With 99% of old home computers you don't need to raise the voltage. Since TTL only requires 0.8V low to 2.0V high, 3.3V CMOS logic levels are sufficient.
You are forgetting about chips (ASICs) you may find in older gear which are not exactly TTL compatible then therefore won't work with 3.3V levels. Also CMOS is notorious for not working with 3.3V levels because in CMOS a '1' usually is 0.7*VCC => 5*0.7=3.5V.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online marcopolo

  • Regular Contributor
  • *
  • Posts: 164
  • Country: fr
  • F4LIG
    • Retronik
Re: Looking to use a CPLD. Which one to go for...?
« Reply #20 on: February 06, 2016, 08:49:51 pm »
MAX7000: EPM7160LC84 for 1€00 in Germany
http://www.ebay.fr/itm/Altera-EPM7160LC84-20-Electrically-Erasable-PLD-Datecode-9413-/231012018626

But you need an Altera LP6 board to program them, not easy to find.
My Archives (68K, Old logic, SSB radio): marc.retronik.fr
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Looking to use a CPLD. Which one to go for...?
« Reply #21 on: February 07, 2016, 03:28:18 am »
You are forgetting about chips (ASICs) you may find in older gear which are not exactly TTL compatible then therefore won't work with 3.3V levels.
That's why I said 99%, not 100%. I could be wrong though. Do you know of any old home computers which used ASICs that are not TTL compatible?

Quote
Also CMOS is notorious for not working with 3.3V levels because in CMOS a '1' usually is 0.7*VCC => 5*0.7=3.5V.
Applies only to parts with 'CMOS' 5V logic levels, eg. 4000 series and 74Cxxx. Most 5V CMOS ROM and RAM chips are TTL compatible. Old home computers generally used LS/TTL logic with NMOS CPU and peripheral chips.

   
 

Offline obiwanjacobi

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Looking to use a CPLD. Which one to go for...?
« Reply #22 on: February 07, 2016, 07:31:16 am »
Before you decide which one it will be, make sure the version of the IDE you need for the part is supported by the OS you're running.

Example: I had a Altera Cyclone II board, that only is supported by an older version of the IDE (13.x) and that version only runs on Windows 7 - and I'm on 8 and 10. I have tried it anyway and indeed it did not work (why? I did not put time into that to find out).

[2c]
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline MT

  • Super Contributor
  • ***
  • Posts: 1675
  • Country: aq
Re: Looking to use a CPLD. Which one to go for...?
« Reply #23 on: February 07, 2016, 11:38:03 am »
You can try and push the XC95 series to run on 3.6V. That may just tip the balance into being compatible with 99% of the 5V systems.
With 99% of old home computers you don't need to raise the voltage. Since TTL only requires 0.8V low to 2.0V high, 3.3V CMOS logic levels are sufficient.
You are forgetting about chips (ASICs) you may find in older gear which are not exactly TTL compatible then therefore won't work with 3.3V levels. Also CMOS is notorious for not working with 3.3V levels because in CMOS a '1' usually is 0.7*VCC => 5*0.7=3.5V.

He could use 3.6V.
« Last Edit: February 07, 2016, 11:41:56 am by MT »
 

Offline nowlan

  • Frequent Contributor
  • **
  • Posts: 649
  • Country: au
Re: Looking to use a CPLD. Which one to go for...?
« Reply #24 on: February 07, 2016, 12:19:10 pm »
That arrow page says no stock. Was there an alternative supplier.
I only ever looked at de-nano boardsbefore.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf