Set Testability Configuration

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

12/16/22, 2:05 PM set_testability_configuration

set_testability_configuration
Configures automatic test-point insertion and global test-point insertion parameters.

Syntax
status set_testability_configuration
[-target random_resistant | untestable_logic | x_blocking | multicycle_paths |
shadow_wrapper | core_wrapper | user]
[-test_point_file file_name]
[-only_from_file false | true]
[-clock_signal clock_name]
[-allowed_clock_signals clock_list]
[-disallowed_clock_signals clock_list]
[-control_signal control_name]
[-test_points_per_scan_cell n]
[-include_elements object_list]
[-include_fanin_cone object_list]
[-include_fanout_cone object_list]
[-exclude_elements object_list]
[-exclude_fanin_cone object_list]
[-exclude_fanout_cone object_list]
[-effort low | medium | high]
[-isolate_elements cell_list]
[-max_test_points n]
[-max_test_point_register_percent test_point_register_percent_value]
[-random_pattern_count n]
[-target_test_coverage coverage_value]
[-reuse_threshold threshold_value]
[-depth_threshold threshold_value]
[-sg_command_file file_name]
[-dedicated_chains observe_only | control_only | observe_and_control]
Values: random_resistant | untestable_logic | x_blocking | multicycle_paths |
core_wrapper | shadow_wrapper | user)

Data Types

file_name string
clock_name string
control_name string
n integer
object_list list
cell_list list
coverage_value float
threshold_value integer

Arguments

-target random_resistant | untestable_logic | x_blocking | multicycle_paths |


shadow_wrapper | core_wrapper | user

Enables and configures an automatic test point insertion target.


Test points are not inserted for a target until it is enabled by this option. Target lists are supported.
The valid target values are:
random_resistant - inserts control_0, control_1, and observe test points to improve the testability of
hard-to-test (random-pattern-resistant) logic.
untestable_logic - inserts force_01 and observe test points to to control uncontrollable nets and
observe unobservable logic, respectively.
x_blocking - inserts force_01 test points at unknown-function output pins, such as the output pins of
black boxes.
multicycle_paths - inserts capture-blocking logic at endpoints constrained by multicycle paths.
shadow_wrapper - inserts a shadow wrapper around each cell specified with the -isolate_elements
option (observe test points at input pins, force_01 test points at output pins).
core_wrapper - inserts test-point-based core wrapping in the design (force_01 test points at input
ports, observe test points at output ports).
user - inserts user-supplied test points described in the external file defined by the -test_point_file
option
If the -target option is omitted, the command can only configure the following global (non-target-
specific) options:
-test_point_file
-clock_signal
-allowed_clock_signals
-disallowed_clock_signals
-control_signal
-test_points_per_scan_cell
-sg_command_file
-test_point_file file_name

Specifies a file that describes test points to insert.

https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/dcolh/U-2022.12/dcolh/olh_dc/man/man2/set_testability_configuration.html 1/4
12/16/22, 2:05 PM set_testability_configuration

Each line contains three whitespace-separated fields: a user-defined label (can be any string), the test
point type keyword, and the net where the test point should be inserted. Any text after the '#' comment
character is ignored, whether in-line or on a separate line.
If a test point comes from a SpyGlass run (with an in-line SpyGlass comment), it belongs to that target.
Otherwise, it belongs to the user target.
Note that file-based test points are not implemented unless the target is enabled (just as with analysis-
based test points). For more information, see the DESCRIPTION section.
Supported scopes: global
-only_from_file false | true

Specifies whether file-based test points should augment or replace analysis-based test points.
When set to false (the default) for a target, the tool performs analysis for it, then implements both
analysis-based and file-based test points for it.
When set to true for a target, the tool does not perform analysis for it; it implements only file-based test
points for it. Any options that affect analysis for that target will have no effect.
This option is valid only when the -test_point_file option is also set. For more information, see the
DESCRIPTION section.
Supported scopes: all targets

-clock_signal clock_name

Specifies the name of a previously defined ScanClock signal to use for DFT-inserted test point registers.
The default is to use the dominant clock of the logic surrounding each test point.
Supported scopes: global, all targets

-allowed_clock_signals clock_list

specifies the list of a previously defined scanclock signals to use for dft-inserted test point registers.
supported scopes: global, all targets

-disallowed_clock_signals clock_list

specifies the list of a previously defined scanclock signals not to be used for dft-inserted test point
registers.
supported scopes: global, all targets

-control_signal control_name

Specifies the name of control signal to use for enabling test points. The signal must have a type of
TestMode or lbistEnable.
The default is to use an available TestMode signal, or if one is not found, to create a new TestMode
signal.
Supported scopes: global, all targets

-test_points_per_scan_cell n

Specifies the number of test points that can be shared by a single test-point register.
The default is 8.
Supported scopes: global, all targets

-include_elements object_list

Specifies hierarchical cells that should be fixed. Wildcards and collections are supported.
The default is to perform fixing across the entire design.
Supported scopes: global, random_resistant, untestable_logic

-include_fanin_cone object_list

Specifies ports or pins whose fanin logic should be fixed. Wildcards and collections are supported.
The default is to perform fixing across the entire design.
Supported scopes: global, random_resistant, untestable_logic

-include_fanout_cone object_list

Specifies ports or pins whose fanout logic should be fixed. Wildcards and collections are supported.
The default is to perform fixing across the entire design.
Supported scopes: global, random_resistant, untestable_logic

-exclude_elements object_list

