Automatic test pattern generation
ATPG (acronym for both Automatic Test Pattern Generation and Automatic Test Pattern Generator) is an
electronic design automationmethod/technology used to find an input (or test) sequence that, when applied to a digital circuit, enables testers to distinguish between the correct circuit behavior and the faulty circuit behavior caused by defects. The generated patterns are used to test semiconductor devices after manufacture, and in some cases to assist with determining the cause of failure ( failure analysis. [cite conference| last=Crowell| first=G| coauthors=Press, R.| title=Using Scan Based Techniques for Fault Isolation in Logic Devices| booktitle=Microelectronics Failure Analysis | pages= pp. 132-8] ) The effectiveness of ATPG is measured by the amount of modeled defects, or fault models, that are detected and the number of generated patterns. These metrics generally indicate test quality(higher with more fault detections) and test application time (higher with more patterns). ATPG efficiency is another important consideration. It is influenced by the fault model under consideration, the type of circuit under test (full scan, synchronous sequential, or asynchronous sequential), the level of abstraction used to represent the circuit under test (gate, register-transistor, switch), and the required test quality.
Basics of ATPG
A defect is an error introduced into a device during the manufacturing process. A fault model is a mathematical description of how a defect alters design behavior. A fault is said to be "detected" by a test pattern if, when applying the pattern to the design, any logic value observed at one or more of the circuit's primary outputs differs between the original design and the design with the fault. The ATPG process for a targeted fault consists of two phases: "fault activation" and "fault propagation". Fault activation establishes a signal value at the fault model site that is opposite of the value produced by the fault model. Fault propagation moves the resulting signal value, or fault effect, forward by sensitizing a path from the fault site to a primary output.
ATPG can fail to find a test for a particular fault in at least two cases. First, the fault may be intrinsically undetectable, such that no patterns exist that can detect that particular fault. The classic example of this is a redundant circuit, designed so that no single fault causes the output to change. In such a circuit, any single fault will be inherently undetectable.
Second, it is possible that a pattern(s) exist, but the algorithm cannot find it. Since the ATPG problem is
NP-complete(by reduction from the boolean satisfiability problem) there will be cases where patterns exist, but ATPG gives up since it will take an incredibly long time to find them (assuming P≠NP, of course).
The Stuck-at fault model
In the past several decades, the most popular fault model used in practice is the single stuck-at fault model. In this model, one of the signal lines in a circuit is assumed to be stuck at a fixed logic value, regardless of what inputs are supplied to the circuit. Hence, if a circuit has "n" signal lines, there are potentially "2n" stuck-at faults defined on the circuit, of which some can be viewed as being equivalent to others. The stuck-at fault model is a "logical" fault model because no delay information is associated with the fault definition. It is also called a "permanent" fault model because the faulty effect is assumed to be permanent, in contrast to "intermittent" faults which occur (seemingly) at random and "transient" faults which occur sporadically, perhaps depending on operating conditions (e.g. temperature, power supply voltage) or on the data values (high or low voltage states) on surroundingsignal lines. The single stuck-at fault model is "structural" because it is defined based on a structural gate-level circuit model.
A pattern set with 100% stuck-at fault coverage consists of tests to detect every possible stuck-at fault in a circuit. 100% stuck-at fault coverage does not necessarily guarantee high quality, since faults of many other kinds -- such as bridging faults, opens faults, and transition (aka delay) faults -- often occur.
Sequential-circuit ATPG searches for a sequence of vectors to detect a particular fault through the space of all possible vector sequences. Various search strategies and heuristics have been devised to find a shorter sequence and/or to find a sequence faster. However, according to reported results, no single strategy/heuristic out-performs others for all applications/circuits. This observation implies that a test generator should include a comprehensive set of heuristics.
Even a simple stuck-at fault requires a sequence of vectors for detection in a sequential circuit. Also, due to the presence of memory elements, the
controllabilityand observabilityof the internal signals in a sequential circuit are in general much more difficult than those in a combinational circuit. These factors make the complexity of sequential ATPG much higher than that of combinational ATPG.
Due to the high complexity of the sequential ATPG, it remains a challenging task for large, highly sequential circuits that do not incorporate any
Design For Testability (DFT) scheme. However, these test generators, combined with low-overhead DFT techniques such as partial scan, have shown a certain degree of success in testing large designs. For designs that are sensitive to area and/or performance overhead, the solution of using sequential-circuit ATPG and partial scan offers an attractive alternative to the popular full-scan solution, which is based on combinational-circuit ATPG.
ATPG and nanometer technologies
Historically, ATPG has focused on a set of faults derived from a gate-level fault model. As design trends move toward nanometer technology, new manufacture testing problems are emerging. During design validation, engineers can no longer ignore the effects of crosstalk and power supply noise on reliability and performance. Current fault modeling and vector-generation techniques are giving way to new models and techniques that consider timing information during test generation, that are scalable to larger designs, and that can capture extreme design conditions. For nanometer technology, many current design validation problems are becoming manufacturing test problems as well, so new fault-modeling and ATPG techniques will be needed.
Testing very-large-scale integrated circuits with a high
fault coverageis a difficult task because of complexity.Therefore many different ATPG methods have been developed to address combinatorial and sequential circuits.
* Early test generation algorithms such as
boolean differenceand literal propositionwere not practical to implement on a computer.
* The D Algorithm was the first practical test generation
algorithmin terms of memory requirements. The D Algorithm introduced D Notation which continues to be used in most ATPG algorithms.
* Path-Oriented Decision Making (
PODEM) is an improvement over the D Algorithm. PODEM was created in 1981 when shortcomings in D Algorithm became evident when design innovations resulted in circuits that D Algorithm could not realize.
* Fan-Out Oriented (
FAN Algorithm) is an improvement over PODEM. It limits the ATPG search space to reduce computation time and accelerates backtracing.
*Methods based on
Satisfiabilityare sometimes used to generate test vectors.
*Pseudorandom test generation is the simplest method of creating tests. It uses a
pseudorandomnumber generator to generate test vectors.
ATPG is a topic that is covered by several conferences throughout the year. The primary US conferences are the [http://www.itctestweek.org/ International Test Conference] and [http://www.tttc-vts.org/ The VLSI Test Symposium] , while in Europe the topic is covered by [http://www.date-conference.com/ DATE] .
Design For Test(DFT)
*"Electronic Design Automation For Integrated Circuits Handbook", by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 A survey of the field, from which the above summary was derived, with permission.
*cite book| title=Microelectronics Failure Analysis | year=2004 |publisher=ASM International | location=Materials Park, Ohio| id= ISBN 0-87170-804-3
* [http://www.cs.umbc.edu/~plusquel/vlsi_test/slides/html/combinational_atpg2.html Explanation of D, PODEM and FAN]
Wikimedia Foundation. 2010.
Look at other dictionaries:
Design For Test — (aka Design for Testability or DFT ) is a name for design techniques that add certain testability features to a microelectronic hardware product design. The premise of the added features is that they make it easier to develop and apply… … Wikipedia
Scan Test — bezeichnet bei (modernen) digitalen Schaltungen ein spezielles Verfahren zum Testen auf strukturelle (das heißt fertigungsbedingte) Schäden. Es beruht auf einer Hintereinanderschaltung sämtlicher im Entwurf verwendeter Flip Flops mit einer Modus… … Deutsch Wikipedia
Third-generation Pontiac Firebird — Infobox Automobile generation name = Third generation Pontiac Firebird production = 1982–1992 engine = 151 CID Pontiac I4 173 CID X V6 191 CID X V6 231 CID Buick Turbo V6 305 CID Chevrolet V8 350 CID Chevrolet V8 transmission = 4 speed automatic… … Wikipedia
Chevrolet Camaro (fifth generation) — This article is about the fifth generation Chevrolet Camaro. For general Camaro information, see Chevrolet Camaro. Chevrolet Camaro (fifth generation) Manufacturer Chevrolet and Holden Produc … Wikipedia
ATPG — Automatic Test Pattern Generation … Acronyms
ATPG — Automatic Test Pattern Generation … Acronyms von A bis Z
ATPG — Automatic Test Pattern Generation (Academic & Science » Electronics) … Abbreviations dictionary
Design for testing — Design for Test (aka Design for Testability or DFT ) is a name for design techniques that add certain testability features to a microelectronic hardware product design. The premise of the added features is that they make it easier to develop and… … Wikipedia
Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS … Deutsch Wikipedia
Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS … Deutsch Wikipedia