100% found this document useful (1 vote)
183 views

Test Points

This document discusses different techniques for adding test points to address testability issues in an ASIC design using internal reset lines. The first technique discussed gates the internal reset line with a scan enable signal to make it controllable during scan testing. The second technique uses an injector flip-flop to make the internal reset line observable. The document then discusses how the AutoFix feature in design-for-test tools can automatically insert test points to address issues like uncontrolled clocks, asynchronous resets, and bidirectional signals. Examples are given of how AutoFix might insert muxes to control divided clocks or asynchronous resets. The document concludes by discussing how user-defined test points can be used to target specific test points beyond what

Uploaded by

anusha killari
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
183 views

Test Points

This document discusses different techniques for adding test points to address testability issues in an ASIC design using internal reset lines. The first technique discussed gates the internal reset line with a scan enable signal to make it controllable during scan testing. The second technique uses an injector flip-flop to make the internal reset line observable. The document then discusses how the AutoFix feature in design-for-test tools can automatically insert test points to address issues like uncontrolled clocks, asynchronous resets, and bidirectional signals. Examples are given of how AutoFix might insert muxes to control divided clocks or asynchronous resets. The document concludes by discussing how user-defined test points can be used to target specific test points beyond what

Uploaded by

anusha killari
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Session 7

Test Points
Internal Reset

ASIC_TEST D Q D Q
F2 F3
SE SE
...

Reset
Synchronizer

D Q D Q
0
SE SE
F0 F1
1

Internal Reset Line


RSTn Inactive During Scan

 Now all the flip-flops can be included in scan chains


 This is the default implementation used when
AutoFix is enabled
2nd solution

ASIC_TEST D Q D Q
F2 F3
SE SE
...

Reset
Synchronizer

D
SE
Q D
SE
Q
1-Injector
F0 F1
Internal Reset Line
Inactive During Scan
RSTn

 Now all the flip-flops can be included in scan chains


 SA1 fault on internal reset line is still untestable
Another Internal-Reset Solution

Network N 9
TEST_SE
ASIC_TEST D Q D Q
F2 F3
SE SE
...

Reset
Reset Line gated
Synchronizer
with a ScanEnable
signal (TEST_SE)
D Q D Q
SE SE
F0 F1 Internal Reset Line
Inactive During Shift

RSTn

 All the flip-flops can be included in scan chains


 Full test coverage on the internal reset line
 Internal reset line is controlled by the Reset
Synchronizer output during scan capture
Autofix

 The AutoFix feature can automatically fix DFT rule


violations associated with:
 Uncontrollable clocks
 Uncontrollable asynchronous set/reset signals
 Three-state signals
 Bidirectional signals
Logic Added by AutoFix

Data
In 0
Data
Out
Test 1
Data

Test- Pt
Enable
Test
Test Mode Mode

Test Point
Gate View

 AutoFix adds a configurable test-point architecture


 Exact implementation can vary during optimization
Examples of AutoFix Test Points
DIV_CLK 0 AutoFix MUXing
INT_CLK for Divided Clock
ATE_CLK 1 or Asynch

ASIC_TEST

INT_RSTn 0

AutoFix Reset MUX SYNC_RSTn


1
for Uncontrolled Reset PI_RSTn
(default option)
ASIC_TEST

INT_RSTn
AutoFix Reset Gate
ScanEnable
INT_RST_GATED -method gate
General Test Point Insertion

 The AutoFix client can be used for specific types of


logic fixing

 Other logic fixing requirements can be handled by


User Defined Test Points
User Defined Test Points (UDTP)
User Defined Test Points

 UDTPs direct DFTC to insert control and observe


points at user specified locations in the design

 Why use UDTP?


 Fix uncontrollable clocks and/or asynch pins
 Increase the test coverage of the design
 Reduce the pattern count
Types of User Defined Test Points

 The following types of user defined test points are


supported in DFT Compiler
 Force
 force_0, force_1, force_01, force_z0,
force_z1, force_z01
 Control
 control_0, control_1, control_01,
control_z0, control_z1, control_z01
 Observe
 observe
Specifying a Test Point Element

 Use the command:


set_test_point_element

 This command allows the users to specify the


