Professional Documents
Culture Documents
Where We are?
Specs Floorplan
JTAG,
BIST
Placement Discard
RTL Design
CTS
Verification Match Accept
Pattern ?
Genaration Routing
Synthesis Pattern
Fabrication Fabrication application
Scan Fabrication
Insertion ATE
-
functionality when not tested (functional mode) for example,
If we use a scan-insertion mechnaism we must use a test mode clock in design which is active
-
only during test mode and not used during normal functioning, and hence a MUXing is needed
If a memory is used, a MBIST logic has to be created around the memory etc.
• When the gate level information is avaliable after synthesis there the internal scan chain
has to be inserted in the design and to operate the scan chain, there are a few supporting
designs has to be made arround it, simulteneously the appropriate patterns has to be
generated for the design during this stage
ö逷 ( )= 100%
ö逷 X 逷 逷 G逷ö
逷 逷 G ö逷 X G逷ö− 逷ö逷 逷G G逷ö
• Fault Coverage: It consists of the percentage of faults detected from among all the faults
that the test patterns generated by the ATPG, as there could be some design elements
which are not a part of DFT analysis,
ö逷 X 逷 逷 G逷ö
G逷 ( ) = 100%
逷 逷 G ö逷 X G逷ö
Coverage Improvement
• The coverage must be as high as possible, otherwise it signifies that there are a percentage
of out design which we can’t test (within the considered faults),and we have to assume that
design would work properly which is extremly dangeruous
• If a lower coverage is found we should try to improve by increasing the controlability &
observability of the design
• Every DFT tool usually reports the places of design which are non-testable by the tool, by
carefully oberving & providing controlablity or observabilty we can improve the coverage
metrices
• Coverage improvement can be achived by either Improving Observability at a net (usually
at input) or by Improving the Controllability at a cetain net (usually at input)
Improving Observability
Improving controlability
Controlable flop CF1 now can control the previously
uncontrolled input of gate G1 & will improve the
D Q Easily controlable coverge
F1 through internal-
functional clock D Q
scan chain
F1
functional clock
Some G1
logic Some G1
0
logic 1
Hard to control
Di
D Q
shift in Si
-
{1,1}
The pattern for testing SA/0 is {1,1}
1
Step1(Shift-in): put Se =1, signifying test
mode is on Insert serially {1,1} through SA/0
Sip Fire two pulses of test clock so that 1
G1
Y
{SFF1, SFF2} = {1,1}, also A & B input of B 0
1
gate G1 is {1,1}, but due to SA/0 output
remains 0 not 1
1
1
ClkT = test clock, ClkF = functional clock, Se = scan
enable
Copyright @ Tanmoy Das, 2021
11
-
{1,1}
The pattern for testing SA/0 is {1,1}
1
Step2 (Capture): Change Se =0,
signifying test mode is off and functional SA/0
mode is on, allow only 1 clock pulse of 0
G1
Y
functional clock, which allows Y output to B
1 0
be avaliable at SFF3
0
0
-
{1,1}
The pattern for testing SA/0 is {1,1}
1
Step3 (shift-out): Change Se =1, allow
only 1 clock pulse of functional clock, SA/0
which allows Y output to be avaliable at 1
G1
Y
Di and give 1 test clock to get out the B
1 0
response of Y in the next serial flop, (but
here since Sop is our output, the
response can be recorded here without 1
1
test clock pulse) 1
-
two parts-
-
The first part initializes the net, and
The second part launches a logic transition value at the net
• Now, after the launch the transition, after a specified time determined by the system clock speed, the
response is compared, in this case either of the following can happen:
1. If the circuit is having no fault, then the transition will propagate to the end of the path in time and the correct value
will be captured
2. else, a delay causes a slow propagation, the transition from launch to capture cell will be slow, an erroneous value
will be captured, and the defect will be detected
• For example, the pattern's launch event may propagate a 0-to-1 (rising edge) transition along a specific
path while holding all other conditions constant, If the “high” value was not detected at the capture point
in time, the path fails the test and is considered to have a “slow-to-rise” defect.
Launch-from-capture (LOC)
• The 1st vector (v1) is loaded through the scan path of
Vector (v2)
the design when the SE = 1,
• Then quickly SE switches to Functional mode where the Vector (v1)
2nd vector is launched with the help of functional clock,
so functional clock pulse 1 launches the 2nd vector and
the immediate functional clock pulse is also captures the
response from the CUT
• So, essentially 2 clocks are involved and in this case
there must me some mechanism to quickly switching
between two clocks
Test clock Functional Test clock
• Here, the 2nd vector has to be provided through Active clock Active Active
functional path, as lauch is done using functional clock
Launch-off-shift (LOS)
• The 1st vector (v1) is loaded through the scan path of
Vector (v2)
the design when the SE = 1,
• But, the 2nd vector is also launched in test mode using Vector (v1)
the test clock, then quickly the SE changes to 0, i.e., in
functional mode and tries to capture the response
• So, in this case as well there must me some mechanism
to quickly switching between two clocks
• Here, the 2nd vector has to be provided through test
path, unlike the LOC mechanism, only capture is done
using functional clock
Test clock Test clock
Active Functional Active
clock Active
Copyright @ Tanmoy Das, 2021
18
LOC LOS
• In LOC, V2 is generated by applying functional • V2 is shifted vector of V1.
clock from V1 • launch transition on shift path is very easy than
• Launch transition is done on functional path to launch transition on functional path
• LOC techniques uses sequential engine during • LOS uses combination engine for ATPG
automatic test pattern generation (ATPG) • Here, the fault activation path or scan path is
• Here, the controllability of launching transition at fully
fault site is less ( its depends on the functional • controllable from the input of scan chain
response of logic blocks to initialize vector) • LOS, fast scan enable signal must design to
• In LOC, after all slow clocks for loading there is make transition between two high speed clocks
dead clock zone so, scan enable signal can means scan enable signal must operate at full
easily make transition from high to low speed.
A Basic OCCC
• We will be discussing about a very basic OCC design with the sole purpose of demonstrating
how it work. However industry standard OCCs are much more advanced and robust to ‘clock
glitches’ than the OCC discussed here
test_clk
shift register
scan_en scan_en
test_clk
pll_clk
pll_clk_en
cgc_clk_out pll_clk_en
pll_clk
PLL CGC cgc_clk_out
out_clk
out_clk
PLL = Phase Lock Loop, CGC = Clock Gating Cell
Copyright @ Tanmoy Das, 2021
22
A Basic OCCC
• If we observe the waveform of out_clk it is clear that it resembles a LOC clocking where, launching
& capturing is done using a high speed clock (pll_clk here)
• Again this is just one example of OCCC structure & could be more advanced in modern day SoC
test_clk
shift register
scan_en scan_en
test_clk
pll_clk
pll_clk_en
cgc_clk_out pll_clk_en
pll_clk
PLL CGC cgc_clk_out
out_clk
out_clk
PLL = Phase Lock Loop, CGC = Clock Gating Cell
Copyright @ Tanmoy Das, 2021
23
• Modern day SoC has multiple of operations with hundreds and even
thousands of I/O operations performed per dice of Si
• Hence, there we need huge ammount of patterns to be applied onto the
design and makes it difficult for the ATE to store them with limited
memory
• If the patterns are generated in a compressed manner from an ATE and
de-compressed before applying in DUT again, the responses are
compressed & send it to the ATE for comparison, that would solve the
stated problems
Ref:VLSI TEST PRINCIPLES AND ARCHITECTURES DESIGN FOR TESTABILITY, Laung-Terng Wang, Cheng-Wen Wu, Xiaoqing Wen, Publisher: Elsvier
Summary