Specifies objects that should be excluded from fixing. Wildcards and collections are supported.
The default is not to exclude any objects from fixing.
Supported scopes: global (hierarchical cells), random_resistant (hierarchical cells), untestable_logic
(hierarchical cells), core_wrapper (ports)

-exclude_fanin_cone object_list

https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/dcolh/U-2022.12/dcolh/olh_dc/man/man2/set_testability_configuration.html 2/4
12/16/22, 2:05 PM set_testability_configuration

Specifies ports or pins whose fanin logic should be excluded from fixing. Wildcards and collections are
supported.
The default is not to exclude any objects from fixing.
Supported scopes: global, random_resistant, untestable_logic

-exclude_fanout_cone object_list

Specifies ports or pins whose fanout logic should be excluded from fixing. Wildcards and collections
are supported.
The default is not to exclude any objects from fixing.
Supported scopes: global, random_resistant, untestable_logic

-effort low | medium | high

Specifies the effort level used to compute the optimal test points for hard-to-test logic. Higher effort
levels yield more efficient test points, but at the expense of analysis runtime.
The default is medium.
Supported scopes: random_resistant

-isolate_elements cell_list

Specifies hierarchical, black-box, or CTL-modeled cells to be isolated with a test-point shadow wrapper.
Wildcards and collections are supported.
The default is an empty list.
Supported scopes: shadow_wrapper

-max_test_points n

Specifies the maximum number of test points to be inserted.


This limit applies to the global random_resistant and untestable_logic targets. When applied globally,
the tool allocates the limit across both targets. You can also apply per-target limits, which takes
precedence.
The default is 5% of the register count of the design.
Supported scopes: global, random_resistant, untestable_logic

-max_test_point_register_percent test_point_register_percent_value

Specified the maximum number of test point registers to be inserted be equal to the percent value of
total number of registers (only flip-flop) in the design times the test points per scan cell.
This limit applies to the global, random_resistant and untestable_logic targets. Value per-target takes
the precedence over global.
Supported scopes: global, random_resistant, untestable_logic

-random_pattern_count n

Specifies the number of random patterns to statistically model when performing random-resistant
analysis. Coverage values specified with the -target_test_coverage option are interpreted according to
this value.
The default is 8000.
Supported scopes: random_resistant

-target_test_coverage coverage_value

Specifies the random-pattern target test coverage in percentage points that, when reached, prevents
further test points from being generated.
The default is 100.
Supported scopes: random_resistant

-reuse_threshold threshold_value

Specifies the maximum number of I/O registers that can be reused as shared wrapper cells when
wrapping the design with test points.
The default is 0.
Supported scopes: core_wrapper

-depth_threshold threshold_value

Specifies the maximum combinational depth of I/O registers that can be reused as shared wrapper
cells when wrapping the design with test points.
The default is 1.
Supported scopes: core_wrapper

-sg_command_file file_name

Specifies a file of SpyGlass Tcl commands file to be applied to the test-point analysis.
This options file is an unordered list of SpyGlass Tcl commands that you want to apply. The tool
automatically applies the Tcl commands at the proper point in the analysis based on their type (design
read, setup, goal definitions, etc.).

https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/dcolh/U-2022.12/dcolh/olh_dc/man/man2/set_testability_configuration.html 3/4
12/16/22, 2:05 PM set_testability_configuration

Supported scopes: global


Description
The set_testability_configuration command enables and configures automatic test-point insertion for one
or more targets.
To use this feature, you must first enable the testability DFT client:
prompt> set_dft_configuration -testability enable

Issue this command without the -target option to configure global test-point insertion parameters. These
global options are noted above.
Issue this command with the -target option to configure the specified target(s). Each target supports a
particular subset of this command's options, described above. Warning messages are issued if you specify
unsupported options for a target.
Specify the global configuration first, followed by the per-target configurations.
The following global options can also be specified per-target, which takes precedence over their global
value:
-clock_signal
-control_signal
-test_points_per_scan_cell
By default, analysis-based test points are implemented for a target when it is enabled. If you specify the -
test_point_file option, any file-based test points are also implemented for that target. To suppress analysis
and implement only the file-based test points, set the -only_from_file option to true for that target.
The following set_testability_configuration options can be specified on a per-partition basis:
[-target random_resistant | untestable_logic | x_blocking | multicycle_paths |
shadow_wrapper | core_wrapper | user]
[-test_point_types control_0 | control_1 | control | observe | force_01]
[-clock_signal clock_name]
[-control_signal control_name]
[-allowed_clock_signals clock_list]
[-disallowed_clock_signals clock_list]
[-test_points_per_scan_cell n]
[-max_test_points n]

Examples
The following example configures three automatic test-point insertion targets:
prompt> # global settings
prompt> set_testability_configuration \\
-test_points_per_scan_cell 20 \\
-control_signal TM_TP

prompt> # target-specific settings


prompt> set_testability_configuration -target random_resistant \\
-random_pattern_count 1000 -target_test_coverage 95

prompt> set_testability_configuration -target {x_blocking core_wrapper}

The following example configures insertion of only file-based test points for two targets from a previous
SpyGlass run, without rerunning analysis:
prompt> # global settings
prompt> set_testability_configuration \\
-control_signal TM_TP \\
-test_point_file spyglass.txt

prompt> # enable targets for file-based insertion only


prompt> set_testability_configuration -only_from_file true \\
-target {random_resistant x_blocking}

https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/dcolh/U-2022.12/dcolh/olh_dc/man/man2/set_testability_configuration.html 4/4

You might also like