location and the type of test points along with a set
of options in order to achieve their test point
requirements
Test Point Types

 The type of test point to be inserted can be


specified as follows:
set_test_point_element [pin list]
–type <test_point_type>

 Pin list specifies the location at which UDTP will be


inserted. It is a required argument
 The type of test points can be force, control or
observe
 Remember: Only one “type” of test point
can be specified with each invocation of
the set_test_point_element command
UDTP Types
Force_0 or Force_1 Force_01
Din
Din Dout
Dout 0 D Q
0 or 1 scan_in SI
scan_enable scan_out
test_mode test_point_clock
CTR
test_mode

Control_0 or Control_1 Control_01


Din
Din Dout
Dout 0 D Q
0 or 1
scan_in SI
test_mode scan_enable
0 D CTR
Q
scan_in SI scan_out
scan_enable
TPE test_mode
test_point_clock
0 D Q
SI scan_out
test_point_clock TPE
Observe
Din

D Q scan_out
scan_in SI
scan_enable
test_point_clock OBS
How to specify Control and Clock signals
 Control Signal:
Must have been previously defined as a TestMode or ScanEnable
set_test_point_element pin_list –type control_01 \
–control_signal port_name|pin_name

 Clock Signal:
Must have been previously defined as a ScanClock
set_test_point_element pin_list –type control_01 \
–clock_signal port_name|pin_name

Control_01
Din
Dout
0 D Q
scan_in SI
scan_enable
CTR

test_mode
port_name
pin_name 0 D Q
SI scan_out
test_point_clock TPE
port_name
pin_name
Enabling Control or Observe Registers

 Enables or disables the insertion of


control, force, or observe scan registers

set_test_point_element
[-scan_source_or_sink enable | disable]

 Default is “enable”
Din

Din
Dout D scan_out
0 D Q Q
scan_in SI scan_in SI
scan_out scan_enable
scan_enable OBS
CTR test_point_clock

test_mode
Control/Observe
Register
Specifying a Control Source or Observe Sink

 The user can specify the name of the source signal


(for control or force points) or sink signal (for
observe points)
set_test_point_element
[-source_or_sink existing_pin_or_port]
 This option is valid only for control or observe test
point types, when register insertion is disabled
Din
Din
Dout
source_pin
sink_pin

test_mode

Control Source Pin or Port Observe Sink Pin or Port


Enabling Scan Register Test Point Enables

 Command option –scan_test_point_enable enables or


disables the insertion of test point enable scan registers
set_test_point_element pin_list –type test_point_type
[-scan_test_point_enable enable|disable]

 Default is “enable”

 This option is valid only for control test points

Din
Dout
0 D Q
scan_in SI
scan_enable
CTR

Test Point Enable test_mode


0 D Q
Register SI scan_out
test_point_clock TPE
Specifying a Test Point Enable

 User can optionally specify a test point enable pin or port for
control points with the –test_point_enable option
set_test_point_element pin_list –type test_point_type
[-test_point_enable existing_pin_or_port]
 If the name of the enable point is not supplied then DFTC
creates a new port called test_point_enable
 This option is valid only for control test points
 Must supply an unconnected pin Din
Dout
0 D Q
scan_in SI
scan_enable
CTR
scan_out
test_mode
test_point_enable

test_point_clock
Test Point Register Sharing
 Sharing Control or Observe scan registers
set_test_point_element pin_list –type test_point_type \
–test_points_per_scan_source_or_sink 2 (default: 8)
Control_01
Din1
D Q
Dout1 Observe
0
scan_in SI Din1
scan_enable
CTR

test_mode
0 D Q scan_out
SI D Q
Din2 scan_in SI
test_point_clock TPE scan_enable
test_point_clock OBS
Din2
Dout2

0 D Q
SI scan_out
TPE
Test Point Enable Register Sharing
 Sharing Control Test Point Enable Registers
 This option is valid only for the control test point types
set_test_point_element pin_list –type test_point_type \
–test_points_per_test_point_enable 2 (default: 1)

Control_01
Din1
Dout1
0 D Q
scan_in SI
scan_enable
CTR

test_mode
0 D Q
SI
test_point_clock TPE

Din2
Dout2

scan_out

You might also like