Tmax Cmds
Tmax Cmds
Tmax Cmds
Diagnosis Commands
Version P-2019.03-SP4, September 2019
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx. All other product or company names may be
trademarks of their respective owners. Inc.
Third-Party Links
Any links to third-party websites included in this document are for your convenience only. Synopsys does not
endorse and is not responsible for such websites and their practices, including privacy practices, availability,
and content.
Synopsys, Inc.
690 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
2
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Contents
Add Commands 12
add_atpg_primitives 13
add_atpg_constraints 15
add_capture_masks 18
add_cell_constraints 21
add_chain_masks 24
add_clocks 27
add_delay_paths 32
add_display_gates 33
add_display_proc 35
add_distributed_processors 36
add_equivalent_nofaults 38
add_faults 39
add_lbist_seeds 45
add_net_connections 47
add_nofaults 50
add_pi_constraints 52
add_pi_equivalences 54
add_po_masks 57
add_scan_chains 59
add_scan_enables 61
add_slow_bidis 63
add_slow_cells 64
3
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_waveform_signals 65
Analyze Commands 66
analyze_buses 67
analyze_compressors 70
analyze_faults 73
analyze_feedback_path 82
analyze_nonscan_loading 84
analyze_simulation_data 86
analyze_test_points 90
analyze_violation 93
analyze_wires 94
License Commands 95
get_licenses 96
remove_licenses 98
report_licenses 99
read_cell_model 101
read_drc 102
read_faults 103
read_image 106
read_layout 108
read_memory_files 111
read_netlist 113
read_nofaults 116
read_sdc 117
read_timing 118
remove_atpg_constraints 120
remove_atpg_primitives 122
remove_capture_masks 123
4
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_cell_constraints 125
remove_clocks 126
remove_compressors 128
remove_delay_paths 129
remove_display_gates 130
remove_distributed_processors 131
remove_faults 132
remove_lbist_seeds 138
remove_licenses 139
remove_net_connectionss 140
remove_nofaults 141
remove_physical 143
remove_pi_constraints 145
remove_pi_equivalences 146
remove_po_masks 147
remove_scan_chains 148
remove_scan_enables 149
remove_sdc 151
remove_slow_bidis 152
remove_slow_cells 153
remove_waveform_signals 154
report_atpg_constraints 157
report_atpg_primitives 159
report_buses 161
report_capture_masks 166
report_cell_constraintss 167
report_clocks 168
report_compressors 172
report_delay_paths 177
5
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_display_gates 179
report_distributed_processors 180
report_fanin 181
report_fanout 183
report_faults 184
report_feedback_paths 194
report_instances 196
report_layout 198
report_lbist_seeds 201
report_licenses 202
report_lockup_latches 203
report_memory 207
report_modules 210
report_net_connections 214
report_nets 215
report_nofaults 217
report_pi_constraints 219
report_nonscan_cells 220
report_patterns 223
report_physical 228
report_pi_equivalences 231
report_pin_data 232
report_pin_name 233
report_po_masks 234
report_primitives 235
report_power 240
report_rules 243
report_scan_ability 245
report_scan_cells 246
report_scan_chains 250
6
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_enables 252
report_scan_path 253
report_sdc 256
report_serializers 258
report_settings 260
report_slow_bidis 267
report_slow_cells 268
report_summaries 269
report_timing 276
report_toggle_weights 278
report_version 279
report_violations 281
report_wires 283
run_atpg 286
run_build_model 294
run_diagnosis 296
run_drc 305
run_fault_sim 309
run_justification 312
run_observe_analysis 314
run_simulation 316
run_testpoint_analysis 322
set_atpg 325
set_build 342
set_buses 348
set_colors 350
set_commands 352
set_contention 354
7
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_delay 358
set_diagnosis 365
set_distributed 378
set_drc 380
set_environment 394
set_environment_gui 395
set_environment_info 397
set_environment_reports 398
set_environment_transcript 400
set_environment_viewer 401
set_faults 405
set_iddq 409
set_learning 411
set_match_names 414
set_messages 418
set_netlist 420
set_patterns 423
set_physical 430
set_physical_db 431
set_pindata 434
set_primitive_report 442
set_random_patterns 444
set_rules 445
set_scan_ability 448
set_sdc 450
set_simulation 452
set_toggle_weights 461
set_wgl 463
set_workspace_sizes 468
set_ydf 470
8
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
cat 473
cd 474
clear 475
cp 476
ls 477
mkdir 479
mv 480
pwd 481
rm 482
system 483
add_display_proc 486
all_clocks 487
all_inputs 488
all_outputs 489
all_registers 490
filter_collection 491
foreach_in_collection 494
get_attribute 496
get_candidates 498
get_cells 502
get_clocks 506
get_diag_files 509
get_fanin 512
get_fanouts 513
get_faults 514
get_instances 516
get_modules 517
get_patterns 519
9
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_pins 521
get_ports 524
get_primitive 526
get_scan_chains 530
get_settings 532
get_timing 533
list_attributes 535
remove_display_procs 537
update_clock 539
update_faults 541
update_scale 543
update_streaming_patterns 544
update_wft 547
write_drc_file 550
write_faults 556
write_image 559
write_netlist 562
write_patterns 564
write_physical_db 574
write_simtrace 576
write_testbench 578
write_ydf 581
alias 589
build 591
close_physical_db 592
define_proc_attributes 593
drc 597
10
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
exit 598
extract_nets 599
extract_pins 601
gsv_print 602
gui_start 603
gui_stop 604
help 605
man 607
match_names 609
open_physical_db 611
parse_proc_arguments 612
quit 615
refresh_schematic 616
reorder_patterns 617
reset_state 619
source 621
test 622
unalias 623
11
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Add Commands
This section describes the following commands:
l add_atpg_constraints
l add_lbist_seeds
l add_atpg_primitives
l add_nofaults
l add_capture_masks
l add_net_connections
l add_cell_constraints
l add_pi_constraints
l add_chain_masks
l add_pi_equivalences
l add_clocks
l add_po_masks
l add_delay_paths
l add_scan_chains
l add_display_gates
l add_scan_enables
l add_display_proc
l add_slow_bidis
l add_distributed processors
l add_slow_cells
l add_equivalent_nofaults
l add_waveform_signals
12
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_atpg_primitives
Overview
Use this command to create logical functions that need to be constrained. Constraining these functions might
be useful in avoiding undesirable conditions in patterns generated by the ATPG process.
Syntax
add_atpg_primitives
name <and | or | sel1 | sel01 | equiv>
[-module name] {input_connection_list}
Arguments
name
Indicates the symbolic name to be assigned to the ATPG primitive being added. This name
is a reference, which can be used in future add_atpg_constraints commands. The
primitive receives a ATPG primitive ID number, which can be used to reference it.
and | or | sel1 | sel01 | equiv
Indicates the logic function assigned to the ATPG primitive being added. The possible
choices are:
and - The output is the logical AND of the inputs.
or - The output is the logical OR of the inputs.
sel1 - The output is 1 if one input is 1 with all others 0, 0 if two or more inputs are 1 or if all
inputs are 0's, and X for all other conditions.
sel01 - The output is 1 either if one input is 1 with all others 0 or all inputs are 0. The
output is 0 if two or more inputs are 1, and X for all other conditions.
equiv - The output is 1 if all inputs are either all zeros or all ones. The output is 0 if both 1
and 0 occur on inputs, and X for all other conditions.
-module name
Indicates that the scope of the ATPG primitive definition should be a specific module rather
than the entire design. The ATPG primitive is added to the module definition and will
therefore be present for each instantiation of that module in the design. When this occurs,
multiple ATPG primitives result, one for each instance in the design. Each will have a unique
ATPG primitive ID. The input connection list when -module is used is limited to the scope of
the module. Only pin path names within the hierarchy of the module are accepted as input
connections.
input_connection_list
Indicates the names of the points that are to be connected to the inputs of the ATPG
primitive. These can be an internal pin pathname, a primary input (port), or the output of a
previously defined ATPG primitive (referenced by its gate ID). The input connections
should not be clocks or clock nets and you cannot reference as input the gate ID of a
previously defined ATPG primitive that uses the sel1, sel01, or equiv function. A tilde (~)
character preceding an input indicates that the logical inversion of the connection is to be
add_atpg_primitives 13
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
used as an input. If the -module option is specified, then any port name or pin pathname is
relative to the scope of the module specified. If the -module option is not used, then any
pin pathname must be at the design level. These are the lowest-level pins corresponding to
the pins of the library cells. If a fault cannot be placed on the pin pathname in question,
then that pin pathname is probably not a design-level pin and is most likely an
intermediate-level pin.
Description
Use this command to create logical functions that need to be constrained. Constraining these functions might
be useful in avoiding undesirable conditions in patterns generated by the ATPG process.
For example, if a design uses internal three-state drivers and the driver enable lines can all be off at the same
time, which results in a floating net, you can define an ATPG primitive with each of the enable pins as inputs to
a SEL1 function. The output of the gate can then be constrained to a 1 and the ATPG pattern generation then
produces patterns for which there is always one internal driver turned on.
Internal storage is used to keep track of these "virtual" gates. No more than 200 ATPG primitives can be
defined. You can use the command set_environment_viewer -max_gate number to adjust the size
of this storage pool.
For more information on using the add_atpg_primitives command, see "Using ATPG Constraints" in
the TestMAX ATPG User Guide.
Examples
DRC> add_atpg_primitives MY_ATPG_PRIM equiv \
{BLASTER/MAIN/CPU/TP/CYCL/CDEC/U1936/in1 \
BLASTER/MAIN/ALU_CORE/TP/CYCL/CDEC/U1936/in1 \
BLASTER/MAIN/ALU_CORE/TP/CYCL/CDEC/U16/in2 \
BLASTER/MAIN/ALU_CORE/TP/CYCL/CDEC/U13/in0 }
Gate with ID#=20201 has been added to the ATPG primitive list.
DRC> report_atpg_primitives -all
name id# type inputs
------------ ----- ------- ----------------------------
MY_ATPG_PRIM 20201 EQUIV 861 990 1232 723
See Also
add_atpg_constraints
report_atpg_primitives
remove_atpg_primitives
set_environment_viewer -max_gate
add_atpg_primitives 14
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_atpg_constraints
Overview
This command defines constraints that must be satisfied during ATPG pattern generation. You can also apply
the constraints to the DRC process.
Syntax
add_atpg_constraints
name <0 | 1 | z>
[-module name]
<atpg_primitive_name | id | module_pinname | pin_pathname>
[-drc | -iddq]
[-no_detection_credit file_name]
Arguments
name
Specifies the symbolic name assigned to the ATPG constraint that is being created.
0 | 1 | z
Indicates the value of the constraint.
-module name
Indicates that the ATPG constraint is added for the selected pins for every usage of the
selected module.
atpg_primitive_name | id | module_pinname | pin_pathname
Indicates the site of the constraint. The site can be identified by its ATPG primitive
name, primitive ID, pin pathname, or module pin name (if -module is used).
-drc | -iddq
Specifies that the ATPG constraint is monitored during the DRC analysis or IDDQ analysis
as well as during ATPG pattern generation. The -drc option specifies that the ATPG
constraint must be satisfied during the simulation of the load_unload, shift, setup, and
other DRC procedures in addition to being satisfied during ATPG pattern generation. All
ATPG analyses (such as contention ability checking) must also satisfy these constraints. A
DRC ATPG constraint can only be added or removed during DRC command mode. The -
iddq option specifies that the ATPG constraint is to be satisfied only during an IDDQ
measure strobe and only if the IDDQ fault model has been selected. An IDDQ measure
strobe corresponds to the time in the tester cycle specified in the DRC file when outputs
would be measured.
-no_detection_credit file_name
Specifies a file containing a list of cells that are not used for fault detection credit. These
cells are still used for good machine values. This option is supported only in TestMAX ATPG.
Note the following:
add_atpg_constraints 15
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l Test generation avoids using no detection credit cells as observe points, which can produce additional
AU faults.
l Fault simulation avoids using these cells when giving detection credit for faults.
l This option is supported for all fault models, test generation engines, and compression.
l If you specify the -no_detection_credit option, any other options used in the same command line
are ignored. You can specify other options using a separate command line.
For a complete description of using this option, see Defining, Reporting, and Removing No
Detection Credit Cells.
Description
This command defines constraints that must be satisfied during ATPG pattern generation. You can also
specify the constraints to be considered during the DRC process.
During Basic-Scan and Fast-Sequential pattern generation, an ATPG constraint is considered to be met if the
desired value is achieved during the pre-clock time. It is not required that the desired value be achieved for
"clock on" or post-clock times. For purposes of algorithm speed and memory efficiency, very little effort is made
to achieve the desired value during "clock on" or post-clock times. If you want to check for constraint violations
during clock and post-clock times, use the command set_contention -capture_constraint_
check.
During Full-Sequential pattern generation, an ATPG constraint is considered to be met only if the desired
value is achieved during pre-clock, active-clock, and post-clock times.
For design inputs, you should use the add_pi_constraints command rather than ATPG constraints to
achieve constant values. The effect of a PI constraint is more complete and more thoroughly propagated
during the various DRC checks and simulation checks than an ATPG constraint.
For more information on using the add_atpg_constraints command, see "Using ATPG Constraints" in
the TestMAX ATPG User Guide.
Examples
# by atpg primitive name
DRC> add_atpg_constraints my_constraint1 1 my_atpg_primitive1
# by primitive id
DRC> add_atpg_constraints my_constraint2 0 1911
# by pin pathname
DRC> add_atpg_constraints my_constraint3 1 CORE/ALU/DEMU/U266/H02
DRC> report_atpg_constraints -all -verbose
name val DRC site
-------------- --- --- -------------------------------
my_constraint1 1 no my_atpg_primitive1 (20217)
my_constraint2 0 no MAIN/CPU/CAL/TBL/U1842 (1911)
my_constraint3 1 no CORE/ALU/DEMU/U266/H02 (12683)
add_atpg_constraints 16
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_atpg_primitives
add_pi_constraints
remove_atpg_constraints
report_atpg_constraints
Primitive ID
add_atpg_constraints 17
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_capture_masks
Overview
Use this command to mask any potential value captured into a scan or nonscan sequential cell during a
capture clock.
Syntax
add_capture_masks
{instance_path | gate_id | -scan {chain_name:index}}
[-index number]
[-load_only]
Arguments
instance_path | gate_id
Specifies the instance pathname or the gate ID of the scan or nonscan sequential element
for the capture value you want to mask. This is equivalent to considering the data input of
the state element connected to a TIEX. If the state element is a scan cell, it can still be
loaded to a non-X value during a scan load. One or more instances can be specified on the
same command line.
-scan {chain_name:index}
Specifies a capture mask using the scan chain name and the index reference. The scan
chains are identified after the run_drc command is finished processing. Any information
specified by the -scan option is saved and applied after the run_drc command completes
scan chain tracing.
All errors related to incorrect references are printed after the run_drc command is
processed. You can use the -scan option to specify multiple mask references in a list.
There are no spaces on either side of the colon for each specified reference. For example:
DRC> add_capture_masks -scan {scan_chain_1:0 scan_chain_1:1}
You cannot specify the -scan option with other capture mask data. If you use this option, it
must be the only option specified with the add_capture_masks command.
-index number
When the instance_path argument defines a reference that contains multiple sequential
elements (a multibit cell), you can use the -index option to specify the specific bit to be
masked. Without this option, all bits of this type of reference are masked. Bit order is a
function of a model definition. If you use the -index option, you should also use the
report_capture_masks command to review which specific bit (identified by its gate ID)
was masked and verify that the bit is intended for masking.
The -index option specifies only a single value that is applied to all names associated with
the specified instance_path argument. If you need to mask multiple specific bits of an
instance, you should specify the add_capture_masks command multiple times with a
different index value in each command. The -index option does not affect gate IDs, as
there is no ambiguity in this context. The index value must be greater than or equal to
1;the first bit of a multibit cell is nearest to the scan-input of the cell and is referenced as
add_capture_masks 18
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
“1”. If the index value exceeds the number of bits in the instance, no mask is defined and
no errors are generated.
-load_only
Causes scan and nonscan cells to load unknown values (Xs). These cells continue to
capture known values during the capture cycles. This functionality masks nonscan cells
when the set_simulation –shift_cycles n command is specified. For scan cells, the -
load_only option has the same effect as the add_cell_constraints X command.
The -load_only option modifies the output of the report_capture_masks command.
When this option is specified, the report appears as follows:
TEST-T> report_capture_masks
gate_id type lo instance_name
------- ---- -- --------------------
45 DFF -- s1
58 DFF LO n0and
The output report includes an "lo" column. If the -load_only switch applies to a cell, the
"LO" characters appear in this column. When the -load_only option does not apply to a
cell, two dash characters "--" appear in this column.
Any nonscan cells masked by the add_capture_masks -load_only command can be
designated as load-0 (L0) or load-1 (L1) cells. But they do not behave as L0 or L1 cells
because of the capture masks. The report_capture_masks command reports them
correctly, and ATPG and simulation handle them correctly. However, the output of the
report_nonscan_cells command gives them misleading designations.
Description
Use this command to mask any potential value captured into a scan or nonscan sequential cell during a
capture clock.
If the state element is a scan cell, it can still be loaded to a non-X value during a scan chain shift. If no capture
clock is applied, its value will remain non-X and be visible in a scan chain unload. If you want to affect the
values loaded and observed during scan chain shifting, see the add_cell_constraints command.
There is a difference between using add_capture_masks vs. add_cell_constraints. The method to mask a
specific sequential cell instance depends on whether the cell is scan or nonscan, and whether the mask is to
be applied during load, during capture, or both.
For information on specifying lists and using backslashes in Tcl mode, see "Specifying Lists in Tcl Mode."
Examples
DRC> add_capture_masks { MAIN/U111/K1 MAIN/U112/J99 MAIN/U113/R1 }
3 capture masks were added to capture mask list.
DRC> report_capture_masks
gate_id type instance_name
------- ---- ---------------------------------
19286 DFF MAIN/U111/K1
19287 DFF MAIN/U112/J99
19288 DFF MAIN/U113/R1
add_capture_masks 19
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_cell_constraints
report_capture_masks
remove_capture_masks
add_capture_masks 20
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_cell_constraints
Overview
This command adds cell constraints that are used to control the load and unload values allowed on scan cells.
Syntax
add_cell_constraints
<0 | 1 | x | 0x | 1x | ox | xx>
<[ chain_name | instance_name>
[-position {< cell_pos1 | sci> [ cell_pos2 | sci]>} | -all>>]
[-index number]
Arguments
0 | 1 | x | 0x | 1x | ox | xx
Indicates the type of constraint to be added. The choices 0, 1, or x indicate the constrained
value that should be in place at the end of the scan chain load. When a 0, 1, or x constraint
is applied, the scan cell is always loaded with this value for every pattern. A capture clock
loads new data into the scan cell that might be different from the 0/1/X loaded by a scan
load.
When a 0x constraint is specified, the scan cell is always loaded to zero (0) and will always
observe X.
When a 1x constraint is specified, the scan cell is always loaded to one (1) and will always
observe X.
A ox constraint indicates the observed value is always masked, or considered to be X. The
value loaded by a scan load or captured by a capture clock is not affected, and the actual
scan cell value continues to affect the fanout cone of the scan cell. A selection of ox affects
only the expected value for the scan chain unload. This value is X (or masked). To affect
the value loaded by a scan load, use the xx selection. To affect the value loaded by a
capture clock, use the add_capture_masks command.
Some compression restrictions may affect the ability to apply cell constraints. In the case
of chain tests in compression mode, M177 messages might be reported when attempting to
specify constraints, as shown in the following example:
add_cell_constraints 1 8897
add_cell_constraints ox 9299
add_cell_constraints 0 8706
add_cell_constraints 1 8597
add_cell_constraints 1 8610
add_cell_constraints 0 8853
In this case, the -verbose option of the set_contention command is set and the
following messages are reported:
Warning: Cell constraint 11-15 set to 1 not satisfied for preclock chain
test pattern (pat1=0). (M177)
Warning: Cell constraint 25-14 set to 0 not satisfied for preclock chain
test pattern (pat1=3). (M177)
Warning: Cell constraint 16-10 set to 1 not satisfied for preclock chain
add_cell_constraints 21
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command adds cell constraints that are used to control the load and unload values allowed on scan cells.
The test generator creates only patterns that satisfy cell constraints. The fault simulator rejects patterns that
fail to satisfy cell constraints and does not give any fault detection credit for those patterns.
By default, the DRC process does not consider the effect of cell constraints. However, you can change this by
using the -use_cell_contraints or -clockdrc_use_cell_constraints options of the set_drc
command.
Masking the scan cell closest to the scan chain output (cell 0) does not inhibit patterns that measure the
primary output port associated with the scan chain. To do so, use the add_po_mask command.
add_cell_constraints 22
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Note that there is a difference between using add_capture_masks and add_cell_constraints. The method to
mask a specific sequential cell instance depends on whether the cell is scan or nonscan, and whether the
mask is to be applied during load, during capture, or both.
For information on specifying lists and using backslashes in Tcl mode, see "Specifying Lists in Tcl Mode."
For more information on using the add_cell_constraints command, see "Masking Scan Cell Inputs and
Outputs."
Examples
DRC-T> report_primitives 130
/reg2/lat1 (130) DLAT (P_LAT_RS)
!SB I (/TIE_1)
RB I 28-
CK I 17-
D I 105-/reg2/MX1/Q
Q O 131-/reg2/r/D
DRC-T> add_cell_constraints OX reg2/r/D
# by instance name
DRC-T> add_cell_constraints 1 MAIN/CPU/TP/FI/OFIFO/reg3
# by instance name
DRC-T> add_cell_constraints ox MAIN/PER/PRT_1/PORTIN/reg3
# by name & position
DRC-T> add_cell_constraints xx c34 -position 6
DRC-T> report_cell_constraints
type chain pos. site name
---- ----- ---- ---------------------------
1 ... ... MAIN/CPU/TP/FI/OFIFO/reg3
OX ... ... MAIN/PER/PRT_1/PORTIN/reg3
XX c34 6 ...\par# mask observe on all bits of a scan chain
DRC-T> add_cell_constraints OX CHAIN_1 -all
DRC-T> add_po_masks SDO
# load a range of a scan chain cells to 1's
DRC-T> add_cell_constraints 1 CHAIN_2 -position { 23 29 }
# 400 bit scan chain:
# you can load the first half but not observe
# and observe the last half but not load
DRC-T> add_cell_constraints OX CHAIN_2 -position { 399 200 }
DRC-T> add_cell_constraints X CHAIN_2 -position { 199 0 }
See Also
add_capture_masks
remove_cell_constraints
pin_pathname
instance_name
report_cell_constraints
set_contention
add_cell_constraints 23
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_chain_masks
Overview
This command generates patterns for masking scan chains using DFTMAX Ultra compression.
Syntax
add_chain_masks
[-name chain_name]
[-do_not_mask chain_name]
[-compressor compressor_name]
[-filename filename]
[-percent percentage]
[-external]
[-diagnosis]
[-diagnosis_pattern_count value]
[-force_single_fanout_mode]
[-reset]
Arguments
-name chain_name
Specifies the name of the chain or chains for masking. If you specify more than one chain,
the names must be provided in Tcl list format. The following example masks the ch1, ch2,
and ch3 chains:
add_chain_masks –name {ch1 ch2 ch3}
-do_not_mask chain_name
Specifies the name of the chain or chains that should not be masked under any
circumstance. If you specify more than one chain, the names must use Tcl list format. The
following example specifies that the ch2, ch4, and ch7 chains are not masked in any unload
configuration:
add_chain_masks -do_not_mask {ch2 ch4 ch7}
-compressor compressor_name
Specifies the name of the compressor containing chains for masking. This option applies to
multi-codec designs. If you specify -do_not_mask {ch2 ch4 ch6} and -compressor
compressor1, and ch2 and ch4 belong to compressor1, then all chains of compressor1
are masked, except ch2 and ch4.
add_chain_masks -compressor my_comp
In the following example, ch1_of_my_comp and ch10_of_my_comp are chains from the
my_comp compressor. In this case, all chains of the my_comp compressor are masked
except for these two chains:
add_chain_masks -compressor my_comp -do_not_mask {ch1_of_my_comp \
ch4_of_different_comp ch10_of_my_comp}
-filename filename
add_chain_masks 24
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the name of a file containing the chain names you want to mask. This file must
contain only chain names separated by spaces, tabs, or new lines. The following example
masks all chains specified in the abc.txt file:
add_chain_masks -filename abc.txt
-percent percentage
Specifies the total percentage of external patterns for masking. This option must be used
with the -external option. The default value is 100.
-external
Masks only the external patterns. This option can be specified with the -percent option.
-diagnosis
Masks the external patterns for diagnosis. For more information on using this option, see
Chain Diagnosis for Multiple Chain Defects.
-diagnosis_pattern_count value
Specifies the pattern count for masking each chain when using the -diagnosis option. The
default value is 50.
-force_single_fanout_mode
Forces TestMAX ATPG to unload the pattern only in single fanout mode. In this case, all
multi-fanout modes are masked for all patterns. You can specify this option with the -
compressor option, if needed. The following example forces TestMAX ATPG to unload
patterns in a single fanout mode:
add_chain_masks -force_single_fanout_mode
The following example forces TestMAX ATPG to unload patterns from the my_comp
compressor in a single fanout mode:
add_chain_masks -force_single_fanout_mode -compressor my_comp
-reset
Deletes all previously specified chain masks.
Description
This command generates patterns for masking scan chains using DFTMAX Ultra compression. If defective
scan chains are present, TestMAX ATPG uses DFTMAX Ultra compression to generate patterns that mask
internal scan chains to debug mismatches. In this case, TestMAX ATPG assumes that one or more of the
internal scan chains load and unload X values. This masking can be applied to new ATPG runs. You can also
mask scan chains in external patterns for diagnostics. Use the -streaming_xtol_chain_test_type
option of the set_atpg command to control the generation of DFTMAX Ultra compression test patterns for
diagnostics.
Examples
In the following example, the -do_not_mask option takes the higher priority for the ch4 chain. As a result,
the ch1 and ch3 chains are masked, and the ch2, ch4, and ch5 chains are not masked for all unload
configurations.
add_chain_masks 25
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Using TestMAX ATPG and DFTMAX Ultra Compression
add_chain_masks 26
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_clocks
Overview
Use this command to specify and define clocks.
Syntax
add_clocks
<0 | 1> {pin_names_list}
[-intclock]
[-cycle { cycle_id <-always on | -always off> | <int_node_name <0 | 1>>}]
[-master_observe]
[-pllclock]
[-pll_shift]
[-refclock]
[-ref_timing {period LE TE }]
[-shift]
[-timing {period LE TE measure_time}]
[-unit <ps | ns>]
Arguments
0 | 1
Specifies the off state of the clock. The off state is the logic level (either 0 or 1) for which
the clock port is inactive. It results in holding the state of sequential devices such as flip-
flops, latches, or RAMs. An active-high clock has an off state of 0 and an active-low clock
has an off state of 1.
pin_names_list
Specifies the port name that should be treated as a clock. You can specify multiple port
names using a single command, but they must all share the same off state.
Any backslash that is embedded within a Tcl list is automatically stripped. The following
two examples show how to overcome this situation:
l Use a double-backslash, for example:
add_clocks 0 {\\A[0] \\B[0]}
l Use two levels of braces, for example:
add_clocks 0 {{\A[0]} {\B[0]}}
As an alternative, you can remove backslashes entirely. In this case, TestMAX ATPG
commands automatically match specified identifiers that have no backslashes to
identifiers in the database that have backslashes.
-intclock [-cycle { cycle_id <-always on | -always off>| int_node_name <0 |
1 >>}] [-pll_source node_name]
Defines internal nets as clocks, controlled by the identified scan cell from the clock chain,
when you use it with the off state option.
Before defining internal clocks, specify the set_drc num_pll_cycles option, which
defines the number of PLL clock cycles supported per load.
add_clocks 27
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option defines zero or more control clauses; each clause associates a cycle (zero-
based) with one or more conditions. For the clock to be turned on, the selected cycle must
meet all conditions simultaneously; even if it does not meet one condition, the clock is
turned off. A condition can be always on, always off, or a net name/pin path name followed
by either 0 or 1. The conditions must be combinationally justifiable independent of faults
effects, so that internal clock control clauses can be pre-calculated, independent of pattern
generation.
In Tcl mode, you specify only one -cycle for both 0 and 1 conditions, as shown in the
following example:
add_clocks 0 intclk3 -intclock -pll_source pllclk3 \
-cycle { 0 clock_chain/cell[3]/Q 1 \
1 clock_chain/cell[4]/Q 1 }
Also note the following:
l You should not to use logic added by add_atpg_primitives command for the -cycle argument or
cell 3 of chain clock_chainis 1, and is pulsed in cycle 1 when cell 4 of chain clock_chain is 1.
add_clocks 0 intclk1 -intclock -pll_source pllclk3 \
-cycle { 0 clock_chain/cell[1]/Q 1 \
0 clock_chain/cell[0]/Q 0 \
1 clock_chain/cell[2]/Q 1 \
1 clock_chain/cell[0]/Q 0 }
l intclk1 as an internal clock with offstate 0; its PLL source is pllclk3; intclk1is pulsed in cycle 0 when cell 1
of chain clock_chain is 1 and cell 0 is 0, and is pulsed in cycle 1 when cell 2 of chain clock_chain
is 1 and cell 0 is 0. Internal clocks are used for all capture operations, and normal clock rule checks are
applied to these clocks. No external clocks are used for capture when internal clocks are defined.
Additional rule checks are done to check the stated correspondence between an internal clock and scan
cells from the clock chain.
l It is valid for a pattern to load the clock-controlling scan cells so that no internal clocks are pulsed, and still
have one or more system pulses that pulse the defined external reference clocks. All internal clocks must
have the same number of control clauses, corresponding to consecutive cycles, starting with 0. For
example, it is an error to define control clauses for cycles 0, 1, and 2 for intclk3, and to define control
clauses only for cycles 0 and 1 for intclk2. It is also an error to define control clauses for cycles 0 and
2, but not for cycle 1. The -always on condition can only be defined for cycle 0, otherwise scan
ATPG cannot be used.
l The -always on argument cannot be used with the fast-sequential test generator.
l The -always off argument can be used in conjunction with a clock-chain cycle specification.
However, -always on is incompatible with clock chains.
TestMAX ATPG supports a legacy controller containing two identical cycles, with each cycle
having at least one clock specified as -always on. Individual clock conditioning cannot be
used when the -always on argument is used. Because each pattern has two system
cycles, chain test and single cycle basic-scan patterns cannot be created. Only optimized
two-cycle, transition-fault ATPG can be used in this case.
The following examples show how to use the -always on and -always off arguments:
add_clocks 0 pll1/PLLCLK -pllclock
add_clocks 0 pll2/PLLCLK -pllclock
add_clocks 28
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-master_observe
Identifies the clock that is applied in a master_observe procedure. This option only affects
the write_drc_file operation if a master_observe procedure was not defined; a template
master_observe procedure is defined in the procedures generated from the write_drc_file
operation. You should review this template for completeness and appropriateness before
using it with the run_drc command
-pllclock
Defines internal nets as free-running clocks (outputs of PLLs or clock shapers) when you
use it with the off state option. These clocks are considered asynchronous to each other
and to all other clocks. TestMAX ATPG uses these clocks only during scan design rule
checking and PLL-specific clock rule checking. Pattern generation does not consider these
clocks. During scan rule checking after the simulation of each rule checking event (for
example, an event in the load_unload procedure), TestMAX ATPG simulates the pulses of
the free-running PLL clocks until the circuit stabilizes or a user-defined limit is reached.
-pllshift
Specifies that the clocks to be added are defined as PLL shift clocks. Note that PLL shift
clocks are used only for initializing scan cells to X during DRC. The shift process must be
driven from an external clock.
PLL shift clocks can also be defined in the STL procedure file in the Clocks {} block by
using the PLLShift identifier. For example, the following specification defines internal
node des_unit_inst/my_clock_controller/U2/Z as a PLL shift clock with off-state 0:
Clocks {
"des_unit_inst/my_clock_controller/U2/Z" PLLShift { Offstate 0; }
...
}
The -pll_shift option can also be used to specify internal serializer shift clocks for
serialized DFTMAX compression. The serialized DFTMAX architecture usually has a
Serializer FSM whose output gates all the external shift clocks to create internal shift
clocks used for scan shifting in serialized compression mode. Typically, the gated external
shift clocks outputs are specified as internal serializer shift clocks for serialized DFTMAX.
This specification is used to initialize scan cells to X during Serializer DRC. You still need to
pulse external shift clocks in the STL procedure file to perform scan shifting in Serialized
DFTMAX mode.
-refclock
Defines primary inputs (PIs) or bidirectional ports (PIOs) as PLL reference clocks when you
use this option with the off state option. PLL reference clocks are external, free-running
clocks necessary to keep the PLLs synchronized. For TestMAX ATPG, these are non-logical
add_clocks 29
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
clocks; not used in either DRC or ATPG. Each pulse instruction in every pattern generated
pulses the PLL reference clocks. To keep PLLs synchronized, every vector in every
procedure defined in the STL procedure file must pulse all PLL reference clocks. You need
not define PLL reference clocks supplied by an onboard oscillator, which are not needed for
DRC. You need not pulse these clocks in the STL procedure file.
-ref_timing {period LE TE}
Defines the test cycle period associated with the reference clock. LE is the time of the
leading edge of the ref clock, while TE is the time of the trailing edge of the ref clock. For
example:
add_clocks 0 clkref3 -shift -refclock -ref_timing {31286 5000 15000} \
-unit ps
Note that the -unit switch is optional and can be ns (the default) or ps.
-shift
Marks the clock as 1, which is used during the shifting of scan chains and causes the
write_drc_file command to pulse the clock in the Shift procedure when a template DRC
file is created. Asynchronous set/reset ports or RAM/ROM controls defined as clocks should
generally be defined without the -shift option.
This option does not honor any PI equivalence relation, so if you declare two pins to be
equivalent, and then one of them as a clock with the shift attribute, the other is declared a
clock but withouta shift attribute. For this reason, you should always declare all clocks first
and PI equivalence relations on those clocks second. Use of the -shift option should
explicitly list each clock.
-timing {period LE TE measure_time}
Defines the test cycle period associated with the clock. LE is the time of the leading edge of
the clock, while TE is the time of the trailing edge of the clock. The measure time option
specifies the time within the test cycle at which the design's output pins is measured. If
measure_time is less than LE, then a preclock measure protocol is implied. If measure_
time is greater than TE, then an end-of-cycle measure protocol is implied. The default for
timing is: period 100, t1=50, t2=70, measure_time=40. If more than one -timing option
is specified, then the last one encountered reading from left to right is used.
Setting the -timing option changes the default for future add_clocks commands for
which the -timing option is omitted.
All periods, measure times, and units must be the same for all instances of this command.
If a DRC file is specified with the run_drc command, there is a potential for conflict
between the clocks, timing, periods, or measures defined with the add clock command and
those defined within the DRC file. See the run_drc command for rules of priority.
Note: You can use the -timing option only in the firstadd_clocks command. Attempting
to use -timing after one or more add_clocks commands have been issued without the -
timing option is reported as an error.
-unit <ps | ns>
Specifies the time units used with the -timing option and should only be specified if -timing
is used. By default, the time unit is ns. All units must be the same for all add clock
commands.
add_clocks 30
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to specify and define clocks. Top-level ports that can change the stored state of sequential
devices are defined as clocks.This includes not only the traditional active-high and active-low clocks, but also
the asynchronous sets/resets and RAM write lines. For ATPG purposes, a "clock" is a pulsed input port that
can change the state of a flip-flop, latch, or RAM.
If a DRC file is specified with the run_drc command, there is a potential for conflict between the clocks or
timing defined with the add_clocks command and the timing that might exist in the DRC file. When the
same clock is defined in multiple places, the results are unpredictable, so this situation should be avoided. An
exception is when you define timing using the add_clocks -timing command. In this case, the Timing
block in the DRC file takes precedence when a conflict occurs. See the run_drc command for a complete
description of the rules of priority.
It is highly recommended that you always define clocks before defining the PI equivalence relationships for
those clocks.
Note: Clocks and other pulsed ports can also be defined using a STIL procedure file.
For more information on using the add_clocks command, see "Declaring Clocks."
Examples
DRC> remove_clocks -all
DRC> add_clocks 0 {INC CLK }
DRC> add_clocks 1 RSTB
DRC> report_clocks
clock_name off usage
---------- --- -----------
/INC 0
/CLK 0 master shift
/RSTB 1
DRC> add_clocks 0 CLK1 -timing {200 50 80 40} -unit ns -shift
DRC> add_clocks 0 CLK2 -timing {200 50 80 40} -shift
DRC> add_clocks 1 RSTB -timing {200 50 80 40}
DRC> report_clocks
clock_name off period t1_time t2_time meas_time usage
---------- --- ------- ------- ------- --------- ----------
CLK1 0 200ns 50 80 40 shift_clock
CLK2 0 200ns 50 80 40 shift_clock
RSTB 1 200ns 50 80 40
See Also
remove_clocks
report_clocks
run_drc
write_drc_file
add_clocks 31
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_delay_paths
Overview
This command reads in a delay path list from a specified file.
Syntax
add_delay_paths file_name
Arguments
file_name
Reads in a delay path list from this file.
Description
This command reads in a delay path list from a specified file. For more information on using the add_delay_
paths command, see "Generating Path Delay Tests " in the TestMAX ATPG User Guide.
Examples
TEST> add_delay_paths stopwatch
Warning: Rule P2 (missing delay path name) was violated 4 times.
Warning: Rule P21 (path node values not satisfiable) was violated 2 times.
Delay path file results: #paths=4, #invalid=0, #untestable=2, CPU
time=0.04 seconds.
See Also
report_delay_paths
remove_delay_paths
add_delay_paths 32
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_display_gates
Overview
Use this command to selectively add gates to the GSV.
Syntax
add_display_gates
[<pin_pathname | gate_id | -all> ]
[-color <blue | green | orange | pink | purple | yellow | white |
default>]
[-path {begin_gate_idend_gate_id} ]
Arguments
<pin_pathname | gate_id | -all>
Adds gates associated with the pin_pathname, gate ID, or all gates to the GSV.Choices
pin_pathname, gate_id, and -all are only accepted in primitive view.
-color <blue | green | orange | pink | purple | yellow | white | default>
Designates a particular color for displaying selected gates in the graphical schematic
viewer (GSV).
-path {begin_gate_idend_gate_id}
This option traces the path between two sequential elements in the GSV. You must specify
two end-points that are not separated by any other sequential elements. A path, in this
case, is considered to be the combinational logic between sequential elements.
Description
Use this command to selectively add gates to the GSV.
Examples
TEST> add_display_gates mux3/MUX2_UDP_1/Q
TEST> add_display_gates "UCL2C/UCL2C__512/uctlru_0/Xcrtz_0/\\XTagWayGen
[0]/Xetl1__UCL2C_TagWay_TA0/XI320"
add_display_gates 33
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The following example displays all gates in the color blue that are associated with the pin pathname
mux3/MUX2_UDP_1/Q:
See Also
remove_display_gates
report_display_gates
add_display_gates 34
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_display_proc
Overview
This command registers a Tcl procedure name that is called when you select a context-sensitive menu item in
the GSV.
Syntax
add_display_proc proc_name
Arguments
proc_name
The name of the procedure to be added.
Description
This command registers a Tcl procedure name that is called when you select a context-sensitive menu item in
the GSV. After this command is specified, it determines if the procedure has been defined.If the procedure
being added is not defined, the following error message is displayed:
Error: No command or proc named "%s" is found.
When you select a menu item, the corresponding Tcl procedure is called with an argument. If the GSV is at the
design level (library cells shown), the instance name of the selected cell is sent as the argument to the proc
call. If the GSV is at a primitive level, the gate id is used. You can use a Tcl form such as “The arg value is $arg”
to distinguish between the gate id or the instance name.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
remove_display_proc
add_display_proc 35
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_distributed_processors
Overview
Use this command to add machines to the pool of distributed processors.
Syntax
add_distributed_processors
{name_list}
[-min_slaves number | -lsf bsub_exec | -nslaves d | -options {options_
list} | -grd exec> -nslaves d]
[-options {options_list}]
Arguments
name_list
Specifies up to 50 slave machines by name. For each machine name given, a TestMAX
ATPG process launches on that machine during distributed fault simulation. If you have a
machine with several processors, you can instruct TestMAX ATPG to use those processors
by specifying that machine name again for each subsequent processor.
Note: You can execute multiple processes on a uniprocessor machine, but the various
processes would have to share processor time. Therefore, you will not be able to take full
advantage of the parallelization, and in this case it would be better to use LSF.
-lsf bsub_exec -nslaves d -options {options_list}
Specifies the path to the LSF job submission executable (bsub), the number of slaves to be
spawned, and additional options to LSF. For using LSF to launch the slaves, all of these
options must be specified. If you do not have any additional options to pass to bsub, you
can pass empty options using -options " ". See your IT support for the proper set of options
(like queue, project, and so forth) you need for launching an LSF job.
-grd exec -nslaves d -options {options_list}
Specifies the path to the GRID job submission executable (qsub), the number of slaves to
be spawned, and additional options to GRID. For using GRID to launch the slaves, all of
these options must be specified as well as the -script option of the set_distributed
command. If you do not have any additional options to pass to qsub, you can pass empty
options using-options without an argument. See your IT support for the proper set of
options (like project, resource specification, and so forth) you need for launching an GRID
job.
You can use -options to pass the simple bsub or qsub options. For the more complex
options bound by single or double quotation marks, see Passing Complex Options to
LSF/GRID.
-min_slaves number
Enables you to specify the minimum number of slave machines to start with distributed
processing. After waiting for the timeout period and after the minimum number of slave
machines is met, the distributed processor start with the number of available slaves. After
add_distributed_processors 36
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
it starts, it does not use more slave machines when more CPUs are available. You can use
this option when all of the requested CPUs are not available.
Description
Use this command to add machines to the pool of distributed processors. For more information on add_
distributed_processors, see "Running Distributed ATPG" in the TestMAX ATPG User Guide.
Note that TestMAX ATPG also supports Multicore ATPG. For details, see "Running Multicore ATPG."
See "License Keys" for licensing requirements.
Examples
TEST> add_distributed_processors {himalaya himalaya himalaya}
See Also
remove_distributed_processors
report_distributed_processors
set_distributed
Getting Started for Distributed ATPG Users
add_distributed_processors 37
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_equivalent_nofaults
Overview
This command propagates the existing list of nofaults to their equivalent faults and adds them to the nofault list.
Syntax
None
Arguments
None
Description
This command propagates the existing list of nofaults to their equivalent faults and adds them to the nofault list.
This includes user-defined nofaults as well as netlist modules which might have nofault attributes on module
pins or internal gate pins.
Examples
TEST> add_equivalent_ nofaults
49326 equivalent faults were added to nofault list.
See Also
add_nofaults
remove_nofaults
read_nofaults
report_nofaults
add_equivalent_nofaults 38
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_faults
Overview
Use this command to create a list of faults for fault simulation or test generation.
Syntax
add_faults [ instance_name | pin_pathname | -module name |
-all | -clocks | -scan_enable | -bridge_location bridge_location1 bridge_
location2 | -node_file name]
[-launch launch_clock]
[-capture capture_clock]
[-cell_aware]
[-exclusive] [-shared]
[-shared_launch]
[-shared_capture]
[-inter_clock_domain]
[-intra_clock_domain]
[-stuck <0 | 1 | 01> | -slow <r | f | rf>]
[-bridge <0|1|01>]
[-aggressor_node <first | second | both>]
[-dynamic_bridge <r|f|rf>]
[-dominant_node <first | second | both>]
[-max_invalid_report d]
Arguments
instance_name
Adds faults associated with the selected hierarchical instance to the fault list except for
faults with a nofault attribute.
pin_pathname
Adds faults associated with the specified pin_pathname to the fault list. You can use the -
stuck or the -slow options to specify which faults to add. The default is both stuck 0 and
stuck 1. Faults with a nofault attribute are not placed in the fault list.
-module name
Adds faults to all instances of the named module; not that the name argument can be a
fixed string or a limited regular expression.
-all
Adds faults at all potential fault sites in the design to the fault list except for faults with a
nofault attribute.
For transition faults, the add_faults -all command does not add any faults on clock or
scan-enable logic by default. This is because it is not meaningful to test faults in such logic
at functional speeds with scan-based patterns.
The add_faults -clocks and add_faults -scan_enable options do allow the addition
of such faults to the transition fault list if required. This option could not be used when the
fault model is set to bridging and dynamic_bridging.
add_faults 39
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-cell_aware
Enables TestMAX ATPG to use the cell-aware ATPG. In this case, all defects become faults
in fault lists, and both static and dynamic defects are supported. The ATPG process uses
both primary and secondary faults, and merges and simulates the faults. For more
information on cell-aware ATPG, see "Cell-Aware Test."
-clocks
Adds clock, set, and reset faults to the fault list.
There are multiple reasons a fault is defined as a clock fault. In some cases, the fault is on
an external or internal clock, or on a gate in the fanout cone of an external or internal
clock. The clock_flag (displayed by the Display Gate Info command in the TestMAX ATPG
Schematic Viewer) is set to 1 if the gate is in the fanout cone of an external or internal
clock. If the clock_flag is set to 1, the faults on the gate are considered clock faults.
Another reason a fault is recognized as a clock fault is if it is on a pin TestMAX ATPG
recognizes as a clock pin of a sequential device. These clock pins include the clock, set,
and reset pins of flip-flops, latches, and memories. TestMAX ATPG also considers a fault as
a clock fault if the fault is on a gate in the fanin cone of a clock pin of a sequential device. If
a gate is in both the fanin cone of a clock pin and the fanin cone of the data input pin of a
flip-flop or latch, the faults on that gate are recognized as clock faults.
-scan_enable
Adds scan enable faults to the fault list.
-bridge_location bridge_location1 bridge_location2
Specifies the nodes of the bridging or dynamic bridging fault being added. Both nodes must
be specified and when specified, the -node_file option cannot be used. For the bridging or
dynamic bridging fault model, if this option is not used, the -node_file must be used.
Either node can be selected to be an aggressor node, victim node, both using the -
aggressor option for the bridging fault model and the -dominant option for the dynamic
bridging fault model. The arguments for add_faults -bridge_location could be output
pins. For example:
TEST> add_faults -bridge_location mic0/alu0/sub_307/U4/Z mic0/pc0/U33/Z
Input pins can also be used but only if set_fault -bridge_input has been specified. A
limited set of net names are supported. A warning is given if an invalid bridge location is
specified. In order for a bridging pair to be read successfully, the fault model must be set
before the bridge type using the command set_faults -model <bridging | dynamic_
bridging>.
-node_file name
Specifies the name of a file that contains node pairs for use in creating the bridging and
dynamic bridging faults added to the fault list. When this option is used, the bridge location
pair or the dynamic bridging pair cannot be specified. If this option is not used, the bridge
location pair or the dynamic bridging pair must be specified. You can use the -aggressor_
node option or the -dominant_node option to specify the victim and aggressor nodes. See
Node File Format for Bridging Faults for the format of this file. The node file can be
compressed in gzip format. In order for bridging pairs specified in a node file to be read
successfully, the fault model must be set before the bridge type using the command set_
faults -model <bridging | dynamic_bridging>.
add_faults 40
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-launch launch_clock
Specifies the launch clock of the faults to be added to the fault list. You can use this option
with or without the -capture switch. The -launch option adds all faults that are launched
exclusively by the specified clock. You can specify the PI, NO_CLOCK, or MULTIPLE
keywords (in all upper or all lowercase) with this option to add faults that are launched by
the PI/PIO, no clock domains, or multiple clock domains, respectively. For a complete
description of how TestMAX ATPG distinguishes faults captured by a clock and launched by
a clock, see Using Clock Domain-Based Faults.
-capture capture_clock
Specifies the capture clock of the faults to be added to the fault list. This option adds all
faults that are captured exclusively by the specified clock. You can specify the PO, NO_
CLOCK, or MULTIPLE keywords (in all upper or all lowercase) with this option to add faults
that are captured by the PO/PIO, no clock domains, or multiple clock domains,
respectively. For a complete description of how TestMAX ATPG distinguishes faults
captured by a clock and launched by a clock, see Using Clock Domain-Based Faults.
-exclusive
Specifies that only the faults that are launched and captured exclusively (using a single
launch and a single capture) are to be added to the fault list. Faults exclusively launched by
PI or observed by PO are also added. For further details, see Using Clock Domain-Based
Faults.
-shared
Specifies that only the faults that are launched or captured by multiple clocks are added to
the fault list. This excludes all PI and PO faults. When used with the -launch and -capture
options, the -shared option changes the meaning of that switch so that faults launched or
captured by the specified clock and other clocks are added; in this case, exclusive faults
are not added. For further details, please see Using Clock Domain-Based Faults.
-shared_launch
Specifies that faults launched by the specified clock and other clocks are added to the fault
list. An error is reported if you specify this switch without also using the -launch option.
For further details, see Using Clock Domain-Based Faults.
-shared_capture
Specifies that faults captured by the specified clock and other clocks are added to the
faults list. An error is reported if you use this switch without also using -capture. For
further details, see Using Clock Domain-Based Faults.
-inter_clock_domain
Adds only exclusive faults that are launched and captured by different clock domains. For
further details, see Using Clock Domain-Based Faults.
-intra_clock_domain
Adds only exclusive faults that are launched and captured by the same clock domains. For
further details, see Using Clock Domain-Based Faults.
-stuck <0 | 1 | 01> | -slow <r | f | rf>
add_faults 41
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies faults to be added based upon their stuck or slow values. Note that these options
do not work with instances names, but do work for pinpath names and module names.
-bridge <0|1|01>
Specifies the type of bridging fault being added. The type can be either
0 - ba0 (bridging fault at 0)
1 - ba1 (bridging fault at 1)
01 - both (bridging fault at 0 and bridging fault at 1)
The default is 01 (both).
-aggressor_node <first | second | both>
Specifies which node in a node pair is used as the aggressor node of a bridging fault: First,
Second, or Both. The default is Both. How combinations of -bridge and -aggressor_node
option settings interact are shown in the following table.
In the default case, four faults are added for each node pair defined (this condition is shown
italicized in the table above.) Duplicate faults are not included in the fault list. A message is
issued when the add_faults command executes, indicating how many new faults were
added to the list.
-dynamic_bridge <r|f|rf>
Specifies the type of dynamic bridging fault to be added tot he faults list. The type can be
any of the following:
r - bsr (bridge slow to rise)
f - bsf (bridge slow to fall)
rf - both (bridge slow to rise and bridge slow to fall)
The default is rf (both).
add_faults 42
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
In the default case, four faults are added for each node pair defined (this condition is shown
italicized in the table above.) Duplicate faults are not included in the fault list. A message is
issued when the add_faults command executes that indicates how many new faults were
added to the list.
-max_invalid_report d
Reports why a bridge pair was rejected. The d argument specifies maximum number of
invalid bridging fault nodes for which to report the reason for rejection.
Description
Use this command to create a list of faults for fault simulation or test generation. Allowed fault sites include top-
level ports and input and output pins of cells, which have a netlist-defined pin name. The nofault attribute can
be used to prevent selected faults from being placed in the fault list.
Note the following:
l When the Bridging fault model is used, only the following options of the add_faults command are
supported:
[-bridge_location bridge_location1bridge_location2] [-node_file name]> [-bridge <0|1|01>] [-aggressor_
node <first | second | both>]
l Faults defined in an external file can also be added to a fault list using the read faults command.
l All the add_faults options, other than -launch and -captureare exclusive and cannot be issued
at the same time. If you issue these options together, a UI error message will appear.
l When an argument for the add_faults command is in a Tcl script, it must be specified as a Tcl list. For
example:
add_faults 43
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
TEST> add_faults -all
TEST> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
----------------- ---- ---------
Detected DT 7325
Possibly detected PT 0
Undetectable UD 1742
ATPG untestable AU 18706
Not detected ND 30447
-----------------------------------------------
total faults 58220
test coverage 12.97%
-----------------------------------------------
TEST> remove_faults -all
TEST> add_faults /reg0/MX1
TEST> report_ faults -all
sa0 NC reg0/MX1/SE
sa1 NC reg0/MX1/SE
sa0 NC reg0/MX1/D
sa1 NC reg0/MX1/D
sa0 DI reg0/MX1/SDI
sa1 DI reg0/MX1/Q
sa0 DI reg0/MX1/Q
sa1 DI reg0/MX1/SDI
TEST> remove_faults -all
TEST> add_faults mux0/MUX2_UDP_1/Q
TEST> add_faults mux0/SL
TEST> add_faults mux0/A -stuck 1
TEST> report_faults -all
sa0 NC mux0/MUX2_UDP_1/Q
sa1 NC mux0/A
sa1 NC mux0/MUX2_UDP_1/Q
sa0 NC mux0/SL
sa1 NC mux0/SL
See Also
add_nofaults
read_faults
remove_faults
report_faults
set_faults
set_netlist
Fault Classes
add_faults 44
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_lbist_seeds
Overview
This command specifies user-defined seed values that TestMAX ATPG uses to generate patterns for the
DFTMAX LogicBIST tool instead of using randomly generated seeds (the default).
Syntax
add_lbist_seeds {list_of_seed_values}
Arguments
list_of_seed_values
Specifies a list of seed values as a string of 0 and 1 values. The length of each seed must
be equal to the care bit pseudo-random pattern generation (PRPG) length in the design.
Note that all-zeroes (000...) is a special seed value that causes the PRPG to remain in an
all-zeroes state. In this case, there is no 1 value to start the sequence. You can use an all-
zeroes specification to prevent the data generation process from entering a codec static
state.
Description
This command specifies user-defined seed values that TestMAX ATPG uses to generate patterns for the
DFTMAX LogicBIST tool instead of using randomly generated seeds (the default). Based on the seed values,
TestMAX ATPG also calculates the signature and resulting coverage.
You can specify multiple add_lbist_seeds commands, and you can specify multiple seed values for each
command. Each call to the command appends additional seed values to the existing queued set of seed
values. Each call to the run_atpg command consumes the next unused seed value in the queue.
To reset the seed operation to the default behavior, or to start a new set of seed definitions, use the remove_
lbist_seeds command. For more information on using TestMAX ATPG with the DFTMAX LogicBIST tool,
see the DFTMAX LogicBIST User Guide.
Examples
# single seed
add_lbist_seeds 1011010101001010101010101111011
# multiple seeds
add_lbist_seeds { 1011010101001010101010101111011
1101111010101010101001010101101 }
add_lbist_seeds 45
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
remove_lbist_seeds
report_lbist_seeds
add_lbist_seeds 46
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_net_connections
Overview
Use this command to change the behavior of nets in a netlist.
Syntax
add_net_connections
< pi | po | pio | tie0 | tie1 | tiex | tiez >
<{net_names} | pin_pathname> [-port name]
[-module {names} | -all] [-disconnect | -remove]
[-buf]
Arguments
pi | po | pio | tie0 | tie1 | tiex | tiez
Indicates the type of net connection to be made. pi is primary input, po is primary output,
pio is primary input/output. The "tie" values are for 0/1/x/z tied net connections.
net_name | pin_pathname
Specifies the nets for which the selected connection is to be added. The net can be
identified by its net name or by an associated pin_pathname. A net pathname or pin
pathname below the "design" level (often identified by the use of the celldefine directive in
Verilog) cannot be the target of an add_net_connections command. For ideas on valid pin
path names, review the fault list for the block in question.
Note: Net connections are a deferred list that is operated on only after run_build_model
is executed. You should review the status messages during build for any B29 violations.
These are indications that the net connection target was not found.
pin_pathname identifies the net connected to the pin that needs a new connection.
Therefore, all the sinks connected to the driving net will get the new connection.
-port name
Specifies the port name to which the connection is added. This can be only used for pi, po,
or pio connections. If the port does not exist; it is added. If it does exist, it is reused. If a
set of vectored (bussed) signals (VCS definitions with bracketed consecutive integers) are
added with this command, the assumed order of the created VCS port vector matches the
order in which the signals were declared. This option cannot be combined with -remove.
-module name
Indicates that a net connection is made for every instantiation of the selected module. The
report_modules command identifies the valid net and pin names of the module. The -
module option can be combined only with the tie0, tie1, tiex, or tiez connections.
When the same net name is to be handled in multiple modules, then all net connections for
this same net name need to be defined in a single add net connections command using the
-module option multiple times. When modules are modified, the effect cannot be undone
using the remove_net_connections command. To undo the changes, the original module
must be re-read with the read_netlist command.
-all
add_net_connections 47
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies that the net_name supplied is to be processed for all modules where it can be
found. Without this option, only a net_name match at the top design level is processed.
Changes made with this option cannot be undone using the remove_net_connections
command. To undo the changes, all modules should be deleted from memory and re-read
from their original source files.
-disconnect
Indicates that the net is disconnected from its original drivers. Without this option, the
original driver remains. This option cannot be used if the target net is a top-level bidi (PIO)
or output (PO).
-remove
Indicates that the pin_pathname is removed from the design. The pin pathname must
specify an existing top-level port. The port is disconnected from its original driver. This
option should be used together with PI, PO, or PIO option. It can also be used with the
tie0, tie1, tiex, or tiez option if the port is an input or bidirectional port. The -remove
option cannot be combined with any of the following: -port, -module, -all, or -
disconnect. When a port is removed, it does not show up in any patterns created.
-buf
This option, when specified with the -disconnect option, disconnects the target input
(note that it can only be used with the tie0, tie1, tiez, tiex and pi net connections, and
has effect only when used on module input pins). When -buf is specified, a buffer is
inserted in front of the selected pin, thus isolating it from the rest of the net. The net
connection is then applied, which will disconnect the buffer and replace it with a pi. The
buffer can be removed by regular flattening optimizations.
Description
Use this command to change the behavior of nets in a netlist. These changes are considered the same as
netlist data when performing fault simulation and test generation. By default, these changes affect the in-
memory image of the design (flattened design) and are reflected in patterns that are created and written. Net
connections using -module or -all also change the netlist data and affect the output of the write_
netlist command. The -nonet_connections_change_netlist option of the set_build
command can be used to change the behavior so that only the flattened design is affected, but not the modules
produced using the write_netlist command.
This command builds a deferred list of netlist changes that are performed when the run_build_model
command is executed. Net connections can be defined before library or design modules have been read in
and are defined before the top level module is chosen. For this reason, it is not possible to completely check
whether a net connection target specified is valid until the run build model is performed. When a net
connection target cannot be found, a B29 summary violation message is reported during the flattening
process. Use the report_violations B29 command in conjunction with the report_net_
connections command to review net connections after the build process ends.
Note the following:
l Use of net connections that name specific net or pin path names inhibits the ability of TestMAX ATPG to
use some default RAM optimization techniques during flattening. However, this is not the case if the net
connections are limited to the -module, -all, or -remove options. Not being able to employ the
add_net_connections 48
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
default RAM optimization strategy can lead to increased RAM needs for the design during flattening to
1.5X over the RAM needs without net connections. If your design is large, change the original netlist
instead of using the net connections to accomplish the desired modifications.
l Any current flattened in-memory design is deleted from memory when the net connection list is changed
by adding or deleting net connections.
Examples
BUILD> add_net_connections TIE1 GLOBAL_VCC -all
BUILD> add_net_connections TIE0 GLOBAL_GND -all
BUILD> add_net_connections TIE1 GND -module {ORC1 BEA47 IOB21 }
BUILD> add_net_connections PI level2/L1/p3/b -port new_pin
BUILD> add_net_connections PI level2/L1/out11 -disconnect
BUILD> add_net_connections PO level2/L1/out11
BUILD> add_net_connections TIE0 float1 -module nestedand
BUILD> add_net_connections PI pwr1 gnd1 -remove
BUILD> add_net_connections TIE0 enable1 -remove
BUILD> add_net_connections TIE1 enable2 -remove
BUILD> add_net_connections TIEZ enable3 -remove
See Also
remove_net_connections
report_modules
report_net_connections
set_build
add_net_connections 49
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_nofaults
Overview
Use this command to inhibit the placement of faults at specific locations.
Syntax
add_nofaults
<instance_name | pin_pathname | -module { module_name [optional_pin_
names]} | -instance instance_name >
[-stuck <0 | 1 | 01> | -slow <r | f | rf>]
Arguments
instance_name
Adds the nofault attribute to all faults associated with the hierarchical instance pathname.
The instance_name argument must be a fixed string.
pin_pathname
Adds the nofault attribute to faults on the pin pathname.
-module {module_name [optional_pin_names]}
Adds the nofault attribute to one or more pins of every instantiation of a given module. The
module_name argument can be a fixed string or a limited regular expression. If an optional
pin name or names is specified, then only the faults associated with that module and pin
are added. If no pins are specified, then all pins of the module are used.
-instance instance_name
Adds the nofault attribute to all faults associated with the instance_name argument. The
instance_name argument can be a fixed string or a limited regular expression, however
only one instance_name can be specified.
-stuck <0 | 1 | 01> | -slow <r | f | rf>
Specifies faults based upon their stuck or slow values. Note that these options do not work
with instances names, but do work for pinpath names and module names.
Description
Use this command to inhibit the placement of faults at specific locations. You must assign the nofaults attribute
to faults before using the add_faults or read_faults command to inhibit adding a fault to selected
locations. You can use the add_equivalent_nofaults command to set the nofault attribute for all faults
that are equivalent to faults that currently have the nofault attribute.
Examples
# nofault stuck-at-1 fault of pin 'SL' of every instance
# of module MUX2H
TEST> add_nofaults -module MUX2H -stuck 1 SL
add_nofaults 50
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
# nofault an instance
TEST> add_nofaults mux0
15 faults were added to nofault list.
See Also
add_equivalent_nofaults
read_nofaults
report_nofaults
remove_nofaults
add_nofaults 51
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_pi_constraints
Overview
Use this command to define constant logic values on top-level ports.
Syntax
add_pi_constraints
<0 | 1 | x | z> [-all_bidis | -all_bidis_except_clocks |
{port_names} | -all | -all_except_clocks]
Arguments
0 | 1 | x | z
Indicates the constrained value for the selected primary input or bidirectional port. Only a
port connecting to circuitry that can accept a Z state is allowed to be constrained to a Z
value.
-all_bidis | -all_bidis_except_clocks
Selects the set of all BIDI pins, which is useful when setting all BIDIs to Z (constraining
BIDIs to output mode).
{port_names} | -all | -all_except_clocks
Indicates the site of the PI (Primary Input) constraint. PI constraints can be placed only on
primary input or bidirectional ports. Multiple port names can be defined on a single
command, but they must all share the same constrained value.
Description
Use this command to define constant logic values on top-level ports. The ATPG algorithm generates only
patterns that satisfy the defined list of PI constraints.
A PI constraint translates into a fixed port value during the application of the various capture procedures of the
STIL procedure file.
By default, a PI constraint will also be placed on the defined pin during procedures such as the test_setup,
load_unload, and shift — unless you explicitly override it using an assignment statement in the procedure. This
is done to prevent unnecessary switching of PIs when entering the shift operation and to constrain inputs
when last-shift is chosen for the launch method used for transition delay testing.
If you want the constrained value to always be placed on the PI constraint in a procedure, follow one of these
guidelines:
l Set the values in a vector at the beginning of the procedure and leave the vector unchanged throughout
the procedure.
l Use an F statement in the capture procedure to specify that the ports have constant values throughout
the procedure; and do not change these values throughout the procedure.
See Controlling Bidirectional Ports in STIL for an example.
Note the following:
add_pi_constraints 52
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l A port previously defined as a clock can be constrained using the add_pi_constraints command,
but only to its off value.
l An input mask is accomplished by defining a PI constraint of X on an input.
l To avoid measuring a primary output port, use the add_po_masks -all command.
l PI constraints can also be defined directly in a STIL procedure file.
Examples
DRC> add_pi_constraints 1 TEST_MODE
DRC> add_pi_constraints 0 TICK
DRC> report_pi_constraints
port_name constrain_value
---------- ---------------
/TEST_MODE 1
/TICK 0
See Also
report_pi_constraints
remove_pi_constraints
add_pi_constraints 53
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_pi_equivalences
Overview
Use this command to define constant logic relationships between top-level ports.
Syntax
add_pi_equivalences
port_name
[-invert | -differential | -same_polarity]
{port_name_list}
Arguments
port_name
Specifies the initial port for which an equivalence relationship is defined. This port must be
a primary input or bidirectional port.
-invert
Specifies that the following ports is constrained to be at an inverted value relative to the
first port in the list.
-differential
This option is similar in function to the -invert option with two differences. The first is that
only two pins are accepted. The second is that pins declared as having a -differential
relationship that are also clocks retain that relationship when clock grouping is enabled. A
differential clock relationship formed with the -invert option might be ignored by clock
grouping. Pins declared as having a differential relationship is driven to opposite values by
generated patterns.
-same_polarity
This option is similar in function to the -differential option. The -same_polarity option
only accepts two pins, but these two signals must have the same clock_off state (unlike
differential clocks). Pins that are declared to have a same_polarity relationship will always
be active at the same time; this relationship is maintained even if clock-grouping options
are applied (pins with same_polarity will not be ungrouped). You can use the -same_
polarity option to restrict pattern generation for equivalent external clocks, however you
should be aware that this is a restriction on the clocking opportunities in the design, and
might impact coverage. Note that the -same_polarity option has been replaced by the -
dynamic_clock_equivalencing option of the set_drc command. By default, pin
equivalences are automatically deleted for clocks during DRC when dynamic clock grouping
is enabled. You can use the -dynamic_clock_equivalencing disturb option of the set_
drc command to allow the use of pin equivalences for clocks when dynamic clock grouping
is enabled using normally calculated disturb cells. The nodisturb option allows the use of
pin equivalences for clocks when dynamic clock grouping is enabled with no consideration
for disturb cells.
port_name_list
add_pi_equivalences 54
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to define constant logic relationships between top-level ports. Two or more ports can be
declared to have an equivalence, which means they should be driven to the same value by ATPG patterns, or
they can be declared to have an inverse equivalence, which means they should be driven to the binary
complement of each other by ATPG patterns. The ATPG algorithm generates only patterns that satisfy the
defined list of PI equivalence relations and will avoid patterns that do not.
When two ports are to be declared equivalent or differential clocks, first define them as clocks, then define the
equivalence relationship. For example:
Recommended:
add_clocks 0 CLK1 -shift
add_clocks 0 CLK2 -shift
add_pi_equivalences {CLK1 CLK2}
Not Recommended:
add_pi_equivalences {CLK1 CLK2}
add_clocks 0 CLK1 -shift
add_clocks 0 CLK2 -shift
This command is commonly used to define the relationship of differential inputs. TestMAX ATPG supports
differential inputs for clocks and data ports. However, special consideration might be required for differential
scan chain input modeling for pattern creation.
DRC rule checking considers PI equivalence relationships only for clock rule checking. No other DRC checks
consider potential effects of PI equivalence relationships.
A PI equivalence translates into a specific matched or complementary value during the application of the
various capture_XXX procedures of the STL procedure file. A PI equivalence does not cause the defined pins
to have any specific value in the load_unload, shift, test_setup, or other procedures. If you want specific values
placed on pins during test_setup or scan chain loading and unloading, you need to edit the test_setup, load_
unload, or shift procedures to explicitly set the desired port values.
An equivalence relationship between internal circuit points or a top-level port and an internal circuit point is
created using a combination of add_atpg_primitives and add_atpg_constraints commands.
Note: PI equivalences can also be defined directly in a STIL procedure file within capture clock procedures.
However, if you use an STIL procedure file that describes a clock as having a differential relationship, you still
need to use the commands shown in the following example before running the STIL procedure file. If you
don't, you will get a V12 warning, and the clocks will not be pulsed during ATPG:
add_clocks 0 CLK_216A_P -shift
add_clocks 1 CLK_216A_N -shift
add_pi_equivalences CLK_216A_P -differential CLK_216A_N
add_pi_equivalences 55
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
See Also
add_atpg_constraints
add_atpg_primitives
remove_pi_equivalences
report_pi_equivalences
add_pi_equivalences 56
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_po_masks
Overview
This command defines masks on output and bidirectional ports. This might be useful when there are circuit
outputs that might not be observable in a particular tester or system environment (such as boundary scan).
Syntax
add_po_masks
<port_name | -all>
Arguments
port_name
Specifies the port whose output is to be masked. The test generator and fault simulator do
not give fault detection credit for these ports and the expected value is set to "X". The PO
mask is used only for nonshift (system or broadside) cycles and does not mask data from
scan chain outputs during scan-shift cycles.
-all
Indicates that all top-level primary outputs and bidirectional ports is masked. The use of -
all is a convenient way to add a PO mask to all output pins.
Description
This command defines masks on output and bidirectional ports. This might be useful when there are circuit
outputs that might not be observable in a particular tester or system environment (such as boundary scan).
Note: To avoid placing a value on an input port, define a PI constraint of "X" using the add_pi_
constraints command.
add_po_masks 57
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
DRC> report_po_masks
Warning: Requested report contained no entries. (M13)
DRC> add_po_masks {D0 D1 D2 D3 }
DRC> report_po_masks
output port_name
----------------
/D0
/D1
/D2
/D3
See Also
add_pi_constraints
report_po_masks
remove_po_masks
Pin Name
add_po_masks 58
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_scan_chains
Overview
This command is used to define scan chains. It is an alternative to defining scan chains in the STIL procedure
file and is intended to be used before issuing a write_drc_file command to create a template STIL
procedure file or before using the run_drc command without a DRC file argument.
Syntax
add_scan_chains
chain_name input_pin output_pin
Arguments
chain_name
The chain name is the symbolic name used to reference the scan chain. Select a name that
has not already been used as the label of a scan chain. It is suggested you begin the chain
name with an alphabetic character, as some pattern output formats have this restriction.
input_pin
This is the name of the top-level design port that operates as the scan chain input. When a
differential scan chain input exists, use the add_pi_equivalences command to define the
relationship between the two input pins, but define only one as the scan chain input.
output_pin
This is the name of the top-level design port that operates as the scan chain output
corresponding to the specified input. The output pin must not have been specified as the
scan input or output of another scan chain. Differential scan chain outputs are not
supported.
Description
This command is used to define scan chains. It is an alternative to defining scan chains in the STIL procedure
file and is intended to be used before issuing a write_drc_file command to create a template STIL
procedure file or before using the run_drc command without a DRC file argument.
If a DRC file is specified with the run_drc command, any scan chains defined using the add scan
chainscommand are ignored. See the run_drc command for this and other rules of priority.
add_scan_chains 59
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
DRC> add_scan_chains chain_1 si[1] so[1]
DRC> add_scan_chains chain_2 si[2] so[2]
DRC> add_scan_chains C3 si[3] so[3]
DRC> report_scan_chains
chain group length input_pin output_pin
------- ----- ------ --------- -----------
chain_1 sg0 0 si[1] so[1]
chain_2 sg0 0 si[2] so[2]
C3 sg0 0 si[3] so[3]
See Also
report_scan_chains
remove_scan_chains
run_drc
write_drc_file
add_scan_chains 60
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_scan_enables
Overview
This command is used to specify that a pin is to be initialized to a specific value before scan chain shifting. It is
an alternative to defining a load_unload preamble vector in the STIL procedure file and is intended to be used
before issuing a write_drc_file command to create a STIL procedure template or when a run_drc
command is used without a procedure file.
Syntax
add_scan_enables
<0 | 1 | z> pin_name
Arguments
0 | 1 | z
This defines the port's state during scan chain shifting. The port is initialized to this value in
a load_unload preamble cycle before the shift procedure.
pin_name
This is the name of the top-level design port to be initialized during scan shifting. Multiple
pins can be specified in the same command if they are all initialized to the same value.
Description
This command is used to specify that a pin is to be initialized to a specific value before scan chain shifting. It is
an alternative to defining a load_unload preamble vector in the STIL procedure file and is intended to be used
before issuing a write_drc_file command to create a STIL procedure template or when a run_drc
command is used without a procedure file.
The add_scan_enables command does not consider the affect of any PI equivalences that might exist or
might have been previously defined. If you define a scan enable for one pin in a PI equivalence pin group, you
should also explicitly define the appropriate scan enable state for all other pins.
If a DRC file is specified with the run_drc command, there is a potential for conflict between the scan
enables defined with the add_scan_enables command and the preamble vectors of the load_unload
procedure defined in the DRC file. See the run_drc command for rules of priority.
Examples
DRC> add_scan_enables 1 SCAN_EN
DRC> add_scan_enables Z {bidi[0] bidi[1] bidi[2]}
DRC> report_scan_enables
value port
----- -----------------------
1 SCAN_EN (6)
Z bidi[0] (3210)
Z bidi[1] (3211)
Z bidi[2] (3212)
add_scan_enables 61
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_scan_enables
remove_scan_enables
run_drc
write_drc_file
Defining Scan Chain Load/Unload in STIL
add_scan_enables 62
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_slow_bidis
Overview
This command is used to modify the behavior of BUS primitives associated with bidirectional ports such that
when these ports are in output mode, the values driven by internal tristate gates only propagate to the
bidirectional port's output path.
Syntax
add_slow_bidis
<port_name | -all>
Arguments
port_name
Specifies the output of the BUS primitive that is being modified to an X.
-all
Indicates that all BUS primitives are modified to an X.
Description
This command is used to modify the behavior of BUS primitives associated with bidirectional ports such that
when these ports are in output mode, the values driven by internal tristate gates only propagate to the
bidirectional port's output path. Any input mode gates that receive data from these ports is simulated with an X
in output mode.
This command prevents TestMAX ATPG from generating "loopback" tests; for example, tests that would
cause a value to come from the internal driver to a bidirectional port and then loop back to the internal logic
normally driven when the bidirectional port is in input mode. Since this sort of test risks activating a path that is
not used in a circuit's normal functionality, and which might be longer than a single clock cycle, it is frequently
desirable to avoid such tests during at-speed testing, such as transition and path delay testing.
See Also
remove_slow_bidis
report_slow_bidis
add_slow_bidis 63
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_slow_cells
Overview
This command is used for at-speed testing to modify the behavior of DFF or DLAT cells when these cells drive
multi cycle or false paths.
Syntax
add_slow_cells
<instance_path | gate_id>
Arguments
instance_path | gate_id
Specifies the instance pathname or the gate ID of the DFF or DLAT element whose
simulation behavior is being modified.
Description
This command is used for at-speed testing to modify the behavior of DFF or DLAT cells when these cells drive
multi cycle or false paths. A transition launched from these cells is simulated as an X. Alternately the add_
capture_masks command can be used to mask DFF or DLAT cells that capture multi cycle or false paths.
However, the add slow cells command is usually preferable as it allows for steady-state values to be used in
generating at-speed tests and for those steady-state values to propagate and be captured along slower paths
(might be useful when combining at-speed tests with stuck-fault tests).
For Basic-Scan ATPG, the output is masked if there is a transition on the last-shift cycle. For Fast-Sequential
or Full-Sequential ATPG, the output is masked if there is a transition on any ATPG clock cycle.
In multi clock domains, this command has the same affect in all ATPG modes and fault models. For example,
because the paths between clock domains are thought of in terms of a timing exception, you could do one of
two things for an at-speed test:
Ensure that the exception sources are held at a constant value during launch by using this command on flip-
flops at the beginning of the paths
Ensure that the exception sinks are masked during capture by using the add_capture_masks command on
the flip-flops at the end of the paths. This option is generally less desirable than the above option, because
more faults will usually become untestable.
See Also
remove_slow_cells
report_slow_cells
add_slow_cells 64
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_waveform_signals
Overview
Adds waveforms associated with the pin_pathname, gate ID, or net_name, or all gates to the
simulation waveform viewer.
Syntax
add_waveform_signals
< pin_pathname | gate_id | net_names | -all>
Arguments
pin_pathname | gate_id | net_names | -all
Specifies the pin pathname or the gate ID of the element whose simulation behavior is
being monitored. If you specify the -all option, TestMAX ATPG adds all gates to the
simulation waveform viewer.
Description
Adds waveforms associated with the pin_pathname, gate ID, or net_name, or all gates to the
simulation waveform viewer.
If you enter a net name on the command line, the simulation waveform viewer keeps the net name as the
signal name. If you pick a net from the GSV and add it to the simulation waveform viewer, the net name is the
signal name. The remove_waveform_signals command must have same options as add waveform
signals.
See Also
remove_waveform_signals
add_waveform_signals 65
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Analyze Commands
This section describes the following commands:
l analyze_buses
l analyze_compressors
l analyze_faults
l analyze_feedback_path
l analyze_nonscan_loading
l analyze_simulation_data
l analyze_test_points
l analyze_violation
l analyze_wires
add_waveform_signals 66
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_buses
Overview
Use this command to analyze potential problems associated with buses.
Syntax
analyze_buses
<gate_id... | -all>
[-exclusive [first | all] | -prevention | -zstate ]
[-patterns number]
[-random]
[-store]
[-update]
Arguments
gate_id
Specifying one or more numeric BUS gate IDs indicates that the BUS analysis should be
performed for those primitive IDs. Detailed information of the analysis is given. An error is
reported if the primitive ID is not an ATPG BUS primitive.
-all
Specifies that the BUS analysis is to be performed for all BUS devices. When the analysis is
completed, a summary message is displayed.
-exclusive [first | all]
Specifies that the BUS analysis is to check for mutually exclusive control circuitry among
BUS driver sources. If a mutually exclusive condition is identified, the BUS device can
never be in contention and can be moved to the PASS category. This exclusivity checking
is the default BUS analysis.
You can select what happens if the analysis fails, in other words, if a pattern is found which
proves that more than one BUS driver is turned on at the same time. Use of First causes
the analysis to stop on the first BUS device that fails this check. Use of all causes analysis
to continue on to the next BUS device until all BUS devices have been processed and
reported. The default is first.
Combining -exclusive all with -all for the list of BUS devices to analyze and report is
not advised as it might consume significant amounts of CPU time and produce a large
report. For this reason, combining these two options is prohibited and attempting to use
them will result in an error message. Use of First is recommended except for experienced
debugging.
-prevention
Specifies that the BUS analysis should try to prevent contention on all BUS devices
simultaneously.
-zstate
Specifies that the BUS analysis should check for the ability of a BUS to have no drivers
turned on, causing a floating net or Z-state condition.
analyze_buses 67
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-patterns number
Specifies the number of random patterns to be used for identifying contention-free buses.
-random
Specifies that random patterns are to be used for identifying contention-free buses.
-store
Causes the random patterns used for identifying contention-free buses to be stored in the
internal pattern buffer.
-update
Specifies that the information learned from the BUS analysis for contention or Z-state
status should be used to update the results of the DRC BUS analysis. Without this option,
the BUS analysis results are reported to the transcript but are not used to update the DRC
results.
Description
Use this command to analyze potential problems associated with buses. You can perform the following
analyses:
l Individual buses can be analyzed to determine if they are capable of being placed at a contention
condition. If a pattern can be created to satisfy a contention condition, the simulation values for that
pattern are displayed by setting pindata reporting to pattern 0.
l Individual buses can be analyzed to determine if they are capable of being placed in a contention-free
condition. If a pattern is found to create a contention-free condition, the simulation values for that pattern
is displayed by setting pindata reporting to pattern 0.
l All buses can be analyzed to determine if they are capable of simultaneously being placed at a
contention-free condition. If a pattern can be created to satisfy a contention-free condition, the simulation
values for that pattern are displayed by setting pindata reporting to pattern 0.
l Individual buses can be analyzed to determine if they are capable of being placed at a "Z" state. If a
pattern can be created to satisfy a Z-state condition, the simulation values for that pattern are displayed
by setting pindata reporting to pattern 0.
Note: The bus analysis uses test generation parameters that are affected by the set_atpg and set_
contention commands.
Examples
TEST> report_buses -contention fail
contention zstate #drivers
gate_id status/capture status strong/weak behavior_data
------- -------------- ------ ----------- --------------------
85346 fail unstable bidi 5 0
85359 fail unstable bidi 5 0
TEST> analyze_buses 85359
Bus 85359 (47526,47461) failed contention check (values available in
pattern 0).
TEST> analyze_buses 85346
Bus 85346 (47537,47512) failed contention check (values available in
analyze_buses 68
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
pattern 0).
See Also
report_buses
set_atpg
set_contention
Understanding the analyze_buses_report
analyze_buses 69
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_compressors
Overview
This command enables you to run ATPG by creating a virtual compressor.
Syntax
analyze_compressors
<-num_chains number>
<-num_inputs number>
<-num_scanouts number>
[-num_clockchains number]
[-nodiag]
[-num_xchains number | auto]
[-use_all_unload_nodes | -nouse_all_unload_nodes]
[-verbose]
[-xchain_analysis]
[-xtolerance <default | high>]
Arguments
-num_chains number
Specifies the number of internal chains used for the analysis.
-num_inputs number
Specifies the number of scan inputs used for scan compression implementation.
-num_scanouts number
Specifies the number of scan outputs used for scan compression implementation.
-num_clockchains number
The default is 0 (no clock-chains). Indicates that number scan chains should be configured
as clock chains when designing the load decompressor. Clock chains must have dedicated,
load-mode independent scan inputs, and these inputs cannot be used to control X-tolerant
mode selection for the unload compressor.
-num_xchains number | auto
The default is 0 (no X-chains). When a non-zero value is given, the first number chains are
considered X-chains when creating the unload compressor. There is no effect on the load
decompressor. When running analyze_compressors on a scan design, allocation of scan
cells into chains during the analysis does nothing special for X-chains. If auto is selected,
first the number of X-chains is determined based on X-cells analysis (see the -xchain_
analysis option); user-defined capture masks are also considered. Then, internal scan
chains are created so that all X-cells (and only X-cells) are placed on X-chains.
-nodiag
Disables the requirement to generate a compressor with high precision diagnosis. By
default, the analyze_compressors command generates a compressor with failure
diagnosis; this requires a specific number of scan outputs for a given number of chains.
analyze_compressors 70
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-use_all_unload_nodes | -nouse_all_unload_nodes
The -use_all_unload_nodes option has the following effect when generating an unload
compressor:
Adds a variety of different multiple-observability modes.
Fills up unused modes to avoid R21 violations
The -nouse_all_unload_modes option is provided only for backward-compatibility.
-xchain_analysis
Performs X-chain analysis during the TEST command mode of a TestMAX ATPG session.
This analysis calculates the probability of X for each gate in the circuit by simulating 1024
random patterns under the following conditions:
Constrained PIs are set to their constrained value.
Clocks are set to their off state.
Enable pins are set to their non-shift state, if identified. You can define enable pins using
the add_scan_enables command; in this case, the state is assumed to be the shift mode
value.
Bidirectional pins are set to Z, but are reset to a random binary value for patterns in which
the internal driver is at Z. In this case, the -bidi_fill option of the set_simulation
command must be specified.
All other PIs are set to random values.
Constrained scan cells are set to their constrained value.
Constant value cells are set to their constant value.
Load cells are set to their load values.
Transparent latches are initialized to X and updated during simulation.
Other scan cells are set to random values.
All other state elements are set to X.
A report is provided for each scan chain, which indicates the average X-capture probability
for its scan cells. After it is calculated, the X-probability can be displayed for reported and
displayed gates using the set_pindata -gatedata command.
This data is automatically deleted when leaving the TEST command mode.
After running the -xchain_analysis option, the X-probabilities of every gate in the design
are stored and can be displayed by the set_pindata -gatedata command. The number
shown for each gate is the percentage of simulated patterns for which the gate was at X
value.
-xtolerance <default | high>
The default keyword specifies no extra X-tolerance gating, and only includes X-tolerance
in an XOR compressor. The high keyword specifies full X-tolerance gating with shared
load/unload controls. For multithreading, you must set the -xtolerance option to high. If
you don't set this option, non-threaded processing is used for analysis instead of
multithreading, and an M729 message is issued.
analyze_compressors 71
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command creates a virtual compressor and enables you to perform what-if analysis to examine the
benefits of using scan compression on your design. You can select parameters for the compressor and the
decompressor before running ATPG.
For what-if analysis, you must separately run ATPG in scan mode and then compare the results to the output
produced by the analyze_compressors command. This command deletes the internal patterns after it is
finished running.
Note the following:
l You cannot run the analyze_compressors command when the set_simulation -shift_cycles
command is set to a non-zero value.
l You must set the -xtolerance option to high.
The analyze_compressors command prints out estimated data volume and test volume reductions you
can achieve. These estimates assume that you have exactly same coverage and same pattern count in
regular scan ATPG. You also get an estimate of number of gates per chain required to create the compressors
you have chosen.
The analyze_compressors command uses the following equations for the test volume reduction and data
volume reduction estimates:
Cycle reduction per pattern = (Length of longest scan chain in scan mode)
----------------------------------------------------------------------------
-----
(Length of longest scan chain in scan compression mode)
Scan Test Data Volume per pattern = 3 x Length of longest scan chain x
number of scan chains
Scan Compression Test Data Volume per pattern = Length of longest scan chain
x
(Number of scan inputs +
2 x Number of Scan Outputs )
Data reduction per pattern = (Scan Test Data Volume per pattern)
-------------------------------------------------------------------------
(Scan Compression Test Data Volume per pattern)
Examples
Data reduction per pattern: 11.81X
Cycle reduction per pattern: 11.81X
Compressors area overhead per internal chain: 9.0 equivalent two-input NAND
gates
analyze_compressors 72
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_faults
Overview
This command prints a series of reports that are used to analyze why faults are not detected.
Syntax
analyze_faults
<< pin_pathname -stuck <0 | 1> [-observe gate_id]>
| delay_path_name -slow <r|f> [-observe gate_id]>
| instance_name.. >>
< bridge_location1 bridge_location2 <-bridge <0|1> |-dynamic_bridge <r|f>
>>
[-class fault_class]
[-display]
[-fast_sequential | -full_sequential]
[-fault_simulation]
[-max max_faults]
[-source_points min_percent max_points]
[-verbose]
Arguments
pin_pathname -stuck <0 | 1>
Thepin_pathname argument specifies the fault site to be analyzed by its pin pathname.
The analysis consists of a controllability check, and a detectability check. TestMAX ATPG
does not use the fault simulation engine to validate fault detection unless the -fault_
simulation option is also specified. This means that even though a fault is found to be
controllable and detectable by ATPG, it might be rejected by the fault simulation engine if it
is not also detected by that analysis.
The -stuck argument specifies the stuck value of the selected fault.
-observe gate_id
Indicates the fault is only considered detected if it propagates to the specified primitive ID.
This option is ignored for fault classes. The default behavior considers all potential observe
points.
instance_name
Specifies the names of the instances for analysis.
-class fault_class...
Selects a specific class of faults for analysis. You can use this option multiple times in the
command. This option is not supported for path delay or IDDQ faults.
delay_path_name -slow <r | f>
The delay_path_name argument specifies the name of the path to be analyzed when the
fault model is set to Delay_path. The analysis proceeds by attempting to satisfy all off-
path inputs, and stops when these cannot be satisfied. The -slow option specifies either
analyze_faults 73
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
f) fault for analysis when analyzing Delay path faults. Note that you can use the -slow
option with the pin path name.
bridge_location1 bridge_location2 < -bridge <0|1> | -dynamic_bridge <r|f> >
bridge_location1, 2 - Specifies the victim and aggressor nodes, respectively.
-bridge - Specifies the type of bridging fault. The type can be either:
0 - ba0 (bridging fault at 0)
1 - ba1 (bridging fault at 1)
-dynamic_bridge - Specifies the type of dynamic bridging fault. The type can be either:
r - bsr (bridge slow to rise)
f - bsf (bridge slow to fall)
-fast_sequential
Selects Fast-Sequential ATPG methods for the analysis. The default behavior is to perform
the analysis using Basic-Scan (combinational) ATPG methods unless either this option or
the -full_sequential option is selected.
-full_sequential
Selects Full-Sequential ATPG methods for the analysis. The default behavior is to do the
analysis using Basic-Scan (combinational) ATPG methods unless either this option or the -
fast_sequential option is selected.
-fault_simulation
Specifies that in addition to the normal fault analysis, a fault simulation should also be
performed to ensure that any fault detection credit given during the fault analysis is
validated by fault simulation. By default, this simulation is not performed.
During the ATPG process, fault classification comes from detection due to generated
patterns but is also double-checked by performing a fault simulation on the potential
pattern. So to get an equivalent analysis of the fault site to what would occur during the
ATPG process, it is necessary to both analyze the fault from an ATPG pattern generation
perspective and also check the resulting pattern with a fault simulation. It is sometimes
the case that ATPG pattern generation succeeds and the fault would be considered
class=DS, but fault simulation fails and the fault cannot be classified as detected.
-max max_faults
Specifies the maximum number of faults to report for a verbose fault class analysis for
each potential problem type. The default is to report all faults with the -verbose option.
-source_points min_percent max_points
Prints a list of blockage points, blockage value source points, and constraint value source
points based on the order of their effect on explained faults. The parameters for this option
control the length of the report. The min_percent parameter is the minimum percentage of
explained faults for the point to be reported. The max_points parameter is the maximum
number of points to list in each category; 0 specifies that there is no limit. This option must
be used with the -class option. The fault classes are supported: Undetectable (UD) and
ATPG Untestable (AU), and any of their subclasses.
-verbose
Selects detailed information reporting during the analysis.
analyze_faults 74
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command prints a series of reports that are used to analyze why faults are not detected. Note that this
command is not supported when using DFTMAX Ultra with threaded or non-threaded TestMAX ATPG.
When specified for one or more classes of faults, the analyze_faults command provides a summary of
how many times certain potential detection problems were encountered. For example: "Connected to a TLA"
(transparent latch) or "Constrained."
When used on a selected fault identified by a pin pathname, this command performs a detailed combinational
analysis to determine if the fault can be detected. If the fault cannot be detected, it tries to identify the source of
the failed detection.
Note the following:
l The fault analysis uses test generation; these parameters are controlled by the set_atpg, set_
contention, and set_delay commands.
l Fault analysis is not supported for the hold time fault model.
l When using this command for path delay analysis, the test generator first tries to produce a test that is a
candidate for a robust test and, if that fails, tries to produce a non-robust test. When it is trying to produce
a test, it proceeds through a sequence of tasks and reports on the success of each one. It continues
through this sequence until it fails at one of them. When it fails, it will stop the analysis and print a report.
If the command goes through the entire sequence without failure, it will report success in the summary
message at the end of the fault analysis. The sequence of tasks is as follows:
1. Generate the values necessary to launch the transition at the head of the selected path.
2. Generate the values necessary to capture the transition at the tail of the path.
3. Generate the values necessary to propagate the transition through the first non-launch, non-capture
node in the path description.
4. Generate the values necessary to propagate the transition through the second non-launch, non-
capture node in the path description.
5. Generate the values necessary to propagate the transition through the last non-launch, non-capture
node in the path description.
Basically, the test generator is taking care of the launch node first, the capture node second, and is then
moving down the path one node at a time from the launch node to the capture node until it hits a point at which
it cannot succeed. When it hits this failure node in the path, then it prints out a message indicating that it has
failed.
If you run analyze_faults in default mode, without any other switches set, the printout for a successful test
will look like this:
---------------------------------------------------------------------------
---
Full Sequential Analysis performed for Path Delay fault : path0 slow to
fall
---------------------------------------------------------------------------
---
Non-robust path sensitization successful ...
Test generation to ANY observe successful - observe is DFF 14 ...
The gate_report data is now set to "seq_sim_data"
analyze_faults 75
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If you set the -verbose option of analyze_faults, the printout for a successful test is as follows:
---------------------------------------------------------------------------
---
Full Sequential Analysis performed for Path Delay fault :
path0 slow to fall
path head : output of DFF 15 1->0
.. path tail : input 1 of MUX 12 1->0
---------------------------------------------------------------------------
---
analyze_faults 76
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Delay path :
OR 9 1->0
AND 11 1->0
MUX 12 1->0
Capture :
DFF 13 1->1 @ frame 3 (cycle 1, frame 0)
Test pattern detection path:
DFF 13 0/1
The gate_report data is now set to "seq_sim_data"
There are several differences between this verbose printout and the default. One difference is that the nodes
at the head and tail of the path are listed, along with their required transition values. A second difference is that
the type of test that was generated is identified, in this case a Strong non-robust test, which is the type of test
that is a candidate for a robust test. Since robustness is determined only by the fault simulator, all the test
generator can do is to identify a candidate for such a test designation. A final difference is that the verbose
printout contains the actual test vector generated: the scan chain values, the PI values, the clock pulses, and
the waveform tables used. This is followed by a listing of the nodes along the path and their transition values.
For a verbose printout of an unsuccessful test, you will see something like the following:
---------------------------------------------------------------------------
---
Full Sequential Analysis performed for Path Delay fault :
path0 slow to fall
path head : output of DFF 15 1->0
path tail : input 1 of MUX 12 0->1
---------------------------------------------------------------------------
---
analyze_faults 77
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
MUX 12 0->x
Capture :
DFF 14 x->0 @ frame 3 (cycle 1, frame 0)
The gate_report data is now set to "seq_sim_data"
As with the case of a successful test, the path head and tail are identified and so is the type of test attempted.
In this case, the type of test attempted was a Weak non-robust test, which is not a candidate for a robust test
designation. In cases where the Strong non-robust test has been attempted and failed, its failure is considered
to be implied and there is no printout for it; instead all that is noted in the printout is the result of the attempt for
the Weak non-robust test. Consider the verbose printout in this case in more detail.
Weak non-robust path sensitization unsuccessful ( 3 backtrack(s), time used
= 0.01 ) ...
The line above indicates only that the overall attempt at a Weak non-robust test was unsuccessful.
Test generation of LAUNCH DFF 15 @ frame 1 (cycle 0, frame 1) successful
( 0 backtrack(s) , time used = 0.01 ) ...
The line above indicates that the test generator was able to launch the transition successfully at DFF 15, the
head of the path.
Test generation of LAUNCH DFF 15 @ frame 1 (cycle 0, frame 1) and CAPTURE
DFF 14 @ @ frame 3 (cycle 1, frame 0)
successful ( 0 backtrack(s), time used = 0.01 ) ...
The line above indicates that the test generator was able to both launch the transitin at the head of the path
and capture it at the tail of the path.
Test generation to OR 10 ( OFF-PATH input AND 9) successful
( 0 backtrack(s), time used = 0.02 ) ...
The line above indicates that the test generator was able to propagate the transition successfully through the
first gate on the path after the launch node, the OR gate 10, and that the off-path input that it has set to
accomplish this comes from the AND gate 9.
Test generation to MUX 12 ( OFF-PATH input PI 2)
successful ( 0 backtrack(s), time used = 0.01 ) ...
The line above indicates that the test generator was able to propagate the transition successfully through the
second gate on the path after the launch node, the MUX gate 12, and that the off-path input that it has set to
accomplish this comes from the PI 2.
Test generation to AND 11 ( OFF-PATH input PI 1) unsuccessful
( 2 backtrack(s), time used = 0.00 ) ...
The line above indicates that the test generator failed when it tried to propagate the transition through the third
gate on the path after the launch node, the AND gate 11, and that the off-path input that it tried unsuccessfully
to put a propagating value on was the PI 1.
Analyzing conflict data ...
... 3 conflicting requirements found :
1. PI 1 required @ 1
2. AND 9 required @ 0
analyze_faults 78
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
When such a failure occurs, the test generator will take all of the requirements that exist up to that point in the
sequence of tasks and will try to remove them one at a time to see if it can satisfy the remaining requirements.
If it is still unable to satisfy the remaining requirements even with one requirement removed, it will simply
discard that requirement on the assumption that it is not involved in the failure. If it is able to satisfy the
remaining requirements with that one removed, however, it will save that as one of the requirements that is
critically involved in the failure. The lines just above give all the requirements that were identified as being
critically involved in the failure for this particular path, namely the PI 1 required at a value of 1, the AND gate 9
required at a value of 0, and the DFF 15 required at a value of 1. Note that even though the PI 2 was set
during the attempt at path sensitization, it was not identified as one of the nodes involved in the failure because
the test generator was unable to resolve the other requirements even with the requirement on PI 2 removed
from the list. It might be possible to trace through the circuitry surrounding the nodes involved in a failure and
determine why the attempt to generate a test was unsuccessful.
The final switch that can be set on the analyze_faults command is the -fault_simulation flag. In
the case of path delay, all that this does is to add a line to the printout for a successful test indicating the type of
test that the fault simulator has identified. Examples of this would be
Fault simulation status : DR
Examples
TEST> analyze_faults -class no
Fault analysis summary: #analyzed=106, #unexplained=95.
11 faults are connected to CLKPO.
3 faults are connected to CLOCK.
11 faults are connected to TS_ENABLE.
8 faults are connected from CLOCK.
analyze_faults 79
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
gate 101).
Current fault classification = AN (atpg_untestable-not_det).
---------------------------------------------------------------------------
---
Connection data: to=TLA
Fault site control to 0 was successful (data placed in parallel pattern
0).
Observe_pt=any test generation was unsuccessful due to atpg_untestable.
Observe_pt=101(AND) test generation was successful (data placed in
parallel pattern 1).
Observe_pt=102(OR) test generation was unsuccessful due to atpg_
untestable.
Warning: 1 patterns rejected due to 4 bus contentions (ID=57, pat1=0).
mux2 (34) is potential source of blockage for observe gate 102.
mux2 (94) is potential source of blockage for observe gate 102.
analyze_faults 80
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_faults
set_atpg
Fault Analysis
Understanding the analyze_faults Report
analyze_faults 81
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_feedback_path
Overview
Use this command for determining whether a selected feedback network has a sensitizable feedback path.
Syntax
analyze_feedback_path
loop_id
[-verbose]
Arguments
loop_id
Specifies the loop ID number of the feedback path network to analyze. The loop ID is
assigned during model building and can be displayed with the report_feedback_paths
command.
-verbose
Displays verbose information.
Description
Use this command for determining whether a selected feedback network has a sensitizable feedback path. If a
pattern can be created to satisfy a sensitization condition, you can display the simulation values for that pattern
by setting pin data reporting to pattern 0.
Note: The feedback path analysis uses test generation, whose parameters are controlled using the set_
atpg command. X1 analysis is affected by the set_atpg -abort_limit switch, since it uses ATPG to
figure out if the feedback path is sensitizable. The default setting is 10 aborts before the analysis can complete.
Examples
TEST> report_feedback_path -all
id# #gates #sources sensitization_status
--- ------ -------- --------------------
0 2 1 pass
1 10 1 pass
2 10 1 pass
3 10 1 pass
4 10 1 pass
5 10 1 pass
6 5 1 pass
7 10 1 pass
8 2 1 fail
9 583 17 abort
TEST> analyze_feedback_path 6
Feedback path 6 passed sensitization check.
analyze_feedback_path 82
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TEST> analyze_feedback_path 9
Feedback path 9 (408339,408768) aborted sensitization check.
See Also
report_feedback_paths
set_atpg
Loop ID
analyze_feedback_path 83
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_nonscan_loading
Overview
This command analyzes the loading of nonscan state elements by simulating combinational random patterns
and then reporting the number of nonscan cells that are loadable.
Syntax
analyze_nonscan_loading
[-atleast {<percentage <0 | 1 | B>>}]
[-atmost {<percentage<0 | 1 | B>>}]
[-max number]
[-patterns number]
Arguments
-atleast {<percentage <0 | 1 | B>>}
This option reports all nonscan cells that were loaded to either 0 or 1, or both 0 and 1 (by
specifying the B argument) at least percentage times. The results are sorted by
decreasing probability.
-atmost {<percentage <0 | 1 | B>>}
This option reports all nonscan cells that were loaded to either 0 or 1, or both 0 and 1 (by
specifying the B argument) at most percentage times. The results are sorted by
increasing probability.
-max number
This option limits the reporting to a specified number of cells.
-patterns number
Specifies the number of patterns to simulate. By default, 1024 random patterns are
simulated.
Description
This command analyzes the loading of nonscan state elements by simulating combinational random patterns
and then reporting the number of nonscan cells that are loadable.
By default, 1024 patterns are simulated and all nonscan cells are reported in a histogram of the percentage of
patterns in which a non-X value was loaded.
The value of set_simulation -shift_cycles is taken into account during this analysis. To find the
number of nonscan cells that are controllable by ATPG, specify 1. To find the number of nonscan cells that is
simulated as loadable, use the number that is set during test generation.
Note that no instances are reported by default. To report instances, use either the -atleast or -atmost
switches, while taking into account the minimum or maximum percentage of the time that it was loaded with
the specified value (with B meaning either 0 or 1). To report the most possible instances, specify “-atleast
{1 B}”. For example:
analyze_nonscan_loading 84
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
patterns=3
Shift simulation completed: #shifts=1, #nonscancells_loaded=160
Shift simulation completed: #shifts=1, #nonscancells_loaded=160
Shift simulation completed: #shifts=1, #nonscancells_loaded=160
Shift simulation completed: #shifts=1, #nonscancells_loaded=20
Nonscan_loading analysis summary: #patterns=100, #nonscan_cells=7, CPU_
time=0.00 sec
-------------------------------
Range nonscan cell load count
----- -----------------------
0 1
1-9 1
10-19 0
20-29 0
30-39 0
40-49 0
50-59 0
60-69 0
70-79 0
80-89 0
90-99 1
100 4
---------------------------------------------------------------------------
----
Nonscan_loading report: threshold=10, type=atleast, value=0, max=0
---------------------------------------------------------------------------
----
gate_id type count instance name
-------- ---- ----- ----------------------------------------------------
91 DFF 93 n0and
95 DFF 48 l2andf
94 DFF 47 n0xor
93 DFF 30 n0aoi
In the previous example, only four instances are reported even though five instances were loaded with non-X
values in more than 10% of the simulations. This indicates that the instances not listed failed to meet the -
atleast condition that a 0 should be loaded in 10% of the simulations.
Note that when using the analyze_nonscan_loading command, you must set set_simulation -shift_
cycles to a value greater than 0.
For complete information on using this command and related commands, see the topic "Using Loadable
Nonscan Cells in TestMAX ATPG."
analyze_nonscan_loading 85
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_simulation_data
Overview
You use this command to compare the results from any two of three possible simulation sources, or to display
the results from a single simulation source.
Syntax
analyze_simulation_data
<file_name |-fast_sequential pattern | -full_sequential pat#1 pat#2>
[-bidi_events]
[-diag]
[-max_fails_reported d]
[-max_values_reported d]
[-sensitive | -insensitive]
[-top top_instance_name]
Arguments
file_name
Specifies the filename of the VCD input file that contains simulation to be displayed by
itself or to be compared to a second form of simulation, either the -fast sequential or -
full_sequential data sources. The first 32 characters of this VCD simulation data is
displayed without interpretation either on the schematic or in the output from the report_
primitive command when set_pindata is set to debug_sim_data. A dash "-" is
displayed for circuit locations for which there is no corresponding VCD data present in this
file.
-fast_sequential pattern
Selects as one of the simulation sources the currently selected internal or external pattern
buffer using the Fast-Sequential simulation algorithm. A single pattern must be specified. If
the pattern is a Basic-Scan pattern the pattern is simulated with the Fast-Sequential
simulator and the graphical display will show three character values corresponding to a
preclock, active-clock, and postclock events. A minus character "-" is used as a delimiter
between the values from different capture cycles and a pound sign '#' indicates a scan
load.
-full_sequential pat#1 pat#2
Selects as one of the simulation sources the currently selected internal or external pattern
buffer using the Full-Sequential simulation algorithm. A starting and stopping pattern range
must be specified. In collecting the simulated values all patterns from the beginning of the
pattern buffer to the selected ending pattern are simulated, but only the start to stop range
is saved for comparison and display. When displaying the simulated pattern values, a
minus character "-" is used as a delimiter between values from different patterns.
-bidi_events
When a VCD data source is specified, the default conversion of simulation events to
internal events advances time only if primary inputs (PIs) change. The selection of -bidi_
events causes a time advance and a new event to be stored if bidirectional ports change
analyze_simulation_data 86
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
(PIOs). By default, event changes that only involve bidirectional ports are merged until an
event involving any PI occurs.
-diag
When two sources for simulation data compare are Fast-Sequential and Full-Sequential
patterns andthe same pattern is selected, then this option can also be specified to perform
an automated diagnosis to search out the simulation differences. It will first compare the
results of the simulation and report any POs or scan cells with pattern differences (an X for
the Fast-Sequential simulation will not be considered a failure). If there is a failure, the first
failure is automatically selected and displayed graphically. The failing node gate and the
gates connected to it which have a simulation mismatch is displayed with the debug_sim_
data annotated on the pins. The cone of logic displayed is limited to a single input with a
difference and is bounded by state element gates.
-max_fails_reported d
This specifies the maximum number of reported failures when the -diag option is selected.
The default is 10.
-max_values_reported d
This specifies the maximum number of simulation values reported for each simulation
source. The default is 32.
-sensitive | -insensitive
Specifies whether the VCD file is read in with or without case sensitivity for instance, net,
and pin names present. The default is -sensitive.
-top top_instance_name
Specifies the instance name in the VCD data file corresponding to the current flattened
design module in use by TestMAX ATPG. If a VCD source is selected without specifying how
to recognize the instance name of the top module, then the first nested instance name is
used (for instance, if $scope TESTBENCH has nested $scope DUT, the "DUT" is treated as
the instance name corresponding to the currently selected top module in TestMAX ATPG
memory.
Description
You use this command to compare the results from any two of three possible simulation sources, or to display
the results from a single simulation source. The three possible sources of simulation data are:
l A VCD (Value Change Dump) simulation file.
l Internal patterns using the Fast-Sequential simulator.
l Internal patterns using the Full-Sequential simulator.
The internal patterns refer to the existing selected pattern buffer, which can be either the internal pattern buffer
(populated as by the run_atpg command), or the external pattern buffer (populated by the set_patterns
external command).
analyze_simulation_data 87
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
After comparing the two simulation sources, you can view the results of this comparison graphically by
selecting the debug_sim_data option of the set_pindata command and selecting the gates of interest
for view in the graphical display.
An automated difference identification algorithm is possible using the -diag option if the two sources are the
Fast-Sequential and Full-Sequential simulators and the pattern to compare is the same. This algorithm
automatically identifies gates in the design that have simulation differences, and selects and displays the first
such gate identified along with its connecting logic to state elements.
The data in the VCD file is presented without interpretation for a side-by-side comparison. Only the first 32
characters are shown. For best results, you should carefully collect the VCD that best matches the pattern of
interest. This is best done by:
Examples
TEST> analyze_simulation data -fast_sequential 10
TEST> set_pindata debug_sim_data
TEST> # show instances of interest in schematic
analyze_simulation_data 88
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
run_simulation
set_patterns
analyze_simulation_data 89
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_test_points
Overview
This command analyzes a design and prints a file containing a list of optimal observe and control test points.
Syntax
analyze_test_points
[-target <testability | pattern_reduction | fault_class>]
[-test_points_file file_name]
[-max_control_points number]
[-max_observe_points number]
[-num_observe_points_per_cell number]
[-class {list_of_fault_classes}]
[-exclude {list_of_instance_names}]
[-replace]
Arguments
-target <testability | pattern_reduction | fault_class>
Specifies the type of analysis to perform when determining the test points. You can use the
following arguments:
l testability
analyze_test_points 90
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the maximum number of observe points selected in the design. By default,
TestMAX ATPG selects a maximum of 1000 observe points if this option is not specified.
-num_observe_points_per_cell number
Specifies the maximum number of observe points connected through XOR (observation)
trees to one observe scan flip-flop or primary output. The default is eight observe points
per observe flip-flop or primary output.
-class {list_of_fault_classes}
Specifies the class of faults targeted for analysis.This option is supported only when the -
target fault_class option is specified.
You can specify this option multiple times to analyze multiple fault classes. For example,
you can generate the test patterns, then execute the analyze_test_points command
using with the -class NO and -class AN options. If you don't specify the -class option,
all undetected faults are considered for test-point insertion.
In Tcl mode, you must use a list to specify a set of fault classes. For example:
-class {NO AN}
OR
-class [list NO AN]
The following list shows the fault classes and sub-classes. Note that fault sub-classes are
highlighted in bold, and are specified in conjunction with the -class option. You cannot
specify a major class with the -class option.
DT - Detected
DS - Detected by simulation
DI - Detected by implication
PT - Possibly detected
AP - ATPG untestable, possibly detected
NP - Not analyzed, possibly detected
UD - Undetectable
UU - Undetectable, unused
UO - Undetectable, unobservable
UT - Undetectable, tied
UB - Undetectable, blocked
UR - Undetectable, redundant
AU - ATPG untestable
AN - ATPG untestable, not-detected
ND - Not detected
NC - Not controlled
NO - Not observed
-exclude {list_of_instance_names}
Prevents TestMAX ATPG from creating test points for the specified instance or instances.
This option is supported only when the -target fault_class option is specified.You can
specify multiple -exclude options for multiple instances.
In Tcl mode, you must use a list to specify multiple instances. For example:
analyze_test_points 91
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command analyzes a design and prints a file containing a list of optimal observe and control test points.
When you use the generated test points file with the run_atpg -observe_file command, TestMAX
ATPG estimates the test coverage improvement.
For more information on using the analyze_test_points command, see Improving Test Coverage With
Test Points.
Examples
The following example uses a set of random patterns for iterative static analysis, and creates a file containing
test points called tp_file_a:
A previous ATPG run is required only when you use the -target fault_class option with the
analyze_test_points command.
analyze_test_points 92
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_violation
Overview
This command analyzes the cause of certain rule violations.
Syntax
analyze_violation
violation_id
Arguments
violation_id
Indicates the rule violation ID (such as "Z1-4") to analyze.
Description
This command analyzes the cause of certain rule violations. The gates associated with the violation are
displayed in the schematic viewer, and are annotated with data that was used to perform the rule checking.
Most violations are associated with rules that are checked during the DRC process, which is performed by
using the run_drc command.
Examples
TEST> analyze_violation z4-3
Warning: Bus contention on my_asic/BIBUS/L34 (375) occurred at time 0 of
test_setup procedure. (Z4-3)
The pin data is now set to "test_setup".
See Also
report_violations
run_drc
analyze_violation 93
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
analyze_wires
Overview
Use this command to analyze potential contention problems associated with WIRE primitives.
Syntax
analyze_wires
<id | -all> [-update]
Arguments
id
Specifies the primitive ID of the WIRE primitive on which analysis is to be performed. An
error is reported if the ID specified is not a WIRE primitive.
-all
Selects all WIRE primitives for analysis. Summary information is displayed upon
completion of the analysis.
-update
Selects updating of the wire contention status based on the results of the analysis. The
default is not to update this status.
Description
Use this command to analyze potential contention problems associated with WIRE primitives. If a pattern can
be created to satisfy a contention condition, you can display the simulation values for that pattern by setting
pindata reporting to pattern 0.
Note: The wire analysis is affected by settings of the set_atpg and set_contention commands.
Examples
TEST> analyze_wires -all
Wire Contention results: #pass=32, #fail=0, #abort=0, CPU time=3.21
TEST> analyze_wires 206 -update
Wire 206 passed contention check.
See Also
report_wires
set_atpg
set_contention
set_pindata
Primitive ID
analyze_wires 94
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
License Commands
This section describes the following commands:
l get_licenses
l remove_licenses
l report_licenses
License Commands 95
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_licenses
Overview
Use this command to manually check out selected licenses.
Syntax
get_licenses {license}
[-quantity
[-wait time]
Arguments
test-analysis | test-compression-atpg | test-faultsim | test-atpg-max |
test-diagnosis | test-fault-max | test-power
Specifies the license that is to be checked out. You can request multiple licenses in one
command.
-quantity
Checks out multiple licenses for a specified license name. This option is supported with the
following licenses: test-compression-atpg, test-faultsim, test-atpg-max, test-diagnosis,
test-fault-max, and test-physical. You can use the -quantity option of the report_
licenses command to report how many copies of each license are currently checked out.
-wait time
This option attempts to get a license multiple times until time seconds have passed. The
time argument is an integer in seconds. It does not have a default. If time < 60, ATPG will
retry every second. If time > 60, ATPG retries every 60 seconds until the time left is less
than 60 seconds. It then retries every second before it times out.
Description
Use this command to manually check out selected licenses. This is not normally required because licenses are
automatically checked out as needed.
For more information, see "Licensing."
Example
In the following example, a standard ATPG license is checked out.
BUILD> get_licenses test-faultsim
BUILD> report_licenses
test-fault-max
test-faultsim
In the next example, four licenses are checked out for the test-atpg-max license:
get_licenses 96
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
remove_licenses
report_licenses
get_licenses 97
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_licenses
Overview
Use this command to manually release and check in selected licenses.
Syntax
remove_licenses {license}
Arguments
test-analysis | test-compression-atpg | test-faultsim | test-atpg-max |
test-diagnosis | test-fault-max | test-power
Specifies the license or licenses to release and to check in to the license server. Any
number of licenses can be released using a single command.
Description
Use this command to manually release and check in selected licenses.
For more information, see "Licensing."
Examples
In this example, a standard ATPG license is checked in.
TEST> report_licenses
test-analysis
test-faultsim
TEST> remove_licenses test-faultsim
TEST> report_licenses
test-analysis
See Also
get_licenses
report_licenses
set_faults
remove_licenses 98
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_licenses
Overview
Use this command to report all licenses currently checked out by TestMAX ATPG.
Syntax
report_licenses
[-quantity]
Arguments
-quantity
Reports how many copies of each license are currently checked out.
Description
Use this command to report all licenses currently checked out by TestMAX ATPG.
Examples
TEST-T> report_licenses
Test-Analysis
Test-Fault-Max
See Also
get_licenses
remove_licenses
Licensing
report_licenses 99
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Read Commands
This section describes the following commands:
l read_cell_model
l read_drc
l read_faults
l read_image
l read_layout
l read_memory_file
l read_netlist
l read_nofaults
l read_sdc
l read_timing
report_licenses 100
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_cell_model
Overview
This command loads cell test models (CTMs) for use in cell-aware diagnostics.
Syntax
read_cell_model
path/filename
Arguments
path
Specifies the path and names of the CTMs you want to load. Wildcards (*) are accepted
with a file name extension to specify all files in a directory with a particular suffix.
Description
This command loads cell test models (CTMs) used for cell-aware diagnostics.
Examples
The following example loads all CTMs with a .ctm extension in the ctm_dir directory:
read_cell_model ctm_dir/*.ctm
See Also
Understanding Cell Test Models
Cell-Aware Diagnosis
read_cell_model 101
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_drc
Overview
This command reads the specified STIL procedure file, but will not further process it through DRC.
Syntax
read_drc
filename
[-reorder_xtol_signals]
Arguments
filename
Specifies the STL procedure file to be read.
-reorder_xtol_signals
Reverses the order of signal usage for unload mode signals when writing X-tolerant mode
data. You should use this option if the run_drc command uses a file written from the
read_drc command, and generates R rule violations during DRC. Note that STIL procedure
files generated from DFT Compiler might require this option if the read_drc command is
specified before these files are used by the run_drc command.
Description
This command reads the specified STIL procedure file, but will not further process it through DRC. It must be
specified immediately before the update_wft, update_scale, and update clocks commands. Any
changes made with the update commands will only be saved, and usable, if the write_drc_file command
is used immediately after these commands, and then the run_drc command is used with the newly
generated file.
If you want to modify the timing data in an existing STIL procedure file, a specific sequence of commands is
required.
Note that the read_drc command uses limited design data to validate the contents of the STIL procedure
file, and does not use the run_drc command for complete DRC checking. As a result, the contents of the
STIL procedure file are not checked during this process. This means you should validate the contents of an
STIL procedure file using the run_drc command before specifying the read_drc command.
In some cases, the STIL procedure file generated after specifying the write_drc_file command causes
R rule violations or M464 messages for compressed designs. But the original STIL procedure file used for the
read_drc command does not generate R rule violations when used directly with the run_drc command. In
this case, you can repeat the flow using the -reorder_xtol_signals option of the read_drc command
to remove the R rule issues in the STL procedure file.
read_drc 102
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_faults
Overview
This command provides a way for faults defined in a file to be added to or deleted from the current fault list.
Syntax
read_faults
file_name [-retain_code | -force_retain_code | -maintain_detection] [-add
| -delete]
Arguments
file_name
Specifies the file containing a fault list to read.
-retain_code
Causes the fault codes in the input file to be processed and potentially retained. Without
this option, the fault location information is used, but the fault code is ignored.
For any NEW fault locations provided in the input file, if the fault code is DS, DI, UU, UT, UB,
UR, AN, then the fault is added with the same fault code. For all other fault codes, an
analysis is done to determine if the fault location should be classified as one of {UU, UT,
UB, DI, AN}. If the fault location is found to be one of these fault classes, the new fault is
added and the fault code is changed to the appropriate fault class.
For any fault locations provided in the input file that are already in the internal fault list, the
fault code from the input file replaces the fault code in the internal fault list.
Note: If you wish to restore a previous fault list exactly use the -force_retain_code
option.
-force_retain_code
Causes the fault codes in the input file to be read and retained as found in the input file.
-maintain_detection
While reading an external fault list, this option allows faults marked detected (with a DT,
DS or DI fault class) to be added to the current TestMAX ATPG internal fault list without
losing detection status that exists in the current TestMAX ATPG session. Faults added from
this file will take on the status from the file, otherwise.
-add | -delete
Indicates whether to add or delete the faults in the file from the current fault list. The
default is to add faults.
Description
This command provides a way for faults defined in a file to be added to or deleted from the current fault list.
read_faults 103
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
You can use this command to import fault lists from other tools. Bridging fault lists based on net names cannot
be read by using the read_faults command; use the add_faults command to do this.
Examples
TEST> remove_faults -all
Warning: Internal pattern set is now deleted. (M133)
TEST> read_faults faults.all
88408 faults were read in and 88408 new faults were added to fault list.
TEST> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------- ---- ---------
Detected DT 11816
Possibly detected PT 0
Undetectable UD 840
ATPG untestable AU 3312
Not detected ND 72440
-----------------------------------------------
total faults 88408
test coverage 13.49%
-----------------------------------------------
read_faults 104
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Fault Interface File Format
add_faults
add_nofaults
report_faults
remove_faults
read_faults 105
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_image
Overview
Use this command to read and restore the TestMAX ATPG database created by the write_image
command.
Syntax
read_image
file_name
[-password string]
Arguments
file_name
Specifies the pathname to the file containing the database.
-password string
Enables the reading of a secure image written by a write_image -password command.
You must provide the password used during image creation; otherwise, an error results.
You can use double quotation marks (" ") to enclose your password.
After a successful read, TestMAX ATPG operates in a secure state and allows only the
specified allowed commands. The list of allowed commands is displayed after the image is
read. Any commands not on the list are not executed and a warning message displays.
Commands that write an image file are prohibited. Distributed ATPG cannot be run in a
secure state.
Schematic viewing is permitted if the -schematic_view option of the write_image
command is used when the secure image is created. The default is to read unprotected
image files.
Description
Use this command to read and restore the TestMAX ATPG database created by the write_image
command. The read_image command deletes all existing design images or patterns. TestMAX ATPG
transitions to the TEST mode if you read the image saved after running DRC. TestMAX ATPG will transition to
the DRC mode if the image was saved after Build and before DRC.
If the -physical option of the write_image command is specified, TestMAX ATPG prints a message that
identifies the number of fanout nets that are stored in the image. In the following example, a total of 916 nets
are stored; this includes 491 single-fanout nets, 141 two-fanout nets, and 284 greater-than-two-fanout nets:
End reading subnets: 916 (491/141/284) subnets were read from the image.
Examples
BUILD> read_image i044_image.dat
Warning: All netlist and library module data are now deleted. (M41)
End read image: #bytes=1830406, CPU time=5.00 sec.
read_image 106
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Binary Image Files
Creating and Reading Image Files
write_image
read_image 107
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_layout
Overview
This command reads net topology and net pair data used for diagnostics.
Syntax
read_layout
[-add]
[-max_mismatch_report d]
[-output file_name]
[ bridging_pair_file -all_pairs | -likely_pairs ]
[ subnet_file <-subnets> [-fault_list] ]
Arguments
-add
Adds the subnet or bridging net pairs information contained in the specified subnet file or
bridging pair file to the existing data. If this option is not specified, all existing information
is deleted and replaced with the data contained in the subnet file or bridging pair file. This
option enables TestMAX ATPG to read multiple subnet or bridging net pairs files without
removing the existing data.
-max_mismatch_report d
Controls the number of warning and error messages reported when reading layout
information containing subnet definitions or likely net pairs.
By default, after a subnet file is read in, a summary message displays the total number of
subnet definitions that have not been read, if any. To print more debug messages, you
should use this option with d > 0. When bridging net pairs are read in and incorrect data is
present in the input files, a maximum ten mismatches are printed, by default.
-output file_name
Writes out the subnet topology file for debugging purposes if the read_layout command
errors out. If this option is not specified, the temporary subnet topology file is written out
to the following location: /tmp/__subnets.<top_module>.<process_id>.
-subnets
Specifies the type of the subnet file that is read. This option is required when the specified
subnet file is a net structure ASCII or binary file or subnet fault definition file.
When subnet file is a net structure file, at the completion of the read, the following status
line is printed:
Read_subnets completed: #nets(total/added/overwritten)=3299/222/12
This message indicates the total number of net structures in memory, the number of net
structures that have been added to the existing structure already in memory, and, finally,
the number of net structures that were overwritten.
–fault_list
read_layout 108
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option indicates that the specified subnet file to be read, subnet_file, is defining the
fault to be ranked. At the end of the fault list reading, the following line is printed:
Read_subnet_faults completed: #faults(added/ignored)=N/K
Note the following:
read_layout 109
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
When adding new bridging pairs using the -add option, the same switch (-likely_pairs
or -all_pairs) must be specified as when the existing set of bridging pairs was read.
Otherwise, an M636 error message is printed. Either the -all_pairs or -likely_pairs
option must be specified when the bridging_pair_file specification is used. There is no
default.
Description
This command reads net topology and net pair data used for diagnostics. The net topology information is
stored in an ASCII file. For more information, see “Subnets Format For Diagnosis."
Examples
The following example shows the TestMAX ATPG output after reading a subnet file:
TEST-T> read_layout sbnt.file -subnet
Read_subnets completed: #nets(total/added/overwritten)=280/280/0, CPU_
time=0.01
See Also
report_layout
run_diagnosis
Subnets Formats for Diagnosis
read_layout 110
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_memory_files
Overview
Use this command to load a RAM or ROM instance with a memory image.
Syntax
read_memory_file
<id | instance_name> file_name
[-binary | -hex] [-range first_address last_address]
Arguments
id | instance_name
Specifies the RAM or ROM memory gate for which the memory image file is to be read. It is
specified by either its primitive ID or its instance pathname.
file_name
Indicates the pathname to a file containing the memory contents that are to be read. The
memory contents must be in Verilog format.
-binary | -hex
Indicates the format of the memory image file. The default is -hex.
-range first_address last_address
Indicates the range for the memory words to be loaded. Specify the first and last address
in decimal. The default is to load the entire memory.
Description
Use this command to load a RAM or ROM instance with a memory image. It can be used to alter the contents
or to change the default contents that might have been specified in the netlist model for the RAM or ROM.
CAUTION: If the module defining the RAM or ROM specifies a memory image file, this file is initially loaded as
specified by the Verilog specification. This convention pays attention to the order of the array index definition of
the memory register. If the memory register is defined as "mymem [0:15]", the first data entry in the file is
loaded into address 0. If the memory register is defined as "mymem[15:0]", the first data entry is loaded into
address 15. By default, the ATPG tool always loads the first entry in the file into address 0, the second into
address 1, and so on, proceeding upward through addresses.
Examples
DRC> read_memory i007/u1/mem/rom1/rom_core i007.d3 -hex
DRC> report_memory -all
type ID instance_path memory_file
---- ------- ------------------------------- ---------------
ROM 5425 i007/u1/mem/rom1/rom_core i007.d3
See Also
report_memory
read_memory_files 111
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_memory_files 112
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_netlist
Overview
Use this command to read netlists.
Syntax
read_netlist
file_name
[-format <edif | verilog | vhdl>]
[-library]
[-define variable_name]
[-master_modules]
[-sensitive | -insensitive]
[-delete]
[-noabort]
[-verbose]
Arguments
file_name
Indicates the path name to a file containing the netlist to read. The standard wildcard
usage for filenames is supported, which results in reading all netlists that match the
selected file_name.
-format <edif | verilog | vhdl>
Specifies the format of the netlist to read. If you don't specify this, the type of netlist is
automatically determined. When reading EDIF-based designs, it is strongly suggested that
you read in the design first and the libraries last. When mixing VHDL designs with Verilog
libraries, you should read the libraries first and the design modules second.
-sensitive | -insensitive
Specifies whether the netlist is read in with or without case sensitivity. The default
depends on the netlist format: case-sensitive for Verilog netlists and case-insensitive for
EDIF and VHDL netlists.
-library
Specifies that all modules defined within the file name specified should be treated as if they
were library modules. This is equivalent to surrounding each Verilog module with
`celldefine and `endcelldefine directives. Use of this option results in a module definition
that has fault sites only on the pin boundaries. Use of this option is generally not needed
and can negatively affect the ability to create STIL or WGL patterns (see DRC rule V15).
Use only if necessary.
-master_modules
Specifies that all modules defined by the file being read should be marked as Master
Modules. Normally, when reading more than one module with the same name, the last
module encountered determines the final module definition (or first module encountered if
set -redefined_module first has been used). When a module is read with the -master_
read_netlist 113
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
modules option, it is marked as a Master Module and is not replaced if other modules with
the same name are encountered. However, it can be replaced if a module with the same
name is read and the -master_modules option is again used. This mechanism can be
useful for reading specific modules that are intended as module replacements, independent
of the order in which standard modules are read.
-define variable_name
Defines any variable, function, or expression while reading a netlist. This option is
equivalent to the 'define Verilog statement. You can enter multiple names as a Tcl list, as
shown in the following example:
read_netlist define.v -define {test1 test2}
-delete
Specifies that all previously read netlists currently in memory should be deleted. If a file
name is also specified, then memory is cleared before reading that file.
-noabort
Specifies that reading multiple netlists will not terminate if a netlist receives an error. This
allows reading all netlists with wildcard (*) filenames. TestMAX ATPG ignores this option
and issues an M3 warning message if you use this option to read a single netlist.
-verbose
Specifies that individual netlist information is displayed when wildcard filenames are used.
The default is to only give a single summary of all the netlists that were read.
Description
Use this command to read netlists. TestMAX ATPG can automatically identify and accept any combination of
netlists in Verilog, EDIF, and VHDL formats; either ASCII or compressed (GZIP or binary). By using filename
wildcards, a single command can be used to read in multiple netlists.
You can use the set_netlist command to specify whether to replace duplicate modules with the last one
read. This allows rereading a file after editing one module or reading multiple files where there might be some
duplication of module definitions.
For more information on using the read_netlist command, see "Reading a Netlist."
Examples
BUILD> read_netlist brand_x.lib
Begin reading netlist ( brand_x.lib )...
Warning: Rule N2 (unsupported entry) failed 472 times.
End parsing Verilog file brand_x.lib with 0 errors;
End reading netlist: #modules=517, top=ADD4, #lines=78240, CPU_time=3.22
sec
BUILD> report_modules -summary
Modules: #UNKNOWN_FORMAT=19 #STRUCT_VERILOG=474(#unsupported_beh=18) #BEH_
VERILOG=24(#unsupported_beh=24)
read_netlist 114
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
set_netlist
set_rules
write_netlist
read_netlist 115
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_nofaults
Overview
Use this command to add the nofault attribute for faults defined in an external file.
Syntax
read_nofaults
file_name
Arguments
file_name
Specifies the pathname to the file containing the list of faults whose nofault attribute is to
be set on.
Description
Use this command to add the nofault attribute for faults defined in an external file. The input file is in standard
fault list format. The fault locations equivalent to the nofaults specified by the file can also be nofaulted using
the add_equivalent_nofaults command.
Examples
DRC> read_nofaults nofaults.ub
4001 faults were added to nofault list.
See Also
Fault Interface File Format
add_equivalent_nofaults
add_nofaults
report_nofaults
read_nofaults 116
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_sdc
Overview
This command reads in setup timing exceptions directly from an SDC (Synopsys Design Constraints) file.
Syntax
read_sdc file_name
[-echo]
[-syntax_only]
[-version sdc_version]
Argument
file_name
Specifies the name of the SDC file to be read.
-echo
Echoes all commands.
-syntax_only
Causes the read_sdc command to perform only syntax/semantic checks.
-version sdc_version
Specifies the SDC version — default is the latest; values: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
1.7, 1.8, 1.9, latest.
Description
This command reads in setup timing exceptions directly from an SDC (Synopsys Design Constraints) file. You
must be in DRC mode to use this command (after you successfully run the run_build command, but before
running run_drc).
Note that module pins are accepted as -through points for false and multicycle paths, but flattening during the
build process will remove all references to them so they cannot be found. A workaround is to use set_build
-portfault_box command for the module(s) whose pins are used as through points.
The read_sdc command is valid only Tcl mode. For more information on specifying timing exceptions, see
the "Specifying Setup Timing Exceptions From an SDC File" section in the TestMAX ATPG User Guide.
For more information on the SDC file, see How TestMAX ATPG Interprets SDC File Commands.
See Also
set_sdc
report_sdc
read_sdc 117
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
read_timing
Overview
This command causes TestMAX ATPG to read a file of data that is interpreted as the minimum slacks (timing
margins) for each faultable pin in the design.
Syntax
read_timing
file_name
[-delete]
[-verbose]
Arguments
file_name
Specifies the input file containing the pin-slack data that is read.
-delete
Causes any slack data currently in the data structure to be deleted before reading in the
slack data from the specified file and storing it in the data structure. Without this option,
the slack data in the file is added to the slack data already stored in the data structure.
Note that any existing data is overwritten if the input file contains slack data for the same
pin.
-verbose
The option enables additional messages on missing slack data during when running the
read timing command. By default, only the first 50 missing slack messages are printed.
This option enables the printing of all missing slack messages.
Description
This command causes TestMAX ATPG to read a file of data that is interpreted as the minimum slacks (timing
margins) for each faultable pin in the design. This minimum slack information can be printed from PrimeTime
using the PrimeTime command report_global_slack.
T he format for the input file is a single line for each faultable pin. The line contains three fields: the
pinpathname for the pin, the minimum slack for a rising transition through that pin, and the minimum slack for a
falling transition through the pin.
See Also
report_faults
set_pindata
set_delay
read_timing 118
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Remove Commands
This section describes the following commands:
l remove_atpg_constraints
l remove_net_connections
l remove_atpg_primitives
l remove_nofaults
l remove_capture_masks
l remove_physical
l remove_cell_constraints
l remove_pi_constraints
l remove_clocks
l remove_pi_equivalences
l remove_compressors
l remove_po_masks
l remove_delay_paths
l remove_scan_chains
l remove_display_gates
l remove_scan_enables
l remove_display_proc
l remove_sdc
l remove_distributed_processors
l remove_slow_bidis
l remove_faults
l remove_slow_cells
l remove_lbist_seeds
l remove_waveform_signals
l remove_licenses
read_timing 119
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_atpg_constraints
Overview
Use this command to remove ATPG constraints previously added with the add_atpg_constraints
command.
Syntax
remove_atpg_constraints <atpg_constraint_name | -all>
[-no_detection_credit]
Arguments
atpg_constraint_name
Specifies the name of the ATPG constraint to remove. This is the symbolic name specified
in a prior add_atpg_constraints command.
-all
Specifies that all ATPG constraints are removed.
-no_detection_credit
Removes all current no detection credit cells specified by the -no_detection_credit
option of the add_atpg_constraints command. This option changes the fault status of
the current AU faults to NC and can be used in the TEST and DRC modes.
For a complete description of using this option, see Defining, Reporting, and Removing No
Detection Credit Cells.
Description
Use this command to remove ATPG constraints previously added with the add_atpg_constraints
command.
Examples
DRC> report_atpg constraints -all
name val DRC site
---------------- --- --- -------------------------------
my_constraint1 1 no my_atpg_primitive1 (2217)
my_constraint2 0 no BLASTER/alu/cpu/arith/U182 (1911)
my_constraint3 1 no BLASTER/core/arc/pie/U44 (2683)
DRC> remove_atpg_constraints -all
3 constraints have been removed from the ATPG constraints list.
DRC> report_atpg_constraints -all
Warning: Requested report contained no entries. (M13)
remove_atpg_constraints 120
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_atpg_constraints
add_atpg_constraints
remove_atpg_constraints 121
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_atpg_primitives
Overview
Use this command to delete ATPG primitives previously added with the add_atpg_primitives
command..
Syntax
remove_atpg_primitives
<atpg_primitive_name | atpg_primitive_id | -all>
Arguments
atpg_primitive_name
Specifies the name of the ATPG primitive to remove.
atpg_primitive_id
Specifies the ATPG primitive ID number of the ATPG primitive to remove.
-all
Specifies that all ATPG primitives is removed.
Description
Use this command to delete ATPG primitives previously added with the add_atpg_primitives
command. An ATPG primitive cannot be removed if it has a current ATPG constraint on it.
Examples
DRC> report_atpg_primitives -all -noverbose
name id# type inputs
---------------- ------- ----- ---------------------------
MY_ATPG_GATE_1 101071 AND 47566 250
See Also
report_atpg_primitives
report_atpg_constraints
add_atpg_primitives
atpg_primitive _id
atpg_primitive_name
remove_atpg_primitives 122
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_capture_masks
Overview
Use this command to delete previously defined nonscan cell capture masks.
Syntax
remove_capture_masks
<instance_path | gate_id | -all>...
Arguments
instance_path | gate_id
Specifies the instance path name or the gate ID of the nonscan sequential cell for which the
capture mask should be removed. This gate should have been previously masked with the
add capture masks command or an error is reported.
-all
Specifies the removal of all defined capture masks.
Description
Use this command to delete previously defined nonscan cell capture masks. If you add masks using the -
scan option of the add_capture_masks command, the only way to remove these masks before the run_
drc command is to use the -all option of the remove_capture_masks command.
Examples
DRC> report_capture_masks
gate_id type instance_name
------- ---- ---------------------------------
19252 DFF MAIN/U87/DATA_OUT
19286 DFF MAIN/U111/SHADOW
19287 DFF MAIN/U112/SHADOW
19288 DFF MAIN/U113/SHADOW
DRC> report_capture_masks
gate_id type instance_name
------- ---- ---------------------------------
19252 DFF MAIN/U87/DATA_OUT
19286 DFF MAIN/U111/SHADOW
19288 DFF MAIN/U113/SHADOW
remove_capture_masks 123
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_capture_masks
report_capture_masks
remove_capture_masks 124
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_cell_constraints
Overview
Use this command to delete cell constraints that were added with the add_cell_constraints command.
Syntax
remove_cell_constraints
<<chain_name <-position cell_position | instance_name | -all>>
Arguments
chain_name -position cell_position
Specifies the chain name and position in the scan chain of a scan cell whose cell constraint
is to be removed. The position number 0 indicates scan cell closest to chain output.
instance_name
Specifies the instance name of a scan cell whose cell constraint is to be removed.
-all
Specifies that all cell constraints are to be removed.
Description
Use this command to delete cell constraints that were added with the add_cell_constraints command.
Examples
DRC> report_cell_constraints
type chain pos. site name
---- ------- ---- ---------------------------
1 ... ... MAIN/CPU/TP/FI/OFIFO/[3]
OX ... ... MAIN/PER/PRT_1/PORTIN_1/[3]
XX c34 6 ...
DRC> remove_cell_constraints -all
DRC> report_cell_constraints
Warning: Requested report contained no entries. (M13)
See Also
report_cell_constraints
add_cell_constraints
Instance Name
Pin Pathname
remove_cell_constraints 125
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_clocks
Overview
Use this command to delete clocks previously added with the add_clocks command.
Syntax
remove_clocks
<{port_name} | -all>
Arguments
port_name...
Specifies the port name to be removed from the defined clock list.
-all
Specifies that all defined clocks are to be removed.
Description
Use this command to delete clocks previously added with the add_clocks command or implicitly defined in
the DRC procedure file from a previous run_drc command. Note that clocks is defined again if they exist in
the DRC procedure file and another run_drc command is issued. To completely remove clocks defined in
the DRC procedure file, you must edit the file.
Examples
DRC> report_clocks
clock_name off usage
------------- --- --------------------------
/INC 0
/CLK 0
/RSTB 1
DRC> remove_clocks {CLK RSTB}
DRC> report_clocks
clock_name off usage
------------- --- --------------------------
/INC 0
DRC> report_clocks
clock_name off usage
------------- --- --------------------------
/CLK 0 master shift
/NRESET 1 PO master set reset
DRC> remove_clocks CLK
DRC> report_clocks
clock_name off usage
------------- --- --------------------------
remove_clocks 126
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_clocks
add_clocks
remove_clocks 127
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_compressors
Overview
This command removes compressors from the defined compressors list.
Syntax
remove_compressors
<compressor_name | -load | -unload |-all>
Arguments
compressor_name | -load | -unload | -all
You can specify to remove a particular compressor name from the defined compressors
list, or use one of the following: -load removes all load compressors; -unload removes all
unload compressors; -all removes all compressors.
Description
This command removes compressors from the defined compressors list. Note that this command is valid in
DRC mode only.
See Also
report_compressors
remove_compressors 128
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_delay_paths
Overview
This command removes delay path definitions from TestMAX ATPG memory, thus excluding them from
consideration from being used for fault seeding and ATPG.
Syntax
remove_delay_paths
<-all | path_name | -min_cycle d | -min_slack d
| -max_cycle d | -max_slack d>
Arguments
path_name
Remove a specific path from the delay path set currently maintained by TestMAX ATPG.
-max_cycle d
Removes paths with cycle time more than d.
-max_slack d
Removes paths with slack more than d.
-min_cycle d
Removes paths with cycle time less than d.
-min_slack d
Removes paths with slack less than d.
-all
Removes all paths from memory.
Description
This command removes delay path definitions from TestMAX ATPG memory, thus excluding them from
consideration from being used for fault seeding and ATPG.
Examples
TEST> remove_delay_paths -min_slack 0.3
58 delay paths were removed due to failure to satisfy minimum slack.
See Also
add_delay_paths
report_delay_paths
remove_delay_paths 129
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_display_gates
Overview
Use this command to selectively remove gates displayed in the GSV.
Syntax
remove_display_gates
<pin_pathname | gate_id | -all>
Arguments
pin_pathname | gate_id | -all
Removes gates associated with the pin_pathname, the gate ID, or all gates from the GSV.
Description
Use this command to selectively remove gates displayed in the GSV.
Examples
TEST> remove_display_gates mux3/MUX2_UDP_1/Q
See Also
add_display_gates
report_display_gates
remove_display_gates 130
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_distributed_processors
Overview
Use this command to removes machines from the list of distributed processors.
Syntax
remove_distributed_processors
{name_list} [-all | -grd | -lsf]
Arguments
name_list
Specifies the slave machine names being removed from the distributed processor list.
These names must match the names specified in an add_distributed_processors
command.
-all
Specifies to remove all slave machines from the distributed processor list.
-lsf
Specifies to remove all slave processors in the load sharing facility (LSF) queue from the
distributed processor list.
-grd
Specifies to remove all slave processors in the load sharing facility (LSF) queue from the
distributed processor list.
Description
Use this command to removes machines from the list of distributed processors.
Examples
TEST> remove_distributed_processors {himalaya himalaya himalaya}
See Also
add_distributed_processors
report_distributed_processors
set_distributed
Table Column Outside Table:
remove_distributed_processors 131
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_faults
Overview
This command removes faults from the current fault list.
Syntax
remove_faults
[<pin_pathname | instance_name | -module module_name
| <[-bridge_location { bridge_location1bridge_location2}]
| -class fault_class | -all | -clocks | -scan_enable | -retain_sample d |
-stuck <0 | 1 | 01> | -slow <r | f | rf>]
[-launch launch_clock]
[-capture capture_clock]
[-combinational_feedback]
[-exclusive]
[-shared]
[-shared_launch]
[-shared_capture]
[-inter_clock_domain]
[-intra_clock_domain]
[-aggressor_node <first | second | both>]
[-bridge <0|1|01>]
[-dynamic_bridge <r|f|rf>]
[-dominant_node <first | second | both>]
[-non_strength_sensitive]
Arguments
Note: When the bridging fault model is selected, TestMAX ATPG supports only the following options of the
remove_faults command:
<[bridge_location_location { bridge_location1bridge_location2}] | -class
<fault_class> | -all | -retain_sample d> [-bridge <0|1|01>] [-aggressor_node
<first | second | both>] [-non_strength_sensitive]
pin_pathname
Specifies removal of all faults in the current fault list associated with the specified pin_
pathname.
instance_name
Specifies removal of all faults in the current fault list that are associated with the specified
instance name.
-module name
Remove faults from all instances of the module, where 'name' could be a fixed string or a
limited regular expression.
-bridge_location { bridge_location1 bridge_location2 }
Specifies the nodes of the bridging or dynamic bridging fault being removed. Both nodes
must be specified, and if not specified, then either the -all or -retain_sample options
remove_faults 132
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
must be used. Either node can be selected to be an aggressor node, victim node, both
using the -aggressor option for the bridging fault model and the -dominant option for the
dynamic bridging fault model.
-class fault_class
Specifies the fault class that TestMAX ATPG should delete. TestMAX ATPG supports
multiple uses of the -class option.
-combinational_feedback
Removes the bridging faults if the aggressor and victim form a combinational feedback
loop.
-all
Specifies that all faults are to be removed. If there are any patterns in the internal pattern
set, they are deleted if the fault list is removed.
-clocks
Removes clock faults from the fault list.
-scan_enable
Removes scan enable faults from the current fault list.
-retain_sample d
Specifies that a portion of all faults should be removed and that the indicated percentage of
faults should be retained. This can be used to create a sampled subset of the original fault
list. The sample selection is performed by giving each fault the selected probability of being
retained. The final result cannot be an exact percentage of the original fault list due to
random effects.
-stuck <0 | 1 | 01>
Removes faults with the specified stuck value. The default is stuck 01.
-slow <r|f|rf>
Removes faults with the specified slow value.
-launch launch_clock
Specifies the launch clock of the faults to be removed from the fault list. You can use this
switch independently, or in conjunction with the -capture switch. The -launch option
removes all faults that are launched exclusively by the specified clock. You can specify the
PI, NO_CLOCK, or MULTIPLE keywords (in all upper or all lowercase) with this option to
remove faults that are launched by the PI/PIO, no clock domains, or multiple clock
domains, respectively. For a complete description of how TestMAX ATPG distinguishes
faults captured by a clock and launched by a clock, see Using Clock Domain-Based Faults.
-capture capture_clock
Specifies the capture clock of the faults to be removed from the fault list. You can use this
switch independently, or in conjunction with the -launch switch.
The -capture switch removes all faults to the fault list that are captured exclusively by the
specified clock. This switch also accepts the keywords PO, NO_CLOCK, or MULTIPLE, in
either all upper or all lowercase, to remove faults that are observed by PO/PIO, no clock
domains, or multiple clock domains, respectively. For a complete description of how
remove_faults 133
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TestMAX ATPG distinguishes faults captured by a clock and launched by a clock, see Using
Clock Domain-Based Faults.
-exclusive
Specifies that only the faults that are launched and captured exclusively (using a single
launch and a single capture) are to be removed from the fault list. Faults exclusively
launched by PI or observed by PO are also removed. For further details, see Using Clock
Domain-Based Faults.
-shared
Specifies that only the faults that are launched or captured by multiple clocks are removed
from the fault list. This excludes all PI and PO faults. For further details, see Using Clock
Domain-Based Faults.
-shared_launch
Specifies that faults launched by the specified clock and other clocks are removed from the
fault list. An error is reported if you specify this switch without also using the -launch
option. This excludes all PI and PO faults. For further details, see Using Clock Domain-
Based Faults.
-shared_capture
Specifies that faults captured by the specified clock and other clocks are removed from the
faults list. An error is reported if you use this switch without also using the -capture
option. For further details, see Using Clock Domain-Based Faults.
-inter_clock_domain
Removes only exclusive faults from the fault list that are launched and captured by
different clock domains. For further details, see Using Clock Domain-Based Faults.
-intra_clock_domain
Removes only exclusive faults from the fault list that are launched and captured by the
same clock domains. For further details, see Using Clock Domain-Based Faults.
-aggressor_node <first | second | both>
Specifies which node in a node pair is used as the aggressor node of a bridging fault:
first, second, or both. The default is both. To see how combinations of the -bridge and
-aggressor_node option settings interact, see the -aggressor option of the add_faults
command.
Using the default settings, there are four faults removed for each node pair defined if the
faults were included in the list. A message is given at the end of the command indicating
how many faults were removed from the list.
-bridge <0|1|01>
Specifies the type of bridging fault being removed. The type can be either:
remove_faults 134
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-dynamic_bridge <r|f|rf>
Specifies the type of dynamic bridging fault being reported. The type can be any of the
following:
r - bsr (bridge slow to rise)
f - bsf (bridge slow to fall)
rf -both (bridge slow to rise and bridge slow to fall)
The default is rf (both).
-dominant_node <first | second | both>
Specifies which node in a node pair is used as the dominant node of a dynamic bridging
fault: first, second, or both. The default is both. Using first or second will limit the
set of faults reported and will only report the faults with the dominant in the position
specified. To see how combinations of the -dynamic_bridge and -dominant_node option
settings interact, see the -dominant_node option of the add_faults command. Using
default settings, four faults are removed for each node pair defined if the faults were
included in the list.
-non_strength_sensitive
Removes faults where neither node is driven by a gate with a dominant value.
Description
This command removes faults from the current fault list. If there are any patterns in the current internal pattern
set, you cannot remove faults from the fault list unless you select the -all option. If you use the -all option,
internal patterns are also removed.
Note the following:
- You can also remove faults defined in an external file from a fault list using the -delete option of the read_
faults command.
- All of the remove_faults options, other than -launch and -capture, are exclusive and cannot be
issued at the same time, or with any of the old options. If you issue these options together, a UI error message
will appear
Examples
TEST> add_faults /reg4
TEST> report_faults -all
sa0 DI reg4/CK
sa1 DI reg4/CK
sa0 DI reg4/Q
sa1 DI reg4/Q
sa0 DI reg4/lat1/Q
sa1 DI reg4/lat1/D
sa0 DI reg4/lat1/D
sa1 DI reg4/lat1/CK
sa0 DI reg4/lat1/CK
sa1 UT reg4/lat1/RB
sa0 DI reg4/lat1/RB
remove_faults 135
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
sa1 UT reg4/lat1/SB
sa0 DI reg4/lat1/SB
sa1 DI reg4/lat1/Q
sa0 DI reg4/r/SB
sa1 DI reg4/r/CK
sa0 DI reg4/r/CK
TEST> remove_faults reg4/lat1
TEST> report_faults -all
sa0 DI reg4/CK
sa1 DI reg4/CK
sa0 DI reg4/Q
sa1 DI reg4/Q
sa0 DI reg4/r/SB
sa1 DI reg4/r/CK
sa0 DI reg4/r/CK
TEST> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------- ---- ---------
Detected DT 11816
Possibly detected PT 0
Undetectable UD 840
ATPG untestable AU 3312
Not detected ND 72116
-----------------------------------------------
total faults 88084
test coverage 13.54%
-----------------------------------------------
TEST> remove faults -all
Warning: Internal pattern set is now removed. (M133)
TEST> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------- ---- ---------
Detected DT 0
Possibly detected PT 0
Undetectable UD 0
ATPG untestable AU 0
Not detected ND 0
-----------------------------------------------
total faults 0
test coverage 0.00%
-----------------------------------------------
remove_faults 136
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
sa1 NC sdo_en/A
sa0 NC adder/A0
sa1 NC adder/A0
sa0 NC adder/A1
sa1 NC adder/A1
sa0 NC adder/CI
sa0 NC adder/S0
sa1 NC adder/S0
sa0 NC adder/CO
sa1 NC adder/CO
TEST> remove_faults sdo_en/A -stuck 1
TEST> remove_faults out2/EN -stuck 0
TEST> remove_faults /adder/CO
TEST> remove_faults -all
sa0 NC reg0/r/RB
sa1 NC out2/EN
sa0 NC sdo_en/A
sa0 NC adder/A0
sa1 NC adder/A0
sa0 NC adder/A1
sa1 NC adder/A1
sa0 NC adder/CI
sa0 NC adder/S0
sa1 NC adder/S0
See Also
report_faults
add_faults
read_faults
Instance Name
Pin Pathname
remove_faults 137
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_lbist_seeds
Overview
Use this command to remove any seed values previously specified using the add_lbist_seeds command.
Syntax
remove_lbist_seeds
Arguments
None.
Description
Use this command to remove any seed values previously specified using the add_lbist_seeds command.
Syntax
remove_lbist_seeds
Arguments
None.
Description
Use this command to remove any seed values previously specified using the add_lbist_seeds command.
If you run ATPG after specifying this command, TestMAX ATPG reverts to using the default pseudo-random
seed value generation process. Alternatively, you can use the add_lbist_seeds command to start a new
set of seed definitions. For more information on using TestMAX ATPG with the DFTMAX LogicBIST tool, see
the DFTMAX LogicBIST User Guide.
Example
TEST-T> remove_lbist_seeds
See Also
add_lbist_seeds
report_lbist_seeds
remove_lbist_seeds 138
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_licenses
Overview
Use this command to manually release and check in selected licenses.
Syntax
remove_licenses {license}
Arguments
test-analysis | test-compression-atpg | test-faultsim | test-atpg-max |
test-diagnosis | test-fault-max | test-power
Specifies the license or licenses to release and to check in to the license server. Any
number of licenses can be released using a single command.
Description
Use this command to manually release and check in selected licenses.
For more information, see "Licensing."
Examples
In this example, a standard ATPG license is checked in.
TEST> report_licenses
test-analysis
test-faultsim
TEST> remove_licenses test-faultsim
TEST> report_licenses
test-analysis
See Also
get_licenses
report_licenses
set_faults
remove_licenses 139
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_net_connectionss
Overview
Use this command to remove user-defined net connections that were added with a prior add_net_
connections command..
Syntax
remove_net_connections
<{net_names} | -all >
Arguments
net_names
Indicates the name of the net from the defined net connections which is to be removed.
-all
Specifies that all previously defined net connections are to be removed.
Description
Use this command to remove user-defined net connections that were added with a prior add_net_
connections command.
Examples
BUILD> remove_net_connections level2/float1
BUILD> report_net_connections
Connection PI, net core/dac/fifo/reg0/RB, disconnect
Connection PO, net core/dac/fifo/U943/Z
BUILD> remove_net_connections -all
See Also
report_net_connections
add_net_connections
remove_net_connectionss 140
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_nofaults
Overview
Use this command to remove nofault attributes for faults.
Syntax
remove_nofaults
<-all | instance_name | pin_pathname | -instance_name instance_name | -
module {module_name [optional_pin_names]}>
[-stuck <0|1|01>]
[-slow <r|f|rf>]
Arguments
-all
Specifies that all nofaults are to be removed.
instance_name
Removes all nofault attributes for faults associated with the selected instance name from
the nofault list. The instance_name argument must be a fixed string.
pin_pathname
Removes all nofault attributes for faults associated with the selected pin_pathname.
-instance instance_name
Removes the nofault attribute for all faults associated with the instance_nameargument.
The instance_name can be a fixed string or a limited regular expression.
-module {module_name [optional_pin_names]}
Removes the nofault attribute on one or more pins of every instantiation of a given module.
The module_name argument can be a fixed string or a limited regular expression. If an
optional pin name or names is specified, then only the faults associated with that module
and pin are used. If no pins are provided, then all pins of the module are used.
-slow <r|f|rf>
Removes faults with the specified slow value.
-stuck <0|1|01>
Selects either stuck 0, stuck 1, or both. The default is both stuck 0 and stuck 1.
Description
Use this command to remove nofault attributes for faults. The nofault attributes may have been defined in the
netlist, added with the add_nofaults command, or added with the add_equivalent_nofaults
commands. Nofault attributes cannot be removed from the nofault list if there are any faults in the current fault
list.
remove_nofaults 141
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
TEST> report_nofaults -all
sa1 ** mux0/SL
sa0 ** buf0/Y
sa1 ** mux1/SL
sa0 ** buf1/Y
sa1 ** mux2/SL
sa0 ** buf2/Y
sa1 ** mux3/SL
sa0 ** buf3/Y
TEST> remove_nofaults mux2/SL
1 faults were removed from nofault list.
TEST> remove_nofaults /mux0
2 faults were removed from nofault list.
TEST> remove nofaults /buf2/Y -stuck 0
1 faults were removed from nofault list.
See Also
report_nofaults
read_nofaults
add_nofaults
add_equivalent_nofaults
Instance Name
Pin Pathname
remove_nofaults 142
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_physical
Overview
This command deletes specific data from the physical model created by the run_diagnosis command.
Syntax
remove_physical
[-all]
[-pairs]
[-pins]
[-subnets]
[-tolerance]
Arguments
-all
Removes all extracted data from the physical database.
-pairs
Removes all net pairs extracted during diagnosis or all net pairs loaded by the read_
layout command.
-pins
Removes all pin and instance coordinates extracted during diagnosis, including pins
extracted by the extract_pins command.
-subnets
Removes subnet topologies extracted during diagnosis by the extract_nets command or
subnet data loaded by the read_layout command.
-tolerance
Resets all tolerances specified by the -tolerance option of the set_physical command.
Note that the -all option does not reset tolerances.
Description
This command deletes specific data from the physical model created by the run_diagnosis command. If
no options are specified, only data reported by the report_physical command is deleted.
remove_physical 143
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Example
TEST-T> run_diagnosis test.fail
Diagnosis summary for failure file test.fail
#failing_pat=2, #failures=2, #defects=1, #faults=1, CPU_time=0.00
Simulated : #failing_pat=2, #passing_pat=4 #failures=2
-------------------------------------------------------------------------
Fault candidates for defect 1: stuck fault model, #faults=1, #failures=2
-------------------------------------------------------------------------
match=100.00%, #explained patterns: <failing=2, passing=4>
sa1 DS i1/out (NOT)
sa0 -- i1/in (NOT)
sa1 -- f3/d (SDFF)
-------------------------------------------------------------------------
TEST-T> remove_physical -tolerance
TEST-T> set_physical -tolerance [list METAL 50 METAL2 100 METAL3 200 \
METAL4 300 METAL5 400]
See Also
run_diagnosis
set_physical
remove_physical 144
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_pi_constraints
Overview
Use this command to delete PI constraints previously added with the add_pi_constraints command.
Syntax
remove_pi_constraints
<{port_names} | -all>
Arguments
port_names
Specifies the port name of the PI (primary input) constraint to be removed.
-all
Specifies that all PI constraints should be removed.
Description
Use this command to delete PI constraints previously added with the add_pi_constraints command or
implicitly defined in the test protocol file.
Examples
DRC> report_pi_constraints
port_name constrain_value
---------------- ---------------
/test_mode 1
/pll_test_mode 1
DRC> remove_pi_constraints -all
DRC> report_pi_constrainsts
Warning: Requested report contained no entries. (M13)
See Also
report_pi_constraints
add_pi_constraints
Pin Name
remove_pi_constraints 145
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_pi_equivalences
Overview
Use this command to delete PI equivalence relationships previously added with the add_pi_
equivalences command.
Syntax
remove_pi_equivalences
<{port_names} | -All>
Arguments
port_names
Specifies the name of the PI (primary input) or bidirectional port whose PI equivalence
relationships are to be removed.
-all
Specifies that all PI equivalence relationships are to be removed.
Description
Use this command to delete PI equivalence relationships previously added with the add_pi_
equivalences command.
Examples
DRC> report_pi_equivalences
port_name equivalent pins
---------------- ----------------------------------
/NL0 ~/NSYNC ~/NL1
DRC> remove_pi_equivalences -all
DRC> report_pi_equivalences
Warning: Requested report contained no entries. (M13)
See Also
report_pi_equivalences
add_pi_equivalences
Pin Name
remove_pi_equivalences 146
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_po_masks
Overview
Use this command to delete PO masks previously added with the add_po_masks command.
Syntax
remove_po_masks
<port_name | -All>
Arguments
port_name
Specifies the name of a port whose PO (primary output) mask is to be removed.
-all
Specifies that all PO masks are to be removed.
Description
Use this command to delete PO masks previously added with the add_po_masks command.
Examples
DRC> report_po_masks
output port_name
----------------
/LINK_X2
DRC> remove_po_masks -all
DRC> report_po_masks
Warning: Requested report contained no entries. (M13)
See Also
report_po_masks
remove_po_masks 147
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_scan_chains
Overview
Use this command to delete scan chains defined with the add_scan_chains command.
Syntax
remove_scan_chains
<chain_name | -all>
Arguments
chain_name | -all
Specify the scan chain to be removed by the label previously used to define the scan chain
when a prior add scan chains command was issued. Use of the -all option will remove all
scan chain definitions from previous add scan chains commands.
Description
Use this command to delete scan chains defined with the add_scan_chains command.
This command does not affect any scan chains defined by the test protocol file referenced by the run_drc
command. Removal of scan chains defined in a test protocol file requires editing of that file.
Examples
DRC> add_scan_chain chain_1 si[1] so[1]
DRC> add_scan_chain chain_2 si[2] so[2]
DRC> add_scan_chain C3 si[3] so[3]
DRC> report_scan_chains
chain group length input_pin output_pin
------- ------ ------ ------------- ----------
chain_1 sg0 0 si[1] so[1]
chain_2 sg0 0 si[2] so[2]
C3 sg0 0 si[3] so[3]
DRC> remove_scan_chain C3
DRC> report_scan_chains
chain group length input_pin output_pin
------- ------ ------ ------------- ----------
chain_1 sg0 0 si[1] so[1]
chain_2 sg0 0 si[2] so[2]
See Also
add_scan_chains
report_scan_chains
run_drc
remove_scan_chains 148
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_scan_enables
Overview
Use this command to delete scan enables previously defined with the add_scan_enables command.
Syntax
remove_scan_enables
<pin_name | -all>
Arguments
pin_name | -all
Specify the scan enable initialization to be removed by the top-level design port name
previously used to define the scan enable when a prior add_scan_enables command was
issued. Use of the -all option will remove all scan enable definitions from previous add_
scan_enables commands.
Description
Use this command to delete scan enables previously defined with the add_scan_enables command.
This command does not affect any scan enable pin initialization defined in any test protocol file referenced by
the run_drc command. Removal of pin initialization in the load_unload procedure defined in a test protocol
file requires editing of that file.
Examples
DRC> add_scan_enables 1 SCAN_EN
DRC> add_scan_enables Z bidi[0] bidi[1] bidi[2]
DRC> report_scan_enables
value port
----- -----------------------------
1 SCAN_EN (6)
Z bidi[0] (3210)
Z bidi[1] (3211)
Z bidi[2] (3212)
DRC> remove_scan_enables bidi[1]
DRC> report_scan_enables
value port
----- -----------------------------
1 SCAN_EN (6)
Z bidi[0] (3210)
Z bidi[2] (3212)
remove_scan_enables 149
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_scan_enables
report_scan_enables
run_drc
remove_scan_enables 150
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_sdc
Overview
This command, which can only be run in Tcl mode, removes all SDC (Synopsys Design Constraints)
information (SDC clocks and exceptions) so that a different set of SDC data can be read in.
Syntax
remove_sdc -all
Arguments
-all
Removes all SDC information.
Description
This command, which can only be run in Tcl mode, removes all SDC (Synopsys Design Constraints)
information (SDC clocks and exceptions) so that a different set of SDC data can be read in. It is used only
when multiple DRC and ATPG runs are combined into a single TestMAX ATPG session. The remove_sdc
command does not change the settings made by previous set_sdc commands.
See Also
read_sdc
set_sdc
remove_sdc 151
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_slow_bidis
Overview
This command is used to remove BUS primitives that were modified with the add_slow_bidis command..
Syntax
remove_slow_bidis
<port_name | -all>
Arguments
port_name
Specifies the port whose modified bidirectional outputs are being removed.
-all
Indicates that all modified bidirectional outputs should be removed.
Description
This command is used to remove BUS primitives that were modified with the add_slow_bidis command.
See Also
add_slow_bidis
report_slow_bidis
remove_slow_bidis 152
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_slow_cells
Overview
This command is used to remove the modification behavior of scan DFF or DLAT cells added with the add_
slow_cells command.
Syntax
remove_slow_cells
<instance_path | gate_id | -all>
Arguments
instance_path | gate_id | -all
Specifies the instance path name, the gate ID, or that all scan DFF or DLAT cells whose
simulation behavior was modified should be removed.
Description
This command is used to remove the modification behavior of scan DFF or DLAT cells added with the add_
slow_cells command.
See Also
add_slow_cells
report_slow_cells
remove_slow_cells 153
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_waveform_signals
Overview
Removes gates associated with the pin pathname, gate ID, net names, or all gates from the GSV.
Syntax
remove_waveform_signals
<pin_pathname | gate_id | net_names| -all>
Arguments
pin_pathname | gate_id | net_names | -all
Specifies the pin pathname or the gate ID of the element whose simulation behavior is
being modified. If you specify the -all option, TestMAX ATPG removes all gates from the
GSV.
Description
Removes gates associated with the pin pathname, gate ID, net names, or all gates from the GSV.
See Also
add_waveform_signals
remove_waveform_signals 154
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Report Commands
This section describes the following commands:
l report_atpg_constraints
l report_lbist_seeds
l report_scan_ability
l report_atpg_primitives
l report_licenses
l report_scan_cells
l report_buses
l report_lockup_latches
l report_scan_chains
l report_capture_masks
l report_memory
l report_scan_enables
l report_cell_constraints
l report_modules
l report_scan_path
l report_clocks
l report_net_connections
l report_sdc
l report_commands
l report_nets
l report_serializers
l report_compressors
l report_nofaults
l report_settings
l report_delay_paths
l report_nonscan_cells
l report_nonscan_cells
l report_display_gates
l report_patterns
l report_slow_cells
l report_distributed_processors
l report_physical
l report_summaries
l report_faults
l report_pi_constraints
l report_timing
l report_fanin
l report_pi_equivalences
remove_waveform_signals 155
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l report_toggle_weights
l report_fanout
l report_po_masks
l report_version
l report_feedback_paths
l report_power
l report_violations
l report_instances
l report_primitives
l report_wires
l report_layout
l report_rules
remove_waveform_signals 156
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_atpg_constraints
Overview
Use this command to report data from the current ATPG constraints list.
Syntax
report_atpg_constraints
[-summary | -all]
[-max d]
[-no_detection_credit [-max number]]
Arguments
-summary
Selects a summary report of all ATPG constraints. This is the default report type.
-all
Specifies that all ATPG constraints should be reported.
-max d
Specifies the maximum number of ATPG constraints to be reported. The default is no limit.
-no_detection_credit [-max number]
Reports information on the current no detection credit cells specified by the -no_
detection_credit option of the add_atpg_constraints command. The -max option
limits the number of cells reported.
The information reported for each no detection credit cell includes the following:
l Gate ID of the associated DLAT/DFF
l Instance name of the associated DLAT/DFF
l Chain name and position in the chain if the DLAT/DFF is a scan cell
For a complete description of using this option, see Defining, Reporting, and Removing No
Detection Credit Cells.
Description
Use this command to report data from the current ATPG constraints list.
Examples
DRC> report_atpg constraints
ATPG constraint summary: #constraints=3, #DRC_constraints=0
report_atpg_constraints 157
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_atpg_constraints
remove_atpg_constraints
ATPG Constraints Report
Table Column Outside Table:
report_atpg_constraints 158
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_atpg_primitives
Overview
Use this command to report data from the current ATPG primitives list.
Syntax
report_atpg_primitives
<atpg_primitive_name | -summary | -all>
[-max d] [-verbose]
Arguments
atpg_primitive_name
Specifies the name of the ATPG primitive to report.
-summary
Specifies that a summary of all ATPG primitives is reported. This is the default if you don't
select -All or an ATPG primitive name.
-all
Specifies that all ATPG primitives should be reported.
-max d
Selects the maximum number of ATPG primitives to be reported. The default is no limit.
-verbose
The verbose switch causes a detailed report, which includes the name of the ATPG
primitive, its primitive ID, and the source of its inputs.
Description
Use this command to report data from the current ATPG primitives list.
Examples
TEST> report_atpg_primitives -all
name id type inputs
------------- ------- ----- -------------------------------
my_atpg_prim 20217 EQUIV 861 990
report_atpg_primitives 159
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_atpg_primitives
remove_atpg_primitives
ATPG Primitives Report
Table Column Outside Table:
report_atpg_primitives 160
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_buses
Overview
Use this command to report data associated with BUS primitives.
Syntax
report_buses
< gate_id | -behavior <buf | inv | and | or | xor | mux | tie0 | tie1 |
tiez> | -contention <fail | pass | abort | bidi> | -zstate <fail | pass |
abort | bidi> | -bidis | -clock | -keepers | -pull | -weak | -summary | -
all >
[-names]
[-max d]
[-verbose]
Arguments
gate_id
Specifies a specific BUS primitive for reporting by its primitive ID. An error occurs if the ID
is not a BUS primitive.
-behavior <buf | inv | and | or | xor | mux | tie0 | tie1 | tiez>
Specifies that BUS primitives that match a particular behavior category are to be reported.
-bidis
Specifies that bus data is displayed for BUS primitives that connect to bidirectional ports.
-clock
Specifies that bus data is displayed for BUS primitives that have a combinational path
leading from a clock input.
-contention <fail | pass | abort | bidi>
Specifies that BUS primitives of the selected contention category is reported.
-keepers
Specifies that bus data is displayed for BUS primitives that connect to bus keepers.
-pull
Specifies that bus data is displayed for BUS primitives that have both strong and weak
drivers connecting to BUS inputs.
-weak
Specifies that bus data is displayed for BUS primitives that have only weak drivers
connecting to BUS inputs.
-zstate <fail | pass | abort | bidi>
Specifies that bus data is displayed for BUS primitives of the selected Z-state category.
-summary
Specifies that a summary of all BUS primitives is given.
report_buses 161
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-all
Specifies that bus data is displayed for all BUS primitives.
-max d
Indicates the maximum number of buses reported. The default is to have no limit.
-names
Prints the names of all buses; one bus is reported per line.You can redirect this output to a
file if the design contains a large number of buses. You should use the -all option with this
option. You can use the -max option to limit the number of reported buses. A bus defined in
a celldefined module may have a partial or incomplete name due to the cell constructs.
-verbose
Indicates that verbose data is displayed for each BUS primitive. The default is not to
display verbose data.
Description
Use this command to report data associated with BUS primitives. For additional background on BUS
classification see: Understanding Contention Analysis
Examples
report_buses -summary
Bus summary: #bus_gates=577, #bidi=128, #weak=0, #pull=0, #keepers=0
Contention status: #pass=257, #bidi=31, #fail=289, #abort=0, #not_
analyzed=0
Z-state status : #pass=160, #bidi=128, #fail=286, #abort=3, #not_
analyzed=0
Learned behavior : none
report_buses 162
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_buses 163
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_buses 164
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Buses Report
Bus Gate
Bus Keeper
Contention Analysis
analyze_buses
Table Column Outside Table:
report_buses 165
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_capture_masks
Overview
Use this command to report any defined capture masks which can exist on nonscan sequential cells.
Syntax
report_capture_masks
Arguments
None
Description
Use this command to report any defined capture masks which can exist on nonscan sequential cells.
Examples
DRC> report_capture_masks
gate_id type instance_name
------- ---- ---------------------------------
19252 DFF MAIN/U87/DATA_OUT
10286 DFF MAIN/U111/REG_1
9287 DFF MAIN/U112/BARSQ
11288 DFF MAIN/U113/KJX1
See Also
add_capture_masks
remove_capture_masks
report_capture_masks 166
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_cell_constraintss
Overview
Use this command to report cell constraints added with the add_cell_constraints command.
Syntax
report_cell_constraints
Arguments
None
Description
Use this command to report cell constraints added with the add_cell_constraints command. Any cell
constraint that was not defined by name is reported as "..." under the site name.
Examples
TEST-T> report_cell_constraints
type chain pos. site name
---- ------- ---- ---------------------------
1 c10 6 MAIN/cat/TP/FI/OFIFO/\regst[3]
OX c34 17 MAIN/dog/PRT/PORTIN_1/\reg3[3]
XX c34 6 ...
Note in the following example that the reported constraints are raw specifications and that no checking is
performed during DRC that the specifications can actually be applied:
TEST-T> report_cell_constraints
# # type chain position site name
# # ---- ------- -------- ---------------------------
# # OX 1 10-22
# # X 1 0-13
See Also
add_cell_constraints
remove_cell_constraints
Cell Constraints Report
Table Column Outside Table:
report_cell_constraintss 167
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_clocks
Overview
This command reports all pins defined to be clocks, either by the add_clocks command.
Syntax
report_clocks
[-capture_matrix]
[-constraints [-procedure name | -all>]
[-command_report | -verbose | -matrix | -intclocks | -pllclocks | -
dominant] [-by_id]
[-gating]
Arguments
-capture_matrix
Reports clock pulse overlapping information used for synchronizing multi frequency
internal clocks. For more information, see "Specifying Synchronized Multi Frequency
Internal Clocks" in the TestMAX ATPG User Guide.
-constraints [-procedure name | -all]
Reports internal clocking procedures as they are used by ATPG. The -procedure name
option provides information only for a specific internal clocking procedure. The -all option
provides information for all clocking procedures. If neither -procedure nor -all are
specified, a summary of the usable clocking procedures is reported. For more information,
see "Using Internal Clocking Procedures."
-command_report
Causes the clocks to be reported in the form of the add_clocks command that would be
necessary to define the clocks in a command file. This option only supports clocks defined
at top of the design (external clocks). Statements to generate internal clocks are not
created at this time.
-matrix
Displays the dynamic clock pair group ability in table form where each row indicates the
potential grouping relationship of a candidate clock with each of the other candidate
clocks. This option will report information for both external and internal clocks. Note the
following:
l This option can only be used in Test mode.
l TestMAX ATPG can identify additional disturbed clocks at the beginning of the run_atpg command
process. This means a clock matrix reported before the run_atpg command process can be more
restrictive than a matrix used during ATPG. To determine if the clock matrix was actually used by
TestMAX ATPG, you should use the -matrix option after the first invocation of TestMAX ATPG.
-verbose
Causes additional columns to be reported which display the number of scan and nonscan
elements affected by each clock. The different counts are further broken down into the
report_clocks 168
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
number of sets, resets, and clocking connections involved. A determination of scan vs.
nonscan can only be made after DRC has been performed and TestMAX ATPG is in TEST
mode. Note: Connection counts to RAM/ROM devices are not reported. This option will
report information for both external and internal clocks.
-intclocks
Reports all internal clocks and all information associated with each internal clock.
-pllclocks
Reports all PLL clocks and all information associated with each PLL clock.
-dominant
Reports the single external clock that contains the most connections in the design. Reports
only one clock; if multiple clocks have the same number of connections only one is
reported. Connection counts to RAM/ROM devices are not counted for this identification.
Also note that internal clocks are not considered in this count, even if they have higher
connection counts.
-by_id
This option applies only to the -verbose format. This option will suppress printing the clock
name in the report, and prints the gate id instead. For reports where clock names are long,
this option may be used to keep report columns organized. You can cross-reference the
gate id to the name with the report_primitives command.
-gating
Used with the Power Aware ATPG feature, this switch (when also specified with the -
verbose switch) reports whether a design contains clock gating cells within the context of
ATPG. Note that -gating may only be used after your design has successfully passed the
run_drc process. Keep in mind that this analysis is performed using the information
contained within the STL procedure file. If you have a constraint in which the clock-gating
cells are always transparent, this analysis will not show those (CG) cells, and they are not
usable within the context of Power Aware ATPG. For details, see "Power Aware ATPG " in
the TestMAX ATPG User Guide.
Description
This command reports all pins defined to be clocks, either by the add_clocks command or implicitly defined
in the test protocol file. These clock pins include active-high and active-low clocks, asynchronous sets,
asynchronous resets, and write control lines.
After entering TEST command mode, the learned usage of each clock is also reported.
If you specify this command with no arguments, only the external clocks are identified. Internal clocks are listed
with the -verbose or -intclocks options, PLL clock definitions are listed with the -pllclocks option,
and internal clocking procedures are listed with the -constraints option. The -matrix option will also list
interactions of all clocks (both internal and external).
Examples
report_clocks
clock_name off usage
report_clocks 169
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_clocks 170
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
# 13
13324=1 (0,17)
TEST> report_clocks –constraints -all
-------------------------------------------------------------------------
-----
Clock Constraints constraints1:
Maximum sequential depth: 2
Defined Clocking Procedures: 3
Usable Clocking Procedures: 3
PLL clocks off Procedure: ClockOff
U0to1:
CLKIR=10010
dutm/ctrl1/U17/Z=P0
dutm/ctrl2/U19/Z=0P
--------------------
U1to0:
CLKIR=01010
dutm/ctrl1/U17/Z=0P
dutm/ctrl2/U19/Z=P0
--------------------
ClockOff:
CLKIR=00000
dutm/ctrl1/U17/Z=00
dutm/ctrl2/U19/Z=00
--------------------
See Also
add_clocks
remove_clocks
Understanding the report_clocks Output
report_clocks 171
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_compressors
Overview
Generates a report containing data for the specified compressors.
Syntax
report_compressors
<compressor_name | -load | -unload |-pipeline | -shift_power_controller |
-all>
[-verbose]
Arguments
compressor_name | -load | -unload | -pipeline | -shift_power_controller | -
all
You can specify a report related to a particular compressor name (compressor_name), or
use one of the following options: -load reports all load compressors; -unload reports all
unload compressors; -pipeline displays information about the load and unload
compressor pipelines (if any) for each pipeline input, in separate blocks (see the examples
below); -shift_power_controller reports chain and connection information for shift
power groups (SPC); -all reports all compressors.
-verbose
Reports the data for the specified compressors in verbose mode.
Description
This command generates a report containing data for the specified compressors. Note that this command is
valid only in TEST mode.
Examples
The following example shows the information reported as a result of specifying the -pipeline option:
In the previous example, information is reported for each mode port, as follows:
Port input name: SI_5
Output gate ID: 9544
Combined inversion status of all pipeline stages: 1
( In this example 1 stage is reported; 1 = inversion, 0= no inversion)
report_compressors 172
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
---------------------------------------------------------------------------
load_compressor_input output_gate invert type clock pipeline_cells
--------------------- ----------- ------ ---- ----- ---------------
SI_0 9534 1 hold ----- 9534(1)
---------------------------------------------------------------------------
pipeline unload mode port data for mode_id 0 of unload compressor des_unit_
U_compressor
unload_mode_port output_gate invert type clock pipeline_cells
--------------------- ----------- ------ ---- ----- ---------------
SI_0 9534 1 hold ----- 9534(1)
---------------------------------------------------------------------------
pipeline unload mode port data for mode_id 1 of unload compressor des_unit_
U_compressor
unload_mode_port output_gate invert type clock pipeline_cells
--------------------- ----------- ------ ---- ----- ---------------
SI_0 9534 1 hold ----- 9534(1)
---------------------------------------------------------------------------
unload_enable_port output_gate invert type clock pipeline_cells
--------------------- ----------- ------ ---- ----- ---------------
SI_7 9548 1 hold ----- 9548(0)
---------------------------------------------------------------------------
---------------------------------------------------------------------------
unload_compressor_output input_gate invert pipeline_cells
------------------------ ----------- ------ --------------
S0_0 9466 1 hold ----- 9535(0)
In the next example, all pipeline flip-flops that are in the same pipeline stage are reported within parenthesis
separated by commas:
report_compressor -pipeline
Compressor pipeline report: #input stages=2, #output_stages=0
--------------------------------------------------------------------------
---------------
mode_port output_gate invert type clock pipeline_cells
-------------- ----------- ------ ----- ----- ----------------------------
------
test_si3 10544 0 both 0 (9628,9857,10086,10315,10544)(0) 9623(0) (Hold
report_compressors 173
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
condition:18=0)
test_si4 10545 0 both 0 (9629,9858,10087,10316,10545)(0) 9624(0) (Hold
condition:18=0)
In the next example, the master and slave flip-flops are reported within brackets; the master flip-flops are
appended with an "m" and the slave flip-flops are appended with an "s":
report_compressor -pipeline
Compressor pipeline report: #input stages=2, #output_stages=0
--------------------------------------------------------------------------
---------------
mode_port output_gate invert type clock pipeline_cells
-------------- ----------- ------ ----- ----- ----------------------------
------
test_si3 3117 0 both 0 [3112m 3117s](0) (Hold condition:18=0)
test_si4 3116 0 both 0 [3111m 3116s](0) (Hold condition:18=0))
1. “0” in the invert path means the overall pipeline path has an even number
of inversions (where “0” counts as even)
2. The [ ] are used to pair master-slave combinations. Many pipelines “fork”
on the slave element and there can be multiple slaves associated with a
single master. It really means that these multiple elements are identified
as one pipeline stage.
3. “m” means master
4. “s” means slave
The next example shows the output when using the -shift_power_controller and -verbose options:
TEST-T> report_compressors -shift_power_controller -verbose
----------------------------------------------------------------------------
-----------
Total number of Shift Power Controller Chains = 1
Shift Power Controller Chain = OCC
Total Number of Shift Power Control Registers = 30
Total Number of bits in chain OCC = 46
Shift Power Controller Register cell gate# #chains chains in group
-------------------------------------------- ---- ----- ------- ------------
---
tenx_U_DFT_spwr_cntrl_chain_0/serial_reg_0_ 16 74103 4 2 3 4 5
tenx_U_DFT_spwr_cntrl_chain_0/serial_reg_1_ 17 74102 4 6 8 9 7
tenx_U_DFT_spwr_cntrl_chain_0/serial_reg_2_ 18 74101 4 12 11 13 10
.....
The first four lines of the previous example show the summary information for the shift power groups. This
information is always printed when you specify the -shift_power_controller option. These lines show
the shift power controller chain information, including whether the chain contains other registers used for non-
SPC purposes.
The remaining lines of the previous example are printed only when the -verbose option is specified. There
are normally more lines than displayed in the example (the complete report for this example contains 30 lines).
These lines display the cell, gate number, and number of chains associated with each shift power controller
register. The “chains in group” field shows the chain names for all compressed chains controlled by a specific
SPC chain register.
report_compressors 174
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The following example demonstrates output of the report_compressors -all -verbose command.
This report provides a summary of the decompressor and compressor connections from the internal chains to
the scanin or scanout port for each mode.
report_compressors -all -verbose
-------- ------ ------- -------- ------ --------------
name type #inputs #outputs #modes mode controls
-------- ------ ------- -------- ------ --------------
DFT__des_unit_U_decompressor_ScanCompression_mode load 6 96 3 Mode 0:
test_si8=0 test_si7=0
Mode 1: test_si8=1 test_
si7=0
Mode 2: test_si8=0 test_
si7=1
-------------------------------- ----- ------ -----------------------------
------
external port connection input output external chain connection
-------------------------------- ----- ------ -----------------------------
------
test_si1 0 0 1
test_si2 1 1 2
test_si3 2 2 3
test_si4 3 3 4
test_si5 4 4 5
test_si6 5 5 6
--- 6 7
--- 7 8
... .. ..
--------- --- -------------------------------------------------------------
--------------
output_id inv ports connected to output for mode 0
--------- --- -------------------------------------------------------------
--------------
0 yes test_si1
1 yes test_si2
2 yes test_si3
3 yes test_si4
4 yes test_si5
5 yes test_si6
. .. ..
--------- --- -------------------------------------------------------------
--------------
output_id inv ports connected to output for mode 1
--------- --- -------------------------------------------------------------
--------------
0 yes test_si1
1 yes test_si2
2 yes test_si3
3 yes test_si4
4 yes test_si5
5 yes test_si6
. .. ..
report_compressors 175
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
remove_compressors
Understanding Compressor Connections in the Output from report_scan_chains
report_compressors 176
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_delay_paths
Overview
This command generates individual paths for viewing with the GSV and exports a delay path list.
Syntax
report_delay_paths
<-all | path_name>
[-verbose]
[-display]
[-pindata]
Arguments
-all | path_name
Reports all valid delay paths in TestMAX ATPG delay path definition format. If you provide a
path_name, TestMAX ATPG reports only the single path associated with the path_name.
-display
Displays the specified path_name in the GSV.
-verbose
Reports detailed data about each path including: fault status, transition direction, number
of launch clocks, launch clock, launch clock node (ID), number of capture clocks, capture
clock, capture clock node (ID), and node IDs and gate types for nodes defined along the
path.
-pindata
Uses the pindata setting to delay data, and allows pindata to be annotated to the path view
in the GSV, or reports pindata in a primitive report if requested.
Description
This command generates individual paths for viewing with the GSV and exports a delay path list.
Examples
TEST> report_delay_paths path1 -v
$path {
$name path1 ;
# #launch_clocks=1, launch_clock=CK (1), launch_node=DFF (22)
# #capture_clocks=1, capture_clock=CK (1), capture_node=DFF (21)
# slow-to-rise fault class = DR
# slow-to-fall fault class = DR
$transition {
reg_fd1/Q = ; # 22 (DFF)
report_delay_paths 177
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
reg_fd2/D1 = ; # 18 (MUX)
}
}
See Also
add_delay_paths
report_delay_paths 178
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_display_gates
Overview
Use this command to generate information about the gates currently being displayed in the GSV.
Syntax
report_display_gates [-command]
Arguments
-command
This option prefixes each reported gate with the add_display_gates command, which can
be used in a command file to repopulate the current GSV display (see the Examples section
below).
Description
Use this command to generate information about the gates currently being displayed in the GSV. The report
contains the pin_pathname and gate type, and the type and number of ports on each gate.
Examples
DRC> report_display_gates
U05 (46): type=OR #inputs=2 #outputs=1 #bidis=0
U75 (47): type=AND #inputs=2 #outputs=1 #bidis=0
muxme (48): type=MUX #inputs=3 #outputs=1 #bidis=0
flop_it (77): type=MUX #inputs=3 #outputs=1 #bidis=0
SCANOUT (126): type=PO #inputs=1 #outputs=1 #bidis=0
TEST-T> report_display_gates -command
add_display_gate 6574599 ; # u_padring/pad_inst_gpio_1 (BUS)
add_display_gate 6574958 ; # u_padring/pad_inst_gpio_1 (AND)
add_display_gate 6574987 ; # u_jtag/U110 (AND)
See Also
add_display_gates
remove_display_gates
report_display_gates 179
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_distributed_processors
Overview
Use this command to get information on the distributed processors performing a distributed fault simulation
task.
Syntax
report_distributed_processors
Arguments
None
Description
Use this command to get information on the distributed processors performing a distributed fault simulation
task.
Examples
TEST> report_distributed_processors
MACHINE himalaya [ARCH: sparc-64]
MACHINE himalaya [ARCH: sparc-64]
MACHINE himalaya [ARCH: sparc-64]
MACHINE himalaya [ARCH: sparc-64]
See Also
add_distributed_processors
remove_distributed_processors
set_distributed
report_distributed_processors 180
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_fanin
Overview
This command reports fanin paths to a specific pin.
Syntax
report_fanin -from pin_name -to pin_name
[-hide_sequential]
[-shift] [-test_setup] [-pi_constraints]
Arguments
-from pin_name
Specifies the hierarchical pin name in the top-level netlist to be used for mapping/tracing.
Wildcard pin names are supported, although they do not apply to instance names.
-to pin_name
Specifies the pin name to be used as the end point or sink for mapping/tracing. By default,
the report_fanin command prints all the PIs, PIOs and flip-flops that are driving this pin.
You can specify wildcard characters for specifying pin names, but not instance names. The
report_fanin command will report, one-by-one, all the sources for all the matching
endpoint pin names.
-hide_sequential
Hides printing flip-flops or latch endpoints, and outputs only the PIs and POs.
-shift
Outputs endpoints after the shift constraints are applied.
-test_setup
Outputs endpoints after applying the test_setup sequence.
-pi_constraints
Outputs endpoints after applying the pin constraints.
Description
This command reports fanin paths to a specific pin. If there are multiple sources, it will report all the names.
This command is valid only in Tcl mode.
Examples
Default report:
report_fanin -to top/Udftmax_core1/DFTMAX821/ZN
report_fanin 181
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
test_si12 (19) PI
test_si15 (22) PI
Hides the FF Endpoints:
report_fanin -to top/Udftmax_core1/DFTMAX821/ZN –hide
See Also
report_fanout
report_fanin 182
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_fanout
Overview
This command reports fanout paths from a specific pin.
Syntax
report_fanout -from pin_name -to pin_name
[-hide_sequential]
[-shift]
[-test_setup]
[-pi_constraints]
Arguments
-from pin_name
Specifies the hierarchical pin name in the top-level netlist to be used as the starting point
for reporting fanout paths. Wildcard pin names are supported, although they do not apply
to instance names.
-to pin_name
Specifies the pin name to be used as the end point or sink for mapping/tracing. You can
specify wildcard characters for specifying pin names, but not instance names.
-hide_sequential
Hides printing flip-flops or latch endpoints, and outputs only the PIs and POs.
-shift
Outputs endpoints after the shift constraints are applied.
-test_setup
Outputs endpoints after applying the test_setup sequence.
-pi_constraints
Outputs endpoints after applying the pin constraints.
Description
This command reports fanout paths from a specific pin. Note that this command is valid only in Tcl mode.
See Also
report fanin
report_fanout 183
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_faults
Overview
Use this command to display fault data.
Syntax
report_faults
[-aggressor_node <first | second | both>]
[instance_name | pin_pathname
[bridge_location1 [bridge_location2]]
[-bridge <0|1|01>]
[-cell_aware none | only]
[-class fault_class]
[-bridge_feedback]
[-bridge_strong]
[-collapsed | -uncollapsed]
[-dynamic_bridge <r|f|rf>]
[-dominant_node <first | second | both>]
[-external {file_names}]
[-level d m]
[-max d]
[-max_tmgn float]
[-min_tmgn float]
[-max_delta float]
[-ndetects <histogram | faults n>]
[-pattern_id d]
[-per_clock_domain]
[-slack <tgn [integer|float] | tdet [integer|float] | delta
[integer|float] | sdql | effectiveness>]
[-stuck <0|1|01> | -slow <r|f|rf>]]
[-unsuccessful | -summary | -profile | -all ]
[-verbose]
Arguments
Note: The following arguments are not valid when the set_faults -model path_delay command is
specified:
[-collapsed | -uncollapsed][-level d <m>] [-unsuccessful | -profile]
-aggressor_node <first | second | both>
Specifies which node in a node pair is used as the aggressor node of a bridging fault:
first, second, or both. The default is both. Using first or second limits the set of faults
reported and only reports the faults with the aggressor in the position specified. To see
how combinations of -bridge and -aggressor_node option settings interact, see the
description of the -aggressor option of the add_faults command.
Using default settings, four faults are reported for each node pair defined if the faults were
included in the list.
bridge_location1 [bridge_location2]
report_faults 184
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the nodes of the bridging or dynamic bridging fault being reported. Either node
can be selected to be an aggressor node, victim node, or both using the -aggressor option
for the bridging fault model and the -dominant option for the dynamic bridging fault model.
If bridge_location2 is not specified, then all bridges with bridge_location1 (both
aggressor and victim) are reported.
-bridge <0|1|01>
Specifies the type of bridging fault being added. The type can be either:
report_faults 185
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_faults 186
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option, which is valid only for small delay defect testing, reports only those faults with
a tmgn (timing margin) greater than or equal to the float. Note: This option must be used
with an option that specifies the faults to be printed, such as -all, -class fault_class,
or an instance name.
-max_delta float
This option, which is valid only for small delay defect testing, reports only those faults with
a delta less than or equal to the float. Note: This option must be used with an option that
specifies the faults to be printed, such as -all, -class fault_class, or an instance
name.
-ndetects <histogram | faults n>
The histogram keyword displays a tabular histogram showing the number of faults that
were detected 1 time, 2 times, up to the n-detect value specified in the previous ATPG or
fault simulation run.
The faults keyword displays the faults that were detected n number of times following an
ATPG or fault simulation run.
This option is not supported for full-sequential ATPG, fault simulation, or distributed ATPG.
-pattern_id d
Reports faults detected by the selected pattern, but no patterns preceding it. To see
results from this argument, you need to issue a run_fault_sim -detected_pattern_
storage command. If you want to use the -detected_pattern_storage argument on an
internal pattern set, then you can write out the pattern, read it back in, and fault simulate
it. For example:
...run_atpg -auto
...write_patterns pat.bin -format bin -rep
...reset_state
...set_patterns -external pat.bin
...run_fault_sim -detected_pattern_storage
...report_faults -pattern_id 2
-per_clock_domain
Reports all specified faults with extra information for their launch and capture clocks. All
clocks are reported, even those classified as "shared" or "multiple" clocks. The format is as
follows:
<type> <code> <fault_name> (Launch clocks: <clock1> <clock2> ...)
(Capture clocks: <clock1> <clock2> ...)
For example:
str NC u_ext1/y_reg_3_/Q ( Launch clocks: clkext1 ) ( Capture clocks:
TOTO/U8 clkext3)
For further details, see Using Clock Domain-Based Faults.
-slack <tmgn [integer | float] | tdet [integer | float] | delta [integer |
float] | effectiveness | coverage>
This set of arguments produces various special reports related to slack-based transition
fault testing:
The tmgn (timing margin) argument produces a histogram-based report of faults based on
the minimum-slack data that was read into TestMAX ATPG via the read_timing command
report_faults 187
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
and stored in the data structure. If you want to use the set_delay -max_tmgn command
to select a particular number or percentage of faults with the smallest slacks to target in
small delay defect test generation, this report will allow the determination of a reasonable
cutoff point for the -max_tmgn parameter. The optional parameter can be either an integer
or a floating point number. When the number is an integer, it determines the number of
categories (or buckets) used in the report. When the number is a floating point (identified
by the "." in the number), it determines the slack interval between two consecutive
histogram buckets. The default of this parameter is an integer of 10.
The tdet (timing of detection) argument produces a histogram-based report of faults
based on the slack data for the actual detection paths (detection slacks) in tests
generated to detect the faults.This report can be compared with the report produced by the
tmgn argument to see how close the generated tests came to the longest (minimum-slack)
paths. The optional parameter can be either an integer or a floating point number. When
the number is an integer, it determines the number of categories (or buckets) used in the
report. When the number is a floating point (identified by the "." in the number), it
determines the slack interval between two consecutive histogram buckets. The default of
this parameter is an integer of 10.
The delta argument reports a histogram of faults based on the difference between
detection slacks and minimum slacks. This distribution allows a direct view of how close
the generated tests came to the longest path. A delta of 0 indicates that the fault was
tested along the longest path. The optional parameter can be either an integer or a floating
point number. When the number is an integer, it determines the number of categories (or
buckets) used in the report. When the number is a floating point (identified by the "." in the
number), it determines the slack interval between two consecutive histogram buckets. The
default of this parameter is an integer of 10. An example report produced by the delta
argument is as follows:
report_faults 188
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
requires no fabrication process data. A delay effectiveness of 100 indicates that every
targeted fault was detected on the longest path. The closer the number is to 100, the more
effective the test set has been toward achieving that goal. Note that this option only
reports the effectiveness for detected faults of interest.
The coverage argument produces a report that measures how well the pattern set detects
small delay defects on all detectable faults.
In addition to producing these special reports, the -slack option slightly alters the normal
fault reporting for transition fault tests. The normal list of faults includes the slack number
for the fault at the end of each line in the report. Also, if the fault has been detected or
potentially detected, the report includes the delta number for the detection.
For more information on reporting small delay defects, see "Slack-Based Transition Fault
Testing" in the TestMAX ATPG User Guide.
-verbose
Displays additional information with each fault. In addition to the standard fault data
(stuck-at value, fault class, and pin path name), the library model name and internal fault
ID information are also displayed. When used in conjunction with the -level option,
displays additional columns of fault categories by hierarchy. For a more detailed
explanation of the fault hierarchy report see the Understanding the Faults Report topic. The
default is not to display this extra information.
Description
Use this command to display fault data.
Note: The fault list reported can be a collapsed or uncollapsed list of faults. You can select the type of list by
specifying it explicitly in the report_faults command or by using the set_faults command. The
uncollapsed list of faults includes the primary faults as well as faults equivalent to them. Equivalent faults are
indicated by a fault class of "--" and immediately follow the fault they are equivalent to.
Examples
TEST-T> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------------------ ---- ---------
Detected DT 79912
Possibly detected PT 325
Undetectable UD 876
ATPG untestable AU 3378
Not detected ND 3917
-----------------------------------------------
total faults 88408
test coverage 91.48%
-----------------------------------------------
report_faults 189
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_faults 190
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
21 1 10
22 5 15
27 1 16
28 2 18
31 10 28
32 7 35
33 9 44
34 7 51
35 1 52
TEST-T> remove_faults -all
3027282 faults were removed from the fault list, CPU_time=0.21 sec.
report_faults 191
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Warning: Cell aware faults not added in 577 cells due to lost pin in netlist
optimization.
1995436 faults were added to fault list, CPU_time=80.73 sec.
report_faults 192
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Possibly detected PT 0
Undetectable UD 32327
undetectable-unused UU (46)
undetectable-tied UT (1877)
undetectable-blocked UB (5326)
undetectable-redundant UR (25078)
ATPG untestable AU 487649
atpg_untestable-not_detected AN (487649)
Not detected ND 2303677
not-controlled NC (2303677)
-----------------------------------------------
total faults 3027282
test coverage 6.80%
-----------------------------------------------
See Also
add_faults
analyze_faults
remove_faults
read_faults
set_faults
write_faults
Fault Classes
Understanding the Faults Report
Table Column Outside Table:
report_faults 193
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_feedback_paths
Overview
Use this command to get a report on the feedback paths in the design.
Syntax
report_feedback_paths
<path_id | -summary | -all | -gate <id
| pin_pathname | instance_name> >
[-verbose]
Arguments
path_id
Specifies the feedback network to report by its specific loop ID number.
-summary
Selects display of a summary of feedback paths showing the number of feedback paths
which exists.
-all
Selects all feedback paths for reporting. This displays the loop ID, number of contributing
gates, number of sources, and sensitization status.
-gate <id | pin_pathname | instance_name>
Displays the feedback path that contains the specified primitive. You can identify the gate
by its primitive ID number, by a pin pathname of a pin connected to the gate, or by its
instance name. An error is reported if the selected gate is not in a feedback path.
-verbose
Reports verbose data for the selected feedback paths. In addition to the general feedback
path information, the verbose data identifies all instances in the feedback path network.
The source gates appear at the top of the list, and the remaining gates are rank ordered
and should appear in a physical order. The default is not to display this additional
information.
Description
Use this command to get a report on the feedback paths in the design.
Examples
TEST> report_feedback_paths -all
id# #gates #sources sensitization_status
--- ------ -------- --------------------
0 2 1 pass
1 10 1 pass
report_feedback_paths 194
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
2 5 1 pass
3 8 1 pass
TEST> report_feedback_paths 2 -verbose
id# #gates #sources sensitization_status
--- ------ -------- --------------------
2 5 1 pass
BUF amd2910/register/U70 (731), cell=CMOA02
INV amd2910/register/sub_23/U11 (232), cell=CMIN20
NAND amd2910/register/U86 (273), cell=CMND30
BUF amd2910/register/U70 (274), cell=CMOA02
NAND amd2910/register/U70/M1 (735), cell=OAI211
See Also
analyze_feedback_path
Feedback Paths Report
report_feedback_paths 195
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_instances
Overview
This command reports data associated with a specified instance.
Syntax
report_instances instance_name
[-module name]
[-netnames]
[-garble | -ungarble]
Arguments
instance_name
Specifies the name of the instance to report. It might be the hierarchical name of an
instance or the name of an instance inside a module selected with the -module option.
-module name
Specifies that the instance to be reported resides inside the specified module.
-netnames
Causes net names to be displayed in the report. By default, net names are not displayed.
-garble | -ungarble
The -garble option displays the garbled instance name to which that the given original
instance name is mapped in a garbled image created by the -garble option of the write_
image command. This can be done only with an ungarbled design database.
The -ungarble option displays the original instance name of the given garbled instance
name present in a garbled image created by the -garble option of the write_image
command. This option can be used to translate a garbled name to an original name, but
only with an ungarbled design database.
Description
This command reports data associated with a specified instance.
Examples
DRC> report_instances U6 -module L572
U6 _MUX
"UNDEF" I ( H09 )
"UNDEF" I ( H07 )
"UNDEF" I ( H08 )
"UNDEF" O U1/
DRC> report_instances U6 -module L572 -netnames
U6 _MUX
report_instances 196
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
"UNDEF" I ( H09 )
"UNDEF" I ( H07 )
"UNDEF" I ( H08 )
"UNDEF" O ( n1 ) U1/
See Also
report_primitives
report_nets
report_modules
report_instances 197
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_layout
Overview
This command creates a report of the net structure for all nets loaded in TestMAX ATPG.
Syntax
report_layout
identifier
net_driver
output_file
[-bridging_pairs ]
[-compress gzip | off]
[-file]
[-format binary | ascii]
[-max_reported number]
[-replace]
[-subnets]
[-summary]
Arguments
identifier
Specifies one of the following: the instance name from layout, the net name from layout, or
the cell type from either the TestMAX ATPG design or the layout. This string must be
accompanied by an option that indicates the identifier type.
net_driver
Specifies the name of a net driver for which a report of its structure is printed (the
hierarchical pinpath name to a valid pin). This specification must be accompanied by the -
subnets option.
output_file
Specifies the name of the binary and compressed file containing the net structure
information.
-bridging_pairs
Reports all stored bridging pairs. For all net pairs, the report includes the name of the first
node and its gate ID. The report also includes a list of all second nodes associated with the
first node and its gate ID. An example of the report is provided below:
Net pairs of i_addr[1] (9):
de_d/U168/O (3599)
de_d/U172/O1 (3719)
This report indicates that two pairs with the same first node are successfully read in. The
pairs are:
i_addr[1] de_d/U168/O
i_addr[1] de_d/U172/O1
report_layout 198
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The initial bridging pairs includes either a net name or a pinpath name. TestMAX ATPG
automatically converts net names into pinpath names, so only the pinpaths are available.
-compress gzip | off
Compresses the subnet data in gzip format.
-file
Writes the subnet data to a file for future reuse.
-format binary | ascii
Specifies the format of the output file containing subnet data. The default is to use binary
format.
-max_reported number
Reports a maximum of the specified number of nets.
-replace
Overwrites an existing subnet binary file.
-subnets
Reports the net structure of the specified net_driver parameter. It is mandatory when
the net_driver parameter is specified.
-summary
When this is the only option specified, the report_layout command reports some
characteristics of either the subnet or bridging net pairs loaded. For example:
Subnets : #nets=35192, #subnets=1500342, max_subnets=25, memory=1MB
Subnet_distribution: <10(80.00%) <20(90.00%) <30(100.00%)
Receiver_per_net: <10(90.00%) <20(90.00%) <30(100.00%)
The first line reports the total number of nets (#nets=) which has been loaded. It also
reports the total number of subnet defined (#subnets=) and the number of subnets defined
for the net with maximum subnets (max_subnets=). Finally, the memory allocated to the
subnet definition is reported (memory=).
The line beginning with “Subnet_distribution:” indicates the percentage of nets having
less than N subnets defined, where N=10, 20, and so forth. For example: <10(82.26%)
means that 82.26% of the nets have less than 10 subnets defined.
The line beginning with “Receiver_per_net:” indicates the percentage of nets that have
less than N receivers, where N=10, 20, and so forth. For example: <10(79.43%) means
that 79.34% of the nets have less than 10 receivers.
If net pairs are loaded, their characteristics are also printed. For instance:
Net_pairs : #nets=3650, #pairs=26559, max_pairs=4, memory=1MB
Pairs_distribution: <10(80.00%) <20(90.00%) <30(100.00%)
The first line reports the total number of net (#nets=) and the total number of pairs
(#pairs=). A net could be involved in several net pairs. The field “max_pairs=” indicates
the maximum number of net constituted of the same net. The memory allocated to the net
pairs definition is also reported (memory=).
report_layout 199
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The line beginning with “Pairs_distribution:” indicates the percentage of nets that
have less than N pairs defined, where N=10, 20, and so forth. For example: <10(82.26%)
means that 82.26% of the nets have less than 10 pairs defined.
If -summary is used with -subnets, this option compacts the information for a single net on
one line. For instance:
report_layout -summary -subnets –max 1
net=mic0/ir0/U6/Z #fanouts=12/12 #subnets=10
This line contains the net driver (net=), the number of fanout branches for the net driver
(#fanouts=) and, finally, the number of subnet defined (#subnets=).
Description
This command creates a report of the net structure for all nets loaded in TestMAX ATPG. You can use it only if
you previously specified the read_layout subnet_file -subnets command.
Examples
The following example shows how to report the net structure of a particular net driver:
TEST-T> report_layout mic0/ir0/U6/Z -subnets
.net
mic0/ir0/U6/Z
mic0/ir0/U9/D, inv_flag=0
mic0/ir0/U10/D, inv_flag=0
mic0/ir0/U11/D, inv_flag=0
mic0/ir0/U12/D, inv_flag=0
.subnets
3 4
2 3
1 4 3
Note that the inv_flag information indicates if BUF or INV gates are present between the net driver and the
fanout branch. If the number of the INV gate is odd, then the flag is equal to 1.
The following command is an example of how to report the net information for any net driver:
TEST-T> report_layout -subnets -max_reported 2 –summary
net=mic0/ir0/U6/Z #fanouts=12/12 #subnets=10
net=mic0/ir0/U7/Z #fanouts=14/14 #subnets=10
In the previous example, the first number of #fanouts indicates the number of direct fanouts and the second
number indicates the indirect fanouts. A direct fanout occurs when there is no gate in the path between the net
driver and the fanout.
The following example reports subnet data to a gzip-formatted compressed file:
See Also
read layout
run diagnosis
Subnets Format for Diagnosis
report_layout 200
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_lbist_seeds
Overview
Use this command to report all current seed definitions and identify seeds that were used during LogicBIST
ATPG.
Syntax
report_lbist_seeds
Arguments
None
Description
Use this command to report all current seed definitions and identify seeds that were used during LogicBIST
ATPG. Seed definitions are specified using the add_lbist_seeds command. For more information on
using TestMAX ATPG with the DFTMAX LogicBIST tool, see the DFTMAX LogicBIST User Guide.
Examples
TEST-T> report_lbist_seeds
Used Seed Value (binary_normal)
---- -----------------------------------------------
Used 1011010101001010101010101111011
Used 1101111010101010101001010101101
1011010101001010101010101111011
1011010101001010101010101111011
1111010010101101010100100000111
1010101010101010101010101010101
1110101011110010101111011111111
1110101011110010101111011111001
See Also
add_lbist_seeds
remove_lbist_seeds
report_lbist_seeds 201
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_licenses
Overview
Use this command to report all licenses currently checked out by TestMAX ATPG.
Syntax
report_licenses
[-quantity]
Arguments
-quantity
Reports how many copies of each license are currently checked out.
Description
Use this command to report all licenses currently checked out by TestMAX ATPG.
Examples
TEST-T> report_licenses
Test-Analysis
Test-Fault-Max
See Also
get_licenses
remove_licenses
Licensing
report_licenses 202
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_lockup_latches
Overview
The report_lockup_latches command performs a topological analysis of scan paths to find missing,
extra, or incorrectly clocked lockup latches.
Syntax
report_lockup_latches
[-balanced_gates_file file_name]
[-buffered_clocking | -external_clocking | -gated_clocking]
[-intclocks_unbalanced | -nointclocks_unbalanced]
[-latch_based_balanced]
[-pipeline]
Arguments
-balanced_gates_file file_name
Specifies a file containing a list of skew-balanced clock gating sources. This option enables
you to avoid debugging irrelevant M831, M832, M833, and M835 messages.
The syntax for the file containing skew-balanced clock gating sources is as follows:
balanced_clock_group name pin_pathname1 [pin_pathname2 ...]
This file identifies groups of skew-balanced clock gating sources. Each group is specified on
separate lines that must begin with the balanced_clock_group keyword. The name of the
group is specified by the name parameter. At least one output pin of a gate must be
specified (pin_pathname1).
The following example shows the extra information provided by this file in an M832
message:
An extra lockup latch is added between scan cells \counter_reg[45](172)
clocked by clk(17) (through U105/Z(23)) LE(45ns) and \counter_reg[46]
(173) clocked by clk(17) (through U106/Z(24)) TE(55ns) (M832)
The through point in parentheses varies depending on the options used.
Note the following:
l When this option is used with the -gated_clocking option, the syntax is as shown. An ungated clock
should be designated (directly) to show that there is no gated through point. Only the last gate in the
clock path is reported.
l If the -latch_based_balanced option is specified, latch-based clock gates are ignored but other
types of clock gates are reported.
l If the -buffered_clocking option is specified, the last buffer in the clock path is reported.
l By default, or with the -external_clocking option, the parentheses are omitted for external clocks
or when the -nointclocks_unbalanced option is specified.
l By default, or with the -intclocks_unbalanced option, the internal clock source is reported.
report_lockup_latches 203
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-buffered_clocking
Causes each clock tree driven by a separate buffer or inverter to be treated as a separate
clock source. This switch corresponds to the TestMAX DFT command set_scan_
configuration -internal_clocks single. You should not specify report_lockup_
latches -buffered_clocking after set_build -portfault_box because the build
option creates extra virtual buffers which will result in unexpected reporting.
-external_clocking
Causes each clock tree driven by a separate external clock to be treated as a separate
clock source. This option is the default and corresponds to the TestMAX DFT default
setting.
-gated_clocking
Causes each clock tree driven by a separate multi input gate to be treated as a separate
clock source. This switch corresponds to the TestMAX DFT command set_scan_
configuration -internal_clocks multi.
-intclocks_unbalanced | -nointclocks_unbalanced
When the -external_clocking option of the report_lockup_latches command is
specified or used based on its default setting, the -intclocks_unbalanced option
assumes that each On-Chip Clocking (OCC) clock tree is unbalanced to any other OCC
clock tree. This includes any situation when two trees share an external shift clock which
requires a lockup latch. This option is the default and corresponds to the TestMAX DFT
behavior when it inserts OCC controllers. The -nointclocks_unbalanced option
interprets the external clocking specification strictly and does not make an exception for
OCC clocks.
-latch_based_balanced
When the -gated_clocking option is specified, this switch will assume that all clock sub-
trees that are separated only by clock gating inserted by Power Compiler are balanced so
that they do not need lockup latches between them. These balanced sub-trees are
detected by topological analysis, assuming that one of the Power Compiler latch-based
styles is used. All other types of multiple-input gates are still treated as separate clock
sources. This switch has no effect unless -gated_clocking is also specified.
-pipeline
Enables checking for the following areas:
l Within compression pipeline registers
l Between compression pipeline registers and scan chains
By default, these areas are ignored by the report_lockup_latches command. Note that
the report_lockup_latches command cannot check the serializer register.
Command Mode
TEST
Description
The report_lockup_latches command performs a topological analysis of scan paths to find missing,
report_lockup_latches 204
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
extra, or incorrectly clocked lockup latches. This analysis assumes that the multiplexed flip-flop scan style is
used. Other scan styles are not supported by this command.
A missing lockup latch is reported if a lockup latch is missing between two adjacent scan cells belonging to two
different clock domains that are both clocked on the leading (LE) or trailing edge (TE).
An extra lockup latch is reported if any of the following conditions apply:
l More than one lockup latch is identified in series.
l A lockup latch is identified between two adjacent scan cells that are driven by different clock edges.
Namely, LE to TE and TE to LE.
l A lockup latch is identified between two adjacent scan cells driven by the same clock domain.
An incorrectly clocked lockup latch is reported if any of the following conditions apply:
l A lockup latch between two different scan cells belonging to two different clock domains belongs to a
clock domain that is different than either the driving scan cell, or the observing scan cell.
l A lockup latch between two different scan cells belonging to two different clock domains belongs to a
clock domain that is the same as the driving scan cell.
l A lockup latch between two different scan cells belonging to two different clock domains belongs to a
clock domain that is the same as the observing scan cell, and whose clock is inverted with respect to the
observing scan cell.
Examples
TEST-T> report_lockup_latches
No lockup latch violations were detected.
Limitations
The following limitations apply to the report_lockup_latches command:
l Clock timing is not considered. All clock leading edges are treated as simultaneous, and all clock trailing
report_lockup_latches 205
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_lockup_latches 206
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_memory
Overview
Use this command to report memory gate data for selected memory gates.
Syntax
report_memory
<id | instance_name | -all | -summary>
[-max d] [-contents <address | all>] [-verbose]
Arguments
id | instance_name
Specifies a specific memory primitive for which information is to be displayed. A memory
gate might be identified by its primitive ID or its instance name.
-all
Causes the report to display information on all MEMORY primitives, including all RAMs and
ROMs in the design.
-summary
Causes a summary report to be displayed. When this option is chosen, all MEMORY
primitives are included in the report.
-max d
Specifies the maximum number of memory gates allowed to be reported. By default, there
is no limit.
-contents <address | all>
Specifies that the contents of the selected memories is reported. The contents might be
selected to be for a single address or for all addresses. By default, the contents displayed
are the initial data values of the RAMs or ROMs. You can use the -store_memory_
contents option of the set_simulation command along with the run_simulation -
sequential command to determine RAM contents for a particular pattern.
-verbose
Displays a verbose memory gate report.
Description
Use this command to report memory gate data for selected memory gates. The report_primitives
command can also be used to show data for memories.
Examples
TEST> report_memory -summary
RAM summary: #RAMS=4, #clock_unstable=4, #load_unstable=0, #read_only=0.
ROM summary: #ROMS=1, #hot_read=0, #readoff_X=0, #readoff_0=0, #readoff_
report_memory 207
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
1=0.
TEST> report_memory -all
type ID instance_path memory_file
---- ------- ---------------------------------- -----------
RAM 29366 momma/SPI_TRANSMIT/RAM_32X32/u1 none
RAM 29367 momma/lamb/RAM_44X8/u1 none
RAM 29368 momma/unscram/RAM_128X8/u1 none
RAM 29369 momma/spir_in/BISTRAM_16X23/u1 none
ROM 5425 intpe/u1/mem/rom1/rom_core i007.d1
TEST> report_memory -all -verbose
#ports width address stable off
type ID wrt/rd addr/data min/max clk/load val instance_type
---- --- ------ --------- --------- -------- --- ---------
RAM 146 1 1 10 8 0 1023 yes yes X ram1024x8
RAM 149 1 1 9 8 0 499 yes yes X ram512x8
RAM 150 1 1 6 8 0 63 yes yes X ram64x8
ROM 147 0 1 4 16 0 15 yes yes X rom16x16
ROM 148 0 1 5 16 2 31 yes yes X rom32x16
TEST> report_memory /e037/intpe/u1/mem/rom1/rom_core
type ID instance_path memory_file
---- ------- ---------------------------------- -----------
ROM 5425 intpe/u1/mem/rom1/rom_core i007.d1
TEST> report_memory intpe/u1/mem/rom1/rom_core -contents all
type ID instance_path memory_file
---- ------- ---------------------------------- -----------
ROM 5425 intpe/u1/mem/rom1/rom_core i007.d1
0 : 0000000000000001
1 : 0000000000000010
2 : 0000000000000100
3 : 0000000000001000
4 : 0000000000010000
5 : 0000000000100000
6 : 0000000001000000
7 : 0000000010000000
8 : 0000000100000000
9 : 0000001000000000
a : 0000010000000000
b : 0000100000000000
c : 0001000000000000
d : 0010000000000000
e : 0100000000000000
f : 1000000000000000
10 : 1010000000000001
11 : 1100010000000010
12 : 1110010000000101
13 : 0111000000001011
14 : 0011100000010110
15 : 0001110000101100
16 : 0010111001011000
17 : 0000011110110000
report_memory 208
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
18 : 0010001111100000
19 : 0000011111000000
1a : 0010010111100000
1b : 0000101101110000
1c : 0011011000111100
1d : 0010110000011100
1e : 0111110000001110
1f : 1011000000000111
TEST> set_simulation -store_memory_contents 40
TEST> run_simulation -last 40 -sequential
Begin sequential simulation of 73 external patterns.
Ram contents for all RAM MEMORY gates stored for pattern=40.
Simulation completed: #patterns=41/144, #fail_pats=0(0), #failing_ meas=0
(0)
TEST> report_memory /u5 -contents all
type gate_ID instance_path memory_file
---- ------- --------------------- -----------
RAM 150 u5 none
0 : 11010000
1 : 00101111
2 : 11001100
3 : XXXXXXXX
4 : XXXXXXXX
5 : 00000000
6 : XXXXXXXX
7 : 10101000
8 : XXXXXXXX
9 : XXXXXXXX
a : XXXXXXXX
b : XXXXXXXX
c : XXXXXXXX
d : 00100111
e : XXXXXXXX
f : XXXXXXXX
See Also
run_simulation
set_simulation
Understanding the Report Memory output
Memory Gate
Primitive ID
report_memory 209
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_modules
Overview
Use this command to report data associated with a selected netlist module.
Syntax
report_modules
[ name | -unreferenced | -undefined | -unspecified | -udp
-behavioral | -black_box | -errors | -summary | -all]
[-garble | -ungarble]
[-verbose]
Arguments
name
Specifies the name of the module to report.
-unreferenced
Reports all modules that are not referenced by another module. The last unreferenced
module is the default top module choice for the run_build_model command.
-undefined
Reports all modules that are referenced but not defined.
-unspecified
Reports all modules that were defined with sequential syntax, usually by UDP table, but the
actual description resulted in a combinational model as output instead of a sequential
model.
-udp
Reports all modules identified as Verilog UDP definitions.
-behavioral
Reports all modules considered to be behavioral.
-black_box
Reports all black box modules (modules that have port definitions but no contents).
-errors
Reports all modules that have at least one violation of a rule with a severity of "error."
-summary
Generates a summary report on all modules.
-all
Generates a report on all known modules.
-garble | -ungarble
report_modules 210
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -garble option displays the garbled module name to which that the given original
module name is mapped in a garbled image created by the -garble option of the write_
image command. This can be done only with an ungarbled design database.
-verbose
Generates verbose information for each selected module, including a list of input pins,
output pins, and all instances within the module. For each instance, the report includes the
instance name, module referenced, and pin to pin connectivity. The default is nonverbose,
which displays a single line per module showing the module name, number of pins, number
of internal ATPG modeling gates used to model the module, and number of times the
module is referenced.
Description
Use this command to report data associated with a selected netlist module.
Examples
DRC> report_modules -summary
Modules: #STRUCT_VERILOG=423 #BEH_VERILOG=3 #COMB_ UDP=4(#xdetector=4)
#SEQ_UDP=8
report_modules 211
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_modules 212
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_primitives
report_instances
report_nets
report_modules 213
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_net_connections
Overview
Use this command to report all net connections added with the add_net connections command.
Syntax
report_net_connections
Arguments
None
Description
Use this command to report all net connections added with the add_net connections command.
Examples
BUILD> add_net_connections PI gwx12z/amd/dp/uto_reg_0/D -disconnect
BUILD> add_net_connections PO gwx12z/amd/dp/U943/Z
BUILD> report_net_connections
Connection PI, net gwx12z/amd/dp/uto_reg_0/D, disconnect
Connection PO, net gwx12z/amd/dp/U943/Z
See Also
report_primitives
report_instances
report_modules
report_nets
report_net_connections 214
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_nets
Overview
This command reports the net name and pin pathnames connected to the net or subnet.
Syntax
report_nets
net_name
[-candidates <all | candidate_id>]
[-garble | -ungarble]
[-subnet subnet_id]
Arguments
net_name
Specifies the net to report. This can be a pin pathname on the net, the net name, or the
primitive ID driving the net.
-candidates <all | candidate_id>
Reports detailed net connectivity information for all candidates or just a specific candidate,
as part of class-based diagnostics reporting. This information can also be reported using
the -verbose option of the set_diagnosis command. Note that this option is not
supported for the default fault-based diagnostics reporting. For more information on
creating a class-based diagnostics report, see the "Class-Based Diagnosis Reporting"
section in the TestMAX ATPG User Guide.
-garble | -ungarble
The -garble option displays the garbled net name to which that the given original net
name is mapped in a garbled image created by the -garble option of the write_image
command. This can be done only with an ungarbled design database.
-subnet subnet_id
Reports only the receiver pin pathnames that are connected to the physical subnet ID of
the specified net, and the driver pin pathname of the net. To use the candidate subnets IDs
with this option, you must enable the physical subnet IDs by specifying the set_
diagnosis -show physical_subnet_id command prior to the run_diagnosis
command.
Description
This command reports the net name and pin pathnames connected to the specified net, subnet, or fault
candidates.
report_nets 215
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
TEST-T> report_nets I_RISC_CORE/I_ALU/U14/ZN -subnet 20
Net connections:
-----------------------
I_RISC_CORE/I_ALU/n16 (218)
O I_RISC_CORE/I_ALU/U14/ZN
:
I I_RISC_CORE/I_ALU/Lachd_Result_reg_11__U3/S
I I_RISC_CORE/I_ALU/Lachd_Result_reg_12__U3/S
I I_RISC_CORE/I_ALU/Lachd_Result_reg_13__U3/S
:
-----------------------
See Also
report_primitives
report_physical
report_nets 216
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_nofaults
Overview
Use this command to report faults that have the nofault attribute.
Syntax
report_nofaults
<instance_name | pin_pathname [-stuck<0|1|01>]
| -summary | -all> [-max d]
Arguments
instance_name
Reports all faults with the nofault attribute that are associated with the specified instance
name.
pin_pathname [-stuck<0|1|01>]
Reports all faults with the nofault attribute that are associated with the specified pin
pathname. You can use the -stuck option to report only the stuck-at-1 or stuck-at-0 fault
associated with the specified pin. The default is to report both.
-summary
Generates a summary report of nofault counts. This option can also be used in conjunction
with an instance pathname to report the number of nofaults associated with that instance.
-all
Reports of all nofault locations.
-max d
Specifies the maximum number of faults with the nofault attribute that are allowed to be
reported. By default, there is no limit.
Description
Use this command to report faults that have the nofault attribute. Nofault attributes can exist because they
were defined in the netlist, added with the add_nofaults command, or added with the add_equivalent
nofaults commands.
Examples
TEST> add_nofaults -module MUX2H -stuck 1 SL
4 faults were added to nofault list.
TEST> report_nofaults -all
sa1 ** mux0/SL
sa1 ** mux1/SL
sa1 ** mux2/SL
sa1 ** mux3/SL
report_nofaults 217
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_equivalent_nofaults
add_nofaults
remove_nofaults
read_nofaults
Nofaults Report
report_nofaults 218
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_pi_constraints
Overview
This command reports all primary input and bidirectional ports that have been constrained either explicitly with
the add_pi_constraints command or implicitly by the test protocol file.
Syntax
report_pi_constraints
[-command_report]
Arguments
-command_report
Causes the PI constraints to be reported in the form of add_pi_constraints commands
that would be necessary to define the PI constraints.
Description
This command reports all primary input and bidirectional ports that have been constrained either explicitly with
the add_pi_constraints command or implicitly by the test protocol file.
Examples
DRC> report_pi_constraints
port_name constrain_value
---------------- ---------------
/TEST_MODE 1
See Also
PI Constraints Report
add_pi_constraints
remove_pi_constraints
report_pi_constraints 219
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_nonscan_cells
Overview
Use this command to report behavioral data on nonscan flip-flops and latches.
Syntax
report_nonscan_cells
<-summary | -all | c0 | c1 | cu | l0 | l1
| tla | le | te | ls | ram_out | unstable_set_resets | load | nonx_load>
[-max d] [-tlas [no_clock | hot_clock | x_clock]]
[-unique] [-verbose]
Arguments
-summary
Generates a summary report on all nonscan cells.
-all
Reports all nonscan cells.
c0 | c1 | cu | l0 | l1 | tla | le | te | ls | ram_out | unstable_set_resets
| load | nonx_load
Reports nonscan cells with specific behavior characteristics. The choices are as follows:
-max d
Limits the number of nonscan cells that can be reported. By default, there is no limit.
-tlas [no_clock | hot_clock | x_clock]
report_nonscan_cells 220
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to report behavioral data on nonscan flip-flops and latches.
Examples
TEST> report_nonscan_cells -summary
Nonscan cell summary: #DFF=416 #DLAT=227 tla_usage_type=no_clock_tla
Nonscan behavior: #CU=64 #TLA=131 #LE=407 #TE=9 #LS=32
Load disturbs : #CU=64 #TLA=131 #LE=407 #TE=9 #LS=32
TLA behavior: #no_clock=131, #hot_clock=0, #X_clock=0
report_nonscan_cells 221
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_scan_cells
report_primitives
report_instances
Nonscan Cells Definitions
Understanding the Nonscan Cells Report
Using Loadable Nonscan Cells in TestMAX ATPG
report_nonscan_cells 222
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_patterns
Overview
Use this command to report pattern data from the internal or external pattern buffer.
Syntax
report_patterns
[-chain name]
[-chain_mapping]
[-clocking]
[-clk_summary]
[-cycles <pat_num | {pat1_num pat_num2} | -all>]
[-internal | -external]
[-path_delay]
[-slack]
[{start_pattern [stop_pattern]} | -all]
[-summary [{first_pattern last_pattern}]]
[-types]
Arguments
-chain name
Limits the displayed pattern load/unload data to the specified scan chain only.
-chain_mapping
Reports the internal scan chain names observed on each scan out port for any patterns
using the 1:1 mode or N:1 X-tolerant unload modes. If different unload modes are used
within a pattern, the range of shift cycles is reported in parenthesis after the pattern
number for each unload mode used. Any pattern or range of shift cycles in full observability
mode (all chains observed) are denoted with a * for the chain name. Any padding patterns
are denoted with a – for the chain name because no chains are observed in a padding
pattern. This option is supported for both DFTMAX patterns and DFTMAX Ultra patterns.
-clocking
Reports only the internal clocks used for each pattern. This report is meaningful only when
On-Chip Clocking (OCC) is used. Clocks controlled from the primary inputs are found in the
report_patterns -type results. The only other way to get a report of all internal and
external clocks is the default report_patterns listing, but it can be extremely verbose.
For more information on On-Chip Clocking, see On-Chip Clocking Support in the
TestMAX ATPG User Guide.
-clk_summary
Used as part of the internal clocking procedures feature, this option provides a summary of
the number of clocking procedures of each type that was used in a particular pattern set.
For more information, see "Using Internal Clocking Procedures."
-cycles <pat_num | {pat_num1 pat_num2} | -all>
report_patterns 223
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Reports the cycle number at the start of each pattern within the specified range, and the
cycle number at the start of the shift cycle for each pattern. The cycle count is the total
number of executed vectors; loops and shift operations are expanded or flattened into the
vectors generated by those operations. The cycle count starts at 1 (the first vector is
counted as cycle 1). Data is reported only for external pattern files in the STIL or WGL
format; internal patterns and binary patterns do not report cycle data. You must specify a
pattern range using a number (pat_num), a pair of numbers ({pat_num1 pat_num2}), or
the -all argument with the -cycles option. When you specify this option, the output data
for the report_patterns command contains only pattern and cycle counts. This command
does not apply to DFTMAX Ultra patterns.
The following example shows the typical output produced by the -cycles -all option:
report_patterns -cycles -all
Pattern Cycle Shift-start cycle
------- ----- -----------------
0 3 4
1 106 107
2 209 210
…
The first field is the pattern number, the second field is the cycle number associated with
the vector that uses the referenced pattern, and the third field is the cycle number of the
shift cycle starting point within the pattern.
Note that when you specify the -all argument, the last pattern (which is usually an unload
pattern for the previous pattern) and the total number of cycles are also reported, as
shown in the following example:
…
65(unload) 6801 6802
Last cycle is 6902
-internal | -external
Indicates whether the pattern to report is in the internal or external pattern set. The
default is the internal pattern set.
-path_delay
Valid when the fault model has been set to path_delay. Specifies that the report include
information about path delay faults detected by each pattern.
start_pattern
Specifies the starting pattern to be reported. The pattern number is a zero-based number
and is selected from either the internal or external pattern set.
stop_pattern
Specifies the ending pattern to be reported. This value is optional. If it is not specified, only
a single pattern is reported.
-all
Specifies that all patterns are to be reported.
-summary [{first_pattern last_pattern}]
Selects a summary report for the internal pattern set. If a current external pattern set
exists, its summary is also printed. You can specify a pattern range, if needed.
report_patterns 224
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-slack
Valid when the fault model has been set to path_delay. Specifies that the report include
information about the range of delay path slack values for path delay faults detected by
each pattern. Note that if any path delay faults are missing a $slack specification, their
slack value is assumed to be 0.
-types
Specifies that a listing of pattern number vs. pattern type is reported for the selected
patterns.
Description
Use this command to report pattern data from the internal or external pattern buffer.
Examples
TEST> report_patterns -summary
Pattern Summary Report
-----------------------------------------------
#internal patterns 64
#basic_scan patterns 36
#fast_sequential patterns 28
-----------------------------------------------
TEST> report_patterns {3 4}
Pattern 3 (basic_scan)
Time 0: load c1 = 0111
Time 1: force_all_pis = 0001001011 001101111
Time 2: measure_all_pos = 001111
Time 3: unload c1 = 0111
Pattern 4 (basic_scan)
Time 0: load c1 = 0101
Time 1: force_all_pis = 0000111011 110010111
Time 2: measure_all_pos = 000111
Time 3: unload c1 = 0101
TEST> report_patterns 6
Pattern 6 (fast_sequential)
Time 0: load c1 = 0111
Time 1: force_all_pis = 0000000000 00000ZZZZ
Time 2: pulse clocks ck2 (1)
Time 3: force_all_pis = 0000100100 00000ZZZZ
Time 4: measure_all_pos = 00ZZZZ
Time 5: pulse clocks ck1 (0)
Time 6: unload c1 = 0000
report_patterns 225
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_patterns 226
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
0 test_so2 --------
0 test_so3 --------
0 test_so4 --------
1 test_so2 1
1 test_so3 12
1 test_so4 14
-------------------------------------------------------------------------
TEST> report patterns {26 29} -clocking
Clocking only:
Pattern 26 (fast_sequential-parallel_clocking)
Pattern 27 (fast_sequential-parallel_clocking)
Pattern 28 (fast_sequential-parallel_clocking)
# PLL internal clock pulse: capture_cycle=0, node=TOTO0/U2 (654) # PLL
internal clock pulse: capture_cycle=1, node=TOTO0/U2 (654) Pattern 29 (fast_
sequential-parallel_clocking)
# PLL internal clock pulse: capture_cycle=0, node=TOTO3/U2 (793) # PLL
internal clock pulse: capture_cycle=1, node=TOTO3/U2 (793)
TEST> report_patterns -all -clk_summary
See Also
write_patterns
set_patterns
Patterns Report
report_patterns 227
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_physical
Overview
This command prints a report of physical locations based on the specified options.
Syntax
report_physical
[-bridge {net1 net2}]
[–candidates <all | candidate_id>]
[-instance instance_name]
[-net net_name]
[-pin pin_pathname]
[-subnet {net_namesubnet_id}]
[-technology]
Arguments
-bridge {net1 net2}
Reports the bridgeable areas between the two specified nets. Bridgeable areas are defined
by the default layer tolerance or by the -tolerance option of the set_physical
command.
–candidates <all | candidate_id>
Reports detailed information on physical locations used for class-based diagnostics
reporting. This information can also be reported using the set_diagnosis -verbose
command. Note that this option is not supported for fault-based diagnostics reporting. For
more information on creating a class-based diagnostics report, see the "Class-Based
Diagnosis Reporting" section in the TestMAX ATPG User Guide.
-instance instance_name
Reports the cell bounding box for the specified instance and the geometries for all pins
connected to the instance.
-net net_name
Reports the geometries for the specified net and for all pins connected to the net.
-pin pin_pathname
Reports the geometries for the specified pin, the bounding box of the connected cell, and
either the geometries of the connected subnet if the fanout is greater than 1 or the
connected net if there is only one fanout.
-subnet {net_name subnet_id}
Reports only the net geometries for the specified subnet of the specified net. To use the
candidate subnets IDs with this option, you must enable the physical subnet IDs by
specifying the set_diagnosis -show physical_subnet_id command prior to the run_
diagnosis command.
-technology
Reports technology library data, such as defined metal layers.
report_physical 228
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command prints a report of physical locations based on the specified options. It reports only the physical
details previously extracted by the run_diagnosis, extract_nets, or extract_pins commands.
Otherwise, an M967 error message is issued. For more information about this command, see "Using Physical
Data for Diagnosis."
Examples
TEST-T> report_physical -subnet {I_RISC_CORE/I_ALU/U14/ZN 20}
Subnet: 20
METAL2 (796240 626030) (796440 626350)
METAL2 (797880 622400) (798080 625880)
METAL2 (797880 625620) (798080 625940)
METAL3 (796195 626090) (796485 626290)
METAL3 (796240 625680) (796440 626290)
METAL3 (796240 625680) (798080 625880)
METAL3 (797835 625680) (798125 625880)
VIA23 (796340 626190)
VIA23 (797980 625780)
TEST-T> report_physical -technology
----------------------------------------------------------------
Reporting technology library data ...
----------------------------------------------------------------
Layer: NWELL
…
Layer: METAL
Layer: VIA
Layer: METAL2
Layer: VIA2
Layer: METAL3
Layer: VIA3
Layer: METAL4
Layer: VIA4
Layer: METAL5
Layer: VIA5
Layer: METAL6
----------------------------------------------------------------
report_physical 229
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
set_physical_db
extract_nets
extract_pins
report_nets
run_diagnosis
report_physical 230
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_pi_equivalences
Overview
This command reports all primary input and bidirectional ports that have been constrained to be equivalent
with the add_pi_equivalences command.
Syntax
report_pi_equivalences
[-command_report]
Arguments
-command_report
Causes the PI equivalences to be reported in the form of add_pi_equivalences
commands that would be necessary to define the PI equivalences.
Description
This command reports all primary input and bidirectional ports that have been constrained to be equivalent
with the add_pi_equivalences command.
Examples
DRC> add_pi_equivalences NL0 NL1 NL2
DRC> add_pi_equivalences ENA_P -inv ENA_N
DRC> report_pi_equivalences
port_name equivalent pins
--------------- ----------------------------------
NL0 NL1 NL2
ENA_P ~ENA_N
See Also
PI Equivalences Report
add_pi_equivalences
remove_pi_equivalences
report_pi_equivalences 231
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_pin_data
Overview
Use this command to report the current pin data for a selected pin pathname.
Syntax
report_pin_data
pin_pathname
Arguments
pin_pathname
Specifies the pin of an instance.
Description
Use this command to report the current pin data for a selected pin pathname. A single line is reported that
contains all the characters of the pindata for the selected pin pathname.
Examples
Given the following instance:
sdr_clk_iopad
input: sdr_clk
output: net_sdram_clk
With Cell type:
pc3d01
input port PAD
output port CIN
report_pin_data 232
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_pin_name
Overview
Use this command to report the pin pathnames of all nodes in the traceback cone of a selected input of a gate
at the boundary of the library cell.
Syntax
report_pin_name
gate_idinput_pin_id
Arguments
gate_id
Specifies the gate at a library cell boundary where traceback begins.
input_pin_id
Specifies the input pin of gate_id.
Description
Use this command to report the pin pathnames of all nodes in the traceback cone of a selected input of a gate
at the boundary of the library cell. A line is reported for each node in the traced cone and contains its full
pathname and an indicator of the connection type: noninverted, inverted, or complex.
report_pin_name 233
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_po_masks
Overview
This command reports all primary outputs that have been constrained to be masked with the add_po_masks
command.
Syntax
report_po_masks
Arguments
None
Description
This command reports all primary outputs that have been constrained to be masked with the add_po_masks
command.
Examples
DRC> report_po_masks
Warning: Requested report contained no entries. (M13)
DRC> add_po_masks {D0 D1 D2 D3}
DRC> report_po_masks
output port_name
----------------
/D0
/D1
/D2
/D3
See Also
PO Masks Report
remove_po_masks
Table Column Outside Table:
report_po_masks 234
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_primitives
Overview
Use this command to report data on ATPG primitives in the model created by the run build_model
command.
Syntax
report_primitives
< id | instance_name | net_name | pin_pathname
| -ports | -pis | -pos | -pios | -type type
| -summary | -all > [-max d]
Arguments
id | instance_name | net_name | pin_pathname
Selects display of pin data for the specified object. The type of pin data is specified by a
prior set_pindata command. An object is identified by its primitive ID number, its
instance name, a net name connected to the object, or a pin pathname of a pin of the
instance. You can use a wildcard character with an instance name. However, when
TestMAX ATPG reads an image file, the object cannot be identified by its instance name.
-all
Reports all primitives. The pin data, as specified by a prior set_pindata command, is
displayed for each primitive.
-ports
Reports all external (top-level) ports; equivalent to -pis -pos -pios.
-pis
Reports all input ports (Primary Inputs).
-pos
Reports all output ports (Primary Outputs).
-pios
Reports all bidirectional ports (Primary I/O ports).
-type type
Reports all primitives of a specific classification type. The pin data, as specified by a prior
set_pindata command, is displayed for each primitive.
Priority indicator "p" on an input shows that the input (which must be the set or reset of a
DLAT or DFF) has priority over the other set or reset of the same primitive. Priority
indicator "P" on an input shows that the input (which must be the set, reset, or clock input
of a DLAT or DFF) has priority over other clocks non-set/reset) of the same primitive.
These indicators allow correlating the attributes of gate pins in the flattened model with the
attributes of module ports in the netlist data (see the report_modules command).
The recognized types include simulation primitives and ATPG functions as well as learned
behavior analysis:
report_primitives 235
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to report data on ATPG primitives in the model created by the run build_model
command.
Examples
TEST> report primitives -summary
Primitive Summary Report
-----------------------------------------------
#primitives 20201
#primary_inputs 49
#primary_outputs 41
#primary_bidis 40
#DFFs 1713
#nonscan 201
#scan 1512
#BUSs 40
#BUFs 1573
#INVs 1963
#ANDs 2384
#NANDs 5381
#ORs 3298
#NORs 972
#XORs 208
#XNORs 141
#TIE0s 55
#TIE1s 3
#MUXs 2259
#TSDs 81
report_primitives 236
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-----------------------------------------------
# by instance pathname
DRC> report_primitives reg0
reg0 (48) INV (DFFRLP)
--- I 127-reg0/r/Q
QB O 50-reg1/MX1/SDI
# by pin pathname
DRC> report_primitives /reg1/MX1/SDI
reg1/MX1 (50) AND (SCANINP_UDP_1)
SDI I 48-reg0/QB
--- I 40-
--- O 85-
# by primitive ID number
DRC> report_primitives 128
reg1/lat1 (128) DLAT (P_LAT_RS)
!SB I (TIE_1)
RB I 26-
CK I 16-
D I 85-reg1/MX1/Q
Q O 129-reg1/r/D
report_primitives 237
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
------------------------------------------------
(6) DLAT (_DLAT)
--- pP I 4-SET
!--- P I 5-RESET
--- I 0-CLK1
--- I 2-DATA1
--- I 1-CLK2
--- I 3-DATA2
--- O 7-LOUT
Total number of reported dlat gates = 1
report_primitives 238
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
63 PO COUT
See Also
Gate Type
Primitive IDs
Primitives Report
set_pindata
set_primitive_report
Understanding Pin Data
ATPG-Specific Learning Processes
Table Column Outside Table:
report_primitives 239
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_power
Overview
Use this command to report various types of power data.
Syntax
report_power
[-average]
[-capture]
[-csv filename]
[-first_pattern d]
[-last_pattern d]
[-max d]
[-module name]
[-peak]
[-percentage]
[-per_clock_domain]
[-per_cycle]
[-per_pattern]
[-shift]
Arguments
-average
Includes average power data in the power report. The default is to include booth average
and peak power. This option only works with the -per_pattern option. If this option is
issued without the -per_pattern option, then the -per_pattern option is automatically
selected.
-capture
Uses capture cycles as a basis for power reporting. By default, shift, capture, and load
cycles are reported.
-csv filename
Directs the output of the report_power command to a comma-separated file (csv). This
option does not work with the -percentage option.
-first_pattern d
Specifies the first pattern to run the analysis on. This is applied to -per_cycleand -per_
pattern options, and well as the case where neither is specified.
-last_pattern d
Specifies the last pattern to run the analysis on. This setting is applied to the -per_
cycleand -per_pattern options, or when neither option is specified.
-max d
Includes a sorted list of shift, capture and load power switching for the maximum d
patterns in the report generated from the -per_pattern option. If the -per_pattern
option is not selected, the -max option automatically selects the -per_pattern option.
report_power 240
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-module name
Specifies the module name used as a basis for calculating the power. Only the scan cells
within the specified module is considered during power calculations.
-peak
Includes peak power in the power report. The default is to include booth average and peak
power. This option only works with the -per_pattern option. If this switch is issued
without -per_pattern, then -per_pattern is automatically selected.
-percentage
Reports, as a percentage, all scannable flip-flops that change relative to all scannable flip-
flops contained within the design and recognized as a result of the run_drc command.
-per_clock_domain
Creates individual capture power reports for each clock. By default, the report_power
command creates a consolidated report for all clock domains.
-per_cycle
Reports switching information on a cycle-by-cycle basis. These cycles are arranged based
on the actual sequence that would occur while applying the actual ATPG vector. For a basic
scan vector, the power switching results for a number of shift cycles are equal to the length
of the longest scan chain, followed by a single capture cycle, and this is repeated for the
number of ATPG patterns in the pattern set.
For a fast-sequential pattern with one load and multiple capture cycles, the switching
activity of several capture cycles are reported per pattern. As previously mentioned , a
pattern set that includes both basic scan and fast-sequential patterns results in a report in
which some patterns include one capture per pattern in their -per_cycle report, while
some patterns include more than one. From the -per_cycle report, you cannot identify
which patterns are basic scan patterns and which patterns are fast-sequential patterns,
except that a pattern with more than one capture cycle can never be a basic scan pattern.
The -per_cycle switch is not supported with the multicore ATPG feature.
-per_pattern
Reports the average and peak switching results for shift, load and capture on a pattern by
pattern basis. Peak shift results are reported for each pattern by comparing the
instantaneous switching for different cycles and different load’s of the same pattern to
determine the load and shift cycle during which the maximum power switching occurs. The
average shift results are derived by calculating the average switching for all cycles and all
loads.
Peak capture results are calculated by comparing the capture power for different capture
cycles of the same pattern to determine the cycle at which the peak power switching
occurs. Average capture results are calculated by taking the average capture power of
different capture cycles for the same pattern. Since basic scan patterns include only one
capture cycle, average and peak power is always the same.
Peak load results are calculated by comparing the total power for different load cycles of
the same pattern to determine the load cycle at which the peak power switching occurs.
Average load results are calculated by taking the average load power of different load
report_power 241
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
cycles for the same pattern. Since basic scan pattern include only one load or unload cycle,
average and peak power is always the same.
-shift
Uses shift cycles as a basis for power reporting. By default, shift, capture, and load cycles
are reported.
Description
Use this command to report various types of power data.
The -per_cycle, -first, -last, and -module options of this command have no effect if the -
calculate_power option of the set_atpg command is used. If you want to generate switching
information on a cycle-by-cycle basis, use the following commands:
set_atpg –nocalculate_power
report_power –per_pattern –shift –capture –per_cycle
For related details, see "Power Aware ATPG " in the TestMAX ATPG User Guide.
Examples
See Also
Patterns Report
write_patterns
set_patterns
report_power 242
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_rules
Overview
Use this command to report rule data.
Syntax
report_rules
[rule_id | rule_type | -all]
[-fail]
Arguments
rule_id
Reports all rules of the selected rule ID. You can use -fails to display only failing rules for
this rule ID.
rule_type
Reports all rules of the selected rule type. You can use -fails to display only failing rules
for this rule type.
-all
Reports all rules. This is the default choice. You can use -fails to display only the failing
rules.
-fail
Reports only the rules that have violations.
Description
Use this command to report rule data.
Examples
TEST> report_rules -fail
rule severity #fails description
---- -------- ------ ---------------------------------
B6 warning 2 undriven module inout pin
B7 warning 178 undriven module output pin
B10 warning 32 unconnected module internal net
B13 warning 2 undriven instance input pin
S23 warning 64 unobservable potential TLA
S29 warning 1 invalid dependent slave operation
C3 warning 32 no latch transparency when clocks off
C6 warning 1 TE port captured data affected by new capture
Z1 warning 289 bus contention ability check
Z2 warning 289 Z-state ability check
Z4 warning 360 bus contention in test procedure
report_rules 243
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TEST> report_rules T
rule severity #fails description
---- -------- ------ ---------------------------------
T1 error 0 maximum number of periods exceeded
T2 error 0 minimum time for period not satisfied
T3 error 0 maximum time for period exceeded
T4 error 0 period timing fails resolution check
T5 error 1 minimum time for shift period not satisfied
T6 error 0 maximum number of pins exceeded
T7 error 0 maximum number of waveform shapes exceeded
T8 error 0 maximum number of time sets exceeded
T9 error 0 unsupported strobe type
See Also
Rules Report
set_rules
report_violations
report_rules 244
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_ability
Overview
Use this command to report nonscan cells that have been selected to behave as scan cells using the set_
scan_ability command.
Syntax
report_scan_ability
[-max d]
Arguments
-max d
Specifies the maximum number of virtual scan cells allowed to be reported. By default,
there is no limit.
Description
Use this command to report nonscan cells that have been selected to behave as scan cells using the set_
scan_ability command. You can use this report to predict the effects of nonscan cells being converted to
scan cells.
Examples
DRC> report_scan_ability
gate_id type instance_name
------- ---- -------------------------
There were 0 DLATs/DFFs with scan ability set to ON.
DRC> set_scan_ability on core/host/d_l2odd_reg
DRC> set_scan_ability on core/host/mrd_st_reg_1
DRC> report_scan_ability
gate_id type instance_name
------- ---- -------------------------
97299 DFF host/d_l2odd_reg
97302 DFF host/mrd_st_reg_1
See Also
Scan Ability Report
set_scan_ability
report_nonscan_cells
report_scan_cells
Table Column Outside Table:
report_scan_ability 245
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_cells
Overview
This command reports scan cell information for selected scan cells.
Syntax
report_scan_cells
< { chain_names [position] } | -shadows | -unstable_set_resets | -all >
[-clocks]
[-ignore_constraints]
[-master_only]
[-max d]
[-physical]
[-pins]
[-reverse_order]
[-shift_clocks]
[-verbose]
Arguments
chain_names [position]
Reports the scan cells for the specified scan chain(s). If you do not specify the position
within the scan chain, all scan cells of the scan chain are reported. If you specify the
position, only the scan cell in that position of the scan chain is reported. Scan cell positions
are numbered sequentially, with 0 identifying the scan cell closest to the scan output pin.
Note that if you specify the scan cell position, you must enclose both the chain name and
the scan cell position within curly braces, as shown in the following example:
TEST-T> report_scan_cells { chain0 0 }
-shadows
Reports only the shadow gates of scan cells.
-unstable_set_resets
Reports scan cells that have unstable set/reset controls.
-all
Reports all scan cells.
-clocks
Reports the capture clocks associated with each scan cell.
-ignore_constraints
Modifies the -verbose report format so that all clock ports that fan into the scan cell are
listed regardless of constraints. This command is valid only if the -verbose option is also
specified.
-master_only
report_scan_cells 246
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The report normally includes the master cell as well as any associated slave, dependent
slave, shadow, or observable shadow cell types. The -master_only option causes only the
master cells to be reported.
-max d
Specifies the maximum number of scan cells to report. By default, there is no limit.
-physical
Includes physical locations for the reported scan cells. This option requires that physical
locations were previously extracted using the extract_pins command.
-pins
Specifies that the input and output pin information of each scan cell are also to be reported,
including the pin pathname and the inversion information relative to the scan chain input
and output.
-reverse_order
By default, the report stars with the scan cell closest to the scan output port (cell 0). The -
reverse_orderoption causes the report to start with the scan cell closest to the scan input
port.
-shift_clocks
Reports the shift clock associated with each scan cell. Constraints are taken in account
when tracing back the clock ports of each scan cell. Note that this option is incompatible
with the -verbose or -ignore_constraints options.
-verbose
Modifies the report format to include the following additional information:
1. Leading edge (LE) vs. trailing edge (TE) clocking.
2. The capture clock polarity of the cell relative to the top-level clock port, where "+" indicates
a 0-to-1 transition (at the top-level port) causes capture, "-" indicates a 1-to-0 transition
causes capture, and "?" indicates a scan TLA cell for which polarity is not relevant.
3. A list of capture clocks connected to the scan cell state element. Constraints are taken into
account when tracing back the clock ports of each scan cell.
Note that the -verbose option is incompatible with the -shift_clocks option.
Description
This command reports scan cell information for selected scan cells. Only sequential devices that are
associated with scan cells are reported. Other sequential devices found on the scan data path that do not have
a value derived from a scan cell (that is, flush latches, certain lockup latches, certain remodeled devices) will
not appear in this report. For a list of all devices in the physical scan path use the report_scan_paths
command.
The standard report lists the name of the scan chain, the position within the scan chain of the cell, the type of
behavior identified for the cell (master, slave, shadow, and so on), the inversion information between the scan
chain input and the cell and from the cell to the scan chain output (I = inversion, N = no inversion), the primitive
report_scan_cells 247
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
ID of the cell, and the instance name of the cell. For more information, see Understanding the Scan Cells
Report.
The bit position is counted relative to the scan output port for the scan chain. It represents the number of shifts
required for the scan cell to be visible at the scan chain output. The scan cell closest to the scan output is bit
position 0, the next one is 1, and so on.
Examples
TEST-T> report_scan_cells c1
chain cell type inv gate# instance_name (type)
------- ---- ------- --- ------ -------------------------------
c1 0 MASTER IN 147 reg4/r (N_LATCH)
c1 1 MASTER IN 145 reg3/r (N_LATCH)
DSLAVE IN 146 reg4/lat1 (P_LATCH)
c1 2 MASTER NI 143 reg2/r (N_LATCH)
SCANTLA IN 144 reg3/lat1 (P_LATCH)
report_scan_cells 248
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Understanding the Scan Cells Report
extract_pins
report_nonscan_cells
report_scan_chains
Scan Cell Types
report_scan_cells 249
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_chains
Overview
Use this command to report scan chain information.
Syntax
report_scan_chains
[-command_report]
[-shift_clocks]
[-verbose]
[-xchains]
Arguments
-command_report
Causes the scan chains to be reported in the form of add_scan_chains commands that
would be necessary to define these same scan chains.
-shift_clocks
Reports the shift clocks for each scan chain while taking constraints into account.
-verbose
Selects reporting additional information about each scan chain such as all the clocks
connected to state elements in the scan chain (these clocks can function as shift, capture,
set, reset), the number of leading-edge (LE), trailing-edge (TE), or level-sensitive (LS)
devices. Also reported is the number of dependent slaves, shadows, and nonscan
transparent latches found in the scan chain, if any.
-xchains
Reports only the scan chains designated as X-chains.
Description
Use this command to report scan chain information. The standard report for a chain includes its name, length,
input port, and output port. The verbose report includes associated clocks and a breakdown of leading-edge
(LE), trailing-edge (TE), and level-sensitive (LS) master cells.
Examples
TEST> report_scan_chains
chain group length input_port output_port
------- ----- ------ --------------- ----------------
c1 sg0 230 a_scanin1 a_scanout1
c2 sg0 225 a_scanin2 a_scanout2
c3 sg0 230 a_scanin3 a_scanout3
c4 sg0 224 a_scanin4 a_scanout4
report_scan_chains 250
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Understanding the Scan Chains Report
Understanding Compressor Connections in the Output from report_scan_chains
report_scan_cells
report_scan_path
Scan Cell Types
report_scan_chains 251
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_enables
Overview
Use this command to report scan enable attributes previously defined with the add_scan_enables
command.
Syntax
report_scan_enables
Arguments
None
Description
Use this command to report scan enable attributes previously defined with the add_scan_enables
command.
Examples
TEST> report_scan_enables
value port
----- -----------------------------
1 SCAN_EN (6)
Z bidi[0] (3210)
Z bidi[1] (3211)
Z bidi[2] (3212)
See Also
add_scan_chains
report_scan_chains
report_scan_cells
report_scan_path
Table Column Outside Table:
report_scan_enables 252
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_scan_path
Overview
This command reports the gates in a segment of a scan chain path.
Syntax
report_scan_path
chain_name <sco | cell_position> <sci | cell_position>
[-physical]
[-reverse]
[-verbose]
Arguments
chain_name
Specifies the name of the scan chain selected for reporting the scan path segment.
sco | cell_position
Specifies the end of the scan path segment. If you select sco, the trace begins at the scan
chain output port. If you select a cell_position, the trace is bounded by the master of
that scan cell. When there are multiple scan chains that share the same output port,
specify the position as 0 rather than sco for best results.
sci | cell_position
Specifies the beginning of the scan path segment. If you select sci, the trace continues to
the scan chain input port. If you select a cell_position, the trace is bounded by the
master of that scan cell. If you specify both ends of the segment to be reported, the second
cell_position number must be greater than the first.
-physical
Includes physical locations for the reported gates. This option requires that physical
locations for cells on the scan paths were previously extracted using the extract_pins
command.
-reverse
Reports the gates in reverse order.
-verbose
Provides a one line report of each gate in the selected scan chain path.
Description
This command reports the gates in a segment of a scan chain path.
Note the following usage for specifying multiple arguments in Tcl mode:
TEST-T> report_scan_path c0 {SC0 SCI}
report_scan_path 253
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
report_scan_path 254
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
--- O 136-
reg2 (94) INV (DFFRLP)
--- I 143-reg2/r/Q
QB O 96-reg3/MX1/SDI
reg2/r (143) DLAT (N_LATCH)
!SB I (TIE_1)
RB I 29-
CK I 12-
D I 142-reg2/lat1/Q
Q O 95-
94-
scan_behavior: MASTER(LS/-) chain=c1 cell_id=2 invert_data=NI obs=noproc
reg2/lat1 (142) DLAT (P_LATCH)
!SB I (/TIE_1)
RB I 28-
CK I 17-
D I 115-reg2/MX1/Q
Q O 143-reg2/r/D
non_scan_behavior: TLA(hot_clock_tla) port_data=0-0C-1C single_port_id=2
reg2/MX1 (115) OR (SCANINP_UDP_1)
--- I 49-
--- I 114-
Q O 142-reg2/lat1/D
reg2/MX1 (49) AND (SCANINP_UDP_1)
SDI I 2-SDI2
--- I 45-
--- O 115-
SDI2 (2) PI (_PI)
SDI2 O 49-reg2/MX1/SDI
PI usage: scanin(c1)
See Also
Understanding the report_scan_path Output
report_scan_cells
report_scan_chains
extract_pins
report_scan_path 255
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_sdc
Overview
This command, which is valid only in Tcl mode, reports timing exceptions read in from a SDC (Synopsys
Design Constraints) file.
Syntax
report_sdc
[-clocks]
[-to_cells]
[-groups]
[-case_analysis]
[-false_paths]
[-multicycle_paths]
[-case_paths]
[-disable_paths]
[-all_paths]
Arguments
-clocks
Reports SDC clocks specified by the create_clock and create_generated_clock SDC
commands. This does not include clocks specified only by regular TestMAX ATPG
commands.
-to_cells
Reports SDC clocks and the registers driven by these clocks. This report is useful for
debugging clock-to-clock exceptions, but can be very long.
-groups
Reports exceptions specified by the set_clock_groups SDC command.
-case_analysis
Reports constant signals specified by the set_case_analysis SDC command.
-false_paths
Reports exceptions specified by the set_false_path SDC command.
-multicycle_paths
Reports exceptions specified by the set_multicycle_path SDC command.
-case_paths
Reports exceptions specified by the set_case_analysis SDC command (with set_sdc -
case_paths).
-disable_paths
Reports exceptions specified by the set_disable_timing SDC command.
-all_paths
report_sdc 256
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command, which is valid only in Tcl mode, reports timing exceptions read in from a SDC (Synopsys
Design Constraints) file. It is used only in TEST mode, and must be used in conjunction with the read_sdc
command, which reads in an SDC file.
When exception paths are specified for specific pins of sequential cell instances, they can be modified to fit into
the TestMAX ATPG database. In this case, they are reported as they exist in the TestMAX ATPG database —
not as they were specified in the SDC file. The most common change is that -to exceptions for input pins are
converted to -through exceptions for the same input pins. Exceptions specified as -through output pins
can be converted to -from exceptions.
For more information on specifying timing exceptions, see the "Specifying Setup Timing Exceptions From an
SDC File" section in the TestMAX ATPG User Guide. For more information on the SDC file and the valid
commands accepted by TestMAX ATPG, see How TestMAX ATPG Interprets SDC File Commands.
See Also
How TestMAX ATPG Processes Setup and Hold Violations
read_sdc
set_sdc
report_sdc 257
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_serializers
Overview
This command generates a report containing data for the specified serializers.
Syntax
report_serializers
<<serializer_name> | -load | -unload |-all> -chain_segments
[-verbose]
Arguments
<serializer_name>
The name of the serializer for which you want to generate a report.
-load
Reports all load serializers.
-unload
Reports all unload serializers.
-all
Reports all serializers.
-chain_segments
Reports the scanin port and length for each load serializer segment and the scanout port
and length for each unload serializer segment.
-verbose
Reports the data for the specified serializers in verbose mode.
Description
This command generates a report containing data for the specified serializers.
Examples
TEST-T> report_serializers -load
------------------------------------------------ ------ -------
name type length
------------------------------------------------ ------ -------
U0/U_deserializer_my_serial load 8
------ ----- --------------------------------------------------------------
---- ------
Scanin Index Parallel Outputs
invert
------ ----- --------------------------------------------------------------
report_serializers 258
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
---- ------
SI_0 0 U0/U_decompressor_my_serial/\serial_update_reg[0] no
SI_0 1 U0/U_decompressor_my_serial/\serial_update_reg[1] no
SI_0 2 U0/U_decompressor_my_serial/\serial_update_reg[2] no
SI_0 3 U0/U_decompressor_my_serial/\serial_update_reg[3] no
SI_0 4 U0/U_decompressor_my_serial/\serial_update_reg[4] no
SI_0 5 U0/U_decompressor_my_serial/\serial_update_reg[5]
no
SI_0 6 U0/U_decompressormy_serial/\serial_update_reg[6] no
SI_0 7 U0/U_decompressor_my_serial/\serial_update_reg[7] no
TEST-T> report_serializers -unload
------------------------------------------------ ------ -------
name type length
------------------------------------------------ ------ -------
U0/U_deserializer_my_serial load 8
------ ----- --------------------------------------------------------------
---- ------
Scanin Index Parallel Outputs
invert
------ ----- --------------------------------------------------------------
---- ------
SO_0 0 U0/U_compressor_my_serial/U8 no
SO_0 1 U0/U_compressor_my_serial/U102 no
SO_0 2 U0/U_compressor_my_serial/U197 no
SO_0 3 U0/U_compressor_my_serial/U301 no
SO_0 4 U0/U_compressor_my_serial/U413 no
SO_0 5 U0/U_compressor_my_serial/U414 no
SO_0 6 U0/U_compressor_my_serial/U415 no
TEST-T> report_serializers -chain_segments
---------------------------------- ------
serializer input port length
---------------------------------- ------
SI_0 8
---------------------------------- ------
serializer output port length
---------------------------------- ------
SO_0
SO_0 7 U0/U_compressor_my_serial/U417
report_serializers 259
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_settings
Overview
This command reports the current settings defined by the set commands, such as the set_contention,
set_atpg, and set_build commands. For a complete list of the set commands in TestMAX ATPG, see
Set Commands.
Note: The bidi_map options of the wgl category are reported only when the mapping causes a change from its
default setting. For example, the set_wgl [list z0 z0] command specifies that there is no BIDI
mapping. In this case, the output of the report_settings wgl command does not report the BIDI
mapping.
Examples
BUILD> report_settings contention
contention = multiple_on=yes, atpg=yes, bidi=yes, bus=yes,
dff_dlat=no, float=no, preclock=yes,
post_capture_clock_check=yes, ram=no, retain_bidi_
direction=no,
severity=warning, verbose=no, wire=no,
capture_constraint_check=no;
BUILD> report_settings atpg
atpg = allow_clockon_measures=no, abort_limit=10, analyze_
untestable_faults=no, capture_cycles=0,
checkpoint=none, save_patterns=none,
coverage=100.00, decision=norandom, di_analysis=yes,
full_seq_abort_limit=10, full_seq_atpg=no, full_seq_
time=(10.0,0.0),
full_seq_merge=off, merge=off 5000, basic_min_
detects_per_pattern=(0,40),
fast_min_detects_per_pattern=(0,40), full_min_
detects_per_pattern=(0,40),
lete_fastseq=no, min_ateclock_cycles=none,
new_capture=no, patterns=0, prevention=norandom,
reset_bidis=yes,
store=yes, resim_atpg_patterns=off,
summary=yes, time=(0.0,0.0), verbose=no,
post_capture_contention_prevention=no,
fill=random, adjacent_fill_range=0,
optimize_bridge_strengths=no, min_patterns_
threshold=0,
power_budget=0,
domain={},
partition={},
power_effort=low,
seq_comp_optimizations=yes, misr_measure=once_per_
pattern, seq_comp_chain_test=no,
seq_comp_shift_power=100, xtol_enable_equivalence=no,
shift_power_budget=none, shift_power_effort=none,
chain_test=0011, xtol_chain_diagnosis=OFF, single_
load_per_pattern=no,
report_settings 260
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
BUILD> report_settings
atpg = allow_clockon_measures=no, abort_limit=10, analyze_
untestable_faults=no, capture_cycles=0,
checkpoint=none, save_patterns=none,
coverage=100.00, decision=norandom, di_analysis=yes,
full_seq_abort_limit=10, full_seq_atpg=no, full_seq_
time=(10.0,0.0),
full_seq_merge=off, merge=off 5000, basic_min_
detects_per_pattern=(0,40),
fast_min_detects_per_pattern=(0,40), full_min_
detects_per_pattern=(0,40),
lete_fastseq=no, min_ateclock_cycles=none,
new_capture=no, patterns=0, prevention=norandom,
reset_bidis=yes,
store=yes, resim_atpg_patterns=off,
summary=yes, time=(0.0,0.0), verbose=no,
post_capture_contention_prevention=no,
fill=random, adjacent_fill_range=0,
optimize_bridge_strengths=no, min_patterns_
threshold=0,
power_budget=0,
domain={},
partition={},
power_effort=low,
seq_comp_optimizations=yes, misr_measure=once_per_
pattern, seq_comp_chain_test=no,
seq_comp_shift_power=100, xtol_enable_equivalence=no,
shift_power_budget=none, shift_power_effort=none,
chain_test=0011, xtol_chain_diagnosis=OFF, single_
load_per_pattern=no,
quiet_chain_test=no, load_mode=0, load_value=0,
fast_path_delay=yes,
timing_exceptions_au_analysis=no, calculate_power=no,
parallel_strobe_data_file=none,
replace_parallel_strobe_data_file=0, num_processes=0;
report_settings 261
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_settings 262
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
slow_equivalence=no, two_clock_transition_
optimization=yes, extra_force=yes
data=none, disturb_clock_grouping=yes, transition_
clocking_checks=no,
slackdata_for_atpg=no, slackdata_for_faultsim=no
infinite_slack_checks=no, negative_slack_checks=no
max_delta_per_fault=0, max_tmgn=100%,
sdql_exponential_function=yes,
allow_functional_sensitization=no, allow_nonrobust_
tests=yes, multicycle_length=0;
drc = test_proc_file=none,
allow_unstable_set_resets=no, bidi_control_pin=no,
clock=dynamic,
controller_clock=no, disturb_clock_grouping=yes,
disturb_limits=1000 20,
initialize_dff_dlat=X, multi_captures_per_load=yes,
oscillation=500,
remove_false_clocks=no, chain_trace=none, extract_
cascaded_clock_gating=no,
shadows=on, limit_shadow=none,
skew=1, TLAs=yes, trace=off,
store_setup=no, store_stability_patterns=no, store_
unload_mode_data=no,
store_setup_cycles=no,
unstable_lsrams=no, compressor_debug_data=no,
dslave_remodel=yes, reclassify_invalid_dslaves=yes,
constraints=yes, z_check_with_all_constraints=no,
use_cell_constraints=yes, clockdrc_use_cell_
constraints=no,
clock_constraints=none, internal_clock_
timing=default,
seq_comp_accumulator_mode=no,
seq_comp_extend_test_setup=no,
set_unload_mode_ports_to_x=yes,
seq_comp_jtag_lbist_mode=off,
multiple_pipes_per_port=no,
report_settings 263
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
dftmax_shift_cycles=0,
load_nonscan_cells=no,
store_full_cycles=NO_PROC,
analyze_drc_violation=off
blockage_aware_clock_grouping=no,
regular_scan_shift_cycles=0,
seq_comp_power_mode=no -all,
dynamic_clock_equivalencing=off, scan_shift_
clocks=none,
fast_multifrequency_capture=spf, multiframe_paths=no,
observe_procedure=any, clock_gating_init_cycles_
integer=0,
pll_launch_on_shift=no, num_pll_cycles=0,
check_multiple_shift_clocks=no,
max_pll_simulation_passes=100, pll_simulate_test_
setup=no,
pipeline=no, pipeline_in_compressor=yes,
report_x_sink=no, xchain_threshold_probability=0,
freerunning_expansion=yes,
allow_clocks_as_scan=no;
check_user_serializer_bits=yes;
lockup_after_compressor=no;
independent_sync_clocks=no;
distributed = shell_timeout=30, slave_setup_
timeout=100, print_stats_timeout=30,
script=none, work_dir=none,
verbose=-noverbose,
shell=rsh;
report_settings 264
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
mux=combinational_udp,enable_portfaults=yes,
escape=cond,
max_errors=10, v2k=no, work_dir=".", pin_assign=no,
redefined_module=last, scalar_net=no,
sequential_modeling=no, suppress_faults=yes,
xmodeling=yes;
patterns = source=internal,
split_patterns=none,
histogram_summary=no, load_summary=no, verilog_last_
scan=yes,
netlist_independent=no, measure_forced_bidis=no,
verbose=no;
pindata = none;
-shift_character=S, -constrain_character=X;
primitive_report= interval=0, max_fanout=2, time=all,
verbose=no;
random_patterns = clock=none, length=1024, observe_
type=master;
report_settings 265
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
scan_map=dash, scan_data_format=pre_measured,
bidi_map=(Z0,-0)(Z1,-1)(0X,0-)(1X,1-)(XX,X-)(ZX,-X)(-
X,--)(ZZ,-Z)(Z-,--)
workspace_sizes = atpg_gates=1024, connectors=20000,
decisions=10000,
DRC_buffer_size=1000, line=50000, string=2048,
command_line=50000, command_words=10000;
TEST-T> report_settings match_names
match_names = name_manipulation_flag=ON.
Prefix 'risc1' to be substituted by 'risc2'.
See Also
Settings Report
report_settings 266
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_slow_bidis
Overview
This command is used to report all BUS primitives modified with the add_slow_bidis command.
Syntax
report_slow_bidis
Arguments
None
Description
This command is used to report all BUS primitives modified with the add_slow_bidis command.
See Also
add_slow_bidis
remove_slow_bidis
report_slow_bidis 267
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_slow_cells
Overview
This command is used to report scan DFF or DLAT cells modified with the add_slow_cells command.
Syntax
report_slow_cells
Arguments
None
Description
This command is used to report scan DFF or DLAT cells modified with the add_slow_cells command.
See Also
add_slow_cells
remove_slow_cells
Table Column Outside Table:
report_slow_cells 268
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_summaries
Overview
Use this command to report any combination of the primitive, fault, pattern, library cell, memory, optimization,
sequential depth, or CPU usage summaries.
Syntax
report_summaries
[primitives] [faults] [patterns]
[library_cells] [memory_usage] [optimizations]
[sequential_depths] [cpu_usage] [-launch launch_clock] [-capture capture_
clock] [-exclusive] [-shared] [-inter_clock_domain] [-intra_clock_domain]
[-per_clock_domain]
Arguments
primitives
Reports the ATPG primitive summary.
faults
Reports the fault summary. The display of collapsed versus uncollapsed fault categories or
normal versus verbose fault class detail is controlled by use of the set_faults command.
patterns
Reports the pattern count.
library_cells
Reports the library cells. A report includes the name of the library cell and the number
which have been instantiated in the flattened design. Note: This count can differ slightly
from an ASIC vendor's report of the same data due to circuit optimization done for ATPG
purposes which can result in the elimination of certain internal gates.
memory_usage
Reports total RAM usage by the process and well as the RAM used by the data space
patterns + design of the process. Note: This report is available only on UNIX platforms.
optimizations
Reports the gate optimization and removal performed during the run build process.
sequential_depths
Reports the maximum Fast-Sequential depth for controlling, observing, and detection, and
a representative gate ID for each.
cpu_usage
Reports the cumulative CPU usage since starting the tool for selected operations such as
reading netlists, performing model builds, generating ATPG patterns, compressing
patterns, and so on.
-launch launch_clock
report_summaries 269
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
When specified with the faults option, the -launch option specifies the launch clock of
the faults to be reported on. You can use this switch independently, or in conjunction with
the -capture switch. This switch also accepts the keywords PI, NO_CLOCK, and MULTIPLE
in either all upper or all lowercase, to report on faults that are launched by PI/PIO, no clock
domains, or multiple clock domains, respectively. For a complete description of how
TestMAX ATPG distinguishes faults captured by a clock and launched by a clock, see "Using
Clock Domain-Based Faults."
-capture capture_clock
When specified with the faults option, the -capture option specifies the capture clock of
the faults to be reported on. This switch can be used independently or in conjunction with
the -launch switch. This switch also accepts the keywords PO, NO_CLOCK, and MULTIPLE
in either all upper or all lowercase, to report on faults that are observed by PO/PIO, no
clock domains, or multiple clock domains, respectively. For a complete description of how
TestMAX ATPG distinguishes faults captured by a clock and launched by a clock, see "Using
Clock Domain-Based Faults."
-exclusive
This option is used for reporting clock domain-based faults. When specified with the
faults option, the -exclusive option excludes the multiple launch and capture section
from the report. For further details, please see Reporting Clock Domain-Based Faults.
-shared
When specified with the faults option, the -shared option reports only the section
relating to multiple launch and capture clocks. For further details, please see Reporting
Clock Domain-Based Faults.
-inter_clock_domain
When specified with the faults option, the -inter_clock_domain option reports on only
the exclusive faults that are launched and captured by different clock domains. For further
details, please see Reporting Clock Domain-Based Faults.
-intra_clock_domain
When specified with the faults option, the -intra_clock_domain option reports on only
the exclusive faults that are launched and captured by the same clock domains. For further
details, please see Reporting Clock Domain-Based Faults.
-per_clock_domain
This option reports all specified faults with extra information for their launch and capture
clocks. All clocks are reported, even those classified as "shared" or "multiple." For further
details, see "Using Clock Domain-Based Faults."
Description
Use this command to report any combination of the primitive, fault, pattern, library cell, memory, optimization,
sequential depth, or CPU usage summaries. With no arguments, the default is to report the current fault
summary and the current pattern summary.
report_summaries 270
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
TEST> set_faults -fault_coverage
TEST> report_summaries faults
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------ ---- ---------
Detected DT 144501
Possibly detected PT 4224
Undetectable UD 1634
ATPG untestable AU 9335
Not detected ND 6811
-----------------------------------------------
total faults 166505
test coverage 91.53%
fault coverage 86.78%
-----------------------------------------------
report_summaries 271
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-----------------------------------------------
total faults 139418
test coverage 20.95%
-----------------------------------------------
Pattern Summary Report
-----------------------------------------------
#internal patterns 25
#basic_scan patterns 25
-----------------------------------------------
report_summaries 272
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
no2p1 4593
no7p1 4
no8p1 13
oai31p1 82
or2p8 16
or7p2 1
or8p1 53
sfdrstp1 134
-----------------------------------------------
report_summaries 273
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_summaries 274
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
# Not detected ND 3
# ---------------------------------------
# total faults 650
# test coverage 96.72%
# ---------------------------------------
(Report continues for each clock domain.)
See Also
Coverage Calculations
Fault Classes
report_faults
report_primitives
report_patterns
set_faults
Understanding Flattening Optimization
Understanding Summaries Report
report_summaries 275
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_timing
Overview
This command generates a report of the pin slack data used in small delay defect testing in TestMAX ATPG.
Syntax
report_timing
< instance_name | primitive_id | -all >
[-max number]
Arguments
instance_name
Specifies an instance name used for reporting pin slack data. You can use a wildcard
character with the instance name (see Examples).
primitive_id
Specifies the primitive ID used for reporting pin slack data.
-all
Reports pin slacks for all gates.
-max number
Specifies the maximum number of gates reported when using a wildcard character with an
instance name. To report a specific number out of all instances, use the report_timing *
-max number command.
Description
This command generates a report of the pin slack data used in small delay defect testing in TestMAX ATPG.
Note that slack data is not reported for pins without names.
For complete information on using pin slack data, see Small Delay Defect Testing.
In the following set of examples, the first field in the generated reports is the pin pathname of the node on
which the slack is applied. The second field is the rising transition slack. The third field is the falling transition
slack. Also note that inf is printed to indicate the infinite slack.
Examples
report_timing 276
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
read_timing
report_timing 277
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_toggle_weights
Overview
This command prints a report of all non-default toggle weights applied using the set_toggle_weights
command.
Syntax
report_toggle_weights
Arguments
This command has no arguments.
Description
This command prints a report of all non-default toggle weights applied using the set_toggle_
weights.htm command.
Examples
See Also
set_toggle_weights
report_toggle_weights 278
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_version
Overview
This command reports the current version of TestMAX ATPG or the virtual address space in which TestMAX
ATPG is executing.
Syntax
report_version
[-full | -short | -address]
[-banner]
[-verbose]
Arguments
-full
Generates the full version report. This consists of the short version string, the date, and
the time of day stamp of the currently running version.
-short
Generates the short version report. This consists of a letter code and the date string of the
form YYMMDD.
-address
Reports whether the executable is using 32-bit or 64-bt virtual address space. A 32-bit
executable can use at most 2.1 to 3.8 GB of virtual memory, depending on the platform.
So, your design plus libraries plus patterns must all fit in this range of memory. A 64-bit
executable does not have this limit and is typically limited by the size of physical RAM plus
swap space of the workstation on which it is running.
-banner
Generates the product name and the full version report. This consists of the product name
(TestMAX ATPG), short version string, the date, and the time of day stamp of the currently
running version.
-verbose
Generates the product name and the full version report (same as the -banner option),
followed by the date version for subsystem tasks.
Description
This command reports the current version of TestMAX ATPG or the virtual address space in which TestMAX
ATPG is executing. With no arguments, the main version string is displayed.
Examples
BUILD-T> report_version
report_version 279
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
H-2013.03-SP5-CS1-tcl
BUILD-T> report_version -full
H-2013.03-SP5-CS1-i131004_180753-tcl
BUILD-T> report_version -short
i131004-tcl
BUILD-T> report_version -address
32bit executable
BUILD-T> report_version -banner
TestMAX ATPG (TM) H-2013.03-SP5-CS1-i131004_180753 –tcl
BUILD-T> report_version -release
Standard release code
BUILD-T> report_version -verbose
TestMAX ATPG (TM) H-2013.03-SP5-CS1-i131004_180753
util020306 edif102400 udp030603 otdd111798 veri091708 net031604 flat121611
stil032009 syn121400 vhdl120203 wgl100308 api101507 vcde_102602
tpapi040700 lbist111207-tcl
See Also
Version Report
report_version 280
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_violations
Overview
Use this command to report rule violation data.
Syntax
report_violations
<violation_id | rule_id | rule_type | -all>
[-instance <name | id>] [-max d]
Arguments
violation_id
Reports only the rule violation with the selected violation ID.
rule_id
Reports all rule violations of the selected rule ID.
rule_type
Reports all rule violations of the selected rule type.
-all
Reports all rule violations.
-instance <name | id>
This option reports violations on a given instance. The instance can be specified with a
name or a TestMAX ATPG primitive id. The name can also contain a wildcard character “*”.
This option can be combined with other options to filter out certain type of violations. For
example, report violations S1 -instance scan_cell* reports all S1 violations on
instances with names that start with “scan_cell”.
-max d
Specifies the maximum number of violations allowed to be reported. By default, there is no
limit.
Description
Use this command to report rule violation data.
Examples
TEST> report_rules -fail
rule severity #fails description
---- -------- ------ ---------------------------------
C17 warning 3 clock connected to PO
C19 warning 1 clock connected to non-contention-free BUS
V7 warning 1 unsupported construct
Z4 warning 3 bus contention in test procedure
report_violations 281
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Violations Report
analyze_violation
report_rules
set_rules
report_violations 282
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
report_wires
Overview
Use this command to report data associated with wire gates.
Syntax
report_wires
[id | -summary | -all ]
[-contention <fail | pass | abort>] [-max d]
[-verbose]
Arguments
id
Displays wire data for the selected primitive ID. An error is reported if the object requested
is not a wire gate.
-summary
Gives a summary of all wire gates.
-all
Displays wire data for all wire gates.
-contention <fails | pass | abort>
Reports all wire gates of the selected contention category.
-max d
Specifies the maximum number of wire gates allowed to be reported. By default, there is
no limit.
-verbose
Displays verbose data for each reported wire gate.
Description
Use this command to report data associated with wire gates.
Examples
TEST> report_wires -contention pass
contention zstate #drivers
gate_id status/capture status strong/weak behavior_data
------- -------------- ------ ----------- --------------------
79 pass ... ... 4 0 clock
206 pass ... ... 5 0
report_wires 283
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Wires Report
Wire Gate
report_buses
Primitive ID
report_wires 284
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Run Commands
This section describes the following commands:
l run_atpg
l run_build_model
l run_diagnosis
l run_drc
l run_fault_sim
l run_justification
l run_observe_analysis
l run_simulation
l run_testpoint_analysis
report_wires 285
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_atpg
Overview
Use this command to generate ATPG patterns for current set of faults using the pattern source set by the
set_patterns command.
Syntax
run_atpg
[-auto_compression]
[basic_scan_only | fast_sequential_only | full_sequential_only]
[-distributed]
[-jtag_lbist { seed_values pattern_count capture_cycles }]
[-ndetects n]
[-nodisturb_clock_grouping]
[-observe_file file_name]
[-only_chain_diagnosis]
[-only_chain_test]
[-optimize_patterns]
[-random]
[-rerun_for_timing_exceptions]
[-resolve_differences]
Arguments
-auto_compression
Selects an algorithm that automatically produces compact patterns and high test coverage
using minimal CPU time. This option also enables global testability analysis, including
analysis for two-clock transition ATPG (specified by the set_delay -two_clock_
transition_optimization command).
See "Using Automatic Mode to Generate Optimized Patterns" for more information. You
should always use this option for both multicore ATPG and distributed ATPG, and all types
of fault models and all design sizes.
Note the following:
l When using DFTMAX Ultra with the -auto_compression option, the log file includes two sets of pattern summary
reports. You should refer only to the second set of summary reports.
l This option is ignored by the TestMAX ATPG multithreading engine. The only effect of this option is to add faults if the
fault list if empty. For more information, see TestMAX ATPG Multithreading Command Option Support.
basic_scan_only
Performs only Basic-Scan pattern generation. Basic-Scan must be specified to take
advantage of the default two-clock transition ATPG when running distributed ATPG for
system clock transition. This option is silently ignored by TestMAX multithreading. For
more information, see TestMAX ATPG Multithreading Command Option Support.
fast_sequential_only
Performs only Fast-Sequential pattern generation. A -capture_cycles > 1 should have
been previously selected with the set_atpg command. If this is not the case, then a
run_atpg 286
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
setting of 4 is applied by default and this setting persists for subsequent use of the run_
atpg command.
full_sequential_only
Causes only Full-Sequential pattern generation to be performed.
The Full-Sequential algorithm should have been previously enabled with the -full_seq_
atpg option of the set_atpg command. If this is not the case, then this option is enabled
and persists for subsequent use of the run_atpg command. This option switches to non-
threaded processing. For more information, see Multithreading Limitations.
-distributed
Runs ATPG in the distributed processing mode. Running distributed ATPG can greatly
reduce your turnaround time for pattern generation. Use the add_distributed_
processors command to identify the distributed processors. Note that this option cannot
be used in conjunction with the -optimize_patterns option. This option switches to non-
threaded processing. For more information, see TestMAX ATPG Multithreading Command
Option Support.
-jtag_lbist { seed_values pattern_count capture_cycles }
This option computes the signature values for LogicBIST self-test. The values specified by
this option are: number of seed values (always 1), pattern count, and number of capture
cycles (usually 1). The maximum pattern count value is (2^pattern_count_width)-2, which
allows for an additional load-only pattern at the beginning of self-test. For more
information, see "Using LogicBIST Self-Test" in the DFTMAX Design-For-Test User Guide.
-ndetects number (n)
Detects a fault up to and including n times. The default is one fault detection during ATPG.
This option is not supported for full-sequential ATPG, full-sequential fault simulation, or
distributed ATPG. It allows fault detections to be active until the fault has been detected n
times. A fault detected less than d times is placed in the not analyzed, possibly detected
(NP) fault class. When a fault is detected n times, it is then placed in the Detected by
Simulation (DS) fault class, and removed from the active fault list.
Note the following:
l Fault reports are enhanced to display the number of times each fault was detected.
l You should specify a set_atpg -decision random command before running ATPG for best results. This will
improve chances of detecting the fault in different ways, but does not guarantee it.
l TestMAX ATPG does not guarantee that each fault is detected in different ways.
-nodisturb_clock_grouping
Runs ATPG without disturb clock grouping. When running compression using the default X-
tolerant compressor, you should rerun the ATPG a second time using this option to
minimize the number of Xs captured in flip-flops.
-observe_file file_name
Used with the -auto_compression option, the -observe_file option reads the test point
list (which can contain both observe and control points) written by the analyze_test_
points, run_observe_analysis, or run_testpoint_analysis commands. This option
shows you the potential benefit of executing ATPG after inserting these test points by
proceeding as if the test points specified in this file were actually present in the design. The
resulting test coverage and pattern count are representative of what to expect if the
run_atpg 287
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
design were changed. The pattern set is automatically deleted at the end of the ATPG
session because the test point logic is yet to be added to the design to achieve such
results.
-only_chain_diagnosis
Specifies ATPG to generate only X-tolerant chain test and capture patterns. See the
description of the -xtol_chain_diagnosis option of the set_atpg command for more
information on these patterns. When ATPG finishes pattern generation, the M234 warning
message is printed.
-only_chain_test
Specifies ATPG to generate chain test patterns only. When ATPG finishes the pattern
generation, the M234 warning message is printed.
For compression mode, the necessary padding patterns are also generated. The generated
scan chain patterns include regular scan chain test patterns, augmented chain test
patterns (for designs with X-tolerance) or quiet chain test patterns.
Note that if multicore ATPG and the -only_chain_test option are both specified,
multicore ATPG runs one slave and stops when the chain test patterns are created.
-optimize_patterns
Selects an algorithm designed to produce a very compact pattern set with high test
coverage. The trade-off is that this optimization increases the run time by dynamically
adjusting the internal settings, such as abort limits, minimum detects, and merge limits
during ATPG. This option enables you to use a single command instead of iterating multiple
run_atpg commands and manually adjusting the various parameters.
The -optimize_patterns option will work with the -chain_test, -coverage, and -
patterns options of the set_atpg command. This option also works with all power aware
options of the set_atpg command. However, the power aware options might impact the
effectiveness of the pattern optimization process.
Note the following:
l This option is not supported for distributed ATPG.
l This option generates two-clock ATPG patterns as basic scan patterns. But they are stored, read, and simulated as fast-
sequential patterns. As a result, a fault simulation that uses two-clock ATPG patterns usually takes longer than the
original ATPG run.
l If you are using a DFTMAX Ultra design, the -optimize_patterns option works, but for better quality of results,
you should use the -auto option instead.
l See "Optimizing Patterns During the run_atpg Process" for more information on using this option.
l TestMAX ATPG ignores this option. For more information, see TestMAX ATPG Multithreading Command Option Support.
-random
Specifies that random patterns with all possible clocking variations are to be used as the
initial part of the Basic-Scan ATPG process before switching to deterministic patterns. You
can only use this option when the pattern source is set to internal. The default is not to use
random patterns. This option switches to non-threaded processing. For more information,
see Multithreading Limitations
-rerun_for_timing_exceptions
This option causes the run_atpg command to run twice when timing exceptions are used.
The first ATPG run is done normally and is not affected by this switch. The second ATPG run
is made if there are single -through exceptions, or if -case_paths is enabled and the set_
run_atpg 288
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
case_analysis pin or port lists do not match ATPG or PI constraints. The second pass run
adds ATPG constraints to prevent switch on these nodes. Patterns generated in the second
pass are added to the total from the first pass. This option can increase the test coverage,
but the runtime can be very long.
TestMAX ATPG ignores this option. For more information, see TestMAX ATPG Multithreading
Command Option Support.
-resolve_differences
This option is used only after performing per-cycle pattern masking of external patterns. It
performs the fault simulation of masked external patterns and updates the patterns. The
fault simulation of masked patterns could also be performed by using run_fault_sim (the
recommended flow). The difference between both methods is that the run_atpg -
resolve_diffrence command removes patterns that do not contribute to fault coverage
after fault simulating them.
This option can be used if a large number of measures are masked using set_patterns -
external patterns_file -resolve mask_file. The drawback is that new failures could
appear because of the pattern suppression. This is why it is recommended that you specify
run_simulation after run_atpg -resolve. If new failures occur, you can mask them by
executing another time set_patterns -resolve_differences command.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
Description
You use this command to generate ATPG patterns for current set of faults using the pattern source set by the
set_patterns command. This command requires Test-ATPG-Max and Test-FaultSim licenses.
Select the parameters for ATPG using the set_atpg command. Upon completion of the run, TestMAX
ATPG automatically performs a report_summaries command. After an ATPG process, you can analyze
faults that have detection problems with the analyze_faults command.
Examples
TEST-T> set_atpg -patterns 300 -merge low
TEST-T> run_atpg
ATPG performed for stuck fault model using internal pattern source.
----------------------------------------------------------
#patterns #faults #ATPG faults test process
stored detect/active red/au/abort coverage CPU time
--------- ------------- ------------ -------- --------
Begin deterministic ATPG: #uncollapsed_faults=72025, abort_limit=10...
32 52907 19118 0/0/1 74.17% 17.11
64 6750 12366 1/0/1 81.90% 25.85
96 3005 9361 1/0/1 85.34% 33.38
128 1733 7628 1/0/1 87.32% 40.57
160 1360 6268 1/0/3 88.88% 47.22
192 1139 5129 1/0/4 90.18% 52.88
224 1016 4113 1/0/7 91.35% 58.21
256 718 3395 1/0/9 92.17% 63.27
run_atpg 289
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_atpg 290
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_atpg 291
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
ATPG performed for stuck fault model using internal pattern source.
Fast-sequential simulation is used to verify Basic-Scan patterns.
run_atpg 292
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Automatic Mode of Run ATPG
Aborted Faults
add_faults
analyze_faults
report_faults
report_summaries
set_atpg
set_patterns
set_random_patterns
Test Coverage
Understanding the Run ATPG output
run_atpg 293
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_build_model
Overview
This command builds the in-memory simulation model from the design modules that have been read in.
Syntax
run_build_model
[top_module]
[-weakgates]
[-remove_pio_pull]
Arguments
top_module
Specifies the name of the module from which to create the simulation model. The default is
to use the last unreferenced module encountered while reading the netlist. If there is more
than one unreferenced module, the one defined last is used and a warning message is
issued indicating the choice.
-weakgates
Specifies that when a non-three-state driver occurs on the same net as one or more three-
state drivers, the non-three-state driver is considered to have weak drive strength. The
default is not to assume a weak drive under these conditions and to issue a B18 violation.
-remove_pio_pull
Removes pull-type connections from PIO gates. A pull-type connection is a weak input to a
BUS gate driven by TIE1/TIE0 or by a TSD (tri-state driver) or a SW (switch) gate whose
data input is driven by TIE1/TIE0. Only pull-type connections of BUS gates connected to a
PIO gate are removed.
Description
This command builds the in-memory simulation model from the design modules that have been read in. You
can use the set_build command to control the build process. After the build process is completed,
TestMAX ATPG performs a learning process, which you can control with the set_learning command. If a
simulation model already exists, it is automatically deleted before the new model is built.
Examples
BUILD> run_build_model asic_top
------------------------------------------------------------------------
Begin build model process on topcut = asic_top ...
------------------------------------------------------------------------
Warning: Rule B6 (undriven module inout pin) failed 2 times.
Warning: Rule B7 (undriven module output pin) failed 178 times.
Warning: Rule B8 (unconnected module input pin) failed 923 times.
run_build_model 294
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
set_learning
set_build
Understanding the run_build_model output
run_build_model 295
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_diagnosis
Overview
You use this command to perform a diagnosis of a failing device using an input file that identifies its failing
tester measures.
Syntax
run_diagnosis
file_name
[-assume_chain_defect < <stuck|slow|fast|all> chain_name >]
[-chain_failure]
[-display]
[-file {file_list}]
[-find_offset {begin end}]
[-noreport_defects]
[-only_report_failures]
[-rank_faults]
[-streaming_report_chains_only filename]
[-truncate pattern#]
[-verbose]
[-write_fault_list out_file [-replace] [-compress <bin | gzip>]]
Arguments
file_name
Specifies the name of the failure data file. When parallel diagnostics is enabled by the set_
diagnosis -number_processes command, you can specify a list of datalogs, as shown in
the following example:
run_diagnosis [list {datalogs/ff_[1-9].log} \
{datalogs/ff_[1-9][0-9].log} \
{datalogs/ff_100.log}]
Note that wildcards are also accepted when specifying datalogs, as shown in the following
example:
run_diagnosis datalogs/ff_*.log
For more information on specifying a list of datalogs, see "Parallel Diagnosis."
-assume_chain_defect < <stuck|slow|fast|all> chain_name >
This option and set of arguments enforce the execution of scan chain diagnosis for a
particular defect type and scan chain. There are two mandatory arguments. The first,
<stuck|slow|fast|all >, is the defect type. The second, chain_name, is the chain on
which the faults should be ranked. Only one defect type and chain name can be specified at
a time.
At the completion of the command, the tool reports the top candidates for each fault type.
If the “stuck” type is specified, then all stuck-at types (stuck-at-0, stuck-at-1) are
ranked. If the “slow” or “fast” types are specified, then all slow or fast types (slow-to-
rise/fall/rise-fall and fast-to-rise/fall/rise-fall) are ranked. If “all” is specified, then all
defect types for the specified scan chain are ranked.
run_diagnosis 296
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -assume_chain_defect option overwrites the -auto option. It cannot be used on the
same command line with the -chain_failure or -rank_faults options.
If there is unexplained failure for all simulated candidates, then following message is
printed:
Warning: Insufficient data to locate <fault_type> fault in chain
chain_name
-chain_failure
If your patterns show failures during the chain test, then you might have a device failure
that prevents the proper loading and unloading of the scan chains. Use the -chain_
failure option locate the scan chain and bit position at which the flaw most likely occurs.
This option adjusts the diagnostic algorithm to troubleshoot scan chain shifting instead of
assuming the data load and unload work fine. For best results, failure data from ten or
more patterns is required.
The diagnostic algorithm identifies the location of stuck-at, slow-to-rise, slow-to-fall, fast-
to-rise or fast-to-fall. The latter two types cover hold time problems affecting the scan
chain shift operation. If pattern 0 is not the chain test, a simple chain diagnosis algorithm
with lower accuracy is used.
The output displays a set of possible defect locations (chain, cell position, and instance
name), along with a score, which indicates the confidence of each location. This score is a
percentage measuring how much the failures seen on the tester matches a simulated chain
defect at that location. It also shows the predicted type of defect. For example:
fail.log scan chain diagnosis results: #failing_patterns=79
-----------------------------------------------------------
defect type=fast-to-rise
match=100% chain=c0 position=178 master=CORE/c_rg0 (46)
match=100% chain=c0 position=179 master=CORE/c_rg2 (57)
match= 98% chain=c0 position=180 master=CORE/c_rg6 (54)
-display
Displays the diagnosis results schematically, unless you use the -chain_failure option.
It does not support graphic display of failures in the chain test patterns. For patterns other
than chain test patterns, it displays each potential failure site along with the fault codes to
indicate the fault positions associated with the failure. The fault code is always "DS/--" or
"--/DS", indicating a stuck-at-0 or stuck-at-1 detection location, respectively.
Note: The primary output display mechanism affects the fault codes displayed on PO
primitives. As a result, the faults codes displayed near PO primitives might be incorrect. To
confirm the values shown in the schematic, refer to the values in the transcript.
[-file {file_list}]
When using the split pattern feature in Tcl mode, this option indicates the list of the second
and following failure log files. The specification must be a valid Tcl list. For example:
TEST-T> run_diagnosis fail1.log –file {fail2.log fail3.log …} [options]
The run_diagnosis report includes a set of lines that display each pattern file
characteristic, as in the set_pattern ext <file> -split report. If a failure log file
contains failures, another line displays the cycle offset and truncation options values. The
line is highlighted in bold in the example shown below:
run_diagnosis 297
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-file {split_fail/fail_stil_1.txt \
split_fail/fail_stil_2.txt \
split_fail/fail_stil_3.txt}
; Pattern_file=prog.stil_0.gz, basic_scan=[0(3),4(66)], fast_sequential=
[-1,-1]
Cycle_offset=0, truncate=0/0, incomplete_failures=0, failure_memory_
limit=0
Pattern_file=prog.stil_1.gz, basic_scan=[5(82),9(146)], fast_
sequential=[-1,-1]
Pattern_file=prog.stil_2.gz, basic_scan=[10(162),14(226)], fast_
sequential=[-1,-1]
Cycle_offset=159, truncate=3/13, incomplete_failures=0, failure_memory_
limit=0
Warning: 0 failure(s) were read, 6 failure(s) were ignored. (M267)
Pattern_file=prog.stil_3.gz, basic_scan=[15(242),16(258)], fast_
sequential=[-1,-1]
Cycle_offset=239, truncate=0/0, incomplete_failures=0, failure_memory_
limit=0
To avoid generating a long report, only the first failure log file containing valid failures is
reported — even if the diagnosis is performed using several failure log files. You can
retrieve all the file names using the "name" attribute from the collection returned by get_
diag_files -all Tcl API command. If you use this command in conjunction with the
previous example, the diagnosis report will indicate the following statement:
Diagnosis summary for failure file split_fail/fail_stil_0.txt
Also note the following:
Cycle_offset=NBR means that the first cycle number of the patterns contained in the split
pattern read is cycle number NBR.
truncate=A/B means that the .truncate value in the failure log file is A and it corresponds
to pattern number B.
incomplete_failures is equal to 0 if .incomplete_failures is not set and 1 if it is set.
failure_memory_limit=NBR is an echo of value of .failure_memory_limit directive.
See Split Pattern Diagnosis for more information on the split pattern flow.
See Using Split Datalogs to Perform Parallel Diagnosis for Split Patterns for more
information on the split pattern flow for parallel diagnostics.
-find_offset {begin end}
This option suppresses normal diagnostics reporting and instead finds and prints a specific
cycle offset in the search range between the begin and end parameters. When this offset
value is added to the cycle-based failures in the failure data file (specified by file_name
parameter of the run_diagnosis command), it allows the expected data for all failures to
match the expected responses in the external pattern set. The failure data file must
contain expected data for each failure, and there must be at least 10 failures to use this
option. If the patterns run on the tester have not been modified, the cycle offset is usually
0 (the default) or 1 (if the tester counts cycles starting at 0.) However, if additional cycles
have been added before or while running on the tester, you will need to specify the correct
cycle offset (usually a negative value) so diagnosis can map cycle numbers in the failure
data file to the cycle numbers of the external pattern set used for diagnosis.
run_diagnosis 298
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The cycle offset reported with this option should be specified using the set_diagnosis -
cycle_offset d option prior to all subsequent diagnosis runs using the same external
pattern set.
-noreport_defects
This option suppresses printing the full diagnostics report for flows that always use the
report_defects command for class-based diagnostics.
-only_report_failures
This option suppresses diagnostics reporting and prints only the failing measures. Do not
use this option for class-based diagnostics (triggered by the set_diagnosis –
organization class command). Instead, use the set_diagnosis -verbose command.
In the case of normal scan patterns, the failing measures report looks like the following:
-----------------------------------------------------------------------
pattern chain/pin_name position gate_id type
------- -------------- --------- --------- ----------------
7 6 131 636837 potential
7 81 131 659098 potential
7 90 131 665290 potential
The diagnosis engine then assumes one of these flip-flops is failing and tries to find the
best candidate.
Another example is as follows:
run_diagnosis 299
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
------------------------------------------------------------------------
--------------
pattern chain/pin_name position gate_id type
------- -------------- ------- -------- -------
7 48 1 62063 unique
26 out1 -1 62084 unique
33 o_tdata_dd[5] 12 62076 unmapped
The mapping report printed by this option and the report printed by set_diagnosis -
mapping_report are the only complete reports. The first mapping report printed at the
beginning of the diagnosis report looks like the following example and is not intended to be
completed. See "Understanding run_diagnosis Output" for more details.
------------------------------------------------------------------------
------
pattern chain pos# output pin_names
------- ---------------- ---- ------------------------------------------
------
9 1 4 test_so1 test_so2 test_so3
14 1 3 test_so1 test_so2 test_so3
-rank_faults
Ranks a set of faults based on how well they match the defective device response on the
tester. The supported fault models are stuck-at, transition, bridging, and IDDQ.
TestMAX ATPG simulates the collapsed faults (indicated by the DS code in the diagnosis
report) in the active fault list (added by the add_faults or read_faults command) and
using the Fast-Sequential simulator, scores the faults, and displays the match score. As
the fault list is typically small, this run should be relatively quick.
TestMAX ATPG simulates only a subset of the passing patterns as with normal diagnosis,
but you can control it with the -sample option of the set_diagnosis command.
Note: TestMAX ATPG ignores most of the other diagnosis option when you use the -rank_
faults option because you are not running diagnosis. The following is an example flow:
run_drc
set_patterns -external pattern.bin.gz
TestMAX ATPG uses the following formula for ranking the faults:
run_diagnosis 300
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
match % = TFSF
_____________________ X 100
TFSF + TFSP + TPSF
-streaming_report_chains_only filename
Reports chain test failures used for performing chain diagnostics using DFTMAX Ultra
compression. For example:
run_diagnosis failure_log_file1.log -streaming_report_chains_only chain_
fail_report.txt
For more information on using this option, see Chain Diagnosis for Multiple Chain Defects.
-truncate pattern#
Specifies the last pattern applied in obtaining the failures. Use this option when the
patterns applied on the tester were not the complete set. This tells TestMAX ATPG to stop
its analysis at a similar point for its copy of these patterns. The tester failure file should
contain no patterns greater than the pattern number indicated as the truncation point, or
else an error is reported. The default is the last pattern available in the pattern set. This
option should not be used with the -incomplete_failures option of set_diagnosis. This
option specifies that the tester failure memory limitations might have caused the failure
log to have only partial failure data for the last failing pattern reported in the log.
Therefore, the last failing pattern and all subsequent patterns are ignored during diagnosis.
The behavior of this option is unchanged in the case of the split pattern feature. This option
still specifies a single pattern range to ignore at the end of the pattern set. The specified
pattern number can be in any of the pattern files.
-verbose
Causes the diagnostics report to include additional detailed information such as observable
points and an explained patterns list. For more information on this detailed information,
see the "Verbose Format" section of the "Understanding the Diagnosis Report" topic. Do
not use this option for class-based diagnostics (triggered by the set_diagnosis –
organization class command). Instead, use the set_diagnosis -verbose command.
run_diagnosis 301
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
You use this command to perform a diagnosis of a failing device using an input file that identifies its failing
tester measures. Note that you use the set_diagnosis command to make specifications relevant to this
command.
The diagnosis assumes that the patterns were originally generated by TestMAX ATPG; these patterns must
be available during the diagnosis. You must specify the pattern set as external using the set_patterns
command. For a selected fault, use therun_simulation command to create a representative failure file for
diagnosis.
TestMAX ATPG does not consider fault sites that are no-faulted as potential defect sites. If you have
examined a site and not found any physical defect, use this command to identify additional sites that might
explain the tester failures. Use the add_nofaults command before executing the run_diagnosis
command. Use the remove_nofaults command consider fault sites as potential defect sites.
Note: The run_diagnosis command does not support diagnosis on pattern sets containing full-sequential
patterns.
Examples
TEST-T> run_diagnosis /project/mars/lander/chipA_failure.dat –display
Diagnosis summary for failure file /project/mars/lander/chipA_failure.dat
#failing_pat=2, #failures=2, #defects=1, #faults=2, CPU_time=0.05
Simulated : #failing_pat=2, #passing_pat=35, #failures=2
---------------------------------------------------------------------------
---
Fault candidates for defect 1: stuck fault model, #faults=2, #failing_
pat=2, #passing_pat=35, #failures=2
---------------------------------------------------------------------------
---
match=100.00%, #explained patterns: <failing=2, passing=35>
sa1 DS de_encrypt/C264/U36/O (L434ND)
sa0 -- de_encrypt/C264/U36/I1 (L434ND)
sa0 -- de_encrypt/C264/U36/I2 (L434ND)
sa0 -- de_encrypt/C264/U28/O (L434ND)
sa1 -- de_encrypt/C264/U26/I2 (L434ND)
---------------------------------------------------------------------------
---
match=50.00%, #explained patterns: <failing=1, passing=35>
sa1 DS de_encrypt/C264/U28/I1 (L434ND)
Example failure data file used with the -check_expected_dataoption:
5 vga_out0 1 # nonscan output, expecting a 1
8 scanout5 34 0 # scan output, expecting a 0
The following is a sample output of the run_diagnosis command using the cycle_offset <integer> and the
verbose with the cycle-based failure log file. Comments indicate the failure cycle used to generate the pattern-
based failure. It also shows whether the cycle was a capture or a shift cycle.
4 po0 # Cycle conversion from cycle 34; fail in capture
4 so 2 # Cycle conversion from cycle 38; fail in shift
run_diagnosis 302
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis -cycle_offset -1
run_diagnosis fail.log
See Also
add_faults
Failure Data Files
read_faults
read_layout
set_delay
run_diagnosis 303
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis
Understanding the Diagnosis Report
write_image
run_diagnosis 304
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_drc
Overview
This command performs design rule checking (DRC).
Syntax
run_drc
[file_name]
[-append]
[-dft]
[-patternexec exec_name]
[-prescan]
[-test | -delete]
Arguments
file_name
Specifies the name of the STIL procedures file that defines the scan chains and test
procedures. If not specified, the file name specified in the most recent set_drc command
is used. Any file used becomes the default for future run_drc commands. The syntax of the
STIL procedures file is a limited subset of the IEEE STIL language.
-append
Applies the DRC operation based on information specified from command line settings (the
same as if the run drc command was performed without a specified test protocol file). A
test protocol filename must be specified with this option, however only the MacroDefs and
Procedures sections of this file are included in the applied data.
The test protocol file provides the capability to define the test_setup and/or the load_
unload procedure in a flow that would otherwise use command line statements to establish
the design information. As a result, you can override the defaults established for these
functions when command line operations are used exclusively. The test protocol file should
only contain either one or both of the MacroDefs and Procedures blocks; any other data in
this file is ignored. These blocks should contain the following statements at the beginning
of the line (no other names should appear on these blocks): "Procedures {" and
"MacroDefs {" .
If the MacroDefs block is specified, it must include the definition of the test_setup
procedure. If the Procedures block is specified, it must include the definition of the load_
unload procedure, and may also define definitions of capture procedures.
-dft
This option, which is applicable to DRC mode only, causes TestMAX ATPG to check post-
scan DRC rules (includes all DRC checks except for D rules). TestMAX ATPG returns to DRC
mode after checking, regardless of whether the rule check is successful.
-patternexec exec_name
Selects between different PatternExec blocks in the STIL procedure file. DRC can only run
on one of the PatternExec blocks, so if the STIL procedure file has more than one, this
run_drc 305
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
switch must be used. Failure to use this switch might cause DRC to run on only the last
PatternExec block in the file.
-prescan
Causes TestMAX ATPG to check only pre-scan DRC rules (D rules). TestMAX ATPG returns
to the DRC mode after the checking is complete. The prescan context assumes certain
netlist environments and requires certain options to be set to for the checking to
accurately take place. For instance, if this analysis is performed on a netlist before scan
insertion, the command set_scan_ability on -all is required. Other netlist contexts
might require additional switches.
-test | -delete
Indicates the type of design rule checking to be performed. If you select -test (the
default), design rule checking is performed for TEST command mode. Upon successful
completion, the command mode is set to TEST. The -delete option deletes all DRC data,
and must be run in TEST mode. After the data is deleted, TestMAX ATPG returns to DRC
command mode.
Description
This command performs design rule checking (DRC). You must perform DRC before entering the TEST
command mode, which performs test generation and fault simulation. This command requires a Test-Analysis
license. However, the -prescan and -dft options do not need a Test-Analysis license.
During DRC, TestMAX ATPG performs a variety of checks to ensure that the scan structure is correct and to
determine how to use the scan structure for test generation and fault simulation. These checks include
ensuring that the scan chains operate properly, identifying scan cells, identifying nonscan cell behavior, and
ensuring that clocks obey the required rules.
You can define clocks, clock timing, tester cycle periods, output measure values, scan chains, and scan shift
initialization both at the command line and by the appropriate sections of the DRC file. To avoid potential
conflict, the following rules apply:
l When a DRC file is not specified, all items defined by commands are used as defined.
l When a DRC file is specified, any scan chains defined by command lines are deleted from the scan chain
list, before processing the DRC file.
l When a DRC file is specified, any pin initialization defined by an add scan enable command is ignored.
l When a DRC file is specified and that file contains a Timing block, then clocks defined in that block
override any timing defined by an add_clocks command.
Note the following:
l The test command can also be used to perform the DRC process.
l The DRC process uses parameters that are affected by both the set_drc and set_atpg commands.
In particular, the -abort_limit option of the set_atpg command affects the effort of some DRC
checks.
l A specific sequence of commands is required to modify the timing data in an existing STIL procedure file.
run_drc 306
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
DRC> run_drc slo_gin.spf
--------------------------------------------------------------------------
Begin scan design rule checking...
--------------------------------------------------------------------------
Begin reading test protocol file slo_gin.spf...
End parsing STIL file slo_gin.spf with 0 errors.
Test protocol file reading completed, CPU time=0.08 sec.
--------------------------------------------------------------------------
Begin Bus/Wire contention ability checking...
Bus summary: #bus_gates=40, #bidi=40, #weak=0, #pull=0, #keepers=0
Contention status: #pass=0, #bidi=40, #fail=0, #abort=0, #not_analyzed=0
run_drc 307
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
violated 24 times.
Contention prevention checking completed, CPU time=0.03 sec.
--------------------------------------------------------------------------
DRC Summary Report
--------------------------------------------------------------------------
Warning: Rule C17 (clock connected to PO) was violated 16 times.
Warning: Rule C19 (clock connected to non-contention-free BUS) was violated
1 times.
Warning: Rule Z4 (bus contention in test procedure) was violated 12 times.
Warning: Rule Z9 (bidi bus driver enable affected by scan cell) was
violated 24 times.
There were 54 violations that occurred during DRC process.
Design rule checking was successful, total CPU time=2.27 sec.
--------------------------------------------------------------------------
See Also
add_clocks
add_scan_chains
add_scan_enables
analyze_violation
report _violations
set_atpg
set_drc
set_rules
test
Understanding the run_drc Output
run_drc 308
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_fault_sim
Overview
Performs fault simulation using the current fault list and the current selection of the pattern source.
Syntax
run_fault_sim
[-checkpoint fault_filename]
[-detected_pattern_storage] [-distributed]
[-first_pattern d] [-last_pattern d]
[-ndetects n] [-nodrop_faults] [-sequential] [-store]
[-strong_bridge]
Arguments
-checkpoint fault_filename
Specifies that a fault list file should be saved to the named file after every pass of fault
simulation. This option is supported only if the -sequential option is also used. The file
named is overwritten if it already exists. The default is not to perform the checkpointing
process.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-detected_pattern_storage
Stores the pattern ID for the first detection of a fault when operating on an external pattern
set. Adds an additional field to the fault report indicating the pattern ID of the first
detection of detected faults.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-distributed
Causes TestMAX ATPG to look for the list of distributed processors to start a distributed
fault simulation environment. The machine issuing this command becomes the "master"
machine. The master machine drives the distributed process, but does not participate in
the fault simulation task. The fault simulation task is deferred to distributed processors
only. This means that if you want to use two machines for fault simulation, you need to use
a master plus two distributed processor machines.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-first_pattern d
Specifies an individual pattern or a range of patterns to be fault-graded during simulation.
-last_pattern d
Specifies a subset of the current pattern set on which to perform fault simulation. When
this option is used, fault simulation is performed from the first pattern, pattern 0, through
run_fault_sim 309
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
the last pattern specified by integer d. The default is to perform fault simulation on all
patterns.
-nodrop_faults
Allows and independent estimation of the test coverage for each pattern. After fault
simulation, you can check both the number of all detected and first detected faults for each
simulated pattern with the report_faults -profile command.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-ndetects number (n)]
Detects a fault up to and including n times. The default is one fault detection during ATPG.
This option is not supported for full-Sequential ATPG, full-sequential fault simulation, or
distributed ATPG.
The -ndetects option keeps fault detections active until the fault has been detected n
times. A fault detected less than n times is placed in the not analyzed, possibly detected
(NP) fault class. When a fault is detected n times, it is placed in the Detected by Simulation
(DS) fault class, and removed from the active fault list.
Fault reports are enhanced to display the number of times each fault was detected.
-sequential
Specifies that fault simulation will use a sequential simulation algorithm. This is required if
the design has sequential elements and the functional patterns expect data effects to
persist from one pattern to another. It is optional if the patterns are ATPG patterns
consisting of Basic-Scan or Fast-Sequential patterns, or if the functional patterns do not
expect data to persist from one pattern to another.
Without the -sequential option, a combinational (scan-based) simulation is performed,
which assumes that data does not persist beyond the current pattern. This type of
simulation is faster and can identify redundant faults, which can increase test coverage.
This default mode is appropriate if the patterns were originally generated by TestMAX ATPG
using Basic-Scan or Fast-Sequential ATPG.
With the -sequential option, a sequential simulation is performed, which retains the
design state from pattern to pattern. This type of simulation is slower and cannot identify
redundant faults. Sequential simulation is generally required to fault-simulate functional
patterns imported with the set patterns external command. Use of the -sequential option
is not recommended if the patterns can be simulated combinationally. A test for whether
patterns can be simulated combinationally is to use the run simulation command without
its -sequential option, and seeing whether the good machine simulation runs successfully
without any differences between simulated and expected values.
When the -verbose option of the set_simulation command is in effect, the use of the -
sequential option causes the run_fault_sim command to display the good machine vs.
faulty machine response for each pattern as the fault simulation progresses.
You might want to review the -sequential_modeling option of the set_netlist
command. It can affect the derived ATPG model. Sometimes a more precise (less
pessimistic) model is needed for fault simulation than when doing ATPG. This set_netlist
option can produce a more precise model during library reading.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
run_fault_sim 310
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-store
Copies functional patterns and the measure conditions that detect faults into the internal
pattern buffer during fault simulation. This option is ignored if the -sequential option is
also used or if the pattern source is internal. For scan-based patterns, any patterns that fail
to detect a fault are not copied to the internal pattern buffer. For designs with compression,
the pattern sequence is maintained. However, any measure conditions that do not detect a
fault are set to an X value to indicate that there is no useful detection for the specified fault
list.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-strong_bridge
Marks only those faults meeting the criteria for fully-optimized bridging fault detection as
detected. This includes those faults where the aggressor has the strongest drive strength
and the victim has the weakest drive strength.
Description
Performs fault simulation using the current fault list and the current selection of the pattern source. This
command requires a Test-FaultSim license.
You can select the type of fault simulation to be scan-based or sequential. You can display the results of the
fault simulation using the faults option of the report_summaries command.
Examples
TEST-T> run_fault_sim -sequential
---------------------------------------------------------------------------
---
Begin sequential fault simulation of 4540 faults on 36 external patterns.
-----------------------------------------------------------
#faults pass #faults cum. #faults test process
simulated detect/total detect/active coverage CPU time
--------- ------------- ------------- -------- --------
1675 550 1675 550 3990 13.57% 05.45
3326 669 1651 1219 3321 29.36% 09.12
4540 390 1214 1609 2931 40.22% 12.22
Fault simulation completed: #faults_simulated=4540, test_coverage=40.22%,
CPU time=12.22
See Also
set_patterns
set _simulation
run_simulation
Understanding the run_fault_sim Output
run_fault_sim 311
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_justification
Overview
You can use this command to create a pattern that satisfies user-specified conditions placed on any number of
internal (or external) circuit nodes.
Syntax
run_justification
[-set {<id | pin_pathname> <0|1|z|r|f>}... ]
[-full_sequential] [-noconstraints] [-noprevention]
[-previous] [-verbose] <[-store] | [-replace_pattern d]>
Arguments
-set {<id | pin_pathname> <0|1|z|r|f>}...
Indicates the circuit location and the desired set value to justify. The circuit location is
identified by a primitive ID number or pin_pathname. 0, 1 or Z set a static value at the
specified location. R indicates a rising transition and F indicates a falling transition. The -
set option can specify multiple set points. You can repeat the circuit location and set value
as needed.
The r and f arguments create last-shift launch transitions, but do not apply any capture
clocks. Basic scan and full-sequential patterns are supported. It is not possible to launch
transitions from the last cells of the scan chains.
-full_sequential
Specifies that the full-sequential ATPG algorithm is to be used during justification.
-noconstraints
Causes all constraints to be ignored during test generation. The default is to satisfy all
constraints.
-noprevention
Causes contention prevention to be ignored during test generation. The default is to
enforce conditions that avoid contention.
-previous
Causes all set points from the preceding run_justification command to also be
satisfied for the current justification.
-replace_pattern d
The argument d to the -replace_pattern option is a decimal pattern number of an
existing pattern. The care bits for the justification pattern replaces values in the pattern
specified by the argument d. This is done to the internal or external pattern buffer,
depending on the current setting (report settings patterns). The expected value for the
pattern is not updated. Use the run_simulation -update command to get correct
expected values.
-store
run_justification 312
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Causes storage of the pattern that satisfies the set points into the internal pattern set. The
default is to not store the pattern. When the pattern is stored, it is appended to the end of
any existing patterns in the internal pattern set. To avoid confusion, it is suggested that
you delete any existing internal patterns using the set_patterns -delete command
before performing the justification.
-verbose
Displays the pattern that satisfies the set points. The default is to not display the pattern.
Description
You can use this command to create a pattern that satisfies user-specified conditions placed on any number of
internal (or external) circuit nodes. If this is successful, the resulting pattern can optionally be placed into the
internal pattern buffer and then written out to a file. If the justification is not successful, a reason is reported.
Note the following:
The justification process does not attempt to create patterns which honor PI equivalence relations unless they
are explicitly listed as -set arguments. So it is possible to generate a pattern which satisfies the user-defined
list of set points, and then have that pattern discarded when it does not satisfy the constraints required by the
equivalence relationship. When this occurs, the M179 message will indicate the pattern is rejected. If you add
at least one of the pins from the PI equivalence relationship to the -set list, you can avoid pattern rejection
due to this issue.
The justification process uses a set of test generation algorithms controlled by the set_atpg command.
Examples
# id #899 output set to 1 and pin pathname set to zero
TEST> run_justification -set {899 1 top/adder/carry 0 }
Unsuccessful justification: test status was redundant.
See Also
set_atpg
set_patterns
set_pindata
Understanding the run_justification Output
run_justification 313
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_observe_analysis
Overview
You use this command to perform an observability analysis of the design based on controllability and
observability SCOAP numbers.
Syntax
run_observe_analysis
[-max_observe_points d]
[-num_observe_points_per_cell d]
<-observe_file file_name>
[-type_observe <pos | scancells>]
[-replace]
Arguments
-max_observe_points d
Specifies the maximum number of observe points to be selected in the design. By default,
TestMAX ATPG will do an analysis to select an optimum number of observe points required
for the design.
-num_observe_points_per_cell d
Specifies the maximum number of observe points that should be connected through XOR
(observation) trees to one observe scan flip flop or primary output. The default is 8
observe points per observe flip flop or primary output. The selection of observe flip flop
versus primary output is done with the -type option.
-observe_file file_name>
Specifies the name of the output file that will contain the list of selected observe points. By
default, 8 locations are listed per line and rank ordered from the most beneficial to the
least beneficial.
-type_observe <pos | scancells>
Specifies the type of observation technique to be used for the selected observe point. You
can select between a primary output and a observe scan cell to make the selected location
observable. The default is a scan cell.
-replace
If the file specified by the -observe_file option exists, then this option is needed to
overwrite that file, otherwise, an error condition is reported.
Description
You use this command to perform an observability analysis of the design based on controllability and
observability SCOAP numbers. This command requires a Test-Analysis license.
run_observe_analysis 314
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The objective is to minimize the number of ATPG patterns required to achieve a given test coverage by making
some selected internal nodes observable. It ranks the top "N" best design locations that would provide a
benefit to ATPG pattern generation if those sites were better observable by being connected to a primary
output or additional (that is, new) scan cells. The locations identified are reported to the transcript in rank order
as the analysis progresses. These locations are recorded in the observe file in a form intended to be useful
during scan insertion should you wish to modify your design to have these additional observation points.
When calculating the best observe points, fault sites that are detected by implication are excluded from
consideration. In addition, no location connected to a clock source is considered.
When the observe file is saved, the potential benefit to the ATPG process can be observed by specifying this
observe list with the -observe_file option during the use of the run_atpg command. The ATPG process
will then proceed as if the observe points specified in this file were actually present in the design. The resulting
test coverage and pattern count are representative of what to expect if the design were changed.
Examples
TEST> run_observe_analysis -max 500
------------------------------------------------------------
List of added observe points
-------------------------------------------------------------
cnt obs #faults node
--- --- ------- --------------------------------------
1 145 484 /ARIT/mult/U860/N01 (7041)
2 115 178 /ARIT/mult/U756/N01 (7528)
3 39 486 /ARIT/mult/U798/N01 (6361)
4 21 850 /ARIT/mult/U220/N01 (6445)
5 74 194 /ARIT/mult/U850/N01 (7051)
6 87 148 /ARIT/mult/S2_11_7/N01 (6822)
7 66 162 /ARIT/mult/U859/N01 (6918)
8 38 352 /ARIT/mult/U227/N01 (6785)
9 96 98 /ARIT/mult/lt/mu/S2_12_12/N02 (5745)
10 123 74 /ARIT/mult/m32/L14_11/N02 (5991)
: : : :
498 42 14 /ARIT/mult/U801/N01 (6596)
499 98 6 /ARIT/mult/U527/N01 (7344)
500 28 21 /PIE_1/PEASCH/U103/N01 (11958)
-------------------------------------------------------------
Total number of added observe points = 500, CPU tiime=25.87
#
# --- example OBSERVE FILE format
#
set_test_point { /ARIT/mult/U860/N01 } -type observe.
set_test_point { /ARIT/mult/U860/N01 } -type observe
set_test_point { /ARIT/mult/U860/N01 } -type observe
set_test_point { /ARIT/mult/U860/N01 } -type observe
set_test_point { /ARIT/mult/U860/N01 } -type observe
See Also
run_atpg
run_testpoint_analysis
run_observe_analysis 315
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_simulation
Overview
Use this command to perform simulation of the current pattern source determined by the set_patterns
command and report any differences between simulated and expected values..
Syntax
run_simulation
[-bridge <wand | wor | adom | bdom <nodea> <nodeb>>]
[-cell_aware_fault "path/instance_name defect_id"
[-compare_x | -nocompare_x]
[-disable_masking]
[-failure_file file_name]
[-fast <<<r | f | rf> <chain_name position>+>]
[-last_pattern d]
[-max_fails d]
[-nocompare]
[-nox_difference]
[-override_differences]
[-parallel_strobe_data_file filename]
[-replace]
[-resolve_differences]
[-sequential]
[-sequential_update]
[-slow <<<r | f | rf> <pathname | chain_name position>>+>]
[-stuck <<<0 | 1 | 01 | x> <pathname | chain_name position>>+>]
[-store]
[-subnet subnet_id]
[-update]
Arguments
-bridge <wand | wor | adom | bdom nodeanodeb>
This option injects a bridging fault in the functional logic; only one injection is possible.
Note that injection of bridging defect in a scan chain is not possible: only one injection is
possible. More specifically, if the internal pattern buffer is empty, this will simulate the
patterns in the external buffer as if a bridging fault exists between the two specified
pinpaths, referred to as nodea and nodeb. The pinpaths must be output pins of nonscan
cells. The supported bridge types are wired-AND (WAND), wired-OR (WOR), pinpathA
dominating pinpathB (aDom) or pinpathB dominating pinpathA (bDom). For dominant
faults, the victim node takes on the value of the dominating (aggressor) node. The fault is
assumed to not affect the load_unload operation. The output will display the mismatches
caused by the presence of the fault.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-cell_aware_fault path/instance_name defect_id
run_simulation 316
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Injects an internal cell defect based on the specified path, instance name and associated
defect ID, as shown in the following example:
run_simulation -failure_file [list outfile1 outfile2] -cell_aware_fault
instance_name1 defect_ID1 –replace
For more information, see "Cell-Aware Diagnosis."
-compare_x | -nocompare_x
Checks all X values in the compared pattern data against the X values in the simulated
results and reports any differences. The default is to not compare X values (the -
nocompare_x option). By default, X values are treated as no-measure conditions and any
differences in X states are ignored. The -compare_x option is incompatible with the set_
po_masks -all command because this option identifies mismatches with all known
simulated results due to the use of an X value as a mask or no-measure operation. This
option is valid only for library validation flows.
-disable_masking
Enables you to automatically disable or ignore all user-defined masks during the good
machine simulation. All capture and observable masks, along with disturbed clock grouping
and contention checks, are disabled during this operation (this does not include PO
measures). The assumption is that the patterns will pass on the tester. In this case, only X
measures from the external patterns have to be taken into account during the simulation.
The -disable_masking option will typically remove a large number of simulation
mismatches. However in some cases, a few mismatches may still exist. In this situation,
you will need to take into account the remaining X measures and update the patterns
accordingly; this is the purpose of the -resolve_differences option.
-failure_file file_name
Writes all failure data to the specified file. This option forces a fast-sequential mode
simulation of the basic scan patterns, which affects the behavior of the faults. The behavior
difference reflects the differences between the fast-sequential and basic scan simulators.
-fast <<<r | f | rf> < chain_nameposition>+>
If the internal pattern buffer is empty, this option will simulate the patterns in the external
buffer as if transitions arrive too early at the specified scan cell during the load_unload
procedure. The fast fault types are similar to hold time violations. They can be fast-to-rise
(r), fast-to-fall (f) or fast-to-rise-fall (rf). The scan cell is identified by the chain name and
the position in the scan chain. Position 0 is the one closest to the scan-out port. The output
will display the mismatches caused by the presence of the fault. Note that this option can
be used to inject chain defects only. It is not possible to inject the same fault type in
functional logic.
The -fast option supports multiple arguments of the same type. Up to two chain faults can
be specified in different scan chains.
This option switches to non-threaded processing. For more information, see TestMAX
ATPG Multithreading Command Option Support.
-last_pattern d
Specifies a subset of the current pattern set on which to perform simulation. When this
option is used, simulation is performed from the first pattern, pattern 0, through the last
pattern specified by the d integer. The default is to perform simulation on all patterns.
run_simulation 317
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-max_fails d
Specifies a limit on the number of simulated data vs. expected data failures to allow before
stopping the simulation. The default is no limit. However, TestMAX ATPG displays all
failures for the last failing pattern even if it exceeds this limit.
-nocompare
Disables the comparison of simulated data to expected data. The default is to perform
comparisons.
-nox_difference
Specifies that a simulated value of X on an output or bidirectional port, when the expected
data is not X, should not be considered a failure. This option applies only to the simulation
of basic scan or sequential scan patterns and is ignored when sequential simulation is
specified using the -sequential option. The default is to treat X differences as failures.
-override_differences
This option updates an existing pattern set but only replaces certain measure values. It
does not replace X values. Instead, it replaces 0/1 and 1/0 mismatches by the simulated
boolean values. This option is useful for ECO changes.
-parallel_strobe_data_file file_name
Generates an enhanced parallel strobe data (PSD) file used for debugging parallel
simulation failures using the CPV flow. The PSD file supports the backward compatibility of
an existing STIL file. For details, see "Using the run_simulation Command to Create a
PSD File."
-replace
Allows an existing file to be overwritten. The default is not to overwrite an existing file.
-resolve_differences
This option updates the external pattern sets without re-running ATPG. It performs a
simulation of a pattern set in the external pattern buffer. Any differences between the
expected values listed in the pattern set and the obtained simulation values will cause the
mismatched value in the pattern to be replaced by an X. The modified pattern set will
remain in the external pattern buffer.
All cases are supported, including 0 -> 1, 0 -> X, 1 -> 0, 1->X.
In addition, you can use the -disable_masking option to reduce the number of X
(unknown) simulation values. This approach might reduce the number of added X
measures in the external pattern buffer with the assumption that the initial pattern set will
pass on the tester.
For related information, see "Updating Pattern Sets Without Re-Running ATPG."
-sequential
Invokes a standalone simulator meant to be used only for functional or partial scan
patterns. This simulator is event-driven like VCS and designed for very fast simulation of
nonscan-based patterns.
Note: For TestMAX ATPG-generated patterns, it is recommended that you use the run
simulation command without any options since TestMAX ATPG will automatically use the
run_simulation 318
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
appropriate simulation algorithm based on the type of pattern input -- whether it is basic-
scan or fast-sequential.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-sequential_update
Equivalent to specifying the -sequential and -update options simultaneously.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-slow <<<r | f | rf> <pathname | chain_nameposition>>+>
If you use the arguments -slow <r | f | rf> pathname and the internal pattern buffer
is empty, this will simulate the patterns in the external buffer as if the specified pin has a
rising (r), falling (f) or rising-falling (rf) system clock transition fault. A rising-falling
transition fault will delay both rising and falling transitions. The fault is assumed to not
affect the load_unload operation. The output will display the mismatches caused by the
presence of the fault. The transition fault types are rising (r), falling (f) or rising-falling (rf).
A rising-falling transition fault will delay both rising and falling transitions. Note that the
arguments -slow <r | f | rf> pathname are not supported in Full-Sequential mode.
The arguments -slow <r | f | rf> chain_namepos_number will simulate the patterns
in the external buffer as if a slow-to-rise, fall or rise-fall fault is affecting the specified scan
cell during the load_unload procedure. The scan cell is identified by the chain name and the
position in the scan chain. Position 0 is the one closest to the scan-out port.
The -slow option does not support multiple arguments of the same type for logic defects.
For chain defects, up to two chain faults can be specified in different scan chains.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-store
Specifies that all patterns are to be stored in the internal pattern set as simulation
progresses. This option is ignored if the pattern source is set to internal or if the -
sequential option is used. This option is not supported for Full-Sequential patterns. The
default is not to store patterns.
-stuck <<<0 | 1 | 01 | x> pathname | chain_nameposition>>+>
This option injects a stuck-at fault in functional logic or a chain. To inject a logic defect, you
should specify the path name. To inject a chain defect, you should specify the chain name
and position.
For a chain defect, if the internal pattern buffer is empty, this option will simulate the
patterns in the external buffer as if a stuck-at fault is affecting the specified scan cell
during the load_unload procedure. The scan cell is identified by the chain name and the
position in the scan chain. Position 0 is the one closest to the scan-out port. The output will
display the mismatches caused by the presence of the fault.
For a logic defect, there are four types of fault behavior that you can select: stuck-at-0
(O), stuck-at-1 (1), stuck-at-01 (01), and stuck-at-X (X). For the stuck-at-01 fault type,
the value is fixed either to 0 or 1 for each pattern for all affected fanout branches. For the
stuck-at-X fault type, the value is fixed either to 0 or 1 for each time frame for all affected
fanout branches. All affected fanout branches have the same value.
run_simulation 319
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
For a chain defect, you can select any fault type except for stuck-at-01.
For a logic defect, If the internal pattern buffer is empty, this option will simulate the
patterns in the external buffer as if the specified pin has a stuck-at 0 or 1 or 01 fault. A
stuck-at 01 fault is activated with either a 0 or 1 good circuit value. The fault(s) are
assumed to not affect the load_unload operation. The output will display the mismatches
caused by the presence of the fault(s).
The -stuck option supports multiple arguments of the same type. You can specify a
maximum of ten logic faults for different pins, however only one injection is supported for a
stuck-at-01 logic defect. Only one fault per chain can be injected at a time. Simulating two
or more faults on the same chain will cause TestMAX ATPG to exit with an error.
To inject two separate defects include both injections in the same -stuck option bracket,
as shown in the following example:
run_simulation -stuck {0 100 42 0 423 20}
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-subnet subnet_id
Specifies the subnet ID (subnet_id) to indicate where to inject the subnet fault. The
subnet ID should be in the range of the defined ID.
The following example shows how to inject a fault on a subnet:
run_simulation -stuck {01/X net_driver –subnet n}
Note that the -subnet option must be specified within the node definition and between
brackets.
-update
Updates the responses from test in memory. This option can be used only in conjunction
with the -sequential option. You can write out the new responses from simulation with
the write_patterns command.
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
Description
Use this command to perform simulation of the current pattern source determined by the set_patterns
command and report any differences between simulated and expected values. This simulation can be
performed in the presence of a selected fault and will report all failures that result from the fault. If the failures
are stored in a file, that file can be used as input for the run_diagnosis command.
If the patterns are read in the external pattern buffer using the -split_patterns option, you should be
aware of the following: When a fault is injected, if the output of the run_simulation command is stored in a
file using -failure_file option , the failure file contains all the necessary directives to run the split
diagnosis.
For related information, please see "Updating Pattern Sets Without Re-Running ATPG."
The output from the run_simulation command cannot be redirected using the ">" operator in native
mode. This operator is valid in Tcl mode, however.
run_simulation 320
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The following options are not supported for multicore simulation: , -sequential, -sequential_update,
-update, -override_differences, and -store.
Examples
The following example runs a sequential simulation:
The following example simulates a rising transition delay fault in functional logic:
The following example simulates a transition delay problem in the scan chain:
See Also
set_simulation
set_patterns
run_fault_sim
Understanding the run_simulation Output
Specifying Lists in Tcl Mode
run_simulation 321
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
run_testpoint_analysis
Overview
This command controls test-point insertion based on undetected fault topology.
Syntax
run_testpoint_analysis
-test_point_file file_name
[-num_observe_points_per_cell number]
[-class fault_class]
[-replace]
[-dont_touch module_name]
[-max_test_points number]
Arguments
-test_point_file file_name
Specifies the name of the output file that will contain the list of test points. This file uses
the same file format as the run_observe_analysis command to remain compatible with
TestMAX DFT.
-num_observe_points_per_cell number
Specifies the maximum number of observe points that should be connected through XOR
(observation) to one observe scan flip flop or primary output. The default is 8 observe
points per observe flip flop or primary output.
-class fault_class
Specifies the class of faults to be targeted. This switch can be specified multiple times if
you need to specify multiple fault classes. For example, you can first generate test
patterns, then execute the run_testpoint_analysis command using with the -class NO
and -class AN options. If the -class switch is not specified, then all undetected faults is
considered for test-point insertion.
In Tcl mode, lists are used to specify additional classes. For example:
-class {NO AN}
OR
-class [list NO AN]
You can specify the following fault classes using the -class option:
DS — Detected by simulation
DI — Detected by implication
AP — ATPG untestable possibly detected
NP — Not analyzed, possibly detected
UU — Undetectable unused
UO — Undetectable unobservable
UT — Undetectable tied
UB — Undetectable blocked
run_testpoint_analysis 322
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
UR — Undetectable redundant
AN — ATPG untestable not-detected
NC — Not controlled
NO — Not observed
-replace
Causes TestMAX ATPG to replace any existing output file (specified by the -test_point_
file option).
-dont_touch module_name
This option prevents the creation of test points in the specified instance. Multiple -dont_
touch options can be used for additional instances. In Tcl mode, lists are used to specify
additional instances. For example:
-dont_touch {instA instB}
OR
-dont_touch [list instA instB]
-max_test_points number
Specifies the largest number of test points to be inserted. TestMAX ATPG will stop writing
out test-points before reaching the maximum number specified with the -max_test_
points option if no improvement is seen during analysis. If this option is not specified, the
default maximum is 1000 test-points.
Description
This command controls test-point insertion based on undetected fault topology. Note that this command can
only be used in the TEST command mode.
For complete details on how to run this command, see "Improving Test Coverage With Test Points" of the
TestMAX ATPG User Guide.
See Also
run_observe_analysis
run_testpoint_analysis 323
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Set Commands
This section describes the following commands:
l set_atpg
l set_learning
l set_build
l set_match_names
l set_buses
l set_messages
l set_colors
l set_netlist
l set_commands
l set_patterns
l set_contention
l set_physical
l set_delay
l set_physical_db
l set_diagnosis
l set_pindata
l set_distributed
l set_primitive_report
l set_drc
l set_random_patterns
l set_environment_gui
l set_rules
l set_environment_info
l set_scan_ability
l set_environment_reports
l set_sdc
l set_environment_transcript
l set_simulation
l set_environment_viewer
l set_toggle_weights
l set_faults
l set_wgl
l set_iddq
l set_workspace_sizes
l set_ydf
run_testpoint_analysis 324
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_atpg
Overview
Use this command to set the parameters that control the ATPG process.
Syntax
set_atpg
[-abort_limit comb_max_remade_decs]
[-add_setreset_test | -noadd_setreset_test]
[-adjacent_fill_range d]
[-allow_clockon_measures | -noallow_clockon_measures]
[-analyze_untestable_faults | -noanalyze_untestable_faults]
[-basic_min_detects_per_pattern d [d]]
[-calculate_power | nocalculate_power]
[-capture_cycles d]
[-chain_test <off | 0011 | 0101 | 1000 | 0111 | string<r|c>>]
[-checkpoint {time fault_file pattern_file} | -nocheckpoint]
[-coverage max_percent]
[-decision <random | norandom>]
[-di_analysis | -nodi_analysis]
[-domain {clock_names}]
[-extra_cycle | -noextra_cycle]
[-fast_min_detects_per_pattern { d [d]}]
[-fast_path_delay | -nofast_path_delay]
[-fill <random |0|1|X| adjacent>]
[-group_clk_constraints { first_pass middle_pass final_pass }]
[-lete_fastseq | -nolete_fastseq]
[-load_mode <n | all>]
[-load_value [0 | 1]]
[-merge <off | low | medium | high | d [low | medium | high | d]>]
[-min_ateclock_cycles d]
[-new_capture | -nonew_capture]
[-num_processes number | max>]
[-num_threads <i>number</i>]
[-optimize_bridge_strengths | -nooptimize_bridge_strengths]
[-parallel_strobe_data_file [psd_file] | -noparallel_strobe_data_file]
[-patterns max_patterns]
[-post_capture_contention_prevention | -nopost_capture_contention_
prevention]
[-power_aware_asyncs | -nopower_aware_asyncs]
[-power_budget n] [-prevention <random | norandom>]
[-power_effort <high | low>]
[-quiet_chain_test | -noquiet_chain_test]
[-quiet_padding_patterns | -noquiet_padding_patterns]
[-replace_parallel_strobe_data_file | -noreplace_parallel_strobe_data_
file]
[-resim_atpg_pattern <off | fault_sim | nofault_sim | test_gen>]
[-save_patterns {file_name_prefix n}]
[-seq_contention_prevention | -noseq_contention_prevention]
set_atpg 325
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
[-shared_io_analysis | -noshared_io_analysis]
[-shift_controller_peak percentage]
[-shift_power_budget number]
[-shift_power_effort <off | low | medium | high | d >]
[-single_load_per_pattern | -nosingle_load_per_pattern]
[-store | -nostore]
[-streaming_xtol_chain_test on | off]
[-streaming_xtol_chain_diagnosis on | off | number_of_chain_patterns]
[-summary | -nosummary]
[-timing_exceptions_au_analysis | -notiming_exceptions_au_analysis]
[-target_clock_faults | -notarget_clock_faults]
[-time max_secs_per_fault [max_secs_per_run]]
[-verbose | -noverbose]
[-xtol_chain_diagnosis <off | low | high [d]>]
Arguments
-abort_limit comb_max_remade_decs
Specifies the maximum number of remade decisions before terminating a test generation
effort during the Basic-Scan and Fast-Sequential ATPG algorithms. The default is 10. X1
analysis is affected by the -abort switch, since it uses ATPG to figure out if the feedback
path is sensitizable.
TestMAX ATPG ignores this option. For more information, see TestMAX ATPG Multithreading
Command Option Support.
-add_setreset_test | -noadd_setreset_test
The -add_setreset_test option improves the resolution for chain diagnosis. This option
causes the set test pattern and reset test pattern to load values, 0 and 1, in scan chains,
and then apply the set and reset clock pulse to all the applicable scan cells. Both set and
reset test patterns use full observability mode. If all the scan cells have both set and reset
signals, then each stuck-at chain defect is distinguished based on these two patterns.
These patterns are not chain test patterns, but they can be annotated as chain tests if all
the clocks are off (inactive). This case might occur when either a 0 or a 1 value is loaded
into all scan chains, but the clock pulse is not applied.
When the -add_setreset_test option is set, the following message is printed during the
run_atpg process:
Adding reset test pattern using 1 clocks.
Adding set test pattern using 1 clocks.
The -add_setreset_test option is compatible with the -xtol_chain_diagnosis option
or the -quiet_chain_test option. The order in which you specify these options is
important: the -xtol_chain_diagnosis option or the -quiet_chain_test option must
be specified before the -add_setreset_test option.
The -chain_test option does not generate set and reset patterns.
-adjacent_fill_range d
This option only applies if the -fill adjacent option is used. It offers a compromise
between power usage and pattern count by limiting the number of adjacent bits having the
same value. The value d includes the care bit and typically has a value of 2 or greater. The
set_atpg 326
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
default adjacent fill range is 0. Higher values result in less compact, lower switching
patterns, while lower values result in more compact, and higher switching patterns. The
range is reset at each care bit, or when the previous range expires. When a range expires,
a random value is selected for the next fill range.
-allow_clockon_measures | -noallow_clockon_measures
Specifies whether to allow patterns that perform output measures while clocks are on. By
default, measures are not performed with any clocks on. Certain types of fault locations
cannot be fully tested under this restriction. For additional information, see "Supporting
Clock ON Patterns in STIL."
This option switches to non-threaded processing. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-analyze_untestable_faults | -noanalyze_untestable_faults
Use this option to enable global analysis to identify untestable faults when run_atpg
(without -auto_compress) is used, and also enables global testability analysis for 2-clock
transition ATPG. This analysis is useful for reducing pattern count when many targeted
faults are untestable. This option is always enabled when run_atpg -auto_compress is
used. The default is -noanalyze_untestable_faults.
-basic_min_detects_per_pattern d [d]
When the -merge option is enabled, this option avoids merging patterns that fail to detect
a minimum number of collapsed faults during basic scan ATPG and two-clock (transition)
ATPG. Note that the -merge option is on by default in TestMAX ATPG II, so this option is
always applied.
The -basic_min_detects_per_pattern option can be set at any time before running
ATPG; the default is 0 (not used). The second d parameter specifies to terminate basic
scan ATPG when the number of consecutive rejected patterns due to failure to achieve
minimum detections reaches the value specified. The default for this parameter is 40.
Changing this value to 0 means "no limit" on the number of consecutive rejected patterns.
A non-zero value here will reduce ATPG run-time, with a potential corresponding reduction
in coverage at the point of rejection if the remaining faults require some effort to detect.
This option provides a trade-off between run-time and early detection of faults when
pattern generation starts to drop in effectiveness.
When the second parameter is non-zero, TestMAX ATPG might report termination of
pattern generation due to a specified number of consecutive rejected patterns. The
number of rejected patterns specified in this message might exceed the setting of this
second parameter. This is because TestMAX ATPG operates on pattern sets for basic-scan
and two-clock environments in groups of 32, in parallel, and the results at the end of this
operation is reported across this entire group.
An exception to the usual effect of -fast_min_detects_per_pattern occurs when the
two-clock option is used for transition fault ATPG. In this case, the patterns are simulated
in groups of 32, rather than one at a time, so there is no measure of the number of detects
for each pattern at the time each pattern is generated. In this case, the -basic_min_
detects_per_pattern option is applied at the time the patterns are fault simulated rather
than as each pattern is being generated. In TestMAX ATPG, the size of the pattern group
varies, however patterns are still simulated in groups.
set_atpg 327
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l It does not compute power numbers for padding patterns. Power numbers for padding patterns are
effect if the -calculate_power option is used. If you want to generate switching information on a
cycle-by-cycle basis, use the following commands:
set_atpg –nocalculate_power (This is the default. It must be set before the run_
atpg command.)
report_power –per_pattern –shift –capture –per_cycle
Note: This option is ignored by TestMAX ATPG. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-capture_cycles d
Sets the Fast-Sequential ATPG algorithm effort level. Acceptable values are integers
between 2 and 10, or 0. A value of 0 disables Fast-Sequential ATPG pattern effort and
results in Basic-Scan (combinational) ATPG patterns, the default. A value of 2 or higher
enables Fast-Sequential ATPG pattern effort. A recommended starting value is 4. Be
careful not to to set this control too high, as it can cause long runtimes. Instead, generate
patterns, increase the value, generate more patterns, increase the value again, and repeat
until you achieve the desired test coverage.
Note:When running TestMAX ATPG, two-cycle patterns can be generated when the setting
is 0.
-chain_test <off | 0011 | 0101 | 1000 | 0111 | string>
Generates a chain test as pattern 0 during ATPG. The choices are:
set_atpg 328
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_atpg 329
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-extra_cycle | -noextra_cycle
The -extra_cycle option (the default) allows ATPG to generate 2-cycle patterns for
stuck-at faults even when fast sequential ATPG is not enabled. In most cases, only a small
number of 2-cycle patterns are generated near the end of the ATPG session. To prevent the
2-cycle patterns from being generated (which is always the case with single-process and
multicore ATPG), set the -noextra_cycle option. If you are using TestMAX ATPG, you can
control the clocking of the extra cycle for stuck-at faults using the set_delay -common_
launch_capture_clock command.
-fast_min_detects_per_pattern {d [d] }
When the -merge option is enabled, this option avoids creating patterns that fail to detect
a minimum number of collapsed faults during fast-sequential ATPG compression. This
option can be set any time before running ATPG; the default is 0 (not used).
The second d parameter specifies to terminate Fast-Sequential ATPG when the number of
consecutive rejected patterns due to failure to achieve minimum detections reaches the
value specified. The default for this parameter is 40. Changing this value to 0 means there
is no limit on the number of consecutive rejected patterns. A non-zero value will reduce
ATPG run-time, with a potential corresponding reduction in coverage at the point of
rejection if the remaining faults require some effort to detect. This option provides a trade-
off between run-time and detection of faults when pattern generation starts to drop in
effectiveness.
If you use the -fast_min_detects_per_pattern option to specify two parameters, you
must use Tcl list syntax (for example, enclose the values in curly braces):
set_atpg -fast_min_detect {100 10}
Note the following:
The -fast_min_detects_per_pattern option does not apply to the two-clock option with
transition fault ATPG; the two-clock option is controlled by the -basic_min_detects
option. In this case, the patterns are simulated in groups of 32 rather than one at a time, so
there is no measure of the number of detects for each pattern at the time each pattern is
generated. In this case, the -basic_min_detects_per_pattern option is applied at the
time the patterns are fault-simulated rather than as each pattern is being generated.
The -fast_min_detects_per_pattern option is ignored in TestMAX ATPG. However, you
should use the -basic_min_detects_per_pattern option for equivalent functionality on
basic scan patterns.
-fast_path_delay | -nofast_path_delay
Targets a list of path delay faults used by fast-sequential ATPG for generating path delay
patterns. The default is -fast_path_delay.
Note: This option switches to non-threaded processing. For more information, see
TestMAX ATPG Multithreading Command Option Support.
-fill <random |0|1|X| adjacent>
Specifies fill options for running internal scan and compressed scan patterns. During ATPG,
the values at some primary inputs and scan cells do not have affect the targeted faults.
These don't care bits can be filled based on user specification. Except as noted below, PIs
are filled with random values.
set_atpg 330
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The random parameter (the default) causes the don't care scan cells to be filled with
random values. This option produces the most compact pattern set, because non-targeted
faults are more likely to be detected with every don't care bit taking on a random value.
The 0 parameter causes don't care scan cells to be filled with 0s.
The 1 parameter causes don't care scan cells to be filled with 1s.
The X parameter causes don't care scan cells and PIs to be filled with Xs. This option
produces the least compact pattern set.
The adjacent parameter causes don't care scan cells to be filled with the value of the first
downstream (closer to scan output port) scan cell with a defined/care value. Fill values are
generated based on values at the scan input port (and not the values in the scan cells).
This option can be useful to minimize power usage during scan shifting by reducing signal
switching at the expense of higher pattern count.
Note: The adjacent parameter is supported in the presence of compression (i.e. DFTMAX
compression). However, all other fill values (0,1, X, and random) are treated as random.
-group_clk_constraints { first_pass middile_pass final_pass }
This option groups patterns into sets, each of which uses only one of the defined
ClockingProcedure blocks in the STL procedure file. These numbers are specified just
once, but they are applied for each individual clocking procedure. ATPG categorizes each
fault by the clocking procedures that can test it. Only the appropriate subset is considered
by ATPG as it generates tests for each clocking procedure. The grouping does not apply to
fast sequential patterns. It applies to two-clock-optimized transition delay patterns and
basic scan patterns for stuck-at.
The following arguments are specified in terms of percentages of the fault list:
l The first_pass argument specifies the target percentage of the fault list in the first pass through each
clocking procedure. The first pass results in long blocks of patterns with just one clocking procedure.
l The middle_pass argument specifies the target percentage of the fault list in the subsequent passes
through each clocking procedure. These passes are repeated until the final_pass number is
reached. The middle passes result in shorter blocks of patterns with just one clocking procedure.
l The final_pass argument specifies the target percentage of the fault list in the final pass in which any
clocking procedure might be used. In this pass, there is no guarantee that any two consecutive patterns
will share the same clocking procedure.
For more information, see "Using Internal Clocking Procedures."
-lete_fastseq | -nolete_fastseq
When the -lete_fastseq option is set, Fast-Sequential ATPG is target faults based on
Leading Edge (LE) Trailing Edge (TE) relationships between sequential elements.With -
nolete_fastseq (the default),Fast-Sequential ATPG will target all the faults as if there is
no such LE/TE clocking relationship, which is the typical mode of Fast-Sequential ATPG.
The -lete_fastseq option is intended to get extra fault coverage when there are many
faults whose detection depends on LETE effects.
Note: TestMAX ATPG ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-load_mode <n | all>
Generates quiet chain test patterns for a specific and existing load mode or all load modes.
When you use compression mode to generate a quiet chain test you cannot independently
set_atpg 331
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
load one internal scan chain. This is because, for a fixed compressor load mode, the same
internal scan chains are always fed by one load compressor scan input. Thus, it is not
possible to decouple two chains which are always tied together in same load mode.
To overcome this situation, use the -load_mode option to enforce the application of the
quiet chain test for a particular load mode or all load modes. You should specify the -load_
mode option after setting the -quiet_chain_test option.
-load_value [0 | 1]
Configures the constant value loaded into chain test patterns, and is particularly useful for
quiet chain test patterns. The constant value can be 0 or 1. The default is 0.
-merge <off | low | medium | high | d [low | medium | high | d]>
Specifies whether to perform pattern merging during Basic-Scan and Fast-Sequential ATPG
pattern generation. The argument indicates how much effort to spend doing merging. The
default is off (0), which means no merging is performed. Unless a value for this option is
specified or the run_atpg -auto_compression command is being used, no merging will
occur and there is no verbose output to report.
The first value sets normal ATPG secondary test generation merge effort The second value
sets the merge effort for mutiple fault sensitization, which occurs when -auto_
compression is used. The labels low, medium, and high are accepted for both, as well as
an integer value. The first group of labels have corresponding numeric values of low=20,
medium=100, and high=500. The second group of labels have corresponding numeric
values of low=200, medium=1000, and high=5000. To help determine whether a chosen
effort level is appropriate, you can use the -verbose option.
Enables 2-clock optimization, set_delay -two_clock_transition_optimization, when
-merge is set to a value other than 0.
Note: If you are using TestMAX ATPG, this option is ignored. For more information on
TestMAX ATPG, see "Running TestMAX ATPG."
-min_ateclock_cycles d
Specifies the minimum number of system cycles each pattern must have. Each system
cycle pulses all defined reference clocks (if any). By default, the number of ATE Clock
cycles is the same as the value for set_drc -num_pll_cycles (or the PLLCycles value in
the STIL procedure file). This might have to be increased to account for OCC Controller
latency, or if one of the PLLs has a low frequency.
set_atpg -min_ateclock_cycles 3 # example
A minimum number of ATE clock cycles can be defined to allow sufficient time between the
end of a load_unload and the start of the next load_unload for the clock generator and
the PLL controller to switch from shift to system mode, pulse the designated internal
clocks, and switch back to shift mode.
-new_capture | -nonew_capture
The simulation behavior of trailing-edge (TE) devices is to always capture the state after
the leading-edge (LE) and level-sensitive (LS) devices have captured. This pattern always
simulates correctly, but it might not detect the target fault. ATPG recognizse all forms of
"capture new" behavior for DLATs and DFFs, and it creates patterns that are much more
likely detect such target faults, including:
set_atpg 332
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The default is the -nonew_capture option. For DFTMAX Ultra, the default is the -new_
capture option.
Note: TestMAX ATPG ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-num_processes number | max>
Specifies the number of slave processes to be used for multicore ATPG. The number
specification refers to the number of slave processes that is used in ATPG. If max is
specified, then TestMAX ATPG computes the maximum number of processes available in
the host based on number of CPUs. If TestMAX ATPG detects that the host has only one
CPU, then single-process ATPG is performed instead of multicore ATPG with only one slave.
Note that you should not specify more processes than the number of CPUs available on the
host. You should also consider whether there is other CPU-intensive processes running
simultaneously on the host when specifying the number of processes. If too many
processes are specified, performance will degrade and might be worse than single-process
ATPG. On some platforms, TestMAX ATPG cannot compute the number of CPUs available
and will issue an error if max is specified.
Note the following:
l When the -num_processes option is selected, the parameters for the following options need to be set
coverage, you might see pattern or coverage overruns. Normally, when a pattern or coverage limit is
met, a slave process finishes its current interval and stops. However, because slave processes work
concurrently in ATPG, these finishing intervals might add additional patterns and fault coverage beyond
the set limit. The more slave processes that are used, the more likely overruns will occur.
l To turn off multicore ATPG, specify set_atpg -num_processes 0.
l This option has no effect on TestMAX. For more information, see TestMAX ATPG Multithreading
-num_threads number
Specifies the number of threads to use for multithreading. This option only works if you
have installed TestMAX. By default, the number of threads is set to 8. This option is used
with the -num_threads option of the set_simulation command. Both options must be set
to the same value, as shown in the following example:
set_atpg -num_threads 12
set_simulation -num_threads 12
set_atpg 333
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If you set this option to 0, multithreading is disabled and non-threaded processing is used.
Note: You cannot read image files into TestMAX ATPG after changing the value of the -
num_threads option. For more information, see TestMAX ATPG Multithreading Command
Option Support.
-optimize_bridge_strengths | -nooptimize_bridge_strengths
Selects strength-sensitive bridging fault ATPG and fault simulation. TestMAX ATPG
attempts to generate patterns with fully optimized detection for all faults. If it fails to
obtain a fully optimized detection, it falls back to minimal or partially optimized bridging
fault detection. During ATPG, faults in any of these three bridging fault detection categories
is marked as detected. For additional information about detection categories, see
"Categories of Bridging Faults" in the TestMAX ATPG User Guide. The default is -
nooptimize_bridge_strengths.
-parallel_strobe_data_file [psd_file] | -noparallel_strobe_data_file
Generates a parallel strobe data (PSD) file used for debugging parallel simulation failures
using the CPV flow. The data in the PSD file corresponds to the expected strobe (unload
scan chain) data. For details, see "Using the run_atpg Command to Create a PSD File."
Note:TestMAX ATPG ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-patterns max_patterns
Specifies the termination of the ATPG effort when the pattern count equals or exceeds the
specified value. A value of 0 disables this limit. The default is no pattern limit. If you
combine this option with the -num_processes option, you might see pattern overruns.
Normally, when a pattern limit is met, a slave process finishes its current interval and
stops. However, because slave processes work concurrently in ATPG, these finishing
intervals might add additional patterns beyond the set limit. The more slave processes that
are used, the more likely overruns will occur.
-post_capture_contention_prevention | -nopost_capture_contention_prevention
Activates an algorithm that avoids postclock contention during pattern generation. The
older (and default) method is to check for postclock contention after a pattern is
generated, and to discard it if contention is found. Enabling this option will consume more
CPU time during pattern generation but might result in finding and retaining more patterns
than the default algorithm.
-power_aware_asyncs | -nopower_aware_asyncs
Activates testing of asynchronous sets and resets from primary inputs for legacy scan
designs. Note that this feature is not implemented for DFTMAX designs. Also note that the
design should be capable of propagating asynchronous signals so there is sufficient time
for them to fit within the given ATE vector. The default is -nopower_aware_asyncs.
-power_budget number| min
Sets a power (switching) budget for the Power Aware ATPG feature.The number
specification is an integer that specifies the maximum number (as a percentage) of
scannable flip-flops budgeted to change during capture. The min specification is the
minimum recommended setting based upon the clock-gating analysis. The clock-gating
analysis is dependent upon the user-provided STL procedure file. For details, see "Power
Aware ATPG " in the TestMAX ATPG and TestMAX Diagnosis User Guide.
set_atpg 334
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If scan compression mode is used, then the load mode 0 is used by default and P quiet
chain test patterns are generated, where P is the total number of input compressor inputs.
The following message is printed during the ATPG run:
<P> quiet chain patterns were generated using load mode 0.
To generate quiet chain test patterns for a specific and existing load mode or all load
modes, use the following command:
set_atpg -load_mode <<n> | all>
Note: This command has no significance for DFTMAX Ultra. All quiet chain test patterns are
generated with load mode 0.
set_atpg 335
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If the following sequence of commands is issued, no chain test patterns, including quiet
chain test patterns, are generated:
set_atpg -chain_test off
set_atpg -quiet_chain_test
When quiet chain test patterns are generated, all other chain test patterns are not
generated, including regular chain test pattern and augmented chain test patterns.
The first generated pattern is a preliminary pattern which initializes the chains with a
constant value. This pattern is necessary to contribute to the low switching activity of the
first quiet chain test. After this pattern is generated, the quiet chain test patterns are
generated.
Note: The preliminary pattern is not generated for DFTMAX Ultra.
The default, -noquiet_chain_test, disables the generation of quiet chain test patterns.
-quiet_padding_patterns | -noquiet_padding_patterns
Forces the suppression of clocks when generating padding patterns during ATPG. By
default (the -noquiet_padding_patterns parameter), the clocking of the pattern
preceding the pattern is used, except if a power budget is set in which case the clocks are
suppressed. This option affects only TestMAX ATPG.
-replace_parallel_strobe_data_file | -noreplace_parallel_strobe_data_file
Replaces an existing PSD (parallel strobe data) file used for debugging parallel simulation
failures using the CPV flow. The data in the PSD file corresponds to the expected strobe
(unload scan chain) data. For details, see "Using the run_atpg Command to Create a
PSD File."
-resim_atpg_patterns <off | nofault_sim | fault_sim | test_gen>
This option (the off argument is the default) enables the resimulation of ATPG-generated
patterns to increase the robustness of patterns by masking all differences between the
simulation performed during the ATPG process and the resimulation. As a result, all run_
simulation failures are eliminated. This functionality is supported for all fault models
using basic scan and fast-sequential patterns for all scan and DFTMAX flows. It is not
supported for full-sequential ATPG. Note: This option requires significant CPU resources,
even if no mismatches are identified.
When the -resim_atpg_patterns option is turned on (using the nofault_sim, fault_
sim, or test_gen arguments), the following actions are performed at the end of the ATPG
process:
l Good machine resimulation is performed for all basic scan and fast-sequential patterns.
l Measures which have a difference are replaced with Xs.
l The lines which indicate failures are suppressed, but all other lines from the run_
simulation command are retained.
l If any measures are replaced with Xs and the fault_sim argument is selected, the
following events will occur:
o All Detected by Simulation (DS) faults are reset to Not Controlled (NC).
o All active faults are simulated over all patterns using the adjusted measures.
set_atpg 336
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
o The output during fault simulation is the same as the output produced by the
run_fault_sim command.
l The test_gen argument behaves the same as the fault_sim argument, except that an
additionalrun_atpg pass is automatically performed, if needed, to recover coverage lost
during the masking process.
l An expert-level message is issued at the end of the process indicating the number of
measures replaced with Xs and the total CPU time.
set_atpg 337
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If the number of reported priority faults is zero, then the –shared_io_analysis option has
no effect and should not be used. A non-zero number indicates that the –shared_io_
analysis option can improve ATPG efficiency.
Note:TestMAX silently ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-shift_controller_peak percentage
Specifies the maximum percentage of scan cells that can switch in a shift cycle when
controlled by the shift power groups hardware that can be added to DFTMAX compression.
Shift power groups reduce power consumption during scan shift. The -shift_controller_
peak option cannot be used if shift power groups were not specified during DFT insertion
using the -shift_power_groups true option of the set_scan_compression_
configuration DFT Compiler command. If shift power groups were specified, the -shift_
controller_peak option is required unless the shift power disable signal is constrained to
disable this feature.
Patterns that exceed the percentage specified by the -shift_controller_peak option
are rejected during ATPG, but the minimum percentage that can be used for successful
pattern generation depends on the shift power chain length or ratio specified for DFT
insertion. The default peak percentage is 100.
Additional information on configuring shift power groups is provided in "Reducing Scan Shift
Power Using Shift Power Groups" in the TestMAX DFT, DFTMAX, and DFTMAX Ultra User
Guide.
-shift_power_budget number
Sets a budget for TestMAX ATPG to reject patterns that exceed the specified maximum
percentage of scan cells switching in a shift cycle. This option must be used with the -
shift_power_effort option, and works only with basic scan, fast-sequential, and two-
clock transition ATPG. Set the -shift_power_ budget option to 0 to turn it off, as shown
in the following example:
set_atpg shift_power_budget 0
The default budget is 100.
-shift_power_effort <off | low | medium | high | d >
Specifies a relative level of effort for reducing switching activity. You can use the d
argument to specify a number between 1 and 100. The lower the specified number, the
more effort is applied to reducing switching activity. The low argument corresponds to a
setting of 50, the medium argument corresponds to a setting of 30, and the high
argument corresponds to a setting of 10. The default is the off argument, which disables
the -shift_power_effort option.
The -shift_power_effort settings do not result in an exact reduction of switching
activity. In some cases, there might not be a discernible difference in switching activity
reduction, even though different levels are specified.
-single_load_per_pattern | -nosingle_load_per_pattern
The -single_load_per_pattern option limits the number of scan loads in any given
pattern to 1. The default is -nosingle_load_per_pattern.
-store | -nostore
set_atpg 338
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies whether ATPG patterns created is stored. Selecting -nostore performs ATPG to
determine a test coverage without saving the patterns. The default is -store.
-summary | -nosummary
Specifies whether a completion summary is issued after the ATPG pattern effort is
completed. By default, a summary of pattern count, test coverage, and fault report is
displayed after each run_atpg command.
-streaming_xtol_chain_diagnosis on | off | number_of_chain_patterns
Turns on and off chain test patterns for DFTMAX Ultra 1:1 mode patterns. When this option
is turned on, one chain test pattern is used for a chain. By default, one chain test and four
default patterns are used to verify the integrity of the DFTMAX Ultra architecture; this
includes the first three patterns and last pattern of a pattern set. The number_of_chain_
patterns parameter generates high resolution patterns for scan position localization. Ten
capture patterns are generated by default.
-streaming_xtol_chain_test on | off
Controls the generation of test patterns for DFTMAX Ultra chain diagnostics. To turn off the
generation of patterns for DFTMAX Ultra chain diagnostics, specify the off argument.
-target_clock_faults | -notarget_clock_faults
Enables Fast-Sequential ATPG to sensitize faults through the clock input of a latch, if
necessary. This option is typically used if sensitization through a clock pin was previously
blocked in Fast-Sequential ATPG, and some coverage might have been lost because of this
restriction. The -notarget_clock_faults option resets Fast-Sequential ATPG back to the
default settings.
-time max_secs_per_fault [max_secs_per_run]
Specifies the maximum CPU time, in seconds, allowed per fault during the Basic-Scan or
Fast-Sequential ATPG before a fault detection effort is terminated. The optional second
argument indicates the maximum CPU time allowed for the entire Basic-Scan and Fast-
Sequential portions of the run_atpg command. The default is no time limits. After it is
turned on, the time limit can be turned off again by specifying a 0 for the time values.
Note for Tcl mode: Multiple values specified by the -time option must appear as a list
and be enclosed by curly braces, for example:
TEST-T> set_atpg -time {5 15}
–timing_exceptions_au_analysis | -notiming_exceptions_au_analysis
This setting enables a special type of AU analysis to be performed at the start of the run_
atpg process. For each fault affected by SDC (Synopsys Design Constraints) timing
exceptions, if all the gates in both the backward and forward logic cones are part of the
same timing exception simulation path, then the fault is marked AU. If any gates on either
cone are not part a timing exception simulation path, or are only on the paths for other
exceptions, the fault remains ND and is targeted by ATPG. This analysis completes before
any patterns are generated, and no additional faults are marked as AU because of timing
exceptions during the rest of the ATPG process. The default is -notiming_exceptions_
au_analysis.
set_atpg 339
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
observe each individual chain. The off parameter (the default) generates augmented chain test
patterns only for compressors with R10 violations.
l The second pattern set consists of X-tolerant capture patterns using the available X-tolerant modes.
These patterns target primary and secondary faults similar to standard ATPG, and all detected faults are
classified accordingly and removed from the list of faults for ATPG to target.
The low parameter generates 64 additional patterns (32 capture patterns plus 32 padding
patterns) that use only N:1 X-tolerant modes. The high parameter generates additional
patterns that use all available 1:1 X-tolerant modes. The default is to generate 10 capture
patterns for each available 1:1 X-tolerant mode. The optional d parameter can specify the
number of capture patterns generated for each 1:1 mode.
The -xtol_chain_diagnosis option is not supported for distributed ATPG. You can use
the -only_chain_diagnosis option of the run_atpg command to terminate ATPG after
generating the X-tolerant chain test and capture patterns. You can then enable distributed
ATPG to complete pattern generation in a second pass (for example, using the run_atpg -
auto command).
set_atpg 340
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to set the parameters that control the ATPG process. It also affects all analyses that use
test generation (including DRC and justification). You can display the current settings with the report_
settings command.
Examples
TEST-T> set_atpg -patterns 400 -abort_limit 5
See Also
analyze_buses
analyze_faults
analyze_feedback_path
analyze_wires
report_settings
run_atpg
run_drc
run_justification
Pin Name
Specifying Lists in Tcl Mode
set_atpg 341
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_build
Overview
This command sets the parameters that control how TestMAX ATPG builds a simulation model when you
specify the run_build_model command.
Syntax
set_build
[-black_box module_name | -design_box module_name | -empty_box module_name
| -nobox module_name | -portfault_box module_name | -reset_boxes]...
[-bus_handling <none | pulldown | pullup | keeper>]
[-coerce_port_directions | -nocoerce_port_directions]
[-delete_unused_gates | -nodelete_unused_gates]
[-fault_boundary <lowest | hierarchical>]
[-hierarchical_delimiter c]
[-inout_force {input_port_names}]
[-inout_reset]
[-instance_modify {instance_name gate_type_name}| -noinstance_modify
{instance_name} | -all]
[-limit_fanout d]
[-merge {<bus_keepers | nobus_keepers> | <cascaded_gates_with_pin_loss |
nocascaded_gates_with_pin_loss> | <dlat_from_flipflop | nodlat_from_
flipflop> | <equivalent_dlat_dff | equivalent_initialized_dlat_dff |
noequivalent_dlat_dff> | <feedback_paths | nofeedback_paths> | <flipflop_
from_dlat | flipflop_cell_from_dlat | noflipflop_from_dlat> | <global_tie_
propagate | noglobal_tie_propagate> | <mux_from_gates | muxpins_from_gates
| muxx_from_gates | nomux_from_gates> | <tied_gates_with_pin_loss |
notied_gates_with_pin_loss> | <wire_to_buffer | nowire_to_buffer> | <xor_
from_gates | xorpins_from_gates | noxor_from_gates> }]...
[-net_connections_change_netlist | -nonet_connections_change_netlist]
[-undriven_bidi <pio | pi |po>]
Arguments
-black_box module_name | -empty_box module_name | -nobox module_name | -
design_box module_name | -portfault_box module_name | -reset_boxes
The -black_box option specifies a module to be treated as a black box. This option is
mutually exclusive with the -portfault_box option.
The -empty_box option specifies a module to be treated as an empty box.
The -design_box option specifies the module is to be considered a design library cell. In
this case, faults are placed only at the pin boundaries of the module.
The -portfault_box option forces the build process to preserve pin names of modules
that would normally be flattened in the model. This option can be used as a workaround for
the read_sdc command when module pins are accepted as -through points for false and
multicycle paths, but flattening during the build process will remove all reference to them
so they cannot be found. In this case, the -portfault_box option used for the module(s)
set_build 342
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
whose pins are used as through points. Note that the -portfault_box option is mutually
exclusive with the -blackbox option.
The -nobox option is used to remove the black box, empty box, portfault box, or design
box setting from a module previously set to one of these types.
The -reset_boxes option provides a convenient method for doing a -nobox on all of the
modules at once. You can see which modules have been assigned the black box or empty
box attribute using the report modules command. A (BB) or (EB) indicator appears in the
rightmost column to indicate this attribute.
You can use a Tcl list to specify more than one module using the -black_box, -empty_box,
or -nobox option. For example:
DRC-T> set_build -empty_box {MY_MODULE PLL_CORE}
For best results, you should read all netlists before declaring any options related to boxes.
-bus_handling <none | pulldown | pullup | keeper>
When pulldown is selected, a weak pulldown driver is added to all BUS gates that don't
already have a TIE connection of any strength. When pullup is selected, a weak pullup
driver is added to all BUS gates that don't already have a TIE connection of any strength.
When keeper is selected, a bus keeper is added to all BUS gates without bus keepers. In
this case, a half-keeper (that is, a bus keeper that holds only 0 or 1) is upgraded to a full-
keeper (one that holds both 0 and 1). The default is none and no additional actions are
performed.
Note: Using a non-default setting of the -bus_handling option might result in the
generation of patterns by the ATPG engine that can fail VCS simulation or fail on silicon, if
the actual design does not have the same BUS behavior that ATPG considers.
-coerce_port_directions | -nocoerce_port_directions
Selecting -coerce_port_directions transforms PO gates that connect to nets with one
or more other sinks into PI gates and no B7 is issued. This transformation is done
hierarchical, bottom-up. The model built reflects the new port direction. The netlist data is
also changed: a subsequent write_netlist command will show the module having a PI
instead of the PO; also, a subsequent run_build command will not show the
transformation again because the internal netlist data has already been changed. At the
end of build, message M435 is issued if one or more POs have been transformed into PIs.
The default setting is -nocoerce_port_directions, which is the old behavior (that is, if a
PO gate is connected to a net with no sources, then a TIEZ drives the PO and a B7 violation
is issued).
-delete_unused_gates | -nodelete_unused_gates
Selects whether unused gates are deleted from the simulation model. An unused gate has
no outputs connected to other gate inputs or bidirectional pins. With unused gates deleted,
the corresponding fault sites are also deleted. These faults are normally the UD =
Undetectable class of faults. Since the UD faults are included in the fault coverage
calculation, you should be aware of how unused gates can affect this reported value. The
default is to delete all unused gates.
By default, all unused gates are deleted during model optimization. An unused gate is
defined as a gate that has no fanout to another gate (not even a "black box" or TIEX gate),
except possibly to other unused gates. Removal of unused gates during hierarchical,
bottom-up model build can significantly improve performance and reduce memory usage.
set_build 343
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
However, all fault sites on pins of unused gates are also removed (these faults could not be
detected anyway, because they do not connect to an output).
Conversely, -nodelete_unused_gates preserves the undetectable faults, but can
significantly degrade performance and increase memory usage.
Often, -nodelete_unused_gates is used to facilitate comparison between TestMAX ATPG
fault population and the fault population of other ATPG tools that use less optimized
models. This has the unfortunate side-effect of degraded performance, yet doesn't provide
a fair comparison. Here is why:
All faults on unused gates are in the UD category and do not affect test coverage.
However, only a fraction of the unused gates are due to unconnected logic in the design;
the rest are the result of previous optimizations (for example, replacing equivalent
DLAT/DFFs). The latter gates, if not removed, would contribute to both UD and detectable
(DT) fault categories, thereby increasing the total fault count, although the pattern set
generated would not differ.
Therefore, a better method to compare TestMAX ATPG to other tools is to keep the default
-delete_unused_gatesand compare the numbers of detected faults.
-fault_boundary <lowest | hierarchical>
Specifies where faults is placed in the absence of any `celldefine, `suppress_faults, or
`enable_portfaults directives within a Verilog netlist. A selection of lowest causes faults to
be placed on the ports of the lowest-level modules (modules not containing instances of
other modules). A selection of hierarchical causes faults to be placed on all modules in
the hierarchy that contain at least one instance of a primitive. The default is lowest.
-hierarchical_delimiter c
Specifies the character to use as the hierarchical delimiter for pin, net, and instance path
names. Do not change this character after performing a run_build_model command, or
else unpredictable fault lists will result. The default is a forward slash "/".
-instance_modify {instance_name gate_type_name} | -noinstance_modify
{instance_names}| -all
Defines a list of instance modifiers that specify how selected instances are defined in the
flattened model. Note that in Tcl mode you must use curly braces to specify a list.
The -instance_modify {instance_name gate_type_name} option specifies that
instance_name should be replaced with a gate of type gate_type_name. The supported
gate types and their respective restrictions are as follows:
BUF, INV: the instance must have a single input and no BIDI.
AND, NAND, OR, NOR, XOR, XNOR: the instance must have no BIDI.
TIEX, TIE0, TIE1, TIEZ: no restrictions.
DLATDFF2BUF: all single-port DLAT and DFF primitives (with tied-off set or reset) within the specified
instance, if any, are replaced with buffers from the data input to the output; the set, reset and clock inputs are
disconnected.
Example:
set_build -instance_modify {mybuffer TIEX}
Note that the command syntax and the instance type are checked immediately when the
command is entered; any error will cause the command to be rejected. The restrictions for
set_build 344
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
each instance type are checked at the beginning of build. Error conditions are reported in
M496 messages and cause the build process to terminate immediately.
Message Examples:
Instance_modify instance_name gate_type_name was not found and removed
(M496)
Explanation: The specified instance was not found. Check the path name entered.
Instance_modify instance_name gate_type_name cannot be applied to module
module_name with number bidis and was removed (M496)
Explanation: The specified instance has BIDI pins and cannot be remodeled as the
Boolean gate chosen. Change the instance or model it as a TIE gate.
Instance_modify instance_name gate_type_name cannot be applied to module
module_name with number inputs and was removed (M496)
Explanation: The specified instance has more than one input and cannot be remodeled
as the Boolean gate chosen. Change the instance or model it as a multi input gate.
Note that all invalid instance modifiers are removed from the list of instance modifiers. You
can then add additional instance modifiers and restart the build process.
The -noinstance_modify {instance_names} | -all option deletes the selected or all
instance modifiers, thus restoring the netlist definition of an instance or all instances.
These options can be repeated in the command line to add or remove additional instance
modifiers.
Boxed modules (see [-black_box module_name ...]) are considered before instance
modifiers, so no instances can be found inside a black/empty-boxed module.
The list of all current instance modifiers is displayed as part of the report_settings
build command output.
The report_instances command output and the block information window in the GSV
identify if a particular instance has been modified.
-inout_force {input_port_names}
Defines a set of input signals in the top-level module that are redefined as bidirectional
signals (inout signals). The input_port_names argument can be a single name or a list of
port names. Only the input ports in the input netlist can be modified. This modification does
not create a full bidirectional signal in the design. Instead, it changes the test program to
reference the signal as an inout signal.
The -inout_force option only provides a mechanism to uniformly ignore the defined
signals as input signals in the test program. Changed signals must be constrained to a
single value and you should use the add_po_masks command for these signals.
When the -inout_force option is specified, the top module specified for the run_build_
model command will change the port names to original_module_inout_force, and the
run_build_model command will use this modified interface. Full port names are required;
wildcard expansion of these references is not supported.
You can replace full vectored ports (buses) by referencing the signal name withoutthe
bracket notation. These signal references cannot be validated until the top-level module is
identified using the run_build_model command; errors with incorrect names are not
reported until after the run_build_model command is executed. Theread_netlist -
delete command will remove these definitions, so the names must be specified again after
specifying this command.
set_build 345
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-inout_reset
Removes any signal names defined using the -inout_force option from subsequent
processing when executing the run_build_model command.
-limit_fanout d
Limits the number of fanouts a gate is allowed to have. You can set this limit using the -
limit_fanout d option. The default is 256. It can set to any value between 16 and 65536.
A higher limit can slightly reduce the number of buffers and inverters in the final model, but
can also significantly increase memory and CPU time. This fanout limit applies only to
netlist nets and does not apply to internal connections between RPORT, ADRBUS,
DATABUS, and MEMORY primitives.
Limiting the fanout (for designs that have a large number of gates with very large fanout)
results in a small increase in the number of buffers and inverters in the final model, but the
peak memory usage is decreased significantly. Reducing the fanout also increases the
ATPG performance.
-merge {<bus_keepers | nobus_keepers> |
<cascaded_gates_with_pin_loss | nocascaded_gates_with_pin_loss> |
<dlat_from_flipflop | nodlat_from_flipflop> |
<equivalent_dlat_dff | equivalent_initialized_dlat_dff
| noequivalent_dlat_dff> |
<feedback_paths | nofeedback_paths> |
<flipflop_from_dlat | flipflop_cell_from_dlat | noflipflop_from_dlat> |
<global_tie_propagate | noglobal_tie_propagate>
<mux_from_gates | muxpins_from_gates | muxx_from_gates
| nomux_from_gates> |
<tied_gates_with_pin_loss | notied_gates_with_pin_loss> |
<wire_to_buffer | nowire_to_buffer>
<xor_from_gates | xorpins_from_gates | noxor_from_gates>}
TestMAX ATPG has 16 model flattening optimization algorithms, of which 11 are under user
control. You control them by using the -merge option before you use the run_build_model
command. These algorithms are all designed to reduce the number of gates in the final
image, allowing larger designs in the same memory and less CPU effort than the original
design. These controls are independent of each other. To adjust more than one control,
repeat the -merge option as needed. All optimization algorithms are enabled by default
except for tied_gates and cascaded_gates. For additional information, see
Understanding Flattening Optimization.
-net_connections_change_netlist | -nonet_connections_change_netlist
If -nonet_connections_change_netlist is specified, then net connections only affect
the flatten model. The default is -net_connections_change_netlist.
All net connections of type -module or -all are resolved during flattening at the netlist
level, thus modifying the netlist.
Note that, in concordance with existing restrictions in the add_net_connections
command, net connections of type -module or -all must be TIEs (no PI, PO, PIO) and
moreover, they cannot have a port name or use the -remove argument (-disconnect is
supported).
Because netlist data can now be changed by net connections of type -module or -all
(not just the flatten model), there are several implications:
set_build 346
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Modules changed by net connections are marked by "(nc)" at the end of the line in the report modules output.
Such modules cannot also have the "(BB)" or "(EB)" marker (black box and design box).
If a write_netlist command is issued and the modules written include one or more modules modified by
net connections, a new warning message is output:
Description
This command sets the parameters that control how TestMAX ATPG builds a simulation model when you
specify the run_build_model command. Any changes you make using the set_build command only
affect the future use of the run_build_model command. They do not affect an existing flattened image
created from the run_build_modelcommand.
Examples
BUILD-T> set_build -hierarchy . -nodelete_unused_gates
See Also
report_settings
run_build_model
S18
set_build 347
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_buses
Overview
Use this command to set the parameters that control the behavior of bus gates.
Syntax
set_buses
[-contention_status <<ignore | noignore> <gate_id | pin_pathname | all>>…]
Arguments
-contention_status <<ignore | noignore> <gate_id | pin_pathname | all>>....
Ignores selected buses for contention.
-external_z <z | 0 | 1 | x>
Specifies the behavior of the Z state for external pins and determines the usability of the Z
state for fault detection. The default is z, which enables detection of Z states on outputs
and bidirectional ports. If your target tester does not support this behavior, you need to
disable it by selecting x.
-fault_contention <and | or | x>
This option affects only the fault simulator, and has no effect on the test generator itself.
Adjusts the fault machine simulated value for the bussed net when buses are in contention
(multiple drivers on). The default is X. When a value of and is selected, the simulated value
in the faulty machine when contention occurs is the AND of the values, which is often 0.
Likewise, a selection of orproduces a fault machine-simulated value, which is the OR of the
data values, most often 1. Using a simulated contention value, which is 0 or 1 instead of X,
can make it easier to detect faults on the tristate enable control lines. This is not possible if
the faulty machine simulated value is X. In essence, when a value other than X is selected,
the fault simulator "pretends" it can still be able to detect faults on tristate enable lines,
even though contention is occurring. This setting does not affect the simulated value of the
GOOD machine.
This option is not yet implemented for the Full-Sequential pattern generator.
-zstate_status <<ignore | noignore> gate_id | pin_pathname | all>>...
Ignores selected buses for z-state checking.
Description
Use this command to set the parameters that control the behavior of bus gates. You can display the current
settings with the report_settings bus command.
set_buses 348
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
See Also
report_settings
report_buses
set_buses 349
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_colors
Overview
This command sets the colors for selected transcript messages.
Syntax
set_colors
<error | warning | user_commands | file_commands>
<red_number> <green_number> <blue_number>
Arguments
error
Changes the color of error messages in the transcript. The default color is red.
warning
Specifies changing the color of warning messages in the transcript. The default color is
magenta.
user_commands
Changes the color of user command messages in the transcript. The default color is blue.
file_commands
Changes the color of file command messages in the transcript. The default color is green.
red_number
The intensity of the red component, an integer between 0 and 255 inclusive. The higher the
number, the greater the amount of red.
green_number
The intensity of the green component, an integer between 0 and 255 inclusive. The higher
the number, the greater the amount of green.
blue_number
The intensity of the blue component, an integer between 0 and 255 inclusive. The higher
the number, the greater the amount of blue.
Description
This command sets the colors for selected transcript messages. All message text of the selected type is
changed in color, including existing text in the transcript.
Examples
# the color of error transcript messages is set to blue
DRC> set_colors error 0 0 255
set_colors 350
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_settings
set_colors 351
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_commands
Overview
Use this command to control the command history or to specify the handling of errors during command file
execution.
Syntax
set_commands
[history | nohistory] [abort | noabort | exit]
[-secure <command | all> | -nosecure <command | -all>]
Arguments
history | nohistory
Specifies whether a command history is stored. The default is history.
abort | noabort | exit
Specifies what happens when an error occurs during execution of a command file. Abort
causes execution of the command file to stop at the error. Noabort allows execution to
continue after the error. Exit causes termination of the TestMAX ATPG session at the error.
The default is abort. Note the following:
l You cannot use the Control-c keyboard combination to replicate the abort option during the execution
of the set.
l The -noabort option will override Tcl script variables "set sh_script_stop_severity E" and "set sh_
continue_on_error False." You should use either the set_commands options or the Tcl variables in a
script flow. Using both may result in unpredictable results.
set_commands 352
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to control the command history or to specify the handling of errors during command file
execution. You can display the current settings with the report_settings command.
This command can also be used to specify the command or commands allowed after reading in a password-
protect image file. For more information on using this command in conjunction with creating an image file, see
"Creating a Secure Image File."
Note: Commands executed from a command file are *NOT* recorded into the command history.
Examples
See Also
Binary Image Files
report_settings
report_commands
Table Column Outside Table:
set_commands 353
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_contention
Overview
Use this command to specify the types of contention checking performed and the reporting of these conditions.
Syntax
set_contention
[abus | noabus] [bidi | nobidi] [bus | nobus] [dff_dlat | nodff_dlat]
[float | nofloat] [ram | noram] [wire | nowire]
[-atpg | -noatpg] [-capture | -nocapture]
[-capture_constraint_check | -nocapture_constraint_check]
[-preclock | -nopreclock]
[-multiple_on | -nomultiple_on]
[-retain_bidi | -noretain_bidi]
[-severity <error | warning | ignore>]
[-verbose | -noverbose]
Arguments
abus | noabus
Specifies whether contention checking is performed for address ports on RAMs. ABUS
contention occurs when an illegal address appears at an address ports of a RAM during
write operation for this address port. When you select the abus option, any patterns
generated that have ABUS contention are identified and discarded. The default is noabus.
bidi | nobidi
Specifies whether contention checking is performed for bidirectional ports. Bidirectional
port contention occurs when both the device under test and the testbench drive values
onto the same pin, whether or not they are driving the same value. Patterns that cause
contention are discarded in favor of other patterns. The default is bidi, which causes this
type of contention checking to be performed.
bus | nobus
Specifies whether contention checking is performed for buses. Bus contention occurs when
there are opposing strong values driven on a BUS primitive. When you select the bus
option, any patterns generated that have bus contention are identified and discarded. The
point in the cycle at which the bus contention check is performed (preclock, clock-on,
postclock) is affected by the -capture and -preclock settings. The default is bus.
dff_dlat | nodff_dlat
Specifies whether contention checking is performed for clock/set/reset pins on latches and
flip-flops. Contention occurs when more that one clock/set/reset pin is active at the same
time on a DLAT or DFF primitive. When you select the dff_dlat option, any patterns
generated that have port contention are identified and discarded. The default is nodff_
dlat, which means that this type of contention checking is not performed.
float | nofloat
set_contention 354
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Note: This option is not yet implemented for Full-Sequential ATPG, which defaults to -
capture behavior.
-capture_constraint_check | -nocapture_constraint_check
Specifies whether to check for ATPG constraints after a capture clock is applied. The
default (-nocapture_constraint_check) does not check for ATPG constraints after
applying a capture clock.
-preclock | -nopreclock
Specifies whether contention checking is performed from the point at which inputs are
changed (before any optional capture clocks). The default is to check for contention from
the start of a cycle. If any pattern has this type of contention, it is discarded and other
patterns are attempted.
set_contention 355
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This figure shows the different portions of a typical capture clock cycle and where
contention checking occurs. The preclock contention checking is the portion of the cycle
from the force PI events until the clock-on event. The clock-on contention checking occurs
at the instant the clock is asserted, but before the changes which would occur from
propagating sequential gate inputs to their outputs. The postclock contention checking is
done after the clock event and after the sequential gate outputs are updated due to the
clock. preclock and postclock contention checking have individual controls. Clock-on
contention checking is generally controlled with the bus/nobus option.
Note: This option is not yet implemented for Full-Sequential ATPG, which always uses -
preclock behavior.
-multiple_on | -nomultiple_on
Specifies whether bus contention is considered to occur when more than one strong driver
is active, even if they drive the same value. Selecting -multiple_on means that multiple
drivers on with the same value are allowed and not considered contention. Selecting -
nomultiple_on means that having multiple drivers on is considered contention, regardless
of the driven value. The default is -multiple_on.
-retain_bidi | -noretain_bidi
Specifies whether the bidirectional ports must retain their original direction after a clock is
applied. The default is not to require the signal direction to remain the same.
-severity <error | warning | ignore>
Indicates the handling of a contention condition. If you select error and a contention
condition occurs, the simulation is terminated and an error message reports the contention
site and the number of rejected patterns. You can view the contention pattern by using the
error_data option of the set_pindata command. If you select warning and a contention
condition occurs, a warning message reports the contention site and the number of
rejected patterns, and the simulation continues. If you select ignore and a contention
condition occurs, no message is given and the simulation continues. The default is
warning.
-verbose | -noverbose
Specifies whether all contention conditions are reported. The default is -noverbose, where
only a single contention message per simulation generation pass is reported.
set_contention 356
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to specify the types of contention checking performed and the reporting of these conditions.
Patterns that violate contention conditions are discarded.
Examples
DRC> set_contention bus -atpg -capture -multi -severity warn -verbose
See Also
report_settings
Contention Analysis
set_contention 357
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_delay
Overview
Use this command to specify options for transition fault and path delay fault test generation and fault
simulation.
Syntax
set_delay
[-allow_nonrobust_tests | -noallow_nonrobust_tests]
[-allow_reconverging_paths | -noallow_reconverging_paths]
[-allow_multiple_common_clocks | -noallow_multiple_common_clocks]
[-data path_name]
[-common_launch_capture_clock | -nocommon_launch_capture_clock]
[-diagnostic_propagation | -nodiagnostic_propagation]
[-disturb | -nodisturb]
[-extra_force | -noextra_force]
[-infinite_slack_checks | -noinfinite_slack_checks]
[-launch_cycle <last_shift | system_clock | extra_shift | any>]
[-mask_nontarget_paths | -nomask_nontarget_paths]
[-max_delta_per_fault float | inf | tmgn%]
[-max_tmgn float | defect%]
[-multicycle_length N]
[-negative_slack_checks | -nonegative_slack_checks]
[-pi_changes | -nopi_changes]
[-po_measures | -nopo_measures]
[-relative_edge | -norelative_edge]
[-robust_fill | -norobust_fill]
[-simulate_hazards | -nosimulate_hazards]
[-slackdata_for_atpg |-noslackdata_for_atpg]
[-slackdata_for_faultsim |-noslackdata_for_faultsim]
[-slow_equivalence | -noslow_equivalence]
[-transition_clocking_checks | -notransition_clocking_checks]
[-two_clock_transition_optimization | -notwo_clock_transition_
optimization]
Arguments
-allow_nonrobust_tests | -noallow_nonrobust_tests
By default, TestMAX ATPG accepts all robust and nonrobust tests for path delay faults, and
retains all patterns that provide this type of detection for one or more faults. If you specify
the -noallow_nonrobust_tests option, TestMAX ATPG does not recognize faults
detected from nonrobust tests, and does not retain the patterns containing only nonrobust
detections. If a pattern provides both robust and nonrobust detections of path delay faults,
it is retained in the pattern set. However, TestMAX ATPG recognizes only the faults
detected from robust tests. You can reset the default setting using the -allow_
nonrobust_tests option (the default).
This option applies only to the fast-sequential path delay test generator. Nonrobust tests
are accepted in full-sequential mode.
set_delay 358
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-allow_reconverging_paths | -noallow_reconverging_paths
The -allow_reconverging_paths option causes TestMAX ATPG to reconverge off-path
segments when redundant logic prevents a specified path segment from being individually
tested. The standard definition of a path delay fault causes TestMAX ATPG to classify these
paths as untestable. However, it might be possible for TestMAX ATPG to test the on-path
and off-path segments together using this relaxed criteria. A reconverging path might
cause a path to be immediately marked as untestable, but this option would allow test
generation to occur if allowed. The default is not to allow reconverging paths (the -
noallow_reconverging_paths option).
NOTE: The -allow_reconverging_paths option might cause confusing output from the
analyze_faults command. It might be best to use the default, -noallow_
reconverging_paths, when doing fault analysis.
-allow_multiple_common_clocks | -noallow_multiple_common_clocks
Uses multiple clocks for common launch/capture clocking for clock-launch transition fault
patterns. Enabled by default if the -common_launch_capture_clock option is issued
before DRC.
The -allow_multiple_common_clocks option identifies clocking pairs that can be
grouped with infinite skew. These combinations are then allowed when ATPG is run with
both the -allow_multiple_common_clocks and -common_launch_capture_clock
options specified.
-common_launch_capture_clock | -nocommon_launch_capture_clock
This option disables dynamic clocking and uses only a single clock for launch and capture.
That is, it avoids generating patterns with one clock being used for launching the transition
and another clock being used for capturing the transition. You cannot specify -common_
launch_capture_clock in the TEST command mode. The default is -nocommon_launch_
capture_clock.
TestMAX ATPG performs conservative grouping (which assumes infinite tester skew)
during clock grouping analysis when both -allow_multiple_common_clocks and -
common_launch_capture_clock are specified.
The -common_launch_capture_clock option is supported by the -launch_cycle
system_clock or -launch_cycle extra_shift options of the set_delay command.
When TestMAX ATPG is generating last shift-launch patterns (using either the set_delay
-launch_cycle last_shift command or the set_delay -launch_cycle any
command), there is no simple way to prevent transitions from being launched in one clock
domain and captured in another.
This option has the same effect in both TestMAX ATPG and TestMAX ATPG. But in TestMAX
ATPG it is used during stuck-at ATPG to constrain two-cycle patterns.
-data path_name
Sets the GSV and primitive report data to load the path set by this option. The set_
pindata delay_data command allows viewing this data in the GSV.
-diagnostic_propagation | -nodiagnostic_propagation
Enables ATPG to be performed with a more stringent set of rules for off-path inputs. For a
diagnostic propagation path delay fault test, all off-path inputs must have a constant
propagating value, which means that only the target path is tested at its endpoint. This
set_delay 359
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
type of test might be useful for characterizing the timing of a particular path, or for better
diagnostic resolution of a failing path delay test. Note that requiring such path delay fault
tests will result in lower overall coverage. The default is to not generate diagnostic
propagation tests: -nodiagnostic_propagation.
-disturb | -nodisturb
Enables disturbed clock grouping for two-clock optimized transition fault ATPG. The default
is -disturb.
TestMAX ATPG silently ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-extra_force | -noextra_force
The default, the -extra_force option, provides additional delay for force PI behavior.
Some ATPG engines place an additional force of all PI values at the start of the capture
operation before the launch sequence starts for that particular transition capture
sequence. This behavior enables the assertion of PI states in the additional vector or
capture procedure before the clock events of the launch operation and provides extra
settling time for the PI states before the launch. Depending on the capture procedures
defined in the STL procedure file, this additional force PI might be an inline vector, a call to
an unclocked capture procedure, or a call to the multiclock_capture procedure, before the
vector initiates the launch operation.
If you do not want the additional test cycles and the additional PI settling time, suppress
the force PI event using the -noextra_force option.
TestMAX silently ignores this option. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-infinite_slack_checks | -noinfinite_slack_checks
Enables or disables infinite slack check during read timing file, slack-based transition fault
test generation, or fault simulation. During read timing file, warning message M751 is
printed if this check is enabled. During slack-based transition fault test generation or fault
simulation, warning message M753 is printed if this check is enabled. The default is -
noinfinite.
-launch_cycle <last_shift | system_clock | extra_shift | any>
This option specifies how the transition is launched based on the transition fault model. The
last_shift parameter launches the transition on the last shift clock of the scan chain
load. A capture clock procedure is then used to observe the transition. The system_clock
parameter (the default) launches a transition launch procedure that captures data from its
functional data input, and a second capture clock procedure is used to observe it. If you
use the system_clock parameter, fast-sequential patterns or two-clock optimized
patterns are generated, and the -capture_cycle option of the set_atpg command is
automatically set to 2 if it is not already set to 2 or higher. The extra_shift parameter
launches a logic value based on one more shift than the last_shift parameter. This
ensures that all clock domains receive their last scan shift before the internally controlled
capture clock pulse. Unlike the last_shift parameter, the extra_shift parameter does
not place additional timing requirements on an OCC controller. The any parameter allows
the use of any of the -launch_cycle option parameters, including the last_shift,
system_clock, and extra_shift parameters.
Note the following:
set_delay 360
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_delay 361
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
leaving it at its default, might produce a slightly higher quality test set, but will do so at the
cost of increased CPU time and higher pattern counts. The set_delay -max_tmgn 3.0
command targets all faults with tmgn less than 3.0 with the slack-based test generation
algorithm. For more information, see "Slack-Based Transition Fault Testing."
If you specify set_delay -max_tmgn 50%, you are setting the max_tmgn to include 50%
of all the faults with the smallest tmgn faults as the slack-based transition fault test target.
A message is printed at the start of the test generation that informs you of the numerical
value of the max_tmgn calculated from the percentage. Note that the percentage remains
as a percentage until the first run_atpg invocation; at which point it is frozen into the
delay number appropriate at that time.
This implementation is based on following assumptions:
1. All faults are considered, not just the active faults. This is to maintain the same fault
base in case of multiple ATPG runs. Otherwise the set of slack-based transition target
faults is a moving target.
2. The max_tmgn is adjusted according to the percentage you specify. As a result, it might
not be possible to have the exact percentage of faults sampled. For example, if 1/2 of the
faults have tmgn=1, and 1/2 of faults have tmgn=infinite, an 80% setting is essentially the
same as 100% since it will internally set the max_tmgn to infinite.
3. The number of faults can be counted either as collapsed or uncollapsed, which is
controlled by the command report_faults -collapsed | uncollapsed.
Example:
TEST> set_delay -max_tmgn 80%
TEST> run_atpg -auto
The max tmgn for slack-based transition faultshas been set to
13.23
...
-multicycle_length N
Used in conjunction with specifications in an SDC file, this option treats multicycle paths
below a certain number as if they are single-cycle paths. Based on this option, all
exceptions specified by the set_multicycle_path SDC command with numbers of N or
less are ignored. The default is to treat all multicycle paths of length 2 or greater as
exceptions. Note that this option is valid only in Tcl mode.
For more information on the set_multicycle_path SDC command, see How TestMAX
ATPG Interprets SDC File Commands.
-negative_slack_checks | -nonegative_slack_checks
Enables or disables negative slack check during read timing file, slack-based transition
fault test generation, or fault simulation. During slack-based transition fault test
generation or fault simulation, warning message M752 is printed if this check is enabled.
The default is -nonegative_slack_checks.
-pi_changes | -nopi_changes
Specifies whether patterns are allowed to change Primary Inputs (PIs) between the launch
clock and the capture clock for clock launch transition fault patterns or for any path delay
fault patterns. This will have no affect on last_shift_launch transition fault patterns.
set_delay 362
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Note that the -nopi_changes option might in some cases produce results that are inferior
to simply constraining all PIs to a known value or even to X. The reason for this somewhat
paradoxical result is that this option essentially imposes a constraint on the PIs, but it is
such a complex constraint that it might increase the backtracks that lead to aborted faults.
The -nopi_changes option causes an extra unclocked tester cycle to be added to each
generated transition fault or path delay pattern. The use of a set_drc -clock -one_hot
command might interfere with the addition of this unclocked cycle and is not recommended
for use when the -nopi_changes option is in effect. The unclocked cycle is not added when
internal clocking is used, nor is it added by the Full-Sequential test generator.
The default allows the inputs to change between the launch and capture events: -pi_
changes.
-po_measures | -nopo_measures
Specifies whether primary outputs can be measured between the launch clock and the
capture clock. Use this option when the ATE does not have sufficient timing accuracy to
strobe outputs before the capture event. This option has no effect when the transition fault
model has been selected. For transition fault ATPG, the add_po_masks -all command can
be used to prevent primary output measurements. The default is to allow primary output
measurements: -po_measures.
-relative_edge | -norelative_edge
Specifies whether both the slow to rise and slow to fall faults is added to the fault list even
though only one fault was defined in the path definition file read into TestMAX ATPG. This
option should be set before paths are added. The default is to honor the absolute fault
definitions: -norelative_edge.
-robust_fill | -norobust_fill
ATPG will normally fill all unused scan cells and primary inputs with random values. For
path delay tests, ATPG will first fill unused scan cells when the data being clocked into the
cell is known so that the output remains stable. This can increase the likelihood of a robust
test. The default is to include this additional filling algorithm: -robust_fill.
-simulate_hazards | -nosimulate_hazards
Allows the fault simulator to ignore potential glitches on off-path inputs that might mask
path delay fault propagation. The default, -simulate_hazards, is to use an extended
simulation algorithm that determines when such hazards are potentially present on off-
path inputs. This results in a slightly looser interpretation of robust detection.
-slackdata_for_atpg |-noslackdata_for_atpg
Turns on and off the slack-based transition fault testing during ATPG. If slack data exists,
the default is -slackdata_for_atpg.
-slackdata_for_faultsim |-noslackdata_for_faultsim
Turns on and off slack-based transition fault testing during fault simulation. If slack data
exists, the default is -slackdata_for_faultsim.
-slow_equivalence | -noslow_equivalence
Considers that both slow-to-rise and slow-to-fall transition faults at a fault site are
detected when either is detected. This ability is supported for all Basic Scan and Fast-
set_delay 363
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Sequential fault simulation and test generation flows. The additionally detected faults are
placed in the DI fault category. The default is -noslow_equivilance.
-transition_clocking_checks | -notransition_clocking_checks
Identifies the conditions to launch (considering hold behavior), capture a fault, and
immediately assign the values during two-clock transition fault test generation. The
default is -notransition_clocking_checks.
-two_clock_transition_optimization | -notwo_clock_transition_optimization
Enables an optimized algorithm for generating system-clock launch transition patterns, if
the -launch_cycleoption does not use the last_shift argument. If the number of
capture cycles is set to greater than 2 using the set_atpg -capture command, then
another pass with Fast-Sequential ATPG is performed. The default is the -two_clock_
transition_optimization option.
To run two-clock optimized ATPG, the following conditions must be satisfied:
The transition fault model and the clock launch transition type must be specified
Merging must be enabled using the (run_atpg -auto_compression command or the set_
atpg -merge command
Basic Scan ATPG must be enabled
Note that the following changes occur when using two-clock optimized ATPG:
The capture_clock value is set to 2, and remains at that value for the complete session unless it is
redefined.
The set_drc -multi_captures_per_load command is enabled for the complete
session, unless it is redefined.
Fast-sequential ATPG is disabled (Note that two-clock optimized ATPG is considered a Basic
Scan process).
The set_atpg -analyze_untestable_faults command is enabled.
All ATPG progress messages are written in a verbose form
Description
Use this command to specify options for transition fault and path delay fault test generation and fault
simulation.
Examples
See Also
set_faults
set_delay 364
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis
Overview
This command specifies the parameters associated with performing a diagnosis of a failing device.
Syntax
set_diagnosis
[-add_default_offset {value}]
[-auto | -noauto]
[-check_expected_data | -nocheck_expected_data]
[-composite | -nocomposite]
[-cycle_offset d]
[–default_offset {pat_namevalue}]
[-dftmax_chain_format | -nodftmax_chain_format]
[-failing_compressor { number | patterns | failures }]
[-failure_memory_limit d | -nofailure_memory_limit]
[–fault_type [ all | shared | transition | stuck ]
[-filter_bridges { [ambiguous <on | off>] [same_cell < none | feedback |
all >]} ]
[-filter_candidates {score_distance <distance | off> | [min_score
<distance | off> ] max_number <number | off>]} ]
[-hide value]
[-incomplete_failures | -noincomplete_failures]
[-intermediate_chain_faults]
[-mapping_report | -nomapping_report]
[–max_defective_chains n]
[-max_fail_gates n]
[-max_report_failures d]
[-num_processes number]
[-organization class | fault]
[-original_pattern_id]
[-pattern { p1 p2 on|off }]
[-per_pin_limit | -no_per_pin_limit]
[-post_procedure procedure_name | none]
[-process_fail stop | continue | rerun]
[-reset_filters]
[-sample d1 d2]
[-show value]
[-time_limit d | -notime_limit]
[–use_default_offset | -nouse_default_offset]
[-use_dictionary | -nouse_dictionary]
[-use_phds {values}]
[-verbose | -noverbose]
Arguments
-add_default_offset {value}
set_diagnosis 365
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option, which is used for split patterns diagnostics, adds the specified value to all
default offsets. A default offset is the cycle offset between each split patterns file. Default
offsets are computed automatically when the split patterns are read for diagnosis; one
default offset is defined for each split pattern file.
You can use this option if the offset value is constant between all split patterns files. Any
manual initialization changes directly affect the value of the default offsets. The failures log
file must use the cycle-based format for this option to work.
The set_diagnosis command prints the updated default offsets, as shown in the following
example:
Pattern_file=pat.ser_0.stil, basic_scan=[0(3),9(137)], fast_sequential=[-
1,-1], default_offset=0
Pattern_file=pat.ser_1.stil, basic_scan=[10(152),19(287)], fast_
sequential=[-1,-1], default_offset=14
Pattern_file=pat.ser_2.stil, basic_scan=[20(302),29(437)], fast_
sequential=[-1,-1], default_offset=28
Pattern_file=pat.ser_3.stil, basic_scan=[30(452),32(482)], fast_
sequential=[-1,-1], default_offset=42
The set_diagnosis -add_default_offset {10} command prints the following updated
default offsets:
Pattern_file=pat.ser_0.stil, basic_scan=[0(3),9(137)], fast_sequential=[-
1,-1], default_offset=0
Pattern_file=pat.ser_1.stil, basic_scan=[10(152),19(287)], fast_
sequential=[-1,-1], default_offset=24
Pattern_file=pat.ser_2.stil, basic_scan=[20(302),29(437)], fast_
sequential=[-1,-1], default_offset=48
Pattern_file=pat.ser_3.stil, basic_scan=[30(452),32(482)], fast_
sequential=[-1,-1], default_offset=72
The effect of the -add_default_offset option is cumulative. For example, if the
command is used twice, the specified values from each command are combined:
TEST-T> set_diagnosis -add_default_offset {1}
Pattern_file=pat.ser.stil_0.gz, basic_scan=[0(87),399(3103505)], fast_
sequential=[-1,-1], default_offset=0
Pattern_file=pat.ser.stil_1.gz, basic_scan=[400(3111283),799(6214703)],
fast_sequential=[-1,-1], default_offset=863
Pattern_file=pat.ser.stil_2.gz, basic_scan=[800(6222481),1199(9325903)],
fast_sequential=[-1,-1], default_offset=5726
TEST-T> set_diagnosis -add_default_offset {1}
Pattern_file=pat.ser.stil_0.gz, basic_scan=[0(87),399(3103505)], fast_
sequential=[-1,-1], default_offset=0
Pattern_file=pat.ser.stil_1.gz, basic_scan=[400(3111283),799(6214703)],
fast_sequential=[-1,-1], default_offset=864
Pattern_file=pat.ser.stil_2.gz, basic_scan=[800(6222481),1199(9325903)],
fast_sequential=[-1,-1], default_offset=5728
For more information, see "Split Patterns Diagnosis for Cycle-Based Failures."
-auto | -noauto
When the -auto option is set and the chain test pattern fails, the run_diagnosis
command performs chain diagnostics (the same behavior as if you specify the -chain_
failure option). If you specify the -noauto argument, the run_diagnosis command
set_diagnosis 366
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
performs functional logic diagnosis (the same behavior as if you do not specify the -
chain_failure option).
-check_expected_data | -nocheck_expected_data
This option recognizes a field in the tester failure data file as the expected data for that
measure. It performs a comparison between this data and the expected data from the
pattern file. If the compared values do not match, this option displays the M530 warning
and stops the diagnosis. Otherwise, diagnosis proceeds normally. It does not compare
masked outputs. It supports scan and adaptive scan designs.
The expected value field is the last one on the line (fourth field from the left for scan
shifting failures, and third field from the left for capture cycle failures). The output format
from the run_simulation command is also supported. The H/L format is not accepted. It
is treated as a comment and simply ignored. The result is that the expected data will not
be checked.
Note: To indicate the expected data during a capture of a scan chain output and use -
check_expected_data option, you must use the exp= syntax. For example:
103 scan_out3 1 #invalid
103 scan_out3 (exp=1, got=0) #valid
103 scan_out3 exp=1 #valid
Use this option as a sanity check of the process that translates tester failures into the
TestMAX ATPG failure data file. Mismatches indicate that the tester cycles are not properly
mapped to the pattern numbers. Diagnosis will report the number of compared values. The
default is -check_expected_data. If no expected data is present in the failures log file, no
message is printed.
-composite | -nocomposite
The -composite option is used for the diagnosis ranking flow (run_diagnosis <file> -
rank_faults). It enables diagnosis to perform a more precise fault ranking using complex
fault models, such as bridging or transition. The default is -nocomposite. As a result,
during ranking, only simple stuck-at models are used.
If both sa0 and sa1 are defined for the same instance, the usage of the -composite option
will rank the sa01 fault. If you want to rank the sa0 and the sa1 faults independently, use -
nocomposite.
If both str and stf are defined for the same instance, the usage of the -composite option
will rank the strf fault. If you want to rank the str and the stf faults independently, use -
nocomposite.
If default setting is used (that is, -nocomposite), and the bridging faults are defined (even
if the faults defined are equivalent to a bridging composite fault), then the component
faults (ba0 and ba1) are ranked.
Here is an example:
#Fault defined in fault.txt
node1 node2 ba0
node2 node1 ba0
#TestMAX ATPG Script
set_faults –model bridging
add_faults –node fault.txt
set_diagnosis 367
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis -nocomposite
run_diagnosis fail.txt -rank_faults
In the previous example, the definition of the bridging faults is equivalent to defining a
WAND bridging fault (node1 node2 wand). However, because the -nocomposite option of
the set_diagnosis command is used, only the component faults is ranked.
If the -composite option of set_diagnosis command is used, and the faults defined are
equivalent to a bridging composite fault, then the composite faults are ranked.
-cycle_offset d
Enables you to adjust the cycle count when the cycle numbering for cycle-based failure log
files does not correspond to the cycle numbering for the pattern. TestMAX ATPG adds the
specified positive or negative integer offset to the cycle counts of the failure log file. The
cycle counts derived by counting the vector or V statements in the STIL or WGL pattern set
always starts at 1. If the ATE counts cycle number starting with cycle 0 as the first cycle,
use an argument of 1 to adjust this. If the tester failure log includes additional initialization
cycles that are not accounted in the patterns, specify a negative integer as the argument.
The default is 0.
An example usage of this option is as follows:
If you use test patterns generated by TestMAX ATPG directly in the ATE, the test_setup
cycles on the ATE are, by default, the same as the test_setup cycles in the pattern file read
for diagnosis. In this case, you shouldn't set a cycle_offset value. However, it's possible
that the ATE program could add more cycles to accommodate the patterns to the ATE. This
change could also be made by the engineers who adapt the patterns to the ATE. For
example, an engineer could add more wait cycles to reset the chip. In this case, you should
use a negative integer for the cycle_offset value which corresponds to the number of
added wait cycles.
–default_offset {pat_name value}
This option adjusts some or all of the default offsets used for split patterns diagnosis if the
failures log file format is cycle-based. A default offset is the cycle offset between each split
patterns file. Default offsets are computed automatically when the split patterns are read
in for diagnosis; one default offset is defined for each split pattern file. Any manual
initialization changes directly affect the value of the default offsets.
When value is the only argument specified with this option, all default offsets use the
specified value. The default offsets are echoed to the log. For example:
set_diagnosis -default_offset {14}
In this case, the set_diagnosis command prints following report:
Pattern_file=pat.ser_0.stil, basic_scan=[0(3),9(137)], fast_sequential=[-
1,-1], default_offset=0
Pattern_file=pat.ser_1.stil, basic_scan=[10(152),19(287)], fast_
sequential=[-1,-1], default_offset=14
Pattern_file=pat.ser_2.stil, basic_scan=[20(302),29(437)], fast_
sequential=[-1,-1], default_offset=28
Pattern_file=pat.ser_3.stil, basic_scan=[30(452),32(482)], fast_
sequential=[-1,-1], default_offset=42
You can also define the default offset for each split pattern. In this case, both the pattern_
name and value arguments must be specified, as shown in the following example:
set_diagnosis 368
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis 369
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
failures than the value specified by d, only the failures in the last failing pattern are
ignored.
If this option is used in the context of the split pattern feature, it ignores patterns in the
range beginning with the last failing pattern recorded in each failure log file to the last
pattern in the corresponding pattern file – if the number of failures in that file is at least d.
–fault_type [ all | shared | transition | stuck ]
This option enables diagnosis to simulate both stuck fault sites and transition fault sites in
a single run.
When the all argument is specified, all fault sites are simulated for both transition and
stuck types.
The shared argument is the default and enables simulation of both stuck and transition
types, but only at stuck fault sites. This reduces diagnosis runtime when transition defects
are less likely.
The transition argument simulates only transition types and the stuck argument
simulates only stuck types.
-filter_bridges { [ambiguous <on | off>] [same_cell <none | feedback |
all>]}
Removes all specified bridging candidates when class-based diagnostics reporting is
enabled (using the -organization class setting of the set_diagnosis command). The
candidates must be exercised by either of the following excitation conditions: an
ambiguous bridge or any bridge candidates between two nets connected to the same cell.
An ambiguous bridge is any bridge candidate in which every explained pattern has the
same value on the aggressor node. These bridge candidates are not distinguishable from a
stuck candidate on the victim node. A same-cell bridge is any bridge candidate between
two nodes that are connected to the same library cell. Such bridge candidates are not
distinguishable from bridges inside the cell. The feedback parameter filters only
output/input bridging candidates; the all parameter filters both output/input and
input/input bridging candidates. These filters must be applied before specifying the run_
diagnosis command, otherwise they will not affect the candidate list reported by the
report_defects or write_ydf commands. For more information on creating a class-
based diagnosis report, see the "Class-Based Diagnosis Reporting" section in the TestMAX
ATPG User Guide.
-filter_candidates {score_distance <distance | off> | [min_score <score |
off> ] max_number <number | off>]}
Specifies various filters to remove candidates when class-based diagnostics reporting is
enabled:
l The score_distance parameter removes all candidates with a match score that is
further than the specified distance from the maximum defect score reported
(distance). The default score distance is 20 percent.
l The min_score parameter removes all candidates with a match score that is less than
the specified score (score). At least one candidate with the maximum defect score is
reported, even if it is below the specified minimum score. The default minimum score
is 50 percent.
l The max_number parameter removes all but the top-scoring specified number of
set_diagnosis 370
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
candidates for each defect (number). All candidates with the same score are reported,
even if the number of candidates exceeds the specified value. The default is 10.
These filters must be specified before the run_diagnosis command, otherwise they will
not affect the candidate list reported by the report_defects or write_ydf commands.
For more information on creating a class-based diagnosis report, see the "Class-Based
Diagnosis Reporting" section in the TestMAX ATPG User Guide.
-hide value
This option suppresses the information from the diagnostics report that was added by the
set_diagnosis -show command. The value argument has four possibilities: version,
cycles, key_value_pairs, and physical_subnet_id.
To suppress the version name from the report, use the -hide version option.
To suppress the cycle conversion use -hide cycles option.
To suppress reporting the header values contained in the header of the failures log file, use
the -hide key_value_pairs option. For more information on using this option, see
"Adding Header Information to a Failure Data File."
To suppress reporting the physical subnet ID in the diagnostics report, use the -hide
physical_subnet_id option. For more information on using this option, see"Reporting
Physical Subnet ID Data."
Only one value can be specified at a time. By default, the version, cycles, header values,
and physical subnet ID information are hidden.
-incomplete_failures | -noincomplete_failures
This option specifies that the tester failure memory limitations might have caused the
failure log to have only partial failure data for the last failing pattern contained there.
Therefore, the last failing pattern and all subsequent patterns are ignored during diagnosis.
Do not use -incomplete_failures together with the -truncate option of run_
diagnosis. The default is -noincomplete_failures.
In the context of the split pattern feature, this option ignores patterns in the range
beginning with the last failing pattern recorded in each failure log file to the last pattern in
the corresponding pattern file.
-intermediate_chain_faults
Enables the scoring and identification of candidates on pins along the scan chain when
diagnosing chain failures. This includes the scan in and scan out pins of each scan cell and
the pins of any combinational cells along the scan chain. Without this option, only the scan
cell state elements are scored and identified. The default is not to enable scoring of
intermediate scan chain pins. When this option is enabled, each intermediate candidate is
reported with the associated chain name and position indices of the subsequent and
previous scan cells.
-mapping_report | -nomapping_report
This option enables the detailed report of failure mapping results for Adaptive Scan
technology.
If -nomapping_report (default) is used, only a one line summary of the failure mapping
result is printed:
Failure mapping completed: #failing_pats=815, #skipped_pats=0,
set_diagnosis 371
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
#masked_cycles=35, CPU_time=15.90
Note:
#failing_pats indicates the number of failing patterns for which a potential failure mapping
is found.
#skipped_pats indicates the number of failing patterns for which a potential failure mapping
has not been found and thus is skipped.
#masked_cycles indicates the number of cycles for which any failure mapping has not been
found and thus is ignored.
If the -mapping_report option is used, additional lines are printed at the head of the one-
line summary. For example, successful mapping is reported per compressor as follows:
-----------------------------------
Failure mapping report:
-----------------------------------
If some failures are not successfully mapped, potential observe point and their score are
added to the report. For example:
Failed mapping for des_chip2_U_compressor:
Pattern 36, position 9, potential chains: 31
Pattern 105, position 9, potential chains: 31
---------------------------------------------
Compressor des_chip2_U_compressor, shift_position=3
score=100.00%, max_score=100.00%, chain=31, cell=u_des_hard_macro_
1/u_des_hard_macro_core_u_03/kdin_reg_91_
---------------------------------------------
Compressor des_chip2_U_compressor, shift_position=9
score=75.00%, max_score=100.00%, chain=31, cell=u_des_hard_macro_
1/u_des_hard_macro_core_u_03/kdin_reg_85_
score=25.00%, max_score=100.00%, chain=32, cell=u_des_hard_macro_
1/u_des_hard_macro_core_u_03/kdin_reg_124_
Refer to the topic “Understanding the Failure Mapping Report” for a complete description of
this report.
Note: The mapping report printed by this option and the report printed by the run_
diagnosis -only_report_failures command are the only complete reports. The first
mapping report printed at the beginning of the diagnosis report is not intended to be
complete. See "Understanding the Diagnosis Report" for more details.
-------------------------------------------------------------------------
-----
pattern chain pos# output pin_names
------- ---------------- ---- ------------------------------------------
------
9 1 4 test_so1 test_so2 test_so3
set_diagnosis 372
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
–max_defective_chains n
Aborts running the chain diagnosis engine if the number of defective chains is larger than
the specified number n. By default, n is 3. This default is a trade-off between simulation
time and quality of the results. The value 0 is used to disable this feature.
If the scan chain engine is halted because of meeting the maximum defective scan chain
specification, then the following message is printed:
Scan chain diagnosis aborted due to exceeding the maximum number of
defective chains.
-max_report_failures d
For adaptive scan designs, the output includes the failing measures. The argument for this
option specifies the number of failures to be displayed. The default is 10.
-num_processes number
Specifies the number of cores to use during a parallel diagnostics run. Using this option
conserves memory usage when processing a large number of failure files. For more
information on using this option, see "Parallel Diagnosis" in the TestMAX ATPG User Guide.
-organization class | fault
Enables the class-based or fault-based diagnostics report. The default is the fault-based
report. The class-based report identifies each physically distinguishable location as a
separate candidate, and each candidate may contain different fault types. In the fault-
based report, a fault and all of its equivalent faults are considered a single candidate, and
each fault type is considered a separate defect. For a complete description of both reports,
see the "Diagnosing Manufacturing Test Failures" chapter in the TestMAX ATPG User Guide.
-original_pattern_id
When split patterns are used, additional patterns may need to be added to each split such
that there are more total patterns than in the original pattern set. In this case, patterns
after the first split will have different pattern numbers than in the original pattern set. This
option specifies that diagnosis should use the original (pre-split) pattern IDs in the split
pattern files as the pattern numbers instead of counting patterns in the external pattern
set. This option should be used if failures from the tester are pattern-based, and if the
tester uses the pattern IDs in the pattern files rather than counting the number of applied
patterns.
-pattern {p1 p2 on|off}
This option specifies a range of patterns to include or ignore during a diagnosis run.
The range p1 p2 can be specified as a single pattern. To include a pattern, use the
parameter on. To exclude a pattern, use the parameter off. If the neither on nor off is
specified, the default is off.
The parameters of this option should be specified as a Tcl list when TestMAX ATPG is run in
Tcl mode. The following example shows how to specify this option as a list in Tcl mode:
set_diagnosis -pattern {1 5 off}
set_diagnosis 373
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -pattern option can be used to optimize the match score if a specific pattern from the
external pattern buffer has not been run on the tester but produces a TPSF. For example:
# read all patterns
set_patterns -external pat.bin
# exclude pattern 3
set_diagnosis -pattern {3 off}
run_diagnosis fail.log
The -pattern option can also be used when the TPSF needs to be computed for only
passing patterns. In this case, the flow is to read all patterns, exclude the failing patterns
(but include the passing patterns), and then run the diagnosis with -rank option:
# read all patterns [0 to 9]
set_patterns -external pat.bin
# exclude all patterns
set_diagnosis -pattern {0 9 off}
# include only a single passing pattern
set_diagnosis -pattern {3 on}
# read fault list
read_fault fault.txt
run_diagnosis fail_2.log -rank
-per_pin_limit | -no_per_pin_limit
The -per_pin_limit option causes TestMAX ATPG to set a per-pin limit truncation
mechanism commonly used by testers. Because of tester memory limits, the total amount
of failures per pin for the device under test is usually limited. If TestMAX ATPG does not
recognize this situation when it occurs, the failures that are not captured are considered as
passing by the diagnostics engine. This can degrade the match score of the fault
candidates.
When the -per_pin_limit option is set, TestMAX ATPG recognizes a pin as truncated if it
has at least one failure.
TestMAX ATPG will also recognize only certain pins as truncated if you set the -per_pin_
limit option, and use the following directive to define the truncated pins in the failures log
file:
.pin_truncate pin_name
If this directive is specified, only the identified pins are considered truncated.
The default is -no_per_pin_limit.
This option is not supported for DFTMAX Ultra.
-post_procedure procedure_name | none
Specifies the name of a post processing procedure to run during parallel diagnostics. You
can specify diagnostics commands, such as write_ydf, or Tcl API commands, such as
get_diag_files, within a procedure. To disable a post processing procedure, specify the
none argument (none is the default).
The following example shows how to define a post processing procedure and specify it
using the -post_procedure option:
proc pp {} {
write_ydf -append my_ydf.ydf
set_diagnosis 374
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_diagnosis 375
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l You can specify only one -show parameter at a time. To display the version name, cycles, and header,
specify three separate set_diagnosis -show commands.
l By default, the version, cycles, and header values are hidden (see the set_diagnosis -hide
value command).
l When both the -show and -hide options are specified, only the last option in the command line is
recognized.
-time_limit d | -notime_limit
Causes diagnosis to abort if the specified integer number of seconds have passed since
diagnosis started running. The time limit is a loose upper limit as the time limit is only
checked after each set of 32 patterns have been simulated. Default is -notime_limit.
–use_default_offset | -nouse_default_offset
This option enables or disables the default offset definitions for split patterns diagnosis if
the failures log file format is cycle-based. A default offset is the cycle offset between each
split patterns file. When split patterns are read in for diagnosis, these offset values are
computed but are not used by default. The default is the -nouse_default_offset option.
You should use the -use_default_offset option if there is a continuous cycle count
between each split pattern. For more information, see "Split Patterns Diagnosis for Cycle-
Based Failures."
-use_dictionary | -nouse_dictionary
Enables or disables the use of a dictionary during diagnostics (the default is the -use_
dictionary option).
-use_phds {values}
Specifies the type of data to query from the PHDS database. You can specify one or more
values as a Tcl list. The possible values are: all (the default), candidates, subnets,
bridges and none.
The all keyword extracts all data types.
The candidates keyword extracts the physical information related to a diagnostics
candidate (for example, the cell bounding box).
The subnets keyword extracts the subnets topology for the diagnostics candidates.
The bridge keyword extracts the bridging pairs for the diagnostics candidates.
The none keyword disables the use of the PHDS database during diagnosis.
For more information on using this option, see "Static Subnet Extraction Using a PHDS
Database."
-verbose | -noverbose
Reports detailed information such as net connectivity and physical locations for class-
based reporting, and data on observable points, the explained pattern list, and match
score components. The default is -noverbose. For more information, see the "Verbose
Format" section of the "Understanding the Diagnosis Report" topic.
Description
This command specifies the parameters associated with performing a diagnosis of a failing device (specified
by the run_diagnosis command).
set_diagnosis 376
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
run_diagnosis
set_physical_db
Understanding the Diagnosis Report
Subnets Format for Diagnosis
set_diagnosis 377
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_distributed
Overview
Use this to control the amount of time the system is given to perform various distributed processor-related
communications.
Syntax
set_distributed
[-print_stats_timeout d]
[-script file_name]
[-shell remsh | rsh | ssh]
[-shell_timeout d]
[-slave_setup_timeout d]
[-work_dir dir_name]
[-verbose | -noverbose]
Arguments
-print_stats_timeout d
Controls the amount of time allowed for displaying distributed processor statistics.
-script file_name
Specifies the pathname of a user-defined script to be invoked when launching distributed
processors. This file should be executable and must contain all settings required for
launching TestMAX ATPG on the slave machines. Here's an example script:
#!/usr/bin/csh -f
setenv SYNOPSYS /tools/synopsys/W-2004.12
set path = ($SYNOPSYS/bin $path)
tmax $*
set_distributed 378
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
high timeout value, because it might appear that the tool is hung while it's waiting until the
timeout limit that you specified for slaves to be ready expires. TestMAX ATPG prints out the
wait messaging, indicating how many slaves are up and running and how many other
slaves are still not ready; for example:
-work_dir dir_name
Specifies the pathname of the shared working directory. Every machine performing the
distributed fault simulation tasks must have read/write/execute permissions in this
directory. This must be an absolute path starting from the system root; relative paths are
not supported. Default is the current working directory.
-verbose | -noverbose
When -verbose is specified, additional messages from the shell command prints to the log
file. This information is useful for debug purposes. Default is -noverbose.
Allowed Command Modes
Test
Description
Use this to control the amount of time the system is given to perform various distributed processor-related
communications. This includes checking out the status of the distributed processors (using an UNIX rsh
command), printing statistics regarding the current jobs, and so on. This command also identifies the location
of the shared working directory that the machines performing a distributed fault simulation task use to
exchange information.
See Also
Running Distributed ATPG
add_distributed_processors
remove_distributred_processors
report_distributed_processors
set_distributed 379
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_drc
Use this command to set the parameters that control the DRC process.
Syntax
set_drc
[-allow_unstable_set_resets | -noallow_unstable_set_resets]
[-bidi_control_pin <0|1> name | none]
[-blockage_aware_clock_grouping | -noblockage_aware_clock_grouping]
[-check_multiple_shift_clocks | -nocheck_multiple_shift_clocks]
[-check_user_serializer_bits | -nocheck_user_serializer_bits]
[-clock <pin_name | -any | -chain_capture | -dynamic | -one_hot | -seq_
capture>]
[-clockdrc_use_cell_constraints | -noclockdrc_use_cell_constraints]
[-clock_constraints block_name]
[-compressor_debug_data | -nocompressor_debug_data]
[-constraints | -noconstraints]
[-controller_clock pin_name | -nocontroller_clock]
[-disturb_clock_grouping | -nodisturb_clock_grouping]
[-deterministic_z1check | -nodeterministic_z1check]
[-dftmax_shift_cycles value]
[-dlat_checking_type <stable | hot_clock | transparent >]
[-dslave_remodel | -nodslave_remodel]
[-dynamic_clock_equivalencing <off | disturb | nodisturb>]
[-extract_cascaded_clock_gating | -noextract_cascaded_clock_gating]
[-fast_multifrequency_capture < on | off | spf >]
[ file_name | -nofile]
[-forked_pipes | -noforked_pipes]
[-freerunning_expansion | -nofreerunning_expansion]
[-independent_sync_clocks | -noindependent_sync_clocks]
[-initialize_dff_dlat <0|1|x|random> instance_name]
[-internal_clock_timing name | -nointernal_clock_timing]
[-limit_shadow d]
[-load_nonscan_cells | -noload_nonscan_cells]
[-lockup_after_compressor | -nolockup_after_compressor]
[-master_slave_pipes]
[-max_pll_simulation_passes d]
[-max_unidentifiable_scan_chains number]
[-multi_captures_per_load | -nomulti_captures_per_load]
[-multiframe_paths | -nomultiframe_paths]
[-multiple_pipes_per_port | -nomultiple_pipes_per_port]
[-num_pll_cycles d ]
[-observe_procedure <master | any>]
[-oscillation d]
[-pipeline | -nopipeline]
[-pipeline_in_compressor | -nopipeline_in_compressor]
[-pll_launch_on_shift | -nopll_launch_on_shift]
[-pll_simulate_test_setup | -nopll_simulate_test_setup]
[-random_z1check | -norandom_z1check]
[-reclassify_invalid_dslaves | -noreclassify_invalid_dslaves]
set_drc 380
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
[-remove_false_clocks | -noremove_false_clocks]
[-regular_scan_shift_cycles value]
[-set_unload_mode_ports_to_x | -noset_unload_mode_ports_to_x]
[-shadows | -noshadows | -serial_shadows_only]
[-skew d] [-store_initial_shifts | -nostore_initial_shifts]
[-spc_chain spc_chain_name]
[-store_setup | -nostore_setup]
[-store_stability_patterns | -nostore_stability_patterns]
[-store_unload_mode_data]
[-tlas | -notlas]
[-trace | -chain_trace chain_name | -notrace]
[-use_cell_constraints | -nouse_cell_constraints]
[-unstable_lsrams | -nounstable_lsrams]
[-xchain_threshold_probability n]
[-z_check_with_all_constraints | -noz_check_with_all_constraints]
Arguments
-allow_unstable_set_resets | -noallow_unstable_set_resets
Specifies whether DFF/DLAT devices with unstable sets or resets are considered DRC
violations. An unstable set/reset condition exists when the control net is internally
generated. The default is to consider an unstable set/reset a DRC violation. Using the -
allow_unstable_set_resets option allows the presence of internally generated
set/resets, but might result in decreased test coverage and increased pattern count,
especially when using scan compression. However, the -allow_unstable_set_resets
option might be required in some situations, such as when a primary input is used as both a
synchronous and asynchronous set or reset.
When -allow_unstable_set_resets is specified, the clock grouping analysis is extended
to include flip-flops with set or reset lines controlled by other flip-flops clocked from
different clocks. This will increase the disturb flop list and possibly change the clock matrix
(specified by report_clocks -matrix) and clock grouping definitions. This behavior
defines more appropriate clock relationships in the clock matrix for these conditions and
prevents generating patterns that might violate these additional dependencies. The use of
-allow_unstable_set_resets can result in different pattern generation and coverage
opportunities.
-bidi_control_pin <0|1> name | none
Specifies the top-level port that operates as a global enable/disable for bidirectional pins
when used in conjunction with a ReflectIO capture procedure; or it can be used before any
run_drc command has been performed to cause the write_drc_file command to create
a template DRC file containing an example ReflectIO procedure. The value 0 or 1 specifies
the state to apply to this port during the ReflectIO procedure so that bidirectional ports are
inputs. Specifying none turns off this control.
-blockage_aware_clock_grouping | -noblockage_aware_clock_grouping
The -blockage_aware_clock_grouping option performs analysis on all previously
identified disturb clock groups if any of the clocks in the group connects to a candidate
“control cell,” that is, a scan cell that holds value during capture. During this analysis, the
effect of setting the control cells first to 0 and then to 1 is simulated, and the scan cells that
are undisturbed in both simulations are removed from the disturb list. The -blockage_
set_drc 381
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_drc 382
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -chain_capture argument specifies the use of the special retention cell chain test,
rather than the usual chain test. This test is applied by the full-sequential test generator.
For more information, see Retention Cell Testing.
The -one_hot argument restricts patterns to always use one of the defined clocks (while
avoiding the non-clocking pattern). Chain test patterns are not generated. Threaded ATPG
may generate non-clocking patterns, but this can be prevented by setting add_po_masks
-all.
The -seq_capture argument selects the special Full-Sequential capture procedure defined
in the DRC file for Full-Sequential ATPG. Otherwise, by default, the Full-Sequential
algorithm uses the same capture procedures as the Basic-Scan and Fast-Sequential ATPG
algorithms.
The clock restrictions specified by the -clock option are considered during DRC and can
affect the recognition of constant-value nonscan cells. For a clock selection of port_name
or -one_hot it will not be possible to create chain test patterns.
TestMAX ATPG silently ignores this option, except when the -dynamic or -one_hot options
are specified. For more information, see TestMAX ATPG Multithreading Command Option
Support.
-clock_constraints block_name
This option, which is used in the internal clocking procedures feature, selects the
ClockConstraints block in the STL procedure file that is used for DRC. Note that only one
ClockConstraints block can be used during a single DRC run. The default is to not use
any of the ClockConstraints blocks in the STL procedure file. For more information, see
"Using Internal Clocking Procedures."
This option switches to single-threaded processing. For more information, see TestMAX
ATPG Multithreading Command Option Support.
-clockdrc_use_cell_constraints | -noclockdrc_use_cell_constraints
Enhances constant value cell identification so the DRC process considers cell constraints
affected by the clock (C) rules. Because this analysis is performed before scancell
identification, cell constraints are considered only if they are defined by their instance
name and not by a position in a scan chain. The default (the -noclockdrc_use_cell_
constraints option ) is for the DRC process to use constant value cell identification to
consider cell constraints without applying the clock (C) rules. For related information, see
the description of the -use_cell_constraints option.
-controller_clock pin_name | -nocontroller_clock
Specify -controller_clock to generate patterns with capture cycles that always have
clock pulses from a controller clock regardless of the existence of any other clock pulses in
that particular capture cycle. This option is useful for JTAG designs that guarantee the TCK
is pulsing in every capture cycle. The default is -nocontroller_clock, which does not
guarantee that every capture cycle has at least one clock pulse.
-constraints | -noconstraints
DRC simulates the load_unload functionality as part of the scan-shifting validation process,
and will apply all constrained signals to their constrained states at the start of that
validation. These values are set in WGL output patterns, but the presence of constrained
state data in STIL output is not guaranteed unless these signals are explicitly specified in
the load_unload procedure. The -noconstraints option identifies if these constrained
set_drc 383
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
signals (not otherwise applied in the load_unload procedure) affect the behavior of the
shift operation. This will identify missing signals in the definition of the load_unload
procedure that should be present to define a self-contained operation. See also the DRC
rule V33. The default is -constraints.
-compressor_debug_data | -nocompressor_debug_data
Provides debug information when DRC fails to find the connection between core scan
chains and the unload compressor. This option has no effect when DRC passes.
-deterministic_z1check | -nodeterministic_z1check
Applies a deterministic approach to find buses that are skipped during the bus contention
process. These buses are unlikely to produce bus contention under certain conditions.
However, they are checked for contention like all other failing buses. Using the
deterministic approach, contention analysis is rerun for Z1 violations using all constraints
and other information before analysis is performed for Z8 violations (contention
prevention). The default is -nodeterministic_z1check.The buses that were skipped can
be reported using the report_buses -contention fail command, as shown in the
following example:
report_buses -contention fail
contention zstate #drivers
gate_id status/capture status strong/weak behavior_data
------- -------------- ------ ----------- --------------------
811 fail stable pass 2 0
3166 fail stable pass 4 1 keep01 clock skip
3171 fail stable pass 4 1 keep01 clock skip
-dftmax_shift_cycles value
Specifies an overshift scan operation value for DFTMAX compression designs. Overshift
provides the ability to write out patterns at a user-specified length greater than the longest
chains in the design.
-disturb_clock_grouping | -nodisturb_clock_grouping
The default, -disturb_clock_grouping, adds parallel clock pairs with a limited number of
cells having sequential behavior to a clock group. Together with the -clock -dynamic
option, this option controls whether or not the analysis should be performed for these clock
pairs during DRC by default.
-dlat_checking_type <stable | hot_clock | transparent >
By default, a D4 violation check is performed on all clock ports in their off state. When the -
dlat_checking_type option is set with the stable argument, a D4 violation is reported
when a clock pin of a DLAT is not at the off state. When the hot_clock argument is used, a
D4 violation is reported if the DLAT clock pin vlaue is X. The default is the transparent
argument.
-dslave_remodel | -nodslave_remodel
Specifies whether to remodel a dependent slave (dslave) in the presence of S29
messages. The default is to remodel the dslave (the -dslave_remodel option). The -
nodslave_remodel option prevents the switching of devices in a master-slave
combination, and forces TestMAX ATPG to use the conventional scan chain ordering that
puts a master device before the slave device instead of basing the ordering on their
set_drc 384
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
simulated behaviorwhich may lower the test coverage but prevents parallel simulation
miscompares. Alternatively, because remodeled/reclassified latches might fail MAX
TestBench parallel simulation, you can use the write_patterns -cellnames type
command to eliminate parallel simulation errors.
-dynamic_clock_equivalencing <off | disturb | nodisturb>
Enables the use of pin equivalences for dynamic clock grouping. The off option (the
default) automatically deletes pin equivalences for clocks during DRC when dynamic clock
grouping is enabled. The disturb option allows the use of pin equivalences for clocks when
dynamic clock grouping is enabled using normally calculated disturb cells. In this case, all
dynamic clock pairings for equivalent clocks are used with no limits on disturb cells. The
nodisturb option allows the use of pin equivalences for clocks when dynamic clock
grouping is enabled with no consideration for disturb cells. In this case, all dynamic clock
pairings for equivalent clocks are used with no limits on disturb cells.
-extract_cascaded_clock_gating | -noextract_cascaded_clock_gating
Extracts the entire clock-gating tree structure during DRC and excludes violations on
cascaded clock-gating cells. By default, only leaf-level nodes are extracted.
Stuck-inactive faults of the scan enable pins of clock-gating cells receive detected by
implication (DI) credit. Use the -extract_cascaded_clock_gating option to ensure that
DI credit is applied to all cells in the cascade.
In the following figure, only the leaf-level nodes are extracted, which results in a series of
C8 violations for cascaded clock-gating cells:
In the next figure, the -extract_cascaded_clock_gating option is set and the entire
clock-gating tree structure is extracted. As a result, no C8 violations are issued for
cascaded clock-gating cells.
This option removes all cascaded clock-gating cells from the list of DRC violations. All other
violations, if present, are still included in the DRC summary report.
-fast_multifrequency_capture < on | off | spf >
set_drc 385
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
When a ClockTiming block exists in the STL procedure file, this option specifies whether
to overlap the clock pulses. The default is to overlap clocks if the ClockTiming block
contains one or more MultiCyclePath statements, but not to overlap the clocks
otherwise. When off is selected, the clocks are pulsed synchronously, but only at the
frequency of the slowest synchronized clock. When on is selected, the clocks are
overlapped to achieve single-cycle timing even if there is no MultiCyclePath statement in
the STL procedure file. The default, spf, restores the default behavior.
file_name | -nofile
Specifies the name of the DRC file (also known as the test protocol file or STIL procedure
file) used for design rule checking. This setting remains in effect until you use the set_drc
command again or you specify a DRC file name in the run_drc command. To cancel a
previous setting and use no DRC file, use the -nofile option.
-forked_pipes | -noforked_pipes
The -forked_pipes option (the default) causes TestMAX ATPG to recognize the use of
pipeline registers before and after a fork, and those used for common scan data bits of a
distributed processor. You can view an example of the output produced when this option is
set in the description of the report_compressors command.
-freerunning_expansion | -nofreerunning_expansion
Specifies whether or not the clock events defined by a FreeRunning block should be
included as part of the pattern data. TestMAX ATPG will assume these clocks always pulse
as part of the ATPG assumptions for pattern generation. The default, -freerunning_
expansion, will also fold these clocks into the pattern data. ( Some types of patterns do
not support some types of FreeRunning timing; see the description of the M669 message.)
If these clocks are specified from external sources and should not be part of the pattern
data, then you can specify -nofreerunning_expansion. An M669 message is generated
for all write_patterns operations for all FreeRunning clocks when -nofreerunning_
expansion is specified. If the design simulation flow requires the clocks to be present and
you have specified the -nofreerunning_expansion option, then you must manually add
the clocks to the simulation. If these clocks are not pulsed, the simulation will fail.
-independent_sync_clocks | -noindependent_sync_clocks
Accounts for independent synchronized clocks during DRC when a ClockTiming block exists
in the STL procedure file. This option modifies the capture matrix for the independent
clocks, which allows ATPG to use these clocks to reduce the pattern count. For more
information on the capture matrix, see the description of the -capture_matrix option of
the report_clocks command. The -independent_sync_clocks option requires the set_
drc –fast_multifrequency_capture on command. The -noindependent_sync_clocks
option (the default), does not perform this analysis.
-initialize_dff_dlat <0|1|x|random> instance_name
Specifies the initial simulation value for all sequential devices or for the named sequential
device. The default is x. A choice of random results in random initialization to either 1 or 0.
Note: In order for a non-X default to be kept for a particular sequential device, that device
must have clocks/sets/reset, which are off at T=0. Any initialization effects due to the
test_setup procedure at T=0 will override the initial setting defined by this option.
-internal_clock_timing name | -nointernal_clock_timing
set_drc 386
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This setting is used when multiple ClockTiming blocks are defined in an STL procedure file
when specifying synchronized multi frequency internal clocks in an OCC Controller. By
default, the last ClockTiming block defined in an STL procedure file is used. However, you
can use the -internal_clock_timing switch to specify the use of a specific block. You
can specify the -nointernal_clock_timing switch to ignore all ClockTiming blocks and
return to legacy non-synchronized internal clocks behavior.
For more information, see "Specifying Synchronized Multi Frequency Internal Clocks for an
OCC Controller" in the TestMAX ATPG and TestMAX Diagnosis User Guide.
This option switches to non-threaded process. For more information, see TestMAX ATPG
Multithreading Command Option Support.
-limit_shadow d
Causes TestMAX ATPG to not report any shadows in a design that are deeper than the
specified d value. For example, if your design has a mulitbit cell length of 500, you can
specify DRC to limit the shadow depth to 100.
-load_nonscan_cells | -noload_nonscan_cells
Enables test generation support and performs constrain value calculation for loadable
nonscan state elements. Note that the command set_simulation -shift_cycles must
be set to a value greater than 0. For complete information on using this option and related
commands, see the topic "Using Loadable Nonscan Cells in TestMAX ATPG."
-lockup_after_compressor | -nolockup_after_compressor
The -lockup_after_compressor option causes the DRC process to report all lock-up
latches located between compressors and unload pipelines, if unload pipelines are
detected. The default, specified by the -nolockup_after_compressor option, is to ignore
this check.
-master_slave_pipes
This option causes the tool to support pipeline stages with master/slave flip-flops. The tool
detects a LE (leading edge) flip-flop followed by a TE (trailing edge) flip-flop and considers
this as a single stage of pipeline. You can view an example of the output produced when
this option is set in the description of the report_compressors command.
-max_pll_simulation_passes d
Extends simulation of the load procedure to apply a selected number of PLL clock pulses at
tester period and procedure boundaries. Simulation continues until all state elements
reach a stable value, or until the maximum number of passes specified by d is reached. A
warning message is given if the maximum number of passes is reached without
stabilization. The default maximum number of passes is set to 100.
-max_unidentifiable_scan_chains number
Sets a user-specified threshold for unidentifiable scan chain messages (M464). When the
limit is reached, DRC stops without further processing. The default limit is 100 scan chains.
If you set a value of 0 for the limit, an M464 message is printed for every unidentifiable
scan chain. The scan chains are identified in the same order as they are defined in the
ScanStructures block of the STIL protocol file (SPF). This means when the limit is reached,
all chains without an error that are defined in the ScanStructures block before the last
M464 message are successfully identified. But all chains after the last M464 message are
unchecked.
set_drc 387
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-multi_captures_per_load | -nomulti_captures_per_load
Specifies whether to allow the creation of patterns that have more than one capture clock
procedure between scan load and scan unload. The default is to allow this. Use of -
nomulti_captures_per_load causes there to be no more than one capture clock
procedure between each scan load/unload. Disabling multiple capture clocks can increase
total tester cycles and reduce test coverage, so you should do it only if required by your
ASIC vendor.
-multiframe_paths | -nomultiframe_paths
This switch affects clock timing when synchronized multi frequency clocks is enabled. By
default, a MultiCyclePath definition inside a SynchronizedClocks group in the STIL
procedure file is used only to move clock edges closer together in time. When -
multiframe_paths is specified, a MultiCyclePaths definition of greater than 1 can cause
clock edges to be moved farther apart. This switch has no effect on the behavior of timing
exceptions defined by read_sdc command.
-multiple_pipes_per_port | -nomultiple_pipes_per_port
When -multiple_pipes_per_port is specified, DRC considers multiple DFFs for each bit
of each input and output pipeline stage. This is needed to support the following architecture
types: scanin fanout input pipeline stages load decompressor scan chains
unload compressor output pipeline stages MUX scanout. The default is -
nomultiple_pipes_per port.
-num_pll_cycles d
Defines the number of PLL clock cycles supported per load. You must define this before
defining internal clocks.
-observe_procedure <master | any>
Restricts pattern usage to always apply a master observe procedure.
-oscillation d
Specifies the number of simulation passes allowed during DRC simulation before oscillation
is declared. A simulation pass is the effort required to stabilize the new state element
values from the previous pass, where the activity is bounded by state elements. The
default is 500.
-pipeline | -nopipeline
Performs a special pipeline analysis during DRC to identify states of the pipeline during
shifting.
-pipeline_in_compressor | -nopipeline_in_compressor
When enabled, DRC unload pipeline identification allows multi input gates between stages.
This is useful if timing optimizations have pushed the unload pipeline DFFs into the XOR
network of the unload compressor. Every path must still have the same number of pipeline
DFFs.
-pll_launch_on_shift | -nopll_launch_on_shift
The -pll_launch_on_shift option must be used for transition-fault testing while launch_
on_shift uses PLL-controlled internal clocks (the default is -nopll_launch_on_shift).
The design netlist must include pipelined scan enable, and the STL procedure file must
set_drc 388
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
include a single shift with scan enable changed to functional mode, following the general
shift. DRC performs a special simulation of the load_unload procedure but the correctness
of the clock controller must be verified in a timing-sensitive simulator, outside TestMAX
ATPG DRC.
After run_drc is completed, all POs are masked, all nonclock PIs are constrained, and the
transition type is set to last-shift-launch. After running DRC in this mode, run_atpg will
issue an error if ATPG is attempted using any fault model other than Transition.
-pll_simulate_test_setup | -nopll_imulate_test_setup
Extends simulation of the test_setup procedures with the ability to apply a selected
number of PLL clock pulses at tester period boundaries. Simulation of test_setup always
performs PLL clocking at the beginning and end of the procedure.
-random_z1check | -norandom_z1check
Applies a random approach to find buses that are skipped during the bus contention
process. These buses are unlikely to produce bus contention under certain conditions.
However, they are checked for contention like all other failing buses. Using the random
approach, contention-free buses are determined based on random pattern generation and
the calculation of bus contention for all buses in the failing list. The default is -norandom_
z1check. The buses that were skipped can be reported using the report_buses -
contention fail command, as shown in the following example:
report_buses -contention fail
contention zstate #drivers
gate_id status/capture status strong/weak behavior_data
------- -------------- ------ ----------- --------------------
811 fail stable pass 2 0
3166 fail stable pass 4 1 keep01 clock skip
3171 fail stable pass 4 1 keep01 clock skip
-reclassify_invalid_dslaves | -noreclassify_invalid_dslaves
This option controls the reclassification of a dependent slave (dslave) device that violates
the S29 rule because it holds a different state than its master device. The default, -
reclassify_invalid_dslaves, reclassifies the appropriate slave devices as master
devices if there is a difference in the device states. This reclassification improves the
generation of test patterns that validate the behavior of these devices.
If you set the -nodslave_remodel option, the slave reclassification is disabled (the -
noreclassify_invalid_dslaves option is disabled). Try to avoid simultaneously
specifying both the -reclassify_invalid_dslaves option and the -nodslave_
remodel option. This combination of options removes the observe X normally placed on
master-slave devices, which is intended to prevent bad pattern generation.
For parallel STIL pattern generation, you should consider using the -noreclassify_
invalid_dslaves option (for details, see the description of the M404 message). The -
noreclassify_invalid_dslaves option applies a mask to an invalid master-slave
device, which lowers the test coverage but prevents parallel simulation miscompares. This
is important since not reclassifying the master-slave operation might violate the sequence
of events assumed in basic-scan ATPG. Alternatively, because remodeled/reclassified
latches might fail MAX TestBench parallel simulation, you can use the write_patterns -
cellnames type command to eliminate parallel simulation errors.
set_drc 389
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-regular_scan_shift_cycles value
Specifies an overshift scan operation value for regular scan designs. Overshift provides the
ability to write out patterns at a user-specified length greater than the longest chains in
the design.
-remove_false_clocks | -noremove_false_clocks
When a port has been defined as a clock using an add_clocks command, and the circuit
analysis indicates that the port cannot capture data into a sequential device, then a C4
violation is issued.
Specifying -remove_false_clocks causes these false clocks to be removed from the
clock list without generating a C4 violation. In addition, the use of the -remove_false_
clocks option enables the -allow_unstable_set_resets option and causes an additional
search for any defined clock that goes only to set/reset inputs and at least one DFF/DLAT
data input but no DFF/DLAT clock inputs. If this condition exists, then these clock
definitions are also removed.
This control only affects clocks defined by command and not those defined by the test
protocol file. The default is -noremove_false_clocks.
Reference clocks, by definition, are false clocks; they do not connect to any real primitives
in the design.
-set_unload_mode_ports_to_x | -noset_unload_mode_ports_to_x
When you specify the -noset_unload_mode_ports_to_x option, the unload-mode ports
are placed to binary values when checking the R8, R23, and R31 compressor rules.
You should use the default setting (-set_unload_mode_ports_to_x) first because it
performs a more thorough checking. This option is also faster because it runs fewer
simulations by leaving inputs unchanged that are unaffected at X.
If spurious R8, R23, or R31 violations are reported, use the -noset_unload_mode_ports_
to_x option. This option simulates 1024 random patterns, which is enough to find
problems in most cases, but also takes longer to complete.
-shadows | -noshadows | -serial_shadows_only
Specifies the type of shadow identification performed. When -shadows is selected (the
default), the DRC process attempts to identify shadow registers in both serial and parallel
configurations to their master cell. A parallel shadow obtains its value in parallel with the
master scan cells during the Shift procedure. The -serial_shadows_only option selects
the identification of only serially configured shadow registers . A serial shadow register
obtains its value during tje post-amble sequence after the Shift procedure. Using -
noshadows disables the identification of shadow cells. For DFMAX Ultra, only the -shadows
option is supported.
-skew d
When the design has two state elements, A and B, with the output of A connected to the
input of B, and each element is clocked by a different clock, and those clocks have nearly
identical timing, then the two clocks have a parallel grouping relationship only if the
capture edge of clock B occurs at or before the capture edge of clock A minus the skew
value. Otherwise, the clocks are ungrouped, or have a disturbed grouping. Note that the
specified d value uses the same time units used in the protocol file.
-spc_chain spc_chain_name
set_drc 390
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the name of the shift power control (SPC) chain used to control the shift power
groups hardware added to DFTMAX compression during DFT insertion. Shift power groups
reduce power consumption during scan shift. The -spc_chain option cannot be used if shift
power groups are not specified during DFT insertion using the -shift_power_groups true
option of the set_scan_compression_configuration DFT Compiler command. If shift
power groups are specified, the -spc_chain option is required unless the shift power
disable signal is constrained to disable this feature.
The spc_chain_name argument is the chain name specified by the -class spc option or
the -class occ option of the set_scan_path TestMAX DFT command during DFT
insertion. The chain name is written to the SPF file, but it is not identified as a particular
entity in that file.
When the -spc_chain option is specified, the scan enable signal must be constrained to its
inactive state during capture. The following example adds the test_se constraint:
add_pi_constraints 0 test_se
For more information on configuring shift power groups, see "Reducing Scan Shift Power
Using Shift Power Groups" in the TestMAX DFT, DFTMAX, and DFTMAX Ultra User Guide.
-store_initial_shifts | -nostore_initial_shifts
Specifies whether to store the first simulated vectors of the shift procedure until the first
internal shift is performed for serializer. When -store_initial_shifts is selected, the
stored values can be displayed with the set_pindata -shift command, followed by
run_drc. With -store_initial_shifts selected, TestMAX ATPG DRC is guaranteed to
fail. After debugging and fixing serializer DRC violations, you will need to specify set_drc
-nostore_initial_shifts before invoking run_drc, to pass TestMAX ATPG DRC.
-store_setup | -nostore_setup
Specifies whether to store all simulated time periods of the test_setup procedure for
potential display in TestMAX ATPG. The default is to store only the final value of the test_
setup procedure. The -store_setup option can cause long runtimes.
-store_stability_patterns | -nostore_stability_patterns
Specifies whether to store the patterns used to determine the values placed on nonscan
state elements at the beginning of a pattern for potential display. The default is not to
store these patterns.
-store_unload_mode_data
A schematic is annotated with unload_mode data, that is, shift data plus unload mode pins
for the unload mode given as an argument in the set_pindata -drcdata unload_mode
<mode_name> command. This data is stored automatically for an R23 violation, or explicit
storage can be requested by the set_drc -store_unload_mode_data option. For non-
shared X-tolerant compressors, this option stores unload mode data for all unload modes
plus R23-like data for unload_enable. For shared X-tolerant compressors, this option only
stores R23-like data for unload_enable.
-tlas | -notlas
Specifies whether transparent latch identification is performed. The default is to identify all
potential transparent latches.
-trace | -chain_trace <chain_name | -notrace>
set_drc 391
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies whether to display primitives in scan chains that were sensitized during scan
chain tracing. The default is -notrace. Using -trace causes all primitives in all scan chains
to be traced. Using -chain_trace causes only the specified chain to be traced.
-use_cell_constraints | -nouse_cell_constraints
Enhances constant value cell identification so the DRC process considers cell constraints
(the default). Because this analysis is performed before scancell identification, cell
constraints are considered only if they are defined by their instance name and not by a
position in a scan chain. This option does not affect clock (C) rules. See the description of
the -clockdrc_use_cell_constraints option to control DRC for cells constraints for
clock (C) rules.
-unstable_lsrams | -nounstable_lsrams
Lets level-sensitives RAMS, which are not stable when clocks are off, to be used during
Fast-Sequential ATPG. This argument must be active before DRC to have an effect. The
default is -nounstable_lsrams.
-xchain_threshold_probability n
Defines the minimum probability of X-capture of a scancell that causes rule D39 to fail. The
default is 0, which indicates that checking will not be performed. The value of n must be
between 0 and 100, inclusive.
If this analysis is to be performed on a netlist before scan insertion, the following
commands are also required: set_scan_ability on -all and run_drc -prescan
file_name.
-z_check_with_all_constraints | -noz_check_with_all_constraints
Specifies whether constrained pins and constant value gates are considered while
performing bus checks (specifically Z-rule checking). The default is -noz_check_with_
all_constraints.
Description
Use this command to set the parameters that control the DRC process. You can display the current settings
with the report_settings command.
Examples
DRC> set_drc -oscillation 20 -store_setup
set_drc 392
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
add_clocks
Clock Grouping
run_drc
Sequential Capture Procedure
set_rules
Understanding Clock Grouping Analysis
write_drc
set_drc 393
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment
Overview
This command provides a command line equivalent for many of the changes which can be interactively
adjusted in the Environment dialog box.
Syntax
set_environment
[gui | transcript | viewer | reports | info] options...
Arguments
gui options
This option selects the GUI subset of the set environment controls. For details, see:
set_environment_gui
transcript options
This option selects the Transcript subset of the set environment controls. For details, see:
set_environment_transcript
viewer options
This option selects the Viewer subset of the set environment controls. For details, see:
set_environment_viewer
Reports options
This option selects the Reports subset of the set environment controls. For details, see:
set_environment_reports
info options
This option selects the Info subset of the set environment controls. These are detailed on
the page:
set_environment_info
Description
This command provides a command line equivalent for many of the changes which can be interactively
adjusted in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
See Also
set_environment_gui
set_environment_info
set_environment_reports
set_environment_transcript
set_environment_viewer
set_environment 394
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_gui
Overview
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box.
Syntax
set_environment_gui
[-cmdbar | -nocmdbar]
[-error_messages <transcript | message_box>]
[-history_order <newest | oldest>]
[-max_history_length d]
[-title_prefix string]
[-toolbar <text | bitmap>]
Arguments
-cmdbar | -nocmdbar
A selection of -cmdbar displays the command bar and while you resize the main window,
hides or discloses buttons. Click the ">> symbol on the far right to view and select a
hidden button. A selection of -nocmdbar hides the command bar. The default is -cmdbar.
-history_order <newest | oldest>
This option specifies the order in which the command history appears in the popup window
when the down arrow at the right of the command line input buffer is selected and the
command history window opens up. A selection of newest causes the most recent
command to appear first (at the top) of the window. A selection of oldest causes the oldest
command to appear first. The default is Oldest.
-max_history_length d
This option controls the maximum number of commands stored in the command history
buffer. The default is 100 lines.
-title_prefix string
This option displays a text string in the GUI title. To make the hostname visible in the GUI
title, use the hostname as the string.
-toolbar <text | bitmap>
This option determines whether the GUI buttons are displayed with text labels or as
graphical icons. The default is Text.
Description
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
set_environment_gui 395
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
BUILD> set_environment_gui -toolbar bitmap
See Also
set_environment_info
set_environment_reports
set_environment_transcript
set_environment_viewer
set_environment_gui 396
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_info
Overview
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box.
Syntax
set_environment_info
[-always_on_top | -noalways_on_top]
[-save_dimensions | -nosave_dimensions]
Arguments
-always_on_top | -noalways_on_top
Selects whether the gate information window stays on top or not. The default is not to stay
on top.
-save_dimensions | -nosave_dimensions
Selects whether last size and position of information window are saved or not. The default
is to save and reuse this size and dimensions last used.
Description
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
Examples
BUILD> set_environment_info -always_on_top
See Also
set_environment_gui
set_environment_reports
set_environment_transcript
set_environment_viewer
set_environment_info 397
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_reports
Overview
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box.
Syntax
set_environment_reports
[-color <text | background> <red> <green> <blue>]
[-font_size d]
[-height d]
[-line_length d]
[-max_lines d]
[-margin d]
[-width d]
[-xpos d]
[-ypos d]
Arguments
-color <text | background> <red> <green> <blue>
Specifies the color of the text or background used in report windows opened by various
"report" commands. The color is specified as a triplet of three numbers in the range of 0 to
255, with 0 0 0 for black or 255 255 255 for white. The default for the background is white
and for the text is black.
-font_size d
Selects the size of the font in points used in the popup report windows. The default is 16
points.
-height d
Selects the initial height of the window in pixels used by the report window. The default is
400 pixels.
-width d
Selects the initial width of the window in pixels used by the report window. The default is
600 pixels.
-line_length d
Selects the maximum number of characters per line to store in the report window. Lines
longer than this are truncated. The default is 200 characters.
-max_lines d
Selects the maximum number of lines held in the report window. When more lines are
written to the report window than this limit, the oldest lines are removed. The default is
5000 lines.
-margin d
Selects the size of the left margin of the report window in pixels. The default is 5 pixels.
set_environment_reports 398
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-xpos d
Selects the initial X position of the upper left corner of the report window relative to the
upper left corner of the screen. The default is 20 pixels offset to the right.
-ypos d
Selects the initial Y position of the upper left corner of the report window relative to the
upper left corner of the screen. The default is 20 pixels offset down.
Description
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
Examples
BUILD> set_environment_reports -line_length 300
See Also
set_environment_gui
set_environment_info
set_environment_transcript
set_environment_viewer
set_environment_reports 399
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_transcript
Overview
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box.
Syntax
set_environment_transcript
[-font_size d]
[-max_lines d]
Arguments
-font_size d
Selects the font size in points of the text displayed in the transcript. The default font size is
16 points.
-max_lines d
Selects the maximum number of lines to store in the transcript. When this limit is reached,
the oldest lines are removed as new lines are added. The default is 15000 lines.
Description
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
Example
BUILD> set_environment_transcript -max_lines 10000
See Also
set_environment_gui
set_environment_info
set_environment_reports
set_environment_viewer
set_environment_transcript 400
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_viewer
Overview
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box.
Syntax
set_environment_viewer
[-buf_inv | -nobuf_inv]
[-color {<background | bidi | block | bufinv_removed
| edge_connector | highlight | id | instance_name | net
| pindata_text | pinname_text | rubberband | tie
| title_background | title_text | type_name_text>
<red_value> <green_value> <blue_value> }]...
[-design_symbols <block | primitives>]
[-dff_dlat_symbol <mode1 | mode2 | mode3>]
[-font <system | hershey>]
[-instance_names | -noinstance_names]
[-left_justify_pis | -noleft_justify_pis]
[-max_gates d]
[-max_pindata_length d]
[-primitive | -noprimitive]
[-redraw <always | if_necessary>]
[-scheme <default | black_on_white | synopsys>]
[-time_out d]
[-truncate | -notruncate]
Arguments
-buf_inv | -nobuf_inv
Selects whether buffers and inverters are removed from the schematic and replaced with
collapsed buf/inv symbols. This applies only if the view is "primitive". The default is to
show all buffers and inverters.
-color {<object> <red_value> <green_value> <blue_value>}
This option sets the display color for a type of object or text label. The object is one of the
field names as illustrated in the following diagram. The color values are specified as a color
triplet of red, green, and blue values, with a range of 0 to 255 for each value. For example,
0 0 0 = black, 255 255 255 = white, and so forth. Make sure you specify the object and
color values enclosed within curly braces, for example:
set_environment_viewer -color { block 0 255 0 }
set_environment_viewer 401
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Mode 1: Input order from top to bottom is set, reset, clock, data.
Mode 2: Input order from top to bottom is clock, data with set on top and reset on bottom.
Mode 3: Input order from top to bottom is data, clock, with set on top and reset on bottom.
set_environment_viewer 402
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_environment_viewer 403
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
When the -instance_names argument has been selected, specifies to shorten the display
of instance names to a fixed width. This might be useful to avoid clutter and one long string
overlaying another. Truncation occurs on the leading characters, leaving the rightmost
characters visible. To get a complete instance name, you can click a gate in the GSV and
the full instance name displays in status window.
Description
This command provides a command line equivalent for many of the changes that can be interactively adjusted
in the Environment dialog box. This dialog box is accessed from the Edit->Environment menu.
Examples
BUILD> set_environment_viewer -max 50 -time_out 25
BUILD> set_environment_viewer -dff_dlat_symbol mode3
See Also
set_environment_gui
set_environment_info
set_environment_reports
set_environment_transcript
set_environment_viewer 404
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_faults
Overview
Use this command to set the parameters that control the fault manager.
Syntax
set_faults
[-atpg_effectiveness | -noatpg_effectiveness]
[-au_credit d]
[-ax_credit d]
[-bridge_input | -nobridge_input]
[-delete_dictionary]
[-equiv_code code_name | -noequiv_code]
[-interval_fault_coverage | -nointerval_fault_coverage]
[-fault_coverage | -nofault_coverage]
[-model <stuck | iddq | iddq_bridging | transition | path_delay | hold_
time | bridging | dynamic_bridging>]
[-multi_fanout_di_faults | -nomulti_fanout_di_faults]
[-persistent_fault_models | -nopersistent_fault_models]
[-pt_credit d]
[-report <collapsed | uncollapsed>]
[-store_dictionary max_num_fail_pat]
[-summary <verbose | noverbose>]
[-test_coverage_exclude {ud_class_fault_list}]
[-test_coverage_include {ud_class_fault_list}]
[-use_dictionary | -nouse_dictionary]
Arguments
-atpg_effectiveness | -noatpg_effectiveness
Indicates whether the fault summary reports the ATPG effectiveness coverage. The default
is not to report this information.
-au_credit d
Defines the percentage of credit given to AN (ATPG Untestable Not-Detected) faults during
the calculation of test coverage. The default is 0, which gives 0% credit. This option
accepts integer values from 0 to 100, which are interpreted as a percentage.
-ax_credit d
Defines the percentage of credit given to AX (ATPG Untestable Timing Exceptions) faults.
The default is 0. This option accepts integer values from 0 to 100, which are interpreted as
a percentage.
-bridge_input | -nobridge_input
Supported for distributed ATPG; not supported for Full-Sequential ATPG and Full-Sequential
fault simulation.
Selecting -bridge_input accepts input pins for both the victim and the aggressor nodes.
For the victim node, the specified pin is used to propagate the fault effect. For the
set_faults 405
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
aggressor node, an attempt is made to map the input pin to the driving output pin. If this
mapping fails, a warning is issued. The default is -nobridge_input.
-delete_dictionary <internal | external |both>
Deletes all internal or external diagnostics dictionaries or both. For more information, see
Using a Dictionary for Diagnosis.
-equiv_code code_name | -noequiv_code
Selects the equivalence code to use when reporting uncollapsed faults. The default is to
use a double dash "--". Use of -noequiv_code suppresses the use of this character string
and uses instead the fault class of the fault to which this fault is equivalent. When
specifying an alternative equivalence code, use a 2-character string. Also note that the
current setting of the equivalence code can affect fault lists read using the read_faults
command.
-fault_coverage | -nofault_coverage
Indicates whether the fault summary reports the fault coverage. The default is not to
report this information. The calculation of the fault coverage is affected by the inclusion or
exclusion of faults for unused gates. By default, unused gates and their associated faults
are removed from the design during flattening to extend gate capacity. If you want an
accurate fault coverage report, you can have TestMAX ATPG retain the unused gates
during the circuit flattening process. This is controlled with the -nodelete_unused_gates
option of the set_build command.
-interval_fault_coverage | -nointerval_fault_coverage
Prints the fault coverage to standard output and log file for each pattern when the -
interval_fault_coverage option is set during the processing of the run_atpg command.
In each interval summary line, the test coverage is always printed first for each interval,
followed by the fault coverage. The default is the -nointerval_fault_coverage option.
-model <stuck | iddq | iddq_bridging | transition | path_delay | hold_time
| bridging | dynamic_bridging>
Indicates the type of fault model to be used. The choices are as follows:
stuck — Generates standard ATPG patterns (the default).
iddq — Uses the IDDQ model to generate patterns to measure IDDQ.
iddq_bridging — Uses the IDDQ bridging model to generate patterns to increase IDDQ
coverage.
transition — Applies the transition fault model for using last shift or system clock to
launch a transition.
path_delay — Applies the Path delay fault model, which enables pattern generation that
targets a list of path delay faults.
hold_time — Applies the hold time fault model,which targets hold time faults during
pattern generation.
bridging — Applies the bridging fault model for detecting bridge defects. In this case, the
faults cannot be collapsed, so the collapsed and uncollapsed fault counts will always be the
same. This is supported for distributed ATPG; but not supported for full-sequential ATPG
and fault simulation.
set_faults 406
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
dynamic_bridging — Applies the dynamic bridging fault model. In this case, there is no
fault collapsing, and full-sequential ATPG and fault simulation are not supported.
Note that the IDDQ measurement criteria is adjusted by specifying a separate set_iddq
command. The criteria selections are valid for both IDDQ and IDDQ_bridging fault models.
If you use this option, make sure you either turn off the chain test with the set_atpg -
chain_test command, or add 1 to your maximum pattern limit using the set_atpg -
patterns command.
Also note that the full-sequential pattern generation algorithm does not support the IDDQ
fault modes and IDDQ bridging fault models. These models are supported by the basic scan
and fast-sequential ATPG algorithms.
The transition, path_delay, hold_time, bridging, iddq_bridging, and dynamic_
bridging options all require a Test-Fault-Max license.
-multi_fanout_di_faults | -nomulti_fanout_di_faults
In default mode (-multi_fanout_di_faults), faults in the scan chain path which have
multiple fanouts is assigned as detected by implication (DI) faults. Note that this action is
valid only if the set_faults command is run before the add_faults command. If -
nomulti_fanout_di_faults is specified, then these same faults will not be assigned as
DI faults.
-persistent_fault_models | -nopersistent_fault_models
Turns on (-persistent_fault_models) or off (-nopersistent_faults_models) the
persistent fault model flow, which automatically maintains fault lists for all supported fault
models in both DRC and TEST modes. The default is -nopersistent_faults_models. For
more information, see "Persistent Fault Model Support " in the TestMAX ATPG User Guide.
-pt_credit d
Defines the percentage of credit given to possible detected faults (PT) during calculation of
test coverage, fault coverage, or ATPG effectiveness. The default is 50, which results in
50% credit. If this credit is set to zero, no patterns are saved during pattern generation.
When this credit is nonzero, one pattern is saved during pattern generation which shows
the faulty machine simulates an X where the good machine simulates a 1 or 0. If you set
this credit to zero, you should not change this setting after patterns have been created.
-report <collapsed | uncollapsed>
Indicates whether fault counts, test coverages, and reports are given in terms of collapsed
or uncollapsed faults. The default is uncollapsed.
-store_dictionary max_num_fail_pat
Enables the creation of a diagnostics dictionary during fault simulation, The max_numb_
fail_pat parameter specifies the maximum number of failing patterns per pin (the default
is 0).
-summary <verbose | noverbose>
Indicates the type of fault summary report to display. The default is noverbose.
-test_coverage_exclude {ud_class_fault_list}
This option is used to identify and exclude a class or subclass of undetectable faults that
you do not want to subtract from the total number of faults. By default, the test coverage
calculation subtracts all undetectable faults from the total number of faults, since these
set_faults 407
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
faults cannot be detected and bias this calculation. This will reduce the calculated test
coverage based on the number of undetectable faults that remain in the total fault count.
The classes you can specify are UU, UO, UR, UB, and UT. For complete descriptions of
these classes, see Fault Classes.
-test_coverage_include {ud_class_fault_list}
This option is used to add classes back into the test coverage calculation after the -test_
coverage_exclude option is used to remove a class or classes. By default, the calculation
subtracts all undetectable faults from the total number of faults, since these faults cannot
be detected and bias the calculation. The classes you can specify are UU, UO, UR, UB, and
UT. For a complete description of these classes, see Fault Classes.
Description
Use this command to set the parameters that control the fault manager. You can display the current settings
with the report_settings command.
Examples
TEST> set_faults -report collapsed
TEST> report_faults -summary
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------------------ ---- ---------
Detected DT 121025
Possibly detected PT 4003
Undetectable UD 1443
ATPG untestable AU 7193
Not detected ND 5754
-----------------------------------------------
total faults 139418
test coverage 89.17%
-----------------------------------------------
See Also
Fault Classes
read_faults
report_faults
report_settings
set_atpg
set_build
set_delay
set_iddq
update_faults
write_faults
set_faults 408
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_iddq
Overview
Use this command to specify the criteria considered in determining whether a pattern is used for an IDDQ
measure.
Syntax
set_iddq
[-atpg | -noatpg]
[-bridge_equivalence | -nobridge_equivalence]
[-exclude_ports <none | bidis | all>]
[-interval_size 1|32]
[-toggle | -notoggle]
[float | nofloat] [strong | nostrong]
[weak | noweak] [write | nowrite]
Arguments
-atpg | -noatpg
Specifying -atpg causes the test generator to attempt to satisfy all of the IDDQ
constraints while generating patterns. Specifying -noatpg results in patterns checked for
IDDQ constraints after pattern generation; any failing pattern is discarded. The default is -
noatpg.
-bridge_equivalence | -nobridge_equivalence
This option detects one pair of bridges to imply detection of the other pair. For example,
say that "ba0 net1 net2" and "ba1 net2 net1" are the same collapsed fault. When this
option is specified, there is an implied detection of "ba1 net1 net2" and "ba0 net2 net1".
Note that this option has no effect when the test generator generates a test. If one fault is
detected, the fault simulator marks the equivalent faults as detected. The default is -
bridge_equivalence.
-exclude_ports <none | bidis | all>
Controls contention checking. Specifying all ignores IDDQ contention checking on buses
connected to the top level ports. Specifying bidis ignores IDDQ checking on bidir ports.
Specifying none checks IDDQ contention on all buses and bidir ports. The default is all.
-interval_size 1 | 32
Sets the interval size to either 1 (the default) or 32. Using an interval length of 1 will give
better QOR at the expense of execution time. Using an Interval length of 32 gives a better
runtime, and is useful for generating a large number of IDDQ patterns.
-toggle | -notoggle
Specifying -toggle causes a relaxation of the IDDQ criteria and an input pin fault site does
not require sensitization and propagation to an output pin of the same gate. With the -
toggle option, the input pin fault site needs only to toggle states to be given a IDDQ fault
detection credit. Setting the -toggle option has no effect if the IDDQ bridging fault model
is set (set_faults -model iddq_bridging).The default is -notoggle.
set_iddq 409
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
For input faults (using the IDDQ fault model) on sequential primitives, TestMAX ATPG does
not propagate the fault effect to the output of the sequential primitives.
float | nofloat
Selecting float specifies that BUS gates cannot be at a Z state during an IDDQ measure.
Any pattern failing this criteria will not be considered for an IDDQ pattern. The default is
float.
strong | nostrong
Selecting strong specifies that the IDDQ measure is required to be contention free for
strong drivers of BUS gates. This functionality is not yet implemented.
weak | noweak
Selecting weak specifies that BUS gates with weak inputs cannot be at a competing state
to other strong or weak BUS inputs during an IDDQ measure. The default is weak.
write | nowrite
Selecting write specifies that RAMs cannot have an active write port during an IDDQ
measure. The default is write.
Description
Use this command to specify the criteria considered in determining whether a pattern is used for an IDDQ
measure. Enabling the creation of IDDQ patterns also requires adjusting the fault model using the set_
faults command.
The current settings for IDDQ can be reviewed with the report_settingsiddq command.
Additional IDDQ constraints can be constructed using the -iddq option of the add_atpg_constraints
command.
Examples
BUILD> set_faults -model iddq
BUILD> set_iddq float strong write -atpg
See Also
add_atpg_constraints
report_settings
set_faults
Table Column Outside Table:
set_iddq 410
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_learning
Overview
Use this command to set the parameters that control the learning process.
Syntax
set_learning
[-atpg_equivalence | -noatpg_equivalence]
[-common_input | -nocommon_input]
[-disable_time_limit | -nodisable_time_limit]
[-equivalent_latches | -noequivalent_latches]
[-implication [low | medium | high] | -noimplication]
[-max_feedback_sources d]
[-sim_passes d]
[-test_passes d]
[-verbose | -noverbose]
Arguments
-atpg_equivalence | -noatpg_equivalence
Specifies whether the ATPG equivalence analysis is to be performed. The default is to
perform this learning analysis.
-common_input | -nocommon_input
Specifies whether the common input analysis is to be performed. The default is to perform
this learning analysis.
-disable_time_limit | -nodisable_time_limit
Enables these two time limiting learning options (removes the time limits and finishes the
learning to completion): set_learning -max_implication 0and set_learning -max_
atpg_learning 0.
The default option is -nodisable_time_limit.
-equivalent_latches | -noequivalent_latches
Specifies whether the equivalent latch analysis is to be performed. When this analysis is
enabled, TestMAX ATPG performs a search for latches with common clock and data
relationships (with potential inversions). The default is to perform this learning analysis.
-implication [low | medium | high] | -noimplication
Specifies whether the implication learning analysis is to be performed. The default is to
perform this learning analysis with an effort of medium.
-max_feedback_sources d
Specifies the limit on the number of sources in a combinational feedback path. The default
is 100.
-sim_passes d
set_learning 411
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the number of simulation passes to be performed during the ATPG equivalence
analysis. The default is to perform 32 passes.
-test_passes d
Specifies the number of test generation passes to be performed during the ATPG
equivalence analysis. The default is to perform 5000 passes.
-verbose | -noverbose
Specifies the amount of detail in the ATPG equivalence analysis report. The default is -
noverbose.
Description
Use this command to set the parameters that control the learning process. You can display the current settings
with the report_settings command. To view the learned data for a given gate, set the verbose option for
the set_primitive_report command and run the report_primitive command for the selected
gate.
Note: The learning process occurs immediately after the build process, so any setting changes for learning
must occur before that point.
Examples
BUILD> set_messages -level expert
BUILD> set_learning -atpg_equivalence
BUILD> run_build_model flight_sim
--------------------------------------------------------------------------
Begin build model for topcut = flight_sim ...
--------------------------------------------------------------------------
Primitive elimination results: #tied=239, #unused=6079, #BUF=18456 (3
added), #inv=5202
Number common input primitives=11533
Ranking completed: #ranked_gates=77591, #feedback_paths=0, CPU time=0.34
End build model: #primitives=101071, CPU_time=3.00 sec, Memory=34529279
--------------------------------------------------------------------------
Begin learning analyses...
Fanout-free region identification completed: #regions=37758, CPU time=2.44
Begin ATPG equivalence analysis: #sim_passes=16, #max_test_passes=1000 ...
Random simulation results: #pos_ties=496/1882, #pos_equiv=41051
(#groups=15601), CPU time=4.33
ATPG learned equiv relationship: 11802 (MUX) == 11804 (WIRE).
ATPG learned equiv relationship: 11816 (WIRE) == 11817 (WIRE).
ATPG learned equiv relationship: 11819 (WIRE) == 11820 (WIRE).
ATPG learned equiv relationship: 40187 (TSD) == 40402 (TSD).
ATPG learned equiv relationship: 12975 (NAND) == 12977 (NAND).
ATPG learned equiv relationship: 12978 (NAND) != 12979 (AND).
ATPG learned equiv relationship: 13048 (OR) == 13051 (OR).
ATPG learned equiv relationship: 13957 (OR) == 13963 (NAND).
ATPG learned equiv relationship: 13916 (XOR) != 13929 (XOR).
ATPG learned equiv relationship: 13955 (NAND) == 13958 (NAND).
ATPG learned equiv relationship: 69502 (MUX) == 69505 (AND).
set_learning 412
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_settings
run_build_model
set_messages
ATPG-Specific Learning Processes
set_learning 413
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_match_names
Overview
This command specifies a set of name manipulation parameters that enable the match_names command to
correctly match the referenced logical names with the physical names in the physical database.
Syntax
set_match_names
[-auto]
[-exclude_modules {verilog_module_names}]
[-instance name]
[-reset]
[-sub_prefix {prefix1 prefix2}]
[-sub_str {string1 string2}]
Arguments
-auto
Enables the match_names command to automatically define name matching rules to
resolve hierarchy conflicts related to top-level wrappers.
-exclude_modules {verilog_module_names}
Sets a flag on the specified logical module or modules which do not have counterpart
physical modules. As a result of this setting, the diagnosis operation does not report
physical data in the YDF tables for the specified modules. You should specify only Verilog
module names; the module names provided by the report_physical command should
not be used.
-instance name
Applies the name matching operation to the specified instance and all instances under its
hierarchy. Note that this option is intended only for debugging mismatches. It does not
accept a Tcl list of instances or regular expressions.
-reset
Resets all name-manipulation specifications originally set by the set_match_names
command.
-sub_prefix {prefix1 prefix2}
Replaces the instance prefix prefix1 with prefix2 from the flattened logical instance
names.
-sub_str {string1 string2}
Replaces all occurrences of string1 in flattened logical instance names with string2.
Note that in the reverse name matching logic used in bridge extraction, the whole pin (for
example, ‘/D’ and if the ‘/D’ is the end of the string) or hierarchy level (the name between
‘/’ to be matched) is required. For details on reverse name matching logic used in bridge
extraction, see the Description section below.
set_match_names 414
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
The set_match_names command specifies a set of name manipulation parameters that enable the
match_names command to correctly match the referenced logical names with the physical names in the
physical database.
You should specify both the set_match_names and match_names command to ensure that the physical
pin names are properly associated with the logical pin names and the subnet information is annotated to the
logical view.
If you specify the set_match_names -sub_prefix {A B} command, all occurrences of A are deleted
and replaced with B. The match_names command is then able to match the logical name with the new prefix
in the physical database.
The following example replaces the logical prefix "Uxxx" with the physical prefix "Top_inst/Uxxx":
set_match_names -sub_prefix {logical_top_level_design_name/Uxx physical_
top_level_design_name/Top_inst/Uxxx}
Assuming the logical and physical names are matched, the write_ydf command automatically converts the
logical candidate names to the physical names. It then obtains the relevant physical information from the
composite image and writes this data to a table.
To list the current name matching rules, specify the report_settings match_names command.
If you use the -sub_str option, the reverse name matching logic used in bridge extraction has some specific
requirements. If the forward name matching rule is /FF0/D -> /D0, the reverse name matching works as
follows:
l A/B/D0/Z->-> A/B/FF0/D/Z
This specification is valid because the forward slash (/) is the hierarchy delimiter and the "/D0/" string is
identified.
This specification is valid because the reverse name matching rule is not applied in this case.
set_match_names 415
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
...
l Case 1
l Case 2
l Case 3
Case 4
In the following case, the forward name matching works, but the reverse name matching does not work:
Case 5
set_match_names 416
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l There are some name matching rules that cannot be reversed (with empty strings, constraint Case 2).
l If you avoid using rules with empty strings, and use additional rules with non-empty strings, the reverse
operations will work. This improves bridge diagnostics results.
Examples
// command to change the hierarchy prefix from top_i to i_core
set_match_names –sub_prefix {top_i i_core}
-----------------------------------------------------------------------
Name Match Options Summary
-----------------------------------------------------------------------
Name Manipulation Flag = ON
Prefix to be deleted: top_i
Prefix to be added: i_core
-----------------------------------------------------------------------
See Also
Name Matching Using a PHDS Database
match_names
report_physical
report_layout
write_ydf
set_match_names 417
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_messages
Overview
Use this command to set the parameters that control message handling.
Syntax
set_messages
[-display | -nodisplay] [-leading_comment | -noleading_comment] [-nolog |
-log file_name [-replace | -append]]
[-level <expert | standard>]
[-transcript_comments | -notranscript_comments]
Arguments
-display | -nodisplay
Controls the display of text to the command transcript without affecting what is recorded in
a logfile. With a setting of -nodisplay, the output of commands are suppressed except
those commands entered interactively. The default is -display.
-leading_comment | -noleading_comment
Specifies whether a leading comment (the pound sign(#) in Tcl mode or a pair of forward
slashes "//" in native mode) precedes message text in the command transcript. (This
setting has no effect on the output from "report" commands.) The default is -noleading_
comment.
-nolog | -log file_name [-replace | -append]
The -log option records commands and transcript output to a file. If the specified file
already exists, an error occurs, unless you use the -replace or -append option. Using -
nolog turns off message logging. The default is -nolog. Note that in non-Tcl mode, a dash
prefix is not used for the nolog and log options.
-level <expert | standard>
Selects the general level of message reporting. The default is standard level. With the level
set to expert, more information is displayed for many commands.
-transcript_comments | -notranscript_comments
Selects whether comment lines and blank lines encountered in command files appear in the
transcript window as the command file is executed. When you specify -notranscript_
comments, only commands are shown in the transcript. Note that -notranscript_
comments only works in native mode; it does not work in Tcl mode. When you specify -
transcript_comments, both commands and comments from a command file are shown in
the transcript; this is the default.
Description
Use this command to set the parameters that control message handling. You can display the current settings
set_messages 418
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
with the report_settings command. The primary use is to establish a log file and to turn on and off the
text displayed in the command transcript window.
Examples
TEST> report_clocks
clock_name off usage
------------ --- --------------------------
/CLK 0 master shift
/RSTB 1 master reset
TEST> set_messages -nodisplay
TEST> report_clocks
TEST> report_settings
TEST>
TEST> report_version
2009.06
TEST>
See Also
report_settings
Table Column Outside Table:
set_messages 419
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_netlist
Overview
Use this command to set the parameters that control the reading of netlists.
Syntax
set_netlist
[-celldefine | -nocelldefine]
[-check_only_used_udps | -nocheck_only_used_udps]
[-conservative_mux < none | combinational_udp | all > ]
[-dominance_detection <on | off | boolean>]
[-enable_portfaults | -noenable_portfaults]
[-escape <both | all | none>]
[-max_errors d]
[-pin_assign | -nopin_assign]
[-redefined_module <first | last>]
[-scalar_net | -noscalar_net]
[-sequential_modeling | -nosequential_modeling]
[-suppress_faults | -nosuppress_faults]
[-xmodeling | -noxmodeling]
Arguments
-celldefine | -nocelldefine
Selects whether to ignore the Verilog compiler directive `celldefine in netlists. The default
is -celldefine.
-check_only_used_udps | -nocheck_only_used_udps
Specifies check and warning behavior for reading design netlists and libraries. With the
default, -check_only_used_udps, the checks are performed during the build phase and
only the modules and UDPs actually used by the design are checked. Using -nocheck_
only_used_udps causes all library and netlist files to be checked as they are read.
-conservative_mux < none | combinational_udp | all >
Specifies if conservative MUX gates are extracted from conservative UDP models of a MUX.
In a conservative MUX, if the select input is X, then the output is X, even if the data inputs
have the same Boolean value. In a regular "optimistic" MUX, if the select input is X and the
data inputs have the same Boolean value, then the output has the value of the data inputs.
If the UDP model specifies optimistic MUX behavior, then this is the behavior that will take
place in TestMAX ATPG. If the UDP model specifies conservative MUX behavior however,
this option will control whether the resulting TestMAX ATPG MUXes will have optimistic or
conservative behavior.
If none is selected, then all MUXes extracted are regular (and appropriate violations are
issued if necessary).
If combinational_udp is selected (the default), then conservative MUXes can be
extracted from combinational UDPs, but not from sequential UDPs. Previously, UDPs
describing a conservative MUX were extracted into a regular MUX and rule violations N20
set_netlist 420
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
(underspecified UDP) and N12 (inconsistent usage of x) were issued. When a conservative
MUX is extracted, these N20s and N12s are no longer issued. To support this, the checking
of N12 was moved from before to after the extraction of the UDP's function into gates. This
has the side effect that the remaining N12 violations of combinational UDPs are, in some
cases, fewer but using more wildcards.
If all is selected, then conservative MUXes can be extracted from any UDP, combinational
or sequential. When this setting is selected, extraction of sequential UDPs is less tolerant
to incomplete and inconsistent UDPs, which might be extracted into TIEX, even though a
gate-level model could be extracted if -conservative_mux is set to none or -
combinational_udp. Use the all setting only if the sequential UDPs you parse are
properly defined.
-dominance_detection <on | off | boolean>
Specifies whether the derived ATPG model recognizes dominance behavior between the
set/reset/clock pins. A selection of off disables this checking, whereas on enables it. A
selection of Boolean enables the checking but checks only the state table entries for which
clock/set/reset are Boolean values, and ignores the entries where they are Xs. The default
is on.
-enable_portfaults | -noenable_portfaults
Specifies whether to ignore the Verilog compiler directive `enable_portfaults in netlists.
The default is -enable_portfaults.
-escape <both | all | none>
Specifies whether the escape character is preserved as part of the identifier's name. The
choices are: to store the instance names both with and without escape characters (both)
(the default); to always preserve escape characters (all); to never preserve escape
characters (none). You should use the none argument with caution. For example, if you
specify the none argument, "\net[4]" changes to "net[4]." As a result, this name becomes
indistinguishable from bit 4 of the "net" vector net.
-max_errors d
Specifies the maximum number of parsing errors allowed before terminating netlist parsing
of the current file. The default setting is 10.
-pin_assign | -nopin_assign
Specifies whether a netlist assign statement results in artificial pin names (and faults)
being assigned to all inputs and to the output of the assignment. The default is -nopin_
assign. An assign statement can only appear in Verilog and VHDL netlists.
-redefined_module <first | last>
Specifies how to treat the redefinition of a module. In case of multiple definitions, one
definition is kept and the others are ignored. You can specify the first or last encountered
netlist definition as the one to keep. The default is last.
-scalar_net | -noscalar_net
Specifies whether Verilog nets such as "wire [N:N] netname" are considered 1-bit vector
nets or scalar nets. The default is a 1-bit vector net. If you select -scalar_net, such nets
instead are considered scalar nets (as if the definition were in the form of "wire netname").
-sequential_modeling | -nosequential_modeling
set_netlist 421
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies whether the derived ATPG model is generated to precisely model set/rst/clock
simultaneous effects during sequential simulation. This is usually not needed for ATPG
pattern generation but might be needed for fault grading of functional patterns when X-
miscompares need to be avoided. The default is -nosequential_modeling, and this
produces a memory-efficient derived ATPG model that is accurate for Basic-Scan and Fast-
Sequential ATPG, but is slightly more pessimistic (output=X when simultaneous set/rst/clk
active) than the more precise model.
-suppress_faults | -nosuppress_faults
Specifies whether to ignore the Verilog compiler directive `suppress_faults in netlists.
Using -nosuppress_faultscauses this directive to be ignored. The default is -suppress_
faults.
-xmodeling | -noxmodeling
When a UDP table is missing a line, it implies the output should be X for the omitted input
condition. However, for translation into Boolean gates, the expected output is sometimes
non-X to map to a gate-level equivalent. When -xmodeling is selected and this situation
occurs, then additional gates are added to the derived ATPG model in an attempt to exactly
match the defined UDP table. If -noxmodeling is selected, then a simpler, more optimal
gate-level model is used. The default is -xmodeling.
Description
Use this command to set the parameters that control the reading of netlists.
Any changes made with this command only affect future read_netlist commands. It does not affect
netlists that have already been read by TestMAX ATPG.
For more information on using the set_netlist command and the Set Netlist dialog box (its equivalent in
the TestMAX ATPG GUI), see "Preparing a Netlist."
Examples
DRC> set_netlist -escape none -scalar_net -redefined_module last
See Also
Design Netlists and Model Libraries
report_settings
read_netlist
DRC Rule N15
set_netlist 422
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_patterns
Overview
Use this command to select the source of patterns to use for simulation, fault simulation, or test generation.
Syntax
set_patterns
[-adjacent | -discontiguous]
[-append]
[-delete]
[-internal | -random | -external filename]
[-cycle_count | -nocycle_count]
[-keep_dictionary]
[-histogram_summary | -nohistogram_summary]
[-load_summary | -noload_summary]
[-netlist_independent | -nonetlist_independent]
[-novcd_clock |vcd_clock <auto | <0|1> port>]
[-resolve_differences failures_log file]
[-sensitive | -insensitive]
[-split_patterns]
[-strobe_comments comments]
[-strobe_period < d <fs|ps|ns|us|ms|s>>]
[-strobe_rising port_name]
[-strobe_falling port_name]
[-strobe_event port_name]
[-strobe_offset < d <fs|ps|ns|us|ms|s>>]
[-verbose]
Arguments
-adjacent | -discontiguous
These options are used only when the -external and -append options of the set_
patterns command are specified. The default, the -append option, assumes that the
current appended pattern block is generated in sequential order from the previously
appended pattern set. The -discontiguous option is used when reading patterns that add
initial patterns that are not generated in sequential order or are appended in a different
order than the previously appended pattern set.
-append
This option must be used with the -external option (set_patterns -external
filename -append). It reads the external pattern file and appends the patterns to any
existing patterns in the internal pattern buffer. TestMAX ATPG renumbers the patterns
based on their order of occurrence in the new internal pattern set.
-delete
Deletes all current internal and external patterns before reading external patterns or
switching the pattern source.
-internal | -random | -external filename
set_patterns 423
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_patterns 424
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
netlist-independent patterns back in, it simulates them to determine the proper response
data for the current netlist. Note also that this means that the timing exceptions need to be
in place at the time the netlist-independent patterns are read into TestMAX ATPG, as the
effect of the exceptions will not otherwise show up in the pattern response data.
-novcd_clock |vcd_clock <auto | <0|1> port>
When the pattern source is extended VCD, it is possible to recognize clock events in the
pattern stream and convert them into a single pattern event that pulses a clock rather than
retain them as multiple events corresponding to clock off, then clock on, then clock off.
This reduces the size of the patterns after they are read into TestMAX ATPG, and might
result in faster simulation, fault grading, and reduced memory needs. By default, no clocks
are defined when reading VCDE patterns.
-vcd_clock auto passes the known clocks are passed to the pattern reader for event
collapsing and clock recovery. Use the -vcd_clock auto option if clocks have already
been defined for the current design.
-vcd_clock <0|1> port defines clocks (if you have not already defined them using the
add_clocks command) or creates a subset list of clocks for clock recovery efforts.
-novcd_clock disables automatically passing the known list of clocks to the pattern
reader.
Note: If you define clocks, TestMAX ATPG checks the patterns for unsupported events
such as PO measures while clocks are active, PI changes while clocks are active, multiple
clocks on simultaneously that do not have the exact same start time and duration. If any of
these events occur, TestMAX ATPG displays a warning message and abandons the event
collapsing effort for the pattern.
-resolve_differences failures_log_file
This option is used to update the external pattern sets without re-running ATPG. It resolves
tester failures or simulation failures — that is, it performs per-cycle pattern masking.
This option does not cause a simulation of the patterns. It simply reads a failure file
showing mismatches and places an X in the pattern set located in the external pattern
buffer (-external file_name) in the position of each of the mismatches. The
presumption is that the pattern set has had either Verilog simulation mismatches or
failures on the ATE, and the failure file contains a record of these mismatches/failures.
All formats used in diagnosis are supported. Support includes both scan and adaptive scan
patterns. After masking, the updated patterns could be fault simulated using run_fault_
sim and written out to be run on the tester.
For related information, please see Updating Pattern Sets Without Re-Running ATPG.
-sensitive | -insensitive
Specifies case sensitivity for the pattern file. By default, TestMAX ATPG determines the
case-sensitivity based on the language: case-insensitive for EDIF and VHDL, or case-
sensitive for STIL, Verilog, and Extended VCD.
-split_patterns
When this option is specified, the patterns from the specified file are appended to the
patterns already in the external pattern buffer if the previous set_patterns -external
command also used the -split_patterns option. If there are patterns in the external
buffer that were not placed there by using the -split_patterns option, the existing
set_patterns 425
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
patterns in the external buffer are first deleted. TestMAX ATPG will store some data
regarding the pattern offset and pattern file names for use during diagnosis. The pattern
file names must be unique when the hierarchical directory name is removed.
Multiple pattern files can be read into the external pattern buffer for diagnosis by issuing
the following command sequence:
set_patterns -external pat1.bin –split_patterns
set_patterns -external pat2.bin –split_patterns
During the execution of the set_patterns -split_patterns command, a report of each
pattern file read in is displayed. It includes the pattern file name and the pattern range
considered during diagnosis. The cycle range of the patterns considered for diagnosis is
displayed, if available. The line is highlighted in bold in the examples shown below:
set_patterns 426
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -strobe_rising option triggers a measure whenever an event, for which the specified
port changes to a logic one, occurs. This includes the transitions 0->1, 1->1, X->1, Z->1.
Without an offset, TestMAX ATPG inserts the measure before processing the pattern event
that caused the trigger. With a non-zero offset, TestMAX ATPG inserts the measure at the
specified time offset after the time of the trigger.
The -strobe_falling and -strobe_event options are similar to the rising option. The -
strobe_falling option causes a trigger for any event, which changes the named port to a
logic 0. The -strobe_event option causes a trigger for any event on the named port,
including transition with no level change such as 1->1 or 0->0. You can combine both the
falling and event option with the strobe offset.
The -strobe_period option defines a repeating time interval at which TestMAX ATPG
inserts a measure into the external pattern set. The VCDE data file specifies the expected
values, but the strobe period specifies the time of measure. The d value represents a
nonzero positive integer. FS | PS | NS | US | MS|S specify units of time: fs =
femtoseconds, ps = picoseconds, ns = nanoseconds, us = microseconds, ms =
milliseconds, and s = seconds.
You can combine -strobe_offset with -strobe_rising, -strobe_falling, -strobe_
event, or -strobe_period. Use the offset to adjust the measure point in the external
patterns relative to the trigger event. Like the -strobe_period option, the -strobe_offset
option requires an integer and a unit of time. This integer can be zero.
If you do not define an offset, TestMAX ATPG considers it as an offset of zero. An offset of
zero means that TestMAX ATPG inserts the measure before the trigger event and before
processing the VCDE data changes that caused the trigger event.
When you use -strobe_offset in conjunction with -strobe_period, then the offset
defines the offset from time=0 in the pattern stream at which TestMAX ATPG starts the
first measure. For example, "-strobe_period {200 ns} -strobe_offset {399 ns}"
causes the first measure to occur at absolute time of 399 ns and at 200 ns intervals
thereafter, or at the intervals 399, 599, 799, 999 ...
If you specify a strobe period without any strobe offset, then TestMAX ATPG inserts the
first measure at an offset just before the period. For example, -strobe_period {100 ns}
produces a measure at times 100, 200, 300, 400...
If you use a strobe offset in conjunction with a rising, falling, or event trigger, then once a
data event on the specified port causes the trigger, TestMAX ATPG ignores any additional
events on that port until the offset time elapses.
If a strobe offset occurs simultaneously with events in the pattern data, then TestMAX
ATPG inserts the measure point before processing the event data.
Use the -strobe_comments option to indicate the location of measure points in the VCDE
file with the location of ($comment ... $end blocks as markers for measure points. For
best results use the comment blocks at #NNNNN event times by themselves; do not
combine with any other PI or expected PO changes. You cannot combine the comments
option with any other -strobe option.
-verbose
This option lists all unused primary inputs and scan cells due to DRC differences between
compression and regular scan mode when reading netlist-independent patterns.
set_patterns 427
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to select the source of patterns to use for simulation, fault simulation, or test generation.
You must select an external source to read in ATPG or functional patterns.
To display the current settings, use the report_settings command.
Examples
TEST> set_patterns -delete
Warning: Internal pattern set is now deleted. (M133)
set_patterns 428
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_patterns
report_settings
report_summaries
set_random_patterns
write_patterns
Table Column Outside Table:
set_patterns 429
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_physical
Overview
This command sets options for the report_physical and run_diagnosis commands for physical
diagnostics..
Syntax
set_physical
[-num_processes number]
[-tolerance {metal tolerance}]
[-via_bridges | -novia_bridges]
Arguments
-num_processes number
Enables multicore static extraction from a PHDS database. This option is supported by the
following commands: match_names, extract_nets -all, and extract_pins -scan_
path.
-tolerance {metal distance}
Specifies a tolerance distance, in nanometers, for extracting neighbor nets for specific
layers. The default tolerance per layer is equal to the pitch if this information can be found
in the technology information. If not, the default is 1000nm. You can determine the
appropriate tolerance by analyzing technology data, such as pitch distance. You must use
a Tcl list to specify each layer and its tolerance, as shown in the following example:
set_physical -tolerance {METAL 50 METAL2 100 METAL3 200 }
For details on using this option, see "Setting Up and Running Physical Diagnosis."
-via_bridges | -novia_bridges
When the -via_bridges option is specified, metal layer shapes included in via definitions
are considered when extracting net neighbors for bridge candidates. The runtime is
affected when metal layer shapes are included. However, net neighbors are more
thoroughly extracted and bridge defects between a net and a via or between two vias are
more accurately diagnosed. This option requires that the PHDS database was created
using TestMAX ATPG version J-2014.09-SP1 or later, or Yield Explorer version J-2014.03-
SP3 or later. The default, the –no_viabridges option, does not consider metal layer
shapes included in the via definitions.
Description
This command sets options for the report_physical and run_diagnosis commands for physical
diagnostics. For more information on using the set_physical command, see "Using Physical Data for
Diagnosis."
See Also
set_diagnosis
set_physical 430
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_physical_db
Overview
This command sets the parameters for creating, validating, and opening the PHDS database, and connecting
TestMAX ATPG diagnostics to the PHDS database.
Syntax
set_physical_db
[-create_phds | -nocreate_phds]
[-database dirpath]
[-device {name version}]
[–def_directory dirpath]
[-hostname name]
[-lef_directory dirpath]
[-password name]
[-phds_validation_file file_name]
[-port_number number]
[-retry_connection {max_attempts time_between_attempts}]
[-technology_lef_file {tech_file_names} | -notechnology_lef_file]
[-top_def_file filename]
[-top_design top_design_name]
[-user name]
[-validation | -novalidation]
Arguments
-create_phds | -nocreate_phds
Enables or disables the creation of the PHDS database. The PHDS database is created by
default. If you do not want to create the PHDS database, use the -nocreate_phds option.
If you previously used the set_physical_db -nocreate_db command, and want to create
the full PHDS database in a subsequent run, use the -create_phds option
-database dirpath
Specifies the output directory for the PHDS database. This option enables TestMAX
ATPG diagnostics to open a connection with the PHDS database.
–def_directory dirpath
Specifies the directory containing the DEF files used for building the PHDS database.
-device {name version}
Specifies the name and version of the design used for establishing a connection with the
PHDS database. The parameters must be specified in Tcl list format. For example:
set_physical_db -device {DES 4}
-hostname name
set_physical_db 431
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies the name of the machine on which to connect to the PHDS database. This
machine must have a process called DAPListener, which is launched by the open_
physical_db command.
-lef_directory dirpath
Specifies the directory containing the LEF files used for building the PHDS database.
-password name
Specifies the password for connecting to the PHDS database created by Yield Explorer.
-phds_validation_file file_name
Specifies the name of a file containing validation information (Y rule violations) from a
previous session.
-retry_connection {max_attempts time_between_attempts}
Changes the number of maximum connection attempts and the time between attempts in
seconds. The following example sets the maximum number to 100 and the time in between
attempts at 60s.
BUILD-T> set_physical_db -retry_connection {100 60}
-port_number number
Establishes a connection to the PHDS database by specifying the port number of the host in
which TestMAX ATPG is running. The default port number is 9998. This is an option
specification that you make before opening the physical database (using the open_
physical_db command). However, you must specify the port number to connect to an
existing PHDS connection (using the set_physical_db -hostname command).
-technology_lef_file {tech_file_names} | -notechnology_lef_file
Specifies the name(s) of a LEF technology file(s) to use for creating the PHDS database. By
default, TestMAX ATPG automatically uses a single LEF technology file if that file has the
string "tech" embedded in its name. The -notechnology_lef_file option clears any
previously specified list of LEF technology files.
-top_def_file filename
Specifies the name of the top-level DEF file to use when the LEF/DEF database contains
multiple DEF files.
set_physical_db -top_def_file top_def_file
-top_design top_design_name
Specifies the name of the top design to use as a basis for creating or validating the PHDS
database.
-user name
Specifies the user login name for connecting to the PHDS database created by Yield
Explorer.
-validation | -novalidation
Enables or disables the PHDS database validation process. The validation is run by default.
If you want to create the PHDS database without validating it, use the -novalidation
option. If you previously used the set_physical_db -novalidation command , but want
set_physical_db 432
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
to validate the PHDS database in a subsequent run, use the -validation option. For
related information, see the "Category Y - PHDS Rules" topic.
Description
This command sets the parameters for creating, validating, and opening a PHDS (Synopsys Physical Design
Store) database, and connecting TestMAX ATPG diagnostics to the PHDS database.
For details on using this command, see the "Using TestMAX ATPG to Create and Validate the PHDS
Database" topic.
Examples
The following set of commands create the PHDS database in the phds directory:
See Also
write_physical_db
set_physical_db 433
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_pindata
Overview
This command controls the type of information displayed by the report_primitives command or
displayed within the graphical schematic viewer.
Syntax
set_pindata
[-bidi_control_value | -clock_cone port_name| -clock_off | -clock_on port_
name| -constrain_data | -debug_sim_data | -delay_data | -error_data |-
fault_sim_results <pin_pathnamegatepin_number> <0|1> pattern | -fault_data
| -full_seq_scoap_data | -full_seq_tg_data | -good_sim_results pattern |
-load | -master_observe | -none | -pattern <d | all | fast_sequential> |
scoap_data | -seq_sim_data | -shadow_observe | -shift | -slack | -
stability_patterns | -test_setup | -tie_data ]
[-constrain_character c]
[-drcdata {unload_mode d}]
[-gatedata]
[-lfsr_shift | -lfsr_load]
[-prpg_shadow_shift | -prpg_shadow_load>]
[-refresh]
[-scoap_data]
[-sdc_case_analysis]
[-seq_sim_data]
[-setup_cycles {n1 n2}]
[-shadow_observe]
[-shift]
[-shift_character c]
[-slack]
[-stability_patterns]
[-test_setup]
[-tie_data]
Arguments
-bidi_control_value
This option displays the simulated values that occur when the bidi_control pin is set to its
off state (as defined by the set_drc command).
-clock_cone port_name
Displays clock cone information for the specified clock. This information includes:
C indicates the pin is in the clock cone.
E indicates the pin is in the effect cone.
CE indicates the pin is in both clock and effect cones.
N indicates the pin is not in either clock or effect cone.
-clock_off
Displays the simulated value that results when all clocks are off.
set_pindata 434
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
-clock_on
Displays the simulated value that results when all clocks are on.
-constrain_character
Specifies the constrain character to be used when displaying X values for constrain value
data.
-constrain_data
Six fields are displayed that show the tied values and constrained values for both
combinational and sequential ATPG, and the detection blockages that result from these
constraints. The characters are displayed in the format "T/B1,C/B2,S/B3" where:
T = constant value due to tied logic
B = fault blockage due to tied value "T", if any
C = constrained value during combinational ATPG, if any
B = fault blockages due to C, if any
S = constrained value during sequential ATPG
B = fault blockages due to S, if any
An "X" indicate there is no constant or constrained value. A "-" indicates there is no
blockage. A "~" in front, for example "~1Z", means constrained to "not 1 or Z", that is,
values of 0 and X.
-debug_sim_data
Displays mapping error simulation values, either a single selected simulation source or a
comparison of two simulation sources. When two sources are shown, the data is separated
by a slash, as in "AAA / BBB ". For a Fast-Sequential simulation source, a scan load is
shown by "#", and a dash "-" is used to separate different capture procedures. For Full-
Sequential or VCD simulation sources, a single continuous stream of characters is shown. A
VCD source may not contain data for all circuit points; the absence of data is shown with a
single dash as in "-" or " AAA / - ".
-delay_data
The delay path (path_name) currently loaded by the report_delay path path_name -p
or set_delay -data path_name is available for display in the GSV or reporting in a
primitive report. See Understanding Pin Data for more details.
-drcdata {unload_mode d}
Annotates the schematic with unload mode data (stores both shift data and unload mode
pins). The unload mode is specified by the d argument. This data is stored automatically for
R21 and R23 violations. You can specify explicit storage using the set_drc -store_
unload_mode_data command.
The set_pindata -unload_mode and set_pindata -drcdata unload_mode all
commands have the same effect: data for all patterns is shown at the same time (32
values) for each gate. This is verbose and typically unnecessary, unless you are an expert
user in unusual circumstances, such as comparing all unload modes at the same time.
-error_data
The pin data associated with the current error condition is displayed.
-fault_data
set_pindata 435
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The current fault codes for the pin stuck 0 (first field) and stuck 1 (second field) are
displayed. If there is no fault on a pin, two dashes "--" are displayed. Pins with a nofault
attribute appear as "##".
-fault_sim_results <pin_pathname | gate pin_number> <0|1> pattern
This displays the good machine value and faulty machine value for a selected fault and a
selected pattern. If they are different, the good machine value is given first followed by the
faulty value separated by a slash "/". If there is no difference, only the good machine value
is displayed. Selecting fault_sim_results is not supported if the -nobasic_scan option
of the set_simulation command has been used.
-full_seq_scoap_data
If you set the pin data display mode to -full_seq_scoap_data, the pin data field shows
the set of SCOAP controllability and observability numbers for the pin. For a three-state
node, the data display format is:
c0.c1.cZ.obs
In this case, c0 is the control-to-0 measure, c1 is the control-to-1 measure, cZ is the
control-to-Z measure, and obs is the observability measure. For an ordinary (not three-
state) node, the data display format is the same, except that there is no control-to-Z field:
c0.c1.obs
-full_seq_tg_data
This displays the Full-Sequential test generator logic values for the pin. For example, the
pin data for a nonscan DFF element could be displayed as "?0x0" before justification and
"#010-010" after justification. The question mark (?) means the need for a scan load has
not yet been determined, while a pound sign (#) indicates a scan load will occur at this
position.
-gatedata
This option displays the X probability for reported and displayed gates associated with the
analyze_compressors -xchain_analysis command.
-good_sim_results pattern
This option displays the good machine value for the selected Basic scan or Fast-Sequential
ATPG pattern. The selected pattern is resimulated and the results are made available for
display on the schematic or by use of the report_primitives command. For Full-
Sequential or functional patterns that require sequential simulation, use the seq_sim_data
pindata option. Also refer to “Viewing Pattern Data in the Graphical Schematic Viewer” for
more details.
-lfsr_shift | -lfsr_load
The simulation values for the linear feedback shift register (LSFR) shift and load are
displayed.
-load
The simulation event values for all time periods of the load_unload test procedure are
displayed. The position of the shift period is denoted by "{}" characters.
-master_observe
set_pindata 436
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The simulation event values for all time periods of the master_observe procedure are
displayed.
-none
Specifying -none turns off the display of pin data in the report_primitives command as
well as future updates of the graphical schematic viewer.
-pattern <d | all | fast_sequential>
There is a general-purpose pattern simulation buffer that holds 32 patterns. It is used for a
number of purposes, including generation of ATPG patterns, holding patterns to illustrate
DRC violations as a result of an analyze_violation command, holding the successful or
unsuccessful results from a run_justification command, and other operations.
You can select and display a single pattern from this buffer by providing an integer number
between 0 and 31, or all 32 patterns by specifying all. If there are any Fast-Sequential
patterns in the buffer, the time events of the last Fast-Sequential pattern is selected by
specifying fast_sequential.
For Basic-Scan patterns, the analysis time of the displayed data can be changed from
preclock, to clock, to postclock, plus other combinations. This is controlled with the -time
option of the set_primitive_report command.
Note: Due to the general reuse of this buffer by many commands, the data contents
cannot always be what you expect. The best time to view the pin data is immediately after
you use the command that saves data to the buffer.
-prpg_shadow_shift | -prpg_shadow_load
The simulation values for the pseudo random pattern generator (PRPG) shadow shift and
load are displayed.
-refresh
This option causes the displayed values on any gates in the graphical schematic viewer to
be updated with the newly selected pindata values. By default, no update will take place.
-scoap_data
This option displays the SCOAP controllability and observability numbers. Two sets of
numbers are displayed. The first set is for combinational ATPG, shown in the form of "A-B-
C". The fields indicate the minimum number of:
A = PIs and scan cells needed to place a 0 at the pin.
B = PIs and scan cells needed to place a 1 at the pin.
C = PIs and scan cells needed to observe the value on the pin.
The second set is for sequential ATPG, shown in the form of "A-B-C-D". These fields
indicate the minimum scan depth needed to:
A = place a 0 at the pin.
B = place a 1 at the pin.
C = to propagate the value to an observe point.
D = to sensitize the gate to an observe point.
An asterisk "*" indicates the value exceeds the 254 limit the program can track.
-sdc_case_analysis
Controls the display of the SDC pindata type. The format of the data is: N/M, where N is the
case analysis setting from the SDC, and M is the TestMAX ATPG constraint value.
set_pindata 437
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Unconstrained values are printed as X. You can also specify the display of this pindata type
directly from the GSV Setup menu. Note that this option is valid only in Tcl mode.
For more information, see "Specifying Setup Timing Exceptions From an SDC File" in the
TestMAX ATPG User Guide.
-seq_sim_data
If you have previously performed a run_simulation -sequential command with data
collection enabled by a set_simulation -data option, then the -seq_sim_data option
presents that data for review in the schematic or by the report primitives command.
-setup_cycles {n1 n2}
Selects a range of cycles for display when test_setup procedure patterns are stored using
the -store_setup option of the set_drc command. The n1 argument is the first zero-
based test_setup procedure cycle; this specification must be greater than or equal to 0.
The n2 argument is the last zero-based test_setup procedure cycle; this specification must
be greater than or equal to the n1 specification. The range of cycles available for display is
also affected by the -store_setup_cycles option of the set_drc command.
-shadow_observe
Displays the simulation event values for all time periods of the shadow_observe procedure.
-shift
Displays the simulation event values for all time periods of the shift test procedure.
-shift_character c
Specifies the shift character to be used when displaying X values for shift data on the scan
path.
-slack
Displays the slack data that is used in small delay defect testing. The first number
displayed is the smallest slack for any rising transition through the indicated pin, and the
second number is the smallest slack for any falling transition through the pin.
-stability_patterns
The simulated event values for all time periods of the load_unload, shift, and capture cycle
are displayed. This display shows the data used to determine the stable state element
values. The stability pattern is only stored if there is at least one DLAT/DFF non-X at the
end of test_setup.
These values are normally not stored unless the -store_stability option of the set
drc command has been performed before the run_drc command.
-test_setup
The simulation event values for all time periods of the test_setup procedure are displayed.
By default, the ATPG tool retains only the last simulated value of the test_setup
procedure. to make full use of this displayed data, you need to use the set_drc -store_
setup command and rerun DRC checks.
-tie_data
The simulated value that results from tied circuitry is displayed.
set_pindata 438
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command controls the type of information displayed by the report_primitives command or
displayed within the graphical schematic viewer.
For additional discussion and examples, see Understanding Pin Data.
Examples
TEST> set_pindata -clock_cone CLK
TEST> report_primitives /e006/reg2/r
e006/reg2/r (104) DLAT (N_LATCH)
!SB I () (TIE_1)
!RB I (N) 18-
CK I (C) 13-
D I (E) 103-e006/reg2/lat1/Q
Q O (E) 53-
scan_behavior: MASTER(LS/-) chain=c1 cell_id=2 invert_data=NN obs=noproc
set_pindata 439
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_pindata 440
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Fault Classes
report_primitives
report_settings
set_drc
set_primitive_report
set_simulation
SCOAP
Understanding Pin Data
Understanding the report_primitives Output
set_pindata 441
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_primitive_report
Overview
This command controls the type of information displayed by the report_primitives command.
Syntax
set_primitive_report
[-interval d]
[-max_fanout d]
[-time <clock | preclock | postclock | lete | all>]
[-verbose | -noverbose]
Arguments
-interval d
Specifies an interval at which to place a blank space for some selections of pin data
(includes test procedure simulated data and pattern data). This is intended to improve the
readability of the pin data. A selection of 0 indicates no interval insertion. The default is 0.
-max_fanout d
Specifies the maximum number of fanout connections that are displayed. The default is 2.
-verbose | -noverbose
Specifies whether to display all learned data for a gate. The default is -noverbose.
-time <clock | preclock | postclock | lete | all>
Specifies the time segment of the capture clock simulation to display when viewing Basic-
Scan patterns. This setting has no effect when viewing Fast-Sequential or Full-Sequential
patterns. You should use the analyze_simulation_data command to view Fast-
Sequential or Full-Sequential data.
The clock argument displays the time segment with all clocks active and all state
elements at their new captured state.
The preclock argument displays the time segment with all clocks off and all state
elements at their previous state.
The postclock argument displays the time segment with all clocks off and the state
elements at their new captured state.
The lete argument displays the time segment with the capture clock on and LE/LS state
elements at their new value used by a trailing-edge state element.
The all argument (the default) causes display of clock, preclock, and postclock data as a
3-character field; any unavailable information is displayed as a question mark character
"?". A question mark is used because the additional time periods are only simulated when
required.
set_primitive_report 442
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command controls the type of information displayed by the report_primitives command.
Examples
TEST> set_primitive_report -max_fanout 5 -verbose
See Also
analyze_simulation_data
report_settings
Understanding Report Primitives
Table Column Outside Table:
set_primitive_report 443
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_random_patterns
Overview
Use this command to set the parameters that control the application of random patterns.
Syntax
set_random_patterns
[-clock <pinname | -clock_none>]
[-length d]
[-observe <master | slave | shadow>]
Arguments
-clock <pinname | -clock_none>
Specifies the name of the capture clock to be used for random patterns. The default is -
clock_none (no capture clock).
-length d
Specifies the number of random patterns to apply. The default is 1024 patterns.
-observe <master | slave | shadow>
Specifies the type of scan cell observe points to use for random patterns. The default is
master. In addition to this choice, every pattern is assumed to also measure primary
outputs.
Description
Use this command to set the parameters that control the application of random patterns. You can display the
current settings with the report_settings command.
Examples
DRC> set_random_patterns -clock_none -length 3000 -observe master
See Also
report_settings
set_patterns
set_random_patterns 444
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_rules
Overview
Use this command to set the severity of a rule violation.
Syntax
set_rules rule_id
[-autofix | -noautofix]
[error | warning | ignore]
[-mask | -nomask]
[-max_fails number]
[-min_area value]
[-reset]
[-verbose | -noverbose]
Arguments
rule_id
Specifies the rule for which the severity is to be changed. Rules are identified by an
alphabetic character followed by a number, such as B1, C6, S22, and so on. Categories of
rules are: B, C, L, N, P, S, T, V, X, and Z. Messages for information, warnings, or errors start
with the letter M and are not rules, and are not affected by the set_rules command.
-autofix | -noautofix
Supported for the V33 rule only, this option automatically modifies output to correct the
violating condition. When this option is set, rule violations are no longer be reported. You
should review the output modifications when using this option.
error | warning | ignore
Specifies the new severity level of the rule. If the rule violation is a fatal error by default,
you cannot set it to a lower severity level. If you do not specify a severity level, the
existing setting is retained.
-mask | -nomask
For selected DRC rules, the -mask option enables masking of either the control or observe
functionality of the affected sequential elements, as appropriate for the specific rule. This
masking improves the ability to create ATPG patterns that pass in simulation. However,
the tradeoff is usually lowers test coverage. Not all rules support this option. The current
list of DRC rules that accept the -mask option are: C1, C5-C14, C22, C25, S18, and S29.
You can use the -mask option to compensate for DRC violations by setting the rule
severity to warning. This causes the ATPG algorithm to mask off the observe value to
ensure that any ATPG pattern generated will pass simulation. The tradeoff is a reduction in
test coverage.
-max_fails number
Sets the maximum number of failures reported for all DRC rules. The default is 1000000
(one million) and can be adjusted individually for each rule by specifying the rule ID (rule_
set_rules 445
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
id). If the maximum number of rule violations is reached, a message is printed to the log at
the point where the rule is checked, as shown in the following example:
Rule R45 has reached its max_fails limit.
-min_area
Defines the minimum area of a cell that will trigger a Y20 violation (this option is only
supported for the Y20 violation). You can find the area of the cell in the “Size” category
defined in the cell’s LEF file.
-reset
Restores all rule severities and mask or autofix settings back to the original documented
defaults. This option must be specified as the only option to a set_rules command; it
cannot be used with any options as it overrides any other rule settings with this command.
-verbose | -noverbose
The -verbose option prints an expanded list of S14, S22, or C39 violations. In the case of
S14, the -noverbose option (the default) prints only the first S14 violation that is
encountered. If the -verbose option is specified with S14, then all S14 violations are
printed. In the case of S22, the -verbose option prints all instances and clocks associated
with the violating transition. If checking is still not sufficiently improved, use the report_
lockup_latches command instead. For C39, by default, only one violation is printed per
clock. If the -verbose option is specified with C39, then violations are reported by scan
cell, which usually results in a significant increase in the number of reported violations.
Note that the -verbose option applies only to S14, S22, and C39 violations.
Description
Use this command to set the severity of a rule violation. You can use the report_rules command to report
the rule settings.
Examples
DRC> report_rules n2
rule severity #fails description
---- -------- ------ ---------------------------------
N2 warning 0 unsupported entry
DRC> set_rules N2 ignore
# observe changes for N2
DRC> report_rules n2
rule severity #fails description
---- -------- ------ ---------------------------------
N2 ignore 0 unsupported entry
set_rules 446
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_rules
report_violations
Rule List
set_rules 447
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_scan_ability
Overview
Use this command to explore the test coverage and testability effects of converting selected nonscan elements
into scan elements.
Syntax
set_scan_ability
<on | off> <nonscan_cell_gate | -dff | -dlat | -all>
Arguments
<on | off>
Specifies whether to consider the named nonscan cells scan or nonscan. Use on to add
nonscan cells to the list or off to remove them. The instances in the scan ability list are
treated as if they belong to scan chains and are controlled and observed accordingly.
Added scan cells are placed in a non-existing scan chain named "_sc1".
nonscan_cell_gate
Identifies a nonscan cell gate to be added to or removed from the scan ability list. It can be
defined by primitive ID, instance name, or pin pathname.
-dff
Adds or removes all DFF type nonscan cells.
-dlat
Adds or removes all DLAT type nonscan cells.
-all
Adds or removes all nonscan cells (DFF and DLAT).
Description
Use this command to explore the test coverage and testability effects of converting selected nonscan elements
into scan elements. You must set up the clocks before issuing this command.
Note the following:
You cannot write patterns to a file if any of the patterns were generated with instances on the scan ability list.
Any such patterns would be invalid for the current design.
The set_scan_ability command is not compatible with any type of scan compression. DRC will fail if the
STIL procedure file contains a CompressorStructures block.
Examples
DRC> report_scan_ability
gate_id type instance_name
------- ---- -------------------------
set_scan_ability 448
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_scan_ability
Table Column Outside Table:
set_scan_ability 449
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_sdc
Overview
This command controls how TestMAX ATPG interprets an SDC file used for specifying setup timing
exceptions.
Syntax
set_sdc
[-case_paths | -nocase_paths]
[-delete_common_clock_exceptions |
-nodelete_common_clock_exceptions]
[-disable_paths | -nodisable_paths]
[-environment < sdc_case_analysis | tmax_drc | none >]
[-false_paths | -nofalse_paths]
[-hold | -nohold]
[-instance instance_path]
[-mark_gui_gates|-nomark_gui_gates]
[-multicycle_paths | -nomulticycle_paths]
[-setup | -nosetup]
[-show_all_matches | -noshow_all_matches]
[-verbose | -noverbose]
Arguments
-case_paths | -nocase_paths
Creates -through exceptions for paths blocked by the set_case_analysis settings in the
SDC file. The set_case_analysis is still used for clock tracing regardless of how this
switch is set. The -nocase_paths option restores the default.
-delete_common_clock_exceptions | -nodelete_common_clock_exceptions
Removes the timing exceptions between the clocks that are defined with the same source
objects. For limitations in interpreting these clocks, see How TestMAX ATPG Interprets SDC
File Commands. All set_clock_group, set_false_path, or set_multicycle_path SDC
commands are removed, but only when the two points specified are clock objects. The
default is -nodelete_common_clock_exceptions.
-disable_paths | -nodisable_paths
The default (-disable_paths) uses set_disable_timing commands in the SDC file for
exceptions. You can set the -nodisable_paths option to make sure these commands are
not used for exceptions.
-environment < sdc_case_analysis | tmax_drc | none >
Causes clocks to be traced without reference to logic values either defined in the SDC set_
case_analysis commands or found by the TestMAX ATPG run_drc command. This causes
the clock to propagate to the maximum possible number of registers.
The default is none. Use the sdc_case_analysis argument to trace clocks based on the
SDC set_case_analysis commands. This is useful for SDC constraints created for the
functional mode of a design in which the test mode clocks are different.
set_sdc 450
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If you specify the set_sdc -environment sdc_case_analysis command, but the SDC
file read by the read_sdc command does not contain any set_case_analysis commands,
then the -environment switch is reset to none during the run_drc process. The only
observable effect of this change occurs if you go back to DRC mode and read additional
SDC files in the same TestMAX ATPG session.
You should use the tmax_drc argument to trace clocks based on the TestMAX ATPG run_
drc results. This is useful for SDC created specifically for test mode, which will give the
most accurate results.
-false_paths | -nofalse_paths
The default (-false_paths) creates timing exceptions for a false path. Use the -no_
false_paths option to make sure timing exceptions are not created for a false path.
-hold | -nohold
The -hold option (the default) enables you to use the SDC file to specify hold timing
exceptions. Transitions that violate a hold time requirement during a clock pulse are
masked during good machine simulation. If you require different behavior for a particular
SDC file, you can change this setting before specifying the read_sdc command again. If
TestMAX ATPG reads the SDC file when the -hold option is enabled, the DRC process also
uses this setting.
-instance instance_path
Prepends the specified argument (instance_path) to all instances in the SDC file. This
option should be used in case the SDC file was written for a submodule of the top-level
design. For example:
set_sdc 451
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -setup option (the default) enables you to use the SDC file to specify setup
exceptions. Transitions that violate a setup requirement during a clock pulse are masked
during good machine simulation. If you require different behavior for a particular SDC file,
you can change this setting before specifying the read_sdc command again. If
TestMAX ATPG reads the SDC file when the -setup option is enabled, the DRC process also
uses this setting.
-show_all_matches | -noshow_all_matches
Specifies that for each SDC command, all TestMAX ATPG database objects that match the
specified points are reported. This results in an extremely verbose listing. The -noshow_
all_matches option (the default) makes sure that these database objects are reported.
-verbose | -noverbose
Prints messages for SDC commands and options not supported by TestMAX ATPG. The -
noverbose option (the default) restores the default messaging. The -verbose option does
not enable printing of all messages in all situations. To print all messages, you need to
redirect the output using the redirect command: read_sdc >...
Description
This command controls how TestMAX ATPG interprets an SDC file used for specifying setup timing
exceptions. You must specify it before the read_sdc command. You must be in DRC mode to use this
command (after you successfully run the run_build command, but before running run_drc).
All set_sdc command settings are cumulative; you can run this command multiple times to prepare for a
read_sdc command. If multiple read_sdc commands are required, you can also specify a set_sdc
command before each read_sdc command to specify its verbosity, instance, and so forth.
Note that the set_sdc command is valid only Tcl mode. For more information on specifying timing
exceptions, see Specifying Setup Timing Exceptions From an SDC File.
For more information on the SDC file, see How TestMAX ATPG Interprets SDC File Commands.
See Also
How TestMAX ATPG Processes Setup and Hold Violations
read_sdc
report_sdc
set_simulation
Overview
Use this command to set the simulation-related control parameters that are in effect for the run_
simulation and run_fault_sim commands.
Syntax
set_simulation
[-analyze_x_effects | -noanalyze_x_effects]
[-analyze_x_sources | -noanalyze_x_sources]
set_simulation 452
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
[-basic_scan | -nobasic_scan]
[-bidi_fill | -strong_bidi_fill | -weak_bidi_fill | -nobidi_fill]
[-check_padding_patterns | -nocheck_padding_patterns]
[-data {first_pattern last_pattern}]
[-dominance_use <off | on | sr_persist>]
[-interval_pattern pattern_name]
[-num_processes number | max]
[-num_threads number]
[-oscillation {num_passes num_additional_fault_passes}]
[-pipeline_cells | -nopipeline_cells]
[-progress_message number]
[-shift_cycles number]
[-store_memory_contents < pattern_num | last> |
-nostore_memory_contents]
[-timing_exceptions_for_stuck_at |
-notiming_exceptions_for_stuck_at]
[-truncate file_name | -notruncate]
[-two_clock_resim | -notwo_clock_resim]
[-use_timing_exceptions | -nouse_timing_exceptions]
[-verbose | -noverbose]
[-words_per_pass d]
[-xclock_gives_xout | -noxclock_gives_xout]
[-xfill_out_of_range_write | -noxfill_out_of_range_write]
Arguments
-analyze_x_effects | -noanalyze_x_effects]
This option turns on and off the analysis of X effects performed during a TestMAX ATPG
simulation. It is supported only for the simulation of basic scan and fast-sequential
patterns. This analysis includes a printed report, and is performed during both the run_
simulation process and the simulation that occurs as part of the test generation process
when the run_atpg command is used.
When the -analyze_x_effects option is specified, each pattern is evaluated individually.
TestMAX ATPG prints an analysis of the simulation of patterns that have at least one scan
cell with a final simulated value of X, as shown in the following example:
X-effect analysis results: pattern=0, #scancells_at_X=115313 (42.27%)
shift results for non-Xchains: 0X=1 6X=1 9X >9X=202, maxX=1244
non-Xchain results: 1351=118 804=111 743=110 1128=110 1048=107
1255=107 1257=107 1338=107 916=106 1051=106
This analysis includes the following information:
l A summary message that indicates the pattern number, number of scan cells at X for the pattern, and the
shifted out of non-X-chains. The tool analyzes the captured values across the chains at each shift
position, counts the number of X values in each shift position row, then prints the distribution of those
counts: zero Xs, one X, two Xs, three Xs, four Xs, five Xs, six Xs, seven Xs, eight Xs, nine Xs, and more
than nine Xs. The maximum number of Xs for any shift is also provided.
l Non-X-chain results. This message includes an ordered list of the top 10 chains with X counts that have
set_simulation 453
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
At the end of the simulation, a summary report is printed, as shown in the following
example:
Final X-effect analysis results: #scancells_at_X=275038 (3.15%)
shift results for non-Xchains: 0X=187 1X=162 2X=343 3X=407
4X=470 5X=498 6X=702 7X=753 8X=730 9X=569 >9X=1739 maxX=2241
non-Xchain results: 652=3133 1235=2209 1236=2128 1237=2127
802=2005 1362=1664 803=1177 653=1145 638=1122 656=926
This summary report includes the following information:
A summary message that indicates the total number of scan cells at X and the percentage of scan cells at X.
l Shift results for non-X chains. This message includes a list of the number of shift positions for the entire
set of patterns: zero Xs, one X, two Xs, three Xs, four Xs, five Xs, six Xs, seven Xs, eight Xs, nine Xs,
and more than nine Xs. Note that this count set only considers non-X chains, and does not print counts
less than one. The maximum number of Xs for any shift is also provided.
l Non-X chain results. This message includes an ordered list of the top 10 chains with X counts that have
set_simulation 454
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_simulation 455
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Fault simulation will be repeated for current patterns after 174 padding
patterns were eliminated due to constraint violations.
Pattern checking completed: #patterns_eliminated=174, test coverage was
changed from 76.70% to 76.30%
-data {first_pattern last_pattern}
For sequential simulation, use this option to specify that the simulation values are to be
stored and the range of patterns to be stored. The stored values can be displayed later by
using the -seq_sim_data option of set_pindata command in conjunction with the
report_primitives command. The default is not to store any patterns. Pattern storage
can be turned off by using -data {0 -1}.
-dominance_use <off | on | sr_persist>
Controls the application of dominance information during simulation. The default is off.
Dominance information is extracted from ATPG models for set/reset/clock pins during
netlist interpretation (for more information, see the description of the -dominance_
detection option of the set_netlist command). When set_netlist -dominance_
detection is set to on or boolean, the dominance information can be applied during
simulation by specifying set_simulation -dominance_use with on or sr_persist.
When -dominance_use on is applied, known states on the set or reset lines (which also
depends on dominance between these signals) will override unknown clock states and
result in known output values. This reduces pessimistic behavior in the presence of Xs on
clock lines. It is critical that you accept the resulting known values. Setting these options
without validating the resulting behavior might generate patterns that fail in external
simulation or at the tester due to the reduced pessimism.
When -dominance_use sr_persist is specified, the previous behavior is applied with the
following extension: If the set or reset line is active before a clock, and the clock goes
active at the same time as the set or reset goes inactive, the set or reset condition will
persist and override the clock event. This condition might be necessary if the set or reset
states continue past the current clock event in the actual design or simulation context with
timing present, and result in a device response that reflects the set or reset and not the
clock operation. This option also requires that you specify the set_drc -allow_
unstable_set_resets command to have an effect on the simulation.
-interval_pattern pattern_name
Specifies the name of the interval pattern.
-num_processes number | max
Specifies the number of slave processes to be used for multicore simulation. The number
specification refers to the number of slave processes that is used for simulation. If max is
specified, then TestMAX ATPG computes the maximum number of processes available in
the host based on number of CPUs. If TestMAX ATPG detects that the host has only one
CPU, then single-process simulation is performed instead of multicore simulation with only
one slave.
Note the following:
l You should not specify more processes than the number of CPUs available on the host.
l You should consider whether there is other CPU-intensive processes running simultaneously on the host when
specifying the number of processes. If too many processes are specified, performance will degrade and might be worse
than single-process simulation. On some platforms, TestMAX ATPG cannot compute the number of CPUs available and
will issue an error if max is specified.
set_simulation 456
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l This option has no effect when TestMAX ATPG is enabled. For more information on TestMAX ATPG, see "Running
TestMAX ATPG."
-num_threads number
Specifies the number of threads to use for multithreading when running TestMAX ATPG.
This option cannot be used unless you have installed TestMAX ATPG. By default, the
number of threads is set to 8. This option is used with the -num_threads option of the set_
atpg command. Both options must be set to the same value, as shown in the following
example:
set_simulation -num_threads 12
set_atpg -num_threads 12
If you set this option to 0, TestMAX ATPG is disabled and TestMAX ATPG is used.
You cannot read image files into TestMAX ATPG after changing the value of the -num_
threads option. For more information on this option and TestMAX ATPG, see "Running
TestMAX ATPG."
-oscillation {num_passes num_additional_fault_passes}
This specifies the number of simulation passes to allow while waiting for logic simulation
values to stabilize before declaring an oscillation condition. This is meaningful only for
sequential simulation. The first value is the limit used for the good machine simulation
(default 10) and the second value is the additional passes allowed for the faulty machine to
stabilize (default 2).
-pipeline_cells | -nopipeline_cells
When -pipeline_cells is specified (the default), input pipeline DFFs are simulated with
being in shift mode or capable of holding state during capture. When -nopipeline_cells
is specified, input pipeline DFFs are considered X for such patterns.
Note: Use of this switch in designs with input pipelines and scan enable not constrained to
its system value can result in parallel testbench failing VCS because input pipe DFFs remain
X in the parallel simulation. Parallel testbench with serial input_pipe_depth shifts should
pass; or, use set_simulation -nopipeline_cells.
-progress_message number
This option prints a progress message every specified number of simulation passes. A
simulation pass is 32 basic scan patterns, or from 1 to 10 (but usually 3) fast-sequential
patterns. For more information, see "Understanding the run_simulation Output."
-shift_cycles number
This switch enables the simulation of loadable nonscan cells for the last specified number of
shift cycles. The default is number = 0, which means no simulation of loading nonscan cells.
You can set the number to specify the depth of the loading to be simulated. The maximum
value of the specified number is 10, but also no more than the length of the longest scan
chain (plus 1 for compression).
The -shift_cycles option cannot be set to any value other than 0 when you run the
analyze_compressors command.
For complete information on using the -shift_cycles option and related commands, see
the topic "Using Loadable Nonscan Cells in TestMAX ATPG."
-store_memory_contents < pattern_num | last> | -nostore_memory_contents
set_simulation 457
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option specifies that during sequential simulation, the data contents of all RAMs are to
be stored for a specific pattern. The pattern can be selected by a specific pattern number
or the keyword last, in which case the last pattern simulated determines the RAM contents.
The data contents can then be reported with the report_memory command. The default is
-nostore_memory_contents.
-timing_exceptions_for_stuck_at | -notiming_exceptions_for_stuck_at
Controls timing exceptions simulation for stuck-at faults. The default is -notiming_
exceptions_for_stuck_at. For more information, see the "Specifying Setup Timing
Exceptions From an SDC File" section in the TestMAX ATPG User Guide.
-truncate file_name | -notruncate
The -truncate option specifies the name of the file containing observe point definitions
used for the good simulation of pin data. Each entry in the file contains one observe point
that identifies a scan cell or primary output. A line that defines a scan cell must contain two
entries: the first entry identifies the scan chain and the second entry identifies the position
of the scan cell in the scan chain. The chain position is zero-based, which means a scan cell
specified at the 0 position is the closest to the scanout pin. A line that defines a primary
output must use only one entry to identify the port name.
The -truncate option is used only in TEST command mode. This option creates a list of the
gates that must be simulated to ensure that an observe point has the correct value for
single-cycle and two-cycle simulation.
A message displays the number of gates and sequential cells that are in the simulation list.
The truncated simulation is used for both shift simulation and capture-cycle simulation
when there are fewer than two cycles. The truncated simulation is activated only when the
-good_sim_results pattern_number option of the set_pindata command is specified.
The -notruncate option removes truncation for the good simulation of pin data.
-two_clock_resim | -notwo_clock_resim
The -two_clock_resim option causes the run_simulation and run_fault_sim
commands to simulate certain single-load, two-cycle patterns exactly as they were
simulated during the two-clock ATPG process using the set_delay -two_clock_
transition_optimization command. A total of 32 patterns are used for each simulation
pass. For more information on this type of simulation, see the description of the -two_
clock_transition_optimization option in the set_delay command topic.
Note that only single-load, two-cycle patterns that occur immediately after the basic-scan
patterns (if any) with a minimum of 10 patterns are considered for this type of simulation.
You can expect a runtime performance improvement when a significant number of single-
load, two-cycle patterns are simulated.
The default is the -notwo_clock_resim option, which uses the fast-sequential simulation
mode for multi cycle patterns and all other patterns that do not meet the required criteria.
By default, many two-clock patterns are defined as three-cycle operations due to the
presence of an extra initial force-PI operation. This additional operation affects the
performance improvement gained by using the -two_clock_resim option. You can specify
the –noextra_force option of the set_delay command to create tests that are applicable
in this context.
-use_timing_exceptions | -nouse_timing_exceptions
set_simulation 458
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This switch globally enables or disables the use of timing exceptions during simulation. The
default is the -use_timing_exceptions option. For example, if you specify the set_
simulation -timing_exceptions_for_stuck_at command and the fault model is stuck,
the -nouse_timing_exceptions option overrides the -timing_exceptions_for_stuck_
at command.
ATPG Untestable (AU) analysis is disabled by default, but is honored when enabled by the
set_atpg -timing_exceptions_au_analysis command.
-verbose | -noverbose
Specifies whether to display the good machine vs. faulty machine differences and including
the gate id and pin number of faults detected in a pattern during fault simulation performed
by the run_fault_sim -sequential command. For example:
17 test_so (exp=0, got=1) fault: 20 pin 2 stuck 1
Where:
17 is the pattern
test_so is the output measured
(exp=0, got=1) is the good machine vs faulty machine results
fault: 20 pin 2 stuck 1 is stuck at 1 fault on gate id 20 pin 2.
The default is -noverbose.
Note: This option is not yet implemented for the Full-Sequential pattern generator.
-words_per_pass d
Specifies the number of words per pass to be used during fault simulation. The maximum
and default is 32 words. Each word supports tracking 32 faults for a default of 32*32=1024
faults processed per pass during fault simulation. In a design with 50,000 faults to grade, it
will take 50,000/1,024 passes of fault simulation to process all of the faults at the default
settings.
-xclock_gives_xout | -noxclock_gives_xout
This option specifies the logic simulation behavior for all DFF and DLAT primitives when the
clock has a value of X. Selection of -xclock_gives_xout produces a Q output of X
whenever the clock is at X, regardless of the current or previous values on D and Q. A
selection of -noxclock_gives_xout, which is the default, reviews the current and
previous values on D and Q when the clock has a value of X. When current D equals
previous Q, then the Q output remains known, otherwise it is set to X.
-xfill_out_of_range_write | -noxfill_out_of_range_write
These options apply to a write operation in an illegal memory address -- including active
values for all control pins. By default, X will appear at the memory outputs.
When -xfill_out_of_range_write is specified, the memory content will also be set to X.
This affects only simulation. If you specify set_contention abus, the previous condition
is treated as contention during simulation and test pattern is rejected. This option requires
ATPG support similar to this for bus contention. For example, during ATPG, the address at
each memory bus needs to be set so that the illegal address cannot be generated when all
"don't care" bits are randomly set to either 0 or 1.
set_simulation 459
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
Use this command to set the simulation-related control parameters that are in effect for the run_
simulation and run_fault_sim commands. You can display the current settings with the report_
settings command.
Examples
DRC> set_simulation -measure pat -oscillation {20 2} -verbose
TEST> set_simulation -store_memory last
See Also
report_memory
report_primitives
report_settings
run_fault_simulation
run_simulation
set_contention
set_simulation 460
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_toggle_weights
Overview
This command is used in the power aware ATPG flow to specify separate toggle weights for both shift and
capture cycles.
Syntax
set_toggle_weights
[{list_of_sequential_elements}]
[-capture]
[-delete]
[-shift]
[-weight number]
Arguments
list_of_sequential_elements
Specifies a list of one or more sequential elements for which the specified weight is to be
applied. This list is specified as instance path names. An error is generated if the specified
information does not correspond to a valid sequential element.
-capture
Specifies that the weight should apply to the capture cycle. Can be used in conjunction with
the -shift option to specify the same weight for both shift and capture.
-delete
Deletes any previously specified weight before applying the weight specified in the
command (if any) to any specified sequential elements.
-shift
Specifies that the weight should apply to the shift cycle. Can be used in conjunction to -
capture to specify the same weight for both shift and capture.
-weight number
Specifies the toggle weight as an integer from 0 to 100. Numbers exceeding 100 are
accepted but not used.
Description
This command is used in the power aware ATPG flow to specify separate toggle weights for both shift and
capture cycles. By default, each toggle or transition at a flip-flop (FF) is scored as a 1. This scoring only
considers the flip-flop and does not take into account the fan-out of the flip-flop. By using toggle weighting, you
can place an integer number, 1 or higher, onto those flip-flops to represent larger fan-out nets and cones of
logic.
set_toggle_weights 461
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Example
See Also
report_toggle_weights
report_power
set_atpg
report_clocks
set_toggle_weights 462
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_wgl
Overview
You use this command to set the parameters for waveform generation language (WGL) pattern generation.
Syntax
set_wgl
[-bidi_map {<ab> <cd>}]...
[-chain_list <all | shift>]...
[-forces_during_load <allow_x | previous_values | no_x>]
[-group_bidis | -nogroup_bidis]
[-initial_zx < as_is | x_only | z_only >]
[-inversion_reference <cell | master | omit>
[-last_scan | -nolast_scan]
[-macro_usage | -nomacro_usage]
[-pad | -nopad]
[-scan_map < dash | bidi | keep | none >]
[-tester_ready | -notester_ready | -pre_measured]
Arguments
Note: This command and its arguments do not apply to the WGL_flat format.
-bidi_map <ab> <cd>
Specifies an alternative mapping of force and measure characters in the WGL output. This
applies only to bidirectional ports, not to input-only or output-only ports. There are 9
mappings that can be adjusted: 3 for when the bidirectional port is an input, 4 for when the
bidirectional port is an output, and 2 for when the bidirectional port is a scan input or scan
output.
The ab choice the input side of the translation. The first character is the force value and the
second character is the measure value. A dash "-" as a force character is a placeholder,
meaning a scan chain input, while a dash as a measure character is a placeholder meaning
a scan chain output.
The cd choice the corresponding output side of the translation. These are the characters
that appear in the WGL output file. The default mapping can viewed with the report_
settings command.
Here is a mapping example:
ab : cd
== : ==
0x : 0- # force 0, no measure
1x : 1- # force 1, no measure
xx : x- # force unknown, no measure
z0 : -0 # force Z, measure 0
z1 : -1 # force Z, measure 1
zx : -x # force Z, no measure
zz : -z # force Z, measure Z
-x : -- # bidi is a scan input
z- : -- # bidi is a scan output
set_wgl 463
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The ab combinations in the previous example represent all legal values that can be
mapped. All other combinations for the ab characters are illegal. A mapping can be
repeated. If you repeat a mapping, the last one specified is used.
For more information, see Understanding WGL Options.
The set_wgl command that implements the table above is as follows:
BUILD> set_wgl -bidi_map { 0x 0- 1x 1- xx x- z0 -0 \
z1 -1 zx -x zz -z x -- z- -- }
Note in the previous example that you can specify the -bidi_map option only once, and
the parameters must be in a list structure. Alternatively, you can repeat the entire
command line for each entry, as shown in the following example:
set_wgl -bidi_map {0x 0-}
set_wgl -bidi_map {1x 1-}
set_wgl -bidi_map {xx x- }
set_wgl -bidi_map {z0 -0 }
set_wgl -bidi_map {z1 -1}
set_wgl -bidi_map {zx -x}
set_wgl -bidi_map {zz -z}
set_wgl -bidi_map {x --}
set_wgl -bidi_map {z- --}
To use some BIDI mappings, you must disable the detection of Z states on device I/O pins.
This means the set_buses -external_z x command must be specified. Also, when
writing WGL output, you cannot specify the -measure_forced_bidis option of the write_
patterns command.
-chain_list <all | shift>
In some designs, typically containing JTAG, there are one or more shifts of the scan chain
done outside of the "shift" procedure within the load_unload procedure. When this occurs,
the length of the data vector provided for the WGL "scan" statement is reduced by the
number of shifts done with "vector" statements. Some WGL translators require that the
length of the scan chain defined in the WGL scanchain block match the number of bits in
the scan() load. Other WGL translators require that the length of the defined scan chain
match the physical scan chain at all times. The selection of all causes all instances in the
scan chain to occur in the definition. The selection of shift causes only the instances loaded
by the "scan()" statement to appear. The default is shift.
-forces_during_load <allow_x | previous_values | no_x>
Specifies how primary inputs not explicitly forced in the load_unload procedure should be
forced. A selection of previous_values, which is the default, causes vector and scan
statements associated with the load_unload procedure to keep the values from the prior
capture procedures. A selection of no_x is identical to a selection of previous_values, but in
addition, if the prior value for an input was an X, it is changed to the pad character in effect
while writing patterns. A selection of allow_x disables this pattern persistence, so that all
inputs not explicitly set in the load_unload procedure are forced to X. This option has no
effect if the macro form of WGL is used and the behavior is that of allow_x.
-group_bidis | -nogroup_bidis
Selecting -group_bidis specifies that WGL patterns for designs with bidirectional ports
should have the pattern data for bidirectional ports presented in a single column, 2-
character grouped form. Selecting -nogroup_bidis produces data where the bidirectional
set_wgl 464
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
values occur in two separate single character columns, one for input and the other for
output. The default is -nogroup_bidis.
-initial_zx < as_is | x_only | z_only >
This option, which affects the WGL timeplate description, enforces a specific state (either Z
or X) only at time-zero (0ns) of any waveform that starts with a Z or X. The default, as_is,
does not change the waveform description from the timing definition in the incoming STL
procedure file or provided by default.
When z_only is specified, any waveform event at time-zero that specifies an X is changed
to a Z (all other events remain the same, including any P values). When x_only is
specified, any Z event at time-zero is changed to an X. It is recommended that if a
waveform needs a specific value, this value should be specified with the incoming timing of
the STL procedure file rather than using this option. However, for situations in which the
WGL output must not have a Z state at time-zero, but it is required by the STIL operation,
the -initial_zx x_only specification can be used to change only the WGL timing.
This option is applied to write_patterns -format wgl or wgl_flat output. It is strongly
recommended that you use the x_only option when wgl_flat output is generated, since
z_only generates drive operations that are likely not desired in the output WGL file.
-inversion_reference <master | cell | omit>
This option selects the reference scheme used to construct the inversion markers ("!"
characters) written to the WGL pattern file header. The selection of cell identifies an
inversion from each scan cell input to the next scan cell input. The use of master identifies
an inversion from each master cell to the next. This is a match to TestCompiler and is the
default. The selection of omit causes all inversion markers to be omitted. This selection
also affects the data written when the -notester_ready option is selected (see below).
See also: Understanding WGL Options
-last_scan | -noLast_scan
Use of the -last_scan option results in the last patterns in the WGL file being a "scan"
vector. This is the default. Use of -nolast_scan causes the final patterns in the WGL file to
be parallel "vector" patterns. This ending with "vector" statements ensures that there are
no active clocks, there are no bidirectional port conflicts or internal bus contention
problems, and the same number of cycles/vectors occur for all patterns. Use of -nolast_
scan is required for compatibility with some ASIC vendor requirements for WGL, such as
LSI Logic's LNI format.
-macro_usage | -nomacro_usage
Selecting -nomacro_usage specifies that WGL patterns should be simplified without the
use of macros. Use of -macro_usage allows for the definition and use of macros, which can
make the pattern file more complex but result in a more compact file. The default is -
nomacro_usage.
-pad | -nopad
Selecting -pad specifies that scan chains shorter than the longest scan chain should be
padded to match the length of the longest. Selecting -nopad specifies that no padding will
occur. The default is not to pad. The choice of padding characters can be altered by using
the -pad option of the write_patterns command.
-scan_map <dash | bidi | keep | none>
set_wgl 465
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
For WGL output, the mapping of characters for "vector()" constructs and "scan()"
constructs can be handled differently from each other. Selecting dash causes scan chain
inputs and outputs that are also bidirectional ports to be mapped to "--" for force and
measure. Selecting bidi causes scan chain bidi ports to be mapped as determined by the -
bidi_map settings in effect. Selecting keep causes the scan chain bidi ports to keep the
same value as the prior vector() construct from the load_unload procedure. Selecting none
turns off any mapping of scan chain bidi ports. The default is dash.
-tester_ready | -notester_ready | -pre_measured
There are three variations for representing the scan chain load and unload data in the WGL
output file. The -tester_ready mode causes the data to be created in a form that is ready
to shift into the device pins on the tester, and requires no additional processing to
compensate for inversion information of the scan cells which is loaded.
The -notester_ready or parallel mode causes the data to be created in a form that is
ready to directly load into the state element of the scan cell which TestMAX ATPG has
classified as the "master" without additional processing for scan cell inversion data. This
means that the scan load and unload data is modified from the data that would have been
used for tester_ready by adjusting the data for the effect of inversions between scan
input and the scan cell for scan loads, and between the scan cell and the scan output for
scan unloads. The reference point for inversions is selected by the -inversion_reference
option.
The pre_measured option is similar to the -notester_ready option in that it is a parallel
form of data, but it produces a different output when and end-of-cycle protocol is used
(measure comes after shift clock). The end-of-cycle protocol requires a scan output pre-
measure vector for the first scan bit and the expected scan unload data must be shifted by
one bit to compensate for this pre-measure. During this one-shift adjustment, the effect of
inversions between cells is considered and the expected data is modified accordingly. If a
preclock measure protocol is used, then the WGL produced is the same as if a selection of -
notester_ready was made. However, if an end-of-cycle protocol is used, the WGL is
different if the scan chains contain inversions. This parallel form is the more traditional
form expected by many test translation utilities.
The default is -pre_measured.
Description
You use this command to set the parameters for waveform generation language (WGL) pattern generation.
Examples
set_wgl 466
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Creating LSI Compatible WGL
Creating NEC Compatible WGL
report_settings
set_buses
Understanding WGL Options
write_patterns
set_wgl 467
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_workspace_sizes
Overview
Use this command to select the size of user-adjustable workspaces.
Syntax
set_workspace_sizes
[-atpg_gates integer]
[-command_line max_length]
[-command_words max_strings]
[-connectors integer]
[-decisions integer]
[-drc_buffer_size integer]
[-line integer]
[–max_trace_gates]
[-string integer]
Arguments
-atpg_gates integer
Specifies the maximum number of entries in the storage table used to keep track of user-
defined ATPG gates resulting from the add_atpg_primitives command. The default is
1024 entries.
-command_line max_length
Specifies the maximum length of any command line that can be entered. Note that the
command line limit is still in effect even when a command line is split up using backslashes
in an effort to avoid exceeding the maximum length. The default is 50000.
-command_words max_strings
Specifies the maximum number of strings that can be processed as part of a single
command line. The default is 10,000.
-connectors integer
Specifies the maximum number of fanout connections supported when calculating the draw
image for the graphical schematic viewer (GSV). The default is 20000.
-decisions integer
Specifies the maximum storage table size used to keep track of all of the active decisions.
This table is used during the ATPG process. The default size is 10000 entries. Occasionally,
a design can require a larger decision table.
-drc_buffer_size integer
Specifies the maximum number of state element candidates that can be analyzed to
determine the source for shift data associated with a multiple sensitized path during a scan
set_workspace_sizes 468
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
chain trace. The default setting, 1000, can be increased to 10000 when an M251 message
is issued due to insufficient workspace size.
-line integer
Specifies the maximum length of any line that can be processed when reading files. The
default is 50000 characters per line.
–max_trace_gates integer
Specifies the maximum depth of gate tracing during DRC. By default, DRC tracing events
terminate when the size of a trace exceeds 500 gates. Use the -max_trace_gates option
when a M738 warning message is generated when tracing R17 violations during DRC. For
example, try doubling the maximum trace value to determine if the change affects
subsequent DFT results and eliminates the R17 violations. Note that specifying a large
increase in gate tracing affects the overall DRC runtime.
-string integer
Specifies the maximum length of a single string that can be processed. The default is 2048
characters. Consider increasing this value. For example, when the number of inputs and
bidirectionals defined in the design or when the number of outputs and bidirectionals in the
design exceeds the default of this parameter. An M441 message indicates the increase to
the default during processing.
Description
Use this command to select the size of user-adjustable workspaces. You can display the current settings with
the report_settings command.
Examples
DRC> set_workspace_sizes -string 5000 -line 10000
See Also
report_settings
set_workspace_sizes 469
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
set_ydf
Overview
This command sets parameters for the write_ydf command, which creates the Yield Explorer Data Format
(YDF) file that stores the physical information for a design loaded into Yield Explorer.
Syntax
set_ydf
file_name
[-apply_match_names | -noapply_match_names]
[-schema]
[-version version]
Arguments
file_name
Specifies the file name of the header schema file, which inserts a header section into a
failure log file.
-apply_match_names | -noapply_match_names
Applies match name rules to instance and net names and prints the corresponding values
in Yield Explorer Data Format (YDF). This option is applicable only if you also specify the
set_match_names command and TestMAX ATPG is unable to match the physical instance
or net names using the rules specified by this command. When the -apply_match_names
option is enabled, TestMAX ATPG forces the set_match_names rules to apply to physical
names even if no matches are found. The -noapply_match_names parameter disables this
option.
-schema
Specifies the use of a header schema file, which contains a list of custom columns to add to
the DFTCandidates table.
-version version
Sets the YDF version. The default is 1.2. If you are using class-based diagnosis reporting,
the version must be set to 1.2. For more information creating a class-based diagnosis
report, see the "Class-Based Diagnosis Reporting" section in the TestMAX ATPG User
Guide.
Description
This command sets parameters for the write_ydf command, which creates the Yield Explorer Data Format
(YDF) file that stores the physical information for a design loaded into Yield Explorer. The parameters set by
the set_ydf command include specifying a header schema file, which is a configuration file that controls the
format of the data contained in the header section of the failure log file. For more information about creating
and using the header schema file and its format, see "Adding Header Information to a Failure Data File."
set_ydf 470
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
run_diagnosis
set_ydf 471
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Shell Commands
This section describes the following commands:
l cat
l clear
l cd
l cp
l ls
l ltran_shell
l mkdir
l mv
l pwd
l rm
l system
set_ydf 472
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
cat
Overview
This command displays the contents of a selected file.
Syntax
cat
filename [-max <n>] [-line_numbers]
Arguments
filename
Specifies the filename whose content is to be displayed.
-max <n>
Selects the maximum number of lines to display.
-line_numbers
Specifies that line numbers should be displayed for each line.
Description
This command displays the contents of a selected file.
Examples
DRC> cat hello_file
Hello!!!
See Also
Other Shell Commands
cat 473
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
cd
Overview
Use this command to change the current working directory.
Syntax
cd
<directory_path>
Arguments
directory_path
Specifies the pathname of a directory that is set to be current working directory.
Description
Use this command to change the current working directory.
Examples
DRC> pwd
E:\BIN
DRC> cd e:
DRC> pwd
E:\BIN
DRC> cd ..
DRC> pwd
E:\
DRC> cd regress
DRC> pwd
E:\regress
See Also
Other Shell Commands
cd 474
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
clear
Overview
Use this command to clear the text in the transcript window.
Syntax
clear
Arguments
None
Description
Use this command to clear the text in the transcript window.
l bullet
l more text
l
Examples
DRC> clear
See Also
Other Shell Commands
clear 475
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
cp
Overview
Use this command to copy a file to a selected destination.
Syntax
cp
source_filename destination_filename
Arguments
source_filename
Specifies the filename that is copied.
destination_filename
Specifies the filename where the source file is copied.
Description
Use this command to copy a file to a selected destination. Wild cards (*) are not supported.
Examples
DRC> cp flt_file1 flt_file2
See Also
Other Shell Commands
cp 476
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
ls
Overview
Use this command to display file information for a selected file or directory.
Syntax
ls
[-l] [pathname]
Arguments
-l
Selects the long format output.
pathname
Specifies the pathname of the directory or file that is listed. The current working directory
is listed by default.
Description
Use this command to display file information for a selected file or directory. Standard wildcard usage is
supported.
Examples
DRC> ls
[.]
[..]
Makefile
[BIN]
[log_archive]
[oacs_data]
[DESIGNS]
[WORK]
[DATA]
[DOCS]
[tmp]
r-all_i970527.txt
cumulative_log
I000.rpt
I001.rpt
r-i_i970527.txt
DRC> ls -l
05/23/1997 12:49:38 <DIR> .
05/23/1997 12:49:38 <DIR> ..
05/28/1997 23:09:30 8146 Makefile
ls 477
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
cat
cd
cp
mkdir
mv
pwd
rm
ls 478
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
mkdir
Overview
Use this command to create a new directory.
Syntax
mkdir
<pathname>
Arguments
pathname
Specifies the name of the directory to create.
Description
Use this command to create a new directory.
Examples
DRC> mkdir flt_files
See Also
cat
cd
cp
ls
mv
pwd
rm
mkdir 479
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
mv
Overview
Use this command to move a file to a selected destination.
Syntax
mv
<source_filename> <destination_filename>
Arguments
source_filename
Specifies the name of the file to move.
destination_filename
Specifies the name of the file to which the source file is moved.
Description
Use this command to move a file to a selected destination. Wildcards (*) are not supported.
Examples
DRC> mv flt_file1 flt_file2
See Also
cat
cd
cp
ls
mkdir
pwd
rm
mv 480
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
pwd
Overview
Use this command to display the current working directory.
Syntax
pwd
Arguments
None
Description
Use this command to display the current working directory.
Examples
DRC> pwd
E:\BIN
DRC> cd e:
DRC> pwd
E:\BIN
DRC> cd ..
DRC> pwd
E:\
DRC> cd regress
DRC> pwd
E:\regress
See Also
cat
cd
cp
ls
mkdir
mv
rm
pwd 481
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
rm
Overview
Use this command to delete an existing file.
Syntax
rm filename
Arguments
filename
Specifies the name of the file to delete.
Description
Use this command to delete an existing file. Wildcards (*) are not supported.
Examples
DRC> rm flt_file1
See Also
cat
cd
cp
ls
mkdir
mv
pwd
rm 482
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
system
Overview
Use this command for executing UNIX shell commands.
Syntax
system
<command_string>
Arguments
command_string
Specifies the command to be passed to a separate shell interpreter.
Description
Use this command for executing UNIX shell commands. The command string is passed to the user's default
shell and executed. The command string can be enclosed in single or double quotation marks. Text
surrounded by single quotation marks is passed to the system unexpanded. Text that is not quoted or
surrounded by double quotation marks has TestMAX ATPG and environment variables expanded and
replaced before calling the system.
Note: The standard input and standard output of the command is not available within TestMAX ATPG. The
command is passed blind to your default shell and the shell command is executed. You will not see any
progress or status from this command reflected back in the TestMAX ATPG transcript.
Examples
DRC> system ls\line
DRC> system "ps -elf > ps_snapshot.txt"
ATPG> system "cd $MYLIB/verilog/models ; ls"
ATPG> system A_$TEST_ENV1.C
ATPG> system cp $VAR1/xxx $VAR2/yyy
BUILD> system "ls -al $MYVAR > junk"
BUILD> system "this ; and ; that"
# Bad form, the file 'snapshot' is empty as the "> snapshot" is not
# passed to the system but interpreted by TestMAX ATPG command parser.
DRC> system ps -fu $USER > snapshot
# proper forms, the '> snapshot' is passed as part of the command
DRC> "system ps -fu $USER > snapshot"
DRC> 'system ps -fu $USER > snapshot'
system 483
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
Other Shell Commands
system 484
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
l get_fanout
l all_clocks
l get_faults
l all_inputs
l get_instances
l all_outputs
l get_modules
l all_registers
l get_patterns
l filter_collection
l get_pins
l foreach_in_collection
l get_ports
l get_attribute
l get_primitive
l get_candidates
l get_scan_chains
l get_cells
l get_settings
l get_clocks
l get_timing
l get_diag_files
l list_attributes
l get_fanin
l remove_display_proc
system 485
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
add_display_proc
Overview
This command registers a Tcl procedure name that is called when you select a context-sensitive menu item in
the GSV.
Syntax
add_display_proc proc_name
Arguments
proc_name
The name of the procedure to be added.
Description
This command registers a Tcl procedure name that is called when you select a context-sensitive menu item in
the GSV. After this command is specified, it determines if the procedure has been defined.If the procedure
being added is not defined, the following error message is displayed:
Error: No command or proc named "%s" is found.
When you select a menu item, the corresponding Tcl procedure is called with an argument. If the GSV is at the
design level (library cells shown), the instance name of the selected cell is sent as the argument to the proc
call. If the GSV is at a primitive level, the gate id is used. You can use a Tcl form such as “The arg value is $arg”
to distinguish between the gate id or the instance name.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
remove_display_proc
add_display_proc 486
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
all_clocks
Overview
The all_clocks command creates a collection of all clocks in the current design.
Syntax
collection all_clocks
Arguments
None.
Description
The all_clocks command creates a collection of all clocks in the current design. You can assign these
clocks to a variable or pass them into another command. If you do not define any clocks, the empty collection
(empty string) is returned.
By default, a maximum of 10 objects are displayed. You cannot change this maximum.
If you want only certain clocks, use the get_clocks command to create a collection of clocks matching a
specific pattern.
If this command is part of SDC file, it returns all SDC clocks. If this command is executed outside SDC file, it
returns all clocks defined for TestMAX ATPG.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Examples
TEST-T> all_clocks
See Also
get_clocks
all_clocks 487
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
all_inputs
Overview
The all_inputs command creates a collection of all input or inout ports in the current design.
Syntax
collection all_inputs
Arguments
None
Description
The all_inputs command creates a collection of all input or inout ports in the current design.
If you specify all_inputs at the command prompt, it displays the names of inputs.
By default, a maximum of 10 objects are displayed. You cannot change this maximum.
If you want only certain ports, use the get_ports command to create a collection of ports matching a specific
pattern.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Examples
TEST-T> all_inputs
See Also
get_ports
all_inputs 488
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
all_outputs
Overview
The all_outputs command creates a collection of all output or inout ports in the current design.
Syntax
collection all_outputs
Arguments
None
Description
The all_outputs command creates a collection of all output or inout ports in the current design.
When issued from the command prompt, all_outputs behaves as though query_objects had been
called to display the objects in the collection.
By default, a maximum of 10 objects are displayed. You cannot change this maximum.
If you want only certain ports, use the get_ports command to create a collection of ports matching a specific
pattern.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Examples
TEST-T> all_outputs
See Also
get_ports
all_outputs 489
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
all_registers
Overview
The all_registers command creates a collection of cells related to registers.
Syntax
collection all_registers
Arguments
None
Description
The all_registers command creates a collection of cells related to registers. You can assign the resulting
collection to a variable or pass it into another command.
When issued from the command prompt, the all_registers command behaves as though query_
objectshad been called to display the objects in the collection.
By default, a maximum of 10 objects are displayed. You cannot change this maximum.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Examples
TEST-T> all_registers
See Also
get_cells
all_registers 490
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
filter_collection
Overview
This command filters a collection after the collection is created.
Syntax
collection filter_collection
[-regexp]
[-nocase]
collection1
expression
Arguments
-regexp
Indicates that TestMAX ATPG regular expressions are used by the following filter
operators: =~ and !~. By default, these filter operators use simple wildcard pattern
matching with the ’*’ and ’?’ wildcards.
-nocase
Makes the pattern match case-insensitive.
Attributes
collection1
Specifies the base collection to be filtered. This collection is copied to the result collection.
Objects are removed from the result collection if they are evaluated as false by the
conditional expression.
expression
Specifies the expression used to filter the collection.
Description
This command filters a collection after the collection is created. In many cases, the commands that create the
collections support a -filter option, which performs the filtering as part of the collection process. Using the
-filter option in those commands is usually more efficient than using the filter_collection
command to filter the collection after it has been created. The filter_collection command is most
useful when you want to filter the same large collection many times using different criteria.
The filter_collection command results in either a new collection containing the subset of the objects in
the input specified by using the base collection, or it results in the empty string (an empty collection) indicating
that the expression filtered out all elements of the input base collection.
== Equal
!= Not equal
filter_collection 491
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
> Greater than
< Less than
=~ Matches pattern
Examples
The following example echoes all pin_pathnames containing the string “slow_clk”:
The following example echoes all pin_pathnames containing the string “slow_clk”, but using TestMAX
ATPG regular expressions:
filter_collection 492
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TOTO/slow_clk_clkgt/cg_latch_reg/D
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/CD
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/D
The following example finds whether theset_delay –nopi_changes command has been set:
filter_collection 493
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
foreach_in_collection
Overview
This command is used to iterate each element in a collection.
Syntax
string foreach_in_collection
itr_var
collections
body
Arguments
itr_var
Specifies the name of the iterator variable.
collections
Specifies a list of collections to iterate.
body
Specifies a script to execute per iteration.
Description
This command is used to iterate each element in a collection. You cannot use the Tcl-supplied foreach
command to iterate collections because this command requires a list, and a collection is not a list. Using the
foreach command on a collection causes the collection to be deleted.
The arguments for the foreach_in_collection command parallel those of the foreach command: an
iterator variable, the collections to iterate, and the script to apply at each iteration. Note that the foreach_
in_collection command does not allow a list of iterator variables.
During each iteration, the itr_var option is set to a collection of exactly one object. Any command that
accepts collections as an argument accepts the itr_varoptin, because they are of the same data type
(collection).
You can nest the foreach_in_collection command within other control structures, including the
foreach_in_collection command.
Note that if the body of the iteration is modifying the design, it is possible that all or part of the collection
involved in the iteration are deleted. The foreach_in_collection command is safe for such operations.
If a command in the body causes a collection to be removed, at the next iteration, the iteration ends with a
message indicating that the iteration ended prematurely.
Examples
The following example iterates a filtered collection and echoes the pin_pathname for each member of the
collection:
foreach_in_collection 494
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
? }
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/CP
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/Q
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/QN
TOTO/slow_clk_clkgt/U2/Z
TOTO/slow_clk_clkgt/U2/A
TOTO/slow_clk_clkgt/U2/B
TOTO/slow_clk_clkgt/cg_latch_reg/Q
TOTO/slow_clk_clkgt/cg_latch_reg/GN
TOTO/slow_clk_clkgt/cg_latch_reg/D
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/CD
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/D
foreach_in_collection 495
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_attribute
Overview
This command searches the object_spec for the specified attribute and returns a list of attribute values.
Syntax
list get_attribute
[-class class_name]
[-quiet]
[-value_list]
object_spec
attr_name
Arguments
-class class_name
If the object_spec attribute is a name, its class can be any of the following: Clock,
ScanChains, Cell, Primitive, Pin, Port, Modules, Instances, Timings, Settings, Faults,
Patterns, Candidates, DiagFile.
-quiet
Does not report messages.
-value_list
Forces the return of a single object as a list.
Attributes
object_spec
Object(s) used to get the attributes.
attr_name
Name of the attribute.
Description
This command searches the object_spec for the specified attribute and returns a list of attribute values. An
empty list is returned if the attribute is not found on any of the specified objects.
Example
The following example iterates over a filtered collection and gets the pin_pathname attribute of each pin so
that it can be echoed:
get_attribute 496
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/Q
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/QN
TOTO/slow_clk_clkgt/U2/Z
TOTO/slow_clk_clkgt/U2/A
TOTO/slow_clk_clkgt/U2/B
TOTO/slow_clk_clkgt/cg_latch_reg/Q
TOTO/slow_clk_clkgt/cg_latch_reg/GN
TOTO/slow_clk_clkgt/cg_latch_reg/D
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/CD
TOTO/U_clk_control_i_0/slow_clk_enable_l_reg/D
get_attribute 497
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_candidates
Overview
This command returns a collection of defect candidate objects which contain the results of a previous run_
diagnosis command.
Syntax
collection get_candidates
-filter expression | -pinpath pinpath | -defect defect_id | -all
Arguments
-filter expression
Filters the collection with the expression. For any candidates that match patterns, the
expression is evaluated based on the candidate's attributes. If the expression evaluates to
true, the candidate is included in the result.
-pinpath pinpath
Returns the fault object for the collapsed fault(s) associated with the specified hierarchical
pinpath.
-defect defect_id
Returns the fault object for the collapsed fault(s) associated with the specified defect_id.
-all
Returns all defect candidate objects.
Attributes
pinpath (string)
Pinpath of the collapsed fault location if functional diagnosis was done.
pin (collection of pin objects)
Pin object of fault location, if functional diagnosis was done.
cell (collection of cell objects)
Cell associated with defect site.
chain_name (string)
Chain name of the defective chain (if chain diagnosis was done, empty otherwise).
defect_failing_patterns (integer)
Number of failing patterns for all candidates of a particular defect group. In the case of
chain diagnosis, the attribute value is -1.
defect_passing_patterns (integer)
get_candidates 498
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Number of passing patterns for all candidates of a particular defect group. In the case of
chain diagnosis, the value is -1.
explained_passing_patterns (integer)
Number of passing patterns for a particular candidate. This information is equivalent to
“passing=63” in the diagnosis report line “#perfect/partial match: <failing=18/18,
passing=63>”. To get the number of failing patterns for a particular candidate, use the
attribute explained_patterns and determine the size of the collection. This will give the
number of fully explained patterns for a given candidate.
physical_subnet_id
Integer that represents the physical subnet ID value.
subnet_driver
String that represents the physical subnet driver name.
scan_cell_position (integer)
Scan chain position of defective scan cell (if chain diagnosis was done, -1 otherwise).
scan_cell_name (string)
Hierarchical instance name of the defective scan cell (if chain diagnosis is done).
subnet_id (integer)
Indicates the subnet id if the diagnosis finds a subnet as a fault candidate. For each
candidate, the attribute is available. If a stuck-open fault candidate that affects a
particular subnet is not found, the attribute value is -1.
defect_id (integer)
From previous diagnosis run, this is the ID of the defect group to which this fault belongs (if
functional diagnosis was done, -1 otherwise).
explained_patterns (Pattern object collection)
From previous diagnosis run, patterns (fully or partially) explained by this fault (if
functional diagnosis was done).
is_partially_explaining (boolean)
From previous diagnosis run, this is true if this fault only partially explained a pattern (if
functional diagnosis was done).
internal_cell_defect_flag (boolean)
True if the fault candidate is of type internal_cell.
type (string)
Indicates the type of the fault candidate. For example, sa0, stf.
class_behavior (string)
Contains the fault class. For example, DS, --, **.
TFSF (integer)
Number of failures where the corresponding measure location failed for both the tester and
simulation of this fault.
get_candidates 499
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TFSP (integer)
Number of failures where the corresponding measure location failed for the tester but
passed for the simulation of this fault.
TPSF (integer)
Number of failures where the corresponding measure location passed for the tester but
failed for the simulation of this fault.
match_score (float)
This is the match score in percentage from either functional or chain diagnosis, for
example, 98 or 50.
causes_passing_pattern_fail (boolean)
True if this candidate caused a passing pattern to fail (if functional diagnosis was done).
module_name (string)
Name of the module of the candidate.
cone_id (int)
ID of the cone of the candidate.
bridging_module_name (string)
Name of the module of the second node reported for a bridging candidate.
bridging_pinpath (string)
Pinpath of the second node reported for a bridging candidate.
combined_pinpath (string)
Pinpath of the best candidate.
combined_score (float)
Score of best candidate.
equiv_faults (collection of fault objects)
- Includes fault objects that are equivalent to the fault candidate, and includes the fault
candidate.
- Only the pinpath and type attributes of the fault object in this collection are valid since
there are no active faults after diagnosis.
object_class (constant string: “defect”)
Description
The get_candidates command returns a collection of defect candidate objects which contain the results of
a previous run_diagnosis command. A defect candidate object is available for a collapsed diagnosis fault
candidate (functional diagnosis), or a scan cell (chain diagnosis). If the -filter option is used on a pinpath
that is not the collapsed pinpath, no results are returned.
Note that the get_candidates command is supported only for fault-based diagnostics reporting, but not
class-based reporting.
Use the attribute pins to retrieve the net name connected to a fault candidate’s pin and the X/Y coordinates for
the pin. See the attributes list for the get_pins command.
get_candidates 500
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
get_pins
get_candidates 501
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_cells
Overview
This command returns a collection of cell objects.
Syntax
collection get_cells
-id d | -type type | -nonscan | -filter expression | -all | -selected | -
clock clock | [-regexp] [-nocase] [-hsc separator] [patterns]
Arguments
-id d
Returns a collection of cell objects corresponding to the specified gate ID.
-type type
Returns a collection of cell objects with primitives of the type specified in the report
primitives command.
-nonscan
Returns a list of nonscan sequential elements.
-all
Returns all cell objects.
-selected
Returns a collection of cells that are selected in the GSV.
-clock clock
Returns cells with the specified clock.
-filter expression
Returns cells with the specified filter. The -filter option cannot be used when the
patterns argument is specified.
-regexp
Recognizes patterns as full regular expressions. This option applies only to the cell name.
Note that you cannot use the -filter and -regexp options at the same time.
-nocase
When combined with the -regexp option, the -nocase option causes case-insensitive
matches . You can use the -nocase option only when you also use the -regexp option.
-hsc separator
Specifies a separator character. The default is "/". Valid values are /, @, ^, #, ., and |
patterns
Matches cell names against the specified patterns.
get_cells 502
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Attributes
cell_id (integer)
The ID of the cell.
cell_type (string)
Primitive type of this cell.
primitive_name (string)
Primitive path name of the output pin of a primitive. This attribute is valid only for
primitives that drive an output pin of a library cell.
cell_name (string)
Instance name of the parent library cell of this primitive.
cell_module_name (string)
The module name of the cell.
is_load (boolean)
True if this is a loadable nonscan cell and if it appears in the output list produced by the
report_nonscan_cells load command.
is_nonx_load (boolean)
True if this is a loadable nonscan cell that always loads a non-X value and if it appears in
the output list produced by the report_nonscan_cells load command.
is_scan (boolean)
True if this cell is a scan cell.
is_masked (boolean)
True if this cell is masked by add capture masks or set rules -mask. Valid for DFF or
DLAT primitives.
load_unload_constraint (string)
For example, "X". PI constraint from STL procedure file from the load_unload constraint.
capture_constraint (string)
For example,"OX". ATPG, PI, cell constraint or constraint in capture procedure in STL
procedure file. Same format as add cell_constraints, add atpg constraints, or add
pi constraints. Cell constraints are valid for DFF, DLAT primitives. PI constraints are
valid for PI primitives.
nonscan_behavior (string)
For example, "C0", "TLA". Data as it appears on report nonscan cells output.
pins (pin object collection)
Collection of pin objects.
is_clock (boolean)
True if this is a PI primitive that is a clock.
get_cells 503
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
module_weight (float)
Weight assigned to library cell.
fanin_gates (cell object collection)
Collection of cells that immediately fanin to this cell. 1:1 with input_pins.
fanout_gates (cell object collection)
Collection of cells that immediately fanout from this cell.
chain_name (string)
If scan cell, this is the chain name.
edge (string)
The trigger type of the clock port of the cell.
is_async (boolean)
True if the cell has unstable set/reset.
is_constrained (boolean)
True if the cell has load_unload or capture constraint.
is_disturbed (boolean)
True if the cell is load-disturbed. False when the cell is listed as load-stable in the report_
nonscan_cells command.
is_placement_valid (boolean)
True if the cell has physical placement data available.
is_slow (boolean)
True if the cell is a slow cell or the BIDI is slow BIDI.
scan_position (integer)
If scan cell, this is the scan cell position. Position 0 is closest to scanout port; -1 if invalid.
scan_type (string)
Scan type of the cell.
placement_left, placement_right, placement_top, placement_bottom (integer)
Valid if physical data has been read in. X location of left or right edge of the cell or Y
location of the top or bottom of the cell; -1 if invalid.
rotation (integer)
Valid if physical data has been read in. Counter-clockwise rotation value in degrees: 0, 90,
180, 270; -1 if invalid.
mirror_x (boolean)
Valid if physical data has been read in. True if the cell has been flipped along the X axis. Y
axis flip can be transformed with mirror_x and rotation combinations.
is_displayed (boolean)
True if this gate is displayed in the GSV.
get_cells 504
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
is_selected (boolean)
True if this gate is selected in the GSV (shown as red).
color (string)
Non-empty string if this gate is highlighted. If highlighted, this is the color name.
object_class (constant string: “cell”)
A constant string that indicates the class type of the object returned by get_cells.
Description
This command returns a collection of cell objects. This command is disabled when reading a secure image
file.
For more information, see "An Introduction to the TestMAX ATPG Tcl API."
Example
Use the following code to build a collection, called cell_col, of cell objects with names that contain the word
"add"; and to display the cell_name and cell_module_name attribute:
TEST-T> foreach_in_collection cell_col [get_cell -filter "cell_name=~*add*"]
{
set name [ get_attribute $cell_col cell_name]
set mod [get_attribute $cell_col cell_module_name]
puts "$name $mod"
}
add_24/U31 IVI
add_24/U27 ND2I
add_24/U26 IVI
add_24/U2 EOI
add_24/U15 ENI
add_24/U28 AN2I
add_24/U25 ND2I
add_24/U14 ND2I
add_24/U13 ENI
add_24/U24 IVI
add_24/U12 ENI
add_24/U29 AN2I
add_24/U23 ND2I
add_24/U11 ND2I
add_24/U10 ENI
add_24/U22 IVI
add_24/U9 ENI
get_cells 505
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_clocks
Overview
The get_clocks command creates a collection of clocks in the current design that match certain criteria.
Syntax
collection get_clocks
[-all]
[-regexp]
[-nocase]
[patterns]
list patterns
Arguments
-all
Returns all clocks.
-regexp
Views the patterns argument as real regular expressions rather than simple wildcard
patterns. This option applies only to the clock name.
-nocase
When combined with -regexp, makes matches case-insensitive. You can use -nocase
only when you also use -regexp.
patterns
Matches clock names against the specified patterns. Patterns can include the wildcard
characters "*" and "?".
Attributes
clock_id (int)
The ID of the clock.
clock_name (string)
Name of the clock.
disturbed_clocks (collection)
A pulse on this clock affects (disturbs) states established on elements by other clocks.
is_differential (boolean)
This clock is differential; there are two related signals for this clock.
is_internal (boolean)
This attribute is true if the clock is an internal clock; otherwise it is false. An internal clock
is defined by the commandadd_clocks -intclock or by the Internal keyword in the
ClockStructures block of the STL procedure file.
get_clocks 506
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
is_pll (boolean)
This attribute is true if the clock is a PLL clock; otherwise it is false. A PLL clock is defined
by the command add_clocks -pllclock or by the PLL keyword in the ClockStructures
block of the STL procedure file.
nonscan_connections (int)
Indicates the number of nonscan cell ports connected to this clock. The ports taken into
account are clock, set and reset ports. Cells with constrains, such as "constant values
cells" might not be counted here.
object_class (string)
Constant string "clocks."
off_state (string)
Off state of the clock.
parallel_clocks (collection)
A collection of parallel clocks in the clock matrix.
pll_pin_name (string)
Identifies the pin name of the clock if the is_pll attribute is true.
is_reference (boolean)
This attribute is true if the clock is a reference clock; otherwise it is false. A reference clock
is defined by the command add_clocks -refclock or by the Reference keyword in the
ClockStructures block of the STL procedure file.
scan_connections (int)
Indicates the number of scan cell ports connected to this clock. The ports taken into
account are clock, set and reset ports.
ungroupable_clocks (collection)
The set of clocks that cannot be pulsed together (in parallel) because they affect the state
of elements in common (disturb).
usage (string)
Indicates the functional usage of the clock.
Description
The get_clocks command creates a collection of clocks in the current design that match certain criteria.
The command returns a collection if any clocks match the patterns and pass the filter (if specified). If no objects
match the criteria, the empty string is returned.
You can use the get_clocks command at the command prompt, or you can nest it as an argument to
another command (for example, query_objects). In addition, you can assign the get_clocks command
result to a variable.
When issued from the command prompt, the get_clocks command behaves as though the query_
objectscommand had been called to display the objects in the collection.
By default, a maximum of 100 objects is displayed; you can change this maximum using the variable
collection_result_display_limit.
get_clocks 507
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The "implicit query" property of the get_clocks command provides a fast, simple way to display clocks in a
collection. However, if you want the flexibility provided by the query_objects command options (for
example, if you want to display the object class), use the get_clocks as an argument to the query_
objects command.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Example
TEST-T> get_clocks
See Also
all_clocks
report_clock
get_clocks 508
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_diag_files
Overview
This command returns a collection of objects for diagnosis files, which include the failure log files and the
patterns file.
Syntax
collection get_diag_files
-name file_name | -all
Arguments
-name file_name
Returns the diagnosis file object pertaining to the specified file name.
-all
Returns all diagnosis file objects.
Attributes
attr_file_name (string)
Sets user-defined attributes for a particular failure log file. You can then access the
specified string value using the Tcl API. For example, an attribute can describe the ATE
clock frequency or the pattern type used for testing a chip. You can then retrieve the string
using the attr_file_name attribute returned by the get_diag_files Tcl API command.
basic_first_pat_id (int)
ID of the first basic scan pattern.
basic_last_pat_id (int)
ID of the last basic scan pattern.
basic_total_offset (int)
Cycle offset for basic scan patterns.
chain_test_patterns (int)
Number of chain test patterns in the external pattern buffer.
checked_failures (int)
Number of failures that are checked for the expected value.
failing_patterns (int)
Number of failing patterns in the failure log file.
failure_memory_limit (int)
Value of the .failure_memory_limit directive.
fastseq_first_pat_id (int)
get_diag_files 509
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_diag_files 510
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command returns a collection of objects for diagnosis files, which include the failure log files and the
patterns file. The directives for each failure log file are also available.
This command is disabled when reading a secure image file.
For more information on the Tcl API, see "An Introduction to the TestMAX ATPG Tcl API."
get_diag_files 511
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_fanin
Overview
This command returns a collection of fanin pins.
Syntax
collection get_fanin
-to pin_name [-shift] [-test_setup]
Arguments
-to pin_name
Specifies the pin name to be used as the end point or sink for mapping/tracing. By default,
the get_fanin command prints all the PIs, PIOs and flip-flops that are driving this pin. You
can specify wildcard characters for specifying pin names, but not instance names. The
get_fanin command will report, one-by-one, all the sources for all the matching endpoint
pin names.
-shift
Outputs endpoints after the shift constraints are applied.
-test_setup
Outputs endpoints after applying the test_setup sequence.
Description
This command returns a collection of fanin pins
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_fanin
get_fanout
get_fanin 512
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_fanouts
Overview
This command returns a collection of fanout pins
Syntax
collection get_fanout
-from pin_name [-shift] [-test_setup]
Arguments
-from pin_name
Specifies the hierarchical pin name in the top-level netlist to be used as the starting point
for reporting fanout paths. Wildcard pin names are supported, although they do not apply
to instance names.
-shift
Outputs endpoints after the shift constraints are applied.
-test_setup
Outputs endpoints after applying the test_setup sequence.
Description
This command returns a collection of fanout pins
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_fanout
get_fanin
get_fanouts 513
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_faults
Overview
The get_faults command returns a collection of fault objects.
Syntax
collection get_faults
-filter <expression> | -pinpath <pinpath> | -all
Arguments
-filter <expression>
Filters the collection with the expression. For any fault objects that match patterns, the
expression is evaluated based on the fault objects's attributes. If the expression evaluates
to true, the fault object is included in the result.
-pinpath <pinpath>
Returns the fault object for the collapsed fault(s) associated with the specified hierarchical
pinpath.
-all
Returns all fault objects.
Attributes
pinpath (string)
Pinpath of the collapsed fault location if functional diagnosis was done.
pin (pin object)
Pin object of fault location, if functional diagnosis was done.
type (string)
For example, “sa0”, “stf".
equiv_faults (collection of fault objects)
Collection of un-collapsed fault object.
gate_id (int)
Gate ID of the cell where the fault is defined.
id (int)
ID of the fault.
module_name (string)
Module name of the cell where the fault is defined.
object_class (string) (constant string: “fault”)
A constant string that indicates the class type of the object returned by get_faults.
get_faults 514
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
class_behavior (string)
For example, “DS”, “AU”, “--”, “**”
Description
The get_faults command returns a collection of fault objects. There is a fault object per collapsed fault. If -
filter is used on a pinpath that is not the collapsed pinpath, no results are returned.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_faults
get_faults 515
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_instances
Overview
The get_instances command returns a collection of instances.
Syntax
collection get_instances -type <instance_type> | instance_name
Arguments
-type <instance_type>
Returns a collection of instance objects.
instance_name
Returns the instance object associated with the specified instance type.
Attributes
instance_name (string)
Name of the instance.
module_name (string)
Name of the module associated with the instance.
object_class (string)
Constant string "instances."
pins (collection)
Pins of this instance.
Description
The get_instances command returns a collection of instances.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_instances
get_instances 516
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_modules
Overview
This command returns a collection of module objects.
Syntax
collection get_modules -type type | module_name
Arguments
-type type
Returns the module object associated with the specified type.
module_name
The name of the module to return.
Attributes
box_type (string)
Returns the type of module (blackbox, emptybox and so forth)
instances (collection)
Instances associated with this module.
is_black_box (boolean)
True if this module is a black box.
is_defined (Boolean)
True if the module is defined.
is_empty_box (boolean)
True if this module is an empty module.
is_nobox (boolean)
True if the module is declared as NOBOX.
module_name (string)
Name of the module.
object_class (string)
Description
This command returns a collection of module objects.
You can use get_modules command with an image file if the -netlist_data option of the write_
image command is specified.
get_modules 517
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_modules
get_modules 518
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_patterns
Overview
The get_patterns command returns a collection of pattern objects.
Syntax
collection get_patterns
-pattern d | -filter <expression> | -all
Arguments
-pattern d
Return a collection of pattern objects with the specified pattern number (internal or
external buffer).
-filter <expression>
Filters the collection with the expression. For any pattern objects that match patterns, the
expression is evaluated based on the patterns object's attributes. If the expression
evaluates to true, the pattern object is included in the result.
-all
Returns all pattern objects.
Attributes
number (integer)
Pattern number, relative to the buffer.
is_internal (boolean)
True if in internal pattern buffer.
failing_gates (Cell object collection)
Collection of cells of either scan cells and/or POs where failure(s) occurred on the tester.
This data comes directly from the failure log file.
is_explained (boolean)
True if previous diagnosis run explained this pattern.
is_partial_explained (boolean)
True if multiple faults were required to explain all the failures of this pattern, or if only part
of the failures were explained by a fault.
is_tester_fail (boolean)
True if this pattern failed on the tester based on the failure log file.
explaining_candidates (fault candidate object collection)
get_patterns 519
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
After diagnosis, the list of fault candidates that explain this pattern.
object_class (constant string: “pattern”)
Description
The get_patterns command returns a collection of pattern objects.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_patterns
get_patterns 520
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_pins
Overview
The get_pins command creates a collection of pins in the current design, relative to the current instance,
that match certain criteria.
Syntax
collection get_pins [-filter expression] [-regexp] [-nocase]
[-hsc separator] [patterns]
string expression
list patterns
Arguments
-filter expression
Filters the collection with expression. For any pins that match patterns (or objects), the
expression is evaluated based on the pin's attributes. If the expression evaluates to true,
the pin is included in the result. Note that this option cannot be specified at the same time
as the patterns argument.
-regexp
Views the patterns argument as real regular expressions rather than simple wildcard
patterns. This option applies only to the pin name. You cannot use the -filter and -
regexp options at the same time.
-nocase
When combined with -regexp, makes matches case-insensitive. You can use -nocase
only when you also use -regexp.
-hsc separator
Separator character. The default is /. Valid values are : /, @, ^, #, ., |
patterns
Matches pin names against patterns. Patterns can include the wildcard characters "*" and
"?" or regular expressions, based on the -regexp option.
Attributes
pin_pathname (string)
Hierarchical pinpath to this pin.
gate_id (integer)
Gate ID of the primitive to which this pin belongs.
gate (cell object collection)
Cell object of primitive to which this pin belongs.
get_pins 521
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
pin_id (integer)
0 is the output.
direction (string)
IN or OUT.
net_name (string)
The net name connected to this pin.
net_weight (float)
Weight assigned to this pinpath; -1 if invalid.
pin_data (string)
Selected by set_pindata. Data values shown in OLH “Understanding Pin Data”.
constraint_data (string)
Constrain value of pin; 0, 1, X, Z.
location_x (integer)
Valid if physical data has been read in. X location of a vertex of the pin; -1 if invalid.
location_y (integer)
Valid if physical data has been read in; X location of a vertex of the pin; -1 if invalid.
layer (string)
Valid if physical data has been read in. Layer name where the pin is located physically.
is_clock (boolean)
True if this pin a clock pin.
is_inverted (boolean)
True if there is an inversion at the gate input (as represented by a '!' symbol in report_
primitive command). It is false if there is not inversion at the input gate. The output pin
of gate always returns "false".
is_scanin (boolean)
True if this pin is a scan in pin.
is_scanout (boolean)
True if this pin a scan out pin.
object_class (constant string)
Constant string "pins."
Description
The get_pins command creates a collection of pins in the current design, relative to the current instance,
that match certain criteria. The command returns a collection if any pins match the patterns or objects and
pass the filter (if specified). If no objects match the criteria, the empty string is returned.
Regular expression matching is the same as in the Tcl regexp command. When using the -regexp option,
take care in the way you quote the patterns and filter expression; use rigid quoting with curly braces around
get_pins 522
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
regular expressions. Regular expressions are always anchored; that is, the expression is assumed to begin
matching at the beginning of an object name and end matching at the end of an object name. You can widen
the search simply by adding ".*" to the beginning or end of the expressions as needed.
You can use the get_pins command at the command prompt, or you can nest it as an argument to another
command (for example, query_objects). In addition, you can assign the get_pins command result to a
variable.
When issued from the command prompt, the get_pins command behaves as though the query_objects
command has been called to display the objects in the collection. By default, a maximum of 10 objects are
displayed.
The "implicit query" property of the get_pins command provides a fast, simple way to display cells in a
collection. However, if you want the flexibility provided by the query_objects command options (for
example, if you want to display the object class), use the get_pins command as an argument to the query_
objects command.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Example
The following example queries the 'CP' pins of cells that begin with 'o'. Although the output looks like a list, it is
just a display.
TEST-T> get_pins o*/CP
{"o_reg1/CP", "o_reg2/CP", "o_reg3/CP", "o_reg4/CP"}
The following example shows that given a collection of cells, you can query the pins connected to those cells.
TEST-T> set csel [get_cells o_reg1]
{"o_reg1"}
The following example shows how to create a clock using a collection of pins.
TEST-T> create_clock -period 8 -name CLK [get_pins o_reg*/CP]
1
See Also
get_cells
get_pins 523
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_ports
Overview
The get_ports command creates a collection of ports in the current design that match certain criteria.
Syntax
collection get_ports [-regexp] [-nocase]
[patterns]
list patterns
Arguments
-regexp
Views the patterns argument as real regular expressions rather than simple wildcard
patterns. This option applies only to the port name.
-nocase
When combined with the -regexp option, makes matches case-insensitive. You can use -
nocase only when you also use -regexp.
patterns
Matches port names against patterns. Patterns can include the wildcard characters "*" and
"?" or regular expressions, based on the -regexp option. Patterns can also include
collections of type port.
Attributes
Port name
Object class
Transitive fanin
Sequential cells and inputs in fanin of the port.
Transitive fanout
Sequential cells and outputs in fanout of the port.
Description
The get_ports command creates a collection of ports in the current design that match certain criteria. The
command returns a collection if any ports match the patterns and pass the filter (if specified). If no objects
match the criteria, the empty string is returned.
Regular expression matching is the same as in the Tcl regexp command. When using -regexp, be careful
in the way you quote the patterns and filter expression; use rigid quoting with curly braces around regular
get_ports 524
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
expressions. Regular expressions are always anchored; that is, the expression is assumed to begin matching
at the beginning of an object name and end matching at the end of an object name. You can widen the search
simply by adding ".*" to the beginning or end of the expressions as needed.
You can use the get_ports command at the command prompt, or you can nest it as an argument to another
command (for example, query_objects). In addition, you can assign the get_ports command result to
a variable.
When issued from the command prompt, the get_ports command behaves as though the query_
objects command has been called to display the objects in the collection. By default, a maximum of 10
objects are displayed..
The "implicit query" property of the get_ports command provides a fast, simple way to display cells in a
collection. However, if you want the flexibility provided by the query_objects command options (for
example, if you want to display the object class), use the get_ports command as an argument to the
query_objects command.
For information about collections and the querying of objects, see the collections man page. In addition, refer
to the man pages for the all_inputs and all_outputscommands, which also create collections of ports.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Example
The following example queries all input ports beginning with 'mode'. Although the output looks like a list, it is
just a display.
TEST-T> get_ports "mode*"
{"mode[0]", "mode[1]", "mode[2]"}
The following example sets the driving cell for ports beginning with "in" to an FD2.
TEST-T> set_driving_cell -cell FD2 -library my_lib [get_ports in*]
See Also
all_inputs
all_outputs
get_ports 525
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_primitive
Overview
The get_primitive command returns a collection of primitive objects.
Syntax
collection get_primitive
<primitive_id>
Arguments
<primitive_id>
Returns a collection of primitive objects corresponding to the specified primitive ID. Note
that only a single ID can be specified.
Attributes
cell_id (integer)
The primitive cell's ID.
cell_type (string)
Primitive type of this cell.
primitive_name (string)
Primitive ID.
cell_name (string)
Instance name of the parent library cell of this primitive.
cell_module_name (string)
Cell’s module name
is_scan (boolean)
True if this cell is a scan cell.
is_masked (boolean)
True if this cell is masked by add capture masks or set rules -mask. Valid for DFF or
DLAT primitives.
load_unload_constraint (string)
For example, "X". PI constraint from STL procedure file from the load_unload constraint.
capture_constraint (string)
For example,"OX". ATPG, PI, cell constraint or constraint in capture procedure in STL
procedure file. Same format as add cell_constraints, add atpg constraints, or add
pi constraints. Cell constraints are valid for DFF, DLAT primitives. PI constraints are
valid for PI primitives.
get_primitive 526
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
nonscan_behavior (string)
For example, "C0", "TLA". Data as it appears on report nonscan cells output.
pins (pin object collection)
A collection of pin objects. If the primitive belongs to a library cell that consists of several
primitives -- for example, a MUX of a muxed scan flip-flop -- the pins collection represents
the internal node of a library cell. This is different than the collection returned by the
command get_cells -id d for the same gate ID. In the case of get_cells, the pin
collection contains the external pins of the parent library cell.
is_clock (boolean)
True if this is a PI primitive that is a clock.
module_weight (float)
Weight assigned to library cell.
fanin_gates (cell object collection)
Collection of cells that immediately fanin to this cell. 1:1 with input_pins.
fanout_gates (cell object collection)
Collection of cells that immediately fanout from this cell.
chain_name (string)
If scan cell, this is the chain name.
edge (string)
The trigger type of the clock port of the cell.
is_async (boolean)
True if the cell has unstable set/reset.
is_constrained (boolean)
True if the cell has load_unload or capture constraint.
is_distrubed (boolean)
True if the cell has unstable set/reset.
is_placement_valid (boolean)
True if the cell has physical placement data available.
is_slow (boolean)
True if the cell is slow cell or bidi is slow bidi.
scan_position (integer)
If scan cell, this is the scan cell position. Position 0 is closest to scanout port; -1 if invalid.
scan_type (string)
Scan type of the cell.
placement_left, placement_right, placement_top, placement_bottom (integer)
get_primitive 527
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Valid if physical data has been read in. X location of left or right edge of the cell or Y
location of the top or bottom of the cell; -1 if invalid.
rotation (integer)
Valid if physical data has been read in. Counter-clockwise rotation value in degrees: 0, 90,
180, 270; -1 if invalid.
mirror_x (boolean)
Valid if physical data has been read in. True if the cell has been flipped along the X axis. Y
axis flip can be transformed with mirror_x and rotation combinations.
is_displayed (boolean)
True if this gate is displayed in the GSV.
is_selected (boolean)
True if this gate is selected in the GSV (shown as red).
color (string)
Non-empty string if this gate is highlighted. If highlighted, this is the color name.
object_class (constant string: “cell”)
A constant string that indicates the class type of the object returned by get_cells.
Description
The get_primitive command returns a collection of primitive objects. The attributes of a primitive object
are primarily the same as those for a cell object. The main difference is in the pin collection. If the primitive
belongs to a library cell that consists of several primitives -- for example, a MUX of a muxed scan flip-flop -- the
pin collection represents the internal node of a library cell. The collection returned by the get_cells
command for the same gate ID contains the external pins of the parent library cell.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
Example
If the primitive is the MUX of a muxed scan flip-flop, then its output is connected to an internal node which is an
input of a DFF primitive. An example of the report_primitive command for this ID is as follows:
TEST-T> report_primitive 547
U_TOP/PrimCntr/Incr/i_Reg0 (547) MUX (YDFFX1)
SE I 54-SE
D I 421- U_TOP/PrimCntr/Incr/U23/Y
SI I 76-SI
--- O 832-
The pin collection of this primitive is as follows:
foreach_in_collection prim [get_primitive 547] {
foreach_in_collection pin [get_attribute $prim pins] {
puts "pin: [get_attribute $pin pin_pathname]"
puts "dir: [get_attribute $pin direction]"
}
}
get_primitive 528
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
pin: U_TOP/PgCntr/Incr/i_Reg0/
dir: OUT
pin: U_TOP/PgCntr/Incr/i_Reg0/SE
dir: IN
pin: U_TOP/PgCntr/Incr/i_Reg0/D
dir: IN
pin: U_TOP/PgCntr/Incr/i_Reg0/SI
dir: IN
get_primitive 529
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_scan_chains
Overview
The get_scan_chains command returns a collection of scan chain objects associated with the specified
chain_name.
Syntax
collection get_scan_chains chain_name | -all
Arguments
chain_name
Specifies the name of the chain_name to return.
-all
Returns all scanchain objects.
Attributes
chain_name (string)
Name of scan chain.
clock_names (string)
List of all clocks associated with Master and other cells in the scan chain.
group_name (string)
Group name associated with the chain.
input_pin (string)
Name of input pin.
length (int)
Length of the scan chain.
object_class (string)
Constant string "ScanChain".
output_pin (string)
Name of output pin.
Description
The get_scan_chains command returns a collection of scan chain objects associated with the specified
chain_name.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
get_scan_chains 530
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
report_scan_chains
get_scan_chains 531
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_settings
Overview
The get_settings command returns a collection of setting objects associated with either DRC or delay
settings.
Syntax
collection get_settings drc | delay
Arguments
drc
Returns DRC settings.
delay
Returns delay settings.
Attributes
command_type (string)
Name of the command setting.
object_class (string)
Indicates the class type of the object: Setting.
setting_name (string)
Indicates the name of the setting name: drc or delay.
value (string)
Value of the command setting.
Description
The get_settings command returns a collection of setting objects associated with either DRC or delay
settings.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
See Also
report_settings
get_settings 532
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
get_timing
Overview
The get_timing command returns a collection of timing objects associated with the argument
specifications.
Syntax
collection get_timing -proc <proc_name> | -wft <wft_name> | port_name
Arguments
-proc <proc_name>
Returns the timing on a specified procedure.
-wft <wft_name>
Returns the timing on a waveform table.
port_name
Returns the timing base on the specified port name.
Attributes
clkoff_time (int)
Clock off time for the clock.
clkon_time (int)
Clock on time for the clock.
force_time (int)
The earliest input (drive) event time across all PIs of the design for the primary capture
cycle behavior.
is_clock (boolean)
True if the signal is clocked.
measure_time (int)
The latest output (measure) event time across all Pos of the design for the primary capture
cycle behavior.
object_class (string)
Constant string "timing."
period (int)
Period of the clock.
waveform_table (string)
Waveform table for the clock.
get_timing 533
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
The get_timing command returns a collection of timing objects associated with the argument
specifications.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, please see "An Introduction to the TestMAX ATPG Tcl API."
get_timing 534
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
list_attributes
Overview
This command displays an alphabetically sorted list of currently defined attributes.
Syntax
list list_attributes
[-application]
[-class class_name]
[-nosplit]
Arguments
-application
Lists the application attributes.
-class class_name
Lists only attributes of the class_name, which can be any of the following: Clock,
ScanChains, Cell, Primitive, Pin, Port, Modules, Instances, Timings, Settings, Faults,
Patterns, Candidates, DiagFile.
-nosplit
Prevents split lines when columns overflow.
Description
This command displays an alphabetically sorted list of currently defined attributes. The attributes are divided
into two categories: application defined and user-defined. By default, the list_attributes command lists
all user-defined attributes.
Using the -application option adds all the application attributes to the listing. Since there are many
application attributes, you can limit the listing to a specific object class using the -class option.
Examples
The following example lists only those attributes of the class clock:
list_attributes 535
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
list_attributes 536
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
remove_display_procs
Overview
This command removes all Tcl procedures or a specific Tcl procedure that was previously defined using the
add_display_proc command.
Syntax
remove_display_proc -all | proc_name
Arguments
-all
Removes all previously registered procedures or commands.
proc_name
Specifies the name of the procedure or command to be removed.
Description
This command removes all Tcl procedures or a specific Tcl procedure that was previously defined using the
add_display_proc command.
If the procedure was not previously registered, the following warning message is issued:
Error: No command or proc named " name" is found."
The GSV is then notified of the deletion of the menu item if it was previously registered.
This command is disabled when reading a secure image file. It is not yet possible for the secure image writer
to enable this command as secure.
For more information, see "An Introduction to the TestMAX ATPG Tcl API."
See Also
add_display_proc
remove_display_procs 537
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Update Commands
This section describes the following commands:
l update_clock
l update_faults
l update_scale
l update_streaming_patterns
l update_wft
remove_display_procs 538
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_clock
Overview
This command is used to change the pulse timing of a specific clock in a specific named WaveformTable.
Syntax
update_clock
-wft {list_of_wft_names}
-clock {list_of_clock_names}
[-pulse {integer integer}]
[-unit <ps|ns>]
Arguments
-wft {list_of_wft_names}
Specifies the required name or list of the specific WaveformTable(s) you want to modify. At
least one -wft option must be provided. You may specify a list of names if you want to
change a list of WaveformTables with a single command. For more information, see
"Specifying Lists in Tcl Mode."
-clock {list_of_clock_names}
Specifies the required name of the clock signal or group of clock signals to be modified. At
least one -clock specification must be provided. You may specify a list of clock names to
change a set of clocks with a single command. The name specified by the -clock option
must match the name used in the WaveformTable definition; aliases or groups containing a
named clock will not be modified unless the group name as defined in the WaveformTable
is used in the update_clock command.
-pulse {integer integer}
Specifies the timing for the leading edge and trailing edge of the specified clock pulse.
-unit <ps|ns>
Identifies the unit for specified all time values.
Description
This command is used to change the pulse timing of a specific clock in a specific named WaveformTable. It can
be used only after the read_drc command. All optional parameters not otherwise specified in this command
will remain at existing values. The time values specified by this command, scaled based the specified unit
value, are modified to fit within the current scale of the WaveformTable being changed. If the units are not
specified, then the values are treated relative to the current scale of the WaveformTable being changed.
Changes made by this command will only be saved, and usable, if the write_drc command is specifed after
this command and then the run_drc command is specified with the newly generated file. All
WaveformTables across all present Timing blocks that also match the set of -wft names specified by this
command are modified. There is no wildcard support for name matching.
When the update_clock command is finished, a statement identifying the number of WaveformTables
referenced for modification is displayed. Not all the referenced WaveformTables can be modified if the
WaveformTables do not contain constructs pertinent to the requested modification.
update_clock 539
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
a specific sequence of commands is required to modify the timing data in an existing STIL procedure file.
Example
See Also
update_wft
update_scale
update_clock 540
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_faults
Overview
This command updates fault parameters controlled by the fault manager.
Syntax
update_faults
[-direct_credit]
[-external file_name]
[-reset_au]
Arguments
-direct_credit
Enables direct fault crediting for the following fault models:
Dynamic bridging (victim only) faults to transition delay faults
Dynamic bridging faults to static bridging faults
Dynamic bridging (victim only), static bridging (victim only), and transition delay faults to stuck-at faults
Depending on the current fault model, the appropriate source fault model is selected from
the cache, if it exists. If not, you must also specify the -external option.
For more information, see "Persistent Fault Model Support " in the TestMAX ATPG User
Guide.
-external file_name
This option, which is used with the -direct_credit option, specifies a transition, bridging,
or dynamic bridging fault list (file_name). For more information, see "Persistent Fault
Model Support " in the TestMAX ATPG User Guide.
-reset_au
Resets the fault classification of the faults in the AN (ATPG Untestable Not-Detected) and
AX (ATPG Untestable Timing Exceptions) fault categories to ND (not detected). This allows
further ATPG effort to be applied in an attempt to detect these faults.
Description
This command updates fault parameters controlled by the fault manager.
Examples
TEST-T> update_faults -direct_credit
1544361 stuck-at faults were changed to DS from the inactive transition
fault list.
0 stuck-at faults were changed to DI from the inactive transition fault
list.
387 stuck-at faults were changed to NP from the inactive transition fault
list.
13062 inactive transition faults were not found in the stuck-at fault
list.
update_faults 541
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
TEST-T> report_summaries
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------ ---- ---------
Detected DT 27161
Possibly detected PT 3515
Undetectable UD 1634
ATPG untestable AU 10044
Not detected ND 124151
-----------------------------------------------
total faults 166505
test coverage 17.26%
-----------------------------------------------
See Also
add_faults
add_nofaults
read_faults
report_faults
remove_faults
set_faults
Table Column Outside Table:
update_faults 542
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_scale
Overview
This command is used only after specifying a read_drc command.
Syntax
update_scale
-wft {list_of_wft_names}
-unit <ps|ns>
Arguments
-wft {list_of_wft_names}
Specifies the required name or list of the specific WaveformTable(s) you want to modify. At
least one -wft option must be provided. You may specify a list of names if you want to
change a list of WaveformTables with a single command. For more information, see
"Specifying Lists in Tcl Mode."
-unit <ps|ns>
Identifies the new scale value for all time values contained in the WaveformTable.
Description
This command is used only after specifying a read_drc command. All time values present in a
WaveformTable that match a specified name are rescaled with this command and will represent the same
time value but is relative to the new scale value. If the existing scale in a specified WaveformTable, and the -
unit value on this command are the same (for example, update_scale -unit ps, and the
WaveformTable is already in ps units), then the WaveformTable is not changed. If the WaveformTable scale is
increased (for example, it was ps in the WaveformTable, and this command requests ns), then time values
present in the Waveform Table can be truncated as necessary. An M408 message is generated in this
situation.
All time values in a modified WaveformTable will have the same units after specifying this command.
Changes made with the update commands will only be saved, and usable, if the write_drc command is
specified after these commands, and then run_drc is specified with the newly generated file. All
WaveformTables across all Timing blocks that might be present and that match the set of names specified by
this command is modified. There is no wildcard support for name-matching.
When this command is finished processing, a statement identifying the number of WaveformTables
referenced for modification is displayed. The WaveformTables might not have been modified; this information
identifies how many WaveformTables were processed.
A specific sequence of commands is required to modify the timing data in an existing STIL procedure file.
See Also
update_clock
update_wft
update_scale 543
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_streaming_patterns
Overview
This command modifies, removes, reorders, or optimizes patterns for designs that use DFTMAX Ultra
architectures.
Syntax
update_streaming_patterns
[-load_scan_in {scan_pin_name1 value1 scan_pin_name2 value2}]
[-insert {pattern_num insert_at_pattern_num}]
[-max_shifts shift_length]
[-remove_padding_patterns]
[-remove {pattern_numpattern_num}]
[-virtual_head_pipelines <head_value | tail_value>]
Arguments
-load_scan_in {scan_pin_name1 value1 scan_pin_name2 value2}
Causes the specified scan-in pins to maintain a constant value during the shift operations
so you can control the peak and average power during shifting. For example, if you specify
a value of 0 for the test1 scan-in pin, the pattern is modified so that all test1 pins maintain
a constant 0 value during load shifting.
You can specify values for as many scan-in pins as required using Tcl list syntax. This
option reduces overall power consumption during shifting, and it can be used for both
internal and external patterns. However, this option also causes some coverage loss and
simulation mismatches might occur if you specify scan-in pins connected to on-chip
clocking (OCC) chains. For more information on using this option, see "Controlling the Peak
and Average Power During Shifting."
-insert {pattern_num insert_at_pattern_num}
Use this option with the -remove option to remove patterns and reinsert them at a
different location in the pattern set.
For each pattern number or block provided in the removal list, you must specify the pattern
number where the removed patterns should be reinserted in the insertion list. You can
specify blocks of patterns by providing the first and last pattern numbers of the block as a
sublist inside the pattern removal list. For removed patterns that you not want reinserted,
specify an insertion pattern value of X.
For example, the following command removes pattern 3 and reinserts patterns 4 through 6
at pattern 0:
update_streaming_patterns -remove {3 {4 6}} -insert {X 0}
For complete information on using the -insert option, see "Removing and Reordering
Patterns."
-max_shifts shift_length
Specifies the maximum shift length, which enables you to increase the size of internal and
external patterns from the optimal value set by TestMAX ATPG. You can use this option
update_streaming_patterns 544
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
before an ATPG run so the generated patterns use the specified shift length or you can
apply it to external patterns. This option prevents overshifting and makes the pattern shift
lengths equal across different blocks, which assures correct pattern porting.
You can apply this option in one session to increase the shift length of the patterns, and
use these same patterns in another session by writing and reading them back in. For
subsequent sessions, make sure you first set the pattern shift length to the same value set
in previous session. Otherwise, you will see errors and simulation mismatches. For
complete information on the flow for using this option, see "Increasing the Maximum Shift
Length of Patterns."
-remove {pattern_num pattern_num}
Removes individual patterns or blocks of patterns. To remove one or more patterns,
specify a list of pattern numbers. You can use this option with the -insert option to
reorder patterns.
For complete information on using this option, see "Removing and Reordering Patterns."
-remove_padding_patterns
Performs padding pattern optimization by deleting all padding patterns, except for the first
and last padding patterns. Use the following commands to apply padding pattern
optimization to an internal pattern set generated by ATPG:
run_atpg ...
update_streaming_patterns –remove_paddding_patterns
write_patterns ...
Use the following commands to apply padding pattern optimization to an external pattern
set:
set_patterns -external stil_file_name
update_streaming_patterns –remove_padding_patterns
write_patterns ...
For more information on using this option, see "Optimizing Padding Patterns."
-virtual_head_pipelines <head_value | tail_value>
DFTMAX Ultra can stretch the pattern file with pipeline bits to match the top-level
architecture. This option translates the core-level patterns to match the actual top-level
pattern pipeline structure and ATE log file. The head_value parameter or tail_value
parameters align longer top-level patterns to the top-level ATE log when running
diagnostics on a block-level database.
Description
This command modifies, removes, reorders, or optimizes patterns for designs that use DFTMAX Ultra
architectures. It does not support codec configurations. For complete information on using this command, see
"Manipulating Patterns for DFTMAX Ultra."
Examples
TEST-T> update_streaming_patterns -load_scan_in \
{test_si1 0 test_si3 1}
update_streaming_patterns 545
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_streaming_patterns 546
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
update_wft
Overview
This command is used to change any of the period, force-event timing, or measure-event timing parameters
within a specific named WaveformTable.
Syntax
update_wft
-wft {list_of_wft_names}
[-period integer]
[-force integer]
[-strobe integer]
[-unit <ps|ns>]
Arguments
-wft {list_of_wft_names}
Specifies the required name or list of the specific WaveformTable(s) you want to modify. At
least one -wft option must be provided. You may specify a list of names if you want to
change a list of WaveformTables with a single command. For more information, see
"Specifying Lists in Tcl Mode."
-period integer
Specifies the value for the period of the specified WaveformTable.
-force integer
Specifies the timing offset value to drive all inputs and bidirectionals. The specified value is
applied to all 0, 1, N, and Z waveforms to define the assert time of the drive edge for these
waveforms across all signals that have these waveforms defined (in the affected
WaveformTables).
-strobe integer
Specifies the measure time for all outputs and bidirectionals. The specified value is applied
across all H, L, T, and X waveforms to define the measure-strobe time for these waveforms
across all signals that have these waveforms defined (in the affected WaveformTables).
-unit <ps|ns>
Identifies the unit for all specified time values.
Description
This command is used to change any of the period, force-event timing, or measure-event timing parameters
within a specific named WaveformTable. It can be used only after the read_drc command. All optional
parameters not otherwise specified in this command will remain at existing values. The time values specified
by this command, scaled based the specified unit value, is modified to fit within the current scale of the
WaveformTable being changed. If the units are not specified, then the values are treated relative to the current
scale of the WaveformTable being changed.
Changes made by this command will only be saved, and usable, if the write_drc command is specifed after
this command and then the run_drc command is specified with the newly generated file. All
update_wft 547
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
WaveformTables across all present Timing blocks that also match the set of -wft names specified by this
command are modified. There is no wildcard support for name matching.
When the update_wft command is finished, a statement identifying the number of WaveformTables
referenced for modification is displayed. Not all the referenced WaveformTables can be modified if the
WaveformTables do not contain constructs pertinent to the requested modification.
a specific sequence of commands is required to modify the timing data in an existing STIL procedure file.
Example
See Also
update_clock
update_scale
update_wft 548
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Write Commands
This section describes the following commands:
l write_drc_file
l write_faults
l write_image
l write_netlist
l write_patterns
l write_physical_db
l write_simtrace
l write_testbench
l write_ydf
update_wft 549
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_drc_file
Overview
Use this command to write a test protocol file in STIL format based on the currently defined clocks, PI
constraints, PI equivalences, pin timing, and known STIL procedure files or protocol files.
Syntax
write_drc_file
filename
[-compress <gzip | binary>]
[-generic_captures | -nogeneric_captures]
[-master_observe_generation | -nomaster_observe_generation]
[-replace]
[-scancells]
[-scanstructures <all | min>]
Arguments
filename
Specifies the path name of the file into which the test protocol data is written.
-compress <gzip | binary>
Specifies that the test protocol file is to be written in compressed format and specifies the
type of compression: either GZIP or binary. The binary keyword creates a proprietary
format that can be read only by TestMAX ATPG. The default is to write the file in ASCII STIL
format with no compression.
-generic_captures | -nogeneric_captures
Writes single-cycle generic capture procedures (multiclock_capture, allclock_capture,
allclock_launch, and allclock_launch_capture) into the output file. The default is -
generic_captures; use the -nogeneric_captures option to get the previous behavior.
When the -generic_captures option is used, the default-generated procedures are
suppressed (capture_<clockname> will not be produced if they were not defined), but any
explicitly defined clocked capture procedure from a prior run_drc command will still be
written out. The unclocked capture procedure will not be written when this option is used.
Also the default timing produced is written to be compatible with single-cycle capture
procedures (a Z event is produced by default for the measure events H, L, T, and X, at time
zero) when this option is used. If the default timing is defined, only one Waveformtable is
generated from this option, and all procedures will reference that same timing. If you want
multiple WaveformTables to be created ("_launch_WFT_", "_capture_WFT_", and "_
launch_capture_WFT_"), then use the command set_faults -model transition or
set_faults -model path_delay before the write_drc_file command to identify that
the data should be generated to cover this mode of operation. Note that the WGL format
does not support 3-cycle generic capture procedures, and third-party (ltran) formats also
might have restrictions.
-master_observe_generation | -nomaster_observe_generation
write_drc_file 550
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Controls whether a default master_observe procedure is written into the output file. This
procedure is generated only if slave clocks are detected and no master_observe procedure
was defined. Note that the master_observe procedure is intended to be a template and will
likely require manual edits to complete this definition. The default, -master_observe_
generation, provides this template if the context indicates it might be useful. If you don't
want additions to the set of STL procedure file procedures, you can select -nomaster_
observe_generation to suppress the generation of this template.
-replace
Specifies that the test protocol file is allowed to replace an existing file. The default is to
not allow a replacement. Attempting to overwrite an existing file without using -replace
results in an error.
-scancells
Causes the test protocol file to include information describing each scan chain and the
instances of each scan chain. The default is not to include this information. Note: The -
scancells option does not affect scan cells on internal chains.
-scanstructures <all | min>
Controls the generation of scan chain data in the ScanStructures block of a STIL file. The
default setting, all, generates all supported fields for all applicable scan chain data. If you
specify the min keyword, the scan chain data is truncated for compressed designs that
reference internal scan input or scan output ports (internal scan chains). This protects the
identification of internal design elements.
The following set of examples shows how the -scanstructures option affects the
contents of a generated STIL file. The first example shows the scan chain data using the
default setting (-scanstructures all):
ScanChain "1" {
ScanLength 11;
ScanIn "core_i/ctl/U199/ZN";
ScanOut "core_i/ctl/ctl_de_reg_2_/Q";
ScanInversion 1;
ScanCells ! "des_unit.core_i.ctl.ctl_dd_reg_0_.SI" "des_unit.core_
i.ctl.ctl_dd_reg_1_.SI"
"des_unit.core_i.ctl.ctl_dd_reg_2_.SI" "des_unit.core_i.ctl.ctl_dd_reg_
3_.SI"
...
"des_unit.core_i.ctl.ctl_de_reg_0_.SI" "des_unit.core_i.ctl.ctl_de_reg_
1_.SI"
"des_unit.core_i.ctl.ctl_de_reg_2_.SI" ;
ScanMasterClock "clk_st" ;
}
ScanChain "2" {
ScanLength 11;
ScanIn "core_i/ctl/U198/ZN";
ScanOut "core_i/ctl/key_dd_reg_5_/Q";
ScanInversion 1;
ScanCells ! "des_unit.core_i.ctl.ctl_de_reg_3_.SI" "des_unit.core_
i.ctl.ctl_de_reg_4_.SI"
"des_unit.core_i.ctl.ctl_de_reg_5_.SI" "des_unit.core_i.ctl.ctl_de_reg_
write_drc_file 551
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
6_.SI"
...
"des_unit.core_i.ctl.key_dd_reg_5_.SI" ;
ScanMasterClock "clk_st" ;
}
If the -scanstructures min option is specified, the generated scan chain data is
truncated, as shown in the following example:
ScanChain "1" { }
ScanChain "2" { }
Note the following:
All ScanIn and ScanOut references in the Signals group that identify pseudo signals are also removed.
The -scanstructures min option conflicts with parallel simulation requirements, and is disabled if
parallel simulation options are set. In this case, an M479 message is reported.
If you are using a mixture of design styles, and want to remove internal names, you should specify both the -
scanstructures min and -nointernal_scancells options.
Description
Use this command to write a test protocol file in STIL format based on the currently defined clocks, PI
constraints, PI equivalences, pin timing, and known STIL procedure files or protocol files.
A specific sequence of commands is required to modify the timing data in an existing STIL procedure file.
Examples
DRC> read_netlist i22.v -delete
Begin reading netlist ( i22.v )...
End parsing Verilog file i22.v with 0 errors;
End reading netlist: #modules=8, top=i22, #lines=61
DRC> run_build_model
--------------------------------------------------------
Begin build model process on topcut = i22 ...
End build model process: #gates=150, CPU_time=0.01 sec
--------------------------------------------------------
Begin learning analyses...
End learning analyses, total learning CPU time=0.02
--------------------------------------------------------
DRC> add_clocks 0 CLK
DRC> add_clocks 1 RSTB
DRC> write_drc_file template.spf -replace
End writing STIL test procedure file, File_size = 2140
DRC>
write_drc_file 552
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_drc_file 553
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
capture_CLK {
W _default_WFT_;
forcePI: V { _pi=\r13 # ; _po=\j \r9 X ; }
measurePO: V { _po=\r9 # ; }
pulse: V { CLK=P; _po=\j \r9 X ; }
}
capture_RSTB {
W _default_WFT_;
forcePI: V { _pi=\r13 # ; _po=\j \r9 X ; }
measurePO: V { _po=\r9 # ; }
pulse: V { RSTB=P; _po=\j \r9 X ; }
}
capture {
W _default_WFT_;
forcePI: V { _pi=\r13 # ; _po=\j \r9 X ; }
measurePO: V { _po=\r9 # ; }
}
See Also
add_clocks
add_scan_chains
add_scan_enables
Controlling Bidirectional Pins in STIL
Defining Circuit Initialization in STIL
Declaring Clocks
write_drc_file 554
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_drc_file 555
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_faults
Overview
Use this command to write fault data to an external file.
Syntax
write_faults
filename [ instance_name | pin_pathname]
[-stuck <0|1|01> | -slow <r|f|rf>] |
[-class fault_class... | -summary | -all >
[-collapsed | -uncollapsed]
[-compress <gzip | binary>]
[-profile] [-max d] [-replace]
Arguments
filename
Specifies the pathname and file to which the fault data is written.
instance_name
Specifies that faults associated with the selected instance name are written.
pin_pathname [-stuck <0|1|01> | -slow <r|f|rf>]
Selects faults associated with the specified pin pathname for writing. You can use the -
stuck option to write only the stuck-at-1 or stuck-at-0 faults associated with the specified
pin pathname, or both; or use the -slow option to write the slow-to-rise, slow-to-fall, or
both to the specified file.
-class fault_class
Specifies that only faults associated with the specified fault class should be written.
Multiple occurrences of -class can be used, and this option can also be combined with an
instance_name.
Note for Tcl mode: See the following example.
-summary
Writes a fault summary (rather than a fault list) to the file.
-all
Specifies that all fault classes in the current fault are selected for writing.
-collapsed | -uncollapsed
Selects whether the fault list written will show collapsed or uncollapsed faults. The default
is the current setting as specified with the set_faults command. When -uncollapsed is
selected or is the current setting of set faults, the equivalent faults follow the primary fault
and are indicated by a double dash "--". This behavior can be adjusted with the set faults
command.
-compress <gzip | binary>
write_faults 556
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Specifies that the output file is to be written in compressed format and specifies the type of
compression: GZIP or binary. The binary keyword creates a proprietary format that can
be read only by TestMAX ATPG. The default is to write the file with no compression.
-profile
Selects a report of the number of faults detected per pattern in the external pattern set.
The pattern set must be external and a prior run_fault_sim -sequential command
must have been run. This option is primarily useful for fault grading of functional patterns.
It creates report showing the pattern number and the number of new faults detected as
well as the total cumulative detected faults. The set_faults -report command
determines whether fault reporting is in terms of collapsed or uncollapsed faults. Patterns
that do not detect faults are not printed in the report.
-max d
Specifies the maximum number of faults that are written. The default is to write all
selected faults.
-replace
Indicates that the fault file is allowed to replace an existing file. The default is to not allow a
replacement.
Description
Use this command to write fault data to an external file. These faults can then be read back in as the source of
a future fault list.
The fault list written can be a collapsed or uncollapsed list of faults. You can select the type of fault list by
using the set_faults command or by explicitly specifying the type in the write_faults command. The
uncollapsed list of faults includes the primary faults as well as faults equivalent to them. Equivalent faults are
indicated by a fault class of "--" and always immediately follow the fault that they are equivalent to.
Examples
Tcl mode:
TEST-T > write_faults ud.au_tcl-test.flt -class {UD AU ND} -replace
Native mode:
TEST> set fault -report uncollapsed
TEST> write fault fault.summary -summary
TEST> write fault faults.all -all -replace
TEST> write faults faults.AU -class au -replace
TEST> wr fa faults.detected -cl ds -cl dA
TEST> write faults faults.NP -class np -verbose
TEST> wri fault selected.faults reg3 -class AN -class ut
See Also
set_faults
report_faults
read_faults
Fault Classes
write_faults 557
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Fault Summary
write_faults 558
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_image
Overview
This command writes the TestMAX ATPG database to a file after a successful build or a successful DRC run.
Syntax
write_image
file_name
[-compress <gzip | binary | off>]
[-design_view]
[-garble]
[-netlist_data]
[-password string]
[-replace]
[-schematic_view]
[-violations]
[-nosubnets]
[-nonet_pairs]
Arguments
file_name
Specifies the pathname of the file into which the database is written.
-compress <gzip | binary | off>
Specifies whether to compress the database. The default is gzip. The binary keyword
creates a proprietary format that can be read only by TestMAX ATPG. The off keyword
creates a file without compression.
-design_view
Enables schematic viewing in Design View of the GSV for password-protected and
unprotected images. Note that the image must always be written using the -netlist_
data option. The netlist data is required to draw the schematic with design names and
related information. The default is not to enable schematic viewing.
To write a password-unprotected image for the GSV in Design View, execute the following
command:
write_image design.image -design_view -netlist_data
To write a password-protected image for the GSV in Design View, execute the following
command:
write_image design.image.passwrd -password topsecret -schematic_view -
design_view -netlist_data
-garble
Obfuscates names to a single hierarchy level name before the image is written. Instance
names become of the format u###, net names become n### and module names become
m###, where "###" is an integer number of any length. Some names are not garbled,
such as primary IOs, to allow some commands to work with the original names. Command
write_image 559
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
scripts might have to be modified to use the garbled name. Garbled names can be
translated to the original names by using the report_nets or report_instances
commands if an ungarbled design database is read by TestMAX ATPG. This option can only
be used in TEST mode. It is not supported for physical data (you cannot simultaneously
specify both the -garble and -physical options of the write_image command).
-netlist_data
Adds net and instance names to the image files. By default, these names are not stored in
the image file. Commands involving net and instance names, such as report_nets,
report_instances, or set_diagnosis -report_net_data, are functional after TestMAX
ATPG reads in an image with netlist data. Using this option will increase the image file size.
If you want to protect IP information for certain design data, such as net names, do not use
this option.
-password string
Creates a password-protected secure image, where string is the password to be used for
encryption. Commands specified by previous set_commands -secure commands are
designated as allowed in secure state. The encrypted image is compressed by default. You
can use double quotation marks (" ") to enclose your password if you desire. This password
must be used to read the secure image. The output of this command lists the commands
that are allowed when that image is read. The default is to create unprotected image files.
Settings from commands such as set_atpg might remain unchanged when a secure image
is read by read_image.
-replace
Specifies that the image file is allowed to replace an existing file. The default is not to
replace an existing file and generate an error message indicating the file already exists.
-schematic_view
Enables schematic viewing in primitive view only when used with the -password option.
Note that primitive view minimizes the image file size and protects the IP by not displaying
certain design data, such as net names and intermediate levels of hierarchy. To write a
password-protected image for the GSV in Design View you must also include the -design_
view and -netlist_data options. The default is not to enable schematic viewing.
-violations
Stores DRC violations for the C, D, L, S, X, and Z rules.
-nosubnets
This option avoids saving the subnet data to the image. If the subnet data has been read,
and after that, an image was written, then the data is stored by default.
-nonet_pairs
This option prevents all bridging net pairs used for physical diagnostics (specified by the
read_layout -likely_pairs command) from being saved and included in the output
image. The net pairs data is read by default, and is saved and included in the output image.
The saved net pairs are intended for physical diagnostics only.
write_image 560
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command writes the TestMAX ATPG database to a file after a successful build or a successful DRC run.
Note the following:
This command does not write patterns to the image file.
You must use either or both the -netlist_data and -design_view options of the write_image
command to create image files that generate parallel patterns. Otherwise, the image file incurs a loss of design
information that affects the patterns, and TestMAX ATPG issues an M269 message.
Examples
TEST> write_image i044_image.dat -replace
End write image: #bytes=1830406, CPU time=3.00 sec.
See Also
Binary Image Files
Creating and Reading Image Files
Creating a Non-Secure Image File
Creating a Secure Image File
read_image
set_diagnosis
write_image 561
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_netlist
Overview
Use this command to write netlist data to an external netlist file in a specified format.
Syntax
write_netlist
file_name [-replace] [-top top_name]
[-format <edif [external] | verilog | verilog_tmax | verilog_vcs> ]
[-stop [edif | verilog | vhdl | design_level]]
[-compress <gzip | binary>]
Arguments
file_name
Indicates the pathname of the file in which the netlist data is written.
-replace
Indicates that the netlist file is allowed to replace an existing file. The default is to not allow
a replacement. Attempting to write over an existing file without the -replace option results
in a error.
-top top_name
Specifies the name of the top-level module whose netlist data is to be written. If a top
module is specified, only that module and all subsequently referenced modules are
included in the output file. Any other modules in memory but not referenced by the top
module or its descendents are not included. If a top module is not specified, the default is
to write all modules.
-format <edif [external] | verilog | verilog_tmax | verilog_vcs>
Selects the netlist output format. If you select edif, no external library is written, unless
you specify the external option. The default output format is Verilog.
The verilog and verilog_tmax arguments have the same effect: the netlist is written in
most compact form, using TMAX netlist primitives (such as _AND, _DFF, _MEMORY, and so
forth.). The verilog_vcs argument writes a standard Verilog netlist, using only Verilog
primitives, whenever possible. For example, latches and flops are written as UDPs. In some
cases, the verilog_vcs option cannot write out an instance in standard Verilog, and will
write as Verilog_Tmax instead. An M467 message is issued each time this occurs. M467
messages can be as follows:
"Instance <inst_name> of module <mod_name> written in TMAX-style Verilog
(M467)"
"Memory instance <inst_name> of module <mod_name> written in TMAX-style
Verilog (M467)."
"_BUSK0 in module <mod_name> written in TMAX-style Verilog (M467)."
"_BUSK1 in module <mod_name> written in TMAX-style Verilog (M467)."
-stop [edif | verilog | vhdl | design_level]
write_netlist 562
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This is an additional option for blocking certain segments of the design from appearing in
the written file. For example, if the design is in EDIF and the libraries are in Verilog, then -
stop verilog can be used to write the design but not the library modules. Use of -stop
design_level blocks the writing of any low-level cell considered a library level or "design"
cell. Without the use of any -stop option, no filtering of modules is performed.
-compress <gzip | binary>
This option specifies that the file is to be written in compressed format and specifies the
type of compression, either GZIP or binary. The default is to write the file without
compression.
Description
Use this command to write netlist data to an external netlist file in a specified format. You can use compression
to minimize the size of the file.
Note the following:
Net connections added with the add_net_connections command are not reflected in the output netlist.
Do not use the write_netlist command as a tool to convert netlists between Verilog, EDIF, and VHDL
formats, or to produce legal Verilog syntax for some other tool. The netlist written by this command is intended
for ATPG tools only and does not contain many of the items which are in the original netlist or module
definitions. For example, any behavioral module, with the exception of recognized RAM/ROM definitions, is
converted to black box modules. All timing information is stripped away. Also, "specify" blocks are stripped
away. Any undefined modules iscome black box definitions. Verilog UDPs are converted to gate-level
functional netlists using ATPG primitives.
The write_netlist command outputs primitives only. If the design behavior depends on attributes, for
example the reset_dominance attribute of the _DFF or _DLAT primitives, then the circuit behavior will
change. In this case, use the write_image command instead.
Examples
TEST> write_netlist mux81.v -replace -top MUX81
End writing Verilog netlist, CPU_time = 0.20 sec, File_size = 500
See Also
read_netlist
set_netlist
write_netlist 563
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_patterns
Overview
Use this command to write ATPG patterns to a file in one of the supported formats: FTDL, STIL, TDL91,
TSTL2, WGL, WGL_FLAT, and the ATPG tool's proprietary binary.
Syntax
write_patterns filename
[-cellnames <internal | verilog| parallel | type | module | garbled>]
[-compress <gzip | binary>]
[-compressor_based]
[-cycle_count | -nocycle_count]
[-exclude <setup | repeat_setup | patterns | chain_test | atpg_patterns |
all>]
[-first d] [-last d]
[-format <binary | ftdl | tdl91 | tstl2 | wgl | wgl_flat | stil | stil99>]
[-config_file cfilename]
[-internal | -external]
[-internal_force_clocks | -nointernal_force_clocks]
[-internal_scancells | -nointernal_scancells]
[-longtokensplit | -nolongtokensplit]
[-measure_forced_bidis]
[-nocompaction]
[-nooverlap_load]
[-occ_load_split]
[-order_pins]
[-pad_character < 0 | 1 | x >]
[-patinfo | -nopatinfo]
[-patname pat_block_name]
[-replace]
[-scanstructures <-all | min>]
[-serial | -parallel]
[-sorted | -reorder file | -type <basic_scan
| clock_on_measure | fast_sequential | full_sequential>]
[-split d]
[-stil | -wgl]
[-top_scanports | -notop_scanports]
[-unified_stil_flow | -nounified_stil_flow]
[-use_delay_capture_start number]
[-use_delay_capture_end number]
Arguments
filename
Specifies the base path name of the file in which TestMAX ATPG writes the patterns. If the
file already exists, TestMAX ATPG displays an error unless you use the -replace option.
write_patterns 564
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Note that the filename must be the first argument specified on the write_patterns
command line.
-cellnames <internal | verilog | parallel | type | module | garbled>
Controls the format of the scan cell information in the ScanStructures block of a STIL file.
When -cellnames internal is used, you can specify scan cell names that match the
names reported by the report_scan_cells command.
When -cellnames type is used for STIL (but not STIL99) output, the ScanStructures
block contains ScanCellType statements with compact references to the scan cell
information.
When -cellnames module is used, the ScanCellType statement uses the cell module
type in the design (with additional references to scan-in and scan-out connections) and
each scan cell identifies the specific module.
When -cellnames verilog is used, the generated names are specified with Verilog
syntax.
When -cellnames parallel is used, the names are the same as -cellnames verilog,
with an additional reference to the scan-input port of these cells.
When -garbled is used, the internal scan cell names (instance-level names only) are
generated in a garbled format. This enables TestMAX ATPG to read netlists containing
garbled names without affecting subsequent pattern usage. Note that garbled names are
not appropriate for parallel simulation and errors are generated if a pattern file is used in
this context.
The naming constructs used for the type or module options require 1450.1 constructs and
are supported for the STIL (not STIL99) format only. Checks are not made on the module
names as appropriate for a STIL flow, and the -cellnames module option may generate
STIL files that are not appropriate for other translators. For STIL99 files and STIL files
written with -parallel or -unified_stil_flow, the default is -cellnames parallel. If
parallel simulation failures are reported in certain situations (see the description of the
M404 message for more information), you can also try using -cellnames type for STIL
(not STIL99) parallel files since this format supports the set_drc -dslave_remodel
context for parallel simulation.
For more information, see "Output Examples for write_patterns -cellnames."
-compress <gzip | binary>
Specifies the compressed format (gzip or binary) of the output file that TestMAX ATPG
writes. Binary compression is a proprietary format of TestMAX ATPG. The default is to write
the file without compression. If you select the gzip format, add the .gz suffix to the
filename. You cannot use this option with the Ftdl, TDl91, or TSt12 option.
-compressor_based
This option, which is used in conjunction with the -format binary option, writes out a
parallel mode pattern set which is read back into serial mode when running TestMAX ATPG
on serializer designs. It is used only for translating parallel mode patterns to serial mode
patterns in DFTMAX compression. For details on this flow, see “Translating Parallel Mode
Patterns to Serial Mode Patterns” in the DFTMAX Compression User Guide.
-config_file cfilemame
write_patterns 565
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
This option sets the user configuration file to control options in the Ftdl, TDl91, and TSt12
output formats. If you do not set this option, TestMAX ATPG uses a default configuration
file from the $SYNOPSYS/auxx/syn/ltran directory. To create a custom configuration file, copy
the default file and modify the user-editable fields and controls. For details, see
Customizing Ltran Output.
-cycle_count | -nocycle_count
The cycle count is generated by default when the write_patterns -format stil |
stil99 command is specified. If this option causes problems, you can disable it using the -
nocycle_count option.
The cycle count is only generated when writing STIL patterns. There are two values
reported after the patterns are written. The first value identifies the number of V
statements encountered in these patterns; this includes counts of the V statements
contained in each executed procedure for each call to that procedure. The second value
(number of cycles) identifies the number of flattened cycles produced by these operations,
which includes the number of cycles in the expanded Loop and Shift statements.
-exclude <setup | repeat_setup | patterns | chain_test | atpg_patterns |
all>
Selects from the following pattern types to exclude from the output:
setup — Patterns for the test_setup macro.
repeat_setup — Patterns for the test_setup macro when you use the -split option. Note
that this option should not be used for WGL patterns.
patterns — Includes the test_setup vector; excludes ATPG patterns and chain tests.
When chain tests are present, they start at ATPG pattern 0. These patterns are also
controlled by options of the set_atpg command.
chain_test — Patterns associated with the chain test.
atpg_patterns — All patterns NOT associated with the chain test (converse of the chain_
test option).
all— Excludes all pattern types. You can repeat this option to exclude multiple pattern
types.
You can use a list with the -exclude option to exclude multiple pattern types. Excluding
patterns with compressed designs might result in errors if there are dependencies between
the patterns.
-first d
Specifies the first pattern number that TestMAX ATPG writes. The default is to begin with
pattern 0. Note: For Full-Sequential patterns, this option might cause simulation
mismatches.
-format <binary | ftdl | tdl91 | tstl2 | wgl | wgl_flat | stil | stil99>
Specifies the output format for the patterns that TestMAX ATPG writes. The default is
binary.
The binary option writes patterns in a TestMAX ATPG proprietary binary format. TestMAX
ATPG can write and read this format. To read these pattern files, use the set_patterns -
external command.
write_patterns 566
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The ftdl option writes patterns in the Fujitsu TDL pattern format. You can specify an
optional user configuration file using the -config_file option. Note: The FTDL pattern
format is supported for write only; TestMAX ATPG cannot read this pattern format.
The tdl91 option writes patterns in the Texas Instruments TDL91 pattern format. You can
specify writing the patterns in a parallel format for parallel TDL simulation.You can specify
an optional user configuration file using the -config_file option. The Texas Instruments
TDL91 pattern format is supported for write only; TestMAX ATPG cannot read this pattern
format.
The tstl2 option writes patterns in the Toshiba TSTL2 pattern format. An optional user
configuration file can be specified using the -config_file option. The Toshiba TSTL2
pattern format is supported for write only; this pattern format cannot be read back into
TestMAX ATPG.
The wgl option writes patterns in TSSI's Waveform Generation Language (WGL) pattern
format. Note: The set_wgl command controls many aspects of creating WGL pattern
output. The subset of the WGL language written by TestMAX ATPG can also be read back in.
The wgl_flat option produces a WGL pattern file in which the scan loads have been
serialized (flattened) into a series of "vector()" statements. The WGL file contains only
vector() statements and does not contain any "scan()", scan cell, scan states, or scan
chain information.
The stil option writes patterns in the official IEEE Std. 1450.1 Standard Test Interface
Language (STIL) for Digital Test Vectors format. TestMAX ATPG can both write and read
this format; however, it supports only a subset of the language it writes for reading back
in.
The stil99 option writes patterns in the official IEEE-1450.0 Standard Test Interface
Language (STIL) for Digital Test Vectors format. This format can be both written and read,
but only the subset of the language written by TestMAX ATPG is supported for reading back
in.
Note: You must use a 1450.0-compliant DRC procedure as input to write output in the
stil99 format.
Selecting -format stil or stil99 generates a STIL file which contains a name in the
format <pfile>.<ext>, where you specified write_patterns <pfile>.<ext>. The default
STIL testbench is serial.
-internal | -external
Specifies whether to write patterns from the internal or external pattern set. The initial
default is to use the internal pattern set, but this can be modified by the set_patterns
command.
-internal_force_clocks | -nointernal_force_clocks
Controls the generation of additional events in the pattern data. If these events are
present for the design context, then they are required to properly drive certain internal
clocks during VCS or external simulation. The default is -nointernal_force_clocks.
-internal_scancells | -nointernal_scancells
Controls the generation of data for the ScanCell and ScanClock sections of a STIL file for
internal chains if this data is not already provided. For non-compressed designs, the
default behavior is not to generate the scan cell and scan clock data (the -nointernal_
scancells option). For compressed designs, the default is to generated the scan cell and
write_patterns 567
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
scan clock data (-internal_scancells). If the scan cell data is required (for example, if
the -parallel option is specified), the internal scan cell data is written irrespective of this
option setting and M479 messages are generated.
-last d
Specifies the last pattern number for the patterns to be written. The default is to end with
the last available pattern.
-longtokensplit | -nolongtokensplit
The default, the -longtokensplit option, avoids excessively long lines in the STIL file by
splitting long scan cell names into several tokens using the "." (point) STIL statement.
This default behavior generates lines containing a maximum of 1024 characters. The -
nolongtokensplit option avoids splitting scan cell names and can generate lines longer
than 1024 characters. This option is intended to support testers that cannot interpret the
"." (point) STIL statement.
-measure_forced_bidis
By default, no patterns written will attempt to force and measure bidirectional ports in the
same tester cycle. Selecting this option allows writing patterns which can attempt to both
force and measure in the same tester cycle. Note: You should not use this option if you are
writing WGL output or if your target tester will not support force/measures on the same pin
in the same cycle.
-nocompaction
Applies to STIL format only. By default, compaction is allowed in STIL by replacing
repeated character strings using the '\r NN' construct. Using this option disallows this type
of compaction.
-nooverlap_load
Applies to STIL format only. When patterns are written, the scan chain loading for pattern
N+1 is overlapped with the scan chain unloading of pattern N. By specifying -nooverlap_
load, the patterns are written so that no overlapping occurs. Total number of tester cycles
will essentially double when -nooverlap_load is used. The default is to overlap load and
unload operations. Note that this option is not supported for Adaptive Scan Technology
compression patterns.
-occ_load_split
This option, which is used in the internal clocking procedures feature, splits patterns into a
separate file for each clocking procedure. Note that a new pattern file is saved each time a
clocking procedure changes from one pattern to the next, which can result in a large
number of pattern files. Because of this, you should you should use the -occ_load_split
option only in combination with the set_atpg -group_clk_constraints command. For
more information, see "Using Internal Clocking Procedures."
-order_pins
Selects a special ordering of port data for pattern outputs. The default order of pattern data
follows the order in which the ports are defined in the design's top module. Specifying the -
order_pins option causes the order of pattern data to be inputs first, then bidirectional
ports, then outputs. This option is supported only for WGL patterns.
-pad_character < 0 | 1 | x >
write_patterns 568
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Selects the padding character to be used on standard WGL patterns when shorter scan
chains are padded up to the same size as the longest scan chain, or during the last chain
unload operation when padding data is shifted in while checking the last pattern shifted
out. The default padding is 0. There is a separate control for WGL patterns found under the
set_wgl command for enabling/disable padding when writing WGL patterns.
-patinfo | -nopatinfo
Applies to STIL format only. The default is -nopatinfo. If -patinfo is specified, a
<filename-ext>.patinfo file is generated when STIL patterns are written.
-patname pat_block_name
Replaces the default STIL pattern block name "_pattern_" with the name specified to this
option. Affects -format stil or stil99 files only.
-replace
Specifies that the pattern file is allowed to replace an existing file. The default is not to
replace an existing file and generate an error message indicating the file already exists.
-scanstructures <all | min>
Controls the generation of scan chain data in the ScanStructures block of a STIL file. The
default setting, all, generates all supported fields for all applicable scan chain data. If you
specify the min keyword, the scan chain data is truncated for compressed designs that
reference internal scan input or scan output ports (internal scan chains). This protects the
identification of internal design elements.
The following set of examples shows how the -scanstructures option affects the
contents of a generated STIL file. The first example shows the scan chain data using the
default setting (-scanstructures all):
ScanChain "1" {
ScanLength 11;
ScanIn "core_i/ctl/U199/ZN";
ScanOut "core_i/ctl/ctl_de_reg_2_/Q";
ScanInversion 1;
ScanCells ! "des_unit.core_i.ctl.ctl_dd_reg_0_.SI" "des_unit.core_
i.ctl.ctl_dd_reg_1_.SI"
"des_unit.core_i.ctl.ctl_dd_reg_2_.SI" "des_unit.core_i.ctl.ctl_dd_reg_
3_.SI"
…
"des_unit.core_i.ctl.ctl_de_reg_0_.SI" "des_unit.core_i.ctl.ctl_de_reg_
1_.SI"
"des_unit.core_i.ctl.ctl_de_reg_2_.SI" ;
ScanMasterClock "clk_st" ;
}
ScanChain "2" {
ScanLength 11;
ScanIn "core_i/ctl/U198/ZN";
ScanOut "core_i/ctl/key_dd_reg_5_/Q";
ScanInversion 1;
ScanCells ! "des_unit.core_i.ctl.ctl_de_reg_3_.SI" "des_unit.core_
i.ctl.ctl_de_reg_4_.SI"
"des_unit.core_i.ctl.ctl_de_reg_5_.SI" "des_unit.core_i.ctl.ctl_de_reg_
write_patterns 569
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
6_.SI"
…
"des_unit.core_i.ctl.key_dd_reg_5_.SI" ;
ScanMasterClock "clk_st" ;
}
If the-scanstructures min option is specified, the generated scan chain data is
truncated, as shown in the following example:
ScanChain "1" { }
ScanChain "2" { }
Note the following:
All ScanIn and ScanOut references in the Signals group that identify pseudo signals are also removed.
The -scanstructures min option conflicts with parallel simulation requirements, and is disabled if
parallel simulation options are set. In this case, an M479 message is reported.
If you are using a mixture of design styles, and want to remove internal names, you should specify both the -
scanstructures min and -nointernal_scancells options.
-serial | -parallel
You can use the -serial or -parallel options in combination with the -format stil or -
format stil99 options, but this does not affect the patterns that are written. The -
serial option adds a flag to the pattern file to force serial Verilog simulation, but this can
be done more easily by writing only a single parallel STIL pattern and then using
+define+tmax_serial option at simulation time to do the serial simulation.
-sorted | -reorder file | -type <basic_scan | clock_on_measure |
fast_sequential | full_sequential>
The -sorted option writes the patterns in a predefined order, from low complexity to high.
The definition of complexity considers the number of scan loads and capture procedures
involved. Fewer scan loads and fewer clocks are considered less complex. The -sorted
command is not supported for adaptive scan technology compression options.
The -reorder option accepts a user-specified ASCII file that specifies the output order of
patterns. Each line must start with an integer that specifies the pattern number to be
written (remember that pattern numbers start with 0). These numbers form a column in
the file. Additional columns in this file are ignored. The file can contain blank lines and
comment lines. For example, line 1 containing a 10 and line 2 containing a 5 would produce
the pattern order 10,5.
The -reorder option is not supported for adaptive scan technology compression options.
The report_patterns -all -type command generates a report that can be sorted or
edited to create this reorder file. The following example was created by using the output of
a report_patterns -types command to select a representative sample of patterns that
exercise at least one of each clock in the design. This type of pattern block would be most
valuable for performing serial simulation and checking for timing problems.
The -types option limits the patterns written to the type of pattern specified, either Basic-
Scan, Fast-Sequential, Full-Sequential, or Clock_on_measure.
#
# --- example input file for -ORDER option produce by
# editing the output of 'report_patterns -all -types'
#
0 basic_scan 1 1 - -
write_patterns 570
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
9 basic_scan(COM) 1 1 - -
15 fast_sequential 1 1 - RST
30 fast_sequential 2 2 - clk1,clk2
16 fast_sequential 1 1 - clk2
7 basic_scan 1 1 master clk3
2 basic_scan 1 1 - clk5
34 fast_sequential 3 0 - clk6,clk6
41 fast_sequential 4 4 - WRT,READ,clk1
45 fast_sequential 4 3 - WRT,WRT,READ,clk1
-split d
Using this option causes the pattern output file to be split into multiple files of d patterns
each, as long as d is smaller than the total number of patterns. The pattern filenames are
created by inserting "_0", "_1", "_2", and so on before the last period "." found in the user-
specified filename. By default, each pattern file will contain the patterns associated with
the test_setup procedure, unless the -exclude repeat_setup or -exclude setup
options are used. Only the first pattern file contains the chain test patterns.
For Full-Sequential patterns, the -split option is only useful for tester (ATE) memory
requirements, and loading the files in sequential order is mandatory.
-stil | -wgl
This switch is typically used when specifying the TDL91, TSTL2, or FTDL pattern formats
with the -format option. It creates either a STIL or WGL pattern format intermediate file
that is passed to the external translator. A STIL intermediate file is created by default. In
most cases, writing a STIL file is much faster than writing WGL file; this can save minutes
of time for large pattern files. For more information on generating and using the
intermediate file, see “FTDL, TDL91, TSTL2 Configuration Files.”
-top_scanports | -notop_scanports
Controls the naming context of the internal scan chain ScanIn and ScanOut references in
the ScanStructures block of the STIL pattern files for compressed designs. The -notop_
scanports option (the default) uses the names reported from the report_scan_chains
command and generates a STIL file accepted by the set_patterns -external command.
In some library modeling contexts, the scan chain names directly reference Verilog
primitives in the design. In this case, you can use the -top_scanports option to generate
STIL pattern files that can be simulated with MAX Testbench. If the library used by
TestMAX ATPG is sensitive to Verilog primitive references, V12 messages are generated.
For most designs, the -top_scanports option has no effect, and the V12 messages are not
reported.
If a V12 message is reported, you can still use the -top_scanports option. Make sure this
option doesn't conflict with a STIL file that is read back into TestMAX ATPG (for example,
for a diagnostic operation) or used for parallel simulation in the pattern validation flow.
-unified_stil_flow | -nounified_stil_flow
The -unified_stil_flow option (the default) generates parallel STIL patterns with a
precomputed n_shifts value for both regular scan and scan compression logic. This format
is always tester-ready and is not affected by any other specified options. The -nounified_
write_patterns 571
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
stil_flow option is obsolete and should never be used because the resulting STIL
patterns are not usable on the tester.
-use_delay_capture_start number
This option inserts calls to the delay_capture_start procedure at the start of each capture
option in the patterns. The number specification (an integer value) is required and controls
the number of calls made to this procedure. For most environments, the value 1 is
appropriate. If you want multiple instances of this wait procedure, this value would be
greater than 1.
The delay_capture_start procedure is created if it was not defined in the input STIL
procedure file. Note that the -use_delay_capture_start option must be specified for
each write_patterns command that requires the presence of this delay. This includes
situations in which patterns that contain these procedures are read back. Because this
procedure is not preserved in the pattern data, it must be present with any write_
patterns command that requires the presence of these wait procedures. For additional
information on the delay_capture_start procedure, including the default specification, see
"Using the delay_capture_start Procedure."
-use_delay_capture_end number
This switch adds extra cycles after the capture procedure to allow capture clocks to
propagate. The number specification (an integer) is the number of delay_capture_end
procedures that are added. If this procedure is not defined in the STIL procedure file, it is
created automatically with one cycle using the default waveform table.
When on-chip clocking is used, the set_atpg -min_ateclock_cycles command should
be specified to provide extra delay for clock propagation. By extending the capture
procedure, it allows better support for ATPG and simulation. The -use_delay_capture_
end switch is needed only for ATPG runs in which on-chip clocking is absent or bypassed.
For additional information on the delay_capture_end procedure, including the default
specification, see "Using the delay_capture_end Procedure" in the TestMAX ATPG User
Guide.
Description
Use this command to write ATPG patterns to a file in one of the supported formats: FTDL, STIL, TDL91,
TSTL2, WGL, WGL_FLAT, and the ATPG tool's proprietary binary. Optionally, the file can be written using
one of two forms of compression: GZIP or binary.
Using FTDL, TDL91, TSTL2, or WGL_FLAT format causes TestMAX ATPG to invoke a separate translation
process, which opens a new window in which the translation process runs independently. The pattern formats
FTDL, TDL91, and TSTL2 are write only; they cannot be read back in. This is important if you want to use the
diagnostics capability of TestMAX ATPG to assist in diagnosing device failures at the tester. If supporting
diagnostics is part of your flow, you should also save the same patterns in a format that can be read back in,
such as STIL or binary.
When the -format [-stil | stil99] option is specified, the default (if the -parallel [n_
shifts] or -serial options are not specified) is the unified STIL flow that supports parallel simulation with
a precomputed n_shifts value. This format is always tester-ready when no options are specified. For
write_patterns 572
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
compression scan designs, if the -parallel option is specified, the dual STIL parallel format is used (that is,
not unified STIL). This format is not tester-ready.
If the patterns are written in STIL format, an additional information line is printed, as shown in the following
example:
The first part of this line, Patterns written reference <n> V statements, indicates the number
of V statements contained in the patterns. The second part of the statement, generating <m> test
cycles, means that the V statements are found in Loop and Shift constructs, and the test execution creates
<m> number of executed (flattened) test cycles.
Note: Launch and capture events are pertinent only to transition and path delay fault environments. If the fault
model is set to the default model (stuck), then the presence of launch and capture events are likely to be
dropped. TestMAX ATPG will attempt to maintain this information when possible. But because of the variety of
flows and the ability to process patterns generated for one fault model, under a different model (for instance,
re-grading transition patterns under a stuck model), care must be exercised if this information needs to be
maintained. Before the write patterns operation is executed in the file that reads back the binary patterns, add
the set faults -model transition command. Then the launch and capture events will remain
across all outputs.
Examples
TEST> write_patterns pat.bin -format binary -last 49 -replace
End writing 50 patterns, CPU_time = 0.72 sec, File_size = 28692
See Also
Defining PI Equivalents in STIL
report_patterns
set_atpg
set_patterns
set_drc
set_wgl
Troubleshooting Simulation Failures
write_patterns 573
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_physical_db
Overview
This command creates and validates the PHDS database. You can use options of the set_physical_db
command to perform only a PHDS validation run or only a PHDS creation run.
Syntax
write_physical_db
[-replace]
[-verbose]
Arguments
-replace
Overwrites any previously loaded device with the same name and version.
-verbose
Prints an additional set of information messages for the LEF/DEF reader and Yield Explorer
PHDS loader.
Description
This command starts a process that translates a LEF/DEF database to Yield Explorer YDF format, loads the
resulting collection of files into a PHDS database, and validates the database based on a set of Y rules. You
can load multiple devices into the same PHDS database.
Before using the write_physical_db command, use the set_physical_db command to specify the
location of the LEF/DEF files and the output directory for the PHDS database. You can also use the -
novalidation option to create only the PHDS database without validating it. Alternatively, you can use the
-nocreate_phds option to only validate the PHDS database.
For more information on using the write_physical_db command, see "Creating and Validating the
PHDS Database for Physical Diagnosis" topic.
Example
write_physical_db –replace
Writing Physical Database...
LEF input directory : ./lef
DEF input directory : ./def
Top DEF file name : top_design.def
PHDS output directory: ./phds
Device name : DES
Device version : 4
Running PHDS validation...
PHDS validation completed successfully.
--------------------------------------------------------------------------
----
Validation Summary Report
write_physical_db 574
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
--------------------------------------------------------------------------
----
Warning: Rule Y18 (DEF Without Corresponding LEF) was violated 2 times.
There were 2 violations that occurred during Validation process.
Running PHDS creation...
PHDS creation completed successfully.
Total_time = 36.76
See Also
set_physical_db
open_physical_db
close_physical_db
Table Column Outside Table:
write_physical_db 575
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_simtrace
Overview
This command assists in debugging ATPG pattern miscompares found during Verilog simulation.
Syntax
write_simtrace
filename
[-gate netname_or_id]
[-length int]
[-replace]
[-scan chainname:cellnumber]
Arguments
filename
Specifies the name of the output file that defines a standalone module containing Verilog
debug statements.
-gate netname_or_id
References a single net, device port, or module name that is monitored during simlulation.
The reference can be a TestMAX ATPG name or gate id. If the reference is a single net, then
the monitor will contain the name of the object (subject to a length restriction of 20
characters or as specified by the -length option), followed by a colon, and a single bit that
is the state of that net at the specified time. This is terminated by a semicolon. An example
would be: “ABC.DI:0;”. If the reference is to a module, then the output of that module must
be displayed first in the format above, followed by a comma instead of the semicolon, and
all the named inputs of the module are listed after an “INs:” identifier. The inputs are
identified by port-name only (not the full path name), and input ports that are constant
values or have no name are not displayed. A semicolon follows the last input port of the
module.
-length int
Specifies the length of the names as they appear in the output statements. By default,
names are truncated to the last 20 characters; this option allows you to specify longer or
shorter names. This option is position-dependent and can be used multiple times; you may
place this option between sequences of -scan and -gate options and it will affect only the
remaining options.
-replace
Indicates that the output file is allowed to replace an existing file. The default is to not
allow a replacement.
-scan chainname:cellnumber
Identifies the scan chain and cell that is monitored during simulation. This option requires a
chain name, followed by a colon, and the bit index in that chain. The output of the cell is
indicated first, followed by “, INs:”, followed by all named, non-constant input ports of that
cell. In the output region, if there is a scancell before this cell, then the state of that
write_simtrace 576
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
previous cell will also be monitored, and it is placed in parenthesis before the output state
of this cell. Likewise, if there is a scan cell after this cell, then the output of the next cell is
also displayed, with parenthesis around that state value as well. For example, a scan cell
number 1of chain c1 can be displayed as: “c1:1 (0)0(1) INs: DI:0 SE: 0 D:1;”.
Description
This command assists in debugging ATPG pattern miscompares found during Verilog simulation. It facilitates
the creation of a Verilog module by adding simulation data to be used for comparison with TestMAX ATPG.
The output file created by the write_simtrace command contains Verilog syntax to define a standalone
module that contains debug statements to invoke Verilog operations referencing nodes specified by the -
scan and -gate options. Because this is a standalone module, it references these nets as instantiated in the
simulation through the testbench module; there are dependencies on these references based on the naming
convention of the top module in the testbench module .You may specify multiple occurrences of the -scan
and -gate options. The order of these options is important, as the defined order is the order placed in the
generated file.
After running this command, if all nodes specified were found and the file was written as expected, TestMAX
ATPG will print the following:
End writing file ‘filename’ referencing integer nets, File_size = integer
This statement identifies how many nets were placed in the output file to be monitored. Note that the file name
is not include the path information.
The write_simtrace command is intended to be used as part of an iterative debugging flow. "
write_simtrace 577
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_testbench
Overview
This command eases the generation of an equivalent Verilog testbench by allowing you to run MAX
Testbench without leaving the TestMAX ATPG environment.
Syntax
write_testbench
-input [stil_filename | {-split_in \{list_of_stil_files_for_split_in\}}]
-output testbench_name
[-replace]
[-config_file config_filename]
[-parameters {list_of_parameters}]
Arguments
-input [stil_filename | {-split_in \{list_of_stil_files_for_split_in\}}]
The stil_filename argument specifies the path name of the previous TestMAX ATPG-
generated STIL file requested by the equivalent Verilog testbench. You can use a
previously generated STIL file as input. This file can originate from either the current
session or from an older session using the write_patterns command.
The following syntax is used for specifying split STIL pattern files as input (note that
backslashes are required to escape the extra set of curly braces):
{-split_in \{list_of_stil_files_for_split_in\}}
The following example shows how to specify a set of split STIL pattern files:
write_testbench -input {-split_in \{patterns_0.stil patterns_1.stil\}} -
output pat_mxtb
-output testbench_name
Specifies the names used for the generated Verilog testbench output files. Files are created using the
naming convention <testbench_name>.v and <testbench_name>.dat.
-replace
Forces the new output files to replace any existing output files. The default is to not allow a
replacement.
-config_file config_filename
Specifies the name of a configuration file that contains a list of customized options to the
MAX Testbench command line. See "Customized MAX Testbench Parameters Used in a
Configuration File with the write_testbench Command" for a complete list of options that
can be used in the configuration file.
-parameters {list_of_parameters}
Enables you to specify additional options to the MAX Testbench command line. See
"MAX Testbench Command-Line Parameters Used with the write_testbench Command" for
a complete list of parameters you can use with the -parameters option.
write_testbench 578
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
If you use the -parameters option, make sure it is the last specified argument in the
command line, otherwise you might encounter some Tcl UI conversion limitations.
A usage example for this option is as follows:
write_testbench -parameters { -v_file \”design_file_names\” –v_lib
\”library_file_names\” –tb_module module_name –config_file config1}
Note the following:
All the parameters must be specified using the Tcl syntax required in the TMAX shell. For example: -
parameters {param1 param2 –param3 \”param4\”}
quotation marks must have a backslash, as required by Tcl syntax, to be interpreted correctly and passed
directly to the MAX Testbench command line.
Parameters specified within a -parameters {}list are order-dependent. They are parsed in the order in
which they are specified, and are transmitted directly to the MAX Testbench command line. These parameters
must follow the order and syntax required for the MAX Testbench command line.
Description
This command eases the generation of an equivalent Verilog testbench by allowing you to run MAX
Testbench without leaving the TestMAX ATPG environment.
When you use the write_testbench command, there are many pattern files to translate, or you might be
using a batch-mode environment. In this case, use the LTRAN_SHELL command. This command uses a shell
version of the stil2verilog script even if Xwindows is set up.
write_testbench 579
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Example
TEST-T > ...
TEST-T > write_patterns pat.stil -formal stil -serial -replace
Patterns written reference 7158 V statements, generating 18624 test cycles
End writing file 'pat.stil' with 127 patterns, File_size = 207207, CPU_time
= 0.0 sec.
TEST-T> write_testbench -input pat.stil -output maxtb –replace
#################################################################
# #
# STIL2VERILOG #
# #
# Copyright (c) 2007-2013 SYNOPSYS INC. ALL RIGHTS RESERVED #
# #
################################################################
maxtb> Parsing command line...
maxtb> Checking for feature license...
maxtb> Parsing STIL file "pat.stil" ...
... STIL version 1.0 ( Design 2005) ...
... Building test model ...
... Signals ...
... SignalGroups ...
... Timing ...
... ScanStructures : "1" "2" "3" "4" ...
... PatternBurst "_burst_" ...
... PatternExec ...
... Procedures : "multiclock_capture" "allclock_capture" "allclock_launch"
"allclock_launch_capture" "load_unload" ...
... MacroDefs : "test_setup" ...
... Pattern block "_pattern_" ...
maxtb> STIL file successfully interpreted (PatternExec: "").
maxtb> Detected a Normal Scan mode.
maxtb> Test bench files "maxtb.v" and "maxtb.dat" generated successfully.
maxtb> Memory usage: 5.15 Mbytes. CPU usage: 0.710 seconds.
maxtb> End.
TEST-T> …
See Also
Using write_testbench to Customize MAX Testbench Output
LTRAN_SHELL
write_testbench 580
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
write_ydf
Overview
This command writes a Yield Explorer Data Format (YDF) file.
Syntax
write_ydf
file_name
[-append | -replace]
[–all | –candidates]
[-apply_match_names]
[-branch]
[-bridge]
[–cell]
[-cell_pin]
[–cell_instance_pin_net]
[-chain_def]
[-custom_field file_name]
[-device name]
[-diex number]
[-diey number]
[-fab fab_name]
[-include_scan_path | -noinclude_scan_path]
[–instance_cell]
[-lot number]
[-nets]
[-net_contact_position]
[-net_layer]
[-net_path]
[-replace]
[-test_condition {condition_list}]
[-version string]
[-via]
[-via_position]
[-wafer number]
Arguments
file_name
Specifies the file name of the Yield Explorer Data Format (YDF) file.
-append | -replace
The -append option appends the YDF data to an existing YDF file. If a YDF file does not
exist, it is created. The -replace option replaces an existing YDF file. There is no default;
you must specify one of these two options if there is an existing YDF file.
-all | -candidates
write_ydf 581
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
The -all option writes physical information for all instances and nets. The -candidates
option writes data only for diagnostics candidates. If you specify any table name, except
for an EDCT table, all physical information is written for the specified tables by default.
The following example generates Via and Cell physical data tables for all elements:
TEST-T> write_ydf file.ydf –cell –via –replace
The previous example is equivalent to the following example:
TEST-T> write_ydf file.ydf –cell –via –replace -all
If you don’t specify a table name, all tables are written with only the physical information
for the diagnostics candidates. The following example generates Via, Cell, CellPin,
InstanceCell, CellInstancePinNet, Net, NetPath, ViaPosition, NetLayer, EDCT, ChainDef,
Branch, and Bridge physical data tables for diagnostic candidates:
TEST-T> write_ydf file.ydf –replace
In this case, the default is the -candidates option. The command in the previous example
is equivalent to the following command:
TEST-T> write_ydf file.ydf –candidates -replace
-apply_match_names
Applies match name rules to instance and net names, and prints the corresponding values
in YDF. This option is applicable only if you also specify the set_match_names command.
-branch
Writes a subnet information table. You must also specify the -candidate option when
using this option.
-bridge
Writes a bridge information table for the physical diagnostics flow. You must also specify
the -candidate option when using this option.
-cell
Writes a cell information table.
-cell_instance_pin_net
Writes an information table for cells, instances, pins, and nets.
-cell_pin
Specifies a Yield Explorer data segment that reports the pin geometries for individual
MACRO cells defined in the LEF file.
-chain_def
Writes a table that describes the chains in a design.
-custom_field file_name
Specifies the name of a custom fields file that contains descriptions of custom fields to add
to the DFTCandidate table. The format of this file is the same as a schema file (see the
description of the -schema option of the set_ydf command).
For example, to add equipment information to the DFTCandidate table of the YDF file:
write_ydf 582
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
1. Edit the schema file with the text shown in the following example:
Equipment STRING
2. Add "Equipment" as a custom field in file, called "custfields.txt," for example:
.header
Equipment ATE2
.end_header
3. Specify the schema file, using the following command:
set_ydf –schema schema_file_name
4. To use the data from the custom fields file in the YDF file, specify the following command:
write_ydf tester.ydf -custom_field custfields.txt –replace
-device name
Specifies the device name in the DFTCandidate table.
-diex number
Specifies the die X value in the DFTCandidate table.
-diey number
Specifies the die Y value in the DFTCandidate table.
-fab fab_name
Identifies where a chip is fabricated in the header of the DFTCandidate table.
-include_scan_path | -noinclude_scan_path
The include_scan_path option (the default) enables TestMAX ATPG to write out the
intermediate logic between scan cells in the ChainDefinition table. This option must be
enabled with the -chain_def option.
-instance_cell
Writes an information table for instances and cells.
-lot number
Specifies the lot number in the DFTCandidate table.
-nets
Writes a net information table.
-net_contact_position
Reports all via, center, X and Y coordinates for a given net.
-net_layer
Writes a net layer information table.
-net_path
Writes a net path information table.
-replace
Replaces an existing Yield Explorer data format (YDF) file.
-test_condition {condition_list}
write_ydf 583
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Adds a description of the specified TestCondition row to the header of the DFTCandidate
table. In the following example, the TestConditions row with the value “VDD, FREQUENCY”
is added to the YDF table header:
write_ydf file.ydf -test_condition {VDD FREQUENCY} -replace
-version string
Specifies the version number in the DFTCandidate table. You can specify any alphanumeric
string as an argument.
-via
Writes a via information table.
-via_position
Writes a net contact information table.
-wafer number
Specifies the wafer number in the DFTCandidate table.
Description
This command writes a Yield Explorer Data Format (YDF) file, which c. The YDF file also contains diagnostics
results in a DFTCandidate table. Starting with the E-2010.12 release, Yield Explorer reads the output from the
write_ydf command.
Following each run_diagnosis command, you should specify the write_ydf command and include the
name of the YDF file without any options. This command writes the diagnostics candidates table, and all other
tables, with the physical data for the candidates. This data enables Yield Explorer to perform volume
diagnostics analysis. The following example reports the physical data elements for the diagnostics candidates:
If you specify the following example, TestMAX ATPG reports only the physical data for the vias and the LEF
macro cells in their respective data segments:
NumDefects — Total number of defect groups for the last run_diagnosis run.
write_ydf 584
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
FaultNum — Number of the fault reported in the current line; equivalent faults show the same number. This
number helps identify the fault when there are several faults for the same defect.
FaultType — Aligned with the FaultModel column. Entries can be SA0, SA1, STR, STF, and so forth.
Pin — Pin of the fault candidate (only the cell port, Instance/Pin=pinpath).
Score — Diagnosis match score based on the Tests Fail Simulation Fail (TFSF), Tests Fail Simulation Pass
(TFSP), and Test Pass Simulation Fail (TPSF) results.
TestPatternSet — Name of the test pattern set. In the case of split patterns, the name of the last split
pattern file
NumPatternsPass — Total number of passing patterns as indicated by the failures log file
NumPatternsFail — Total number of failing patterns as indicated by the failures log file
CellFault — Indicates if the line reports a net or a cell fault. This column is empty if it cannot be determined
(for example, a non-combinational logic cell).
NumDefectFailPatterns — Total number of failing patterns for a given defect group. This column is
empty when running chain diagnosis.
NumDefectPassPatterns — Total number of passing patterns for a given defect group. This column is
empty when running chain diagnosis.
NumExplainPassPatterns — Total number of passing patterns that are explained by the fault.
write_ydf 585
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
NumUnmappedPatterns — Number of patterns that are unmapped and skipped for diagnosis. This is the
same information that #skipped_pats prints in the report
DiagnosticDate — Date and time of the start of the TestMAX ATPG run: YYYY.MM.DD HH:MM:SS
ShiftClock — Clock name of the last faulty scan chain if the defect is in a chain.
Truncate — If the data log is truncated, this column will display a Y; If the data log is not truncated, this
column will display an N or is empty.
Lot — Lot data from headers or another source; this column is empty by default.
Wafer — Wafer data from headers or another source; this column is empty by default.
DieX — DieX data from headers or another source; this column is empty by default.
DieY — DieY data from headers or another source; this column is empty by default.
If the diagnostics run fails, the DFTCandidate table contains only the FileName, TestPatternSet,
DiagTool, DiagToolVersion, DiagnosticDate, Lot, Wafer, DieX, and DieY fields, and any other
data from the header schema file specified by the set_ydf command.
Examples
write_ydf top_chip.all.ydf
write_ydf top_chip.ydf
write_ydf 586
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
set_ydf
report_physical
report_layout
write_ydf 587
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Other Commands
This section describes the following commands:
l alias
l build
l close_physical_db
l define_proc_attributes
l drc
l exit
l extract_nets
l extract_pins
l gsv_print
l help
l man
l match_names
l open_physical_db
l parse_proc_arguments
l Predefined Aliases
l quit
l refresh_schematic
l reorder_patterns
l reset_state
l test
write_ydf 588
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
alias
Overview
This command defines an alternative symbolic name for a command and potential command arguments and
switches.
Syntax
alias
[<alias_name> [<alias_text>]
Arguments
<alias_name>
The symbolic name of the alias to be defined or reported. If no <alias_name> is provided,
then all currently defined aliases are reported.
<alias_text>
The replacement text to use when an alias is entered as a command. The first word of the
<alias_text> must match a recognized command name. If no <alias_text> is provided,
the alias corresponding to <alias_name> is reported. An alias can be defined as multiple
command lines by separating the individual commands with a semicolon ';' surrounded by
spaces. However, a multi line command cannot contain a source command.
Description
This command defines an alternative symbolic name for a command and potential command arguments and
switches. This alias can then be used in place of the original command. A number of aliases are predefined
upon tool startup. A few rules for defining and using aliases:
Aliases must be entered exactly as defined, including the same use of uppercase and lowercase characters.
There is no abbreviation for aliases or case independence.
An alias can be defined with the same name as a command. In this case the alias has precedence over the
command.
An alias cannot be defined with the same name as an existing alias. To modify an alias definition, first remove it
with the unalias command.
More than one alias to the same command can be defined.
Expansion of aliases is done only once before performing command recognition. Use of alias definitions which
reference other aliases will not work, given this restriction.
An alias can be defined to execute multiple commands by separating the commands with a semicolon ';'.A
space must occur before and after the semicolon.
An alias that is defined using multiple commands cannot contain a reference to the source command.
Examples
BUILD> alias restart set pat -del ; build -force
BUILD> alias
alias name alias text
alias 589
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
---------------- --------------------------------
restart set pat -del ; build -force
DRC> alias
alias name alias text
---------------- --------------------------------
readnet read_netlist -delete
restart build -force
compile run_build_model
exit exit -force
init_Faults add_faults -all
MAKE_PATTERNS run_atpg
DRC> alias exit
alias name alias text
---------------- --------------------------------
exit exit -force
See Also
unalias
Predefined Aliases
alias 590
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
build
Overview
Use this command to return a session to BUILD command mode to run commands that can only be applied
while in BUILD command mode.
Syntax
build
[-force]
Arguments
-force
Used to force TestMAX ATPG into BUILD mode from any other mode, regardless of the
presence of unsaved patterns or simulation models.
Description
Use this command to return a session to BUILD command mode to run commands that can only be applied
while in BUILD command mode. A simulation model that was previously generated is deleted.
Examples
DRC> BUILD
Warning: Internal pattern set is now deleted.
BUILD>
TEST> build -force
Warning: Internal pattern set is now deleted. (M133)
Warning: Current simulation model is now deleted. (M39)
BUILD>
See Also
drc
test
build 591
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
close_physical_db
Overview
This command closes the server process that accesses physical data from a PHDS database for physical
diagnostics.
Syntax
close_physical_db
[-verbose]
Arguments
-verbose
Prints detailed information on the server process while closing the data access to the PHDS
database.
Description
This command closes the server process that accesses physical data from a PHDS database for physical
diagnostics. You can start the server process, called the DAPListener process, using the open_physical_
db command.
For more information on using the close_physical_db command, see the "Starting and Stopping a
PHDS Server" section in the TestMAX ATPG User Guide.
See Also
set_physical_db
open_physical_db
close_physical_db 592
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
define_proc_attributes
Overview
The elements specify the following information:
Syntax
string define_proc_attributes
proc_name
[-info info_text]
[-define_args arg_defs]
[-command_group group_name]
[-hide_body]
[-hidden]
[-dont_abbrev]
[-permanent]
Arguments
proc_name
Specifies the name of the existing procedure.
-info info_text
Provides a help string for the procedure. This is printed by the help command when you
request help for the procedure. If you do not specify info_text, the default is "Procedure".
-define_args arg_defs
Defines each possible procedure argument for use with help -verbose. This is a list of
lists where each list element defines one argument.
-command_group group_name
Defines the command group for the procedure. By default, procedures are placed in the
"Procedures" command group.
-hide_body
Hides the body of the procedure from info body.
-hidden
Hides the procedure from help and info proc.
-dont_abbrev
Specifies that the procedure can never be abbreviated. By default, procedures can be
abbreviated, subject to the value of the sh_command_abbrev_mode variable.
-permanent
Defines the procedure as permanent. You cannot modify permanent procedures in any
way, so use this option carefully.
define_proc_attributes 593
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command associates attributes with a Tcl procedure. These attributes are used to define help for the
procedure, locate it in a particular command group, and protect it.
When a procedure is created with the proc command, it is placed in the Procedures command group. There
is no help text for its arguments. You can view the body of the procedure with info body, and you can modify
the procedure and its attributes. The define_proc_attributes command allows you to change these
aspects of a procedure.
Note that the arguments to Tcl procedures are all named, positional arguments. They can be programmed
with default values, and there can be optional arguments by using the special argument name args. The
define_proc_attributes command does not relate the information that you enter for argument
definitions with -define_args to the actual argument names. If you are describing anything other than
positional arguments, it is expected that you are also using parse_proc_arguments to validate and extract
your arguments.
The info_text is displayed when you use the help command on the procedure.
Use -define_args to define help text and constraints for individual arguments. This makes the help text for
the procedure look like the help for an application command. The value for -define_args is a list of lists.
Each element has the following format:
value_help is the argument name for positional arguments, or a one word description for dash options. It
has no meaning for a Boolean option.
data_type is optional and is used for option validation. The data_type can be any of: string, list, boolean, int,
float, or one_of_string. The default is string.
attributes is optional and is used for option validation. The attributes is a list that can have any of the
following entries:
"required" - This argument must be specified. This attribute is mutually exclusive with optional.
"optional" - Specifying this argument is optional. This attribute is mutually exclusive with "required."
"value_help" - Indicates that the valid values for a one_of_string argument should be listed whenever
argument help is shown.
"values {<list of allowable values>}" - If the argument type is one_of_string, you must specify
the "values" attribute.
"merge_duplicates" - When this option appears more than once in a command, its values are
concatenated into a list of values. The default behavior is that the right-most value for the option specified is
used.
define_proc_attributes 594
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
"remainder" - Specifies that any additional positional arguments should be returned in this option. This
option is only valid for string option types, and by default the option is optional. You can require at least one
item to be specified by also including the required option.
Change the command group of the procedure using the -command_group command. Protect the contents
of the procedure from being viewed by using -hide_body. Prevent further modifications to the procedure by
using -permanent. Prevent abbreviation of the procedure by using -dont_abbrev.
Examples
The following procedure adds two numbers together and returns the sum. For demonstration purposes,
unused arguments are defined.
prompt> plus 5 6
11
In the following example, the argHandler procedure accepts an optional argument of each type supported
by define_proc_attributes, then displays the options and values received:
define_proc_attributes argHandler \
-info "Arguments processor" \
-define_args {
{-Oos "oos help" AnOos one_of_string
{required value_help {values {a b}}}}
{-Int "int help" AnInt int optional}
define_proc_attributes 595
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
define_proc_attributes 596
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
drc
command_summary
Syntax
drc
[-force]
Arguments
-force
Avoids the warning prompt that would otherwise occur when there are any unsaved
patterns. All current patterns are deleted.
Description
Use this command to return a session to DRC command mode to run commands that can only be applied
while in DRC command mode. Any patterns that were previously generated are deleted.
Note: You can also use the run_build_model command to transition to DRC command mode when you
are in BUILD command mode.
Examples
TEST> drc -force
Warning: Internal pattern set is now deleted.
DRC>
See Also
build
test
drc 597
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
exit
Overview
Use this command to terminate the current session and return to the windows or shell environment.
Syntax
exit
[-force]
[integer]
Arguments
-force
Avoids the warning prompt that would otherwise occur upon exit when there are any
unsaved patterns. Note: In Tcl mode, the -force option is built in by default. Therefore,
you should not use this option in Tcl mode.
integer
Returns the specified integer value to the exit calling process. By default, TestMAX ATPG
returns 0 to the calling process when the exit command is specified.
Description
Use this command to terminate the current session and return to the windows or shell environment.
You can also use the quit command to terminate the current session.
Examples
DRC> exit
See Also
quit
exit 598
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
extract_nets
Overview
This command extracts the subnet information for the nets of a design from a PHDS database.
Syntax
extract_nets
[-all]
[-keep_physical | -nokeep_physical]
[-names {driver_pins}]
[-verbose]
Arguments
-all
Extracts the subnet topology for all nets in the design.
-keep_physical | -nokeep_physical
The -keep_physical option (the default) extracts and saves the physical information for
each net and every cell connected to the net. The -nokeep_physical option excludes this
information during extraction.
-names {driver_pins}
Extracts subnet information for nets based on the specified name(s) of a driver pin or pins.
You can print the extracted information using the report_physical –net command.
-verbose
Prints a verbose report of the subnet extraction.
Description
This command extracts the subnet information for the nets of a design from a PHDS database.
For extractions with a long runtime, this command reports incremental 15-minute status updates of the
extraction process, which include the current percentage of extracted nets.
For details on using this command, see "Static Subnet Extraction Using a PHDS Database."
Examples
TEST-T> extract_nets -all
Connecting to physical database.
Successfully connected to physical database.
Continuing extraction, 9.40% of extractions completed
Continuing extraction, 18.79% of extractions completed
Continuing extraction, 28.62% of extractions completed
Continuing extraction, 38.01% of extractions completed
…
extract_nets 599
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
See Also
set_diagnosis
run_diagnosis
set_physical_db
open_physical_db
close_physical_db
extract_nets 600
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
extract_pins
Overview
This command extracts physical information from a physical data store (PHDS) database for the pins of a
design.
Syntax
extract_pins
[-connected_pins | -noconnected_pins]
[-names {pin_names}]
[-scan_path all | scan_path]
[-verbose]
Arguments
-connected_pins | -noconnected_pins
Extracts all pins connected to nets along the scan path specified by the -scan_path
option. Use the -connected_pins option with the -verbose option of the report_scan_
path command when you want to report the locations of additional pins connected to other
fanouts on a scan path net. The default is -noconnected_pins.
-names {pin_names}
Extracts physical information for the specified pins. You can print the extracted information
using the report_physical –pin command.
-scan_path all | scan_path
Extracts instance bounding box and pin location data for either all scan paths (the all
argument) or for all pins along a specified scan path (the scan_path argument).
-verbose
Prints additional physical extraction information for pins.
Description
This command extracts physical information from a physical data store (PHDS) database for the pins of a
design. For more information, see "Using Physical Data for Diagnosis."
See Also
extract_nets
report_physical
report_scan_cells
set_physical_db
extract_pins 601
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
gsv_print
Overview
This command creates a grayscale PostScript file, which captures the schematic displayed in the graphical
schematic viewer (GSV).
Syntax
gsv_print
-file filename -banner string
Arguments
-file filename
Specifies the name of output PostScript file.
-banner string
Prints a user-defined string.
Description
This command creates a grayscale PostScript file, which captures the schematic displayed in the graphical
schematic viewer (GSV).
You can add the gsv_print command into the TestMAX ATPG scripts and capture schematic output
automatically. The computman_writing host must have PostScript drivers installed (usually with lpr/lp). You
can enclose the arguments in double quotation marks (“ “).
gsv_print 602
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
gui_start
Overview
This command starts the TestMAX ATPG GUI.
Syntax
gui_start
Description
In the shell mode, enter the following command to display the TestMAX ATPG GUI in its current state:
gui_start
The TestMAX ATPG GUI appears. The context is switched to listen only to the GUI console.
To exit the GUI, use the gui_stop command.
gui_start 603
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
gui_stop
Overview
This command stops the TestMAX ATPG GUI session and reverts to the TestMAX ATPG shell command
prompt.
Syntax
gui_stop
After you start the TestMAX ATPG GUI (using the gui_start command), enter the
following command to exit the GUI:
gui_stop
Description
This command stops the TestMAX ATPG GUI session and reverts to the TestMAX ATPG shell command
prompt. If you did not use the gui_startcommand to start the GUI, the gui_stop command exits the
TestMAX ATPG application. You can also use the gui_stop command from the pulldown menu File > Exit
GUI. If you use the gui_stopcommand before invoking TestMAX ATPG using the gui_startcommand,
TestMAX ATPG displays an errror message.
gui_stop 604
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
help
Overview
This command reports supported command switches and arguments for a specific command or a list of
available commands if no arguments are provided.
Syntax
help
[command_name]
[-verbose]
[-groups]
Arguments
command_name
Prints help information for the specified command. You can use any combination of the
required characters. You can also use a single wildcard indicator '*' at the end of the
command.
-verbose
Prints syntax information for all commands or the specified command.
-groups
Displays command groups only.
Description
This command reports supported command switches and arguments for a specific command or a list of
available commands if no arguments are provided. For more detailed descriptions of commands, syntax, and
examples, use the man command.
Every command supports a -help switch so in addition to using help add_clocks you can specify a
command such as add_clocks -help. However, commands can be executed only in certain modes and
are illegal in other modes. For example, you can specify help write_patterns at any time but you can type
write_patterns -help only when it is legal to use a write_patterns command.
Examples
DRC> help
DRC> help -verbose
BUILD-T> help report_primitives
DRC> help report_primitives -verbose
report_primitives # REPort PRimitives
[-ports] ()
[-pis] ()
[-pos] ()
[-pios] ()
[-type] ()
help 605
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
[-summary] ()
[-max] ()
[-pins] ()
[-all] ()
[-name] (primitive ID number | instance_name | net_name |
pin_pathname
See Also
report_commands
man
List of Available Commands
help 606
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
man
Overview
command_summary
Syntax
man
[<command> | <rule_id> | <rule_violation_id> | <message_id>
| commands | getting_started | fault_classes | stil_examples
| ram_examples]
Arguments
command
Specifies a command for which online help information is displayed.
rule_id
Specifies the name of a rule for which online help information is displayed.
rule_violation_id
Specifies the name of a rule violation for which online help information for the associated
rule is displayed.
message_id
Specifies the ID number of a warning or error message for which online help information is
displayed.
commands | getting_started | fault_classes | stil_examples | ram_examples
Indicates a specific topic for which online help information is displayed.
Description
This command is the linkage with the online help utility. This is an independent help viewing mechanism, that
can be run by itself or called up during a session. If the online help is opened, the use of a man command
causes it to display a corresponding reference page. If the online help is not already opened, a man command
automatically starts it.
Note the following:
l This command is no functional in the 64-bit shell mode.
l Using this command with no arguments displays a command summary without starting the online help
add_clock -man. However, commands can be executed only in certain modes and are illegal in other
modes. For example, you can type man write_patterns at any time but you can type write_
patterns -man only when it is legal to use a write_patterns command.
man 607
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
BUILD> man
DRC> man add_clocks
TEST> man getting_started
See Also
help
Report Commands
List of Available Commands
Table Column Outside Table:
man 608
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
match_names
Overview
This command builds a lookup table and establishes a link between logical and physical instances or pin
names for physical diagnostics.
Syntax
match_names
[-all]
[-file file_name]
[-max_errors number]
[-report <unmatched | matched | all>]
[-sample [percentage]
[-verbose]
Arguments
-all
Prints a summary report of all matched logical and physical instances in the current
session. This option is the default.
-file file_name
Specifies a file that contains logical names to match to the corresponding physical names.
Each line in this file is an individual logical driver pin name.
-max_errors number
Prints only the specified number of either modules, instances, or pins.
-report <unmatched | matched | all>
Specifies the type of names to include in the name matching report. The unmatched
argument prints only the unmatched names and the matched argument prints matched
names. The all argument, the default, prints both unmatched and matched names.
-sample [percentage]
Checks a single name for each level of hierarchy in the design against the physical design
store (PHDS) database. If you include the percentage parameter, TestMAX ATPG matches
the specified percentage of logical names.
-verbose
Prints additional name matching information, including a list of the mismatched modules
and instances, the CPU time, and the memory usage.
Description
This command builds a lookup table and establishes a link between logical and physical instances or pin
match_names 609
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
names for physical diagnostics. It also reports name mismatches between the logical and physical databases.
The match_names command ensures that the physical pin names are properly associated with the logical
pin names and the subnet information is annotated to the logical view.
To list the current name matching rules, specify the report_settings match_names command.
For more information on using the match_names command, see "Name Matching Using a PHDS
Database."
Examples
TEST-T> match_names
Setting top-level physical design name to 'RISC_CHIP'
Performing Pin Level Analysis
Matched 564 of 884 instance pins
Checking for logical wrapper
Checking for physical wrapper
Checking for differences in the lowest hierarchy levels
Performing Hierarchy Level Analysis
Module Inst Count Matched Unmatched Unmatched Names
------------ ------------ ------- --------- --------------
STACK_TOP 1 0 1 320
-------------------------------------------------------------
Name Match Summary
-------------------------------------------------------------
Number of instance names matched: 564
Number of mismatches found: 320
Percent Correct = 63.80%
CPU_time: 0.02 sec
Query_time: 2.61 sec
Total_time: 2.62 sec
Memory usage summary: 0MB
--------------------------------------------------------------
Closing connection to physical database.
For a complete description of this report, see "Understanding the Name Matching Coverage Report."
See Also
set_match_names
report_physical
match_names 610
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
open_physical_db
Overview
This command starts a server process that queries a PHDS (Synopsys Physical Design Store) database used
for physical diagnostics.
Syntax
open_physical_db
Description
This command starts a server process that queries a PHDS (Synopsys Physical Design Store) database used
for physical diagnostics. Before using this command, make sure a connection is established with the PHDS
database. For example:
set_physical_db -database ./phds
set_physical_db -port_number 9990
open_physical_db
You can confirm the server process started by viewing a list of active jobs on the machine and search for a
process with the name “DAPListener."
When you have completed physical diagnostics, you should close this server process using the close_
physical_db command.
The specification of the port number (using the set_physical_db -port_number command) is optional
before opening the physical database because the default, 9998, is used.
For more information on using the open_physical_db command, see the "Starting and Stopping a PHDS
Server" section in the TestMAX ATPG User Guide.
See Also
set_physical_db
close_physical_db
open_physical_db 611
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
parse_proc_arguments
Overview
The parse_proc_arguments command is used within a Tcl procedure to enable use of the -help option,
and to support argument validation.
Syntax
string parse_proc_arguments
-args arg_list
result_arrary
list arg_list
string result_array
Arguments
-args arg_list
Specifies the list of arguments passed into the Tcl procedure.
result_array
Specifies the name of the array into which the parsed arguments should be stored.
Description
The parse_proc_arguments command is used within a Tcl procedure to enable use of the -help option,
and to support argument validation. It should typically be the first command called within a procedure.
Procedures that use parse_proc_arguments will validate the semantics of the procedure arguments and
generate the same syntax and semantic error messages as any application command (see the examples that
follow).
When a procedure that uses parse_proc_arguments is invoked with the -help option, parse_proc_
arguments will print help information (in the same style as using help -verbose) and will then cause the
calling procedure to return. Similarly, if there was any type of error with the arguments (missing required
arguments, invalid value, and so on), parse_proc_arguments will return a Tcl error and the calling
procedure will terminate and return.
If you didn't specify -help, and the specified arguments were valid, the array variable result_array will
contain each of the argument values, subscripted with the argument name. Note that the argument name here
is not the names of the arguments in the procedure definition, but rather the names of the arguments as
defined using the define_proc_attributes command.
Example
The following procedure shows how parse_proc_arguments is typically used. The argHandler
procedure parses the arguments it receives. If the parse is successful, argHandler prints the options or
values actually received.
parse_proc_arguments 612
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Invoking argHandler with an invalid option causes the following output (and a Tcl error):
parse_proc_arguments 613
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Predefined Aliases
Several predefined aliases are available when you invoke TestMAX ATPG using a Synopsys-supplied setup
or startup command file at the following location:
$SYNOPSYS/admin/setup/tmaxtcl.rc
To prevent this command setup file (and all setup files) from being used, invoke TestMAX ATPG with the -
nostartup option. For more information, see "Setup Command Files."
Alias Behavior
The following alias simplifies the generation of the template configuration file for the stil2verilog
command:
alias write_testbench_config "write_testbench -parameters {-generate_config
stil2verilog.config} -replace"
quit
Overview
Use this command to terminate the current session and return to the windows or shell environment.
Syntax
quit
[-force]
Arguments
-force
Avoids the prompt that occurs at exit if there are any current unsaved patterns.
Description
Use this command to terminate the current session and return to the windows or shell environment.
Note: You can also use the exit command to terminate the current session.
Examples
DRC> quit
See Also
exit
quit 615
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
refresh_schematic
Overview
Use this command to redraw the schematic.
Syntax
refresh_schematic
Arguments
None
Description
Use this command to redraw the schematic. Any changes to the pin data display format will appear in the
redrawn image.
Examples
DRC> refresh_schematic
See Also
set_pindata
Table Column Outside Table:
refresh_schematic 616
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
reorder_patterns
Overview
This command enables you to remove and reorder individual patterns and blocks of patterns as part of the
DFTMAX Ultra flow.
Syntax
reorder_patterns
[-remove {pattern_num pattern_num} | -insert {pattern_num pattern_num}]
Arguments
-remove {pattern_num pattern_num}
Removes individual patterns or blocks of patterns. To remove one or more patterns,
specify a list of one or more pattern numbers to remove. The following command removes
patterns 3 and 9:
reorder_patterns -remove {3 9}
You can specify blocks of patterns by providing the first and last pattern numbers of the
block as a sublist inside the pattern removal list. You can mix individual pattern numbers
and pattern blocks in the list.
The following command removes patterns 5 through 7:
reorder_patterns -remove {{5 7}}
The following command removes patterns 3, 5 through 7, and 9:
reorder_patterns -remove {3 {5 7} 9}
-insert {pattern_num pattern_num
Use this option with the -remove option to remove patterns and reinsert them at a
different location in the pattern set.
For each pattern number or block provided in the removal list, specify the pattern number
where the removed patterns should be reinserted in the insertion list. For removed
patterns that should not be reinserted, specify an insertion pattern value of X.
The following command removes pattern 3, and reinserts patterns 4 through 6 at pattern
0:
reorder_patterns -remove {3 {4 6}} -insert {X 0}
The -remove and -insert options reference the original pattern numbers that existed
before pattern removal or insertion is performed by the reorder_patterns command.
You can issue multiple reorder_patterns commands as needed. Each command
resequences the patterns and pattern numbers after performing the specified pattern
manipulations. Subsequent reorder_patterns commands must refer to the resequenced
pattern numbers.
You can reorder chain test patterns, stuck-at patterns, and transition fault patterns.
However, you cannot perform reordering operations that mix these pattern types.
Attempting to do so results in an error, as shown in the following example:
reorder_patterns 617
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Description
This command enables you to remove and reorder individual patterns and blocks of patterns as part of the
DFTMAX Ultra flow. For more information, see "Using TestMAX ATPG and DFTMAX Ultra Compression" in
the TestMAX ATPG User Guide.
See Also
set_patterns
write_patterns
reorder_patterns 618
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
reset_state
Overview
Use this command to reset the session state in preparation for restarting fault simulation or test generation
using the current fault list.
Syntax
reset_state
Arguments
None
Description
Use this command to reset the session state in preparation for restarting fault simulation or test generation
using the current fault list. Existing internal patterns are deleted and the faults are reset to the status they had
when initially added to the fault list, except those faults whose status was changed to UD or AU remain at that
status.
Examples
TEST> report_summaries
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------ ---- ---------
Detected DT 83321
Possibly detected PT 324
Undetectable UD 1071
ATPG untestable AU 3453
Not detected ND 239
-----------------------------------------------
total faults 88408
test coverage 95.59%
-----------------------------------------------
Pattern Summary Report
-----------------------------------------------
#internal patterns 1605
-----------------------------------------------
TEST> reset_state
Warning: Internal pattern set is now deleted. (M133)
TEST> report_summaries
Uncollapsed Fault Summary Report
-----------------------------------------------
fault class code #faults
------------------ ---- ---------
Detected DT 11816
reset_state 619
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Possibly detected PT 56
Undetectable UD 1071
ATPG untestable AU 3721
Not detected ND 71744
-----------------------------------------------
total faults 88408
test coverage 13.56%
-----------------------------------------------
Pattern Summary Report
-----------------------------------------------
#internal patterns 0
-----------------------------------------------
See Also
add_faults
remove_faults
read_faults
report_faults
update_faults
reset_state 620
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
source
Overview
Use this command for executing commands contained in an external file.
Syntax
source
file_name [-continue_on_error] [-echo] [-verbose]
Arguments
file_name
Specifies the path name of a file containing commands to be executed.
-continue_on_error
Causes the script to continue running even if errors have occurred.
-echo
Used during Tcl Mode, echoes the commands in the file_name and displays them in the
GUI transcript or shell xterm.
-verbose
Displays all results, such as variable assignments, as they appear.
Description
Use this command for executing commands contained in an external file. The command history list will only
contain this command and not include commands inside the command file.
Note: Use the set_commands command to control error handling while executing commands from the
command file as well as whether the commands are to appear in the transcript.
Examples
DRC> source noabort
DRC> source my_setup.cmd
See Also
Setup Command Files
Set Commands
source 621
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
test
Overview
This command changes the session to TEST command mode, where fault simulation and test generation can
be performed.
Syntax
test
Arguments
None
Description
This command changes the session to TEST command mode, where fault simulation and test generation can
be performed. To enter TEST command mode, the DRC process must be successfully completed.
Note: You can also use the run_drc command to transition to TEST mode.
Examples
TEST> drc
Warning: Internal pattern set is now deleted.
DRC> test
------------------------------------------------------------------------
Begin scan design rule checking...
Begin simulating sg0 load_unload proc...
Begin clock rules checking...
.
.
.
------------------------------------------------------------------------
DRC Summary Report
------------------------------------------------------------------------
Warning: Rule V16 (miscounted formal parameters) failed 2 times.
Warning: Rule S19 (nonscan cell disturb) failed 2 times.
There were 4 violations that occurred during DRC process.
Design rules checking was successful, CPU time=0.66 sec.
---------------------------------------------------------------------------
---
TEST>
See Also
build
drc
run build_model
run_drc
test 622
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
unalias
Overview
This command is used to remove alias definitions.
Syntax
unalias
<alias_name | -all>
Arguments
alias_name
Deletes the alias definition alias_name. If no alias exists with this name, you get an error
message.
-all
Deletes all defined aliases.
Description
This command is used to remove alias definitions.
unalias 623
TestMAX ATPG and TestMAX Diagnosis Commands Version P-2019.03-SP4
Examples
BUILD> alias
alias name alias text
----------- --------------------------------
readnet read_netlist -delete
restart build -force
compile run_build_model
status report_summaries
BUILD> unalias compile
BUILD> alias
alias name alias text
----------- --------------------------------
readnet read_netlist -delete
restart build -force
compile run_build_model
status report_summaries
BUILD> alias
alias name alias text
----------- --------------------------------
readnet read_netlist -delete
restart build -force
status report_summaries
TEST> unalias -all
TEST> alias
alias name alias text
------------ --------------------------------
Warning: Requested report contained no entries. (M13)
See Also
alias
unalias 624