Title: STIL ScanStructures Application in ATE Domains
1STIL ScanStructures - Application in ATE Domains
- ...and Concerns
- Greg Maston
- Synopsys
2Purpose
- STIL ScanStructure information is being applied
at Test, with mixed reviews - This presentation identifies
- the concerns
- what does work
- what is required to allow it to work
- and when it doesnt work
3Intent of STIL ScanStructures
- To maintain information about the internal scan
constructs of a design - To support accelerated-simulation contexts by
bypassing serial scan loading
4Caveat
- As stated in the STIL spec, the ScanStructures
data was never intended to go to test. Last
sentence of the first paragraph of clause 20 - The ScanStructures are not required for
translation of STIL to a testers format, since
the scan data is in tester ready format.
5Reason to take this data to Test
- Provide for at-tester identification of the
scancell that captured the failing situation - Identify scan-based failures by more than vector
offset information
6Mapping Output Failures to ScanCells
- Assumes a direct (or identifiable) relationship
of scan-out-measures by Vector, to scan cell order
ScanChain A
// start Shift
ScanCells
V 205, so0
main.seg1.regb_16
Scan cells listed in reverse order...
V 206, so0
main.seg1.regb_15
V 207, so0
main.seg1.regb_14
V 208, so1
main.seg1.regb_13
V 209, so0
main.seg1.regb_12
7STIL Requirements to support this application
- The EFFECTIVE SCAN START of the scan operation
must be definitively known - The EFFECTIVE SCAN CHAIN related to this failure
must be identified - The EFFECTIVE STATE of the cell at the failure
may be desired
8Effective Scan Start
- The scan operation is commonly the application of
the Vectors inside a STIL Shift block - But scan shifts may occur before or after the
Shift block as well, as single or multiple
Vectors (in-line expansion of the scan operation
or partial flattening of scan data).
9Effective Scan Chain
- Either
- The failing output signal is uniquely identified
in the scan chain definitions of the design - Or
- The ScanChain statement must be present in the
pattern sequence before a scan operation starts,
to identify which chain(s) are in effect for the
next scan operation.
10Effective Scan State
- If the "actual state of the scancell" is desired,
then it is critical that the scan inversion data
be properly and completely represented in the
ScanCell block in order to derive the proper
state.
11Mapping Scenarios
- Scenario 1
- Clearly delineated scan application
- Unambiguous scan chain reference
- Scenario 2
- Reverse the order of the clock and output-strobe
timing - Scenario 3
- Hidden scan
12Scenario 1
ScanStructures ScanChain A ScanOut so
ScanCells ...
Waveforms _ins 10 0ns U/D _outs
HLX 20ns h/l/x _clks P 30ns U
45ns D
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
13Scenario 1
ScanStructures ScanChain A ScanOut so
ScanCells ...
1. Identify scan
Waveforms _ins 10 0ns U/D _outs
HLX 20ns h/l/x _clks P 30ns U
45ns D
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
14Scenario 1
ScanStructures ScanChain A ScanOut so
ScanCells ...
1. Identify scan 2. Identify Start
Waveforms _ins 10 0ns U/D _outs
HLX 20ns h/l/x _clks P 30ns U
45ns D
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
15Scenario 1
ScanStructures ScanChain A ScanOut so
ScanCells ...
1. Identify scan 2. Identify Start 3. Identify
Chain
Waveforms _ins 10 0ns U/D _outs
HLX 20ns h/l/x _clks P 30ns U
45ns D
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
16Scenario 1
ScanStructures ScanChain A ScanOut so
ScanCells ...
// start Shift
V 205
V 206, so1/0
1. Identify scan 2. Identify Start 3. Identify
Chain 4. Map Failure to cell
Waveforms _ins 10 0ns U/D _outs
HLX 20ns h/l/x _clks P 30ns U
45ns D
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
17Scenario 2
ScanStructures ScanChain A ScanOut so
ScanCells ...
Only change flip the order of events on the
clock and output measures
Waveforms _ins 10 0ns U/D _clks
P 20ns U 35ns D _outs HLX
40ns h/l/x
Procedures load_unload WFT TP Shift
V se1 ckP so...
Pattern load_unload (soHHHL...
18Scenario 2
ScanStructures ScanChain A ScanOut so
ScanCells ...
Consequential change add a Vector to capture
first scan output
Waveforms _ins 10 0ns U/D _clks
P 20ns U 35ns D _outs HLX
40ns h/l/x
Procedures load_unload WFT TP V
so Shift V se1 ckP so...
Pattern load_unload (soHHHL...
19Scenario 2
ScanStructures ScanChain A ScanOut so
ScanCells ...
1. Identify scan
Waveforms _ins 10 0ns U/D _clks
P 20ns U 35ns D _outs HLX
40ns h/l/x
Procedures load_unload WFT TP V
so Shift V se1 ckP so...
Pattern load_unload (soHHHL...
20Scenario 2
ScanStructures ScanChain A ScanOut so
ScanCells ...
1. Identify scan 2. Identify Start
Waveforms _ins 10 0ns U/D _clks
P 20ns U 35ns D _outs HLX
40ns h/l/x
Note the scan starts in the cycle before the
Shift
Procedures load_unload WFT TP V
so Shift V se1 ckP so...
Pattern load_unload (soHHHL...
21Scenario 3 Hidden Scan
1. Got Milk ?
Procedures load_unload WFT TP V
so V so V so V so ...
22Scenario 3 Hidden Scan
1. Identify scan ?
Procedures load_unload WFT TP V
so V so V so V so ...
23STIL Requirements to support this application
- Convention to identify start of scan operation
- ScanStructure ScanChain definitions uniform to
this convention - ScanStructure ScanChain definitions logically
correct (to interpret state) - Use of the ScanChain statement in the patterns if
ambiguous scan references from scan-out Signals
24Possible Conventions
- Use STIL Shift statement to identify scan
- Pass all scan data on a single argument and
define complete scanchains - Pass data internal to the Shift in an argument
scan operations external to the Shift are not
seen as scan and scanchain descriptions contain
only the chain-internal-to-the-Shift
25More Caveats for this application
- ScanStructures are an optional construct
- Limited contexts that require this data
- Some contexts will not define this data
- ScanStructures define a large amount of data
- over half of a STIL test when present, for
scancell names only
26Caveats on the ScanChain ref stmt
- ScanChain ref statement supports single chain
name only - Scope of application is identified as next set
of statements...
Procedures load_unload WFT TP
ScanChain A ScanChain B Shift V m0
se1 ckP so1 ScanChain C ScanChain
D Shift V m1 se1 ckP so3
Ambiguity between accumulation and reset behaviors
27Final Caveat
- This functionality is not diagnosis
- The identified scancell (most probably) didnt
fail - It captured a failure
- Identifying the failing element requires
additional diagnostic operation
Make sure the customer understands what this
information is not!
28Conclusion
- STIL ScanStructures can be used at test
- Provides additional fail information
- Does not trace to causative fail
- Additional requirements on this data
- Uniform definition with application
- Identifying constructs if shared-IO
- Conventions (usage model) required to interpret
this data