Lab2 2022F
Lab2 2022F
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
2
Outline
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
3
Introduction
5
Input/Output Files
Simulation
Library
library.atpg
Tessent Scan Circuit Tessent
Scan design_scan.v Fastscan
Simulation Fault
ATE Vectors
Testbenches Reports
6
Outline
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
7
Invoke Tessent Scan
8
Read Verilog and Library File
9
Specify Top Module and Clock
Specify the top level of the design
SETUP> set_current_design pre_norm
Clocks are primary input signals that
synchronously change the state of
sequential logic elements
SETUP> add_clocks 0 clk primary input to design
11
Entering Analysis System Mode
15
Outline
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
16
Invoke Tessent Fastscan and ATPG Setup
17
Generate Patterns (1/2)
18
Generate Patterns (2/2)
Without the “auto” option, you can specify
your own configurations using these
commands
ANALYSIS> set_atpg_limits
-cpu_seconds [integer]
-test_coverage [real]
-pattern_count [integer]
ANALYSIS> set_abort_limit [integer]
ANALYSIS> create_patterns
19
During ATPG Run
ATPG is performed one pass after another
Simulation performed for #gates = 3420 #faults = 5542
system mode = ATPG pattern source = internal patterns
------------------------------------------------------------------------
#patterns test #faults #faults # eff. # test process RE/AU/AAB
simulated coverage in list detected patterns patterns CPU time
deterministic ATPG invoked with comb/seq abort limit = 300/100
--- ------ --- --- --- --- 1.15 sec 0/0/15
64 87.16% 781 4761 60 60 1.23 sec
--- ------ --- --- --- --- 2.33 sec 87/1/91
128 95.93% 243 450 51 111 2.33 sec
--- ------ --- --- --- --- 2.58 sec 117/1/103
192 98.81% 70 143 50 161 2.59 sec
--- ------ --- --- --- --- 2.59 sec 117/1/103
229 99.73% 15 55 31 192 2.59 sec
20
ATPG Result Statistics Report
Stuck-at Faults
--------------------------------------
Fault Classes #faults
(total)
4 main parts ---------------------- --------------
FU (full) 6098
Fault number (#FU) -------------------- --------------
UO (unobserved) 15 ( 0.25%)
Test/Fault coverage
DS (det_simulation) 5409 (88.70%)
DI (det_implication) 540 ( 8.86%)
Pattern count
UU (unused) 16 ( 0.26%)
RE (redundant) 117 ( 1.92%)
AU (atpg_untestable) 1 ( 0.02%)
Runtime --------------------------------------
Coverage
Print ATPG statistics --------------------
test_coverage 99.73%
report fault_coverage 97.56%
atpg_effectiveness 99.75%
ANALYSIS> --------------------------------------
report_statistics #test_patterns
#simulated_patterns
192
229
CPU_time (secs) 300.5
21
View Fault Report
Display fault
information
ANALYSIS>
report faults -all
A fault is determined
by (i) a fault value and
(ii) a fault site
Each fault is associated
with a fault class/code
22
Fault Classes - Full (FU)
FU = TE + UT
TE: Testable
UT: Untestable
Faults which no pattern can exist to either
detect or possible-detect
Cannot cause functional failure, so they are
excluded from test coverage calculation
23
Fault Classes - Testable (TE)
DT: Detected
UD: Undetected
Faults that cannot be proven untestable or
ATPG_untestable
Initial class for testable faults
AU: ATPG_untestable
Due to pin constraint or insufficient sequential
depth placed on Fastscan
PD: Possible-detected
Faults with good-machine value being 0 or 1, and
faulty machine value being X in simulation
24
Fault Classes - Untestable (UT)
UU: Unused
Faults not connected to any circuit observation
point
BL: Blocked
Faults whose paths all blocked by tied logic
TI: Tied
Point of the fault value is always same
(e.g. SA 0 at AND2 with complementary inputs)
RE: Redundant
Faults undetectable after exhausting all patterns
and need dedicated analysis to verify redundancy
ANALYSIS> identify_redundant_faults
25
Test Coverage Formula Comparison
TetraMAX possible detected
default 50%
DT ( PT * posdet_cre dit ) default 0
test _ coverage
all _ faults (UD AU * au_credit )
Tessent Fastscan default 50%
DT ( PD * posdet_cre dit )
test_cover age *100
testable
DT ( PD * posdet_cre dit )
fault_cove rage *100
full
DT UT AU PU ( PT * posdet_cre dit )
ATPG_effectiveness *100
full
26
Testable=DT+PD+AU+UD Untestable=UU+TI+BL+RE
Save Patterns
Save patterns that are generated via ATPG
Various formats including binwgl, ctl2005,
stil2005, stil999, Verilog, VHDL, wgl, zycad,
tstl2, utic
ANALYSIS> write_patterns pre_norm_scan.pat
-verilog –proc –replace
ANALYSIS> write_patterns pre_norm_scan_tstl2.pat
-TSTL2 –replace
ANALYSIS> exit
Toshiba Standard Tester Interface
Language 2
27
Outline
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
28
Mixed Flow
Synopsys Design Compiler is way better at
mapping design from RTL code to gate-
level netlist
Some practices in industrial project hence
adopt
Design Compiler to synthesize gate-level
netlist and do scan chain insertion
Tessent Fastscan to perform ATPG
29
Input/Output Files
libcomp
Simulation
Library
tsm18.v
Simulation Fault
ATE Vectors
Testbenches Reports
30
Input Files Required in Mixed Flow
Library file needs to be converted
From .v to .atpg
The detailed information as to scan
chain needs to be converted
From .stil to .dofile and .proc
Scan design
Gate-level netlist with scan chain inserted
31
Convert STIL File
Use “stil2mgc” to convert STIL file from Design
Compiler into Tessent-compatible dofile and
test procedure file
$ stil2mgc pre_norm_scan.stil
It generates both files for setup in Fastscan
pre_norm_scan.stil.do
pre_norm_scan.stil.proc
33
Perform ATPG using Tessent
Read scan circuit from Design Compiler to
perform ATPG
$ tessent –shell
SETUP> set_context patterns -scan
SETUP> read_cell_library l90sprvt.atpg
SETUP> read_verilog pre_norm_scan.v
SETUP> dofile pre_norm_scan.stil.do
SETUP> set_system_mode analysis
ANALYSIS> set_fault_type stuck
ANALYSIS> create_patterns -auto
ANALYSIS> report_statistics
34
Outline
Introduction
Tessent Scan
Tessent Fastscan
Mixed Flow
Lab
35
Lab Objective
Compare the following during ATPG using the
DC+TMAX, DC+TS and TS flows
Total fault number
Test coverage
Pattern count
Run time (s)
Run on circuit “pre_norm”
DC+TMAX, DC+TS: “pre_norm.v” in ~/lab1/
TS: “pre_norm_noscan.v” in ~/lab2/
36
Example of Lab Result
37
References
38