Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Test de Circuitos Integrados Diseño ASIC TEST Índice I: Introducción al Test de Circuitos Integrados II: Métodos de Test III: Design for testability Diseño ASIC TEST VLSI Realization Process Customer’s need Determine requirements Write specifications Design synthesis and Verification Test development Fabrication Manufacturing test Chips to customer Diseño ASIC TEST Definitions Design synthesis: Given an I/O function, develop a procedure to manufacture a device using known materials and processes. Verification: Predictive analysis to ensure that the synthesized design, when manufactured, will perform the given I/O function. Test: A manufacturing step that ensures that the physical device, manufactured from the synthesized design, has no manufacturing defect. Diseño ASIC TEST Verification vs. Test Verifies correctness of design. Performed by simulation, hardware emulation, or formal methods. Performed once prior to manufacturing. Responsible for quality of design. Diseño ASIC Verifies correctness of manufactured hardware. Two-part process: 1. Test generation: software process executed once during design 2. Test application: electrical tests applied to hardware Test application performed on every manufactured device. Responsible for quality of devices. TEST Roles of Testing Detection: Determination whether or not the device under test (DUT) has some fault. Diagnosis: Identification of a specific fault that is present on DUT. Device characterization: Determination and correction of errors in design and/or test procedure. Failure mode analysis (FMA): Determination of manufacturing process errors that may have caused defects on the DUT. Diseño ASIC TEST Problems of Ideal Tests Ideal tests detect all defects produced in the manufacturing process. Ideal tests pass all functionally good devices. Very large numbers and varieties of possible defects need to be tested. Difficult to generate tests for some real defects. Defect-oriented testing is an open problem. Diseño ASIC TEST Real Tests Based on analyzable fault models, which may not map on real defects. Incomplete coverage of modeled faults due to high complexity. Some good chips are rejected. The fraction (or percentage) of such chips is called the yield loss. Some bad chips pass tests. The fraction (or percentage) of bad chips among all passing chips is called the defect level. Diseño ASIC TEST Types of Testing Verification testing, characterization testing, or design debug Verifies correctness of design and of test procedure – usually requires correction to design Manufacturing testing Factory testing of all manufactured chips for parametric faults and for random defects Acceptance testing (incoming inspection) User (customer) tests purchased parts to ensure quality Diseño ASIC TEST Testing Principle Diseño ASIC TEST Manufacturing Test Determines whether manufactured chip meets specs Must cover high % of modeled faults Must minimize test time (to control cost) No fault diagnosis Tests every device on chip Test at speed of application or speed guaranteed by supplier Diseño ASIC TEST Types of Manufacturing Tests Wafer sort or probe test – done before wafer is scribed and cut into chips Includes test site characterization – specific test devices are checked with specific patterns to measure: – Gate threshold – Polysilicon field threshold – Poly sheet resistance, etc. Packaged device tests Diseño ASIC TEST Sub-types of Tests Parametric – measures electrical properties of pin electronics – delay, voltages, currents, etc. – fast and cheap Functional – used to cover very high % of modeled faults – test every transistor and wire in digital circuits – long and expensive Diseño ASIC TEST Two Different Meanings of Functional Test ATE and Manufacturing World – any vectors applied to cover high % of faults during manufacturing test Automatic Test-Pattern Generation World – testing with verification vectors, which determine whether hardware matches its specification – typically have low fault coverage (< 70 %) Diseño ASIC TEST Test Programming Diseño ASIC TEST Automatic Test Equipment (ATE) Diseño ASIC TEST T6682 ATE Specifications Uses 0.35 mm VLSI chips in implementation 1024 pin channels Speed: 250, 500, or 1000 MHz Timing accuracy: +/- 200 ps Drive voltage: -2.5 to 6 V Clock/strobe accuracy: +/- 870 ps Clock settling resolution: 31.25 ps Pattern multiplexing: write 2 patterns in one ATE cycle Pin multiplexing: use 2 pins to control 1 DUT pin Diseño ASIC TEST Pattern Generation Sequential pattern generator (SQPG): stores 16 Mvectors of patterns to apply to DUT, vector width determined by # DUT pins Algorithmic pattern generator (ALPG): 32 independent address bits, 36 data bits For memory test – has address descrambler Has address failure memory Scan pattern generator (SCPG) supports JTAG boundary scan, greatly reduces test vector memory for full-scan testing 2 Gvector or 8 Gvector sizes Diseño ASIC TEST Fault Modeling Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults – – – – Single stuck-at faults Fault equivalence Fault dominance and checkpoint theorem Classes of stuck-at faults and multiple faults Transistor faults Diseño ASIC TEST Some Real Defects in Chips Processing defects Missing contact windows Parasitic transistors Oxide breakdown ... Material defects Bulk defects (cracks, crystal imperfections) Surface impurities (ion migration) ... Time-dependent failures Dielectric breakdown Electromigration ... Packaging failures Contact degradation Seal leaks ... Diseño ASIC TEST Common Fault Models Single stuck-at faults Transistor open and short faults Memory faults PLA faults (stuck-at, cross-point, bridging) Functional faults (processors) Delay faults (transition, path) Analog faults Diseño ASIC TEST Single Stuck-at Fault Three properties define a single stuck-at fault – Only one line is faulty – The faulty line is permanently set to 0 or 1 – The fault can be at an input or output of a gate Example: XOR circuit has 12 fault sites ( ) and 24 single stuck-at faults c 1 0 a d b e f Faulty circuit value Good circuit value j s-a-0 g 1 0(1) 1(0) h i k z 1 Test vector for h s-a-0 fault Diseño ASIC TEST Fault Equivalence Number of fault sites in a Boolean gate circuit = #PI + #gates + # (fanout branches). Fault equivalence: Two faults f1 and f2 are equivalent if all tests that detect f1 also detect f2. If faults f1 and f2 are equivalent then the corresponding faulty functions are identical. Fault collapsing: All single faults of a logic circuit can be divided into disjoint equivalence subsets, where all faults in a subset are mutually equivalent. A collapsed fault set contains one fault from each equivalence subset. Diseño ASIC TEST Equivalence Rules sa0 sa1 AND sa0 sa1 sa0 sa1 sa0 sa1 OR sa0 sa0 sa1 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 NAND sa0 sa1 Diseño ASIC WIRE sa0 sa1 sa0 sa1 sa0 sa1 NOR NOT sa0 sa1 sa0 sa1 sa1 sa0 sa0 sa1 sa0 FANOUT sa1 TEST Equivalence Example sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 Faults in red removed by equivalence collapsing sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 20 Collapse ratio = ----- = 0.625 32 Diseño ASIC TEST Fault Dominance If all tests of some fault F1 detect another fault F2, then F2 is said to dominate F1. Dominance fault collapsing: If fault F2 dominates F1, then F2 is removed from the fault list. When dominance fault collapsing is used, it is sufficient to consider only the input faults of Boolean gates. See the next example. In a tree circuit (without fanouts) PI faults form a dominance collapsed fault set. If two faults dominate each other then they are equivalent. Diseño ASIC TEST Dominance Example All tests of F2 F1 s-a-1 F2 s-a-1 110 101 s-a-1 001 000 100 010 011 Only test of F1 s-a-1 s-a-1 s-a-0 A dominance collapsed fault set Diseño ASIC TEST Checkpoints Primary inputs and fanout branches of a combinational circuit are called checkpoints. Checkpoint theorem: A test set that detects all single (multiple) stuck-at faults on all checkpoints of a combinational circuit, also detects all single (multiple) stuck-at faults in that circuit. Total fault sites = 16 Checkpoints ( ) = 10 Diseño ASIC TEST Classes of Stuck-at Faults Following classes of single stuck-at faults are identified by fault simulators: – Potentially-detectable fault -- Test produces an unknown (X) state at primary output (PO); detection is probabilistic, usually with 50% probability. – Initialization fault -- Fault prevents initialization of the faulty circuit; can be detected as a potentiallydetectable fault. – Hyperactive fault -- Fault induces much internal signal activity without reaching PO. – Redundant fault -- No test exists for the fault. – Untestable fault -- Test generator is unable to find a test. Diseño ASIC TEST Multiple Stuck-at Faults A multiple stuck-at fault means that any set of lines is stuck-at some combination of (0,1) values. The total number of single and multiple stuck-at faults in a circuit with k single fault sites is 3k-1. A single fault test can fail to detect the target fault if another fault is also present, however, such masking of one fault by another is rare. Statistically, single fault tests cover a very large number of multiple faults. Diseño ASIC TEST Transistor (Switch) Faults MOS transistor is considered an ideal switch and two types of faults are modeled: – Stuck-open -- a single transistor is permanently stuck in the open state. – Stuck-short -- a single transistor is permanently shorted irrespective of its gate voltage. Detection of a stuck-open fault requires two vectors. Detection of a stuck-short fault requires the measurement of quiescent current (IDDQ). Diseño ASIC TEST Stuck-Open Example pMOS FETs 1 0 0 0 A B nMOS FETs Diseño ASIC Vector 1: test for A s-a-0 (Initialization vector) Vector 2 (test for A s-a-1) VDD Stuckopen C 0 Two-vector s-op test can be constructed by ordering two s-at tests 1(Z) Good circuit states Faulty circuit states TEST Stuck-Short Example Test vector for A s-a-0 pMOS FETs 1 0 A IDDQ path in faulty circuit Stuckshort B nMOS FETs Diseño ASIC VDD C Good circuit state 0 (X) Faulty circuit state TEST Problem with stuck-at model: CMOS short fault ‘0’ ‘0’ Diseño ASIC C D A B ‘0’ A C ‘1’ B D Causes short circuit between Vdd and GND for A=C=0, B=1 Possible approach: Supply Current Measurement (IDDQ) but: not applicable for gigascale integration [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright TEST1996 UCB] Fault Simulation Problem and motivation Fault simulation algorithms – Serial – Parallel – Deductive – Concurrent Random Diseño ASIC Fault Sampling TEST Problem and Motivation Fault simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage - fraction (or percentage) of modeled faults detected by test vectors Set of undetected faults Motivation Determine test quality and in turn product quality Find undetected fault targets to improve tests Diseño ASIC TEST Fault simulator in a VLSI Design Process Verified design netlist Verification input stimuli Fault simulator Test vectors Modeled Remove fault list tested faults Fault coverage ? Low Test Delete compactor vectors Test generator Add vectors Adequate Stop Diseño ASIC TEST Fault Simulation Scenario Circuit model: mixed-level – Mostly logic with some switch-level for high-impedance (Z) and bidirectional signals – High-level models (memory, etc.) with pin faults Signal states: logic – Two (0, 1) or three (0, 1, X) states for purely Boolean logic circuits – Four states (0, 1, X, Z) for sequential MOS circuits Timing: – Zero-delay for combinational and synchronous circuits – Mostly unit-delay for circuits with feedback Diseño ASIC TEST Fault Simulation Scenario (continued) Faults: – Mostly single stuck-at faults – Sometimes stuck-open, transition, and path-delay faults; analog circuit fault simulators are not yet in common use – Equivalence fault collapsing of single stuck-at faults – Fault-dropping -- a fault once detected is dropped from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosis – Fault sampling -- a random sample of faults is simulated when the circuit is large Diseño ASIC TEST Fault Simulation Algorithms Serial Parallel Deductive Concurrent Differential Diseño ASIC TEST Serial Algorithm Algorithm: Simulate fault-free circuit and save responses. Repeat following steps for each fault in the fault list: – Modify netlist by injecting one fault – Simulate modified netlist, vector by vector, comparing responses with saved responses – If response differs, report fault detection and suspend simulation of remaining vectors Advantages: – Easy to implement; needs only a true-value simulator, less memory – Most faults, including analog faults, can be simulated Diseño ASIC TEST Serial Algorithm (Cont.) Disadvantage: Much repeated computation; CPU time prohibitive for VLSI circuits Alternative: Simulate many faults together Test vectors Fault-free circuit Comparator f1 detected? Comparator f2 detected? Comparator fn detected? Circuit with fault f1 Circuit with fault f2 Circuit with fault fn Diseño ASIC TEST Parallel Fault Simulation Compiled-code method; best with two-states (0,1) Exploits inherent bit-parallelism of logic operations on computer words Storage: one word per line for two-state simulation Multi-pass simulation: Each pass simulates w1 new faults, where w is the machine word length Speed up over serial method ~ w-1 Not suitable for circuits with timing-critical and non-Boolean logic Diseño ASIC TEST Parallel Fault Sim. Example Bit 0: fault-free circuit Bit 1: circuit with c s-a-0 Bit 2: circuit with f s-a-1 1 a b 1 1 1 1 1 1 1 c 0 1 1 e 1 s-a-0 0 d Diseño ASIC 0 c s-a-0 detected 0 f 0 1 0 s-a-1 0 0 1 TEST g Deductive Fault Simulation One-pass simulation Each line k contains a list Lk of faults detectable on k Following true-value simulation of each vector, fault lists of all gate output lines are updated using set-theoretic rules, signal values, and gate input fault lists PO fault lists provide detection data Limitations: – Set-theoretic rules difficult to derive for non-Boolean gates – Gate delays are difficult to use Diseño ASIC TEST Deductive Fault Sim. Example Notation: Lk is fault list for line k kn is s-a-n fault on line k b 1 {b0} {a0} {b0 , c0} c d {b0 , d0} Diseño ASIC Le = La U Lc U {e0} = {a0 , b0 , c0 , e0} e f 1 0 {b0 , d0 , f1} 1 g Lg = (Le Lf ) U {g0} = {a0 , c0 , e0 , g0} U a 1 Faults detected by the input vector TEST Concurrent Fault Simulation Event-driven simulation of fault-free circuit and only those parts of the faulty circuit that differ in signal states from the fault-free circuit. A list per gate containing copies of the gate from all faulty circuits in which this gate differs. List element contains fault ID, gate input and output values and internal states, if any. All events of fault-free and all faulty circuits are implicitly simulated. Faults can be simulated in any modeling style or detail supported in true-value simulation (offers most flexibility.) Faster than other methods, but uses most memory. Diseño ASIC TEST Conc. Fault Sim. Example 0 0 1 a b 1 1 1 c d 1 1 1 0 c0 b0 a0 1 1 0 0 0 e0 0 0 1 Diseño ASIC 0 1 1 e 1 0 0 f d0 0 0 1 f1 1 1 1 1 0 b0 1 a0 g 0 0 1 1 0 0 g 0 b0 0 1 0 1 1 1 f1 c0 0 0 0 1 1 1 d0 TEST e0 0 Fault Sampling A randomly selected subset (sample) of faults is simulated. Measured coverage in the sample is used to estimate fault coverage in the entire circuit. Advantage: Saving in computing resources (CPU time and memory.) Disadvantage: Limited data on undetected faults. Diseño ASIC TEST Motivation for Sampling Complexity of fault simulation depends on: – Number of gates – Number of faults – Number of vectors Complexity of fault simulation with fault sampling depends on: – Number of gates – Number of vectors Diseño ASIC TEST Random Sampling Model Detected fault All faults with a fixed but unknown coverage Random picking Np = total number of faults (population size) C = fault coverage (unknown) Diseño ASIC Undetected fault Ns = sample size Ns << Np c = sample coverage (a random variable) TEST Automatic Test-Pattern Generation (ATPG) Basics Functional vs. Structural ATPG Diseño ASIC TEST Carry Circuit Diseño ASIC TEST Functional vs. Structural (Continued) Functional ATPG – generate complete set of tests for circuit input-output combinations 129 inputs, 65 outputs: 2129 = 680,564,733,841,876,926,926,749, 214,863,536,422,912 patterns Using 1 GHz ATE, would take 2.15 x 1022 years Structural test: No redundant adder hardware, 64 bit slices Each with 27 faults (using fault equivalence) At most 64 x 27 = 1728 faults (tests) Takes 0.000001728 s on 1 GHz ATE Designer gives small set of functional tests – augment with structural tests to boost coverage to 98+ % Diseño ASIC TEST Automatic Test Pattern Generation: Path Sensitization Goals: Determine input pattern that makes a fault controllable (triggers the fault, and makes its impact visible at the output nodes) Fault enabling 1 1 1 1 Fault propagation 0 sa0 1 Out 1 0 Techniques Used: D-algorithm, Podem Diseño ASIC TEST Path Sensitization Method Circuit Example 1 Fault Sensitization 2 Fault Propagation 3 Line Justification Diseño ASIC TEST Using 5-Valued Logic Failing Good Symbol Meaning Machine Machine 1 D 0/1 0 0 D 1/0 1 0 0 0/0 0 1 1 1/1 1 X X X/X X Represent two machines, which are simulated simultaneously: Good circuit machine (1st value) Bad circuit machine (2nd value) Diseño ASIC TEST Path Sensitization Method Circuit Example Try path f – h – k – L blocked at j, since there is no way to justify the 1 on i 1 1 D D D D 1 0 D 1 Diseño ASIC TEST Path Sensitization Method Circuit Example Try simultaneous paths f – h – k – L and g – i – j – k – L blocked at k because Dfrontier (chain of D or D) disappears 1 1 D D 1 D Diseño ASIC D D TEST Path Sensitization Method Circuit Example Final try: path g – i – j – k – L – test found! 0 1 0 D D D D D 1 1 Diseño ASIC TEST Irredundant Hardware and Test Patterns Combinational ATPG can find redundant (unnecessary) hardware Fault Test a sa1, b sa0 A=1 a sa0, b sa1 A=0 Therefore, these faults are not redundant Diseño ASIC TEST Redundant Hardware and Simplification Diseño ASIC TEST Redundant Fault q sa1 Diseño ASIC TEST Multiple Fault Masking f Diseño ASIC sa0 tested when fault q sa1 not there TEST Multiple Fault Masking f sa0 masked when fault q sa1 also present Diseño ASIC TEST Multiple Fault Masking Part II f sa0 masked when fault q sa1 also present Diseño ASIC TEST Basic Principle of IDDQ Testing Diseño ASIC Measure IDDQ current through Vss bus TEST Multiple IDDQ Fault Example Diseño ASIC TEST Limitations of IDDQ Testing Sub-micron technologies have increased leakage currents Transistor sub-threshold conduction Harder to find IDDQ threshold separating good & bad chips IDDQ tests work: When average defect-induced current greater than average good IC current Small variation in IDDQ over test sequence & between chips Diseño ASIC TEST