CPLD lost it's memory

For discussing the 65xx hardware itself or electronics projects.
Post Reply
jds
Posts: 196
Joined: 10 Mar 2016

CPLD lost it's memory

Post by jds »

I hadn't used my Rockwell Forth system for a while, and now that I've powered it up again it doesn't work. After a short investigation it looks like the CPLD isn't working. I can pop it out of its socket, power up and get the same result as when it's in the socket. It's there mainly for the address decoding so the R65F11 still starts up, it just has no external RAM or Development ROM.

It's an Altera EPM7064, which I thought would hold it's program for a very long time. I'm a bit stuck for reprogramming it as I'll have to install Quartus on another computer and hunt out the programmer. But at least I still have the source code.

Has anyone else seen CPLD's fail in this way?
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: CPLD lost it's memory

Post by plasmo »

Is it EPM7064 or EPM7064S? The -S means you can verify it in-situ via the 10-pin JTAG header. The CPLD should hold its program for 20 years, although it has limited programming cycles, like 100 cycles. My guess is more time it was reprogrammed, the shorter the data retention time. I’ve not had experienced EPM7xxx data loss and some of my EPM7xxx had 100+ programming cycles.
Bill
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: CPLD lost it's memory

Post by BigDumbDinosaur »

jds wrote:
Has anyone else seen CPLD's fail in this way?

Retention life deteriorates with each programming cycle, which is typical of these devices.  In theory, the claimed data retention life of a device is usually unchanged as long as you don’t exceed the maximum allowed number of programming cycles.  Your device is likely “worn out” from too many cycles, is older than you think, or both.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: CPLD lost it's memory

Post by Dr Jefyll »

jds wrote:
After a short investigation it looks like the CPLD isn't working.
How short an investigation? Best to be careful about jumping to conclusions (been there, done that, as have we all).

You've said you can pop it out of its socket, power up and get the same result as when it's in the socket. I don't know all the details, but is that 100% conclusive? Are there alternative explanations? Just a friendly reminder... :)

-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
richardc64
Posts: 58
Joined: 08 Jun 2013
Contact:

Re: CPLD lost it's memory

Post by richardc64 »

BigDumbDinosaur wrote:
jds wrote:
Has anyone else seen CPLD's fail in this way?

Retention life deteriorates with each programming cycle, which is typical of these devices.  In theory, the claimed data retention life of a device is usually unchanged as long as you don’t exceed the maximum allowed number of programming cycles.  Your device is likely “worn out” from too many cycles, is older than you think, or both.
Extending the concern to other programmable devices, does endurance or longevity apply only to the individual bits or bytes of an EEPROM or the sectors of a Flash device that have been programmed? And if only half of an EEPROM or Flash has been in use and is approaching its End of Life, for whatever reason, would the unused bytes or sectors still have 10,000 programming cycles and 10 years of data retention left to them? Or is the devices' usability limited to 10,000 cycles/10yrs, no matter how much of it has been programmed?
"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone knives and bearskins." -- Spock to Edith Keeler
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: CPLD lost it's memory

Post by GARTHWILSON »

richardc64 wrote:
Extending the concern to other programmable devices, does endurance or longevity apply only to the individual bits or bytes of an EEPROM or the sectors of a Flash device that have been programmed? And if only half of an EEPROM or Flash has been in use and is approaching its End of Life, for whatever reason, would the unused bytes or sectors still have 10,000 programming cycles and 10 years of data retention left to them? Or is the devices' usability limited to 10,000 cycles/10yrs, no matter how much of it has been programmed?
Individual sectors can be worn out while unused ones in the same IC are still as good as new.  The ones that are approaching their life expectancy should be marked as such, so that writing a new version of the same file for example goes to newer sectors.  In the flash memories I've worked with, changing even one byte in a sector re-writes the entire sector; so if you're going to do multiple bytes in the same sector, it's best to read it out, modify it, then put it back, so you only get one erase-program cycle wearing things out.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: CPLD lost it's memory

Post by BigDumbDinosaur »

richardc64 wrote:
Extending the concern to other programmable devices, does endurance or longevity apply only to the individual bits or bytes of an EEPROM or the sectors of a Flash device that have been programmed?

I can’t speak with authority about flash devices or EEPROMs, but wearout in UV-erasable EPROMs seems to occur cell-by-cell.  I use the 27C256 (32Kb × 8) in my POC units, of which only the range from $1000-$3FFF (12 KB) is actually programmed.  After several EPROMs had worn out from many cycles (possible several hundred—I don’t keep track), I tried programming them using a different, unused address range to see what would happen.  They programmed and verified without error, demonstrating that the unused cells remain “fresh,” even in old parts.

Your CPLD uses CMOS EEPROM technology, which means it is subject to the same wearout effects as seen in conventional EEPROMs.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Post Reply