3 Gordon Drive, P.O.Box 1347 Rockland, Maine 04841 U.S.A.
Find Tools for Your Chip


 

© 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.