A "node exerciser" test generation method measures the coverage of a set of test vectors by counting the number of "nodes" that the vectors "exercise" or "toggle" or "obtain in both high and low states." Nodes are either pins or internal logic gates. Note that a node can be counted as "exercised" even if no output pin changes as a result. Testers only look at output pins but node exercisers, in effect, assume that the tester can look at all internal nodes.
How ACUGEN® Software's ATGEN Fault Grading Works:
In ATGEN software's fault grading, the user selects a list of faults that can occur in the device. Typical faults are pins and gates stuck-at-0 and stuck-at-1, internal wires stuck-at-0 and stuck-at-1, and defective fuses. In ATGEN fault grading, each fault is simulated independently and differences between simulated faulty device outputs and good device outputs cause fault detection. Note that fault detection only occurs when a fault affects an output pin. A concise report, including percent fault coverage and lists of specific faults, allows accurate process improvement and failure analysis.
Node Exercisers Miss Input Pin Faults
A node exerciser's worst failing is that it cannot tell whether it is detecting faults on input pins. Simply "wiggling" or exercising an input pin does not do the job. You would have to be lucky enough to wiggle the input pin at just the time when some circumstance causes an output pin to change to detect the fault. Otherwise, a pin could actually be missing and the test would not discover it!
Node Exercisers Cannot Remove Undetectable Faults
A fault is deemed "undetectable" if that fault can be present without affecting device operation. Many of the faults in typical PLD designs are, in fact, undetectable. Because a node exerciser has no understanding of the concept of a fault, the concept of undetectable faults is beyond its capability. This lack of sophistication makes for unnecessary work. For example, contrast ATGEN softwares behavior with that of a node exerciser: when ATGEN software proves that a fault is undetectable, it stops attempting to generate vectors for that fault. But a node exerciser has no such mechanism. It must run until it exercises all of the nodes (which may or may not be possible in the presence of undetectable faults) or until some time limit or vector-count limit is reached.
Node Exercisers Report A Misleading Coverage Number
Coverage numbers from node exercisers may look good but the tests may miss many important faults. After all, to say that an internal logic element is exercised says nothing about whether the exercise was relevant. Did the change in state of the internal node produce a change in state of an output pin? In node exercising, there is no way to tell. In contrast, ATGEN fault grading tells you exactly what the fault coverage number means - which faults were detected at output pins and which ones were not.
Node Exercisers Cannot Remove Redundant Vectors
A vector is "redundant" if that vector does not help to detect faulty devices. Because a node exerciser does not know which faults are detected by each vector, it cannot determine which vectors are redundant, so the vectors just keep piling up, perhaps overflowing your tester memory. When this happens, you will naturally delete enough vectors at the end to make the test fit. But maybe these vectors at the end detected important faults! ATGEN fault grading supports thorough removal of redundant vectors so that you can get maximum fault detection even on testers with limited vector memory.
Node Exercisers Cannot Detect Blown Fuse Faults
Most of the area of a traditional PLD contains fuses that have been blown by applying a supervoltage charge. A "blown fuse fault" occurs when a fuse that should be blown is actually intact. Blown fuse faults are among the most common types of faults in PLDs. They can occur for a wide variety of reasons. If you need more information on this fault type please call us and we will send you our technical paper, "Getting Complete PLD Fault Coverage: Testing for Blown Fuses."
Heres the problem: a node exerciser cannot detect blown fuse faults because a fuse is not a logic element, so it cannot be "exercised." Fuses do not have logic high and low values. Fuses do not toggle. A node exerciser cannot even generate tests that tend to detect blown fuse faults. The concept of a blown fuse fault is too foreign.
This deficiency of node exerciser products could be ignored if blown fuse faults were uncommon, or if tests that achieve high logic coverage tended to achieve high blown fuse fault coverage as well. Unfortunately, this type of fault happens too frequently and accounts for as many as 50% to 75% of the total number of possible faults in a PLD. Moreover, blown fuse faults are unlikely to be detected by tests that detect logic faults. The reason for this is that short circuits across fuses that should be blown have the effect of adding extra (and undesirable) functionality to the design; a test that checks desired functionality simply does not go far enough.
If you are considering the purchase of a node-exerciser software product, you may have additional questions about the type of tests such products produce. Please call one of our ACUGEN applications engineers at (603) 261-2468 for more information.