Professional Documents
Culture Documents
Generation
Srivatsa Mutukuri
Contents:
Introduction to ATPG
Fault Modeling
Fault Classes
Atspeed Testing
Transition
Path Delay
Introduction to ATPG Tools
Coverage Analysis
ATPG Commands in Mentor Tools
Patterns
Introduction to ATPG
Automatic Test Pattern Generation is a process used in semiconductor electronics
device testing.
The test patterns required to check a device for faults are automatically generated by
program
Types of ATPG
Combinational ATPG
Sequential ATPG
Multiload ATPG
Fault Modeling
Necessity of Fault Modeling
Fault Models
Fault Detection
Fault Collapsing
Why Fault Modeling?
Identifies the targeted faults
Model faults most likely to occur
limits the scope of test generation
Creates test patterns only for the modelled faults
Makes effectiveness measurable
Fault coverage can be computed for specific test patterns to reflect its
effectiveness
Makes analysis easy
Associates specific defects with specific test patterns
Fault Models
Stuck At Faults
Delay Faults
Common Fault Models
Bridging Faults
Transistor short/open Faults
Functional Faults
Memory Faults
PLA Faults
Stuck At Faults
Single Stuck At faults
Fault Equivalence :
If all the test vectors of one fault (F1) also detects the other fault (F2).
If F1 & F2 are said to be equivalent then corresponding faulty functions are
identical.
Fault Equivalence Rules :
Fault Equivalence Example :
Equivalence Collapsing :
Testable
DT : Detected
PD : Possibly Detected
AU: ATPG Untestable
UD: Undetected
Untestable
UU: Unused
BL : Blocked
TI : Tied
RE : Redundant
Testable Faults : Faults can be tested by some patterns
Detected (DT) :
The Faults which are detected during the ATPG process are categories under DT
det_simulation(DS): The faults detected when the tools performs simulation
det_implication(DI): The faults detected when the tool performs learning analysis
Posdet (PD) :
The Possible detected, faults includes all the faults that fault simulation identifies as possible detected
posdet_testable(PT): Potentially detectable posdet faults. With higher abort limit we can reduce the number of these
faults
posdet_untestable(PU): These are proven ATPG untestable and hard undetectable faults.
ATPG Untestable (AU)
This fault class includes all the faults for which test generator unable to find the pattern to create a test.
Testable faults become ATPG untestable faults because of constraints or limitations, placed on the ATPG tool such as
pin constraint or an insufficient sequential depth.
This faults may be detectable, if we remove some constraint, or change some limitations on the test generator
UNDETECTED (UD):
This fault class includes the undetected faults that cannot be proven untestable or atpg_untestable
uncontrolled(UC)
unobserved(UO)
All the testable faults prior to ATPG are put in the UC category. Faults that remain UC or UO after APTG aborted,
which means that with higher abort limit may reduce the UC and UO fault class
Untestable :
The faults for which no pattern exit to either detect or possible detect them.
These faults cannot cause any functional failures.
The tools excludes them while calculating the test coverage.
Unused (UU) :
Any floating pins not used in the design come under UU fault
The unused faults class includes all the faults on circuit unconnected to any
observation point
Tied (TI) :
This faults includes faults on gates where the point of the faults is tied to a value identical to the fault stuck value
Blocked (BL):
Due to tied logic in the design few faults are blocked and these are categories into Blocked faults. By adding the
observable test point we can increase the coverage report.
Redundant (RE):
The faults which are undetectable by the tool by any pattern , are classified as redundant faults
Tester Clock Frequency Vs Fault Model
Path Delay : 100 MHz – 1 GHz
Transition Delay : 1-100 MHz
Stuck – at : 1MHz
Atspeed Testing :
The basic operation of at-speed scan testing involves loading the scan chains
at a slow clock rate and then applying two clock pulses at the functional
frequency.
The first pulse causes a transition to start propagating from a scan-cell.
The second pulse captures the scan cell value at the end of the path being
tested.
Two types of testing
Launch off Capture (LOC)
Launch off Shift (LOS)
Launch off Capture :
The scan chain is loaded and then placed in
functional/capture mode by forcing
scan_enable (SE) to 0.
An extra cycle is added to the test pattern
that has no activity to ensure that the
scan_enable completely settles.
Next, two pulses are generated to launch
and capture the transition.
Launches the transition pulse in the
functional mode of operation, so it is likely
to propagate transitions along paths that are
real functional paths.
Often, the coverage report from broadside
pattern ATPG can be 10% lower than
standard static stuck-at patterns.
Launch off Shift :
Outputs :
Patterns in STIL or .V format
Fault report files
Fast scan Modes :
Setup Mode
Analysis Mode
Unix > tessent –shell
Setup > set_context patterns –scan // Invokes the Fastscan tool
Setup > read_cell_library adk.tcelllib //read the lib file
Setup > read_verilog netlist.v // reads the scan inserted netlist
Setup > set_current_design // loads the top_module of the design
Setup >dofile scan_verify*.dofile //reads the dofile, dofile file contains clock, testproc file details
Setup > check_design_rules // checks for the DRC’s, if there are no DRC’S enters into the Analysis mode
Analysis > set_fault_type stuck // adding the stuck at fault type
Analysis > add_faults –all // adding all faults at all fault sites in the design
Analysis > create_patterns // generates the test patterns for specified fault type
Analysis > report_statistics –detail // generates the detailed fault classes report
Analysis >write_patterns netlist_stuck_chain.stil –stil –chain // generates the chain stil patterns
Analysis >write_patterns netlist_stuck_serial.stil –stil –serial // generates the serial stil patterns
Analysis >write_patterns netlist_stuck_parallel.stil –stil –parallel // generates the serial stil patterns
Analysis >write_patterns netlist_stuck_chain.v –verilog –chain // generates the chain stil patterns
Analysis >write_patterns netlist_stuck_serial.v –verilog –serial // generates the serial stil patterns
Analysis >write_patterns netlist_stuck_parallel.v –verilog –parallel // generates the serial stil patterns
ATPG Testproc :
Coverage Analysis :
Test Coverage =
Fault Coverage =
add_clock 0 clk1
add_input_constraint D –c0
Coverage Analysis
Pattern Count
Cycle Count
Types of Patterns
Statistical Reports
Fault List
THANK
YOU