You are on page 1of 23

VLSI TESTING

Discussion

Need for Testing Manufacturing Test Principles Design Strategies for Test Chip Level Test Techniques System Level Test Techniques

Why Testing?

Testing is one of the most expensive parts of chips Logic verification accounts for > 50% of design effort for many chips

Debug time after fabrication has enormous opportunity cost Shipping defective parts can sink a company

By detecting a malfunctioning chip early, the manufacturing cost can be kept low.

Why Testing?

Yield = Number of good die / Total number of die per wafer. Because of the complexity of the manufacturing process, not all die on a wafer function correctly. Dust particles and small imperfections in starting material or photo masking can result in a bridged connections or missing features and these imperfections are called faults. Testing a chip can occur at

Wafer level Packaged chip level Board level System level Field level.

Testing at Various Levels

Test Categories
Functionality Tests (Logical Verification)
Silicon Debug Manufacturing Tests

Logical Verification

Does the chip simulate correctly?


Usually done at HDL level Verification engineers write test bench for HDL

Cant test all cases Look for corner cases Try to break logic design

Silicon Debug

Run on the first batch of the chips that return from the fabrication.

If you are lucky, they work the first time, If not???

Much more extensive than the first one because the chip can be tested at a full speed in a system. Required to locate the cause of failures because the designer has less visibility into the fabricated chip compared to during design verification.

Manufacturing Tests

Verify that every transistor, gate and storage element in the chip functions correctly. A speck of dust on a wafer is sufficient to kill chip Yield of any chip is < 100%

Must test chips after manufacturing before delivery to customers to only ship good parts

Manufacturing Tests

Manufacturing testers are very expensive


Minimize time on tester Careful selection of test vectors

Same tests can be used for all three steps It is easier to use one set of tests to chase down the logic bugs and another, separate set optimized for manufacturing defects.

Types of Faults

Fault Any condition that causes a device to function improperly. Solid or Permanent Fault

A faulty condition that does not change with time. A faulty condition that appears and disappears with time. Faults that cause a given logical device to function entirely different logic device. All faults other than logical faults

Intermittent Fault

Logical Faults

Non Logical Faults

Stuck-at Fault Model

A popular and useful model for representing faults in the logic device. Types of model

Stuck-at logic zero (s-a-0) Stuck-at logic one (s-a-1) Gate oxide shorts Metal-to-metal shorts

These faults are due to


Short-Circuit Faults

Other Names: Stuck-closed faults or Bridging faults The short S1 results in an SA-0 fault at input A The short S2 modifies the function of the gate. To ensure the most accurate modeling, faults should be modeled at the transistor level because the complete circuit structure is known only at this level.

Identifying Stuck-closed Faults


By observing static current (IDD) while applying test vectors A 2-input NOR gate Fault The drain connection on a pMOS transistor is shorted to VDD. This fault occurs due to the overlapping of stray metal on the VDD line and drain connections. Identifying the faults Apply the test vectors 01 or 10 to the A and B inputs Measure the static IDD Notice that it rises to some value determined by size of the nMOS transistors.

Open Circuit Faults

Convert a combinational logic circuit into a sequential logic circuit. A 2-input NOR gate. One of the transistors rendered is ineffective. If the nMOS transistor A is stuck open, then the function displayed by the gate will be

where A is + the previous ZZ = B+ B Z' state of the gate.

Delay Fault Testing


Timing is also included. Still works with increased tpdf. Fault become sequential as the detection of the fault depends on the previous state of the gate. Occurs due to crosstalk. Occurs in SOI due to history effect.

To increase Testability

Increase Observability

Add more pins (?!)

Add small probe bus, selectively enable different values onto bus
Use a hash function to compress a sequence of values (e.g., the values of a bus over many clock cycles) into a small number of bits for later read read-out

Cheap read read-out of all state information Use muxes to isolate sub sub-modules and select sources of test data as inputs Provide easy setup of internal state

Increase Controllability

Fault Coverage

A measure of goodness of a set of test vectors.

What percentage of the chips internal nodes were checked? Should be excess of 98.5% fault coverage. Take each circuit node in sequence. Held to 0 (S-A-0) Identify the faults Held to 1 (S-A-1) Identify the faults
Total nodes detected as faulty Fault Coverage =

Procedure

Test vectors applied

Automatic Test Pattern Generation (ATPG)

For given fault, determine excitation vector (called test vector) that will propagate error to primary (observable) output. Majority of available tools: combinational networks only Sequential ATPG available from academic research.

Automatic Test Pattern Generation (ATPG)

Most ATPG approaches have been based on simulation. A five vale logic is used to implement test generation algorithms 1 0 X D Logic One Logic Zero Unknown or Dont Care Condition Logic 1 in good machine. Logic 0 in faulty machine

Logic 0 in good machine. Logic 1 in faulty machine

Built in Self Test (BIST)

BIST lets blocks test themselves.

Generate pseudo-random inputs to combinational logic. Combine outputs into a syndrome. With high probability, block is fault-free if it produces the expected syndrome

Rapidly becoming more important with increasing chip-complexity and larger modules

Built in Self Test (BIST)

THANK YOU

You might also like