2

I am in the middle of a new design for which a relatively small amount of logic is needed. This is a change to a previous version in which discrete 3.3V logic parts were used. We decided to go a CPLD route to gain some flexibility and upgradability of the hardware. (An FPGA is part of the design which is supported under Vivado, but a few CPLDs in the XC9500XL family are now being added for multiple purposes, including reliability.)

Looking at the CPLD alternatives from a pure hardware perspective, the XILINX XC9500XL CPLD family seemed the most adequate as it directly supports 3.3V logic, tolerates 5V on its inputs (which we do have to account for in some signals), and has a guaranteed 20yr configuration retention. We went ahead and put together a couple schematics with these parts.

But now, before we commit to a PCB, we decided to examine the software toolchain for these parts and we seem to be hitting against a few problems.

  • The new toolchains from XILINX do not support these parts
  • The most recent versions of the old toolchains from XILINX do not support these parts.
  • You have to go to older versions (pre-2015) that don't even run on modern operating systems.
  • That is, the supported ISE version can only be used via a VirtualBox virtual machine running an obsolete version of Oracle Linux 6.4 (the current version is 8.3)

Questions:

  • Is this path as problematic as it seems to be, or have we overlooked something?

  • If so, why are these devices still being sold and marketed instead of just being deemed obsolete?


Notes:

  1. The question originally mentioned the XC9500 family which XILINX actually obsoleted in favor of the XC9500XL family, which is the one we are actually using.

  2. A "more modern family" of XILINX CPLDs with a 1.8V core, the CoolRunner II, requires the exact same toolchain.

Edgar Brown
  • 8,336
  • 2
  • 16
  • 53
  • What matters is the production lifetime. Not the newness of the tools. Ask Xilinx. – DKNguyen Apr 26 '21 at 17:50
  • 1
    @DKNguyen we already had a design for which we had to keep and old obsolete PC around just to program one specific part (and save it from the recycle heap a couple of times), I would prefer to avoid this with a new design. – Edgar Brown Apr 26 '21 at 17:55
  • Well there's your answer if it's behind by an OS. – DKNguyen Apr 26 '21 at 17:56
  • Part recommendation questions are off-topic, I'm afraid. To me XC9500 looked out of date in the mid-2000s and I'm always surprised they're still around now. They do have a few benefits. But this is a purely commercial question that is relative to your situation, purchase quantities and schedule, target product life cycle and so on. And only you or your company know that and bear the responsibility for getting it right, not anyone here. As an aside, the final selection of most parts in a design are commercial before technical. (Emphasis on final selection, not first selection of a part.) – TonyM Apr 26 '21 at 18:37
  • This is not a “part recommendation question” this is about a specific part and its tool chain. I want to know if I am missing something about the tool chain itself. – Edgar Brown Apr 26 '21 at 18:39
  • *"Should we be looking at a different, more recent, CPLD family?"*. In big letters. That's what part recommendation questions look like. Meanwhile, please see again the part about it being relative to your situation and being your responsibility to get right, not one you can pass on to anyone here. – TonyM Apr 26 '21 at 18:43
  • I disagree. As it just adding information for us to make a decision and is just a yes/no question and opinion. But, to avoid the argument I just edited that part out. – Edgar Brown Apr 26 '21 at 18:46
  • 1
    Are small CPLDs dead? There seems to be a hole between a few single gate TTL SOT-23s and a full blown BGA FPGA – D Duck Apr 26 '21 at 19:04
  • 1
    @DDuck, not in the least. You might just be looking at Altera and Xilinx. They walked away from low-end, like Intel did yonks ago with MCUs and memories. Take a look at the market out there, look at Lattice - physically tiny parts, very low cost. – TonyM Apr 26 '21 at 19:07
  • 1
    @TonyM we did consider the Lattice parts before we selected the XILINX. In addition to an expensive toolset, the Lattice CPLDs have 1.8V cores, and just 10yrs data retention instead of 20. So the real choice was between an small FPGA (Lattice parts are better in this intermerdiate range) and an obsolete CPLD. So DDuck is right, in my opinion. – Edgar Brown Apr 26 '21 at 19:34
  • 1
    If your design is really simple and not demanding speed-wise, you could consider Silego (Dialog) Greenpak. These have some mixed-signal stuff that can address problems that CPLDs can't, at least by themselves. – hacktastical Apr 26 '21 at 20:45
  • 1
    The Lattice comment was my reply to @DDuck comment about the general market, not on your situation which you're back to talking about. You don't seem to read complete comments before replying, you've got your mind made up. As before, I'll leave you to it. As a footnote, I have designed in small Lattice parts with their free tools, as well as a wide range of part families from different manufacturers, from very large to very small, so I've some idea about the whole process. – TonyM Apr 26 '21 at 20:55
  • 2
    In addition to Lattice, take a look at Microchip, which now owns the line of FPGAs originally developed by Actel. There are some nice low-end parts to be had there. Microchip also has some microcontrollers that incorporate programmable logic blocks. – Dave Tweed Apr 26 '21 at 21:07
  • @DaveTweed due to the application we were looking to use the simplest (in terms of device complexity and reliability) tool for the job (CPUs are definitively out), but I am realizing that the market already deems CPLDs obsolete so we might need to transition the design to small-size FPGAs. I think Microchip is the only real player targeting this specific instant-on niche. – Edgar Brown Apr 27 '21 at 19:11

1 Answers1

3

I would say your answer is at the top of datasheet. This series seems to be end of life, and as some of the comments mentioned, it was long in the tooth 10 years ago. The only one that might still be active is automotive, but that's a different supply chain.

enter image description here

The other thing that happens beyond just the software becoming incompatible with modern OSes is that the physical programming tools become incompatible. Or, at best, something you have to bodge together with OSS stuff. This may or may not be worth the time investment on your part, depending on the support profile of your product.

My vote: find a more modern part, or one with a very solid OSS community around it.

awjlogan
  • 7,879
  • 2
  • 29
  • 45
  • 2
    That disclaimer is not in the XC9500XL family, which is the actual one we are using (editing the question to reflect this). https://www.xilinx.com/support/documentation/data_sheets/ds054.pdf – Edgar Brown Apr 26 '21 at 19:49
  • Ah, I see. I'm surprised that Xilinx have an active product that is not supported by their software on a modern OS. Quick skim suggests it's doable in a Linux VM, and you can program the 9500XLs with a Raspberry Pi, but I think I stand by "find a more modern device" if it's a new, ongoing project. Maybe different if it's to support a legacy product, but that's your call :) – awjlogan Apr 26 '21 at 20:20
  • The problem is the confluence of relatively high logic voltages, required reliability, and small amounts of logic. I have noticed a trend towards lower and lower voltages and FPGAs, which are both overkill and problematic for our application. Having to engineer around obsolete tool chains only compounds the problem. – Edgar Brown Apr 26 '21 at 20:24
  • @EdgarBrown Yes, absolutely understood! In that case, it sounds like your time investment might have to be in getting it running under a VM. I saw some examples of programming them using a RasPi, so you might be able to avoid the "hardware rot" that way as well. – awjlogan Apr 27 '21 at 08:03