|
3
Gordon Drive, P.O.Box 1347 Rockland, Maine 04841 U.S.A.
|
|
© 2004 Avocet Systems, Inc.
|
Call
Us Today at 207-596-7766 ("Picton Press")
|
|
Avocet Systems, Inc. : The Complete Solution for Embedded Systems
Development Tools
|
|
|
Embedded Update
Weird PLD Behavior
Remember the days of a PC board covered by a sea of small logic devices? 7404s,
7474s, 7400s... you name it, we used 'em by the dozen to take care of the "glue"
functions needed by any embedded program.
No more. Now everyone uses PALs and PLDs. The 14 pin DIP seems to be a rarity
on most designs. We sometimes wonder where the cost-tradeoff lies: a $30 PLD
needs to replace a LOT of $.25 logic to be cost effective (board space, speed
and other issues are of course an issue as well).
We have been using PLDs extensively. These devices incorporate several 22V10s
with other sorts of logic in a single package. You program them like an EPROM.
Like the memory, you can also buy versions with a window. During development,
erase and reburn them as many times as necessary to get the design right. In
production, use the one-time-programmable part (no window), which runs a third
the cost of it's windowed brother.
We use the Xilinx parts, and ran into weeks of weird, erratic behavior. Sometimes
the devices seemed to not program correctly. Other times they program and verify,
but just didn't do the logic designed into them. After almost giving up and
going back to a design using a few hundred PALs we discovered the problem.
These things are HARD to erase. An EPROM takes maybe 5 minutes under a good
eraser. The PLD literature claims an hour is enough. Nope. Try two hours. Maybe
even a little longer.
Our initial response was one of disbelief. We bought a new eraser, thinking
perhaps the bulb energy had declined. We replaced all the PLDs with new ones,
figuring that erasing them over and over had somehow worn them out. No luck.
The bottom line: erase them for a LONG time. If the device still seems to act
oddly, well, try it again.
We're hearing from others that perhaps this problem is not isolated to Xilinx
PLDs... so be wary.
|
|
|