Tweaker™ Variables
Tweaker™ Variables
Variables
Version T-2022.03, March 2022
Tweaker™ Variables Version T-2022.03
2
Tweaker™ Variables Version T-2022.03
Contents
allow_cell_padding_flipped_with_orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ...........
allow_cell_padding_overlapped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ...........
allow_instance_padding_flipped_with_orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ...........
antenna_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 ..........
apr_eco_tcl_ignore_antenna_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ...........
apr_tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
..........
auto_add_deleted_instances_to_spare_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 ..........
auto_buffer_placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ...........
auto_config_cell_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ...........
auto_config_unit_site_by_consecutive_row_coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 ..........
auto_config_verilog_undeclared_module_port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 ..........
auto_create_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ...........
auto_create_cell_to_module_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 ..........
auto_create_sub_design_by_lef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ...........
auto_create_sub_module_by_lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 ..........
auto_detect_symmetry_by_def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 ..........
auto_partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 ..........
auto_partition_auto_submit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 ..........
auto_partition_design_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ...........
auto_partition_merge_interface_eco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 ..........
auto_partition_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 ..........
auto_partition_queue_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 ..........
auto_update_ignored_physical_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 ..........
avoid_space_fragmentation_by_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 ..........
bottom_routing_layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 ..........
build_missing_pin_at_lefin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ...........
case_analysis_sequential_propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 ..........
cell_pin_avoid_power_strap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 ...........
change_netlist_hierarchy_try_using_existing_port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ...........
check_pin_access_point_at_cell_margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ...........
clock_eco_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 ..........
clock_surgery_margin_summarize_common_path_violation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ...........
combo_buffer_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 ...........
compare_power_management_cell_equal_by_pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 ..........
compare_register_cell_equal_by_pin_names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 ..........
congestion_map_grid_size_by_row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 ...........
continue_on_tweaker_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 ..........
convert_empty_modules_to_bbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 ..........
corner_pruning_enable_slack_scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ...........
corner_pruning_enable_twf_scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 ...........
Contents 3
Tweaker™ Variables Version T-2022.03
Contents 4
Tweaker™ Variables Version T-2022.03
Contents 5
Tweaker™ Variables Version T-2022.03
gui_title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
...........
high_priority_for_dont_use_attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289 ..........
horizontal_cell_edge_spacing_rule_filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 ...........
ignore_def_placement_blockages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 ..........
ignore_eco_attr_while_reading_partial_def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296 ..........
ignore_symmetry_check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298 ..........
ilm_list_for_eco_tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 ...........
innovus_eco_tcl_half_unit_site_cell_placement_offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302 ..........
innovus_eco_tcl_in_bound_cell_placement_offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304 ..........
ir_eco_rhsc_aggressor_view_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 ...........
ir_eco_rhsc_analysis_view_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307 ..........
ir_eco_rhsc_restore_db_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 ...........
ir_eco_rhsc_timing_corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 ...........
ir_eco_rhsc_tool_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312 ..........
ir_eco_rhsc_voltage_impact_view_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 ..........
ir_eco_rhsc_work_dir_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 ..........
ir_eco_update_eco_cell_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 ...........
keep_def_cover_physical_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319 ..........
keep_def_fixed_physical_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 ...........
keep_netlist_in_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324 ..........
keep_used_spare_cells_in_netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326 ..........
leakage_power_unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 ...........
lef_default_symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 ...........
lef_layers_to_be_ignored . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 ...........
lefin_cell_width_spacing_rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 ...........
libin_read_internal_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336 ..........
libin_with_voltage_temperature_information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338 ..........
library_cells_to_be_designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 ...........
library_cells_to_be_ignored . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342 ..........
log_file_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 ...........
log_period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346...........
max_file_in_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347 ..........
max_sdc_error_msg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 ...........
merge_nlcmd_skip_inst_overlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350 ..........
merge_nlcmd_skip_physical_conflict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 ...........
merge_nlcmd_skip_sizing_conflict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 ...........
metal_eco_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356 ..........
metal_layer_blockage_as_placement_blockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358 ..........
metal_layer_for_std_cell_power_ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360 ..........
min_required_def_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361 ..........
multi_machine_client_available_cpu_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363 ..........
multi_machine_client_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365 ..........
multi_machine_client_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367 ..........
multi_machine_submit_job_postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369 ..........
multi_machine_submit_job_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371 ..........
Contents 6
Tweaker™ Variables Version T-2022.03
Contents 7
Tweaker™ Variables Version T-2022.03
sdf_hier_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456
..........
sdf_noedge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
...........
sdf_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
...........
search_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460
..........
search_space_cross_placed_blocked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .462 ..........
session_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .464 ..........
skip_rtl_verilog_files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466...........
skip_vlgin_error_modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 ...........
slack_view_show_dominate_path_drv_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470 ..........
slackin_honor_hierarchy_pruning_design_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472 ..........
slk_aggressive_hfi_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 ...........
slk_area_recovery_fix_internal_power_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476 ..........
slk_area_recovery_keep_one_buffer_for_back_to_back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 ...........
slk_area_recovery_list_by_design_filename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479 ..........
slk_area_recovery_list_filename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481 ..........
slk_auto_bypass_max_fanout_limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483 ..........
slk_auto_fix_always_dont_overlap_def_fix_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 ...........
slk_auto_fix_fit_to_free_space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 ...........
slk_auto_fix_max_loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 ...........
slk_auto_fix_max_wire_length_limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 ...........
slk_auto_insertion_max_fanout_limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .493 ..........
slk_auto_learning_buffer_list_by_autofix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 ...........
slk_auto_sizing_adjust_placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 ...........
slk_auto_sizing_buf_inv_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 ...........
slk_auto_sizing_cell_delay_impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .501 ..........
slk_auto_sizing_comb_logic_cell_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 ...........
slk_auto_sizing_disable_si_net_sink_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .505 ..........
slk_auto_sizing_effort_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .507 ..........
slk_auto_sizing_enable_cell_mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 ...........
slk_auto_sizing_ff_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511 ..........
slk_auto_sizing_high_effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513 ..........
slk_auto_sizing_ignore_input_pin_slack_check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 ...........
slk_auto_sizing_instance_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 ...........
slk_auto_sizing_keep_long_wire_slew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 ..........
slk_auto_sizing_keep_routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521 ..........
slk_auto_sizing_keep_si_slew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .523 ..........
slk_auto_sizing_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .525 ..........
slk_auto_sizing_max_fanout_limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .527 ..........
slk_auto_sizing_max_shift_distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .529 ..........
slk_auto_sizing_min_improved_slack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .531 ..........
slk_auto_sizing_rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 ...........
slk_auto_sizing_setup_twf_impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 ...........
slk_auto_sizing_use_constant_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .538 ..........
slk_auto_sizing_watch_leakage_cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .540 ..........
slk_auto_sizing_within_instance_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .542 ..........
Contents 8
Tweaker™ Variables Version T-2022.03
Contents 9
Tweaker™ Variables Version T-2022.03
Contents 10
Tweaker™ Variables Version T-2022.03
Contents 11
Tweaker™ Variables Version T-2022.03
Contents 12
Tweaker™ Variables Version T-2022.03
Contents 13
Tweaker™ Variables Version T-2022.03
Contents 14
Tweaker™ Variables Version T-2022.03
Contents 15
Tweaker™ Variables Version T-2022.03
Contents 16
Tweaker™ Variables Version T-2022.03
Contents 17
Tweaker™ Variables Version T-2022.03
Contents 18
Tweaker™ Variables Version T-2022.03
Contents 19
Tweaker™ Variables Version T-2022.03
allow_cell_padding_flipped_with_orientation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
allow_cell_padding_flipped_with_orientation
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By setting this variable to "true" (the default), the cell padding can
be flipped with the orientation when the target instance got flipped
after ECO. When set to "false", Tweaker will not flip the cell
allow_cell_padding_flipped_with_orientation 20
Tweaker™ Variables Version T-2022.03
EXAMPLES
set allow_cell_padding_flipped_with_orientation true
SEE ALSO
set_cell_padding (cmd)
report_cell_padding (cmd)
set_instance_padding (cmd)
report_instance_padding (cmd)
load_padding_list (cmd)
enable_cell_padding (var)
enable_instance_padding (var)
allow_cell_padding_overlapped (var)
slk_dont_touch_padding_inst (var)
allow_instance_padding_flipped_with_orientation (var)
allow_cell_padding_flipped_with_orientation 21
Tweaker™ Variables Version T-2022.03
allow_cell_padding_overlapped
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
allow_cell_padding_overlapped
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, the overlaps checking considers the cell padding.
allow_cell_padding_overlapped 22
Tweaker™ Variables Version T-2022.03
EXAMPLES
set allow_cell_padding_overlapped false
SEE ALSO
slk_dont_touch_padding_inst (var)
allow_cell_padding_overlapped 23
Tweaker™ Variables Version T-2022.03
allow_instance_padding_flipped_with_orientation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
allow_instance_padding_flipped_with_orientation
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By setting this variable to "true" (the default), the instance
padding can be flipped with the orientation when the target instance
was flipped after ECO. When set to "false", Tweaker will not flip the
allow_instance_padding_flipped_with_orientation 24
Tweaker™ Variables Version T-2022.03
EXAMPLES
set allow_instance_padding_flipped_with_orientation true
SEE ALSO
set_cell_padding (cmd)
report_cell_padding (cmd)
set_instance_padding (cmd)
report_instance_padding (cmd)
load_padding_list (cmd)
enable_cell_padding (var)
enable_instance_padding (var)
allow_cell_padding_overlapped (var)
slk_dont_touch_padding_inst (var)
allow_cell_padding_flipped_with_orientation (var)
allow_instance_padding_flipped_with_orientation 25
Tweaker™ Variables Version T-2022.03
antenna_list
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
antenna_list
TYPE
String
DEFAULT
empty
DESCRIPTION
Specifies the list of antenna candidate cells which is referenced
Tweaker GUI.
EXAMPLES
antenna_list 26
Tweaker™ Variables Version T-2022.03
antenna_list 27
Tweaker™ Variables Version T-2022.03
apr_eco_tcl_ignore_antenna_cells
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
apr_eco_tcl_ignore_antenna_cells
TYPE
Boolean
DEFAULT
true
DESCRIPTION
Usually the antenna cell does not exist in the Tweaker database and causes
a ECO drop since the connectivity is mismatched between Tweaker and APR.
When this variable is set to "true" (the default), it ignores the antenna
This variable only works when the antenna cell is defined in the
apr_eco_tcl_ignore_antenna_cells 28
Tweaker™ Variables Version T-2022.03
antenna_list variable.
EXAMPLES
[CMD] set apr_eco_tcl_ignore_antenna_cells true
SEE ALSO
antenna_list (var)
apr_eco_tcl_ignore_antenna_cells 29
Tweaker™ Variables Version T-2022.03
apr_tool
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
apr_tool
TYPE
string
DEFAULT
icc icc2 soce innovus
DESCRIPTION
When the APR tool list is defined before ECO, Tweaker generates
the corresponding APR tool ECO Tcl after ECO. If the APR tool
apr_tool 30
Tweaker™ Variables Version T-2022.03
icc
icc2
soce
innovus
olympus
atop
EXAMPLES
set apr_tool innovus
set sta_tool pt
...
slkdc -check_slack_consistency
...
...
...
SEE ALSO
ecotclout (cmd)
apr_tool 31
Tweaker™ Variables Version T-2022.03
sta_tool (var)
apr_tool 32
Tweaker™ Variables Version T-2022.03
auto_add_deleted_instances_to_spare_cells
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
auto_add_deleted_instances_to_spare_cells
Recycles the manually deleted instance into the space cell pools.
TYPE
Boolean
DEFAULT
true
DESCRIPTION
This is a Metal ECO related variable.
instances that have been deleted manually by you and transfers these
modules (with the eco -spare_module command), then the recycled cell
auto_add_deleted_instances_to_spare_cells 33
Tweaker™ Variables Version T-2022.03
EXAMPLE
set auto_add_deleted_instances_to_spare_cells true
...
SEE ALSO
eco (cmd)
recycle_floating_cones (cmd)
auto_add_deleted_instances_to_spare_cells 34
Tweaker™ Variables Version T-2022.03
auto_buffer_placement
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
auto_buffer_placement
TYPE
Boolean
DEFAULT
true
DESCRIPTION
This is an obsolete variable for testing purpose only.
EXAMPLE
set auto_buffer_placement true
auto_buffer_placement 35
Tweaker™ Variables Version T-2022.03
auto_buffer_placement 36
Tweaker™ Variables Version T-2022.03
auto_config_cell_size
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
auto_config_cell_size
TYPE
Boolean
DEFAULT
false
DESCRIPTION
In general, cells physical data such as height and width are derived
from the imported LEF files. By default, Tweaker does not configure
the missing data of the physical cells. However, you can enable Tweaker
auto_config_cell_size 37
Tweaker™ Variables Version T-2022.03
EXAMPLES
set auto_config_cell_size true
auto_config_cell_size 38
Tweaker™ Variables Version T-2022.03
auto_config_unit_site_by_consecutive_row_coordinate
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
auto_config_unit_site_by_consecutive_row_coordinate
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, the SITE name defined in the ROW definition of the DEF file
is used. If the SITE name is not defined in the Tech LEF, Tweaker auto-configures
In the advanced process, the half SITE is also defined in Tech LEF. When Tweaker
uses half SITE, free space cannot be highlighted and the ECO cell cannot be placed
auto_config_unit_site_by_consecutive_row_coordinate 39
Tweaker™ Variables Version T-2022.03
in the ROW.
When this variable is enabled before importing the DEF file, Tweaker refers
EXAMPLES
set auto_config_unit_site_by_consecutive_row_coordinate true
defin top.def
auto_config_unit_site_by_consecutive_row_coordinate 40
Tweaker™ Variables Version T-2022.03
auto_config_verilog_undeclared_module_port
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
auto_config_verilog_undeclared_module_port
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When a submodule is instantiated with additional module ports which are not
defined under the submodule itself due to the design modification, it causes
You can avoid this issue by setting this variable to true which allows
auto_config_verilog_undeclared_module_port 41
Tweaker™ Variables Version T-2022.03
EXAMPLE
set auto_config_verilog_undeclared_module_port true
verilogin ...
auto_config_verilog_undeclared_module_port 42
Tweaker™ Variables Version T-2022.03
auto_create_cell
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
auto_create_cell
TYPE
Boolean
DEFAULT
false
DESCRIPTION
While an instance can exist in the netlist but not in the LIB, LEF, or
module information, Tweaker reports an error during the net compiling stage.
By setting this variable to true, you can avoid this error by allowing Tweaker
auto_create_cell 43
Tweaker™ Variables Version T-2022.03
EXAMPLES
set auto_create_cell true
verilogin ...
auto_create_cell 44
Tweaker™ Variables Version T-2022.03
auto_create_cell_to_module_type
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_create_cell_to_module_type
TYPE
String
DEFAULT
empty
DESCRIPTION
By default, when the auto_create_cell variable is set true, the undefined
you can define the "module" attribute of the newly generated black box by
auto_create_cell_to_module_type 45
Tweaker™ Variables Version T-2022.03
EXAMPLES
set auto_create_cell true
verilogin ...
SEE ALSO
auto_create_cell (var)
auto_create_cell_to_module_type 46
Tweaker™ Variables Version T-2022.03
auto_create_sub_design_by_lef
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_create_sub_design_by_lef
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, if the name of a module in the netlist and the name of a cell in
the lef file coexists, Tweaker directly assigns "module" and auto-creates
LEF information.
When this variable is set false, Tweaker errors out at thhe netlist compile
auto_create_sub_design_by_lef 47
Tweaker™ Variables Version T-2022.03
stage.
EXAMPLES
set auto_create_sub_design_by_lef true
verilogin ...
SEE ALSO
auto_create_sub_module_by_lib (var)
auto_create_sub_design_by_lef 48
Tweaker™ Variables Version T-2022.03
auto_create_sub_module_by_lib
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_create_sub_module_by_lib
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, if any conflicts in the names between a module in the netlist
and a cell in the LIB file is detected, Tweaker treats the conflicting name
If this variable is set false, Tweaker will error out at the netlist compile
stage.
auto_create_sub_module_by_lib 49
Tweaker™ Variables Version T-2022.03
EXAMPLES
set auto_create_sub_module_by_lib true
verilogin ...
SEE ALSO
auto_create_sub_design_by_lef (var)
auto_create_sub_module_by_lib 50
Tweaker™ Variables Version T-2022.03
auto_detect_symmetry_by_def
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
auto_detect_symmetry_by_def
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, Tweaker honors the SYMMETRY definition in the LEF file.
If the LEF file is missing the SYMMETRY information, when this variable
is set to true (the default), Tweaker refers instance placement from the
auto_detect_symmetry_by_def 51
Tweaker™ Variables Version T-2022.03
EXAMPLE
set auto_detect_symmetry_by_def true
SEE ALSO
ignore_symmetry_check (var)
lef_default_symmetry (var)
auto_detect_symmetry_by_def 52
Tweaker™ Variables Version T-2022.03
auto_partition
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition
TYPE
String
DEFAULT
empty
DESCRIPTION
When this variable is set to its default value of v1, Tweaker adopts its
For the current Tweaker version, "v1" is the only available algorithm to
be used.
When this variable is set to "v1", Tweaker generated the pre-ECO saved
auto_partition 53
Tweaker™ Variables Version T-2022.03
session and the necessary scripts for either you or Tweaker auto-submit
function.
EXAMPLES
set auto_partition v1
SEE ALSO
auto_partition_auto_submit (var)
auto_partition_design_list (var)
auto_partition_merge_interface_eco (var)
auto_partition_number (var)
auto_partition_queue_command (var)
auto_partition 54
Tweaker™ Variables Version T-2022.03
auto_partition_auto_submit
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition_auto_submit
TYPE
Boolean
DEFAULT
empty
DESCRIPTION
When this variable is set to true, Tweaker auto-submits Tweaker runs
right after generating Pre-ECO Tweaker saved session and the needed
scripts.
Tweaker honors the queue command if you specify them with the
auto_partition_queue_command variable.
auto_partition_auto_submit 55
Tweaker™ Variables Version T-2022.03
the job.
This variable is only valid when the auto partition is set to v1:
set auto_partition v1
EXAMPLES
set auto_partition_auto_submit true
SEE ALSO
auto_partition (var)
auto_partition_design_list (var)
auto_partition_merge_interface_eco (var)
auto_partition_number (var)
auto_partition_queue_command (var)
auto_partition_auto_submit 56
Tweaker™ Variables Version T-2022.03
auto_partition_design_list
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition_design_list
TYPE
String
DEFAULT
empty
DESCRIPTION
You can the design that can be fixed during the ECO operation.
Furthermore, Tweaker takes the given design list and divides the
list into several runs. The number of runs can be specified with
This variable is only valid when the auto partition is set to v1:
auto_partition_design_list 57
Tweaker™ Variables Version T-2022.03
set auto_partition v1
EXAMPLES
set auto_partition_design_list { top dsub_1 dsub_2 }
SEE ALSO
auto_partition (var)
auto_partition_auto_submit (var)
auto_partition_merge_interface_eco (var)
auto_partition_number (var)
auto_partition_queue_command (var)
auto_partition_design_list 58
Tweaker™ Variables Version T-2022.03
auto_partition_merge_interface_eco
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition_merge_interface_eco
TYPE
Boolean
DEFAULT
empty
DESCRIPTION
When this variable is set to true, Tweaker fixes the interface path
within the given auto partition design list during auto-partition and
automatically merges the ECO result with those runs which are fixing
non-interface paths.
When this variable is set to false, Tweaker does not fix the interface
auto_partition_merge_interface_eco 59
Tweaker™ Variables Version T-2022.03
paths.
You can set the design that can be touch with the
auto_partition_design_list variable.
set auto_partition v1
EXAMPLES
set auto_partition_design_list true
SEE ALSO
auto_partition (var)
auto_partition_design_list (var)
auto_partition_auto_submit (var)
auto_partition_number (var)
auto_partition_queue_command (var)
auto_partition_merge_interface_eco 60
Tweaker™ Variables Version T-2022.03
auto_partition_number
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition_number
TYPE
[ Integer | auto ]
DEFAULT
empty
DESCRIPTION
You can control the number of the partitions with this variable.
When you set this variable, Tweaker uses the instance count of
auto_partition_number 61
Tweaker™ Variables Version T-2022.03
given number.
This variable is only valid when the auto partition is set to v1:
set auto_partition v1
auto_partition_design_list variable.
EXAMPLES
set auto_partition_number 3
SEE ALSO
auto_partition (var)
auto_partition_auto_submit (var)
auto_partition_design_list (var)
auto_partition_merge_interface_eco (var)
auto_partition_queue_command (var)
auto_partition_number 62
Tweaker™ Variables Version T-2022.03
auto_partition_queue_command
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_partition_queue_command
TYPE
String
DEFAULT
empty
DESCRIPTION
With this variable, you can set the queue command that is
set auto_partition v1
auto_partition_queue_command 63
Tweaker™ Variables Version T-2022.03
EXAMPLES
set auto_partition_queue_command { bsub -Is -n 4 "mem==40000" }
SEE ALSO
auto_partition (var)
auto_partition_auto_submit (var)
auto_partition_design_list (var)
auto_partition_merge_interface_eco (var)
auto_partition_number (var)
auto_partition_queue_command 64
Tweaker™ Variables Version T-2022.03
auto_update_ignored_physical_cells
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
auto_update_ignored_physical_cells
TYPE
Boolean
DEFAULT
true
DESCRIPTION
Usually physical cells that should be ignored are described before defin.
But if there are extra physical cells available to be released after some
ECO, then Tweaker can still support it to list those extra physical cell
resources as free space, like entering into gate array cell mode.
auto_update_ignored_physical_cells 65
Tweaker™ Variables Version T-2022.03
If those extra physical cells resource are indeed used, by default of this
control variable Tweaker deletes the used ones during data out.
EXAMPLES
set def_physical_cells_to_be_ignored fillerA fillerB
defin ...
...ECO...
...ECO...
ecotclout ...
SEE ALSO
def_physical_cells_to_be_ignored (var)
def_physical_cells_to_be_ignored_except_instance (var)
def_physical_instances_to_be_ignored (var)
keep_def_fixed_physical_cells (var)
auto_update_ignored_physical_cells 66
Tweaker™ Variables Version T-2022.03
avoid_space_fragmentation_by_cell
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
avoid_space_fragmentation_by_cell
smaller or equal to the honored cell size during the auto insertion operation.
TYPE
String
DEFAULT
empty
DESCRIPTION
By default, Tweaker inserts the buffer on the ideal location according
to its timing result during the insertion operation. However, this insertion
avoid_space_fragmentation_by_cell 67
Tweaker™ Variables Version T-2022.03
EXAMPLES
set avoid_space_fragmentation_by_cell { DELHVT05 }
...
SEE ALSO
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold.tcl
avoid_space_fragmentation_by_cell 68
Tweaker™ Variables Version T-2022.03
bottom_routing_layer
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
bottom_routing_layer
TYPE
Integer
DEFAULT
2
DESCRIPTION
Specifies the bottom routing layer by layer name or layer number. The
bottom_routing_layer 69
Tweaker™ Variables Version T-2022.03
in this variable:
set bottom_routing_layer 2
set top_routing_layer 5
create_congestion_db
EXAMPLES
set bottom_routing_layer 2
set top_routing_layer 5
create_congestion_db
SEE ALSO
create_congestion_db (cmd)
top_routing_layer (var)
bottom_routing_layer 70
Tweaker™ Variables Version T-2022.03
build_missing_pin_at_lefin
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
build_missing_pin_at_lefin
Builds up pins found in the LEF file which is undefined at the library file.
TYPE
String
DEFAULT
true
DESCRIPTION
By default, Tweaker builds up every pin described in the LEF file to
build_missing_pin_at_lefin 71
Tweaker™ Variables Version T-2022.03
EXAMPLES
set build_missing_pin_at_lefin false
libin ..
lefin ..
build_missing_pin_at_lefin 72
Tweaker™ Variables Version T-2022.03
case_analysis_sequential_propagation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
case_analysis_sequential_propagation
TYPE
String [ always | never ]
DEFAULT
never
DESCRIPTION
This is a Metal ECO related variable.
When executing Metal ECO remap operation, the SDC constraint file is a
necessary imported file for analyzing the timing properties. During this
internal STA process, Tweaker can honor the case analyzed value and
case_analysis_sequential_propagation 73
Tweaker™ Variables Version T-2022.03
"always"
EXAMPLES
set metal_eco_mode true
...
gen_slack_report ...
case_analysis_sequential_propagation 74
Tweaker™ Variables Version T-2022.03
cell_pin_avoid_power_strap
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
cell_pin_avoid_power_strap
TYPE
string
DEFAULT
empty
DESCRIPTION
For advanced technology nodes, such as 10nm or less, you can
pin and the power strap. When this variable is enabled, Tweaker
also avoids the overlapping of the ECO cell with the FIXED/COVER
cell_pin_avoid_power_strap 75
Tweaker™ Variables Version T-2022.03
net.
checked. When you specify the layer_name or all values, the tool
checks the specific layer or all layer cell pins and power strap
EXAMPLE
libin ...
lefin ...
## layer_name
verilogin ...
defin ...
slkfix ...
SEE ALSO
vertical_pin_track_color_aware
vertical_pin_avoid_power_strap
report_cell_pin_power_strap_violation
cell_pin_avoid_power_strap 76
Tweaker™ Variables Version T-2022.03
change_netlist_hierarchy_try_using_existing_port
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
change_netlist_hierarchy_try_using_existing_port
Uses the existing port to connect the specified instance when changing
TYPE
Boolean
DEFAULT
true
DESCRIPTION
When changing the logical hierarchy of the specified instance, a module port is
needed to connect with the specified instance. Tweaker checks if the module
does not exist, a new module port is created to connect the specified instance.
change_netlist_hierarchy_try_using_existing_port 77
Tweaker™ Variables Version T-2022.03
EXAMPLES
set change_netlist_hierarchy_try_using_existing_port true
SEE ALSO
change_netlist_hierarchy (cmd)
change_netlist_hierarchy_try_using_existing_port 78
Tweaker™ Variables Version T-2022.03
check_pin_access_point_at_cell_margin
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
check_pin_access_point_at_cell_margin
TYPE
Float
DEFAULT
0.25
DESCRIPTION
For advanced processes of 10nm or 7nm, you should to set a
ratio value list for multi-row cells. The unit size of this variable
is um (10^6 m).
check_pin_access_point_at_cell_margin 79
Tweaker™ Variables Version T-2022.03
EXAMPLES
set check_pin_access_point_at_cell_margin 0.5
SEE ALSO
pin_access_point_for_ndr_net (var)
metal1_pin_access_point_min_count
check_pin_access_point_at_cell_margin 80
Tweaker™ Variables Version T-2022.03
clock_eco_mode
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
clock_eco_mode
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This is Tweaker-C1 Clock ECO related variable.
This variable is the main switch to enable Tweaker Clock ECO. During
margin for clock surgery. Then, Tweaker auto-fix can touch the clock
clock_eco_mode 81
Tweaker™ Variables Version T-2022.03
EXAMPLES
set clock_eco_mode true
SEE ALSO
metal_eco_mode (var)
clock_eco_mode 82
Tweaker™ Variables Version T-2022.03
clock_surgery_margin_summarize_common_path_violation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
clock_surgery_margin_summarize_common_path_violation
Enables or disables to include common clock path violation into the margin summary.
TYPE
Boolean
DEFAULT
false
DESCRIPTION
In clock surgery, the Path View has columns showing margin by collecting
all paths violation. As the common paths influence not only launch clock side
but also capture clock side at the same time. The timing margin summary will
Tweaker will exclude those common paths' timing margin into summary.
clock_surgery_margin_summarize_common_path_violation 83
Tweaker™ Variables Version T-2022.03
EXAMPLE
set clock_surgery_margin_summarize_common_path_violation true
clock_surgery_margin_summarize_common_path_violation 84
Tweaker™ Variables Version T-2022.03
combo_buffer_list
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
combo_buffer_list
Defines the second candidate source for the manual insertion on Tweaker GUI.
TYPE
String
DEFAULT
empty
DESCRIPTION
For manual buffer insertion in GUI mode, beside the candidates specified
which is inserted according to the defined sequence and the cell type.
combo_buffer_list 85
Tweaker™ Variables Version T-2022.03
EXAMPLE
set slk_repeater_insertion_buff_list { BUFX1 BUFX2 BUFX4 BUFX8 }
combo_buffer_list 86
Tweaker™ Variables Version T-2022.03
compare_power_management_cell_equal_by_pin
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
compare_power_management_cell_equal_by_pin
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By setting this variable to true, Tweaker compares the PG
compare_power_management_cell_equal_by_pin 87
Tweaker™ Variables Version T-2022.03
EXAMPLES
set compare_power_management_cell_equal_by_pin true
compare_power_management_cell_equal_by_pin 88
Tweaker™ Variables Version T-2022.03
compare_register_cell_equal_by_pin_names
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
compare_register_cell_equal_by_pin_names
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, when the mapping rule is specified, Tweaker checks the function
defined in the library file for source cells and target cells to make sure
the function is equal in between. Only when function is matched, Tweaker can
If the function of either source cells or target cells are missing and cause
compare_register_cell_equal_by_pin_names 89
Tweaker™ Variables Version T-2022.03
the failure of mapping, you can enable this variable to simply compare the
pin names matching to force Tweaker to map the source cells and target cells
successfully.
EXAMPLES
set compare_register_cell_equal_by_pin_names true
compare_register_cell_equal_by_pin_names 90
Tweaker™ Variables Version T-2022.03
congestion_map_grid_size_by_row
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
congestion_map_grid_size_by_row
TYPE
Integer
DEFAULT
8
DESCRIPTION
You can set the congestion map's grid size to the multiple
on each layer of the design. To ensure that Tweaker does not consider
congestion_map_grid_size_by_row 91
Tweaker™ Variables Version T-2022.03
every sparse non-congested patch as routable, you can adjust the size
of the congestion map grid. This way, Tweaker can expand each grid
EXAMPLES
set congestion_grid_size_by_row 10
SEE ALSO
create_congestion_db (cmd)
slk_congestion_aware_exhaustive_search_range (var)
slk_congestion_aware_hfs_search_range (var)
slk_congestion_aware_insertion (var)
slk_update_congestion_map (var)
congestion_map_grid_size_by_row 92
Tweaker™ Variables Version T-2022.03
continue_on_tweaker_error
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
continue_on_tweaker_error
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, Tweaker errors out or stops when there is a compile error.
When this variable is set to true, you can enable Tweaker to move
continue_on_tweaker_error 93
Tweaker™ Variables Version T-2022.03
EXAMPLE
set continue_on_tweaker_error true
....
source $script_path/general_setting.tcl
slkdc -check_slack_consistency
continue_on_tweaker_error 94
Tweaker™ Variables Version T-2022.03
convert_empty_modules_to_bbox
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
convert_empty_modules_to_bbox
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, Tweaker treats the empty module as a "module" where
When this variable it set to true, Tweaker converts these empty modules
convert_empty_modules_to_bbox 95
Tweaker™ Variables Version T-2022.03
EXAMPLE
set convert_empty_modules_to_bbox true
verilogin ...
convert_empty_modules_to_bbox 96
Tweaker™ Variables Version T-2022.03
corner_pruning_enable_slack_scaling
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
corner_pruning_enable_slack_scaling
TYPE
Boolean
DEFAULT
true
DESCRIPTION
This variable controls the minor corners' slack reports are
When set to true (the default), the minor corners' slack reports
are scaled into the dominant corners. When set to false, the
corner_pruning_enable_slack_scaling 97
Tweaker™ Variables Version T-2022.03
evaluate_corner_pruning commands.
EXAMPLES
set corner_pruning_enable_slack_scaling false
...
...
or
...
load_corner_pruning_db ./pruner.db
...
SEE ALSO
create_corner_pruning_db (cmd)
load_corner_pruning_db (cmd)
corner_pruning_enable_slack_scaling 98
Tweaker™ Variables Version T-2022.03
corner_pruning_enable_twf_scaling
# Enable/disable twf scaling for corner pruning
Type
Boolean
Default
false
Description
This variable controls the minor corners' twf values are to be scaled to
database.
Set to true, the minor corners' twf values are to be scaled into the
dominant corners.
corner_pruning_enable_twf_scaling 99
Tweaker™ Variables Version T-2022.03
Example
set corner_pruning_enable_slack_scaling true
...
...
or
...
load_corner_pruning_db ./pruner.db
...
See also
create_corner_pruning_db (cmd)
load_corner_pruning_db (cmd)
corner_pruning_enable_slack_scaling (cmd)
corner_pruning_enable_twf_scaling 100
Tweaker™ Variables Version T-2022.03
current_design
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
current_design
TYPE
String
DEFAULT
empty
DESCRIPTION
To create physical power domain, user can either reference the
current_design 101
Tweaker™ Variables Version T-2022.03
designs.
EXAMPLES
cpfin/upfin cpf_or_upf_file
source ./SUB1.nlcmd
source ./SUB2.nlcmd
SEE ALSO
create_voltage_area (cmd)
remove_voltage_area (cmd)
current_design 102
Tweaker™ Variables Version T-2022.03
database_resolution
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
database_resolution
TYPE
Integer
DEFAULT
0
DESCRIPTION
There is some challenge for Tweaker to automatically identify different
---------------------------------------------------
database_resolution 103
Tweaker™ Variables Version T-2022.03
verilogin ...
---------------------------------------------------
of script.
EXAMPLE
set database_resolution 4000
database_resolution 104
Tweaker™ Variables Version T-2022.03
db_Auto_Clear_P2P_Graph
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
db_Auto_Clear_P2P_Graph
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When enabling db_Draw_P2P_Graph_Sizing_And_Moving variable, the
graph only draws the current step and clears the previous record.
db_Auto_Clear_P2P_Graph 105
Tweaker™ Variables Version T-2022.03
EXAMPLES
set db_Auto_Clear_P2P_Graph true
SEE ALSO
db_Draw_P2P_Graph_Sizing_And_Moving (var)
db_Auto_Clear_P2P_Graph 106
Tweaker™ Variables Version T-2022.03
db_Draw_P2P_Graph_Sizing_And_Moving
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_Draw_P2P_Graph_Sizing_And_Moving
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When enabling this variable, the Physical View draws a trajectory
moved and sized. Then, you can view the process of how this cell
db_Draw_P2P_Graph_Sizing_And_Moving 107
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_Draw_P2P_Graph_Sizing_And_Moving true
SEE ALSO
db_Auto_Clear_P2P_Graph (var)
db_Draw_P2P_Graph_Sizing_And_Moving 108
Tweaker™ Variables Version T-2022.03
db_align_cell_placement_to_row
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
db_align_cell_placement_to_row
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, Tweaker places the instances at the legalized location
EXAMPLES
db_align_cell_placement_to_row 109
Tweaker™ Variables Version T-2022.03
db_align_cell_placement_to_row 110
Tweaker™ Variables Version T-2022.03
db_configure_instance_padding_mode
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
db_configure_instance_padding_mode
TYPE
String
DEFAULT
average
DESCRIPTION
If instance padding is specified with the set_instance_padding
You can have other values applied, such as left or right, which
db_configure_instance_padding_mode 111
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_configure_instance_padding_mode left
db_configure_instance_padding_mode 112
Tweaker™ Variables Version T-2022.03
db_keep_connection_of_used_spare_cells
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_keep_connection_of_used_spare_cells
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This is a Metal ECO related variable.
db_keep_connection_of_used_spare_cells 113
Tweaker™ Variables Version T-2022.03
spare cells.
cells, which can be useful if the scan chain cells are ECO-ed and
EXAMPLE
set keep_used_spare_cells_in_netlist true
...
SEE ALSO
keep_used_spare_cells_in_netlist (var)
db_keep_connection_of_used_spare_cells 114
Tweaker™ Variables Version T-2022.03
db_max_buffer_insertion_window_size
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
db_max_buffer_insertion_window_size
TYPE
Float
DEFAULT
0.0
DESCRIPTION
By default, Tweaker uses its internal algorithm to determine
db_max_buffer_insertion_window_size 115
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_max_buffer_insertion_window_size 500
db_max_buffer_insertion_window_size 116
Tweaker™ Variables Version T-2022.03
db_max_route_layer
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
db_max_route_layer
TYPE
Integer
DEFAULT
32
DESCRIPTION
This variable defines the maximum database layer that are
For general case, users are suggested to set this value larger
db_max_route_layer 117
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_max_route_layer 8
db_max_route_layer 118
Tweaker™ Variables Version T-2022.03
db_move_unused_cells_to_spare_module
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_move_unused_cells_to_spare_module
TYPE
Boolean
DEFAULT
true
DESCRIPTION
This is a Metal ECO mode variable.
db_move_unused_cells_to_spare_module 119
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_move_unused_cells_to_spare_module false
SEE ALSO
auto_add_deleted_instances_to_spare_cells (var)
db_move_unused_cells_to_spare_module 120
Tweaker™ Variables Version T-2022.03
db_placement_check_physical_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
db_placement_check_physical_rule
TYPE
Boolean
DEFAULT
false
DESCRIPTION
In the Tweaker Physical View, when the db_placement_check_physical_rule
db_placement_check_physical_rule 121
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_placement_check_physical_rule true
db_placement_check_physical_rule 122
Tweaker™ Variables Version T-2022.03
db_pop_up_message_manual_moving
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_pop_up_message_manual_moving
when moving.
TYPE
string
DEFAULT
false
DESCRIPTION
When turning this variable and moving a instance, Tweaker checks
db_pop_up_message_manual_moving 123
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_pop_up_message_manual_moving true
SEE ALSO
db_placement_check_physical_rule (var)
db_pop_up_message_manual_moving 124
Tweaker™ Variables Version T-2022.03
db_tie_auto_crx
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_auto_crx
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When executing the tie_const_drv_pin command, Tweaker connects
db_tie_auto_crx 125
Tweaker™ Variables Version T-2022.03
tie_const_drv_pin command.
EXAMPLE
set db_tie_auto_crx true
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_auto_crx 126
Tweaker™ Variables Version T-2022.03
db_tie_cell_list
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_cell_list
TYPE
String
DEFAULT
Empty
DESCRIPTION
When executing "tie_const_drv_pin" command, if the types
db_tie_cell_list 127
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_tie_cell_list { TIEH TIEH_LVT TIEL TIEL_LVT }
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_cell_list 128
Tweaker™ Variables Version T-2022.03
db_tie_crx_port
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_crx_port
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, Tweaker does not create a new module ports when executing
module ports.
db_tie_crx_port 129
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_tie_crx_port true
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_crx_port 130
Tweaker™ Variables Version T-2022.03
db_tie_dist
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_dist
TYPE
Float
DEFAULT
200.0
DESCRIPTION
When spare cells are used as a constant cell, Tweaker also
that are defined in this variable and with the constant cell
db_tie_dist 131
Tweaker™ Variables Version T-2022.03
not set to true, all available tie cell resources are considered
cell.
a cell to high/low value to get the new cell function. For example,
EXAMPLE
set query_tie_cell_for_constant_cell true
SEE ALSO
query_tie_cell_for_constant_cell (var)
db_tie_dist 132
Tweaker™ Variables Version T-2022.03
db_tie_effort_high
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_effort_high
TYPE
Boolean
DEFAULT
true
DESCRIPTION
When tie high/low in the ECO stage, Tweaker connects the tie
db_tie_effort_high 133
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_tie_effort_high true
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_effort_high 134
Tweaker™ Variables Version T-2022.03
db_tie_highlight
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_highlight
tie_const_drv_pin command.
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By setting this variable to true, Tweaker automatically highlights
the tied pins and the tie-cells in the Physical View and Schematic
db_tie_highlight 135
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_tie_highlight true
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_highlight 136
Tweaker™ Variables Version T-2022.03
db_tie_max_cap
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
db_tie_max_cap
TYPE
Float
DEFAULT
-5120000.000000
DESCRIPTION
By default, the LIB file contains the maximum capacitive
db_tie_max_cap 137
Tweaker™ Variables Version T-2022.03
EXAMPLE
set db_tie_max_cap 20
SEE ALSO
tie_const_drv_pin (cmd)
db_tie_max_cap 138
Tweaker™ Variables Version T-2022.03
def_physical_cells_to_be_ignored
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
def_physical_cells_to_be_ignored
TYPE
String
DEFAULT
empty
DESCRIPTION
To ignore the DEF-defined attributes of physical cells and use
their spaces as free space during any ECO process, you can
def_physical_cells_to_be_ignored 139
Tweaker™ Variables Version T-2022.03
then those matched physical cells are filtered away and does
EXAMPLE
# matched cell will be directly filtered away
defin ...
defin ...
SEE ALSO
def_physical_instances_to_be_ignored (var)
keep_def_fixed_physical_cells (var)
force_keep_physical_cells (var)
def_physical_cells_to_be_ignored 140
Tweaker™ Variables Version T-2022.03
def_physical_cells_to_be_ignored_except_instance
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
def_physical_cells_to_be_ignored_except_instance
to be reserved in Tweaker.
TYPE
String
DEFAULT
empty
DESCRIPTION
This variable defines the list of hierarchical instance
def_physical_cells_to_be_ignored_except_instance 141
Tweaker™ Variables Version T-2022.03
EXAMPLE
set def_physical_cells_to_be_ignored *DCAP* *FILLER*
SEE ALSO
def_physical_cells_to_be_ignored (var)
def_physical_instances_to_be_ignored (var)
def_physical_cells_to_be_ignored_except_instance 142
Tweaker™ Variables Version T-2022.03
def_physical_instances_to_be_ignored
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
def_physical_instances_to_be_ignore
TYPE
String
DEFAULT
Empty
DESCRIPTION
To ignore the DEF-defined attributes of physical cells and
use their spaces as free space during any ECO process, you
def_physical_instances_to_be_ignored 143
Tweaker™ Variables Version T-2022.03
Physical View).
defin command.
EXAMPLE
set def_physical_instances_to_be_ignored { *xofiller* *endcap* }
defin ...
SEE ALSO
def_physical_cells_to_be_ignored (var)
keep_def_fixed_physical_cells (var)
def_physical_instances_to_be_ignored 144
Tweaker™ Variables Version T-2022.03
defin_ignore_row_power_violation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_ignore_row_power_violation
connection violations.
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, Tweaker shows error messages and stops the
defin_ignore_row_power_violation 145
Tweaker™ Variables Version T-2022.03
verification.
EXAMPLE
set defin_ignore_row_power_violation true
SEE ALSO
report_cell_power_ground_violation (cmd)
defin_row_power_violation_count (var)
defin_total_row_power_violation_count (var)
defin_ignore_row_power_violation 146
Tweaker™ Variables Version T-2022.03
defin_missed_instance_count
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_missed_instance_count
TYPE
Integer
DEFAULT
0
DESCRIPTION
When processing one DEF file, Tweaker accumulates the
defin_missed_instance_count 147
Tweaker™ Variables Version T-2022.03
EXAMPLE
printvar defin_missed_instance_count
SEE ALSO
defin_missed_total_instance_count (var)
defin_missed_instance_count 148
Tweaker™ Variables Version T-2022.03
defin_missed_total_instance_count
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_missed_total_instance_count
TYPE
Integer
DEFAULT
0
DESCRIPTION
During the defin process, Tweaker accumulates the instances
defin_missed_total_instance_count 149
Tweaker™ Variables Version T-2022.03
EXAMPLE
printvar defin_missed_total_instance_count
SEE ALSO
defin_missed_instance_count (var)
defin_missed_total_instance_count 150
Tweaker™ Variables Version T-2022.03
defin_row_power_violation_count
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_row_power_violation_count
TYPE
Integer
DEFAULT
0
DESCRIPTION
When processing one DEF file, Tweaker accumulates the
defin_row_power_violation_count 151
Tweaker™ Variables Version T-2022.03
EXAMPLE
printvar defin_row_power_violation_count
SEE ALSO
defin_total_row_power_violation_count (var)
defin_row_power_violation_count 152
Tweaker™ Variables Version T-2022.03
defin_total_master_discrepancy_count
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_total_master_discrepancy_count
TYPE
integer
DEFAULT
0
DESCRIPTION
After importing the netlist files (with the verilogin
defin_total_master_discrepancy_count 153
Tweaker™ Variables Version T-2022.03
EXAMPLE
defin ...
printvar defin_total_master_discrepancy_count
SEE ALSO
defin (cmd)
defin_total_master_discrepancy_count 154
Tweaker™ Variables Version T-2022.03
defin_total_row_power_violation_count
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
defin_total_row_power_violation_count
TYPE
Integer
DEFAULT
0
DESCRIPTION
During the defin process, Tweaker accumulates the number of
example, the PWR pin of the cell are connected to the GND row,
or vice versa) and stores the sum of violated cells that existed
defin_total_row_power_violation_count 155
Tweaker™ Variables Version T-2022.03
EXAMPLE
printvar defin_total_row_power_violation_count
SEE ALSO
defin_row_power_violation_count (var)
defin_total_row_power_violation_count 156
Tweaker™ Variables Version T-2022.03
defin_unplaced_component_percentage
NAME
TYPE
DEFAULt
DESCRIPTION
EXAMPLE
NAME
defin_unplaced_component_percentage
during defin.
TYPE
double
DEFAULt
100.0
DESCRIPTION
You can define a percentage for unplaced components before
defin_unplaced_component_percentage 157
Tweaker™ Variables Version T-2022.03
EXAMPLE
set defin_unplaced_component_percentage 10
defin_unplaced_component_percentage 158
Tweaker™ Variables Version T-2022.03
design_analysis_collecting_mode
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
design_analysis_collecting_mode
TYPE
String (touches|center_point)
DEFAULT
touches
DESCRIPTION
In the "Grid" system, Tweaker collects instances into the
design_analysis_collecting_mode 159
Tweaker™ Variables Version T-2022.03
grid.
+-------------+-------------+
| ---|---------- |
| | | . Inst | |
| ---|---------- |
|Grid-1 |Grid-2 |
+-------------+-------------+
and Grid-2.
EXAMPLE
Example 1 creates a congestion database and grid database after
slkdc -check_slack_consistency
design_analysis_collecting_mode 160
Tweaker™ Variables Version T-2022.03
set congestion_map_grid_size_by_row 10
# create congestion db
# create grid db
create_design_analysis_grid_db
ori_vio_xxx are incorrect (since violation reports are loaded with the
set congestion_map_grid_size_by_row 10
# create congestion db
# create grid db
create_design_analysis_grid_db
slkdc -check_slack_consistency
design_analysis_collecting_mode 161
Tweaker™ Variables Version T-2022.03
SEE ALSO
design_analysis_grid_height_by_row (var)
congestion_map_grid_size_by_row (var)
slk_update_congestion_map (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
slkfix (cmd)
set_resource_window (cmd)
add_blockage (cmd)
delete_blockage (cmd)
draw (cmd)
design_analysis_collecting_mode 162
Tweaker™ Variables Version T-2022.03
design_analysis_grid_height_by_row
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
design_analysis_grid_height_by_row
by the number(#rows).
TYPE
Integer (must be > 3)
DEFAULT
10
DESCRIPTION
In the "Grid" system, Tweaker partitions a design into grids,
design_analysis_grid_height_by_row variable.
You should not use a large number. The larger the number, the
design_analysis_grid_height_by_row 163
Tweaker™ Variables Version T-2022.03
technology nodes.
EXAMPLE
Example 1 creates a congestion databaseb and grid databaseb after
slkdc -check_slack_consistency
set congestion_map_grid_size_by_row 10
# create congestion db
# create grid db
create_design_analysis_grid_db
design_analysis_grid_height_by_row 164
Tweaker™ Variables Version T-2022.03
# be thesame as "congestion_map_grid_size_by_row"
set congestion_map_grid_size_by_row 10
# create congestion db
# create grid db
create_design_analysis_grid_db
slkdc -check_slack_consistency
SEE ALSO
design_analysis_collecting_mode (var)
congestion_map_grid_size_by_row (var)
slk_update_congestion_map (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
slkfix (cmd)
set_resource_window (cmd)
add_blockage (cmd)
delete_blockage (cmd)
draw (cmd)
design_analysis_grid_height_by_row 165
Tweaker™ Variables Version T-2022.03
disable_undo
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
NAME
disable_undo
TYPE
Boolean
DEFAULT
false
DESCRIPTION
In the GUI mode, Tweaker provides the "undo" button at each
disable_undo 166
Tweaker™ Variables Version T-2022.03
an ECO.
EXAMPLE
set disable_undo true
disable_undo 167
Tweaker™ Variables Version T-2022.03
disable_via0_rule_on_cell
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
disable_via0_rule_on_cell
TYPE
String
DEFAULT
empty
DESCRIPTION
This variable disables the honoring of via0 alignment rule
disable_via0_rule_on_cell 168
Tweaker™ Variables Version T-2022.03
EXAMPLE
set disable_via0_rule_on_cell DBFS*
SEE ALSO
report_via0_alignment_rule (cmd)
report_via0_alignment_violation (cmd)
set_via0_alignment_rule (cmd)
enable_via0_alignment (var)
via0_alignment_check_cell_margin (var)
disable_via0_rule_on_cell 169
Tweaker™ Variables Version T-2022.03
drv_derate_at_index
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
drv_derate_at_index
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, Tweaker uses the value defined in the slk_drv_factor variable
drv_derate_at_index 170
Tweaker™ Variables Version T-2022.03
EXAMPLES
A .lib timing table is as follows.
----------------------------------------------
rise_transition(del_tmp_7x7) {
----------------------------------------------
Case-1: Applies the derating factor as the index range multiplier factor.
The DRV constraint is set to 1.2000, which is the center position (0.5) of
Case-2: Applies the derating factor as the maximum index multiplier factor.
The DRV constraint is set to 2.55, which is derived from the max index
(5.1000*0.5).
drv_derate_at_index 171
Tweaker™ Variables Version T-2022.03
SEE ALSO
slk_drv_factor (var)
drv_derate_at_index 172
Tweaker™ Variables Version T-2022.03
dump_agr_Inst_Info
# To report specific aggressor impact victim instance list and the corresponding impact IR drop
Type
String
Default
empty
Description
Tweaker IR ECO with RHSC can support aggressor aware IR ECO. User can use this command to
dump out aggressor instance corresponding victim instance list and the corresponding victim IR
drop.
Example
set dump_agr_Inst_Info Inst_A
TotalImpact 0.0139946164
dump_agr_Inst_Info 173
Tweaker™ Variables Version T-2022.03
See also
irdb_read_aggressor_list
dump_agr_Inst_Info 174
Tweaker™ Variables Version T-2022.03
dynamic_power_unit
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
dynamic_power_unit
TYPE
String [pw|nw|uw|mw]
DEFAULT
mw
DESCRIPTION
This variable holds the dynamic power unit (pw|nw|uw|mw) used inside
the Tweaker GUI, variables, and commands. If the power unit is changed,
each dynamic power variable whose unit is power unit will also need to
dynamic_power_unit 175
Tweaker™ Variables Version T-2022.03
if it is necessary.
If the power unit of the reports is different from the one defined in
EXAMPLES
set dynamic_power_unit pw
...
slkdc -check_slack_consistency
SEE ALSO
leakage_power_unit (var)
dynamic_power_unit 176
Tweaker™ Variables Version T-2022.03
eco_clock_comp_with_placement_fixed
# Enables the clock comp of ECO cell with the fixed attribute of placement.
Type
Boolean
Default
true
Description
When you ECO operation touch the clock component, if you enable this
variable, Tweaker output ECO def or tcl will have the fixed attribute of
placement.
Example
...
eco_clock_comp_with_placement_fixed 177
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_drv_dont_touch_clock
slk_fix_dont_touch_clock_comp
slk_fix_hold_dont_touch_clock_net
eco_clock_comp_with_placement_fixed 178
Tweaker™ Variables Version T-2022.03
eco_tcl_catch_apr_error
# Enables or disables the function that eco tcl catch the APR tool(Innovus) error.
Type
Boolean
Default
false
Description
By default, Tweaker will error out when there's insertion error in Innovus
eco tcl.
By setting this variable to true, users can avoid this by having Innovus eco
tcl input again and skip that insertion to continue the script. This
variable can only work when you apply this before the optimization starts.
Example
set eco_tcl_catch_apr_error true
......
eco_tcl_catch_apr_error 179
Tweaker™ Variables Version T-2022.03
See also
eco_tcl_pre_check_target
eco_tcl_catch_apr_error 180
Tweaker™ Variables Version T-2022.03
eco_tcl_enable_pt_create_port_what_if_flow
# Enable create port eco tcl for PT what if flow.
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will not
In latest R-2020.09 PT version, it can support create module port ECO Tcl
what-if flow. If you want to perform create module port what-if timing result
Example
set eco_tcl_enable_pt_create_port_what_if_flow true
...ECO...
eco_tcl_enable_pt_create_port_what_if_flow 181
Tweaker™ Variables Version T-2022.03
See also
ecotclout -pt
eco_tcl_enable_pt_create_port_what_if_flow 182
Tweaker™ Variables Version T-2022.03
eco_tcl_olympus_keep_routes
# Enables or disables eco tcl to force Olympus to keep original routing patterns when doing ECO route.
Type
Boolean
Default
true
Description
By default, Tweaker will output eco tcl with keep_route option in related
commands, this will force Olympus to keep original routing patterns when
On contrary, if this variable is set to false, Tweaker will output eco tcl
without keep_route option and Olympus may not have on-route behavior.
"slkfix" command.
Example
set eco_tcl_olympus_keep_routes false
eco_tcl_olympus_keep_routes 183
Tweaker™ Variables Version T-2022.03
See also
ecotclout
eco_tcl_olympus_keep_routes 184
Tweaker™ Variables Version T-2022.03
eco_tcl_out_clock_comp_with_placement_fixed
# Enables the clock comp of ECO cell with the fixed attribute of placement
Type
Boolean
Default
true
Description
When you ECO operation touch the clock component, if you enable this
variable, Tweaker output ECO def or tcl will have the fixed attribute of
placement.
Example
...
eco_tcl_out_clock_comp_with_placement_fixed 185
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_drv_dont_touch_clock
slk_fix_dont_touch_clock_comp
slk_fix_hold_dont_touch_clock_net
eco_tcl_out_clock_comp_with_placement_fixed 186
Tweaker™ Variables Version T-2022.03
eco_tcl_pre_check_sizing_conflict
# Enables to make sure the original cell type of sized cell is matched between Tweaker and APR.
Type
Boolean
Default
false
Description
By default, sizing operation in ECO tcl does not check if the original cell
type is matched with APR or not, the instance will get sized to the target cell
By applying this variable to true, Tweaker will dump the original cell type
information before each sizing operation and do the extra pre-check to make
sure the cell type is the same, and it will skip sizing if it is mismatch.
To enable the sizing pre-check, please turn on this variable before ECO
operation.
Example
eco_tcl_pre_check_sizing_conflict 187
Tweaker™ Variables Version T-2022.03
See also
ecotclout (cmd)
eco_tcl_pre_check_sizing_conflict 188
Tweaker™ Variables Version T-2022.03
eco_tcl_pre_check_target
# Enables or disables the pre-check function that will match the
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will not
net/pin/connection between Tweaker and APR database when applying the ECO.
pre-check procedure for each ECO step in ECO TCL. These procedure will make
sure the net/pin/connection of the current db between Tweaker and APR is the
This variable can only work when you apply this before the optimization
eco_tcl_pre_check_target 189
Tweaker™ Variables Version T-2022.03
starts.
Example
set eco_tcl_pre_check_target true
...ECO...
See also
N/A
eco_tcl_pre_check_target 190
Tweaker™ Variables Version T-2022.03
eco_tcl_sync_instance_net_name_to_apr
# Enables or disables eco tcl to force APR tools to synchronize the ECO cell and
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will output eco tcl with
Sometimes APR tools have different naming for ECO cells or nets, this will
When this variable is set to true, APR tools will be able to synchronize
eco_tcl_sync_instance_net_name_to_apr 191
Tweaker™ Variables Version T-2022.03
Example
set eco_tcl_sync_instance_net_name_to_apr true
...
See also
eco_tcl_use_module_based_high_level_insertion_cmd
eco_tcl_sync_instance_net_name_to_apr 192
Tweaker™ Variables Version T-2022.03
eco_tcl_use_high_level_insertion_cmd
# Enables or disables Tweaker to dump out high level insertion ECO TCL.
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will
use basic command of APR tool such as disconnect net and re-connect net
For more advanced technology, users may apply the NDR rule on the net,
hence the removal of the net by using APR basic commands may also delete
Since users are allowed to keep the NDR rule by using high level ECO
this solution by generating the high-level ECO TCL by setting this variable
to true.
Currently, Tweaker can only write out either high level or low level ECO TCL
eco_tcl_use_high_level_insertion_cmd 193
Tweaker™ Variables Version T-2022.03
for a fixing stage. To dump high level ECO TCL, this variable must be
Example
set eco_tcl_use_high_level_insertion_cmd true
See also
eco_tcl_use_high_level_insertion_cmd_without_buffer_placement
eco_tcl_use_high_level_insertion_cmd 194
Tweaker™ Variables Version T-2022.03
eco_tcl_use_high_level_insertion_cmd_without_buffer_placement
# Enables or disables APR tools to follow the buffer location provided by
Tweaker.
Type
boolean
Default
false
Description
When the var "eco_tcl_use_high_level_insertion_cmd" is enabled.
By default, Tweaker will provided locations in ECO TCL for new inserted
cells.
On the contrary, by setting this variable to true, Tweaker will not provide
the location of the inserted ECO instance and let APR tools to decide their
Example
set eco_tcl_use_high_level_insertion_cmd true
eco_tcl_use_high_level_insertion_cmd_without_buffer_placement 195
Tweaker™ Variables Version T-2022.03
See also
eco_tcl_use_high_level_insertion_cmd
eco_tcl_use_high_level_insertion_cmd_without_buffer_placement 196
Tweaker™ Variables Version T-2022.03
eco_tcl_use_module_based_high_level_insertion_cmd
# Enables or disables eco tcl to force APR tools to insert buffer under
Type
Boolean
Default
true
Description
By setting this variable to default value of true, the ECO tcl dumped from
On contrary, if this variable is set to false, APR tools might not insert
"slkfix" command.
Example
eco_tcl_use_module_based_high_level_insertion_cmd 197
Tweaker™ Variables Version T-2022.03
See also
eco_tcl_use_module_based_high_level_insertion_cmd 198
Tweaker™ Variables Version T-2022.03
eco_tcl_user_attr_for_eco_cells
# Tweaker variable allow user's own attribute on eco cells to be applied in the
ECO tcl.
Type
String
Default
empty
Description
If there is extra APR tool attributes needed to be applied on the Tweaker
eco cells, user can collect those attributes here in this variable and
(set_attribute ...) in the ECO tcl when output ECO tcl files.
Example
set eco_tcl_user_attr_for_eco_cells "MY BUFFER ATTR"
See also
eco_tcl_user_attr_for_eco_cells 199
Tweaker™ Variables Version T-2022.03
N/A
eco_tcl_user_attr_for_eco_cells 200
Tweaker™ Variables Version T-2022.03
enable_all_color_shift_values
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_all_color_shift_values
TYPE
string <false | true | auto | disable_all>
DEFAULT
false
DESCRIPTION
By default, Tweaker only applies color mask 1 and 5 on a cell.
By setting this variable to true, all the color mask value from
enable_all_color_shift_values 201
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_all_color_shift_values true
SEE ALSO
enable_color_shifting_tcl (var)
color_drc_rule_check_layer
enable_all_color_shift_values 202
Tweaker™ Variables Version T-2022.03
enable_auto_derate_scale
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_auto_derate_scale
TYPE
Boolean
DEFAULT
false
DESCRIPTION
After enabling this variable, Tweaker can identify a missing derate
library and use the nearest voltage library group derating to perform
enable_auto_derate_scale 203
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_auto_derate_scale true
begin_corner test
set_group -lib -name test -voltage 2.25 -temperature 125 -inst U_dsub/U_mod_1
set_group -lib -name test -voltage 2.7 -temperature 50 -ref_group { test_2.25_125 test_2.75_0 } \
-inst U_dsub/U_mod_3
...
set_timing_derate -late 1.5 -lib_group test -voltage 2.25 -temperature 125 [get_lib_cells *]
...
end_corner test
SEE ALSO
set_group (cmd)
set_timing_derate (cmd)
enable_auto_derate_scale 204
Tweaker™ Variables Version T-2022.03
enable_buffer_assign_nets
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
enable_buffer_assign_nets
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By setting this variable to true, Tweaker transforms all "assign"
shown as follows.
enable_buffer_assign_nets 205
Tweaker™ Variables Version T-2022.03
This feature is available since some third party P&R tools cannot
EXAMPLES
set enable_buffer_assign_nets true
enable_buffer_assign_nets 206
Tweaker™ Variables Version T-2022.03
enable_cell_edge_spacing_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_cell_edge_spacing_rule
TYPE
Boolean
DEFAULT
true
DESCRIPTION
In advanced process nodes such as 20nm or below, the foundry
enable_cell_edge_spacing_rule 207
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_cell_edge_spacing_rule true
lefin ..
...
build_spacing_rules_by_spacing_table
SEE ALSO
build_spacing_rules_by_spacing_table (cmd)
enable_cell_edge_spacing_rule 208
Tweaker™ Variables Version T-2022.03
enable_cell_padding
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_cell_padding
TYPE
Boolean
DEFAULT
true
DESCRIPTION
This variable enables or disables honoring of cell padding rules.
EXAMPLES
set enable_cell_padding false
enable_cell_padding 209
Tweaker™ Variables Version T-2022.03
SEE ALSO
load_padding_list (cmd)
report_cell_padding (cmd)
report_instance_padding (cmd)
set_cell_padding (cmd)
set_instance_padding (cmd)
enable_instance_padding (var)
enable_cell_padding 210
Tweaker™ Variables Version T-2022.03
enable_cell_via0_avoid_power_strap
# Enable or disable this variable to make via0 of a cell avoid or overlap with power strap.
Type
Boolean
Default
false
Description
In advanced technology nodes, the DRC physical rule specifies that cell's via0 defined in OBS part
in cell lef cannot overlap with power strap after doing ECO either cell sizing or buffer insertion.
Example
set enable_cell_via0_avoid_power_strap true
See also
enable_via0_alignment
enable_cell_via0_avoid_power_strap 211
Tweaker™ Variables Version T-2022.03
enable_cell_width_spacing_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_cell_width_spacing_rule
Enables the cell width spacing rule, such as like TPO rules,
VT width rules.
TYPE
Boolean
DEFAULT
true
DESCRIPTION
For advanced process nodes such as 20nm or below, there could be some
minimum VT spacing rules. These rules can be described in the LEF files
enable_cell_width_spacing_rule 212
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_cell_width_spacing_rule true
...
slkfix ...
SEE ALSO
enable_cell_edge_spacing_rule (var)
enable_cell_width_spacing_rule 213
Tweaker™ Variables Version T-2022.03
enable_color_shifting_tcl
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_color_shifting_tcl
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When this variable is set to true, if the coloring information exists
in the design then Tweaker outputs the ECO Tcl with the appropriate
Tweaker.
enable_color_shifting_tcl 214
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_color_shifting_tcl true
SEE ALSO
color_drc_rule_check_layer
enable_color_shifting_tcl 215
Tweaker™ Variables Version T-2022.03
enable_cover_cell
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
enable_cover_cell
placement.
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By setting this variable to true, the cover cells are treated as placement
blockage; Tweaker avoids placing ECO cells overlapping with cover cells.
If the ECO cell was overlapping with a cover cell before ECO, Tweaker does
not size or move the cell unless there is a free space for the ECO cell
enable_cover_cell 216
Tweaker™ Variables Version T-2022.03
within the search range and not overlapping with the cover cell.
This variable can be changed any time and takes effect immediately.
EXAMPLES
set enable_cover_cell true
enable_cover_cell 217
Tweaker™ Variables Version T-2022.03
enable_eco_comment
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_eco_comment
TYPE
Boolean
DEFAULT
false
DESCRIPTION
Tweaker prints ECO comments in nlcmd when this variable is set
eco_comment {
enable_eco_comment 218
Tweaker™ Variables Version T-2022.03
-hier_name instance_name }
EXAMPLES
[CMD] set enable_eco_comment true
[Tweaker.nlcmd]
twf -end_sizing
...
[Tweaker.nlcmd]
enable_eco_comment 219
Tweaker™ Variables Version T-2022.03
SEE ALSO
eco_comment (cmd)
enable_eco_comment 220
Tweaker™ Variables Version T-2022.03
enable_inbound_cell
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
enable_inbound_cell
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This variable is to enable or disable the inbound cell mode for the
The "auto" value is available for this variable. When "auto" is used,
Tweaker enables the inbound cell mode if the half-row unit site and
enable_inbound_cell 221
Tweaker™ Variables Version T-2022.03
This variable only works when specified before running the lefin command.
EXAMPLES
set enable_inbound_cell auto
...
libin $lib_files
lefin $lef_files
enable_inbound_cell 222
Tweaker™ Variables Version T-2022.03
enable_instance_padding
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_instance_padding
TYPE
Boolean
DEFAULT
true
DESCRIPTION
Enables or disables the honoring of instance padding rules.
EXAMPLES
set enable_instance_padding false
enable_instance_padding 223
Tweaker™ Variables Version T-2022.03
SEE ALSO
set_instance_padding (cmd)
report_instance_padding (cmd)
set_cell_padding (cmd)
load_padding_list (cmd)
report_cell_padding (cmd)
enable_cell_padding (var)
enable_instance_padding 224
Tweaker™ Variables Version T-2022.03
enable_lvf_extended_moments
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_lvf_extended_moments
in POCV mode.
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When this variable is enabled by setting to true, Tweaker uses the
enable_lvf_extended_moments 225
Tweaker™ Variables Version T-2022.03
you still need to enable the following variable to active delay, slew,
Delay variation:
slew variation:
constraint variation
EXAMPLES
set _libin_read_lvf_moment true
...
set_timing_ocv_sigma 3.0
...
slkdc -check_slack_consistency
...
report_timing_ocv_sigma
enable_lvf_extended_moments 226
Tweaker™ Variables Version T-2022.03
SEE ALSO
set_timing_ocv_sigma (cmd)
report_timing_ocv_sigma (cmd)
enable_ocv_sigma (var)
enable_timing_constraint_variation (var)
enable_timing_slew_variation (var)
enable_lvf_extended_moments 227
Tweaker™ Variables Version T-2022.03
enable_m0po
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_m0po
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This variable enables or disables the honoring of the M0PO
EXAMPLES
enable_m0po 228
Tweaker™ Variables Version T-2022.03
SEE ALSO
report_m0po_rule (cmd)
report_m0po_violation (cmd)
enable_m0po 229
Tweaker™ Variables Version T-2022.03
enable_macro_halo_blockages
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_macro_halo_blockages
TYPE
Boolean
DEFAULT
true
DESCRIPTION
By default, during any ECO operation, Tweaker treats DEF-defined
HALO blockages around macro cells as hard blockage and avoids any
enable_macro_halo_blockages 230
Tweaker™ Variables Version T-2022.03
blockages around the macro cells and treats them as free spaces.
EXAMPLES
set enable_macro_halo_blockages true
defin ...
SEE ALSO
enable_partial_blockages (var)
enable_soft_blockages (var)
enable_macro_halo_blockages 231
Tweaker™ Variables Version T-2022.03
enable_multi_machine_mode
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
enable_multi_machine_mode
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This variable enables or disables the multi-machine mode for loading
scenarios.
enable_multi_machine_mode 232
Tweaker™ Variables Version T-2022.03
Currently, Tweaker can read some input files , including SDF, SPEF,
EXAMPLE
set enable_multi_machine_mode true
set multi_machine_number 10
set multi_machine_client_job_number 2
...
slkdc -check_slack_consistency
SEE ALSO
multi_machine_number (var)
multi_machine_client_job_number (var)
multi_machine_submit_job_prefix (var)
multi_machine_submit_job_postfix (var)
multi_machine_time_limit (var)
enable_multi_machine_mode 233
Tweaker™ Variables Version T-2022.03
enable_no_fill1_spacing_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_no_fill1_spacing_rule
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This variable is designed to fulfill the "no fillerx1" rule (for example,
enable_no_fill1_spacing_rule 234
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_no_fill1_spacing_rule true
defin ...
SEE ALSO
report_filler1_spacing_violation (cmd)
set_gate_array_refill_guide (cmd)
enable_no_filler1_spacing_rule (var)
enable_no_fill1_spacing_rule_with_placement_blockage (var)
enable_no_fill1_spacing_rule 235
Tweaker™ Variables Version T-2022.03
enable_no_fill1_spacing_rule_with_placement_blockage
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_no_fill1_spacing_rule_with_placement_blockage
TYPE
Boolean
DEFAULT
false
DESCRIPTION
For process nodes 40nm and below, the no-filler1 spacing rule must be
By default, Tweaker only checks the no-filler1 rule between cells. You
enable_no_fill1_spacing_rule_with_placement_blockage 236
Tweaker™ Variables Version T-2022.03
enable_no_filler1_spacing_rule_with_placement_blockage variable.
EXAMPLES
set enable_no_fill1_spacing_rule true
defin ...
SEE ALSO
enable_no_filler1_spacing_rule (var)
set_gate_array_refill_guide (cmd)
report_filler1_spacing_violation (cmd)
enable_no_fill1_spacing_rule_with_placement_blockage 237
Tweaker™ Variables Version T-2022.03
enable_no_filler1_spacing_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_no_filler1_spacing_rule
TYPE
Boolean
DEFAULT
false
DESCRIPTION
This variable is designed to fulfill the "no fillerx1" rule (for example,
enable_no_filler1_spacing_rule 238
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_no_filler1_spacing_rule true
defin ...
SEE ALSO
report_filler1_spacing_violation (cmd)
set_gate_array_refill_guide (cmd)
enable_no_filler1_spacing_rule_with_placement_blockage (var)
enable_no_filler1_spacing_rule 239
Tweaker™ Variables Version T-2022.03
enable_no_filler1_spacing_rule_with_placement_blockage
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_no_filler1_spacing_rule_with_placement_blockage
TYPE
Boolean
DEFAULT
false
DESCRIPTION
For process nodes below 40nm, the no-filler1 spacing rule must be
enable_no_filler1_spacing_rule_with_placement_blockage 240
Tweaker™ Variables Version T-2022.03
You need to enable this variable to further check the no-filler1 rule
variable.
EXAMPLES
set enable_no_filler1_spacing_rule true
defin ...
SEE ALSO
enable_no_filler1_spacing_rbule (var)
set_gate_array_refill_guide (cmd)
report_filler1_spacing_violation (cmd)
enable_no_filler1_spacing_rule_with_placement_blockage 241
Tweaker™ Variables Version T-2022.03
enable_ocv_sigma
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_ocv_sigma
TYPE
Boolean
DEFAULT
false
DESCRIPTION
After enabling this variable by setting it to true, Tweaker enters
POCV mode for various types of ECOs. Note that this feature requires
timing information (timing window files, SDF files, and timing report
enable_ocv_sigma 242
Tweaker™ Variables Version T-2022.03
EXAMPLES
tweaker_shell> set enable_ocv_sigma true
tweaker_shell> report_timing_ocv_sigma
SEE ALSO
set_timing_ocv_sigma (cmd)
report_timing_ocv_sigma (cmd)
enable_timing_constraint_variation (var)
enable_timing_slew_variation (var)
enable_ocv_sigma 243
Tweaker™ Variables Version T-2022.03
enable_od_jog_rule
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_od_jog_rule
TYPE
Boolean
DEFAULT
false
DESCRIPTION
For advanced process nodes such as 4nm, 5nm, 16nm, and 12nm, there
enable_od_jog_rule 244
Tweaker™ Variables Version T-2022.03
EXAMPLES
lefin ...
...
verilogin ...
defin ...
slkfix ....
SEE ALSO
report_od_jog_violation (cmd)
enable_od_jog_rule 245
Tweaker™ Variables Version T-2022.03
enable_partial_blockages
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLE
SEE ALSO
NAME
enable_partial_blockages
TYPE
String [ auto | true | false ]
DEFAULT
auto
DESCRIPTION
This variable defines the treatment of DEF-defined partial blockage
during the ECO operations by Tweaker. Starting with the April 2018
during ECO. You can right-click on the partial blockage to see its
enable_partial_blockages 246
Tweaker™ Variables Version T-2022.03
current density.
1. auto:
2. true:
3. false:
be some overlap cells after the ECO operation. Hence, Tweaker offers
enable_partial_blockages 247
Tweaker™ Variables Version T-2022.03
EXAMPLE
set enable_partial_blockages true
SEE ALSO
enable_soft_blockages (var)
ignore_def_placement_blockages (var)
report_overlapped_cells (cmd)
enable_partial_blockages 248
Tweaker™ Variables Version T-2022.03
enable_physical_vio_code
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_physical_vio_code
TYPE
[value | range]
DEFAULT
2-21 24
DESCRIPTION
By setting the variable with a number or range of physical violation
code, only specified physical violations are reported when using the
enable_physical_vio_code 249
Tweaker™ Variables Version T-2022.03
physical rule violated cells, specify the physical violation codes with
value
range
Physical_vio_code description:
# 0 : no physical violation
# 1 : cell is overlapped
# 2 : congestion violation
enable_physical_vio_code 250
Tweaker™ Variables Version T-2022.03
# 22 : Reserved
# 23 : Reserved
# 24 : M0PO violation
EXAMPLES
set enable_physical_vio_code 2-18 24
set enable_physical_vio_code 3
SEE ALSO
enable_physical_vio_code 251
Tweaker™ Variables Version T-2022.03
get_attribute (cmd)
enable_physical_vio_code 252
Tweaker™ Variables Version T-2022.03
enable_preprocess_of_data_out
# Tweaker variable to enable the process of spare/filler pool re-organization
Type
Boolean
Default
true
Description
For certain fixing mode like using spare cells as free space, using filler
resource as free space, or directly using spare pools under METAL ECO mode,
By default Tweaker will automatically execute the above process during data
out stage.
Example
set enable_preprocess_of_data_out true
enable_preprocess_of_data_out 253
Tweaker™ Variables Version T-2022.03
...ECO...
ecotclout ...
See also
N/A
enable_preprocess_of_data_out 254
Tweaker™ Variables Version T-2022.03
enable_resource_window
# Enter/Leave resource window mode; The resource window limits eco cells will be
Type
String [ true | false ]
Default
false
Description
To turn on/off the variable which enters/leaves the resource window mode.
In the resource window mode, we can limit the eco cells can be puts on the
Example
# ==== Timing ECO Mode Example ===
source $script_path/fix_hold_setting.bi.4.tcl
enable_resource_window 255
Tweaker™ Variables Version T-2022.03
See also
design_analysis_grid_height_by_row (var)
congestion_map_grid_size_by_row (var)
slk_update_congestion_map (var)
design_analysis_collecting_mode (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
slkfix (cmd)
set_resource_window (cmd)
draw (cmd)
enable_resource_window 256
Tweaker™ Variables Version T-2022.03
enable_sdf_condelse
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_sdf_condelse
TYPE
Boolean
DEFAULT
false
DESCRIPTION
When this variable is set to true, Tweaker uses "CONDELSE" timing
arc delay information when generating the SDF file of the ECO
domain (sdfout).
enable_sdf_condelse 257
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_sdf_condelse true
SEE ALSO
sdfout (cmd)
enable_sdf_condelse 258
Tweaker™ Variables Version T-2022.03
enable_single_wire_decl
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
NAME
enable_single_wire_decl
TYPE
Boolean
DEFAULT
false
DESCRIPTION
By default, Tweaker can recognize any wire even if it is undeclared
enable_single_wire_decl 259
Tweaker™ Variables Version T-2022.03
EXAMPLES
set enable_single_wire_decl true
enable_single_wire_decl 260
Tweaker™ Variables Version T-2022.03
enable_soft_blockages
# Enables or disables the ability of Tweaker to threat soft blockage as hard blockage.
Type
Boolean
Default
false
Description
By default, Tweaker will treat DEF-defined soft blockages as free space
during any ECO operation. During this setting, there might be some overlap
cells after the ECO operation. And hence, Tweaker offers the ability to
In contrary, if this variable is set to true, Tweaker will treat the "soft
blockages" blocks as hard blockages and avoid any ECO operation on those
regions.
enable_soft_blockages 261
Tweaker™ Variables Version T-2022.03
however setting this variable to true will not ignore the previous setting
For example:
=> Tweaker will treat "soft blockage" blocks as hard blockage and
=> Tweaker will treat "soft blockage" blocks as free space and
Example
set enable_soft_blockages true
enable_soft_blockages 262
Tweaker™ Variables Version T-2022.03
See also
enable_soft_blockages
enable_partial_blockage
enable_soft_blockages 263
Tweaker™ Variables Version T-2022.03
enable_timing_constraint_variation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_timing_constraint_variation
TYPE
Boolean
DEFAULT
false
DESCRIPTION
After enabling this variable, Tweaker also considera the effect
is also enabled.
enable_timing_constraint_variation 264
Tweaker™ Variables Version T-2022.03
EXAMPLES
tweaker_shell> set enable_ocv_sigma true
tweaker_shell> report_timing_ocv_sigma
SEE ALSO
set_timing_ocv_sigma (cmd)
report_timing_ocv_sigma (cmd)
enable_timing_constraint_variation (var)
enable_timing_slew_variation (var)
enable_timing_constraint_variation 265
Tweaker™ Variables Version T-2022.03
enable_timing_slew_variation
NAME
TYPE
DEFAULT
DESCRIPTION
EXAMPLES
SEE ALSO
NAME
enable_timing_slew_variation
TYPE
Boolean
DEFAULT
false
DESCRIPTION
After enabling this variable, Tweaker also considers the
variable is enabled.
enable_timing_slew_variation 266
Tweaker™ Variables Version T-2022.03
EXAMPLES
tweaker_shell> set enable_ocv_sigma true
tweaker_shell> report_timing_ocv_sigma
SEE ALSO
set_timing_ocv_sigma (cmd)
report_timing_ocv_sigma (cmd)
enable_timing_constraint_variation (var)
enable_timing_slew_variation (var)
enable_timing_slew_variation 267
Tweaker™ Variables Version T-2022.03
enable_via0_alignment
# Enables via0 alignment rule check during ECO.
Type
Boolean
Default
true
Description
This is on the fly control variable to enable or disable the honoring
Example
set enable_via0_alignment true
See also
report_via0_alignment_rule (cmd)
report_via0_alignment_violation (cmd)
set_via0_alignment_rule (cmd)
disable_via0_rule_on_cell (var)
via0_alignment_check_cell_margin (var)
enable_via0_alignment 268
Tweaker™ Variables Version T-2022.03
enable_via0_alignment_in_specific_design
# Enable via0 alignment rule check only in specific design during ECO
Type
List
Default
auto
Description
When 'enable_via0_alignment' set to true, this variable is to specify which
design should honor the via0 alignment physical rule. By default all design
Example
# Only "dsub" design will honor via0 alignment physical rule
See also
enable_via0_alignment_in_specific_design 269
Tweaker™ Variables Version T-2022.03
[ VAR ] enable_via0_alignment
enable_via0_alignment_in_specific_design 270
Tweaker™ Variables Version T-2022.03
enable_vt_point_touch_rule
# Tweaker variable to enable the VT point touch rule.
Type
Boolean
Default
false
Description
For advanced process like 5nm, there could be a new physical placement rule
like vt point touch rule. Those rules are described at LEF files. Also, the
+------------+
| CELL1 |
| VT_group_1 |
+------------+------------+
enable_vt_point_touch_rule 271
Tweaker™ Variables Version T-2022.03
| CELL2 |
| VT_group_1 |
+------------+
Example
lefin .....
...
report_vt_point_touch_rule
repoty_vt_point_touch_violatioa
...
See also
set_vt_point_touch_rule (cmd)
report_vt_point_touch_rule (cmd)
report_vt_point_touch_violation (cmd)
report_physical_violation (cmd)
enable_vt_point_touch_rule 272
Tweaker™ Variables Version T-2022.03
error_out_code
# To specify error code number need to error out.
Type
string list
Default
empty
Description
For some general setting, even if the user defines the wrong variable
setting, Tweaker still support didn't error out and continue ECO process.
But if the user has any concern the error code, Tweaker can use this command
Example
set error_out_code E13001
[ Warning ] E13001 : Buffer list for the delay insertion : no matched cell
error_out_code 273
Tweaker™ Variables Version T-2022.03
See also
N/A
error_out_code 274
Tweaker™ Variables Version T-2022.03
flexible_vt_width_rule_extend_core_edge_length
# Enables or disables the ability to auto extend min-VT width rule with multiple
Type
Boolean
Default
false
Description
Tweaker reads the VT-width definitions from LEF file if the variable
In Tweaker, VT-width rule can be defined as any floating value. But in some
third party tools, the minimum width is one unit site. Rule must be defined
with multiple integer of unit sites. The rules might be different in Tweaker
By enabling this variable, Tweaker can auto extend the min-VT rule to
multiple integer of unit sites. This variable can be switched on the fly.
flexible_vt_width_rule_extend_core_edge_length 275
Tweaker™ Variables Version T-2022.03
Example
tweaker_shell> set flexible_vt_width_rule_extend_core_edge_length true
sites
See also
report_min_vt_width_rules (cmd)
lefin_cell_width_spacing_rule (var)
flexible_vt_width_rule_extend_core_edge_length 276
Tweaker™ Variables Version T-2022.03
flexible_vt_width_rule_geometry_level_filter
# Specifies the level for flexible vt width rule check.
Type
Integer
Default
9999
Description
Tweaker reads the vt width rule definitions from LEF file if the variable
Since each VT layer has N and P-type definitions and it can be defined as
multiple blocks with the cell height and the ratio of N/P-type can be
By specifying this variable, Tweaker only checks the vt width rule on the
Example
set lefin_cell_width_spacing_rule true
flexible_vt_width_rule_geometry_level_filter 277
Tweaker™ Variables Version T-2022.03
set flexible_vt_width_rule_geometry_level_filter 3
...
lefin $lef_file
See also
lefin_cell_width_spacing_rule (var)
flexible_vt_width_rule_geometry_level_filter 278
Tweaker™ Variables Version T-2022.03
forbidden_chain_attr_vio_chain_count
# Set the maximum chain number to be report in forbidden chain attribute
Type
float
Default
1000
Description
This variable can control the maximum forbidden chain number to be
Example
set forbidden_chain_attr_vio_chain_count 10000
set forbidden_chain_attr_vio_nworst 30
forbidden_chain_attr_vio_chain_count 279
Tweaker™ Variables Version T-2022.03
See also
get_forbidden_chain (cmd)
forbidden_chain_attr_vio_nworst
forbidden_chain_attr_vio_chain_count 280
Tweaker™ Variables Version T-2022.03
forbidden_chain_attr_vio_nworst
# Set the maximum nworst number to report forbidden chain attribute
Type
float
Default
1.0
Description
This variable can control the maximum nworst number to report the
Example
set forbidden_chain_attr_vio_nworst 30
forbidden_chain_attr_vio_nworst 281
Tweaker™ Variables Version T-2022.03
See also
get_forbidden_chain (cmd)
forbidden_chain_attr_vio_chain_count
forbidden_chain_attr_vio_nworst 282
Tweaker™ Variables Version T-2022.03
force_keep_physical_cells
# Lists the certain physical cell to be not ignored during ECO operation.
Type
String
Default
Empty
Description
By default, only cell whose attribute "+SOURCE DIST" is clearly defined at
def will be recognized as physical cells. Other even looks like physical
cell but missing "+SOURCE DIST" will still be treated as regular cells and
By listing certain on this variable, users can force Tweaker not to keep
Example
set force_keep_physical_cells { *IO_PAD* }
force_keep_physical_cells 283
Tweaker™ Variables Version T-2022.03
See also
def_physical_cells_to_be_ignored
def_physical_instances_to_be_ignored
keep_def_fixed_physical_cells
force_keep_physical_cells 284
Tweaker™ Variables Version T-2022.03
gate_array_filler_prefix
# Defines the gate array filler prefix name.
Type
String
Default
GA_DOD_
Description
This variable defines the prefix name for gate array fillers that are
Example
set gate_array_filler_prefix GA_DOD_
See also
N/A
gate_array_filler_prefix 285
Tweaker™ Variables Version T-2022.03
gate_array_honor_blockages
# Enable the ability to honor or not-honor the placement blockages during the
Type
Boolean
Default
false
Description
By default, Tweaker will not honor the placement blockages during the gate-
array resource searching which means that Tweaker will still use the gate-
Example
set gate_array_honor_blockages true
libin ...
lefin ...
verilogin ...
gate_array_honor_blockages 286
Tweaker™ Variables Version T-2022.03
defin ...
See also
vertical_pin_track_color_aware
vertical_pin_avoid_power_strap
gate_array_honor_blockages 287
Tweaker™ Variables Version T-2022.03
gui_title
# set GUI window title
Type
string
Default
false
Description
User can set the name of GUI title. The title name will be showing on all
Example
set gui_title cpu_block
See also
N/A
gui_title 288
Tweaker™ Variables Version T-2022.03
high_priority_for_dont_use_attribute
# Enables or disables the higher priority of dont_use command over the priority
of insertion lists.
Type
Boolean
Default
false
Description
By default, the priority of insertion lists (repeater insertion lists, delay
insertion lists, and dummy load insertion list) is set to be higher than
Tweaker can still use this cell during any insertion operations.
have a higher priority over the insertion lists. And hence all of the cells
that are listed in the dont_use command are not allowed be used during the
insertion operations.
high_priority_for_dont_use_attribute 289
Tweaker™ Variables Version T-2022.03
Example
set high_priority_for_dont_use_attribute true
See also
set_dont_use_cell (cmd)
slk_delay_insertion_buff_list
slk_delay_insertion_inverter_list
slk_delay_insertion_high_drive_buff_list
slk_dummy_load_cell_list
slk_repeater_insertion_buff_list
slk_repeater_insertion_inverter_list
slk_repeater_insertion_constant_cell_list
high_priority_for_dont_use_attribute 290
Tweaker™ Variables Version T-2022.03
horizontal_cell_edge_spacing_rule_filter
# Ignore horizontal cell edge spacing rule check if the spacing is lesser than
Type
Float
Default
0.0
Description
This variable is used for ignoring rule check for horizontal abutment rule
Example
set enable_cell_edge_spacing_rule true
See also
set_lib_cell_spacing_label (cmd)
set_spacing_label_rule (cmd)
horizontal_cell_edge_spacing_rule_filter 291
Tweaker™ Variables Version T-2022.03
report_cell_edge_spacing_rules (cmd)
report_cell_edge_spacing_rules (cmd)
enable_cell_edge_spacing_rule (var)
lefin_cell_width_spacing_rule (var)
vertical_cell_edge_spacing_rule_filter (var)
horizontal_cell_edge_spacing_rule_filter 292
Tweaker™ Variables Version T-2022.03
ignore_def_placement_blockages
# Enables or disables the ability to ignore DEF-defined placement blockage.
Type
Boolean
Default
false
Description
By default, Tweaker will honor the DEF-defined placement blockages and avoid
ignore any placement blockage and perform any ECO operation on those block
region. During this setting, there might be some overlap cells after the ECO
operation. And hence, Tweaker offers the ability to report the overlapped
however setting this variable to true will not ignore the previous setting
ignore_def_placement_blockages 293
Tweaker™ Variables Version T-2022.03
For example:
=> Tweaker will treat "soft blockage" blocks as hard blockage and
=> Tweaker will treat "soft blockage" blocks as free space and
Example
set ignore_def_placement_blockages true
ignore_def_placement_blockages 294
Tweaker™ Variables Version T-2022.03
See also
report_overlapped_cells
enable_soft_blockages
enable_partial_blockages
ignore_def_placement_blockages 295
Tweaker™ Variables Version T-2022.03
ignore_eco_attr_while_reading_partial_def
# Enables or disables the ability to treat the cells of reloaded Tweaker-
Type
Boolean
Default
false
Description
By default, if a partial DEF file that are generated from Tweaker is
reloaded into Tweaker, Tweaker will treat those cells as ECO cells.
In contrary, if this variable is set to true, those cell will not be treated
as ECO cells.
Example
set ignore_eco_attr_while_reading_partial_def true
See also
ignore_eco_attr_while_reading_partial_def 296
Tweaker™ Variables Version T-2022.03
N/A
ignore_eco_attr_while_reading_partial_def 297
Tweaker™ Variables Version T-2022.03
ignore_symmetry_check
# Enables or disables the symmetry rule checking.
Type
Boolean
Default
false
Description
By default, Tweaker will check the symmetry rule which are defined by LEF
If this variable is set to true, Tweaker will skip any checking symmetry
Example
set ignore_symmetry_check false
See also
auto_detect_symmetry_by_def
ignore_symmetry_check 298
Tweaker™ Variables Version T-2022.03
lef_default_symmetry
ignore_symmetry_check 299
Tweaker™ Variables Version T-2022.03
ilm_list_for_eco_tcl
# Tweaker variable to let user specify the design list for ILM model to be applied in ECO tcl.
Type
String
Default
empty
Description
If ECO tcl is generated within design which may be future turned into
ILM model in STA, then Tweaker allows user to specify those design list
in this variable such that when ECO tcl is generated those design's R2R
Example
defin ... SUB1 SUB2 SUB3 TOP
...ECO...
ilm_list_for_eco_tcl 300
Tweaker™ Variables Version T-2022.03
See also
N/A
ilm_list_for_eco_tcl 301
Tweaker™ Variables Version T-2022.03
innovus_eco_tcl_half_unit_site_cell_placement_offset
# Specify an offset of unit site for cell placement in Innovus ecotcl
Type
String
Default
half_site
Description
Generally, a cell's location is described by its bottom-left xy coordinate. However,
inbound cell's bottom-left point is not on the row. If the location is pointed to this
bottom-left point in Innovus ecotcl, it will have an error. Therefore, Tweaker provides
this variable to describe this cell's location by shifting an offset from bottom-left point.
Example
set innovus_eco_tcl_half_unit_site_cell_placement_offset haft_site
See also
N/A
innovus_eco_tcl_half_unit_site_cell_placement_offset 302
Tweaker™ Variables Version T-2022.03
innovus_eco_tcl_half_unit_site_cell_placement_offset 303
Tweaker™ Variables Version T-2022.03
innovus_eco_tcl_in_bound_cell_placement_offset
# To define the Innovus eco tcl out placement offset for inbound cell.
Type
String
Default
half_row
Description
By default, Tweaker will output the left bottom placement location for the
inbound cell.
Consequently, user can use this attribute to define the cell output
placement location shift half row height for Innovus. If not, you can define
this variable as 0.
Example
...
set innovus_eco_tcl_in_bound_cell_placement_offset
innovus_eco_tcl_in_bound_cell_placement_offset 304
Tweaker™ Variables Version T-2022.03
...
...
See also
ecotclout -innovus
innovus_eco_tcl_in_bound_cell_placement_offset 305
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_aggressor_view_name
# To specify RHSC aggressor view name for IR ECO.
Type
String
Default
empty
Description
By setting this variable to get the instance-based IR drop
Example
set ir_eco_rhsc_aggressor_view_name aggr
See also
ir_eco_rhsc_analysis_view_name
ir_eco_rhsc_voltage_impact_view_name
ir_eco_rhsc_aggressor_view_name 306
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_analysis_view_name
# To specify RHSC analysis view name for IR ECO.
Type
String
Default
empty
Description
By setting this variable to define basic RHSC IR drop analysis
Example
set ir_eco_rhsc_analysis_view_name av
See also
ir_eco_rhsc_voltage_impact_view_name
ir_eco_rhsc_aggressor_view_name
ir_eco_rhsc_analysis_view_name 307
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_restore_db_path
# To specify RHSC restore db path for IR ECO
Type
String
Default
empty
Description
By setting this variable to define restore RHSC db path for
Example
set ir_eco_rhsc_restore_db_path ./rhsc_db
See also
ir_eco_rhsc_tool_path
ir_eco_rhsc_work_dir_path
ir_eco_rhsc_timing_corner
ir_eco_rhsc_restore_db_path 308
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_restore_db_path 309
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_timing_corner
# To specify IR ECO prediction corresponding timing corner.
Type
String
Default
empty
Description
By setting this variable to define launch RHSC corresponding
Example
set ir_eco_rhsc_timing_corner ss_cworst
See also
ir_eco_rhsc_restore_db_path
ir_eco_rhsc_tool_path
ir_eco_rhsc_work_dir_path
ir_eco_rhsc_timing_corner 310
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_timing_corner 311
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_tool_path
# To specify launch RHSC binary path
Type
String
Default
empty
Description
By setting this variable to define launch RHSC binary file
Example
set ir_eco_rhsc_tool_path /tool/rhsc/2021_R1.1/linux_x86_64_rhel7/bin
See also
ir_eco_rhsc_restore_db_path
ir_eco_rhsc_work_dir_path
ir_eco_rhsc_timing_corner
ir_eco_rhsc_tool_path 312
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_tool_path 313
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_voltage_impact_view_name
# To specify RHSC voltage impact view name for IR ECO.
Type
String
Default
empty
Description
By setting this variable to get ECO the instance-based IR drop
Example
set ir_eco_rhsc_voltage_impact_view_name vim
See also
ir_eco_rhsc_analysis_view_name
ir_eco_rhsc_aggressor_view_name
ir_eco_rhsc_voltage_impact_view_name 314
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_work_dir_path
# To specify launch RHSC working directory
Type
String
Default
empty
Description
By setting this variable to define launch RHSC working directory
Example
set ir_eco_rhsc_work_dir_path ./test
See also
ir_eco_rhsc_restore_db_path
ir_eco_rhsc_tool_path
ir_eco_rhsc_timing_corner
ir_eco_rhsc_work_dir_path 315
Tweaker™ Variables Version T-2022.03
ir_eco_rhsc_work_dir_path 316
Tweaker™ Variables Version T-2022.03
ir_eco_update_eco_cell_only
# IR ECO only update ECO cell IR drop difference.
Type
Boolean
Default
true
Description
In general, when Tweaker sizing cell, it will impact ECO cell and
If you define this variable false, we will update ECO cell, driver
IR drop have best performance and QoR balance to define this variable
false.
Example
set ir_eco_update_eco_cell_only true
ir_eco_update_eco_cell_only 317
Tweaker™ Variables Version T-2022.03
See also
ir_eco_update_eco_cell_only 318
Tweaker™ Variables Version T-2022.03
keep_def_cover_physical_cells
# To keep or drop physical cells of the attribute of "COVER" from DEF.
Type
Boolean
Default
true
Description
An instance's placement status can be described "COVER" to in place of
"PLACED" in DEF. In Tweaker, the cover status' physical cells occupied the
usable spaces if the variable to be set true. Otherwise, the cover status'
physical cells will be dropped and these areas will be treated as free space
(usable space).
In DEF:
COMPONENTS
...
- io0_UIO_GPI1des_h_ttcInst476 DCVR
+ SOURCE DIST ;
keep_def_cover_physical_cells 319
Tweaker™ Variables Version T-2022.03
...
END COMPONENTS
Example
# Example 1. drop the cover physical cell from DEF
...
defin
...
defin
...
# Tweaker
defin
...
# free spaces
slkfix ...
keep_def_cover_physical_cells 320
Tweaker™ Variables Version T-2022.03
See also
defin (cmd)
def_physical_cells_to_be_ignored (var)
keep_def_cover_physical_cells 321
Tweaker™ Variables Version T-2022.03
keep_def_fixed_physical_cells
# Preserves physical cells with "FIXED" attribute in DEF.
Type
Boolean
Default
true
Description
If this variable is set to false, Tweaker will honor the user-specified cell
and treat those physical cell as free spaces even if they have "FIXED"
In contrary, if this variable is set to default true, Tweaker will not touch
any of physical cell types with "FIXED" attribute regardless of the cell
only those without the "FIXED" attribute will be ignored and treated as free
spaces.
keep_def_fixed_physical_cells 322
Tweaker™ Variables Version T-2022.03
Example
set def_physical_cells_to_be_ignored { *FILL* *DCAP* }
See also
def_physical_cells_to_be_ignored
def_physical_instances_to_be_ignored
keep_def_fixed_physical_cells 323
Tweaker™ Variables Version T-2022.03
keep_netlist_in_memory
# Enables or disables the ability of Tweaker to memorize all verilog modules.
Type
Boolean
Default
true
Description
By default, Tweaker will memorize all of the modules to avoid any
garbage-out during the verilogout if the file is modified during the ECO
operations.
Example
set keep_netlist_in_memory false
See also
keep_netlist_in_memory 324
Tweaker™ Variables Version T-2022.03
N/A
keep_netlist_in_memory 325
Tweaker™ Variables Version T-2022.03
keep_used_spare_cells_in_netlist
# Enables or disables the ability to keep the original name of utilized spare
Type
Boolean
Default
false
Description
This is Tweaker Metal ECO related variable.
By default, Tweaker will rename the original instances name of the utilized
In contrary, if this variable is set to true, Tweaker will keep the original
name within the netlist while removing its connectivity and physical
Example
set keep_used_spare_cells_in_netlist true
keep_used_spare_cells_in_netlist 326
Tweaker™ Variables Version T-2022.03
See also
N/A
keep_used_spare_cells_in_netlist 327
Tweaker™ Variables Version T-2022.03
leakage_power_unit
# Change power unit from Tweaker leakage power report.
Type
String [pw|nw|uw|mw]
Default
mw
Description
This variable holds the leakage power unit (pw|nw|uw|mw) used inside Tweaker
GUI, variables, and commands. If power unit is changed, each leakage power
variable whose unit is power unit will also need to be changed accordingly.
If the power unit of the reports is different from the one defined in this
Example
set leakage_power_unit pw
...
leakage_power_unit 328
Tweaker™ Variables Version T-2022.03
slkdc-check_slack_consistency
See also
dynamic_power_unit
leakage_power_unit 329
Tweaker™ Variables Version T-2022.03
lef_default_symmetry
# Specify the default SYMMETRY value for cell which is missing those information
Type
String
Default
empty
Description
By default, Tweaker will honor the orientations defined in LEF file.
value by using this variable. The acceptable values are X, Y, and R90.
Example
set lef_default_symmetry X Y
lef_default_symmetry 330
Tweaker™ Variables Version T-2022.03
See also
auto_detect_symmetry_by_def
ignore_symmetry_check
lef_default_symmetry 331
Tweaker™ Variables Version T-2022.03
lef_layers_to_be_ignored
# Enables or disables Tweaker to ignore the layers that are defined in the LEF
files.
Type
String
Default
empty
Description
Users are allowed to specified the layers to be ignored during parsing LEF
stage.
This ability is used when there are some special layers defined in LEF but
By setting them on this variable, Tweaker will ignore them during parsing
LEF.
Example
set lef_layers_to_be_ignored { METALX ...}
lef_layers_to_be_ignored 332
Tweaker™ Variables Version T-2022.03
See also
lef_layers_to_be_ignored 333
Tweaker™ Variables Version T-2022.03
lefin_cell_width_spacing_rule
# Tweaker variable to allow reading TPO rules or vt spacing rules from lef file.
Type
Boolean
Default
false
Description
In advanced process like 20nm or below there are new placement rules like
rules from lef files provided by foundry or library vendors user can enable
Example
set lefin_cell_width_spacing_rule true
lefin ...
See also
lefin_cell_width_spacing_rule 334
Tweaker™ Variables Version T-2022.03
set_min_vt_width (cmd)
[CMD[ set_tpo_width
lefin_cell_width_spacing_rule 335
Tweaker™ Variables Version T-2022.03
libin_read_internal_power
# Enables the ability of reading internal power information while doing libin cmd.
Type
Boolean
Default
false
Description
By default, Tweaker will skip the internal power table and information
from .lib file. By setting this variable to true, users can now read
Example
set libin_read_internal_power true ## before libin
See also
libin_read_internal_power 336
Tweaker™ Variables Version T-2022.03
libin (cmd)
libin_read_internal_power 337
Tweaker™ Variables Version T-2022.03
libin_with_voltage_temperature_information
# To Identify libin group name have voltage and temperature information.
Type
Boolean
Default
false
Description
By default, Tweaker will honor the libin naming option for the library
group name.
However, if you define this variable, Tweaker will auto honor the library
voltage and temperature information in the library group name. Then, you can
Example
set libin_with_voltage_temperature_information true
libin_with_voltage_temperature_information 338
Tweaker™ Variables Version T-2022.03
....
begin_corner ss_1.0v
...
end_corner ss_1.0v
....
begin_corner ss_0.9v
...
end_corner ss_0.9v
...
See also
libin
set_group
libin_with_voltage_temperature_information 339
Tweaker™ Variables Version T-2022.03
library_cells_to_be_designs
# Makes Tweaker treat instances of the specified .lib cells as designs.
Type
String
Default
empty
Description
Tweaker treats all instances of any .lib cells as leaf cells, even if they
design boundaries ), users can do that by specifying those .lib cells' names
in this variable.
This can help Tweaker in distinguishing between interface paths and non-
interface paths with [CMD] slackin or [CMD] slkfix, along with their options
library_cells_to_be_designs 340
Tweaker™ Variables Version T-2022.03
Example
If HM1 and HM2 are represented in Tweaker by their corresponding .lib files,
Therefore this command will discard such paths while parsing the given
violation report :
To make Tweaker treat such paths as interface paths while parsing the
violation report :
See also
slackin (cmd)
slkfix (cmd)
library_cells_to_be_designs 341
Tweaker™ Variables Version T-2022.03
library_cells_to_be_ignored
# Enables or disables Tweaker to ignore the cell's attributes that are listed in the LIB files.
Type
String
Default
empty
Description
Users are allowed to specified the cells (macros) to be ignored even if they
are defined in the library cells (LIB or LEF) by listing them into this
variable.
hierarchical design) are defined in both library (usually LEF) and netlist.
By setting them on this variable, Tweaker will read cell's definitions from
Example
set library_cells_to_be_ignored { sub_design1 sub_design2 sub_design3 ...}
library_cells_to_be_ignored 342
Tweaker™ Variables Version T-2022.03
See also
verilog_modules_to_be_ignored
library_cells_to_be_ignored 343
Tweaker™ Variables Version T-2022.03
log_file_name
# Defines a dedicated name for log, nlcmd, cmd, and error files after launching Tweaker.
Type
String
Default
empty
Description
This variable provides the ability to assign a dedicated name for log file
after launching Tweaker. However, not only the log file but also nlcmd, cmd,
Users are strongly recommended to set this variable on the start of the tcl
script.
Example
set log_file_name fix_setup_0430
log_file_name 344
Tweaker™ Variables Version T-2022.03
See also
N/A
log_file_name 345
Tweaker™ Variables Version T-2022.03
log_period
# Defines the period of log contents update.
Type
Integer
Default
1000
Description
This variable defines the period for Tweaker to update the log contents.
Example
set log_period 2000
See also
log_file_name
log_period 346
Tweaker™ Variables Version T-2022.03
max_file_in_error
# Defines the maximum repeating error during file-in.
Type
Integer
Default
50
Description
This variable defines the maximum repeating error message that are allowed
Example
set max_file_in_error 100
See also
N/A
max_file_in_error 347
Tweaker™ Variables Version T-2022.03
max_sdc_error_msg
# Defines the maximum repeating error while parsing SDC constraint files.
Type
Integer
Default
10
Description
This variable defines the maximum repeating error message that are allowed
to be displayed on console and log file while parsing the SDC constraint
file (sdcin).
The maximum count for repeating error messages output in log or console for
Example
set max_sdc_error_msg 20
See also
max_sdc_error_msg 348
Tweaker™ Variables Version T-2022.03
N/A
max_sdc_error_msg 349
Tweaker™ Variables Version T-2022.03
merge_nlcmd_skip_inst_overlap
# Skips ECOs which would otherwise cause physical overlaps while sourcing nlcmd.
Type
Boolean
Default
false
Description
By default, while sourcing an nlcmd file with "source" command with option
By enabling this variable, Tweaker would also take into consideration the
physical conflicts such as ECO cell overlapping with any other cell or with
merge_nlcmd_skip_inst_overlap 350
Tweaker™ Variables Version T-2022.03
Example
tweaker_shell> set merge_nlcmd_skip_inst_overlap true
#conflict# overlap
See also
slackin (cmd)
source (cmd)
merge_nlcmd_skip_inst_overlap 351
Tweaker™ Variables Version T-2022.03
merge_nlcmd_skip_physical_conflict
# Enables the ability to ignore physical conflict while merging multiple nlcmds
Type
Boolean
Default
false
Description
By default, while sourcing an nlcmd file with "source" command with
cause physical conflicts with any previously sourced ECOs. Tweaker will not
take the physical conflicts into consideration, such as ECO cell overlapping
By setting this variable to true, Tweaker will skip such physical conflict
Example
tweaker_shell> set merge_nlcmd_skip_physical_conflict true
merge_nlcmd_skip_physical_conflict 352
Tweaker™ Variables Version T-2022.03
#conflict# overlap
See also
merge_nlcmd_skip_inst_overlap
merge_nlcmd_skip_physical_conflict 353
Tweaker™ Variables Version T-2022.03
merge_nlcmd_skip_sizing_conflict
# Enables the ability to skip sizing conflict while merging multiple nlcmds
Type
Boolean
Default
false
Description
By default, while sourcing a nlcmd file by "source" command with
"-skip_conflict" option, Tweaker follows all the sizing steps in the nlcmd
file without any check. When this variable is set to true, Tweaker skips
sizing action if the original cell type recorded in nlcmd is different with
This variable only works when sourcing nlcmd file with the option
"-skip_conflict".
Example
tweaker_shell> set merge_nlcmd_skip_sizing_conflict true
merge_nlcmd_skip_sizing_conflict 354
Tweaker™ Variables Version T-2022.03
See also
merge_nlcmd_skip_inst_overlap (var)
merge_nlcmd_skip_physical_conflict (var)
source (cmd)
merge_nlcmd_skip_sizing_conflict 355
Tweaker™ Variables Version T-2022.03
metal_eco_mode
# Enables or disables Tweaker Metal ECO.
Type
Boolean
Default
false
Description
This is Tweaker Metal ECO related variable.
This variable is the main switch to enable Tweaker Metal ECO. During this
mode, all netlist update action that are related to relocating action are
Example
set metal_eco_mode true
See also
metal_eco_mode 356
Tweaker™ Variables Version T-2022.03
N/A
metal_eco_mode 357
Tweaker™ Variables Version T-2022.03
metal_layer_blockage_as_placement_blockage
# Enables or disables the ability of Tweaker to threat metal blockage as hard blockage.
Type
Boolean
Default
false
Description
This is on the fly control variable to enable or disable the ability of
By default, Tweaker will treat metal blockages as free space during any
ECO operation. Tweaker only honors placement blockage and no ECO cell can
In contrary, user can specify metal layer to this variable and Tweaker
will treat metal blockage as hard blockages and avoid any ECO operation
on those regions.
Example
metal_layer_blockage_as_placement_blockage 358
Tweaker™ Variables Version T-2022.03
### Provide metal layer name by using command to get all metal layers
See also
enable_soft_blockages (var)
enable_partial_blockage (var)
enable_macro_halo_blockages (var)
enable_no_filler1_spacing_rule_with_placement_blockage (var)
gate_array_honor_blockages (var)
metal_layer_blockage_as_placement_blockage 359
Tweaker™ Variables Version T-2022.03
metal_layer_for_std_cell_power_ground
# Specifies the metal layer name to configure power/ground
Type
[ String | auto ]
Default
empty
Description
If Tweaker can't configure correct metal layer of power/ground, specifies
Example
set metal_layer_for_std_cell_power_ground Metal1
See also
N/A
metal_layer_for_std_cell_power_ground 360
Tweaker™ Variables Version T-2022.03
min_required_def_version
# Defines the minimum version requirement of the imported DEF files.
Type
Float
Default
empty
Description
This variable defines the minimum version requirement for the imported DEF
files.
Tweaker will output an error message for the DEF files that is older than
Example
set min_required_def_version 5.6
defin ...
See also
min_required_def_version 361
Tweaker™ Variables Version T-2022.03
N/A
min_required_def_version 362
Tweaker™ Variables Version T-2022.03
multi_machine_client_available_cpu_number
# Specifies the available cpu number executed in client machine for multi-
machine mode.
Type
Integer
Default
4
Description
This variable is to specify the available cpu number which are executed
Example
set enable_multi_machine_mode true
set multi_machine_client_number 10
set multi_machine_client_available_cpu_number 4
multi_machine_client_available_cpu_number 363
Tweaker™ Variables Version T-2022.03
...
slkdc -check_slack_consistency
See also
enable_multi_machine_mode (var)
multi_machine_client_number (var)
multi_machine_submit_job_prefix (var)
multi_machine_submit_job_postfix (var)
multi_machine_time_limit (var)
multi_machine_client_available_cpu_number 364
Tweaker™ Variables Version T-2022.03
multi_machine_client_list
# To Specify the client machine name for multi-machine submit jobs.
Type
string
Default
empty
Description
This variable is to specify the client machine name for multi-machine submit
client jobs. Then, you can add "$machine" keyword to submit client jobs to
count.
set multi_machine_client_number 2
multi_machine_client_list 365
Tweaker™ Variables Version T-2022.03
Example
set enable_multi_machine_mode true
set multi_machine_client_available_cpu_number 4
set mulit_machine_client_number 2
...
slkdc -check_slack_consistency
See also
enable_multi_machine_mode
multi_machine_client_available_cpu_number
multi_machine_client_number
multi_machine_submit_job_prefix
multi_machine_submit_job_postfix
multi_machine_time_limit
multi_machine_client_list 366
Tweaker™ Variables Version T-2022.03
multi_machine_client_number
# Specifies the number of client machine for multi-machine mode.
Type
Integer
Default
10
Description
This variable is to specify the number of client machine when multi-machine
mode is enabled.
Example
set enable_multi_machine_mode true
set multi_machine_client_number 10
set multi_machine_client_available_cpu_number 4
...
multi_machine_client_number 367
Tweaker™ Variables Version T-2022.03
slkdc -check_slack_consistency
See also
enable_multi_machine_mode (var)
multi_machine_client_available_cpu_number (var)
multi_machine_submit_job_prefix (var)
multi_machine_submit_job_postfix (var)
multi_machine_time_limit (var)
multi_machine_client_number 368
Tweaker™ Variables Version T-2022.03
multi_machine_submit_job_postfix
# Specifies the postfix when submitting job to client machine.
Type
String
Default
empty
Description
This variable is to specify the postfix when server machine submits job
to client machine.
Example
set enable_multi_machine_mode true
set multi_machine_client_number 10
set multi_machine_client_available_cpu_number 4
multi_machine_submit_job_postfix 369
Tweaker™ Variables Version T-2022.03
...
slkdc -check_slack_consistency
See also
enable_multi_machine_mode (var)
multi_machine_client_number (var)
multi_machine_client_available_cpu_number (var)
multi_machine_submit_job_prefix (var)
multi_machine_time_limit (var)
multi_machine_submit_job_postfix 370
Tweaker™ Variables Version T-2022.03
multi_machine_submit_job_prefix
# Specifies the prefix when submitting job to client machine.
Type
String
Default
empty
Description
This variable is to specify the prefix which is used for specifying the
command of job submition when server machine submits job to client machine.
Example
set enable_multi_machine_mode true
set multi_machine_client_number 10
set multi_machine_client_available_cpu_number 4
multi_machine_submit_job_prefix 371
Tweaker™ Variables Version T-2022.03
...
slkdc -check_slack_consistency
See also
enable_multi_machine_mode (var)
multi_machine_client_number (var)
multi_machine_client_available_cpu_number (var)
multi_machine_submit_job_postfix (var)
multi_machine_time_limit (var)
multi_machine_submit_job_prefix 372
Tweaker™ Variables Version T-2022.03
multi_machine_time_limit
# Specifies the timing limit for client job.
Type
Integer
Default
30
Description
This variable is to specify the maximum time the server machine will be
If the client job is not finished, the main Tweaker will continue the
run and skip reading the timing information which should be read by the
client machine.
Example
set enable_multi_machine_mode true
multi_machine_time_limit 373
Tweaker™ Variables Version T-2022.03
set multi_machine_client_number 10
set multi_machine_client_available_cpu_number 4
set multi_machine_time_limit 60
...
slkdc -check_slack_consistency
See also
enable_multi_machine_mode (var)
multi_machine_client_number (var)
multi_machine_client_available_cpu_number (var)
multi_machine_submit_job_prefix (var)
multi_machine_submit_job_postfix (var)
multi_machine_time_limit 374
Tweaker™ Variables Version T-2022.03
naming_rule
# Defines the naming rule for the newly added ECO cells.
Type
String
Default
@DO_PREFIX_@USER_@DATE_@FIXTYPE_
Description
This variable defines the naming rule for the newly added ECO cells.
This variable is mostly used for easier ECO cell recognition during each
ECO operation.
Example
set naming_rule ECO1_@USER_@DATE_
See also
N/A
naming_rule 375
Tweaker™ Variables Version T-2022.03
naming_rule 376
Tweaker™ Variables Version T-2022.03
naming_rule_ref_for_apr
# Specifies naming convention of ECO cell name for third party tool.
Type
String
Default
TWK_@DATE_@TIME_
Description
When high-level insertion feature is enabled by using
name completely in Olympus PNR tool. In order to identify the newly cells
Example
set naming_rule_ref_for_apr "TWK_@DATE_@TIME_"
naming_rule_ref_for_apr 377
Tweaker™ Variables Version T-2022.03
See also
eco_tcl_use_high_level_insertion_cmd
naming_rule
naming_rule_ref_for_apr 378
Tweaker™ Variables Version T-2022.03
netlist_fit_to_last_command
# Enables or disables the updated modified Netlist View on Tweaker GUI.
Type
Boolean
Default
true
Description
By default, the Netlist View of from Tweaker GUI will display the part of
In contrary, if this variable is set to false, the Netlist View will not
be updated and remain to the original display before any ECO action.
Example
set netlist_fit_to_last_command false
See also
N/A
netlist_fit_to_last_command 379
Tweaker™ Variables Version T-2022.03
netlist_fit_to_last_command 380
Tweaker™ Variables Version T-2022.03
netlist_physical_cells_to_be_ignored
# Specifies the type(s) list of physical cell that will be ignored.
Type
String
Default
Empty
Description
To ignore physical cells which instantiated in netlist and use their
spaces as free space during any ECO process, user can specified the
Set this variable before "verilogin" command, then those matched physical
cells will be filtered away and does not exist in our db (cannot be seen at
netlist_physical_cells_to_be_ignored 381
Tweaker™ Variables Version T-2022.03
Example
# matched cell will be directly filtered away
verilogin ...
defin ...
defin ...
See also
def_physical_cells_to_be_ignored
def_physical_instances_to_be_ignored
keep_def_fixed_physical_cells
force_keep_physical_cells
set_pseudo_physical_cell
netlist_physical_cells_to_be_ignored 382
Tweaker™ Variables Version T-2022.03
nls_enable_translate_off
# Enables or disables the ability to honor netlist's translate-on and translate-off
Type
Boolean
Default
true
Description
By default, Tweaker will honor the translate-on and translate-off token
that is coming from the provided netlist(s) which will ignore all of
Example
set nls_enable_translate_off true
See also
NA
nls_enable_translate_off 383
Tweaker™ Variables Version T-2022.03
nls_flatten_lib_bundle_pin
# Enables or disables the ability to output the netlist with flatten bundle pins
Type
Boolean
Default
true
Description
By default, Tweaker will dump the output netlist with the flatten bundle pins.
Example
set nls_flatten_lib_bundle_pin true
See also
NA
nls_flatten_lib_bundle_pin 384
Tweaker™ Variables Version T-2022.03
non_physical_aware_eco
# Enables non-physical aware insertion ECO.
Type
Boolean
Default
false
Description
By default, Tweaker will apply insertion ECO for physical aware DB.
Tweaker will alwayus B173 blocking code for prevent physical DB.
When you enable this variable, you can bypass B173 blocking code and use
Example
...
non_physical_aware_eco 385
Tweaker™ Variables Version T-2022.03
....
See also
N/A
non_physical_aware_eco 386
Tweaker™ Variables Version T-2022.03
overwrite_existed_file
# Enables or disables the ability to overwrite the existing dumped files (by issuing verilogout, defout, sdfout, etc.).
Type
Boolean
Default
true
Description
By default, the "dump_file" commands (verilogout, defout, sdfout, etc) will
In contrary, if this variable is set to false, Tweaker will not dump-out the
Example
set overwrite_existed_file false
verilogout ...
defout ...
sdfout ...
overwrite_existed_file 387
Tweaker™ Variables Version T-2022.03
ecotclout ...
See also
N/A
overwrite_existed_file 388
Tweaker™ Variables Version T-2022.03
physical_view_display_all_text
# Enables or disables text display in Physical View.
Type
Boolean
Default
true
Description
By applying this variable to the default value "true", Tweaker will
show all text in Physical View, including instance name, pin name,
Users can set this variable to false to hide all text in Physical View.
Example
set physical_view_display_all_text true
See also
N/A
physical_view_display_all_text 389
Tweaker™ Variables Version T-2022.03
physical_view_display_all_text 390
Tweaker™ Variables Version T-2022.03
physical_view_display_net_by
# Specifies the default behavior of net display by fly line or detail route.
Type
String
Default
fly_line
Description
By applying this variable to the default value "fly_line", Tweaker will
Users are able to set this variable to "routing" to default display detail
Example
set physical_view_display_net_by routing
See also
N/A
physical_view_display_net_by 391
Tweaker™ Variables Version T-2022.03
physical_view_display_net_by 392
Tweaker™ Variables Version T-2022.03
physical_view_display_quality
# The Tweaker variable that can change physical view display quality
Type
string [fast|balanced|best]
Default
balanced
Description
In Tweaker physical view, the quality of the display will affect
the GUI run time at the same time. By default setting, the Tweaker
By setting this variable to fast, the display quality will get worse
but the display run time will be fast and vice versa.
no any preference.
Example
set physical_view_display_quality fast
physical_view_display_quality 393
Tweaker™ Variables Version T-2022.03
See also
N/A
physical_view_display_quality 394
Tweaker™ Variables Version T-2022.03
physical_view_max_acceptable_unplaced_cell_count
# Defines the maximum displayed unplaced cells on the physical view.
Type
Integer
Default
10000
Description
In Tweaker physical view, the unplaced cells will be grouped on the
on the physical view. If the number of the unplaced cells exceed the value
defined in this variable, Tweaker will not display the rest of unplaced
Example
set physical_view_max_acceptable_unplaced_cell_count 10000
physical_view_max_acceptable_unplaced_cell_count 395
Tweaker™ Variables Version T-2022.03
See also
N/A
physical_view_max_acceptable_unplaced_cell_count 396
Tweaker™ Variables Version T-2022.03
pin_access_point_for_ndr_net
# Enables the pin access point for ndr net
Type
string ## "layer_name or layer_index"
Default
(empty)
Description
By default, Tweaker will not have pin access point check for next routing
layer's ndr net. In advanced design like 7 nm, users can set this variable
Example
set pin_access_point_for_ndr_net METAL2
lefin ...
defin ...
See also
pin_access_point_for_ndr_net 397
Tweaker™ Variables Version T-2022.03
metal1_pin_access_point_min_count
check_pin_access_point_at_cell_margin
pin_access_point_for_ndr_net 398
Tweaker™ Variables Version T-2022.03
pin_access_point_min_count
# Enable horizontal cell pin routing access point check on next vertical metal layer
Type
Integer
Default
0
Description
In advanced process like 10nm or below, even without DRC violates, APR
tool may check cell's horizontal pin routing access points on next
The possible chances that next vertical metal wires which can block the
1. cell follow pin's vertical metal layer wires affects current cell
horizontal pin.
pin_access_point_min_count 399
Tweaker™ Variables Version T-2022.03
After the deduction of above 3 possible sources, Tweaker will check the
remaining available routing access can match the user specified value or
not. If not then we will try to shift the cell to a new place.
The pin access control can be on the fly to adjust and check.
Usages :
1. set pin_access_point_min_count M1 2
=> Tweaker will use M1 (should be horizontal layer) as the pin access
count reference.
2. set pin_access_point_min_count 2
=> Tweaker will take the first horizontal routing layer to use as pin
Example
_set_layer_closure METAL1 xEnclosure yEnclosure
set pin_access_point_min_count 2
slkfix
See also
pin_access_point_min_count 400
Tweaker™ Variables Version T-2022.03
pin_track_aware_by_layer
# enable pin track awareness on specified layers
Type
String
Default
Empty
Description
In advanced processes, a cell's pin must be aligned with the correct routing
In order to be routing track aware, Tweaker has this variable for users to
The track is defined in the DEF file, while metal layers and cell pin are
defined in the LEF files. Hence the user needs both files to match before
Example
libin ...
pin_track_aware_by_layer 401
Tweaker™ Variables Version T-2022.03
lefin ...
verilogin ...
defin ...
See also
pin_track_color_aware_by_layer (var)
pin_track_aware_by_layer 402
Tweaker™ Variables Version T-2022.03
pin_track_color_aware_by_layer
# enable color awareness on specified color tracks (horizontal & vertical)
Type
String
Default
Empty
Description
In advanced processes, like 10nm or below, foundries may have the same metal
In 7nm technology, a cell's horizontal and vertical pin must be aligned with
In order to be color aware, Tweaker has this variable for users to control
which layers need to be checked for the 7nm coloring rules. The specified
The track and available colors are defined in the DEF file, while metal
layers and cell pin colors are defined in the LEF files. Hence the user
needs both files to match before enabling the routing track color awareness
pin_track_color_aware_by_layer 403
Tweaker™ Variables Version T-2022.03
Example
libin ...
lefin ...
verilogin ...
defin ...
See also
vertical_pin_track_color_aware
vertical_pin_avoid_power_strap
pin_track_color_aware_by_layer 404
Tweaker™ Variables Version T-2022.03
power_ground_pin_geometry_to_be_compared
# Specifies the power or ground pin name to compare pin geometry during auto fixing
Type
String
Default
empty
Description
By setting variable slk_fix_keep_pin_geometry to true, users can restraint
Tweaker to perform the sizing algorithm within the candidate cells which
contain the same pin geometry as the original cells. Enable this variable
to further compare the pin geometry of power/ground pin during auto fixing.
Example
set slk_fix_keep_pin_geometry true
power_ground_pin_geometry_to_be_compared 405
Tweaker™ Variables Version T-2022.03
See also
slk_fix_keep_pin_geometry (var)
power_ground_pin_geometry_to_be_compared 406
Tweaker™ Variables Version T-2022.03
power_state_mode
# enable this variable to use command read_power_state
Type
Boolean
Default
false
Description
Use this switch to enable the Tweaker command read_power_state.
Example
set power_state_mode true
read_power_state
...
See also
read_power_state
power_state_mode 407
Tweaker™ Variables Version T-2022.03
primetime_si_mode
# Enables SI calculation mechanism compatible with PrimeTime.
Type
Boolean
Default
true
Description
Tweaker treats SI information from PrimeTime and that from CeltIC
Example
set primetime_si_mode false
See also
primetime_si_mode 408
Tweaker™ Variables Version T-2022.03
N/A
primetime_si_mode 409
Tweaker™ Variables Version T-2022.03
prioritize_lef_color_rule
# Automatically extracts Samsung 10nm coloring rules from LEF5.8 tech file.
Type
Boolean
Default
false
Description
This variable must work with [CMD] set_color_drc_rule_check_layer. If this
automatically extracts Samsung 10nm coloring rules from LEF5.8 tech file,
[CMD] set_color_rule_metal_end_spacing
Users may check in the .cmd file generated by their Tweaker runs to see the
[CMD] set_color_drc_rule_check_layer.
enable this var, the LEF contents may overwrite those your manual specified
prioritize_lef_color_rule 410
Tweaker™ Variables Version T-2022.03
values.
Example
#=== To enable automatically extracting Samsung 10nm coloring rule ===
set_color_drc_rule_check_layer M1
...
set_color_drc_rule_check_layer M1
-endofline ...
-endofline ...
-endofline ...
...
See also
set_color_drc_rule_check_layer (cmd)
prioritize_lef_color_rule 411
Tweaker™ Variables Version T-2022.03
set_color_rule_metal_end_spacing (cmd)
prioritize_lef_color_rule 412
Tweaker™ Variables Version T-2022.03
query_tie_cell_for_constant_cell
# Enables or disables the tie cell searching distance limit.
Type
Boolean
Default
false
Description
If this variable is set to true, Tweaker will base on the distance limit
variable.
Example
set query_tie_cell_for_constant_cell true
query_tie_cell_for_constant_cell 413
Tweaker™ Variables Version T-2022.03
See also
db_tie_dist
query_tie_cell_for_constant_cell 414
Tweaker™ Variables Version T-2022.03
recycle_spare_cell_into_original_module
# Tweaker variable to control the new recycled spare cells collected at original
Type
Boolean
Default
false
Description
By default the new recycled spare cells under Metal ECO mode are collected
at spare modules (if spare module are specified) or at the design's top
module.
By enabling this Tweaker will collected those recycled spare cells at its
Example
set recycle_spare_cell_into_original_module true
...Metal ECO...
recycle_spare_cell_into_original_module 415
Tweaker™ Variables Version T-2022.03
See also
N/A
recycle_spare_cell_into_original_module 416
Tweaker™ Variables Version T-2022.03
reduce_routing_of_constant_cell
# Enable or disable to reduce routing to connect input pins of constant cell to
TIE cell.
Type
Boolean
Default
true
Description
Normally, input pin(s) of a constant cell is/are connected to TIE cell,
which means it occupies routing resource and even causes high routing
density. Therefore, user can enable this variable before using constant
cells to make input pins connected together with the driving pin.
Example
set reduce_routing_of_constant_cell true
See also
reduce_routing_of_constant_cell 417
Tweaker™ Variables Version T-2022.03
N/A
reduce_routing_of_constant_cell 418
Tweaker™ Variables Version T-2022.03
refill_gate_array_into_original_module
# Assign gate array cell module to its original module while remapping
Type
string
Default
false
Description
By default Tweaker will assign the mapping gate array cell to "Top" module,
Turning on this option will force Tweaker to assign the module to its
original module.
Example
set refill_gate_array_into_original_module true
See also
db_placement_check_physical_rule
set_gate_array
refill_gate_array_into_original_module 419
Tweaker™ Variables Version T-2022.03
update_gate_array_body
refill_gate_array_into_original_module 420
Tweaker™ Variables Version T-2022.03
remap_clk_skew_threshold
# Defines the skew deviation tolerance value during the ECO flip-flop remapping.
Type
Float
Default
0.05
Description
This is Tweaker Metal ECO related variable.
During the ECO flip-flops remapping (ECO synthesis), Tweaker will extract
the flip-flops' skew deviation value, compare them to the value specified
Example
set remap_clk_skew_threshold 0.02
See also
remap_clk_skew_threshold 421
Tweaker™ Variables Version T-2022.03
N/A
remap_clk_skew_threshold 422
Tweaker™ Variables Version T-2022.03
remap_constant_cell
# Specifies the list of constant cells that can be utilized during the ECO synthesis remapping.
Type
String
Default
empty
Description
This is Tweaker Metal ECO related variable
constant cell that will be utilized during the ECO synthesis remapping.
Constant cell can be acquired by tying one or more input pins of a cell to
high/low value to get the new cell function. For example, to tie an input
pin of a three-input AND gate to high will make the cell become a two-input
AND gate.
Example
set remap_constant_cell { AND2* AND4* OR2* OR4* }
remap_constant_cell 423
Tweaker™ Variables Version T-2022.03
See also
remap_constant_reduction
remap_constant_cell 424
Tweaker™ Variables Version T-2022.03
remap_constant_reduction
# Enables or disables the ability to perform logic reduction algorithm to the existing constant cells.
Type
String
Default
off
Description
This is Tweaker Metal ECO related variable.
In contrary, if this variable is set to on, Tweaker will perform the logic
Constant cell can be acquired by tying one or more input pins of a cell to
high/low value to get the new cell function. For example, to tie an input
pin of a three-input AND gate to high will make the cell become a two-input
AND gate.
remap_constant_reduction 425
Tweaker™ Variables Version T-2022.03
Example
set remap_constant_reduction on
See also
remap_constant_cell
remap_constant_reduction 426
Tweaker™ Variables Version T-2022.03
remap_dont_use_cell
# Specifies the list of cell(s) to be ignored during the remapping operation.
Type
String
Default
empty
Description
This is Tweaker Metal ECO related variable.
Example
set remap_dont_use_cell { SPARECKBUF* SPAREFF* }
See also
remap_dont_use_cell_from_lib
remap_dont_use_cell 427
Tweaker™ Variables Version T-2022.03
remap_dont_use_cell_from_lib
# Enables or disables the ability to honor "dont_use" property defined at LIB.
Type
String
Default
empty
Description
This is an obsolete variable and now Tweaker will auto honor dont_use from LIB.
Example
set remap_dont_use_cell_from_lib true
See also
remap_dont_use_cell
remap_dont_use_cell_from_lib 428
Tweaker™ Variables Version T-2022.03
remap_eco_net_length_to_be_remapped
# Defines the minimum net length requirement for the ECO logic cell to be qualified to be remapped.
Type
Integer
Default
500
Description
This is Tweaker Metal ECO related variable.
This variable defines the minimum net length requirement of the ECO logic
Example
set remap_eco_net_length_to_be_remapped 500
See also
remap_eco_logic (cmd)
remap_eco_net_length_to_be_remapped 429
Tweaker™ Variables Version T-2022.03
remap_high_fanout_net_filter
# Tweaker variable to define the threshold of high fanout nets.
Type
Integer
Default
65535
Description
This is Tweaker Metal ECO related variable
During the ECO synthesis remapping, wire length of high fanout nets
By default, Tweaker applies the same cost value for all nets.
larger than the value defined in this variable, Tweaker applies another cost
remap_set_cost_function.
remap_high_fanout_net_filter 430
Tweaker™ Variables Version T-2022.03
Example
set remap_high_fanout_net_filter 50
### Higher weight of cost value means higher priority during remapping
remap_eco_logic -cpu_limit 30
See also
remap_set_cost_function (cmd)
remap_eco_logic (cmd)
remap_high_fanout_net_filter 431
Tweaker™ Variables Version T-2022.03
remap_keep_original_name
# Enables or disables the ability to keep the original name of spare cells that are utilized during the ECO synthesis.
Type
Boolean
Default
false
Description
This is Tweaker Metal ECO related variable.
By default, Tweaker will generate the new names for the spare cells that are
However, by setting this variable to true, Tweaker will keep the original
Example
set remap_keep_original_name true
See also
remap_keep_original_name 432
Tweaker™ Variables Version T-2022.03
N/A
remap_keep_original_name 433
Tweaker™ Variables Version T-2022.03
remap_max_transition
# Defines the max transition constraint for ECO synthesis engine.
Type
Float
Default
2.0
Description
This is Tweaker Metal ECO related variable.
This variable defines the user-defined max transition constraint for ECO
synthesis engine.
However, Tweaker will choose the minimum value between the max transition
defined in this variable and the max transition defined in LIB file.
Example
set remap_max_transition 1.8
remap_max_transition 434
Tweaker™ Variables Version T-2022.03
See also
remap_max_transition_percentage
remap_max_transition 435
Tweaker™ Variables Version T-2022.03
remap_max_transition_percentage
# Defines the max trans value of a cell in the percentage presentation to be qualified as the candidate of ECO cells.
Type
Integer
Default
100
Description
This is Tweaker Metal ECO related variable.
requirement is given.
Example
set remap_max_transition_percentage 80
See also
remap_max_transition_percentage 436
Tweaker™ Variables Version T-2022.03
remap_max_transition
remap_max_transition_percentage 437
Tweaker™ Variables Version T-2022.03
remap_reduction_mode
# Defines the effort level of logic reduction.
Type
String
Default
low [ none | low | high ]
Description
This is Tweaker Metal ECO related variable.
This variable defines the effort level of Tweaker to perform logic reduction
Example
set remap_reduction_mode high
See also
N/A
remap_reduction_mode 438
Tweaker™ Variables Version T-2022.03
remap_resource_auto_extend_sa_time
# Defines the maximum time for Tweaker to perform a ECO synthesis after the time specified in "remap_eco_logic -cpu_limit".
Type
Integer
Default
10
Description
This is Tweaker Metal ECO related variable.
command, Tweaker will extend search area to find more resources and spend
more time for ECO synthesis. This extended time can be specified in this
variable.
Example
set remap_resource_auto_extend_sa_time 10
remap_resource_auto_extend_sa_time 439
Tweaker™ Variables Version T-2022.03
See also
remap_eco_logic (cmd)
remap_resource_auto_extend_size
remap_resource_auto_extend_sa_time 440
Tweaker™ Variables Version T-2022.03
remap_resource_auto_extend_size
# Defines the remapping windows extending radius.
Type
Integer
Default
50
Description
This is Metal ECO related variable.
During the Metal ECO remapping, if there are more remapping windows required
will set the remapping window to this value the automatically regardless of
remap_resource_auto_extend_size 441
Tweaker™ Variables Version T-2022.03
setting, Tweaker will not extend the remapping windows even if there is no
Example
set remap_resource_auto_extend_size 100
See also
remap_resource_extend_offset
remap_resource_auto_extend_size 442
Tweaker™ Variables Version T-2022.03
remap_resource_extend_offset
# Defines the absolute value of remapping windows.
Type
Integer
Default
0
Description
This is Metal ECO related variable.
This variable defines the value of remapping windows that will not be
Example
set remap_resource_extend_offset 400
remap_resource_extend_offset 443
Tweaker™ Variables Version T-2022.03
See also
remap_resource_auto_extend_size
remap_resource_extend_offset 444
Tweaker™ Variables Version T-2022.03
remap_target_slack
# Defines the target slack during the Metal ECO remapping operation.
Type
Float
Default
0.0
Description
This is Tweaker Metal ECO related variable.
During the remapping operation, Tweaker will use the value defined in this
Example
set remap_target_slack 0.2
See also
N/A
remap_target_slack 445
Tweaker™ Variables Version T-2022.03
remap_uses_constant_signals
# Defines the high and low voltage value presentation of remapping output result.
Type
Boolean
Default
true
Description
This is Tweaker Metal ECO related variable.
Example
set remap_uses_constant_signals false
See also
remap_uses_constant_signals 446
Tweaker™ Variables Version T-2022.03
verilogin
remap_uses_constant_signals 447
Tweaker™ Variables Version T-2022.03
remap_without_power_domain_check
# Ignores power domain checking during remapping.
Type
Boolean
Default
false
Description
This is a Metal Eco related variable.
Example
set remap_without_power_domain_check true
remap_eco_logic ..
remap_without_power_domain_check 448
Tweaker™ Variables Version T-2022.03
See also
N/A
remap_without_power_domain_check 449
Tweaker™ Variables Version T-2022.03
report_clear_paths
# Enables or disables the violation paths with "clear pin" endpoints to be dumped on the generated report.
Type
Boolean
Default
true
Description
By default, when user issue "gen_slack_report" command, Tweaker will dump a
report of violation paths including the those with "clear pin" endpoints.
In contrary, if this variable is set to false, those paths with "clear pin"
Example
set report_clear_paths false
See also
report_preset_paths
report_clear_paths 450
Tweaker™ Variables Version T-2022.03
report_scan_enable_paths
gen_slack_report
report_clear_paths 451
Tweaker™ Variables Version T-2022.03
report_preset_paths
# Enables or disables the violation paths with "preset pin" endpoints to be dumped on the generated report.
Type
Boolean
Default
true
Description
By default, when user issue "gen_slack_report" command, Tweaker will dump a
report of violation paths including the those with "preset pin" endpoints.
In contrary, if this variable is set to false, those paths with "preset pin"
Example
set report_preset_paths false
See also
report_scan_enable_paths
report_preset_paths 452
Tweaker™ Variables Version T-2022.03
report_clear_paths
gen_slack_report
report_preset_paths 453
Tweaker™ Variables Version T-2022.03
report_scan_enable_paths
# Enables or disables the violation paths with "scan enable pin" endpoints to be dumped on the generated report.
Type
Boolean
Default
true
Description
By default, when user issue "gen_slack_report" command, Tweaker will dump a
report of violation paths including the those with "scan enable pin"
endpoints.
In contrary, if this variable is set to false, those paths with "scan enable
Example
set report_scan_enable_paths false
See also
report_scan_enable_paths 454
Tweaker™ Variables Version T-2022.03
report_preset_paths
report_clear_paths
gen_slack_report
report_scan_enable_paths 455
Tweaker™ Variables Version T-2022.03
sdf_hier_prefix
# Contains user-defined prefix for full instance name.
Type
String
Default
empty
Description
This variable contains the user-defined prefix for full instance name.
match up the whole chip sdf and annotate the corresponding delay value
correctly.
ECO synthesis.
Example
set sdf_hier_prefix /top/sub_design1/
sdf_hier_prefix 456
Tweaker™ Variables Version T-2022.03
See also
N/A
sdf_hier_prefix 457
Tweaker™ Variables Version T-2022.03
sdf_noedge
# to enable generating an SDF file without edges
Type
Boolean
Default
False
Description
This Tweaker variable allows users to enable outputting SDF file(s) without edges.
Example
set sdf_noedge true
sdfout
...
See also
sdfout
sdf_noedge 458
Tweaker™ Variables Version T-2022.03
sdf_version
# specify which version to output SDF files with
Type
Double
Default
3.0
Description
Use this Tweaker variable to specify which SDF version to output the SDF file in.
Example
set sdf_version 2.1
sdfout
...
See also
sdfout
sdf_version 459
Tweaker™ Variables Version T-2022.03
search_path
# Tweaker system variable
Type
String
Default
./working_directory
Description
Tweaker supports the search path specification and every file can be
Example
set search_path { /proj/lib /proj/lef /proj/def /proj/netlist }
$projectpath/netlist "
search_path 460
Tweaker™ Variables Version T-2022.03
See also
N/A
search_path 461
Tweaker™ Variables Version T-2022.03
search_space_cross_placed_blocked
# Enables or disables the searching space within the channel.
Type
Boolean
Default
false
Description
During auto fixing stage or manually operation, Tweaker will search free
Tweaker will not search the channel space within macro cells or blockages.
If this variable is set to true, ECO cells might be placed within macro
cells.
Example
set search_space_cross_placed_blocked false
See also
search_space_cross_placed_blocked 462
Tweaker™ Variables Version T-2022.03
N/A
search_space_cross_placed_blocked 463
Tweaker™ Variables Version T-2022.03
session_version
# Tweaker system variable to record the version of the restored session
Type
String
Default
Tweaker version make date (YYYY/MM/DD).
Description
This variable records the version of the restored session.
Example
twk_shell> save_session ./preeco.db
See also
version
session_version 464
Tweaker™ Variables Version T-2022.03
session_version 465
Tweaker™ Variables Version T-2022.03
skip_rtl_verilog_files
# Tweaker variable to enable/disable the rtl verilog file input.
Type
Boolean
Default
false
Description
Usually we request to input the synthesized gate level verilog for Tweaker.
For flow control convenience user can use this variable to prevent the input
Example
set skip_rtl_verilog_files true
verilogin ...
See also
N/A
skip_rtl_verilog_files 466
Tweaker™ Variables Version T-2022.03
skip_rtl_verilog_files 467
Tweaker™ Variables Version T-2022.03
skip_vlgin_error_modules
# Tweaker variable to skip the verilog module which has compiler error.
Type
Boolean
Default
false
Description
By default if there is compiler error for certain input verilog modules
then Tweaker will issue compiler error and error out. But if users are
sure those error modules are redundant and not used, then by enabling
this variable the compiler error can be changed to warnings and will not
error out.
Example
set skip_vlgin_error_modules true
verilogin ...
skip_vlgin_error_modules 468
Tweaker™ Variables Version T-2022.03
See also
N/A
skip_vlgin_error_modules 469
Tweaker™ Variables Version T-2022.03
slack_view_show_dominate_path_drv_only
# Enables to only display dominate paths and drv pins in Slack View.
Type
Boolean
Default
false
Description
When this variable is applied to the default value false, Tweaker displays
all the paths and drv pins read from slack reports in Slack View.
By applying this variable to true, Tweaker only displays the dominate paths
The dominate paths and drv pins are picked up based on the same criteria
Example
[CMD] set slack_view_show_dominate_path_drv_only true
slack_view_show_dominate_path_drv_only 470
Tweaker™ Variables Version T-2022.03
See also
extract_report (cmd)
slack_view_show_dominate_path_drv_only 471
Tweaker™ Variables Version T-2022.03
slackin_honor_hierarchy_pruning_design_list
# Variable to honor or not to honor the design list of hierarchy pruning during
Type
Boolean
Default
false
Description
By default, the command "slackin" has its "-design_list" option and the
When this variable set to true, command "slackin" will automatically add
the option -design_list and get the design list used in the command
consumption.
"slackin" commands, Tweaker will take the intersection of the two design
lists.
slackin_honor_hierarchy_pruning_design_list 472
Tweaker™ Variables Version T-2022.03
Example
set slackin_honor_hierarchy_pruning_design_list true
......
end_hierarchy_pruning
......
slackin ......
See also
slackin (cmd)
begin_hierarchy_pruning (cmd)
slkfix (cmd)
slackin_honor_hierarchy_pruning_design_list 473
Tweaker™ Variables Version T-2022.03
slk_aggressive_hfi_mode
# Enables the aggressive HFI mode.
Type
Boolean
Default
false
Description
This variable determines the grouping behavior of the HFI mode.
During this setting, Tweaker will create multiple groups of fanout loads
will insert multiple buffers which act as driver on each grouped loadout
net. Moreover, the fanout loads which originally do not have any negative
When this variable is set to true, Tweaker performs an aggressive HFI mode
that will group-up all fanout load regardless of their individual setup/hold
slacks status. The hold buffer will be inserted near to the driver on the
slk_aggressive_hfi_mode 474
Tweaker™ Variables Version T-2022.03
net which is located just before these grouped fanout and become their new
driver cell.
Example
set slk_aggressive_hfi_mode false
See also
N/A
slk_aggressive_hfi_mode 475
Tweaker™ Variables Version T-2022.03
slk_area_recovery_fix_internal_power_only
# switch to enable/disable internal power optimization by area recovery
Type
Boolean
Default
False
Description
Use this Tweaker variable to enable or disable internal power optimization
Example
set slk_area_recovery_fix_internal_power_only true
See also
N/A
slk_area_recovery_fix_internal_power_only 476
Tweaker™ Variables Version T-2022.03
slk_area_recovery_keep_one_buffer_for_back_to_back
# Enables the ability to at least keep one existing buffer between two
flip-flops.
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will remove
enough.
On the contrary, when this variable is set to true, Tweaker will keep at
least one buffer between two flip-flops to avoid the few stages along the
path with potential side effect of very conservative derate could be in AOCV
flow.
Example
slk_area_recovery_keep_one_buffer_for_back_to_back 477
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_area_recovery_keep_one_buffer_for_back_to_back 478
Tweaker™ Variables Version T-2022.03
slk_area_recovery_list_by_design_filename
# Save Tweaker area recovery list by design
Type
String
Default
empty
Description
During Tweaker area recovery, we can enable this variable to save area
hierarchical design.
Please note that when this var is applied, the same old matched prefix files
under the specified directory (may come from another area recovery run) will
Example
set slk_area_recovery_list_by_design_filename area_recovery
### will remove previous files like executing "rm area_recovery.* -f'
slk_area_recovery_list_by_design_filename 479
Tweaker™ Variables Version T-2022.03
### area_recovery.sub_design1
### area_recovery.sub_design2
### area_recovery.top
See also
slk_area_recovery_list_filename
slk_area_recovery_list_by_design_filename 480
Tweaker™ Variables Version T-2022.03
slk_area_recovery_list_filename
# Save Tweaker area recovery list
Type
String
Default
empty
Description
During Tweaker area recovery, we can enable this variable to save area
recovery list.
Please note that when this var is applied, the same matched file under the
specified directory (may come from another irun) will be deleted and
Example
set slk_area_recovery_list_filename swap_cell_list.txt
slk_area_recovery_list_filename 481
Tweaker™ Variables Version T-2022.03
See also
slk_area_recovery_list_by_design_filename
slk_area_recovery_list_filename 482
Tweaker™ Variables Version T-2022.03
slk_auto_bypass_max_fanout_limit
# Set the limit of max fanout while fixing with bypass buffer
Type
Integer
Default
32
Description
While fixing setup time by bypass buffer/inverter-pair, Tweaker will consi-
der the buffer/inverter-pair itself and its driver's fanout. Tweaker will
bypass the buffer/inverter-pair when the fanout is less than equal to the
Example
# To fix setup by bypass buffer and limit the bypass to 6 fanouts
slk_auto_bypass_max_fanout_limit 483
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_setup_by_bypass_buffer
[ VAR ] slk_fix_setup_by_bypass_inverter_pair
[ VAR ] slk_bypass_buff_min_improved_slack
[ VAR ] slk_bypass_buffer_disable_new_assign
[ VAR ] slk_bypass_buffer_disable_new_port
[ VAR ] slk_bypass_buff_list
[ VAR ] slk_bypass_within_instance_list
[ VAR ] slk_bypass_preserve_instance_list
[ VAR ] slk_bypass_instance_file
slk_auto_bypass_max_fanout_limit 484
Tweaker™ Variables Version T-2022.03
slk_auto_fix_always_dont_overlap_def_fix_cell
# auto fix by not overlapping with DEF-FIXED cells
Type
Boolean
Default
False
Description
When this variable is set to 'true', Tweaker will not place ECO cells such
that they overlap with DEF-FIXED cells, even when the "fit to free space"
switch is false.
Example
set slk_auto_fix_always_dont_overlap_def_fix_cell true
slkfix ...
See also
slk_auto_fix_fit_to_free_space
slk_auto_fix_always_dont_overlap_def_fix_cell 485
Tweaker™ Variables Version T-2022.03
slk_auto_fix_always_dont_overlap_def_fix_cell 486
Tweaker™ Variables Version T-2022.03
slk_auto_fix_fit_to_free_space
# Tweaker variable to allow autofix honoring the free space or not.
Type
Boolean
Default
true
Description
By default, Tweaker will automatically find a free space for the ECO cell if
original place (for sizing operation) or the ideal place (for insertion
operation) cannot fit it after the ECO operation. During this setting,
If the variable is set to false, Tweaker will allow any overlapping ECO cell
Example
set slk_auto_fix_fit_to_free_space false
slk_auto_fix_fit_to_free_space 487
Tweaker™ Variables Version T-2022.03
See also
slk_auto_sizing_max_shift_distance
slk_auto_fix_fit_to_free_space 488
Tweaker™ Variables Version T-2022.03
slk_auto_fix_max_loop
# Defines the maximum loop number for each slkfix iteration.
Type
Integer
Default
10
Description
During each ECO operation, Tweaker will perform the exact number of fixing
For regular fix timing ECO operation, Tweaker usually will finished the
For power ECO, it is recommended to set by "2" to get reasonable run time.
Example
set slk_auto_fix_max_loop 2
slkfix -power_eco
slk_auto_fix_max_loop 489
Tweaker™ Variables Version T-2022.03
See also
slk_autofix_max_undo_domain
slk_auto_fix_max_loop 490
Tweaker™ Variables Version T-2022.03
slk_auto_fix_max_wire_length_limit
# Defines the maximum wire length threshold of a target cell to be allowed to perform any fixing operation on it.
Type
Integer
Default
450
Description
During any fixing operation, if the total wire length (in Manhattan
distance) of input and output is larger than this variable, Tweaker will
Any sizing operation on this kind of cell will possibly generate a massive
amount of SI affect to the existing routing and timing due to the long wire
length shifting.
Moreover, the length of the net after ECO could be increased during numerous
Tweaker will honor this variable during "sizing", "bypass buffer", and
slk_auto_fix_max_wire_length_limit 491
Tweaker™ Variables Version T-2022.03
Example
set slk_auto_fix_max_wire_length_limit 600
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.1.tcl
slk_auto_fix_max_wire_length_limit 492
Tweaker™ Variables Version T-2022.03
slk_auto_insertion_max_fanout_limit
# Defines the maximum fanout limit of the violated path to be fixed.
Type
Integer
Default
100
Description
When buffer insertion algorithm is triggered by either transition, hold or
setup autofix, Tweaker will perform the autofix for the nets whose fanout
The violated nets with fanout number that exceed the this maximum value will
be blocked by autofix.
The main reason is to prevent Tweaker from inserting buffers on tree related
Example
set slk_auto_insertion_max_fanout_limit 128
slk_auto_insertion_max_fanout_limit 493
Tweaker™ Variables Version T-2022.03
See also
slk_auto_sizing_max_fanout_limit
slk_auto_insertion_max_fanout_limit 494
Tweaker™ Variables Version T-2022.03
slk_auto_learning_buffer_list_by_autofix
# Enable or disable to pick buffers into the insertion buffer list by autofix.
Type
Boolean
Default
false
Description
User can enable this variable to let Tweaker automatically choose buffers as
Example
set slk_auto_learning_buffer_list_by_autofix true
See also
slk_auto_learning_buffer_list_by_design
slk_auto_learning_buffer_list_by_autofix 495
Tweaker™ Variables Version T-2022.03
slk_auto_learning_buffer_list_by_autofix 496
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_adjust_placement
# Enables or disables the ability of Tweaker to auto-adjust the eco cell
autofix.
Type
Boolean
Default
false
Description
This variable only works when variable "slk_fix_setup_by_sizing" is enabled.
When auto-sizing for setup autofix is adopted, this variable can be enabled
to allow Tweaker to not only perform a sizing operation, but also move the
physical location of the target instance to shorten the critical path of the
net.
DriverA - - - - CELL
slk_auto_sizing_adjust_placement 497
Tweaker™ Variables Version T-2022.03
- - - SinkC
SinkC - - -
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_by_sizing
slk_auto_sizing_adjust_placement 498
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_buf_inv_only
# Enables or disables the ability of Tweaker to perform auto-sizing on buffer and inverter types of cells only.
Type
Boolean
Default
false
Description
By default, all types of cells at violation paths are allowed to be sized
limit Tweaker to perform the sizing algorithm on the buffer and inverter
Example
set slk_fix_setup_by_sizing true
...
slk_auto_sizing_buf_inv_only 499
Tweaker™ Variables Version T-2022.03
See also
slk_auto_sizing_comb_logic_cell_only
slk_auto_sizing_ff_only
slk_auto_sizing_buf_inv_only 500
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_cell_delay_impact
auto_sizing_cell_delay_impact
Type
Float
Default
0.05
Description
During the sizing operation, Tweaker will only allow the ECO operation if
the delay variation between before and after ECO does not exceed the value
true.
In most cases, users are recommended to perform the ECO process by watching
variable.
slk_auto_sizing_cell_delay_impact 501
Tweaker™ Variables Version T-2022.03
Example
set slk_auto_sizing_cell_delay_impact 0.03
See also
slk_fix_hold_watch_timing_window
slk_fix_setup_watch_timing_window
slk_auto_sizing_cell_delay_impact 502
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_comb_logic_cell_only
# Enables or disables the ability of Tweaker to perform auto-sizing on the combinational logic cells only.
Type
Boolean
Default
true
Description
This variable works only when "slk_fix_setup_by_sizing" variable is set to
true.
In contrary, when this variable is set to false, Tweaker are able to perform
cells.
only one of these two variable can be enabled at the same time.
slk_auto_sizing_comb_logic_cell_only 503
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_by_sizing
slk_auto_sizing_ff_only
slk_auto_sizing_buf_inv_only
slk_auto_sizing_comb_logic_cell_only 504
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_disable_si_net_sink_cell
# Controls sizing up on sensitive SI nets' sink cells
Type
Boolean
Default
False
Description
If using report_si_nets to filter sensitive SI nets, the user can enable
this variable to avoid sizing up on the SI nets' sink cells. This variable
Example
set slk_auto_sizing_disable_si_net_sink_cell true
slkfix ...
See also
report_si_nets
slk_auto_sizing_disable_si_net_sink_cell 505
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_disable_si_net_sink_cell 506
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_effort_threshold
# Set a threshold for Tweaker to automatically enables / disables the high-effort function during sizing ECO.
Type
Integer
Default
empty
Description
Users are able to set a number as the threshold to enable or disable the
When the number of remaining violation is smaller than the given threshold,
In the contrary, when the number of the remaining violation is smaller than
the given threshold, then Tweaker will disable high-effort function during
sizing ECO.
Example
set auto_partition_auto_submit true
slk_auto_sizing_effort_threshold 507
Tweaker™ Variables Version T-2022.03
See also
slk_auto_sizing_high_effort
slk_auto_sizing_effort_threshold 508
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_enable_cell_mapping
# Enables or disables the user-specified cell mapping rule for sizing autofix.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will honor the mapping rule that
will be specified by user after issuing this variable. The mapping rule
that contains the cell candidates for sizing autofix can be specified on
or "slk_cell_mapping_file".
By default setting (by setting this variable to false), Tweaker will decides
the cell candidates automatically based on the footprints that are defined
in LIB file(s).
Example
slk_auto_sizing_enable_cell_mapping 509
Tweaker™ Variables Version T-2022.03
See also
slk_cell_mapping_rule
slk_cell_mapping_rule_regexp
slk_cell_mapping_file
slk_auto_sizing_enable_cell_mapping 510
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_ff_only
# Enables or disables the ability of Tweaker to perform auto-sizing only on
Type
String
Default
false
Description
By default, all types of cells at violation paths are allowed to be sized
Tweaker offers more option of constraint that can be used by user to limit
Since these two variables counter each other, only one of these variables
slk_auto_sizing_ff_only 511
Tweaker™ Variables Version T-2022.03
"slk_auto_sizing_comb_logic_cell_only" variable.
Example
set slk_fix_setup_by_sizing true
...
See also
slk_auto_sizing_comb_logic_cell_only
slk_auto_sizing_ff_only 512
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_high_effort
# Enables or disables the usage of Tweaker prediction mechanism during ECO operations.
Type
Boolean
Default
false
Description
By default, Tweaker will use its internal prediction mechanism to calculate
prediction mechanism and spend efforts trying every available cell type
under the same footprint during sizing operation. This behavior might
Example
set slk_auto_sizing_high_effort false
slk_auto_sizing_high_effort 513
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_auto_sizing_high_effort 514
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_ignore_input_pin_slack_check
# Disable input pin slack checking during auto sizing stage
Type
Boolean
Default
false
Description
During timing fixing by auto sizing, Tweaker will check each input pin of
target instance will get timing impact based on target slack or not. By
default, if the sub side is improving but one of the input pin side is
If this variable is set to true, Tweaker will skip input pin slack checking
Example
set slk_auto_sizing_ignore_input_slack_check true
slk_auto_sizing_ignore_input_pin_slack_check 515
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_auto_sizing_ignore_input_pin_slack_check 516
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_instance_file
# Specifies the instance list which will be used during the sizing operation.
Type
String
Default
Empty
Description
This variable only works after "slk_fix_setup_by_sizing" and
Before the sizing operation is performed, users can appoint the file which
Tweaker will honor this list and perform the auto-sizing only on the listed
instances.
aaa/bbb/c/d cell_x
aaa/bbb/e/f cell_y
aaa/bbb/g/h cell_z
...
slk_auto_sizing_instance_file 517
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_by_sizing
slk_auto_sizing_within_instance_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/recovery/*recovery_setting.tcl
slk_auto_sizing_instance_file 518
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_keep_long_wire_slew
# Enables or disables the ability of Tweaker to keep the long wire slew value during auto-sizing operation.
Type
Boolean
Default
true
Description
This variable only works when "slk_fix_setup_by_sizing" variable is set to
true.
By default, Tweaker will monitor both DRV constraints and the slew variation
of the "long net". During the auto-sizing, Tweaker will only allow the ECO
variable.
slk_auto_sizing_keep_long_wire_slew 519
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
set slk_rce_long_wire_length 60
...
See also
slk_fix_setup_by_sizing
slk_auto_sizing_keep_long_wire_slew
slk_rce_long_wire_length
slk_keep_slew_factor
slk_auto_sizing_keep_si_slew
slk_auto_sizing_keep_long_wire_slew 520
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_keep_routing
# Enables retain routing topology behavior during autofix operation by sizing algorithm.
Type
Boolean
Default
false
Description
By setting this variable to true, users can restraint Tweaker to perform the
sizing algorithm within the candidate cells which contain the same routing
connection as the original cells. The candidate cells consist of the cells
that have the same footprint as the original one or the cells within the
If user want to perform specific VT swap, it will also need to enable the
slk_auto_sizing_keep_routing 521
Tweaker™ Variables Version T-2022.03
Example
...
...
See also
slk_fix_keep_pin_geometry
slk_fix_keep_obs_geometry
slk_auto_sizing_keep_routing 522
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_keep_si_slew
# Enables or disables the ability of Tweaker to keep the SI slew value in order to maintain or minimize the SI impact of the nets.
Type
Boolean
Default
true
Description
By default, Tweaker would enable keep the slew of "SI nets" when performing
When this feature is enabled, Tweaker will monitor and make a comparison
between the slew value before and after the ECO operation and take the
consideration.
Tweaker offers two commands to import the SI delay information each for
1. For normal flow, users can use "sisdfin" command. During this operation,
slk_auto_sizing_keep_si_slew 523
Tweaker™ Variables Version T-2022.03
2. For simple flow, users can use "set_extract_sisdf" command. During this
operation, Tweaker will self-extract the SI delay from the total delay
Example
set slk_fix_setup_by_sizing true
set slk_rce_long_wire_length 60
...
See also
slk_rce_long_wire_length
slk_keep_slew_factor
slk_auto_sizing_keep_long_wire_slew
slk_auto_sizing_keep_si_slew 524
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_level
# Controls the sizing level during autofix.
Type
Integer
Default
empty
Description
Tweaker will do auto sizing among all candidates within the same footprint
or within given the mapping rules if this variable is not issued by user.
Example
set slk_auto_sizing_level 3
slk_auto_sizing_level 525
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_auto_sizing_level 526
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_max_fanout_limit
# Defines the maximum fanout threshold of sizing operation target cell.
Type
Integer
Default
32
Description
During the sizing operation, if the fanout number of cell on the violated
path is larger than the value defined in this variable, Tweaker will avoid
Any sizing operation on this kind of cell will possibly generate massive
Tweaker will honor this variable during sizing, bypass buffer, and
Example
slk_auto_sizing_max_fanout_limit 527
Tweaker™ Variables Version T-2022.03
set slk_auto_sizing_max_fanout_limit 64
See also
N/A
slk_auto_sizing_max_fanout_limit 528
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_max_shift_distance
# Specifies the allowed max shift distance during auto-sizing operation.
Type
Integer
Default
10
Description
The variable only works when "slk_auto_fix_fit_to_free_space" is set true.
range which is specified in this variable and search for available spaces
This specified value will become the radius of searching circle which is
centered with the target cell. If there is no available space within the
The variable will be honored during sizing, bypass buffer, and fine-tune
slk_auto_sizing_max_shift_distance 529
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
set slk_auto_sizing_max_shift_distance 15
...
See also
slk_auto_fix_fit_to_free_space
slk_fix_setup_by_sizing
slk_fix_max_trans_by_sizing
slk_fix_max_cap_by_sizing
slk_fix_setup_by_bypass_buffer
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_setting.*.tcl
slk_auto_sizing_max_shift_distance 530
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_min_improved_slack
# Specifies the minimum improved slack requirement for each auto-sizing
Type
Float
Default
0.01
Description
This variable only works when "slk_fix_setup_by_sizing" variable is set to
true.
This variable specifies the minimum improved slack value for each
slk_auto_sizing_min_improved_slack 531
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_by_sizing
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.*.tcl
slk_auto_sizing_min_improved_slack 532
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_rule
# Automatically configures the sizing rules.
Type
String
Default
footprint
Description
Tweaker refers library and automatically configures the mapping rules by
specifying the preference. The acceptable values are footprint, sizing, vt,
footprint
cell_mapping
"slk_cell_mapping_rule", "slk_cell_mapping_rule_regexp",
"slk_cell_extended_mapping_rule", or
"slk_cell_extended_mapping_rule_regexp".
slk_auto_sizing_rule 533
Tweaker™ Variables Version T-2022.03
sizing
When using this setting, Tweaker will take the same function cells and
vt
When using this setting, the cells with the same pin location and width/area
vt_sizing
When using this setting, Tweaker will combine the cells within the vt
function
When using this setting, Tweaker will treat all function the same cells
moving
Only location adjustment, but not sizing, is allowed on each target instance
Example
set slk_auto_sizing_rule footprint
slk_auto_sizing_rule 534
Tweaker™ Variables Version T-2022.03
set slk_auto_sizing_rule vt
See also
slk_auto_sizing_enable_cell_mapping
slk_cell_extended_mapping_rule
slk_cell_extended_mapping_rule_regexp
slk_cell_mapping_rule
slk_cell_mapping_rule_regexp
slk_auto_sizing_rule 535
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_setup_twf_impact
# Enables or disables the ability of Tweaker to allow any TWF setup impact when
Type
Float
Default
0.05
Description
Generally, users are suggested to enable the
get an acceptable QoR. However, Tweaker offers the ability to let users to
Example
slk_auto_sizing_setup_twf_impact 536
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_minimize_worst_slack
slk_fix_setup_by_sizing
slk_auto_sizing_min_improved_slack
slk_auto_sizing_setup_twf_impact 537
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_use_constant_cell
# Enables or disables the utilization of constant cell during the auto-sizing operation.
Type
Boolean
Default
false
Description
This is a metal eco related variable.
When this variable is set to true, Tweaker will utilize the constant cells
Example
set metal_eco_mode true
See also
metal_eco_mode
slk_auto_sizing_use_constant_cell 538
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_use_constant_cell 539
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_watch_leakage_cost
# Consider cell leakage as one of the cost functions during timing ECO
Type
Boolean
Default
False
Description
This Tweaker variable controls whether or not cell leakage is considered as
Example
source */fix_setup/fix_setup_setting.vtswap.tcl
...
slk_auto_sizing_watch_leakage_cost 540
Tweaker™ Variables Version T-2022.03
See also
slk_leakage_power_lib
slk_auto_sizing_watch_leakage_cost 541
Tweaker™ Variables Version T-2022.03
slk_auto_sizing_within_instance_list
# Enables or disables auto-sizing by using the candidates within the user specified instance list.
Type
Boolean
Default
false
Description
By default, all instances within the violation domain are considered as
recovery after power ECO where only those modified(swap-down) instances are
expected to be restored back to its original cell due to its timing result.
slk_auto_sizing_within_instance_list 542
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_auto_sizing_instance_file
$Tweaker_Install_DIR/etc/template/tweaker_t1/recovery/*recovery_setting.tcl
slk_auto_sizing_within_instance_list 543
Tweaker™ Variables Version T-2022.03
slk_auto_update_path_delay
# Tweaker variable to enable or disable the auto update path delay feature
Type
Boolean
Default
true
Description
By default when autofix or manual ECO are applied on the input paths,
This variable are always suggested to be set true to get path update correctly.
Example
set slk_auto_update_path_delay true
See also
N/A
slk_auto_update_path_delay 544
Tweaker™ Variables Version T-2022.03
slk_autofix_max_undo_domain
# Specifies the max violation domain can be undo during autofix.
Type
Integer
Default
1000
Description
On the GUI mode, Tweaker has the "undo" button at each view's tool column
for manual editing. This variable defines the maximum path count which is
allowed to be undo after the autofix. Users are allowed to edit this
The higher value assigned to this variable means undo can be performed in a
Example
set slk_autofix_max_undo_domain 5000
...
slk_autofix_max_undo_domain 545
Tweaker™ Variables Version T-2022.03
slkfix -setup|-hold
See also
N/A
slk_autofix_max_undo_domain 546
Tweaker™ Variables Version T-2022.03
slk_autofix_split_sizing_down_driver
# Enable sizing down driver when split load/cell by autofix
Type
Boolean
Default
false
Description
The fanout of the driver when fixing setup or DRC violation by split load/
cell will be lesser than original, there is possibility the driver itself
can be sized down without introducing new DRC violation and saving power.
Tweaker will try to sizing down the driver after split load/cell while fix-
Example
tweaker_shell> set slk_fix_setup_by_split_load true
slk_autofix_split_sizing_down_driver 547
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_setup_by_split_load
[ VAR ] slk_fix_setup_by_split_cell
[ VAR ] slk_fix_max_trans_by_split_cell
[ VAR ] slk_fix_max_cap_by_split_cell
[ VAR ] slk_fix_max_fanout_by_split_cell
[ VAR ] slk_fix_noise_by_split_cell
[ VAR ] slk_fix_si_double_switching_by_split_cell
[ VAR ] slk_setup_splitload_margin
[ VAR ] slk_fix_setup_min_improved_slack_of_split_cell
[ VAR ] slk_fix_trans_min_improved_slack_of_split_cell
slk_autofix_split_sizing_down_driver 548
Tweaker™ Variables Version T-2022.03
slk_avg_offset
# Auto-record the average offset value after issuing "slkdc -check_slack_consistency" command.
Type
Float
Default
Empty
Description
After executing "slkdc -check_slack_consistency" command, Tweaker will save
the average offset value into this variable for the following flow control.
Users can use this variable as a threshold to continue or stop the ECO
This variable is commonly used to stop the timing fixing operation if the
Example
...
slkdc -check_slack_consistency
slk_avg_offset 549
Tweaker™ Variables Version T-2022.03
printvar slk_avg_offset
See also
slk_max_offset
slkdc (cmd)
slk_avg_offset 550
Tweaker™ Variables Version T-2022.03
slk_block_report_limit
# Defines the maximum number of report count during "slkreport -blocking_code_summary".
Type
Integer
Default
100
Description
Specifies the allowed maximum number of paths to be reported in blocking
Example
set slk_block_report_limit 200
See also
slkreport (cmd)
slk_block_report_limit 551
Tweaker™ Variables Version T-2022.03
slk_bypass_buff_cell_delay_impact
# Specifies the cell delay impact tolerated at candidate's driver.
Type
Float
Default
0.05
Description
During bypass operation, if both "slk_fix_setup_minimize_worst_slack" and
monitor the slack value within TWF and compare it with the value from local
If any of above variables is set to false, Tweaker will utilize the value
Example
set slk_bypass_buff_cell_delay_impact 0.02
slk_bypass_buff_cell_delay_impact 552
Tweaker™ Variables Version T-2022.03
See also
slk_fix_hold_watch_timing_window
slk_fix_setup_by_bypass_buffer
slk_fix_setup_minimize_worst_slack
slk_fix_setup_watch_timing_window
slk_bypass_buff_cell_delay_impact 553
Tweaker™ Variables Version T-2022.03
slk_bypass_buff_list
# Specify only the list of buffer cells can be bypassed.
Type
String
Default
Empty
Description
By default, all buffer cells are allowed to be bypassed. However, users are
Example
set slk_fix_setup_by_bypass_buffer true
...
slk_bypass_buff_list 554
Tweaker™ Variables Version T-2022.03
See also
slk_fix_setup_by_bypass_buffer
slk_bypass_buff_list 555
Tweaker™ Variables Version T-2022.03
slk_bypass_buff_min_improved_slack
# Specifies the minimum improved slack value for each bypass action.
Type
Float
Default
0.05
Description
Defines the minimum slack improvement for each bypass action.
Example
set slk_fix_setup_by_bypass_buffer true
...
slk_bypass_buff_min_improved_slack 556
Tweaker™ Variables Version T-2022.03
See also
slk_fix_setup_by_bypass_buffer
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
slk_bypass_buff_min_improved_slack 557
Tweaker™ Variables Version T-2022.03
slk_bypass_buffer_disable_new_assign
# Disables or enables the ability of Tweaker to cancel any bypass action on
Type
Boolean
Default
false
Description
When this variable is set to false, Tweaker have the ability to create and
assign new net when a buffer is by-passed or removed during the setup or
area-recovery autofix.
In the contrary, if this variable is set to true, Tweaker will not perform
Since most of the third party tool cannot support the ECO tcl that contains
Example
slk_bypass_buffer_disable_new_assign 558
Tweaker™ Variables Version T-2022.03
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/area_recovery/fix_area_recovery
_setting.tcl
slk_bypass_buffer_disable_new_assign 559
Tweaker™ Variables Version T-2022.03
slk_bypass_buffer_disable_new_port
# Disables or enables the ability to perform bypass operation if it results in
Type
Boolean
Default
false
Description
When this variable is set to false, Tweaker have the ability to create and
assign new ports when a buffer is by-passed or removed during the setup or
area-recovery autofix.
In the contrary, if this variable is set to true, Tweaker will not perform
Since most of the third party tool cannot support the ECO tcl that contains
Example
slk_bypass_buffer_disable_new_port 560
Tweaker™ Variables Version T-2022.03
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/area_recovery/fix_area_recovery
_setting.tcl
slk_bypass_buffer_disable_new_port 561
Tweaker™ Variables Version T-2022.03
slk_bypass_instance_file
# Specifies the instance candidate list for bypass operation.
Type
String
Default
empty
Description
This variable works only when variable "slk_bypass_within_instance_list"
is set to true.
When bypass algorithm is adopted, users can apply the desired bypass
Before the bypass operation is executed, users can appoint this list to
This list can be either work as bypass candidate list or the candidate list
Example
slk_bypass_instance_file 562
Tweaker™ Variables Version T-2022.03
bypassed:
See also
slk_bypass_within_instance_list
slk_bypass_preserve_instance_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
slk_bypass_instance_file 563
Tweaker™ Variables Version T-2022.03
slk_bypass_preserve_instance_list
# Decides whether "slk_bypass_instance_file" is treated as bypassed instances
Type
Boolean
Default
false
Description
This variable only valid when "slk_bypass_within_instance_list" is set to
true.
By default, Tweaker will limit the bypass operation only on the instances
In the contrary, if this variable is set to true, Tweaker would skip any
Example
slk_bypass_preserve_instance_list 564
Tweaker™ Variables Version T-2022.03
to be bypassed:
See also
slk_bypass_within_instance_list
slk_bypass_instance_file
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
slk_bypass_preserve_instance_list 565
Tweaker™ Variables Version T-2022.03
slk_bypass_within_instance_list
# Disables or enables the bypass operation by honoring the user-specified
instance list.
Type
Boolean
Default
false
Description
By default, Tweaker will perform the bypass operation on all available
buffers inside ECO domain as long as they do not generate any timing impact.
However, by setting this variable to true, users are able to limit Tweaker
"slk_bypass_instance_file" variable.
slk_bypass_within_instance_list 566
Tweaker™ Variables Version T-2022.03
bypassed.
Example
1. Setting "slk_bypass_instance_file" as bypass instance list:
to be bypassed:
See also
slk_bypass_preserve_instance_list
slk_bypass_instance_file
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
slk_bypass_within_instance_list 567
Tweaker™ Variables Version T-2022.03
slk_cap_unit
# Defines the capacitance unit of Tweaker slack domain.
Type
String [ pf | ff ]
Default
pf
Description
This variable holds the capacitance unit (pf or ff) used inside Tweaker GUI,
If the capacitance unit of the reports is different from the one defined
slk_cap_unit 568
Tweaker™ Variables Version T-2022.03
Example
set slk_cap_unit pf
set slk_cap_unit ff
See also
slk_report_cap_unit
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_cap_unit 569
Tweaker™ Variables Version T-2022.03
slk_ceff_derate_factor
# Specifies the effective C derate factor for min, typical, and max timing
column.
Type
Float
Default
0.9 1.0 1.1
Description
Tweaker will estimate the effective c/total c for ECO nets from the original
For more conservative timing calculation, users can apply this effective C
respectively.
max_timing_type".
Example
slk_ceff_derate_factor 570
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_ceff_derate_factor 571
Tweaker™ Variables Version T-2022.03
slk_cell_extended_mapping_rule
# Specifies the smart auto-extending mapping rule.
Type
string
Default
empty
Description
Compared to the variable "slk_cell_mapping_rule" where user are required to
For example, if there are 4 types of VT cells: HVT, SVT, LVT, and ULVT,
*LVT *ULVT }
slk_cell_extended_mapping_rule 572
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_cell_mapping_rule
slk_cell_extended_mapping_rule 573
Tweaker™ Variables Version T-2022.03
slk_cell_extended_mapping_rule_regexp
# Tweaker variable to accept the regular expression mapping rule by auto
Type
String
Default
empty
Description
In the conventional method, users have to specify multiple mapping pairs
For example, if there are 4 types of VT cells used in the design (HVT, SVT,
instead of:
slk_cell_extended_mapping_rule_regexp 574
Tweaker™ Variables Version T-2022.03
Notice that Tweaker will honor the order of mapping rule that is specified
Example
set slk_fix_setup_by_sizing true
...
See also
slk_cell_mapping_rule_regexp
slk_cell_extended_mapping_rule_regexp 575
Tweaker™ Variables Version T-2022.03
slk_cell_mapping_file
# Specifies the mapping rule file.
Type
String
Default
Empty
Description
When sizing algorithm (including vt-swap) is adopted, users can apply the
Before the desired autofix is performed, users can appoint this list to
The format arrangement of this file is a source cells name paired with one
...
slk_cell_mapping_file 576
Tweaker™ Variables Version T-2022.03
Example
set slk_auto_sizing_enable_cell_mapping true
...
See also
slk_auto_sizing_enable_cell_mapping
slk_cell_mapping_rule
slk_cell_mapping_rule_regexp
slk_cell_extended_mapping_rule
slk_cell_mapping_file 577
Tweaker™ Variables Version T-2022.03
slk_cell_mapping_rule
# Assigns the mapping rule.
Type
String
Default
empty
Description
When sizing algorithm (including vt-swap) is adopted, users can apply the
desired mapping rule to this variable and Tweaker will use this mapping rule
This variable supports "*" symbol as a wild card when describing the mapping
rule pattern
Tweaker also supports the "multiple rules in one command" by following the
arrangement below:
true.
slk_cell_mapping_rule 578
Tweaker™ Variables Version T-2022.03
Example
set slk_auto_sizing_enable_cell_mapping true
# The below example allows swapping cells named *hvt to cells named *rvt or
# *lvt.
See also
slk_cell_mapping_rule_regexp
slk_auto_sizing_enable_cell_mapping
slk_cell_extended_mapping_rule
slk_cell_extended_mapping_rule_regexp
slk_cell_mapping_file
slk_cell_mapping_rule 579
Tweaker™ Variables Version T-2022.03
slk_cell_mapping_rule_regexp
# Assigns the mapping rule in regular expression style.
Type
String
Default
empty
Description
When sizing algorithm (including vt-swap) is adopted, users can apply the
desired mapping rule to this variable and Tweaker will use this mapping rule
This variable supports "@" symbol as a wild card when describing the mapping
rule pattern.
Tweaker also supports the "multiple rules in one command" by following the
arrangement below:
true.
slk_cell_mapping_rule_regexp 580
Tweaker™ Variables Version T-2022.03
Example
set slk_cell_mapping_rule_regexp {@LVT@ @LVT@_D[0-9]+}
--------------------------------------------
--------------------------------------------
--------------------------------------------
slk_cell_mapping_rule_regexp 581
Tweaker™ Variables Version T-2022.03
------------------------------------------
See also
slk_auto_sizing_enable_cell_mapping
slk_cell_mapping_rule
slk_cell_extended_mapping_rule
slk_cell_extended_mapping_rule_regexp
slk_cell_mapping_file
slk_cell_mapping_rule_regexp 582
Tweaker™ Variables Version T-2022.03
slk_cell_stealing_hold_margin
# Hold time margin for stolen cell
Type
Float
Default
0.1
Description
In cell stealing methodology, Tweaker uses variables slk_setup_target_slk
and slk_hold_target_slk as targets for eco cells. The stolen cells use
keep conservative margin for stolen cells and to prevent relative paths of
Example
slk_cell_stealing_hold_margin 583
Tweaker™ Variables Version T-2022.03
See also
slk_cell_stealing_setup_margin
slk_cell_stealing_hold_margin 584
Tweaker™ Variables Version T-2022.03
slk_cell_stealing_setup_margin
# Setup time margin for stolen cell
Type
Float
Default
0.1
Description
In cell stealing methodology, Tweaker uses variables slk_setup_target_slk
and slk_hold_target_slk as targets for eco cells. The stolen cells use
keep conservative margin for stolen cells and to prevent relative paths of
Example
slk_cell_stealing_setup_margin 585
Tweaker™ Variables Version T-2022.03
See also
slk_cell_stealing_hold_margin
slk_cell_stealing_setup_margin 586
Tweaker™ Variables Version T-2022.03
slk_check_spef_quality
# Checks the quality of SPEF files after 'spefin'
Type
Boolean
Default
True
Description
This variable, when set to 'true', checks whether or not the basic
requirements for the input SPEF files are met. Users can use this variable
to check the correctness of their SPEF files before proceeding to their next
step.
Examples
spefin .....
.....
...
slk_check_spef_quality 587
Tweaker™ Variables Version T-2022.03
build_unit_rc_table
...
See also
N/A
slk_check_spef_quality 588
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_exhaustive_search_range
# Tweaker variable to specify the search range when exhaustive congestion aware is enabled.
Type
Float
Default
5.0
Description
When congestion aware insertion is enabled and the congestion threshold
the middle one will have more complex buffer insertion behavior considering
This variable provides Tweaker to know how much distance of free space is
This variable works when congestion aware insertion is enabled by set the
numbers.
slk_congestion_aware_exhaustive_search_range 589
Tweaker™ Variables Version T-2022.03
Example
set slk_congestion_aware_insertion true
set slk_congestion_aware_exhaustive_search_range 10
See also
slk_congestion_aware_insertion
slk_congestion_aware_threshold
slk_congestion_aware_exhaustive_search_range 590
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_hfs_search_range
# Enables or disables Tweaker to honor user-specified search range during HFS operation.
Type
Float
Default
empty
Description
When congestion aware feature is enabled during HFS operation, by default,
Tweaker will auto create the search range according the net's bounding box
However, if this variable is specified, use this value as its search range
Example
set slk_congestion_aware_insertion true
slk_congestion_aware_hfs_search_range 591
Tweaker™ Variables Version T-2022.03
set slk_congestion_aware_hfs_search_range 20
...
See also
slk_congestion_aware_insertion
slk_congestion_aware_threshold
slk_congestion_aware_hfs_search_range 592
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_insertion
# Routing congestion aware ECO related variable.
Type
Boolean
Default
false
Description
When fixing timing violation by using buffer insertion algorithm, if this
information from congestion_db as the cost reference. Tweaker will use this
Example
source Load_design.tcl
slk_congestion_aware_insertion 593
Tweaker™ Variables Version T-2022.03
See also
slk_congestion_aware_search_range (var)
slk_congestion_aware_threshold (var)
slk_insert_enable_routing_path_congestion_aware (var)
slk_update_congestion_map (var)
design_analysis_grid_height_by_row (var)
congestion_map_grid_size_by_row (var)
design_analysis_collecting_mode (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
set_resource_window (cmd)
add_blockage (cmd)
delete_blockage (cmd)
draw (cmd)
slk_congestion_aware_insertion 594
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_moving
# Makes cell-moving ECO algorithm routing congestion aware.
Type
Boolean
Default
false
Description
If this variable is set true, the cell-moving algorithm becomes routing
placement aware.
A congestion cost index will be calculated for both the input net and the
output net of the moved cell. If either the input net congestion cost index
or the output net congestion cost index becomes worse at the estimated new
location of the cell than its original location, Tweaker aborts the cell
movement.
feature to work.
slk_congestion_aware_moving 595
Tweaker™ Variables Version T-2022.03
Example
#=== To create congestion map and define the congestion thresholds ===
...
#=== To enable the cell moving algorithm and congestion aware moving ===
...
slkdc -check_slack_consistency
...
...
source $TOOL_INSTALLATION_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/
fix_setup_setting.moving.tcl
See also
create_congestion_db (cmd)
slk_congestion_aware_moving 596
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_threshold (var)
slk_congestion_aware_moving 597
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_sizing
# Makes cell-sizing ECO algorithm routing congestion aware.
Type
Boolean
Default
false
Description
If this variable is set true, the cell-sizing algorithm becomes routing
placement aware.
A congestion cost index will be calculated for both the input net and the
output net of the sized cell. If either the input net congestion cost index
or the output net congestion cost index becomes worse at the estimated new
location of the cell than its original location, Tweaker aborts the cell
sizing.
feature to work.
slk_congestion_aware_sizing 598
Tweaker™ Variables Version T-2022.03
Example
#=== To create congestion map and define the congestion thresholds ===
...
#=== To enable the cell sizing algorithm and congestion aware sizing ===
...
slkdc -check_slack_consistency
...
...
source $TOOL_INSTALLATION_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/
fix_setup_setting.vtswap.tcl
source $TOOL_INSTALLATION_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/
fix_setup_setting.sz.tcl
slk_congestion_aware_sizing 599
Tweaker™ Variables Version T-2022.03
See also
create_congestion_db (cmd)
slk_congestion_aware_threshold (var)
slk_congestion_aware_sizing 600
Tweaker™ Variables Version T-2022.03
slk_congestion_aware_threshold
# Defines the congestion upper-bound and lower-bound threshold values.
Type
Float
Default
0.5 0.7
Description
When congestion aware insertion feature is activated (by setting
both of these value are not defined, Tweaker will auto-create the level of
congestion.
Tweaker:
1. If the available free space has a congestion with value bigger than
upper-bound, Tweaker will search for another free space within the
slk_congestion_aware_threshold 601
Tweaker™ Variables Version T-2022.03
search range which has the congestion value between the upper bound and
2. If the available free space has a congestion with value between upper and
lower bound, Tweaker will choose a location with the lowest congestion
3. If the ideal insertion location has a congestion with value smaller than
lower bound, Tweaker will choose the location with the shortest distance
Example
source load_design.tcl
set slk_congestion_aware_hfs_search_range 5
set slk_give_up_insert_buf_distance 15
...
slk_congestion_aware_threshold 602
Tweaker™ Variables Version T-2022.03
See also
create_congestion_db
slk_congestion_aware_insertion
slk_congestion_aware_hfs_search_range
slk_give_up_insert_buf_distance
slk_congestion_aware_threshold 603
Tweaker™ Variables Version T-2022.03
slk_consistency_check_fail
# Enables or disables the ability to continue the ECO process when the slack
Type
Boolean
Default
false
Description
By default, Tweaker will automatically set this variable to true when
"slk_path_base_analysis_threshold" or "slk_consistency_check_threshold"
In an automatic ECO flow, this variable can be used as a check item before
Example
slk_consistency_check_fail 604
Tweaker™ Variables Version T-2022.03
source load_design.tcl
slkdc -check_slack_consistency
if { $slk_consistency_check_fail == "false"} {
source timing_fix.tcl
else {
exit
See also
slk_path_base_analysis_threshold
slk_consistency_check_threshold
slkdc (cmd)
slk_consistency_check_fail 605
Tweaker™ Variables Version T-2022.03
slk_consistency_check_threshold
# Specifies the threshold of inconsistency check.
Type
Float
Default
20
Description
For non-PBA mode, Tweaker will report inconsistency occurrence based on the
A path slack difference between the imported report and TWF Tweaker is
exceeding this threshold Tweaker will report error occurrence on this path
And for flow control if there is any inconsistency error reported, Tweaker
users can use this to decide if they want to still continue the ECO process
slk_consistency_check_threshold 606
Tweaker™ Variables Version T-2022.03
Example
set slk_consistency_check_threshold 30
...
slkdc -check_slack_consistency
See also
slkdc (cmd)
slk_path_base_analysis_threshold
slk_consistency_check_fail
slk_consistency_check_threshold 607
Tweaker™ Variables Version T-2022.03
slk_corner_list
# List the existing corner name.
Type
String
Default
empty
Description
This is read only variable. The default value is empty.
Example
## Query the existing corner name ##
-------------------------------------------------------------------------
slk_corner_list 608
Tweaker™ Variables Version T-2022.03
See also
slk_hold_worst_slack_corner
slk_setup_worst_slack_corner
slk_hold_worst_slack
slk_setup_worst_slack
slk_normalized_factor
slk_corner_list 609
Tweaker™ Variables Version T-2022.03
slk_coupling_mul
# Specifies the multiplier to be applied when reading coupling C value from RC file.
Type
Float
Default
1.0
Description
By default, Tweaker will multiply the coupling C values which are extracted
from SPEF files by this multiplier. If there is no derate, users should keep
Example
set slk_coupling_mul 1.0
See also
N/A
slk_coupling_mul 610
Tweaker™ Variables Version T-2022.03
slk_dc_all_path
# Performs delay calculation on all input paths before the consistency check.
Type
Boolean
Default
true
Description
By default, Tweaker will perform a delay calculation before performing
and the STA delay combined with offset in the slack domain that built up
by input paths.
Users are strongly suggested to keep this variable to its default value
of true.
Example
set slk_dc_all_path true
...
slk_dc_all_path 611
Tweaker™ Variables Version T-2022.03
slkdc -check_slack_consistency
See also
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_dc_all_path 612
Tweaker™ Variables Version T-2022.03
slk_defrag_cell_naming
# Used in defrag flow for specifying cell groups.
Type
String
Default
*
Description
Tweaker defrags space by moving instances to abut nearby instance or to
place away from other instances with specified distance, and the fragmental
In defrag process, Tweaker can also group specified cells in row. This
The first group has the highest priority. The priorities are as the pattern
Example
slk_defrag_cell_naming 613
Tweaker™ Variables Version T-2022.03
...
slkfix -defrag
See also
slk_fix_defrag_grouping_cell
slk_ir_drop_aware_defrag
avoid_space_fragmentation_by_cell
set_avoid_space_fragmentation (cmd)
report_space_fragmentation (cmd)
slk_defrag_cell_naming 614
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_buff_list
# Specifies the buffer candidates list for delay insertion.
Type
String
Default
empty
Description
When delay insertion feature (HFI or non-HFI) is enabled (by setting
tuning, users can provide the buffer candidates by listing them on this
operation.
If this variable is empty, Tweaker will treat all buffers whose have the
same function as its candidates. Undefined list will increase the operation
runtime.
slk_delay_insertion_buff_list 615
Tweaker™ Variables Version T-2022.03
driving buffer.
For the designs that have several specific preferred high-driving buffers,
"slk_delay_insertion_buff_list" variable.
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_delay_insertion
slk_fix_hold_by_high_fanout_insertion
slk_delay_insertion_high_drive_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_delay_insertion_buff_list 616
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_combo_cell_list
# The combo candidate list referenced during autofix hold with HFI enabled.
Type
string
Default
empty
Description
Different from manual combo cell insertion which will reference the variable
Tweaker insert combo cells and normal delay cells within one iteration,
Example
slk_delay_insertion_combo_cell_list 617
Tweaker™ Variables Version T-2022.03
...
See also
slk_hfi_use_combo_cell
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_
hold_setting.bi.*.tcl
slk_delay_insertion_combo_cell_list 618
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_high_drive_buff_list
# Specifies the high drive buffer(s) candidate list for delay insertion operation.
Type
String
Default
Empty
Description
When high fanout insertion (HFI) feature is enabled, if the delay cell is
maintain the driving force of a long wire and prevent some potential SI
effect issues.
During the insertion, Tweaker will honor and select the high drive buffer
variable.
slk_delay_insertion_high_drive_buff_list 619
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_delay_insertion
slk_fix_hold_by_high_fanout_insertion
slk_delay_insertion_buff_list
slk_delay_insertion_high_drive_buff_list 620
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_inverter_list
# Specifies the inverter pair candidates list for delay insertion.
Type
String
Default
empty
Description
During the insertion operation (by setting "fix_hold_by_delay_insertion"
true, Tweaker will only use inverter pair(s) to perform the delay
Users can provide the inverter pair candidates by listing them on this
If this variable is empty, Tweaker will treat all inverter pair whose have
the same function as its candidates. Undefined list will increase the
operation runtime.
slk_delay_insertion_inverter_list 621
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
fix_hold_by_delay_insertion
slk_delay_insertion_use_inverter
slk_delay_insertion_inverter_list 622
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_keep_long_wire_slew
# Enables or disables Tweaker to keep slew behavior during the delay insertion operation on long wires.
Type
Boolean
Default
true
Description
By default, when normal delay insertion is adopted for hold violation
autofix, Tweaker will keep the slew of the long wires which is defined
Tweaker keeps the slew values of those long wire when performing the delay
insertion in order to make sure that the inserted buffer will have enough
driving capability or their placement will not shifting too much. This
slk_delay_insertion_keep_long_wire_slew 623
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_rce_long_wire_length
slk_keep_slew_factor
slk_delay_insertion_keep_long_wire_slew 624
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_use_inverter
# Enables or disables the utilization of inverter pairs during delay insertion process.
Type
Boolean
Default
false
Description
When this variable is set to true, Tweaker will only use the inverter pairs
during the delay insertion for fixing hold violation. Its candidates should
Example
set slk_delay_insertion_inverter_list { INV1 INV2 }
See also
slk_fix_hold_by_delay_insertion
slk_delay_insertion_use_inverter 625
Tweaker™ Variables Version T-2022.03
slk_delay_insertion_inverter_list
slk_delay_insertion_use_inverter 626
Tweaker™ Variables Version T-2022.03
slk_delay_threshold
# Defines the input/output logic change threshold for cell delay calculation reference.
Type
Float
Default
0.5
Description
This variable defines the threshold value used in delay calculation of a
cell or a wire.
For general case, it is set to 0.5. However this value always depends on
Example
set slk_delay_threshold 0.5
See also
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_delay_threshold 627
Tweaker™ Variables Version T-2022.03
slk_delay_threshold 628
Tweaker™ Variables Version T-2022.03
slk_detail_log_insts_by_file
# Outputs the detail log by instance listed in this file.
Type
String
Default
Empty
Description
This is an obsolete variable.
Tweaker will generate the autofix detail log of the instance(s) that
Users are strongly recommended to use other ways for generating the autofix
checking the "Enable AutoFix Detail" box in Slack View GUI on the Autofix
History tab. The details of autofix can be seen on the Tweaker .log file.
Example
set slk_detail_log_insts_by_file "./abc.list"
slk_detail_log_insts_by_file 629
Tweaker™ Variables Version T-2022.03
See also
slkfix -verbose
slk_detail_log_insts_by_file 630
Tweaker™ Variables Version T-2022.03
slk_dont_touch_always_on_conflict_net
# Tweaker variable to dont touch fixing on always-on conflict nets.
Type
Boolean
Default
true
Description
In fixing low power designs, Tweaker will recognize the "always-on" cell
command.
will lock these kind of nets and prevent them for being fixed.
However, users are allowed to perform any fixing operation by setting this
variable to false.
Example
slk_dont_touch_always_on_conflict_net 631
Tweaker™ Variables Version T-2022.03
...
slkfix ...
See also
set_always_on_cell
slk_dont_touch_always_on_conflict_net 632
Tweaker™ Variables Version T-2022.03
slk_dont_touch_broken_path
# Disables or enables the ability to force Tweaker to avoid touching the broken
path.
Type
Boolean
Default
true
Description
If there is a pin/cell name mismatch between netlist and report in a path,
it will become a broken path. Since the broken path will lead to wrong
path/TWF update, hence the default setting on Tweaker will lock these kind
Users are strongly recommended to keep this variable to its default value of
true.
Example
set slk_dont_touch_broken_path true
slk_dont_touch_broken_path 633
Tweaker™ Variables Version T-2022.03
slkdc -check_slack_consistency
See also
slk_dont_touch_inconsistency_path
slk_dont_touch_broken_path 634
Tweaker™ Variables Version T-2022.03
slk_dont_touch_by_drv_cell_type_mismatch
# Don't touch mismatch cell type when fixing voltage/cell robustness
Type
Boolean
Default
true
Description
Tweaker sizes cells which having robustness violation only. Since, PrimeShi-
eld report describes cell's cell type. Hence, Tweaker will not size violated
cell if the cell type mismatch between Tweaker DB and PrimeShield report wh-
Tweaker will ignore cell type mismatch between Tweaker DB and PrimeShield
Example
tweaker_shell> set slk_dont_touch_by_drv_cell_type_mismatch true
slk_dont_touch_by_drv_cell_type_mismatch 635
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_dont_touch_by_drv_cell_type_mismatch 636
Tweaker™ Variables Version T-2022.03
slk_dont_touch_def_fixed_inst
# Disables or enables Tweaker to move/size the instance with "FIXED" attribute
on DEF file.
Type
Boolean
Default
true
Description
By default, Tweaker will automatically lock the DEF FIXED instances from
move/size. Tweaker can still perform the insertion operation at their pins
On the contrary, by setting this variable to false, users are able to force
moving).
Example
set slk_dont_touch_def_fixed_inst false
slk_dont_touch_def_fixed_inst 637
Tweaker™ Variables Version T-2022.03
...
slkfix ...
See also
keep_def_fixed_physical_cells
slk_dont_touch_def_fixed_inst 638
Tweaker™ Variables Version T-2022.03
slk_dont_touch_inconsistency_path
# Disables or enables the ability to force Tweaker to avoid touching the paths which are defined as inconsistent paths on Tweaker.
Type
Boolean
Default
false
Description
In current Tweaker flow, users are strongly recommended to perform the
"consistency check" on Tweaker after the timing scenarios are built-up and
ECO domain are loaded completely. If there are mismatch between the timing
properties in SDF and those in the reports, Tweaker (in default) will honor
For some cases, these kind of paths are best to be "locked" during the
fixing operations.
Tweaker offers the ability to lock those inconsistency paths and let user
to continue the fixing operations on the remaining paths which have passed
the consistency check by setting this variable to its default value of true.
slk_dont_touch_inconsistency_path 639
Tweaker™ Variables Version T-2022.03
Example
set slk_dont_touch_inconsistency_path true
slkdc -check_slack_consistency
See also
slk_dont_touch_broken_path
slkdc (cmd)
slk_dont_touch_inconsistency_path 640
Tweaker™ Variables Version T-2022.03
slk_dont_touch_missing_lib_cell
# Disables ECO ability if cell doesn't have library timing information
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will not
some cases when user want to force Tweaker to do auto ECO without timing
library information, we can set this variable to false and force Tweaker
Example
set slk_fix_hold_by_sizing
...
slk_dont_touch_missing_lib_cell 641
Tweaker™ Variables Version T-2022.03
See also
slk_dont_touch_missing_lib_cell 642
Tweaker™ Variables Version T-2022.03
slk_dont_touch_missing_lib_cone
# During autofix, don’t touch specific cones without LIB information
Type
Boolean
Default
False
Description
For their autofix settings, users can use this variable to enable or disable
Example
set slk_dont_touch_missing_lib_cone true
slkfix ...
See also
N/A
slk_dont_touch_missing_lib_cone 643
Tweaker™ Variables Version T-2022.03
slk_dont_touch_missing_lib_leakage_cell
# Disables ECO ability if cell doesn't have library leakage power information
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will not allow power ECO on any of
cell without library leakage power information. However, in some cases when
user want to force Tweaker to do auto ECO without library leakage power
information, we can set this variable to false and force Tweaker to do ECO
in those points
Example
set slk_fix_leakage_power_by_sizing true
...
slk_dont_touch_missing_lib_leakage_cell 644
Tweaker™ Variables Version T-2022.03
slkfix -power_eco
See also
slk_dont_touch_missing_lib_leakage_cell 645
Tweaker™ Variables Version T-2022.03
slk_dont_touch_padding_inst
# Disables or enables the ability to force Tweaker to avoid touching the
Type
Boolean
Default
false
Description
Tweaker provides the instance padding ability by executing
true.
Example
set slk_dont_touch_padding_inst true
slk_dont_touch_padding_inst 646
Tweaker™ Variables Version T-2022.03
...
slkfix ...
See also
load_padding_list (cmd)
set_instance_padding (cmd)
set_dont_touch_instance (cmd)
slk_dont_touch_padding_inst 647
Tweaker™ Variables Version T-2022.03
slk_dont_touch_path_by_endpoint_pin_list
# Specifies the pin list which contains the path that users do not allow Tweaker to touch during any fix operation.
Type
String
Default
empty
Description
During any fix operation, users can force Tweaker to avoid any fixing
on this variable.
either way can be used to avoid touching the paths under user specified
pin list.
Example
set slk_dont_touch_path_by_endpoint_pin_list {RB CDN SE}
slk_dont_touch_path_by_endpoint_pin_list 648
Tweaker™ Variables Version T-2022.03
See also
dont_touch_slk_path (cmd)
slk_dont_touch_path_by_endpoint_pin_list 649
Tweaker™ Variables Version T-2022.03
slk_dont_touch_path_groups
# Specify the path groups which are forbidden for Tweaker to perform any fix operation on.
Type
String
Default
Empty
Description
During any fix operation, users can force Tweaker to avoid any fixing
way can be used to avoid touching the paths under user specified path
groups.
Example
set slk_dont_touch_path_groups { clock_gating_default asynchronous_default }
slk_dont_touch_path_groups 650
Tweaker™ Variables Version T-2022.03
See also
dont_touch_slk_paths (cmd)
slk_dont_touch_path_groups 651
Tweaker™ Variables Version T-2022.03
slk_dont_touch_power_switch_net
# Enables or disables the ability to force Tweaker to avoid touching power switch nets.
Type
Boolean
Default
false
Description
By default, Tweaker are allowed to fix any violations on the power switch
When this variable is set to true, Tweaker will forbid any buffer insertion
The power switch can be defined either through timing libraries or CPF file
slk_dont_touch_power_switch_net 652
Tweaker™ Variables Version T-2022.03
Example
set_power_switch_cell true *SWITCH*
...
See also
slk_dont_touch_tie_cell_net
slk_dont_touch_power_switch_net 653
Tweaker™ Variables Version T-2022.03
slk_dont_touch_tie_cell_net
# Enables or disables the ability to force Tweaker to avoid touching tie cell nets.
Type
Boolean
Default
false
Description
By default, Tweaker can perform any fixing operation on any tie cell nets
If this variable is set to true, those tie cells nets will be locked and
Example
set slk_dont_touch_tie_cell_net true
...
slk_dont_touch_tie_cell_net 654
Tweaker™ Variables Version T-2022.03
slkfix -max_trans
See also
slk_power_eco_ignore_power_net
slk_dont_touch_power_switch_net
slk_dont_touch_tie_cell_net 655
Tweaker™ Variables Version T-2022.03
slk_dont_touch_unrecognized_bus
# Disables any autofix operation on the unrecognized bus pin nets.
Type
Boolean
Default
true
Description
Tweaker can recognize the macro's bus pins order by reading the
By setting this variable to its default value of true, Tweaker will not
modify these nets to avoid any inaccurate ECO connection due to the
Example
slk_dont_touch_unrecognized_bus 656
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_dont_touch_unrecognized_bus 657
Tweaker™ Variables Version T-2022.03
slk_drv_factor
# This variable has been replaced by 'set_drv_factor'
See also
set_drv_factor
slk_drv_factor 658
Tweaker™ Variables Version T-2022.03
slk_drv_mode
# Specifies to determine the way of value selection when both set_drv_factor and set_drv_value are used.
Type
string [replace|worst]
Default
replace
Description
Users are able to apply the drv setting by using the command "set_drv_factor"
or "set_drv_value".
When this variable is set to "worst", Tweaker will pick up the worst
Example
[CMD] set slk_drv_mode worst
slk_drv_mode 659
Tweaker™ Variables Version T-2022.03
See also
set_drv_factor (cmd)
set_drv_value (cmd)
slk_drv_mode 660
Tweaker™ Variables Version T-2022.03
slk_dummy_load_cell_list
# Specifies the dummy load candidates list.
Type
String
Default
empty
Description
This variable holds the dummy load candidates which is specified by user
and have to be issued before the "add dummy load" algorithm is performed.
Generally, the list of small inverters are suggested due to smaller area
Example
slk_dummy_load_cell_list 661
Tweaker™ Variables Version T-2022.03
set slk_max_dummy_load_cell_distance 15
set slk_max_dummy_load_cell_count 2
...
slkfix -hold
See also
slk_fix_hold_by_add_dummy_load
slk_max_dummy_load_cell_distance
slk_max_dummy_load_cell_count
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_
hold.tcl
slk_dummy_load_cell_list 662
Tweaker™ Variables Version T-2022.03
slk_dynamic_power_corner
# Specifies the lib corner as the reference dynamic power corner.
Type
String
Default
empty
Description
When user is proceeding the dynamic power calculation, Power ECO or power
this variable specifies the corner name which contains dynamic power
If there are more than one corner when this variable is not specified,
Example
slk_dynamic_power_corner 663
Tweaker™ Variables Version T-2022.03
end_corner ......
slkfix -create_power_eco_domain
......
slkfix -power_eco
See also
slk_leakage_power_lib
slk_dynamic_power_corner 664
Tweaker™ Variables Version T-2022.03
slk_enable_data_arrival_time_offset
# To sync the arrival time of the path within Tweaker
Type
Boolean
Default
false
Description
By default, Tweaker will use the LIB and SPEF to calculate the cell delay
and calculate its own arrival time, hence the calculated arrival time might
discrepancy with the arrival time in STA tools, hence user can set this
variable to true to sync the arrival time with the STA's violation report.
It's necessary to modify this variable on the top of the main script if
needed.
Example
slk_enable_data_arrival_time_offset 665
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_enable_data_arrival_time_offset 666
Tweaker™ Variables Version T-2022.03
slk_enable_slew_variation_for_sizing
# Enables POCV slew variation calculation on existing cells.
Type
Boolean
Default
false
Description
After enabling this variable, Tweaker would also consider the effect of
Example
tweaker_shell> set enable_ocv_sigma true
slk_enable_slew_variation_for_sizing 667
Tweaker™ Variables Version T-2022.03
tweaker_shell> report_timing_ocv_sigma
See also
set_timing_ocv_sigma (cmd)
report_timing_ocv_sigma (cmd)
enable_timing_constraint_variation (var)
enable_timing_slew_variation (var)
slk_enable_slew_variation_for_sizing 668
Tweaker™ Variables Version T-2022.03
slk_extract_setup_level
# Defines the domain level size while extracting "extra" setup margin.
Type
Integer
Default
3
Description
Before the feature of extract "extra" setup margin is enabled through
assign the expected domain level to this variable. Later on, Tweaker will
Example
set slk_extract_setup_level 3
slk_extract_setup_level 669
Tweaker™ Variables Version T-2022.03
slkfix -create_extract_setup_margin
...
...
See also
slk_fix_hold_by_extract_extra_domain_setup_margin
slkfix (cmd)
slk_extract_setup_level 670
Tweaker™ Variables Version T-2022.03
slk_extract_setup_margin_trans
# Determines the transition threshold for extract setup margin during hold violation fixing.
Type
Float
Default
0.1
Description
For hold/setup toggled paths, Tweaker provides a mechanism to extract more
the sizing algorithm. Later on, user can utilized this extracted setup
This variable defines the transition low bound and becomes one of the two
Example
slk_extract_setup_margin_trans 671
Tweaker™ Variables Version T-2022.03
See also
slk_fix_hold_by_extract_setup_margin
slk_setup_target_slk
slk_extract_setup_margin_trans 672
Tweaker™ Variables Version T-2022.03
slk_extract_sisdf_by_report
# To sync the SI effect between Tweaker and STA's violation report
Type
Boolean
Default
false
Description
By default, Tweaker will extract the SI effect by using "extract_si_sdf"
general_settings.tcl.
When user provided STA reports that contains SI column and set this variable
Example
set slk_extract_sisdf_by_report true
slk_extract_sisdf_by_report 673
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_extract_sisdf_by_report 674
Tweaker™ Variables Version T-2022.03
slk_fast_mode
# Select the modes of merging to improve the load design performance.
Tweaker variable
Type
Integer
Default
1
Description
There are 3 modes available for selection.
Mode 1 specifies that sdf from different modes can be merged in one corner
so different mode's timing can be built under the single PVT corner.
Mode 2 specifies that RC info (from spef) can be merged under the same LIB
Mode 3 specifies that LIB/RC can all be merged and eventually the internal
number of corners built in Tweaker will be only 2 corners (best and worst).
Usually mode 1 and mode 2 are more frequently used and mode 3 is under
testing.
slk_fast_mode 675
Tweaker™ Variables Version T-2022.03
For scripts setup users do not require to do anything change, just based on
Example
set slk_fast_mode 2
begin_corner ...
end_corner ...
See also
N/A
slk_fast_mode 676
Tweaker™ Variables Version T-2022.03
slk_fix_allow_insertion_in_third_power_domain
# Enables or disables the HFS and HFI insertion algorithm at the third power domain of a net.
Type
Boolean
Default
false
Description
By default, while adopting the HFS and HFI insertion for fixing drv and hold
violations, Tweaker will insert the buffers at either sink or driver's power
domain. If the violation net is crossing other power domains beside the
sink/driver's power domain (or called "third power domain"), Tweaker will
low power rules violation due to unrecognized third power domain rules.
However, users can still utilize the third power domain as the insertion
domain if they think it's better than inserting at the sink/driver's power
domain by setting this variable to true. During this situation, Tweaker will
insert the "always-on" cells to let other third party tool to re-connect its
slk_fix_allow_insertion_in_third_power_domain 677
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_max_trans_by_repeater_insertion true
BUFX12 ... }
...
...
See also
slk_insert_third_power_domain_without_logical_limit
slk_fix_allow_insertion_in_third_power_domain 678
Tweaker™ Variables Version T-2022.03
slk_fix_area_recovery_by_deletion
# Enables or disables Tweaker to adopt deleting buffers/inv pairs algorithms for
reducing area.
Type
Boolean
Default
true
Description
By default value true of this variable, Tweaker will adopt remove buffers
and inv pairs based on area cost. Suggest to keep either just sizing or
Example
set slk_fix_area_recovery_by_deletion true
...
slkfix -area_eco
slk_fix_area_recovery_by_deletion 679
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/area_recovery/fix_area_recovery
_setting.deletion.tcl
slk_fix_area_recovery_by_sizing (var)
slk_fix_area_recovery_by_deletion 680
Tweaker™ Variables Version T-2022.03
slk_fix_area_recovery_by_sizing
# Enable or disable sizing down methodology for area recovery autofix
Type
Boolean
Default
false
Description
By default Tweaker adopts removing redundant buffers/inverter-pair based on
area cost. Tweaker will adpots sizing down for area recovery autofix based
at a time.
Example
tweaker_shell> set slk_fix_area_recovery_by_sizing true
slk_fix_area_recovery_by_sizing 681
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_area_recovery_by_deletion
slk_fix_area_recovery_by_sizing 682
Tweaker™ Variables Version T-2022.03
slk_fix_bbox_pin_count
# Specifies the pin count threshold for a cell to be qualified as a "B-box" cell during Tweaker fixing operations.
Type
Integer
Default
256
Description
The "B-box" in Tweaker stands for a cell which has a big number of pin
count. By default, any cell with a pin number larger than or equal to
For more information about the special function provided by Tweaker for
"slk_fix_cross_bbox_net_with_low_priority" and
"slk_fix_dont_touch_cross_bbox_net" variables.
Example
set slk_fix_bbox_pin_count 128
slk_fix_bbox_pin_count 683
Tweaker™ Variables Version T-2022.03
See also
slk_fix_cross_bbox_net_with_low_priority
slk_fix_dont_touch_cross_bbox_net
slk_fix_bbox_pin_count 684
Tweaker™ Variables Version T-2022.03
slk_fix_beol_hold_robustness_by_delay_insertion
# Adopts the delay insertion algorithm for fixing beol robustness hold violations.
Type
Boolean
Default
true
Description
By setting this variable to true, user can utilized the delay buffer insertion
Example
set slk_fix_beol_hold_robustness_by_delay_insertion true
...
slk_fix_beol_hold_robustness_by_delay_insertion 685
Tweaker™ Variables Version T-2022.03
See also
slk_fix_hold_by_high_fanout_insertion
slk_fix_hold_at_endpoint_only
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/beol_robustness/beol_for_hold/
fix_beol_hold_robustness_setting.bi.*.tcl
slk_fix_beol_hold_robustness_by_delay_insertion 686
Tweaker™ Variables Version T-2022.03
slk_fix_beol_hold_robustness_by_sizing
# Adopts the sizing algorithm for fixing beol violations.
Type
Boolean
Default
false
Description
By setting this variable to its default value of true, Tweaker will adopt
the sizing algorithm for beol violations autofix. By the default setting,
variable (default value: true) which will affect Tweaker to only size-down
the violated cell to fix their beol violations while still make sure
that they still meets the requirement of DRV value or other transition/slew
rules.
Example
set slk_fix_beol_hold_robustness_by_sizing true
slk_fix_beol_hold_robustness_by_sizing 687
Tweaker™ Variables Version T-2022.03
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/beol_robustness/beol_for_hold/
fix_beol_hold_robustness_setting.sz.tcl
slk_fix_beol_hold_robustness_by_sizing 688
Tweaker™ Variables Version T-2022.03
slk_fix_beol_setup_robustness_by_repeater_insertion
# Tweaker variable to enable repeater insertion for autofix beol setup.
Type
Boolean
Default
false
Description
By setting this variable true it enables "repeater insertion" for autofix beol setup.
It is recommended to use this algorithm after normal sizing and Tweaker will
grouped on a net to reduce the driver's net loading and improve the critical
pin's timing.
slk_fix_beol_setup_robustness_by_repeater_insertion 689
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_beol_setup_robustness_by_repeater_insertion true
...
See also
slk_repeater_insertion_buff_list
slk_fix_setup_by_split_load
slk_fix_setup_repeater_insertion_factor
slk_fix_setup_splitload_margin
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/beol_robustness/beol_for_setup/
fix_beol_setup_robustness_setting.split.tcl
slk_fix_beol_setup_robustness_by_repeater_insertion 690
Tweaker™ Variables Version T-2022.03
slk_fix_beol_setup_robustness_by_sizing
# Adopts the sizing algorithm for fixing beol setup violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_beol_setup_robustness_by_sizing true
...
slk_fix_beol_setup_robustness_by_sizing 691
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/beol_robustness/beol_for_setup/
fix_beol_setup_robustness_setting.*.tcl
slk_fix_beol_setup_robustness_by_sizing 692
Tweaker™ Variables Version T-2022.03
slk_fix_bottleneck_robustness_by_sizing
# Adopts the sizing algorithm for fixing setup bottleneck violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
Example
set slk_fix_bottleneck_robustness_by_sizing true
...
slkfix -bottleneck_robustness
slk_fix_bottleneck_robustness_by_sizing 693
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/bottleneck/fix_bottleneck_robustness_
setting.*.tcl
slk_fix_bottleneck_robustness_by_sizing 694
Tweaker™ Variables Version T-2022.03
slk_fix_cell_robustness_by_sizing
# Adopts the sizing algorithm for fixing cell robutness violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
Example
set slk_fix_cell_robustness_by_sizing true
...
slkfix -cell_robustness
slk_fix_cell_robustness_by_sizing 695
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/cell_robustness/
fix_cell_robustness_setting.*.tcl
slk_fix_cell_robustness_by_sizing 696
Tweaker™ Variables Version T-2022.03
slk_fix_cons_without_sizing_down
# Disables the ability to size down the cells during drv autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will not
sizing down any cell during drv fix. However in some special cases where
size down may actually help the drv violation and users can command
Tweaker allow any sizing down operation by setting this variable to false.
The variable controls the sizing operation of following command and options:
Example
set slk_fix_max_trans_by_sizing true
slk_fix_cons_without_sizing_down 697
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_without_sizing_down
slk_fix_hold_without_sizing_up
slk_fix_cons_without_sizing_down 698
Tweaker™ Variables Version T-2022.03
slk_fix_cross_bbox_net_with_low_priority
# Decrease the priority of the nets which is crossing the B-boxes when performing delay insertion operation.
Type
Boolean
Default
false
Description
Before performing any fixing operation to the hold time violation paths,
Tweaker will determine the priority of each net and the insertion will
net, if the path still contains a negative slack, the net with the next
highest priority gets inserted. The process will continue until the violated
of the nets which is crossing the B-boxes which will make them as the
least favorable candidates during the delay insertion operation. For the
slk_fix_cross_bbox_net_with_low_priority 699
Tweaker™ Variables Version T-2022.03
"slk_fix_bbox_pin_count" variable.
Example
set slk_fix_bbox_pin_count 256
...
See also
slk_fix_bbox_pin_count
slk_fix_dont_touch_cross_bbox_net
slk_fix_cross_bbox_net_with_low_priority 700
Tweaker™ Variables Version T-2022.03
slk_fix_defrag_grouping_cell
# Enable cell grouping during defrag ECO
Type
Boolean
Default
False
Description
Let Tweaker abut specified naming master together as much as possible.
Example
set slk_defrag_cell_naming *_S_* *_D_* *
See also
$twkInstallDir/etc/template/tweaker_t1/defragmentation/
slk_fix_defrag_grouping_cell 701
Tweaker™ Variables Version T-2022.03
slk_fix_dont_touch_clock_comp
# Enables or disables the ability to touch clock components during auto fixing.
Type
Boolean
Default
true
Description
By default, Tweaker will not touch clock components during fixing setup
For hold autofix, this variable will have different behavior when combined
Case 1:
slk_fix_dont_touch_clock_comp 702
Tweaker™ Variables Version T-2022.03
segment)
Case 2:
Case 3:
Example
set slk_fix_dont_touch_clock_comp true
See also
slk_fix_hold_dont_touch_clock_net
slk_fix_dont_touch_clock_comp 703
Tweaker™ Variables Version T-2022.03
set_clock_comp (cmd)
slk_fix_dont_touch_clock_comp 704
Tweaker™ Variables Version T-2022.03
slk_fix_dont_touch_cross_bbox_net
# Disables the delay insertion on the nets which is crossing the B-boxes.
Type
Boolean
Default
false
Description
By setting this variable to true, it will disables any delay insertion
Tweaker offers this features for the users who might not want Tweaker to
generate ECO nets which is related to the B-box which is most likely has
Example
set slk_fix_bbox_pin_count 256
slk_fix_dont_touch_cross_bbox_net 705
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_bbox_pin_count
slk_fix_cross_bbox_net_with_low_priority
slk_fix_dont_touch_cross_bbox_net 706
Tweaker™ Variables Version T-2022.03
slk_fix_drv_by_hfts
# Tweaker variable to enable or disable applying high fanout tree synthesis
algorithm.
Type
Boolean
Default
false
Description
For fixing drv violations by insertion with the net's fanout more than the
one defined at the var "slk_hfts_auto_threshold", user can enable this var
synthesis.
If the violation net's fanout is less than the threshold, then the normal
For physical tree synthesis there is possibility to create the new module
ports so when enabled please be noticed of the new created module ports.
slk_fix_drv_by_hfts 707
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_drv_by_hfts true
See also
slk_hfts_auto_threshold
slk_fix_drv_by_hfts 708
Tweaker™ Variables Version T-2022.03
slk_fix_drv_by_lib_for_pin_list
# Specifies the pin list which contains the drv violated pin list that Tweaker can fix it to required constrain if the pin violated the lib drv value.
Type
String
Default
Empty
Description
User can provide file which contains drv violated pin list and these
When the value of the pin in the list violates the drv constrain in
cell lib. Tweaker will fix these pins to meet the required constrain,
When the value of the pin in the list violates the user defined required
drv constrain but it's not violate the cell lib required one. Tweaker
Example
slk_fix_drv_by_lib_for_pin_list 709
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_drv_within_pin_list
slk_fix_drv_specified_pin_list_file
slk_fix_drv_within_pin_list_expand_to_net
slk_fix_drv_by_lib_for_pin_list 710
Tweaker™ Variables Version T-2022.03
slk_fix_drv_by_sizing_ignore_driving_drv
# Tweaker variable to enable or disable the drv check in eco cell input pins when doing the sizing for fixing output drv violation net.
Type
Boolean
Default
false
Description
By default when Tweaker sizes cell to fix drv violation. Tweaker
checks the drv improvement of the output net, and it also checks
the drv of input pin. If the drv n one of input pins degrades to
violate the drv factor or drv value. The sizing eco will not be
take place.
If set this variable to true, the drv check of eco cell input pins
Example
set slk_fix_drv_by_sizing_ignore_driving_drv true
slk_fix_drv_by_sizing_ignore_driving_drv 711
Tweaker™ Variables Version T-2022.03
...
See also
N/A
slk_fix_drv_by_sizing_ignore_driving_drv 712
Tweaker™ Variables Version T-2022.03
slk_fix_drv_dont_touch_clock
# Enables or disables the ability to fix the drv violation by touching the data path only.
Type
Boolean
Default
false
Description
By default, Tweaker will fix all of the drv violation including
Example
set slk_fix_max_trans_by_sizing true
...
slk_fix_drv_dont_touch_clock 713
Tweaker™ Variables Version T-2022.03
See also
slk_fix_drv_dont_touch_data
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_*/
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_glitch/
slk_fix_drv_dont_touch_clock 714
Tweaker™ Variables Version T-2022.03
slk_fix_drv_dont_touch_data
# Enables or disables the ability to fix the drv violation by touching the clock path only.
Type
Boolean
Default
false
Description
By default, Tweaker will fix all of the drv violation including
Example
set slk_fix_max_trans_by_sizing true
...
slk_fix_drv_dont_touch_data 715
Tweaker™ Variables Version T-2022.03
See also
slk_fix_drv_dont_touch_clock
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_*/
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_glitch/
slk_fix_drv_dont_touch_data 716
Tweaker™ Variables Version T-2022.03
slk_fix_drv_fit_to_lib
# Tweaker variable to enable or disable the drv fixing with required value
Type
Boolean
Default
false
Description
By default when drv reports are fed to Tweaker, the required value in the
unreasonable due to STA issue, user can enable this var to let Tweaker hack
Please be noticed that when this feature is enabled the drv slack may change
accordingly because the required value is updated and synced with .lib
already.
Example
slk_fix_drv_fit_to_lib 717
Tweaker™ Variables Version T-2022.03
...
See also
set_drv_report_required_factor (cmd)
set_drv_report_required_value (cmd)
slk_fix_max_cap_fit_to_lib
slk_fix_max_trans_fit_to_lib
slk_fix_drv_fit_to_lib 718
Tweaker™ Variables Version T-2022.03
slk_fix_drv_out_of_lib_only
# Tweaker variable to filter the unwanted drv violation if its actual drv value
Type
Boolean
Default
false
Description
When this variable is set true, only the drv violation with its actual drv
larger than the worst constraint from .lib will be fixed. Other will be kept
Example
set slk_fix_drv_out_of_lib_only true
...
slk_fix_drv_out_of_lib_only 719
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_trans_out_of_lib_only
slk_fix_drv_out_of_lib_only 720
Tweaker™ Variables Version T-2022.03
slk_fix_drv_specified_pin_list_file
# Specifies the pin list which can only be touched during the drv fixing stage.
Type
String
Default
Empty
Description
This variable only works when variable "slk_fix_drv_within_pin_list" is set
to true.
Users are able to fix on some specific violated pin by listing them on a
file and point this pin list to this variable. Pins on the violation nets
If only the driver pin is specified, the violation net can still be sizing
but no insertion.
aaa/bbb/inst_c/input_pin
aaa/bbb/inst_e/input_pin
aaa/bbb/inst_g/output_pin
slk_fix_drv_specified_pin_list_file 721
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_drv_within_pin_list true
...
See also
slk_fix_drv_within_pin_list
slk_fix_drv_within_pin_list_expand_to_net
slk_fix_drv_specified_pin_list_file 722
Tweaker™ Variables Version T-2022.03
slk_fix_drv_watch_hold_timing_window
# Enables or disables Tweaker to monitor the TWF hold margins during DRV
autofix.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will monitor hold time variation
The setting of this variable depends on the performed ECO cycle stage.
For the early ECO cycle stage, user are recommended to set this variable to
false. This setting will allow Tweaker to fix as much DRV violation as
possible.
In the contrary, for the late stage of ECO cycle, users are recommended to
set this variable to true to allow Tweaker to observe the hold time
variation during the DRV fixing and prevent any new generated hold
violation.
slk_fix_drv_watch_hold_timing_window 723
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_drv_watch_hold_timing_window true
See also
slk_fix_drv_watch_setup_timing_window
slk_fix_drv_watch_hold_timing_window 724
Tweaker™ Variables Version T-2022.03
slk_fix_drv_watch_setup_timing_window
# Enables or disables Tweaker to monitor the TWF setup margins during DRV
autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will monitor
the TWF setup margins during DRV violations autofix to avoid any setup
impact.
In contrary, if this variable is set to false, Tweaker will not monitor the
Example
set slk_fix_drv_watch_setup_timing_window true
slk_fix_drv_watch_setup_timing_window 725
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_drv_watch_hold_timing_window
slk_fix_drv_watch_setup_timing_window 726
Tweaker™ Variables Version T-2022.03
slk_fix_drv_within_pin_list
# Enables or disables drv fixing within the user specified pin list.
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will fix all
On the contrary, by setting this variable to true, users are able to force
Tweaker to fix on some specific violated pin by listing them on a file and
Tweaker variable.
When this variable is set to true, during insertion operation, Tweaker will
only able to insert on the net-segment that is connected to the listed pin.
Even if inserting on the net-segment on peer will improve the slack value,
If only the driver pin is specified, the violation net can still be sizing
slk_fix_drv_within_pin_list 727
Tweaker™ Variables Version T-2022.03
but no insertion.
Example
set slk_fix_drv_within_pin_list true
...
See also
slk_fix_drv_specified_pin_list_file
slk_fix_drv_within_pin_list_expand_to_net
slk_fix_drv_within_pin_list 728
Tweaker™ Variables Version T-2022.03
slk_fix_drv_within_pin_list_expand_to_net
# Enable or Disable the fixing across the net when specified pin list feature is used.
Type
Boolean
Default
true
Description
When the feature of fix drv with specified pin list is enabled, Tweaker by
this strategy can only based on the pins in the list to do fixing.
By set this variable to true, Tweaker will not get limited by this strategy
and can expand the fixing across the nets which has appeared in the pin
list.
Example
set slk_fix_drv_within_pin_list true
slk_fix_drv_within_pin_list_expand_to_net 729
Tweaker™ Variables Version T-2022.03
...
slkfix -max_trans
See also
slk_fix_drv_within_pin_list
slk_fix_drv_specified_pin_list_file
slk_fix_drv_within_pin_list_expand_to_net 730
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_batch_mode
# Enables or disables dynamic power batch mode.
Type
Boolean
Default
false
Description
During Internal power ECO process, To speed up the entire Internal Power Eco
available candidates and swap them one by one with some run time cost to
Example
set slk_fix_dynamic_power_batch_mode true
slk_fix_dynamic_power_batch_mode 731
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/dynamic_power.tcl
slk_fix_dynamic_power_batch_mode 732
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_batch_mode_post_legalize
# Legalizes location for overlapped eco cells during Internal power ECO.
Type
Boolean
Default
false
Description
During Internal power ECO process, if "slk_auto_fix_fit_to_free_space"
variable is set to true, Tweaker will consume more run time during Internal
power ECO process for each swap. To speed up the entire Internal Power Eco
set this variable true to do the legalization at the end of Internal Power
Example
set slk_fix_dynamic_power_batch_mode_post_legalize true
slk_fix_dynamic_power_batch_mode_post_legalize 733
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/dynamic_power.tcl
slk_fix_dynamic_power_batch_mode_post_legalize 734
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_swap_list_by_design_filename
# Generates dynamic power Eco swap list for each sub design.
Type
String
Default
empty
Description
For hierarchical design, Tweaker can generate dynamic power Eco swap
Swap cell list which includes swap instances hier names and its original
cell types before dynamic power ECO, is written out during dynamic power
ECO. The list will be used for setup timing recovery after dynamic power
Please note that when this var is applied, the same old matched prefix files
under the specified directory (may come from another dynamic power eco run)
will be deleted and re-generated for the current run eco content.
slk_fix_dynamic_power_swap_list_by_design_filename 735
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_dynamic_power_swap_list_by_design_filename \
dynamic_power_eco_swap
### dynamic_power_eco_swap.sub_design1
### dynamic_power_eco_swap.sub_design2
### dynamic_power_eco_swap.top
See also
slk_fix_dynamic_power_swap_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/dynamic_power.tcl
slk_fix_dynamic_power_swap_list_by_design_filename 736
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_swap_list_filename
# Specifies the dynamic power ECO original cell swap list.
Type
String
Default
empty
Description
By using this variable, user can assign Tweaker to dump the list of cell(s)
which are swapped during the dynamic power ECO operation. This list will
contain the original cell types before the dynamic power ECO operation. This
list is essential for performing setup timing recovery after dynamic power
ECO.
Please note that when this variable is applied, the same old matched file
under the specified directory (may come from another dynamic power eco) run
will be deleted and re-generated for the current run eco content.
Example
slk_fix_dynamic_power_swap_list_filename 737
Tweaker™ Variables Version T-2022.03
See also
slkfix -dynamic_power_eco
slk_auto_sizing_instance_file
$Tweaker_Install_DIR/etc/template/tweaker_t1/recovery/timing_recovery.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/dynamic_power.tcl
slk_fix_dynamic_power_swap_list_filename 738
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_threshold
# Specifies the percentage of candidates for dynamic power autofix eco.
Type
Float
Default
1.0
Description
By default, command slkfix -dynamic_power_eco will try to optimize
instances, which have any non-zero dynamic power value. In vectorless flow,
all standard cells in whole chip have toggle rate and also the corresponding
dynamic power value. That will cause long run time issue. The variable
specifies the percentage of candidates for autofix and Tweaker fixes the
You can change the value of the variable arbitrarily before each autofix
It does not affect the eco domain creation and batch mode dynamic power eco.
slk_fix_dynamic_power_threshold 739
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_dynamic_power_threshold 0.1
slkfix -dynamic_power_eco
See also
power_report_in (cmd)
slkfix (cmd)
slkfix (cmd)
slkdb (cmd)
slkfix (cmd)
$Tweaker_Install_DIR//etc/template/tweaker_t1/dynamic_power/dynamic_power_
eco_vectorless.tcl
slk_fix_dynamic_power_threshold 740
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_watch_hold
# Enable/Disable watching hold timing window file while fixing dynamic power
Type
Boolean
Default
false
Description
Tweaker will not watch for hold timing window file while recovering dynamic
power as sizing down cell will improve hold time. However, sizing up might
help dynamic power on some special cases. Hence, when the variable "slk_fix_
enabling this variable is recommended for Tweaker to watch hold timing wind-
ow while sizing up the cells for not introducing hold time impact.
Example
tweaker_shell> set slk_fix_dynamic_power_without_sizing_down true
slk_fix_dynamic_power_watch_hold 741
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_dynamic_power_without_sizing_down
[ VAR ] slk_fix_dynamic_power_without_sizing_up
[ VAR ] slk_fix_dynamic_power_watch_peer_setup
slk_fix_dynamic_power_watch_hold 742
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_watch_internal_power
# Enables or disables Tweaker to monitor the internal power during Dynamic Power
ECO.
Type
Boolean
Default
false
Description
By its default value false, Tweaker is able to do as much ECOs as possible.
For Dynamic Power ECO fixing Switching Power, users are recommended to set
Example
set slk_fix_dynamic_power_watch_internal_power true
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
slk_fix_dynamic_power_watch_internal_power 743
Tweaker™ Variables Version T-2022.03
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_dynamic_power_watch_leakage_power (var)
slk_fix_dynamic_power_watch_internal_power 744
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_watch_leakage_power
# Enables or disables Tweaker to monitor the leakage power during Dynamic Power
ECO.
Type
Boolean
Default
false
Description
By its default value false, Tweaker is able to do as much ECOs as possible
and user can expected the better power improvement with this variable
setting true. For Dynamic Power run, users are recommended to set this
Example
set slk_fix_dynamic_power_watch_leakage_power true
See also
slk_fix_dynamic_power_watch_leakage_power 745
Tweaker™ Variables Version T-2022.03
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_dynamic_power_watch_internal_power (var)
slk_fix_dynamic_power_watch_leakage_power 746
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_watch_peer_setup
# Enable/Disable watch peer setup timing window file while fixing dynamic power
Type
Boolean
Default
true
Description
Tweaker sizes down cells to improve dynamic power by default. However, it
might impact the setup time for the other fanouts of sized down driver's
(peer). Therefore, Tweaker wil watch for peer setup impact by defaut.
Disabling this variable will ignore any setup impact on peer while recover-
Example
tweaker_shell> set slk_fix_dynamic_power_without_sizing_up true
slk_fix_dynamic_power_watch_peer_setup 747
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_dynamic_power_without_sizing_up
[ VAR ] slk_fix_dynamic_power_without_sizing_down
[ VAR ] slk_fix_dynamic_power_watch_hold
slk_fix_dynamic_power_watch_peer_setup 748
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_watch_switching_power
# Enables or disables Tweaker to monitor the switching power during Dynamic
Power ECO.
Type
Boolean
Default
false
Description
By its default value false, Tweaker is able to do as much ECOs as possible.
For Dynamic Power ECO fixing Switching Power, users are recommended to set
Example
set slk_fix_dynamic_power_watch_switching_power true
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_switching_
slk_fix_dynamic_power_watch_switching_power 749
Tweaker™ Variables Version T-2022.03
power_eco_setting.sz.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_switching_
power_eco_setting.sz.2.tcl
slk_fix_dynamic_power_watch_leakage_power (var)
slk_fix_dynamic_power_watch_internal_power (var)
slk_fix_dynamic_power_watch_switching_power 750
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_without_sizing_down
# Disables the ability to size down the cells during dynamic power autofix.
Type
Boolean
Default
false
Description
Tweaker will not sizing down any cell when this variable set to true when
dynamic power autofix. However in some special cases where sizing up may
actually help the dynamic power. User can enable this variable to do sizing
The internal power batch mode sizing will not reference this variable, it
Example
set slk_fix_dynamic_power_batch_mode false
slk_fix_dynamic_power_without_sizing_down 751
Tweaker™ Variables Version T-2022.03
...
slkfix -dynamic_power_eco
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/dynamic_power.tcl
slk_fix_dynamic_power_without_sizing_down 752
Tweaker™ Variables Version T-2022.03
slk_fix_dynamic_power_without_sizing_up
# Enables or disables Tweaker to do up-sizing during Dynamic Power ECO.
Type
Boolean
Default
true
Description
By default, Tweaker is not allowed to do up-sizing which are contrary to the
purpose of reducing power during Dynamic Power ECO. However, Tweaker offers
Example
set slk_fix_dynamic_power_without_sizing_up false
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
slk_fix_dynamic_power_without_sizing_up 753
Tweaker™ Variables Version T-2022.03
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_internal_power_by_sizing (var)
slk_fix_switching_power_by_sizing (var)
slk_fix_dynamic_power_without_sizing_up 754
Tweaker™ Variables Version T-2022.03
slk_fix_enable_defrag_to_different_row
# Enable/Disable moving cell to different row while defragmentation
Type
Boolean
Default
false
Description
Tweaker defragmentation moves cell to left/right direction by default. Howe-
ver, better utilization can be achieved by moving cell to another row (up/d-
own direction). Therefore, Tweaker can move cell which having enough timing
margin to another row by enabling this variable. To control on how far the
ed.
Example
tweaker_shell> set slk_fix_enable_defrag_to_different_row true
slk_fix_enable_defrag_to_different_row 755
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_auto_sizing_max_shift_distance
slk_fix_enable_defrag_to_different_row 756
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_by_insertion
# Adopts the insertion algorithm for fixing forbidden chain violations.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will adopt sizing algorithm for
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_forbidden_chain_by_insertion true
...
slk_fix_forbidden_chain_by_insertion 757
Tweaker™ Variables Version T-2022.03
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_by_sizing
slk_repeater_insertion_buff_list
slk_fix_forbidden_chain_by_insertion 758
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_by_sizing
# Adopts the sizing algorithm for fixing forbidden chain violations.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will adopt sizing algorithm for
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_forbidden_chain_by_sizing true
slk_fix_forbidden_chain_by_sizing 759
Tweaker™ Variables Version T-2022.03
...
slkfix -forbidden_chain
See also
slk_fix_setup_by_sizing
slk_fix_hold_by_sizing
slk_fix_forbidden_chain_by_insertion
slk_fix_forbidden_chain_by_sizing 760
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_dont_touch_clock
# Enables or disables the ability to fix the forbidden chain violation by
Type
Boolean
Default
true
Description
By default, Tweaker will not fix the forbidden chain violation on the
clock components.
By setting this variable to false, users are able to fixing the forbidden
Example
set slk_fix_forbidden_chain_by_sizing true
...
slk_fix_forbidden_chain_dont_touch_clock 761
Tweaker™ Variables Version T-2022.03
slkfix -forbidden_chain
See also
slk_fix_dont_touch_clock_comp
slk_fix_drv_dont_touch_clock
slk_fix_forbidden_chain_dont_touch_clock 762
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_insertion_exhaustively
# Adopts the exhaustive algorithm to fixing forbidden chain by insertion
Type
Boolean
Default
true
Description
When Tweaker fixing forbidden chain by insertion, Tweaker will try to fix
By default setting of this variable, Tweaker will trace all the fan-in and
fan-out cone for each pin to evaluate the common point for insertion.
Example
set slk_fix_forbidden_chain_by_insertion true
...
slk_fix_forbidden_chain_insertion_exhaustively 763
Tweaker™ Variables Version T-2022.03
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_by_insertion
slk_fix_forbidden_chain_insertion_exhaustively 764
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_insertion_factor
# Controls the scaling factor in deriving the candidate nets of repeater insertion during autofix operation.
Type
float
Default
0.0
Description
This variable is only valid when forbidden chain autofix by insertion
feature is enabled.
By default, Tweaker will calculate the average values of all cell delay
Later during the insertion autofix, Tweaker will compare the cell delay
of every driver and net transition in the violation paths with this
If either a driver's cell delay or its driven net's transition value are
larger than the calculated average values, Tweaker will take this cell
as the critical point, hence Tweaker will try to insert on this net.
On the contrary, if both the driver cell delay and net transition value
slk_fix_forbidden_chain_insertion_factor 765
Tweaker™ Variables Version T-2022.03
is smaller than the corresponding average value, Tweaker will not even try
This variable will acts as the factor that will affect the calculated
average value.
When users set a larger value to this variable, more net candidate will be
listed as the insertion candidate. On the contrary, when user sets a smaller
value to this variable, Tweaker may see less net as its insertion candidate.
Example
set slk_fix_forbidden_chain_by_insertion true
...
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_by_insertion
slk_fix_forbidden_chain_insertion_factor 766
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_min_improved_for_insertion
# Set the minimum improve value for forbidden chain insertion fixing
Type
integer
Default
1
Description
Fixing forbidden chain by insertion method, Tweaker can control the
This variable can define how many forbidden chain violations should be
Example
set slk_fix_forbidden_chain_by_insertion true
set slk_fix_forbidden_chain_min_improved_for_insertion 5
slk_fix_forbidden_chain_min_improved_for_insertion 767
Tweaker™ Variables Version T-2022.03
...
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_by_insertion
slk_fix_forbidden_chain_min_improved_for_insertion 768
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_nworst
# Set the nworst value for forbidden chain autofix
Type
integer
Default
10
Description
This variable can control the maximum nworst number when fixing forbidden
chain. Tweaker will use the nworst value to trace the violation to fix it
By default setting of this variable, Tweaker will apply nworst 10 when fixing
Example
set slk_fix_forbidden_chain_by_insertion true
set slk_fix_forbidden_chain_nworst 30
slk_fix_forbidden_chain_nworst 769
Tweaker™ Variables Version T-2022.03
...
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_by_insertion
slk_fix_forbidden_chain_nworst 770
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_watch_hold_timing_window
# Enables or disable Tweaker to watch the hold time in Timing Windows File (TWF)
Type
Boolean
Default
true
Description
By setting this variable to true, it enables Tweaker to observe
for any hold time variation during forbidden chain autofix. The
Example
set slk_fix_forbidden_chain_by_sizing true
...
slk_fix_forbidden_chain_watch_hold_timing_window 771
Tweaker™ Variables Version T-2022.03
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_watch_setup_timing_window
slk_fix_forbidden_chain_watch_hold_timing_window 772
Tweaker™ Variables Version T-2022.03
slk_fix_forbidden_chain_watch_setup_timing_window
# Enables or disable Tweaker to watch the setup time in Timing Windows File
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will observe
for any setup time variation for peer side/sub side inside the TWF during
Example
set slk_fix_forbidden_chain_by_sizing true
...
slk_fix_forbidden_chain_watch_setup_timing_window 773
Tweaker™ Variables Version T-2022.03
slkfix -forbidden_chain
See also
slk_fix_forbidden_chain_watch_hold_timing_window
slk_fix_forbidden_chain_watch_setup_timing_window 774
Tweaker™ Variables Version T-2022.03
slk_fix_hold_add_dummy_cell_by_bounding_box
# To measure slk_max_dummy_load_cell_distance starting from net bounding box
Type
Boolean
Default
false
Description
By default, [VAR] slk_max_dummy_load_cell_distance controls how far away a
dummy cell can be placed from the target sink pin of the net to be inserted
the dummy load cell. However, more than often P&R would try to retain the
existing routing pattern as much as possible without rerouting too much when
implementing the inserted dummy cells, and sometimes it happens that dummy
cells could be placed too close to existing routing pattern of the target
[VAR] slk_max_dummy_load_cell_distance.
In such a case, after P&R ECO-routes the new dummy cell to the existing
routing pattern, the length of the additional net segment connecting the new
slk_fix_hold_add_dummy_cell_by_bounding_box 775
Tweaker™ Variables Version T-2022.03
dummy cell and the original routing pattern might not be long enough to
provide good extra loading to produce good extra delay, which makes the
between the dummy cell and the target sink pin of the net, but that between
the dummy cell and either edge of the bounding box of the entire net span.
This can ensure the effect of adding the dummy cell when loading is expected
Example
set slk_fix_hold_by_add_dummy_load true
set slk_max_dummy_load_cell_distance 25
set slk_max_dummy_load_cell_count 2
...
slk_fix_hold_add_dummy_cell_by_bounding_box 776
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.dmy.tcl
slk_fix_hold_by_add_dummy_load (var)
slk_dummy_load_cell_list (var)
slk_range_for_add_dummy_load (var)
slk_max_dummy_load_cell_distance (var)
slk_max_dummy_load_cell_count (var)
slk_fix_hold_add_dummy_cell_by_bounding_box 777
Tweaker™ Variables Version T-2022.03
slk_fix_hold_allow_impact_next_stage
# Tweaker variable to allow any setup impact on the next stage of the path ( latch-based design )
Type
Boolean
Default
false
Description
For a latch-based design, when this variable is set to true, if the actual-
Tweaker will utilized the remaining time-borrow even if it cause any setup
impact as long as it can improve the setup margin which Tweaker can further
Hence by enabling this variable, please expect the possible setup impact
Example
set slk_fix_hold_allow_impact_next_stage true
slk_fix_hold_allow_impact_next_stage 778
Tweaker™ Variables Version T-2022.03
See also
NA
slk_fix_hold_allow_impact_next_stage 779
Tweaker™ Variables Version T-2022.03
slk_fix_hold_at_endpoint_only
# Enables or disables the delay insertion to be done at the endpoint of a path during fixing hold violations.
Type
Boolean
Default
false
Description
If this variable is set to its default value of false, Tweaker will have
its own algorithm to decide the best location of the delay insertion.
On the other side, if this variable is set to true, it will force Tweaker
Users are not recommended to turn on this feature for general cases.
"slk_fix_hold_by_high_fanout_insertion" is enabled.
Example
slk_fix_hold_by_delay_insertion true
slk_fix_hold_at_endpoint_only 780
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_hold_at_sink_pin_only
slk_fix_hold_at_startpoint_only
slk_fix_hold_at_endpoint_only 781
Tweaker™ Variables Version T-2022.03
slk_fix_hold_at_sink_pin_by_distance
# Enables or disables the delay insertion to insert buffer with fixed distance
Type
Boolean
Default
false
Description
By default, Tweaker will have its own algorithm to decide the best location
"slk_preferred_delay_cell_distance_range".
If the buffer chain is needed to insert, each buffer will follow this
setting and be placed to the physical location with the fixed distance.
slk_fix_hold_at_sink_pin_by_distance 782
Tweaker™ Variables Version T-2022.03
not perform the insertion and will give the blocking code instead.
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_preferred_delay_cell_distance_range
slk_fix_hold_at_sink_pin_only
slk_fix_hold_at_sink_pin_by_distance 783
Tweaker™ Variables Version T-2022.03
slk_fix_hold_at_sink_pin_only
# Enables or disables the delay insertion to be done at each the cells sink pin of the violated path during hold violation autofix.
Type
Boolean
Default
false
Description
By default, Tweaker will have its own algorithm to decide the best grouping and location
On contrary, if this variable is set to true, it will force Tweaker to insert buffer
on each violated sink pin without grouping logically. If you want to insert buffer
The advantage of this feature is reducing ECO route impact. Because only
"slk_fix_hold_by_high_fanout_insertion" is enabled.
slk_fix_hold_at_sink_pin_only 784
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_at_endpoint_only
slk_fix_hold_at_startpoint_only
slk_fix_hold_at_sink_pin_by_distance
slk_fix_hold_at_sink_pin_only 785
Tweaker™ Variables Version T-2022.03
slk_fix_hold_at_startpoint_only
# Enables or disables the delay insertion to be done at the startpoint of a path during fixing hold violations.
Type
Boolean
Default
false
Description
If this variable is set to its default value of false, Tweaker will have
its own algorithm to decide the best location of the delay insertion.
On the other side, if this variable is set to true, it will force Tweaker
Users are not recommended to turn on this feature for general cases.
"slk_fix_hold_by_high_fanout_insertion" is enabled.
Example
slk_fix_hold_by_delay_insertion true
slk_fix_hold_at_startpoint_only 786
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_hold_at_endpoint_only
slk_fix_hold_at_sink_pin_only
slk_fix_hold_at_startpoint_only 787
Tweaker™ Variables Version T-2022.03
slk_fix_hold_bottleneck_factor
# Specifies the ratio of setup and hold margin to determine the bottleneck for
Type
float
Default
3.0
Description
In Tweaker slack view, there is a column "Bottleneck" for hold paths, and
three kinds of results will be shown by comparing the ratio of setup and
1. Green light
variable.
2. Yellow light
If the ratio is larger than zero and less than this variable.
3. Red light
slk_fix_hold_bottleneck_factor 788
Tweaker™ Variables Version T-2022.03
If the setup timing window has no margin, that means the setup slack
This variable can be set at any time, but need to refresh slack view to
Example
set slk_fix_hold_bottleneck_factor 3.0
See also
N/A
slk_fix_hold_bottleneck_factor 789
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_add_dummy_load
# Adopts the add dummy load algorithm for fixing hold violations.
Type
Boolean
Default
false
Description
By setting this variable to its default value of true, Tweaker will adopt
The benefit of this algorithm is to fix small hold violations using dummy
When a dummy cell is inserted, Tweaker will create the extra fanout on the
existing hold violation net and leave the new fanout (dummy cell) output
open (floating output) and use its input cap and extra wire delay to create
small delay.
1. slk_max_dummy_load_cell_count
slk_fix_hold_by_add_dummy_load 790
Tweaker™ Variables Version T-2022.03
2. slk_max_dummy_load_cell_distance
3. slk_range_for_add_dummy_load
Please to refer to each of man pages of above variables for more details.
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_hold_by_add_dummy_load true
set slk_max_dummy_load_cell_distance 15
set slk_max_dummy_load_cell_count 2
...
See also
slk_range_for_add_dummy_load
slk_max_dummy_load_cell_distance
slk_max_dummy_load_cell_count
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.dmy.tcl
slk_fix_hold_by_add_dummy_load 791
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_delay_insertion
# Adopts the delay insertion algorithm for fixing hold violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will fix hold
violations by using the delay insertion algorithm. This algorithm will honor
slk_fix_hold_by_delay_insertion 792
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_high_fanout_insertion
slk_fix_hold_at_endpoint_only
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_fix_hold_by_delay_insertion 793
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_delay_insertion_with_cell_stealing
# Allows Tweaker to utilize the delay insertion with cell stealing strategy for
hold autofix.
Type
Boolean
Default
false
Description
For fixing hold violations, the activation of this variable will allow
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_hold_by_delay_insertion false
slk_fix_hold_by_delay_insertion_with_cell_stealing 794
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_hold_by_delay_insertion_with_cell_stealing 795
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_extract_extra_domain_setup_margin
# Enables or disables the feature of extract extra setup margin.
Type
Boolean
Default
false
Description
This variable offers the ability to extract more setup margin by increasing
its extracting domain beyond the existing hold paths, while the
This variable should be applied after creation of the domain which will take
This extraction mechanism will not include any new hold time violation or
slk_fix_hold_by_extract_extra_domain_setup_margin 796
Tweaker™ Variables Version T-2022.03
Example
set slk_extract_setup_level 3
slkfix -create_extract_setup_margin
...
...
See also
slk_extract_setup_level
slkfix (cmd)
slk_fix_hold_by_extract_extra_domain_setup_margin 797
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_extract_setup_margin
# Extracts the setup margin on existing hold path.
Type
Boolean
Default
false
Description
For hold/setup toggled paths, Tweaker provides a mechanism to extract more
setup margin on existing hold paths in slow to fast manner by using the
sizing algorithm. Users can utilize the newly acquired setup margin to
When this variable is set to true, it will select candidates whose setup
"slk_extract_setup_margin_trans".
slk_fix_hold_by_extract_setup_margin 798
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_sizing true
See also
slk_extract_setup_margin_trans
slk_fix_hold_by_extract_setup_margin 799
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_fix_setup_si
# Enables or disables fixing setup SI delay while still fixing hold violations.
Type
Boolean
Default
false
Description
This variable works only when either "slk_fix_si_only" or "slk_fix_si_first"
negative delay (hold SI). By setting this variable to its default value of
false, Tweaker optimize the negative delay to fix the hold violations.
optimize the positive delay for fixing setup violations in order to extract
slk_fix_hold_by_fix_setup_si 800
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_sizing true
...
See also
slk_fix_si_first
slk_fix_si_only
slk_fix_hold_by_fix_setup_si 801
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_hack_sdf
# Adopts the Hack SDF as fixing algorithm during hold autofix.
Type
Boolean
Default
false
Description
For early simulation purpose, Tweaker provides the "Hack SDF" operation
the Hack SDF operation based on the TWF file which is used by Tweaker
then use "slkfix -twf_hack_sdf" to get both setup/hold hacked in the same
Tweaker run.
Besides "TWF domain"-based Hack SDF, Tweaker can also accept the Hack SDF
users can still use "slkfix -setup -all" command to hack those input hold
violation reports.
slk_fix_hold_by_hack_sdf 802
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_hack_sdf true
...
See also
slk_fix_setup_by_hack_sdf
$Tweaker_Install_DIR/etc/template/tweaker_t1/hacksdf/fix_hold/fix_hold_
setting.hacksdf.tcl
slk_fix_hold_by_hack_sdf 803
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_high_fanout_insertion
# Adopts the HFI algorithm for fixing hold violations.
Type
Boolean
Default
false
Description
If this variable is set to true, Tweaker will fix the hold violations by
Advantage of HFI algorithm over the normal delay insertion algorithm is that
it can group-up the violated sink pins of the high fanout net and fix them
together which will save the insertion buffer count and area overhead after
is set to true.
The sink pins grouping system in HFI algorithm depends on several factors
1. _slk_hfi_setup_margin_threshold
slk_fix_hold_by_high_fanout_insertion 804
Tweaker™ Variables Version T-2022.03
2. slk_setup_target_slk
3. slk_hfi_grouping_hold_margin
4. slk_hfi_peer_setup_margin
Please refer to man pages of each variables or consult our local AE for more
details.
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_delay_insertion
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_fix_hold_by_high_fanout_insertion 805
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_sizing
# Adopts the sizing algorithm for fixing hold violations.
Type
Boolean
Default
false
Description
By setting this variable to its default value of true, Tweaker will adopt
the sizing algorithm for hold violations autofix. By the default setting,
variable (default value: true) which will affect Tweaker to only size-down
the violated cell to fix their hold violations while still make sure that
that they still meets the requirement of DRV value or other transition/slew
rules.
Example
set slk_fix_hold_by_sizing true
slk_fix_hold_by_sizing 806
Tweaker™ Variables Version T-2022.03
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.sz.tcl
slk_fix_hold_by_sizing 807
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for hold
autofix.
Type
Boolean
Default
false
Description
For fixing hold violations, the activation of this variable will allow
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_hold_by_sizing false
slk_fix_hold_by_sizing_with_cell_stealing 808
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_hold_by_sizing_with_cell_stealing 809
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_twf_cost
# Enables or disables the feature of fixing hold by TWF.
Type
Boolean
Default
false
Description
In order to save the run time by reducing the input hold violation report(s)
while expanding the area size of the hold ECO domain, Tweaker offers a
variable. The back-trace operation for fixing the hold violations is using
the TWF (Timing Window File) information/values to track the hold violation
this feature to fix the hold violations. This variable is the main switch
slk_fix_hold_by_twf_cost 810
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_twf_cost true
set slk_fix_hold_level 6
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold_nworst1_
plus_twf/fix_hold.tcl
slk_fix_hold_level
slk_fix_hold_high_effort_flow
slk_twf_cost_v2
slk_fix_hold_by_twf_cost 811
Tweaker™ Variables Version T-2022.03
slk_fix_hold_by_virtual_route
# Tweaker variable to enable or disable the virtual route behavior when a
Type
Boolean
Default
false
Description
This variable only works when the feature of HFI is enabled during fixing hold.
(hard code 5 buffers) are needed to get inserted at once, user can enable
If the sequence of hold buffers is less than the hard code value then the
Example
slk_fix_hold_by_virtual_route 812
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_fix_hold_by_virtual_route 813
Tweaker™ Variables Version T-2022.03
slk_fix_hold_dont_touch_clock_net
# Disables the hold violations fixing on clock pins.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will disable
the fixing on pins which are considered as clock at STA. After Tweaker
classifies the clock and data pins according to the imported timing window
file (TWF), Tweaker will fix any violation on the "data" pins (pins without
"the clock segment" attribute) and the pins with "clock as data" attribute
only. Notice that, the pins with "clock as data" attribute can only be
For more information on the "clock as data" attribute, please refer to the
slk_fix_hold_dont_touch_clock_net 814
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_dont_touch_clock_net false
...
See also
check_clock_as_data (cmd)
slk_fix_hold_dont_touch_clock_net 815
Tweaker™ Variables Version T-2022.03
slk_fix_hold_enable_si_aware
# Enables or disables the SI aware mechanism during hold autofix.
Type
Boolean
Default
false
Description
This is an obsolete variable.
Tweaker itself has the SI aware mechanism for Power Eco and fix hold
which are potentially prone to SI. A group of variables are needed to be set
properly together with the TWF file and then must be output with "-si_aware"
option.
The qualification of the "weak nets" is not only specified by wire length
and its transition value, but also influenced by the ratio of "coupling
"slk_max_couple_c_factor" variable.
This is the main switch for enabling the SI aware feature for fix hold.
slk_fix_hold_enable_si_aware 816
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_enable_si_aware true
set slk_si_aware_null_clock_period 1
...
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_fix_hold_enable_si_aware 817
Tweaker™ Variables Version T-2022.03
slk_fix_hold_high_effort_flow
# Enables or disables the high effort TWF cost update of the fixing hold by TWF
feature.
Type
Boolean
Default
false
Description
In order to save the run time by reducing the input hold violation report(s)
while expanding the area size of the hold ECO domain, Tweaker offers a
variable. The back-trace operation for fixing the hold violations is using
the TWF (Timing Window File) information/values to track the hold violation
this feature to fix the hold violations. This variable only enables the
slk_fix_hold_high_effort_flow 818
Tweaker™ Variables Version T-2022.03
"high effort" TWF cost update so that each insertion will trigger cost
update. This update will increase the ECO quality at a minor expense of
runtime.
Example
set slk_fix_hold_by_twf_cost true
set slk_fix_hold_level 6
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold_nworst1_
plus_twf/fix_hold.tcl
slk_fix_hold_by_twf_cost
slk_fix_hold_level
slk_twf_cost_v2
slk_fix_hold_high_effort_flow 819
Tweaker™ Variables Version T-2022.03
slk_fix_hold_level
# Specifies the level of the back trace stages when performing hold fixing by
Type
Integer
Default
empty
Description
In order to save the run time by reducing the input hold violation report(s)
while expanding the area size of the hold ECO domain, Tweaker offers a
variable. The back-trace operation for fixing the hold violations is using
the TWF (Timing Window File) information/values to track the hold violation
this feature to fix the hold violations. This variable only determines the
slk_fix_hold_level 820
Tweaker™ Variables Version T-2022.03
level of back-trace starts from the hold violation domain covered by the
report(s) are allowed for Tweaker. (The back trace starts from the endpoint
Example
set slk_fix_hold_by_twf_cost true
set slk_fix_hold_level 6
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold_nworst1_
plus_twf/fix_hold.tcl
slk_fix_hold_by_twf_cost
slk_fix_hold_high_effort_flow
slk_twf_cost_v2
slk_fix_hold_level 821
Tweaker™ Variables Version T-2022.03
slk_fix_hold_max_trans_drv
# Specifies the absolute maximum transition value to be honored during hold autofix.
Type
Float
Default
empty
Description
By setting this variable to its default value of an empty value, Tweaker
will monitor the transition value and compare it with the value which is
If this variable is specified, Tweaker will also take this absolute value
hold autofix.
Example
set slk_fix_hold_by_delay_insertion true
set_drv_factor 0.8
slk_fix_hold_max_trans_drv 822
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_max_trans_drv
slk_power_eco_max_trans_drv
slk_fix_hold_max_trans_drv 823
Tweaker™ Variables Version T-2022.03
slk_fix_hold_minimize_buffer_count
# Enables or disables the ability of Tweaker to minimize buffer count during
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, when HFI algorithm
(high fanout insertion) is used for fixing hold violations, Tweaker will
enable the "minimize buffer count" feature to decide the minimum buffers/
For example, if a hold violation nets requires 200ps delay to fix its hold
violation, which can be fix either by inserting 1 big delay cell or 4 small
buffers, Tweaker will prefer to insert a single big delay cell due to this
feature.
slk_fix_hold_minimize_buffer_count 824
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_high_fanout_insertion true
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_fix_hold_minimize_buffer_count 825
Tweaker™ Variables Version T-2022.03
slk_fix_hold_minimize_setup_impact
# Enables or disables Tweaker to choose "setup-friendly" cells during the hold violations fixing by insertion algorithm.
Type
Boolean
Default
false
Description
By default, Tweaker will minimize the cell insertion count during the hold
cells which usually consume more setup margin compared to the buffer cells
are sometimes selected by Tweaker. The insertion of delay cells may easily
"setup-friendly" cells over the delay cells during the hold violation fixing
the cells with less variation and delay difference of hold/setup slack for
slk_fix_hold_minimize_setup_impact 826
Tweaker™ Variables Version T-2022.03
every corners.
During this setting, buffer cells would be preferred over delay cells due to
Example
set slk_fix_hold_minimize_buffer_count false
...
See also
slk_fix_hold_minimize_buffer_count
slk_fix_hold_minimize_setup_impact 827
Tweaker™ Variables Version T-2022.03
slk_fix_hold_minimize_worst_slack
# Tweaker variable to enable or disable the fix hold by sizing with minimized
worst slack.
Type
Boolean
Default
false
Description
When fixing hold by sizing is enabled, user can enable this variable to
decide the sizing can only be taken if local hold WNS is improved. Otherwise
if the feature is off, when do sizing the peer impact is not allowed.
Example
set slk_fix_hold_by_sizing true
slk_fix_hold_minimize_worst_slack 828
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_fix_hold_minimize_worst_slack 829
Tweaker™ Variables Version T-2022.03
slk_fix_hold_power_aware_insertion
# Enable/Disable consider leakage for hold insertion.
Type
Boolean
Default
False
Description
Tweaker inserts buffers without considering the leakage impact by default.
When this variable is enabled, Tweaker will consider lesser leakage impact
candidate from delay insertion list and get the leakage information from the
aker will use the default lib_group (the first library read into Tweaker).
Example
tweaker_shell> set slk_delay_insertion_buff_list {DDLAY1S1 DBFS2 \
DBFS3 DBFS8}
slk_fix_hold_power_aware_insertion 830
Tweaker™ Variables Version T-2022.03
See also
slk_leakage_power_lib (var)
slk_delay_insertion_buff_list (var)
slk_fix_hold_by_delay_insertion (var)
slk_fix_hold_minimize_buffer_count (var)
slk_fix_hold_minimize_setup_impact (var)
slk_fix_hold_power_aware_insertion 831
Tweaker™ Variables Version T-2022.03
slk_fix_hold_use_constant_cell
# Enables or disables auto configuring constant cell for delay insertion.
Type
Boolean
Default
false
Description
This is a Metal Eco related variable.
constant cell in the insertion candidate list if the the given value of
If this variable is set to default value false, Tweaker only uses constant
will not auto configure other constant cells out of the insertion list.
Example
set metal_eco_mode true
slk_fix_hold_use_constant_cell 832
Tweaker™ Variables Version T-2022.03
...
set slk_delay_insertion_buff_list *
...
See also
N/A
slk_fix_hold_use_constant_cell 833
Tweaker™ Variables Version T-2022.03
slk_fix_hold_watch_driving_pin_slack
# Enables or disables the ability of Tweaker to monitor the driving (peer) side
Type
Boolean
Default
true
Description
In default, if Tweaker has decided to place delay buffer(s) to group-up
the violated sink pins while fixing the hold violations which are occurred
on high fanout nets, Tweaker will also make sure that the rest of the sink
pins are still met the required setup target slack which is specified at
"slk_hfi_peer_setup_margin" variable.
Tweaker offers this variable to decrease the driving (peer) side's setup
time impact possibility when fixing the hold time violations. Since this
variable may cause some un-fixed hold violations, users are suggested to set
a smaller value into this variable in order to increase the hold violation
fixing rate.
slk_fix_hold_watch_driving_pin_slack 834
Tweaker™ Variables Version T-2022.03
Example
set slk_give_up_insert_buf_distance 100
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_hfi_peer_setup_margin
slk_fix_hold_watch_driving_pin_slack 835
Tweaker™ Variables Version T-2022.03
slk_fix_hold_watch_timing_window
# Allows Tweaker to monitor the timing window setup margins during hold
violation autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will monitor
the TWF setup margins during the hold violation autofix to avoid any setup
impact. Besides, Tweaker will also compare the TWF minimum slack and the
hold path slack. Later on, Tweaker will utilize the worst slack minimum
Users are not suggested to change the value of this variable under any
circumstances.
Example
slk_fix_hold_watch_timing_window 836
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_hold_by_sizing
slk_fix_hold_by_add_dummy_load
slk_fix_hold_by_delay_insertion
slk_fix_hold_by_high_fanout_insertion
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.*.tcl
slk_fix_hold_watch_timing_window 837
Tweaker™ Variables Version T-2022.03
slk_fix_hold_without_sizing_up
# Disables the ability to size up the cells during hold autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will not
sizing up any cell during hold autofix. However in some special cases where
size up may actually help the hold time violation and users can command
Example
set slk_fix_hold_by_sizing
...
slk_fix_hold_without_sizing_up 838
Tweaker™ Variables Version T-2022.03
See also
slk_fix_setup_without_sizing_down
slk_fix_hold_without_sizing_up 839
Tweaker™ Variables Version T-2022.03
slk_fix_ignore_clock_comp
# Enables or disables the ability to touch clock components during auto fixing.
Type
Boolean
Default
true
Description
By default, Tweaker will not touch clock components during fixing setup and
For hold autofix, this variable will have different behavior when combined
Case 1:
slk_fix_ignore_clock_comp 840
Tweaker™ Variables Version T-2022.03
segment)
Case 2:
clock-component at the same time, then Tweaker can only touch the non-
Case 3:
false )
net segment )
Example
set slk_fix_ignore_clock_comp true
See also
slk_fix_hold_dont_touch_clock_net
set_clock_comp (cmd)
slk_fix_ignore_clock_comp 841
Tweaker™ Variables Version T-2022.03
slk_fix_ignore_clock_comp 842
Tweaker™ Variables Version T-2022.03
slk_fix_internal_power_by_deletion
# Enables or disables Tweaker to adopt deleting buffers/inv pairs algorithms for
Type
Boolean
Default
false
Description
By default value false of this variable, Tweaker will adopt sizing algorithm
for fixing internal power during Dynamic Power ECO. When enable this,
Tweaker will also performs delete buffers and inv pairs. Suggest to keep
Example
set slk_fix_internal_power_by_sizing false
slk_fix_internal_power_by_deletion 843
Tweaker™ Variables Version T-2022.03
...
slkfix -dynamic_power_eco
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_internal_power_by_deletion 844
Tweaker™ Variables Version T-2022.03
slk_fix_internal_power_by_sizing
# Enables or disables Tweaker to adopt sizing algorithms for reducing internal
power.
Type
Boolean
Default
true
Description
By default value true of this variable, Tweaker will adopt sizing algorithm
for fixing internal power during Dynamic Power ECO. And also by default
do down-sizing.
Example
set slk_fix_internal_power_by_sizing true
slk_fix_internal_power_by_sizing 845
Tweaker™ Variables Version T-2022.03
...
slkfix -dynamic_power_eco
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_internal_power_by_sizing 846
Tweaker™ Variables Version T-2022.03
slk_fix_internal_power_larger_than
# Dynamic power ECO fixing internal power only fixes larger than this value.
Type
Float
Default
0.0
Description
By default is 0.0, Tweaker is able to do as much ECOs as possible.
For Dynamic Power ECO fixing Internal Power, user can use this variable
Example
set slk_fix_internal_power_larger_than 0.001
See also
slk_fix_switching_power_larger_than (var)
slk_fix_internal_power_larger_than 847
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_by_sizing
# Adopts the sizing algorithm for fixing IR drop violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
Example
set slk_fix_ir_eco_by_sizing true
...
slkfix -ir_eco
See also
slk_fix_ir_eco_by_sizing 848
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_conservative_mode
# To enable IR ECO with move conservative way eco candidate sorting.
Type
Boolean
Default
false
Description
By default this variable false, Tweaker will adapt timing aggressive based
ECO candidate sorting to select ECO cell. If user enable this variable,
it will use timing conseravtive based way to sort ECO potential candidate.
Example
set slk_fix_ir_eco_by_sizing true
...
slkfix -ir_eco
slk_fix_ir_eco_conservative_mode 849
Tweaker™ Variables Version T-2022.03
See also
slk_fix_ir_eco_conservative_mode 850
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_dont_touch_clock
# Enables or disables the ability to fix the IR drop violation by touching the data path only.
Type
Boolean
Default
true
Description
By default, Tweaker will fix all of the IR drop violation including
Example
set slk_fix_ir_eco_by_sizing true
...
slkfix -ir_eco
slk_fix_ir_eco_dont_touch_clock 851
Tweaker™ Variables Version T-2022.03
See also
slk_fix_ir_eco_dont_touch_data
slk_fix_ir_eco_dont_touch_clock 852
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_dont_touch_data
# Enables or disables the ability to fix the IR drop violation by touching the clock path only.
Type
Boolean
Default
false
Description
By default, Tweaker will fix all of the IR drop violation including
Example
set slk_fix_ir_eco_by_sizing true
...
slkfix -ir_eco
slk_fix_ir_eco_dont_touch_data 853
Tweaker™ Variables Version T-2022.03
See also
slk_fix_ir_eco_dont_touch_clock
slk_fix_ir_eco_dont_touch_data 854
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_hornor_aggressor_list
# To enable aggressor based IR ECO algorithm.
Type
Boolean
Default
true
Description
By default this variable true, if you read aggressor information in Tweaker,
Tweaker IR ECO will perform aggressor based algorithm for fixing IR drop violation
by aggressor.
If user disable this variable, Tweaker will only based on IR drop victim candidate
Example
set slk_fix_ir_eco_by_sizing true
...
slk_fix_ir_eco_hornor_aggressor_list 855
Tweaker™ Variables Version T-2022.03
slkfix -ir_eco
See also
slk_fix_ir_eco_hornor_aggressor_list 856
Tweaker™ Variables Version T-2022.03
slk_fix_ir_eco_watch_timing_window
# Allows Tweaker to monitor the timing window setup/hold margins during IR ECO.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will monitor
the TWF setup/hold margins during the IR ECO to avoid any setup or hold time
impact.
Users are not suggested to change the value of this variable under any
circumstances.
Example
set slk_fix_ir_eco_by_sizing true
slk_fix_ir_eco_watch_timing_window 857
Tweaker™ Variables Version T-2022.03
...
slkfix -ir_eco
See also
slk_setup_target_slk
slk_hold_target_slk
slk_fix_ir_eco_watch_timing_window 858
Tweaker™ Variables Version T-2022.03
slk_fix_keep_driving_cap
# Enables or disables the ability of Tweaker to maintain driving capacitance during autofix.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will control the capacitance of
the net's driving cell so that it will not exceed the original capacitance
Example
set slk_fix_hold_by_delay_insertion true
slk_fix_keep_driving_cap 859
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_keep_scaling_long_wire_slew
slk_fix_keep_driving_cap 860
Tweaker™ Variables Version T-2022.03
slk_fix_keep_obs_geometry
# Enables retain obs geometry behavior during autofix operation by sizing algorithm.
Type
Boolean
Default
false
Description
By setting this variable to true, users can restraint Tweaker to perform the
sizing algorithm within the candidate cells which contain the same obs
geometry as the original cells. The candidate cells consist of the cells
that have the same footprint as the original one or the cells within the
If user want to perform specific VT swap, it will also need to enable the
slk_fix_keep_obs_geometry 861
Tweaker™ Variables Version T-2022.03
Example
...
...
See also
slk_auto_sizing_keep_routing
slk_fix_keep_pin_geometry
slk_fix_keep_obs_geometry 862
Tweaker™ Variables Version T-2022.03
slk_fix_keep_pin_geometry
# Enables retain pin geometry behavior during autofix operation by sizing algorithm.
Type
Boolean
Default
false
Description
By setting this variable to true, users can restraint Tweaker to perform the
sizing algorithm within the candidate cells which contain the same pin
geometry as the original cells. The candidate cells consist of the cells
that have the same footprint as the original one or the cells within the
If user want to perform specific VT swap, it will also need to enable the
slk_fix_keep_pin_geometry 863
Tweaker™ Variables Version T-2022.03
Example
...
...
See also
slk_auto_sizing_keep_routing
slk_fix_keep_obs_geometry
slk_fix_keep_pin_geometry 864
Tweaker™ Variables Version T-2022.03
slk_fix_keep_scaling_long_wire_slew
# Enables or disables Tweaker to keep scaling long wire slew after autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will
configure each cell's maximum driving length derived from internal algorithm
before any autofix process is performed. After the autofix process, if any
ECO cell has been changed due to sizing or buffer insertion operation,
Tweaker will check the maximum driving capability of each ECO cells.
Example
set slk_fix_hold_by_sizing true
slk_fix_keep_scaling_long_wire_slew 865
Tweaker™ Variables Version T-2022.03
...
See also
N/A
slk_fix_keep_scaling_long_wire_slew 866
Tweaker™ Variables Version T-2022.03
slk_fix_leakage_power_by_deletion
# Enables or disables Tweaker to adopt deleting buffers/inv pairs algorithms for
Type
Boolean
Default
false
Description
By default value true of this variable, Tweaker will adopt sizing algorithm
for fixing leakage power during Power ECO. When var is enabled, Tweaker will
remove buffers and inv pairs based on leakage cost. Suggest to keep either
Example
set slk_fix_leakage_power_by_deletion true
...
slk_fix_leakage_power_by_deletion 867
Tweaker™ Variables Version T-2022.03
slkfix -power_eco
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/fix_leakage_power_eco
_setting.deletion.tcl
slk_fix_leakage_power_by_deletion 868
Tweaker™ Variables Version T-2022.03
slk_fix_leakage_power_by_sizing
# Enables or disables Tweaker to adopt sizing algorithms for reducing leakage
power.
Type
Boolean
Default
true
Description
By default value true of this variable, Tweaker will adopt sizing algorithm
Example
set slk_fix_leakage_power_by_sizing true
...
slkfix -power_eco
slk_fix_leakage_power_by_sizing 869
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/fix_leakage_power_eco
_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/fix_leakage_power_eco
_setting.2.tcl
slk_fix_leakage_power_by_sizing 870
Tweaker™ Variables Version T-2022.03
slk_fix_low_priority_design_for_interface_net
# Tweaker variable to specify a lower priority design to be fixed when Tweaker is inserting on the interface net
Type
String
Default
empty
Description
Specifies the design which to be treated as a lower priority of design(s)
to be inserted when Tweaker tries to insert on the interface net which means
that Tweaker will try to insert on the design other than the specified one
in the first place. If the violation still can't be fixed, then Tweaker will
Example
set slk_fix_low_priority_design_for_interface_net true
See also
slk_fix_low_priority_design_for_interface_net 871
Tweaker™ Variables Version T-2022.03
NA
slk_fix_low_priority_design_for_interface_net 872
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_by_repeater_insertion
# Adopts the HFS algorithm for fixing maximum capacitance violations.
Type
Boolean
Default
false
Description
By setting this variable to true, user can utilized the repeater buffers to
insertion.
"slk_repeater_insertion_buff_list" variable.
Example
set slk_fix_max_cap_by_repeater_insertion true
slk_fix_max_cap_by_repeater_insertion 873
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_max_cap_by_sizing
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_cap/fix_max_
cap_setting.hfs.tcl
slk_fix_max_cap_by_repeater_insertion 874
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_by_repeater_insertion_with_cell_stealing
# Allows Tweaker to utilize the repeater insertion with cell stealing strategy for max capacitance autofix.
Type
Boolean
Default
false
Description
For fixing max capacitance violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_cap_by_repeater_insertion false
slk_fix_max_cap_by_repeater_insertion_with_cell_stealing 875
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_max_cap_by_repeater_insertion_with_cell_stealing 876
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_by_sizing
# Adopts the sizing algorithm for fixing max capacitance violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true
Example
set slk_fix_max_cap_by_sizing true
...
slk_fix_max_cap_by_sizing 877
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_cap_by_repeater_insertion
slk_fix_max_cap_hfs_v2
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_cap/fix_max_
cap_setting.sz.tcl
slk_fix_max_cap_by_sizing 878
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for max capacitance autofix.
Type
Boolean
Default
false
Description
For fixing max capacitance violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_cap_by_sizing false
slk_fix_max_cap_by_sizing_with_cell_stealing 879
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_max_cap_by_sizing_with_cell_stealing 880
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_by_split_cell
# Adopts the split cell algorithm for fixing max capacitance violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true
Example
set slk_fix_max_cap_by_split_cell true
...
slk_fix_max_cap_by_split_cell 881
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_cap_by_repeater_insertion (var)
slk_fix_max_cap_by_sizing (var)
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_cap/fix_max_
cap_setting.*.tcl
slk_fix_max_cap_by_split_cell 882
Tweaker™ Variables Version T-2022.03
slk_fix_max_cap_fit_to_lib
# Tweaker variable to enable or disable the max cap fixing with required value equals the worst constraint from lib.
Type
Boolean
Default
false
Description
By default when max trans report are fed to Tweaker, the required value
user can enable this variable to let Tweaker hack the required value
Please be noticed that when this feature is enabled the max cap slack
may change accordingly because the required value is updated and synced
Example
slk_fix_max_cap_fit_to_lib 883
Tweaker™ Variables Version T-2022.03
...
See also
set_drv_report_required_factor (cmd)
set_drv_report_required_value (cmd)
slk_fix_max_trans_fit_to_lib
slk_fix_max_cap_fit_to_lib 884
Tweaker™ Variables Version T-2022.03
slk_fix_max_fanout_by_high_fanout_insertion
# Adopts the high fanout insertion algorithm for fixing max fanout violations.
Type
Boolean
Default
false
Description
By setting this variable to its default value of true, Tweaker will adopt
"slk_repeater_insertion_buff_list" variable.
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_max_fanout_by_sizing false
slk_fix_max_fanout_by_high_fanout_insertion 885
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_max_fanout_by_sizing
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_fanout/fix_
max_fanout_setting.hfs.tcl
slk_fix_max_fanout_by_high_fanout_insertion 886
Tweaker™ Variables Version T-2022.03
slk_fix_max_fanout_by_high_fanout_insertion_with_cell_stealing
# Allows Tweaker to utilize the high fanout insertion with cell stealing strategy for max fanout autofix.
Type
Boolean
Default
false
Description
For fixing max fanout violations, the activation of this variable will
allow Tweaker to use high fanout insertion with cell stealing algorithm.
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_fanout_by_sizing_with_cell_stealing false
slk_fix_max_fanout_by_high_fanout_insertion_with_cell_stealing 887
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_max_fanout_by_high_fanout_insertion_with_cell_stealing 888
Tweaker™ Variables Version T-2022.03
slk_fix_max_fanout_by_sizing
# Adopts the sizing algorithm for fixing max fanout violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_max_fanout_by_sizing true
...
slk_fix_max_fanout_by_sizing 889
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_fanout_by_high_fanout_insertion
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_fanout/fix_
max_fanout_setting.sz.tcl
slk_fix_max_fanout_by_sizing 890
Tweaker™ Variables Version T-2022.03
slk_fix_max_fanout_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for max fanout autofix.
Type
Boolean
Default
false
Description
For fixing max fanout violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_fanout_by_sizing false
slk_fix_max_fanout_by_sizing_with_cell_stealing 891
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_max_fanout_by_sizing_with_cell_stealing 892
Tweaker™ Variables Version T-2022.03
slk_fix_max_fanout_by_split_cell
# Adopts the split cell algorithm for fixing max fanout violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_max_fanout_by_split_cell true
...
slk_fix_max_fanout_by_split_cell 893
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_fanout_by_high_fanout_insertion (var)
slk_fix_max_fanout_by_sizing (var)
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_fanout/fix_
max_fanout_setting.*.tcl
slk_fix_max_fanout_by_split_cell 894
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_actual_trans_lighter_bound
# Tweaker variable to filter the unwanted max trans violation using the actual
Type
Float
Default
empty
Description
This var only works when the var "slk_fix_max_trans_by_actual_trans" is with
a assigned value. When above one is assigned with a value like 0.5 (ns),
then user may have another tolerance, for example 0.1 (ns) specified here
which will be subtracted from the 0.5ns and equals 0.4ns as the latest
But this lighter bound is only available when the setup margin range
"slk_fix_max_trans_actual_trans_lighter_bound_setup_range" is qualified.
slk_fix_max_trans_actual_trans_lighter_bound 895
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_max_trans_by_actual_trans 0.5
...
# max trans violation with actual trans larger than 0.5 ns will be fixed.
# max trans violation with actual trans larger than 0.4 ~ 0.5 ns but with
See also
slk_fix_max_trans_by_actual_trans
slk_fix_max_trans_actual_trans_lighter_bound_setup_range
slk_fix_max_trans_actual_trans_lighter_bound 896
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_actual_trans_lighter_bound_setup_range
# Tweaker variable to filter the unwanted max trans violation using the actual
Type
Float
Default
empty
Description
This variable only works when the var "slk_fix_max_trans_by_actual_trans"
When above one is assigned with a value like 0.5 (ns), then user may have
another tolerance, for example 0.1 (ns) specified here which will be
subtracted from the 0.5ns and equals 0.4ns as the latest actual trans bound.
But this lighter bound is only available when the setup margin range
"slk_fix_max_trans_actual_trans_lighter_bound_setup_range" is qualified.
slk_fix_max_trans_actual_trans_lighter_bound_setup_range 897
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_max_trans_by_actual_trans 0.5
...
# max trans violation with actual trans larger than 0.5 ns will be fixed.
# max trans violation with actual trans larger than 0.4 ~ 0.5 ns but with
See also
slk_fix_max_trans_by_actual_trans
slk_fix_max_trans_actual_trans_lighter_bound
slk_fix_max_trans_actual_trans_lighter_bound_setup_range 898
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_actual_trans
# Tweaker variable to filter the unwanted max trans violation using the actual than as the index.
Type
String
Default
empty
Description
When this variable is assigned a value like 0.5 (ns), then the max trans
violation with its actual trans larger than the one specified here will get
kept and fixed to its required value. Others will be kept untouched during
the optimization.
Example
set slk_fix_max_trans_by_actual_trans 0.5
...
slk_fix_max_trans_by_actual_trans 899
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_trans_actual_trans_lighter_bound
slk_fix_max_trans_actual_trans_lighter_bound_setup_range
slk_fix_max_trans_by_actual_trans 900
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_repeater_insertion
# Adopts HFS insertion algorithm for fixing max transition violations.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker will utilize the repeater buffer
By default, Tweaker will use 'HFS v2" algorithm to apply the repeater
insertion.
"slk_repeater_insertion_buff_list" variable.
Example
set slk_fix_max_trans_by_repeater_insertion true
slk_fix_max_trans_by_repeater_insertion 901
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_max_trans_by_sizing
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_transition/
fix_max_transition_setting.hfs.tcl
slk_fix_max_trans_by_repeater_insertion 902
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_repeater_insertion_with_cell_stealing
# Allows Tweaker to utilize the repeater insertion with cell stealing strategy for max transition autofix.
Type
Boolean
Default
false
Description
For fixing max transition violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_trans_by_sizing_with_cell_stealing false
slk_fix_max_trans_by_repeater_insertion_with_cell_stealing 903
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_max_trans_by_repeater_insertion_with_cell_stealing 904
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_sizing
# Adopts the sizing algorithm for max transition autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_max_trans_by_sizing true
...
slk_fix_max_trans_by_sizing 905
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_trans_by_repeater_insertion
slk_fix_max_trans_hfs_v2
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_transition/
fix_max_transition_setting.sz.tcl
slk_fix_max_trans_by_sizing 906
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for max transition autofix.
Type
Boolean
Default
false
Description
For fixing max transition violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_max_trans_by_repeater_insertion_with_cell_stealing false
slk_fix_max_trans_by_sizing_with_cell_stealing 907
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_max_trans_by_sizing_with_cell_stealing 908
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_split_cell
# Adopts the split cell algorithm for max transition autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_max_trans_by_split_cell true
...
slk_fix_max_trans_by_split_cell 909
Tweaker™ Variables Version T-2022.03
See also
slk_fix_max_trans_by_repeater_insertion (var)
slk_fix_max_trans_by_sizing (var)
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_transition/
fix_max_transition_setting.*.tcl
slk_fix_max_trans_by_split_cell 910
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_fit_to_lib
# Tweaker variable to enable or disable the max trans fixing with required value equals the worst constraint from lib.
Type
Boolean
Default
false
Description
By default when max trans report are fed to Tweaker, the required value in
user can enable this variable to let Tweaker hack the required value by
Please be noticed that when this feature is enabled the max trans slack may
change accordingly because the required value is updated and synced with
.lib already.
Example
slk_fix_max_trans_fit_to_lib 911
Tweaker™ Variables Version T-2022.03
...
See also
set_drv_report_required_factor (cmd)
set_drv_report_required_value (cmd)
slk_fix_max_cap_fit_to_lib
slk_fix_max_trans_fit_to_lib 912
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_out_of_lib_only
# Tweaker variable to filter the unwanted max trans if its actual trans is less than the worst constraint in .lib.
Type
Boolean
Default
false
Description
When this variable is set true, only the max trans violation with its actual
trans larger than the worst constraint from .lib will be fixed. Other will
Example
set slk_fix_max_trans_out_of_lib_only true
...
See also
slk_fix_max_trans_out_of_lib_only 913
Tweaker™ Variables Version T-2022.03
N/A
slk_fix_max_trans_out_of_lib_only 914
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_without_dc
# Enables or disables the simple repeater insertion.
Type
Boolean
Default
false
Description
For fixing transition, the activation of this variable will allow Tweaker
algorithm. This algorithm will not predict any delay/slack variation and
each buffer inserted will directly follow the distance rule specified in
Example
set slk_fix_max_trans_without_dc true
set slk_fix_max_trans_by_repeater_insertion
slk_fix_max_trans_without_dc 915
Tweaker™ Variables Version T-2022.03
...
See also
slk_preferred_repeater_distance
slk_fix_max_trans_without_dc 916
Tweaker™ Variables Version T-2022.03
slk_fix_min_pulse_width_by_sizing
# Adopts the sizing algorithm for fixing minimum pulse width violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
Example
set slk_fix_min_pulse_width_by_sizing true
...
slk_fix_min_pulse_width_by_sizing 917
Tweaker™ Variables Version T-2022.03
See also
slk_min_pulse_width_target_slk (var)
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_min_pulse_width/
fix_min_pulse_width_setting.sz.tcl
slk_fix_min_pulse_width_by_sizing 918
Tweaker™ Variables Version T-2022.03
slk_fix_noise_by_repeater_insertion
# Adopts the repeater insertion algorithm for fixing SI glitch violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
"slk_repeater_insertion_buff_list".
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_noise_by_sizing false
slk_fix_noise_by_repeater_insertion 919
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_noise_by_sizing
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_glitch/fix_si_
glitch_setting.hfs.tcl
slk_fix_noise_by_repeater_insertion 920
Tweaker™ Variables Version T-2022.03
slk_fix_noise_by_repeater_insertion_with_cell_stealing
# Allows Tweaker to utilize the repeater insertion with cell stealing strategy for noise autofix.
Type
Boolean
Default
false
Description
For fixing noise violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_noise_by_sizing_with_cell_stealing false
slk_fix_noise_by_repeater_insertion_with_cell_stealing 921
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_noise_by_repeater_insertion_with_cell_stealing 922
Tweaker™ Variables Version T-2022.03
slk_fix_noise_by_sizing
# Adopts the sizing algorithm for fixing SI glitch violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_noise_by_sizing true
...
slk_fix_noise_by_sizing 923
Tweaker™ Variables Version T-2022.03
See also
slk_fix_noise_by_repeater_insertion
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_glitch/fix_si
_glitch_setting.sz.tcl
slk_fix_noise_by_sizing 924
Tweaker™ Variables Version T-2022.03
slk_fix_noise_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for noise autofix.
Type
Boolean
Default
false
Description
For fixing noise violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_noise_by_repeater_insertion_with_cell_stealing false
slk_fix_noise_by_sizing_with_cell_stealing 925
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_noise_by_sizing_with_cell_stealing 926
Tweaker™ Variables Version T-2022.03
slk_fix_noise_by_split_cell
# Enable or disable the split-cell ECO function during noise autofix
Type
Boolean
Default
false
Description
When this variable is set to true, Tweaker will enable the split-cell
Example
set slk_extract_sisdf_by_report true
See also
slk_fix_noise_by_repeater_insertion
slk_fix_noise_by_sizing
slk_fix_noise_by_split_cell 927
Tweaker™ Variables Version T-2022.03
slk_fix_noise_cap_improved_rate
# Specifies the output capacitance improvement rate target while fixing SI noise
violations.
Type
Float
Default
0.3
Description
By default, during the noise autofix, Tweaker will take either one from
1. slk_fix_noise_cap_improved_rate,
2. slk_fix_noise_trans_improve_rate, or
3. slk_fix_noise_wire_length_change_rate.
violations.
This variable specifies the required improvement percentage rate over the
slk_fix_noise_cap_improved_rate 928
Tweaker™ Variables Version T-2022.03
0.5 pf while the value of variable is 0.1, then the target output
Example
set slk_fix_noise_by_sizing true
...
See also
slk_fix_noise_trans_improve_rate
slk_fix_noise_wire_length_change_rate
slk_fix_noise_by_sizing
slk_fix_noise_by_repeater_insertion
slk_fix_noise_by_split_cell
slk_fix_noise_cap_improved_rate 929
Tweaker™ Variables Version T-2022.03
slk_fix_noise_trans_improved_rate
# Specifies the transition improvement rate target while fixing SI noise
violations.
Type
Float
Default
0.3
Description
By default, during the noise autofix, Tweaker will take either one from
1. slk_fix_noise_cap_improved_rate,
2. slk_fix_noise_trans_improve_rate, or
3. slk_fix_noise_wire_length_change_rate.
violations.
This variable specifies the required improvement percentage rate over the
slk_fix_noise_trans_improved_rate 930
Tweaker™ Variables Version T-2022.03
2.0 ns while the value of variable is 0.1, then the target output transition
Example
set slk_fix_noise_by_sizing true
...
See also
slk_fix_noise_cap_improve_rate
slk_fix_noise_wire_length_change_rate
slk_fix_noise_by_sizing
slk_fix_noise_by_repeater_insertion
slk_fix_noise_by_split_cell
slk_fix_noise_trans_improved_rate 931
Tweaker™ Variables Version T-2022.03
slk_fix_noise_wire_length_change_rate
# Specifies the wire length change-ratio on the ECO net to be considered passing
Type
Float
Default
empty
Description
By default, during the noise autofix, Tweaker will take either one from
1. slk_fix_noise_cap_improved_rate,
2. slk_fix_noise_trans_improve_rate, or
3. slk_fix_noise_wire_length_change_rate.
When this variable is specified, Tweaker will consider the ECO routing
For example, if the original global route of the SI net is 100um, while the
value of this variable is set to 0.1, then the SI violation net will be
slk_fix_noise_wire_length_change_rate 932
Tweaker™ Variables Version T-2022.03
than 110um.
The objective behind this variable is to create new ECO net with different
net length with the expectation that APR tool will do the ECO route to avoid
Example
set slk_fix_noise_by_sizing true
...
See also
slk_fix_noise_cap_improve_rate
slk_fix_noise_trans_improve_rate
slk_fix_noise_by_sizing
slk_fix_noise_by_repeater_insertion
slk_fix_noise_by_split_cell
slk_fix_noise_wire_length_change_rate 933
Tweaker™ Variables Version T-2022.03
slk_fix_path_watch_timing_window_only
# Tweaker variable to decide the build timing graph will based on twf only or by
Type
Boolean
Default
false
Description
By default when fixing starts Tweaker will build the target timing graph
If this variable is enabled then Tweaker will only using target's twf info
Example
set slk_fix_path_watch_timing_window_only true
...
slk_fix_path_watch_timing_window_only 934
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_fix_path_watch_timing_window_only 935
Tweaker™ Variables Version T-2022.03
slk_fix_setup_better_slew_only
# Forces Tweaker to avoid sizing down during the setup autofix.
Type
Boolean
Default
false
Description
This was the obsolete variable to force Tweaker to avoid sizing down and
allow the sizing operation through the candidates to be applied only when
Example
set slk_fix_setup_by_sizing true
slk_fix_setup_better_slew_only 936
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_without_sizing_down
slk_fix_setup_better_slew_only 937
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_bypass_buffer
# Adopts the bypass buffer algorithm for fixing setup violations.
Type
Boolean
Default
false
Description
In the setup violation paths, there are many redundant buffers that can be
remove those dummy buffers (single fanout) or by-pass those dummy buffers
Since the skipping process of the buffers will increase the loading of the
Example
set slk_fix_setup_by_bypass_buffer true
slk_fix_setup_by_bypass_buffer 938
Tweaker™ Variables Version T-2022.03
...
set_drv_factor 0.6
set slk_rce_long_wire_length 60
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.bypass.tcl
slk_fix_setup_by_bypass_buffer 939
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_bypass_inverter_pair
# Adopts the bypass inverter pairs algorithm for fixing setup violations.
Type
Boolean
Default
false
Description
In the setup violation paths, there are many redundant buffers/inverter-
Tweaker will be able to remove those dummy inverter pairs (single fanout) or
timing.
Since the skipping process of the inverter-pairs will increase the loading
of the pre-stage drivers, users may need to constraint the trans/cap more
Example
slk_fix_setup_by_bypass_inverter_pair 940
Tweaker™ Variables Version T-2022.03
...
set_drv_factor 0.6
set slk_rce_long_wire_length 60
See also
slk_fix_setup_by_bypass_buffer
slk_fix_setup_by_bypass_inverter_pair 941
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_down_sizing_peer
# Enables or disables Tweaker to fix setup by down sizing peer.
Type
Boolean
Default
true
Description
During setup autofix, by setting this variable to true, Tweaker will down-
size the peer-side (where the sink pins are not grouped together) to reduce
Example
set slk_fix_setup_by_down_sizing_peer true
...
See also
slk_fix_setup_by_down_sizing_peer 942
Tweaker™ Variables Version T-2022.03
N/A
slk_fix_setup_by_down_sizing_peer 943
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_down_sizing_peer_with_cell_stealing
# Enable/Disable setup fixing by down sizing peer with cell stealing.
Type
Boolean
Default
false
Description
Tweaker down-sizes peer (other fanout cells from the same driver) to reduce
the output load of the driver while fixing setup violations by cell stealing
Example
tweaker_shell> set metal_eco_mode true
slk_fix_setup_by_down_sizing_peer_with_cell_stealing 944
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] metal_eco_mode
[ VAR ] slk_auto_sizing_rule
[ CMD ] slkfix
slk_fix_setup_by_down_sizing_peer_with_cell_stealing 945
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_fast_sizing
# Adopts the "fast" sizing algorithm during the setup violations fixing by using
TWF.
Type
Boolean
Default
false
Description
By default, if the users adopts the sizing algorithm during the setup
will modify the ECO cells one by one. In order to decrease the run time,
Tweaker offers the ability to adopts the "fast" sizing algorithm which have
similar concept with Power ECO. This function can be activated by setting
this variable to true while performing setup violation fixing by using TWF
This fast sizing feature works only for setup fixing by using TWF
"slk_cell_extended_mapping_rule" or "slk_cell_extended_mapping_rule_regexp"
slk_fix_setup_by_fast_sizing 946
Tweaker™ Variables Version T-2022.03
Example
slkfix -create_twf_setup_domain
...
...
See also
slk_cell_extended_mapping_rule
slk_cell_extended_mapping_rule_regexp
slk_fix_setup_by_fast_sizing 947
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_hack_sdf
# Adopts the Hack SDF as fixing algorithm during setup autofix.
Type
Boolean
Default
false
Description
For early simulation purpose, Tweaker provides the "Hack SDF" operation
the Hack SDF operation based on the TWF file which is used by Tweaker
then use "slkfix -twf_hack_sdf" to get both setup/hold hacked in the same
Tweaker run.
Besides "TWF domain"-based Hack SDF, Tweaker can also accept the Hack SDF
users can still use "slkfix -setup -all" command to hack those input setup
violation reports.
slk_fix_setup_by_hack_sdf 948
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_hack_sdf true
...
See also
slk_fix_hold_by_hack_sdf
$Tweaker_Install_DIR/etc/template/tweaker_t1/hacksdf/fix_setup/fix_setup_
setting.hacksdf.tcl
slk_fix_setup_by_hack_sdf 949
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_hfs
# Tweaker variable to enable or disable the fix setup by hfs insertion.
Type
Boolean
Default
true
Description
This var works when the var "slk_fix_setup_by_repeater_insertion" is set
true. Repeater insertion for setup has 4 strategies, fix by regular repeater
insertion, fix by split load, fix by sink pin and the final one fix by hfs.
By default when the first three strategies are enabled and fail to improve
the path slack then Tweaker will try the fix setup by HFS algorithm to
Example
set slk_fix_setup_by_repeater_insertion true
slk_fix_setup_by_hfs 950
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_by_repeater_insertion
slk_fix_setup_by_split_load
slk_fix_setup_by_improve_sink_slew
slk_fix_setup_by_hfs 951
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_improve_sink_slew
# Enables or disables the repeater insertion by abutting to the sink pin during
setup autofix.
Type
Boolean
Default
false
Description
During setup autofix by repeater insertion, Tweaker has 4 methodologies:
By default, when this variable is set to false, Tweaker will not try to
insert abut to the sink pin. Instead, Tweaker will try to perform the other
insertion methodology(s).
When this variable is set to true, Tweaker will try to insert abut to the
sink pin and compare the insertion result with other insertion
slk_fix_setup_by_improve_sink_slew 952
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
slk_fix_setup_by_repeater_insertion
slk_fix_setup_by_split_load
slk_fix_setup_by_hfs
slk_fix_setup_by_improve_sink_slew 953
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_pinswap
# Adopts the pin swapping algorithm for fixing setup violations.
Type
Boolean
Default
false
Description
When setting this variable to true, Tweaker will swap cell's input pins
while keeping the instance location unchanged when fixing setup time.
For example, for a 2-input AND gate A1->Z timing arc worse than A2->Z timing
arc, it also has a setup violation through A1->Z. If users use this
algorithm, Tweaker will swap both of the input connections to optimize their
slack.
Example
slk_fix_setup_by_pinswap 954
Tweaker™ Variables Version T-2022.03
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.pinswap.tcl
slk_fix_setup_by_pinswap 955
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_repeater_insertion
# Tweaker variable to enable repeater insertion for autofix setup.
Type
Boolean
Default
false
Description
By setting this variable true it enables "repeater insertion" for autofix setup.
It is recommended to use this algorithm after normal sizing and Tweaker will
grouped on a net to reduce the driver's net loading and improve the critical
pin's timing.
slk_fix_setup_by_repeater_insertion 956
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
slk_repeater_insertion_buff_list
slk_fix_setup_by_split_load
slk_fix_setup_repeater_insertion_factor
slk_fix_setup_splitload_margin
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.split.tcl
slk_fix_setup_by_repeater_insertion 957
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_repeater_insertion_force_fixing_threshold
# Tweaker variable that acts as the percentage threshold that will force Tweaker to do insertion on every net segment of those path between the
Type
Float
Default
empty
Description
This variable is only valid when setup autofix by repeater insertion feature
is enabled.
the average values of all cell delay and net transition values from the
built ECO domain. Later during the insertion autofix, Tweaker will compare
the cell delay of every driver and net transition in the violation paths
larger than the calculated average values, Tweaker will take this cell
as the critical point, hence Tweaker will try to insert on this net.
slk_fix_setup_by_repeater_insertion_force_fixing_threshold 958
Tweaker™ Variables Version T-2022.03
On the contrary, if both the driver cell delay and net transition value
are smaller than the corresponding average value, Tweaker will not even try
When this variable is set with a value, Tweaker will take this value as
a percentage value, and calculates a threshold value with the current WNS.
Later on Tweaker will take all of the violation paths whose slack values
are between the WNS and newly calculated upper bound (threshold)
and try to fix (insert on) every net of them without comparing its
net transition value and its driver's cell delay with the calculated
average values.
Example:
Assume that the WNS of this design is -1 ns, and user is assigning 0.2
Hence, Tweaker will try to fix (insert on) all of the net segments for all
The calculated average delay value and transition value can be controlled by
"slk_fix_setup_repeater_insertion_factor" variable.
Example
slk_fix_setup_by_repeater_insertion_force_fixing_threshold 959
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_by_repeater_insertion
slk_fix_setup_repeater_insertion_factor
slk_fix_setup_by_repeater_insertion_force_fixing_threshold 960
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_repeater_insertion_with_cell_stealing
# Allows Tweaker to utilize the repeater insertion with cell stealing strategy for setup autofix.
Type
Boolean
Default
false
Description
For fixing setup violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_setup_by_sizing_with_cell_stealing false
slk_fix_setup_by_repeater_insertion_with_cell_stealing 961
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_setup_by_repeater_insertion_with_cell_stealing 962
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_sizing
# Adopts the sizing algorithm for fixing setup violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true.
Example
set slk_fix_setup_by_sizing true
...
slk_fix_setup_by_sizing 963
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.*.tcl
slk_fix_setup_by_sizing 964
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for setup autofix.
Type
Boolean
Default
false
Description
For fixing setup violations, the activation of this variable will
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_setup_by_repeater_insertion_with_cell_stealing false
slk_fix_setup_by_sizing_with_cell_stealing 965
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_setup_by_sizing_with_cell_stealing 966
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_split_cell
# Allows Tweaker to utilize the split cell strategy for setup autofix.
Type
Boolean
Default
false
Description
By setting this variable to true Tweaker will adopt the "split cell"
"slk_fix_setup_split_cell_max_pin_count" variable.
Example
set slk_fix_setup_by_split_cell true
See also
slk_fix_setup_split_cell_max_pin_count
slk_fix_setup_by_split_cell 967
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_split_cell 968
Tweaker™ Variables Version T-2022.03
slk_fix_setup_by_split_load
# Allows Tweaker to utilize the split load strategy at repeater insertion for setup autofix.
Type
Boolean
Default
false
Description
By setting this variable to true Tweaker will adopt the "split load"
is set to true.
The way Tweaker fixes setup violation by using "split load" can be described
in three steps:
slk_fix_setup_by_split_load 969
Tweaker™ Variables Version T-2022.03
the driver net loading and improve its critical pin's timing.
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
slk_fix_setup_by_repeater_insertion
slk_fix_setup_repeater_insertion_factor
slk_setup_splitload_margin
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.split.tcl
slk_fix_setup_by_split_load 970
Tweaker™ Variables Version T-2022.03
slk_fix_setup_down_sizing_peer_allow_up_sizing
# Enable/Disable up sizing peer while down sizing peer
Type
Boolean
Default
false
Description
In some cases sizing up peer help improve the setup timing. By setting this
variable to true, Tweaker allowed to size up peer while using down sizing
"slk_fix_setup_by_down_sizing_peer" to true.
Example
tweaker_shell> set slk_fix_setup_by_down_sizing_peer true
slk_fix_setup_down_sizing_peer_allow_up_sizing 971
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_fix_setup_by_down_sizing_peer
[ VAR ] slk_fix_setup_down_sizing_peer_allow_up_sizing
[ VAR ] slk_auto_sizing_rule
[ CMD ] slkfix
slk_fix_setup_down_sizing_peer_allow_up_sizing 972
Tweaker™ Variables Version T-2022.03
slk_fix_setup_insert_repeater_at_macro_only
# Enables or disables the limitation of repeater insertion to be done at macro
Type
Boolean
Default
false
Description
This variable works only when repeater insertion method is selected as setup
autofix algorithm.
By setting this variable to its default value of false, Tweaker will filter
out the potential bad transition candidates among the std cells, replace
them with repeater buffers or split load, and use them when insertion is
taken place.
When user set this variable to true, Tweaker will insert the repeaters to
slk_fix_setup_insert_repeater_at_macro_only 973
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
slk_fix_setup_by_repeater_insertion
slk_fix_setup_insert_repeater_at_macro_only 974
Tweaker™ Variables Version T-2022.03
slk_fix_setup_max_trans_drv
# Specifies the absolute maximum transition value to be honored during setup autofix.
Type
Float
Default
empty
Description
By setting this variable to its default value of an empty value, Tweaker
will monitor the transition value and compare it with the value which is
If this variable is specified, Tweaker will also take this absolute value
setup autofix.
Example
set slk_fix_setup_by_repeater_insertion true
slk_fix_setup_max_trans_drv 975
Tweaker™ Variables Version T-2022.03
set_drv_factor 0.8
...
See also
slk_fix_hold_max_trans_drv
slk_power_eco_max_trans_drv
slk_fix_setup_max_trans_drv 976
Tweaker™ Variables Version T-2022.03
slk_fix_setup_min_improved_slack_of_repeater_insertion
# Specifies the minimum improved slack for a setup path to be inserted with repeaters.
Type
Float
Default
0.01
Description
When fixing setup time by using repeater insertion (or split load) method,
Tweaker will monitor the slack improvement of every violated setup path.
If the slack improvement of the path which is currently fixed is less than
the value defined in this variable, Tweaker will give up the insertion step
to this path and continue to fix and monitor the remaining violated paths.
Example
set slk_fix_setup_by_repeater_insertion true
slk_fix_setup_min_improved_slack_of_repeater_insertion 977
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_trans_min_improved_slack_of_repeater_insertion
slk_fix_setup_min_improved_slack_of_repeater_insertion 978
Tweaker™ Variables Version T-2022.03
slk_fix_setup_min_improved_slack_of_split_cell
# Specifies the minimum improved slack requirement for each auto-split cell
Type
Float
Default
0.01
Description
This variable only works when "slk_fix_setup_by_split_cell" variable is set
to true.
This variable specifies the minimum improved slack value for each auto
slk_fix_setup_min_improved_slack_of_split_cell 979
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_split_cell true
...
See also
slk_fix_setup_by_split_cell
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.*.tcl
slk_fix_setup_min_improved_slack_of_split_cell 980
Tweaker™ Variables Version T-2022.03
slk_fix_setup_minimize_worst_slack
# Enables or disables the strategy of minimizing local WNS during the sizing
Type
Boolean
Default
false
Description
During any ECO operation, Tweaker (by default) will honor the value
impact can be tolerated on the target instance's peer side. This behavior
is important due to some ECO operation may generate some setup impacts
will perform any ECO operation as long as it will improve the local WNS even
slk_fix_setup_minimize_worst_slack 981
Tweaker™ Variables Version T-2022.03
though it may cause any setup impact or even generate a new setup violation
endpoint.
Users are recommended to set this variable to true during sizing method for
setup autofix.
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_by_sizing
slk_auto_sizing_setup_twf_impact
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup.
tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.sz.*.tcl
slk_fix_setup_minimize_worst_slack 982
Tweaker™ Variables Version T-2022.03
slk_fix_setup_repeater_insertion_factor
# Controls the scaling factor in deriving the candidate nets of repeater insertion during autofix operation.
Type
Float
Default
0.2
Description
This variable is only valid when setup autofix by repeater insertion
feature is enabled.
By default, Tweaker will calculate the average values of all cell delay
Later during the insertion autofix, Tweaker will compare the cell delay
of every driver and net transition in the violation paths with this
If either a driver's cell delay or its driven net's transition value are
larger than the calculated average values, Tweaker will take this cell
as the critical point, hence Tweaker will try to insert on this net.
On the contrary, if both the driver cell delay and net transition value
slk_fix_setup_repeater_insertion_factor 983
Tweaker™ Variables Version T-2022.03
is smaller than the corresponding average value, Tweaker will not even try
This variable will acts as the factor that will affect the calculated
average value.
When users set a larger value to this variable, more net candidate will be
listed as the insertion candidate. On the contrary, when user sets a smaller
value to this variable, Tweaker may see less net as its insertion candidate.
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
slk_repeater_insertion_buff_list
slk_fix_setup_by_split_load
slk_fix_setup_repeater_insertion_factor
slk_fix_setup_repeater_insertion_factor 984
Tweaker™ Variables Version T-2022.03
slk_fix_setup_splitload_margin
slk_fix_setup_by_repeater_insertion_force_fixing_threshold
slk_fix_setup_repeater_insertion_factor 985
Tweaker™ Variables Version T-2022.03
slk_fix_setup_split_cell_max_pin_count
# Specify the maximum number of sink pin that can be grouped together during split cell operation
Type
Integer
Default
5
Description
By setting a number into this variable, users are able to specify the
below variable:
Example
set slk_fix_setup_split_cell_max_pin_count 10
slk_fix_setup_split_cell_max_pin_count 986
Tweaker™ Variables Version T-2022.03
See also
slk_fix_setup_by_split_cell
slk_fix_setup_split_cell_max_pin_count 987
Tweaker™ Variables Version T-2022.03
slk_fix_setup_use_inverter
# Allows Tweaker to use inverter pair for repeater insertion operation during
setup autofix.
Type
Boolean
Default
false
Description
If "slk_fix_setup_by_repeater_insertion" and "slk_fix_setup_by_split_load"
variable are set to true, Tweaker will allow the repeater insertion
operation during the setup autofix. Under this scenario, user can set this
variable to true to allow Tweaker to use inverter pair for setup autofix.
"slk_repeater_insertion_inverter_list" variable.
Example
set slk_fix_setup_by_repeater_insertion true
slk_fix_setup_use_inverter 988
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_by_repeater_insertion
slk_repeater_insertion_inverter_list
slk_fix_setup_use_inverter 989
Tweaker™ Variables Version T-2022.03
slk_fix_setup_watch_hold_timing_window
# Enables or disable Tweaker to watch the hold time in Timing Windows File (TWF)
Type
Boolean
Default
false
Description
By setting this variable to true, it enables Tweaker to observe
for any hold time variation during setup autofix. The setting of this
For the early ECO cycle stage, user are recommended to set this variable to
false. This setting will allow Tweaker to fix as much setup time as
possible.
In the contrary, for the late stage of ECO cycle, users are recommended to
set this variable to true to allow Tweaker to observe the hold time
variation during the setup autofix and prevent any new generated hold
violation.
slk_fix_setup_watch_hold_timing_window 990
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_sizing true
...
See also
slk_fix_setup_watch_setup_timing_window
slk_fix_setup_watch_hold_timing_window 991
Tweaker™ Variables Version T-2022.03
slk_fix_setup_watch_setup_timing_window
# Enables or disable Tweaker to watch the setup time in Timing Windows File
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will observe
for any setup time variation for peer side/sub side inside the TWF during
setup autofix. Since sizing up the cell for fixing its setup violation may
impact its peer, users are recommended to set this variable to true to allow
Tweaker to consider and prevent any setup impact possibility during the
autofix operation.
Example
set slk_fix_setup_by_sizing true
slk_fix_setup_watch_setup_timing_window 992
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_watch_hold_timing_window
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.*.tcl
slk_fix_setup_watch_setup_timing_window 993
Tweaker™ Variables Version T-2022.03
slk_fix_setup_without_sizing_down
# Disables the ability to size down the cells during setup autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will not
sizing down any cell during setup autofix. However in some special cases
where sizing down may actually help the hold time violation and users
can command Tweaker allow any sizing down operation by setting this variable
to false.
Example
set slk_fix_setup_by_sizing true
...
slk_fix_setup_without_sizing_down 994
Tweaker™ Variables Version T-2022.03
See also
slk_fix_hold_without_sizing_up
slk_fix_setup_without_sizing_down 995
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_by_repeater_insertion
# Adopts the HFS algorithm for fixing si double switching violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true
"slk_repeater_insertion_buff_list" variable.
Example
set slk_fix_si_double_switching_by_repeater_insertion true
...
slk_fix_si_double_switching_by_repeater_insertion 996
Tweaker™ Variables Version T-2022.03
See also
slk_fix_si_double_switching_by_sizing
slk_repeater_insertion_buff_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_double_
switching/fix_si_double_switching_setting.hfs.tcl
slk_fix_si_double_switching_by_repeater_insertion 997
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_by_repeater_insertion_with_cell_steali
# Allows Tweaker to utilize the repeater insertion with cell stealing strategy
Type
Boolean
Default
false
Description
For fixing si double switching violations, the activation of this variable
will allow Tweaker to use repeater insertion with cell stealing algorithm.
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_si_double_switching_by_sizing_with_cell_stealing false
slk_fix_si_double_switching_by_repeater_insertion_with_cell_stealing 998
Tweaker™ Variables Version T-2022.03
set slk_fix_si_double_switching_by_repeater_insertion_with_cell_stealing \
true
...
...
See also
slk_give_up_insert_buf_distance
slk_fix_si_double_switching_by_repeater_insertion_with_cell_stealing 999
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_by_sizing
# Adopts the sizing algorithm for fixing si double switching violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true
Example
set slk_fix_si_double_switching_by_sizing true
...
slk_fix_si_double_switching_by_sizing 1000
Tweaker™ Variables Version T-2022.03
See also
slk_fix_si_double_switching_by_repeater_insertion
slk_fix_si_double_switching_hfs_v2
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_double_
switching/fix_si_double_switching_setting.sz.tcl
slk_fix_si_double_switching_by_sizing 1001
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_by_sizing_with_cell_stealing
# Allows Tweaker to utilize the sizing with cell stealing strategy for si double
switching autofix.
Type
Boolean
Default
false
Description
For fixing si double switching violations, the activation of this variable
User need to enable Metal ECO mode(set metal_eco_mode true) and set the
Example
set slk_fix_si_double_switching_by_repeater_insertion_with_cell_stealing \
false
slk_fix_si_double_switching_by_sizing_with_cell_stealing 1002
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_auto_sizing_max_shift_distance
slk_fix_si_double_switching_by_sizing_with_cell_stealing 1003
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_by_split_cell
# Adopts the split cell algorithm for fixing si double switching violations.
Type
Boolean
Default
false
Description
By setting this variable to its default value of true, Tweaker will adopt
To switch to other algorithms, this variable must be set to false and user
can utilize the others algorithm by setting their enable variable to true
Example
set slk_fix_si_double_switching_by_split_cell true
...
slk_fix_si_double_switching_by_split_cell 1004
Tweaker™ Variables Version T-2022.03
See also
slk_fix_si_double_switching_by_repeater_insertion (var)
slk_fix_si_double_switching_by_sizing (var)
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_double_switching/fix_si_double_
switching_setting.*.tcl
slk_fix_si_double_switching_by_split_cell 1005
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_cap_improved_rate
# Specifies the capacitance improvement rate target while fixing si double
switching violations.
Type
Floating
Default
0.3
Description
Tweaker fixes the si double switching violations by improving the output
2.0 (ns) while the value of variable is 0.1, then the target output
Example
slk_fix_si_double_switching_cap_improved_rate 1006
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_si_double_switching_by_sizing
slk_fix_si_double_switching_by_repeater_insertion
slk_fix_si_double_switching_by_split_cell
slk_fix_si_double_switching_trans_improved_rate
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_double_
switching/fix_si_double_switching_setting.*.tcl
slk_fix_si_double_switching_cap_improved_rate 1007
Tweaker™ Variables Version T-2022.03
slk_fix_si_double_switching_trans_improved_rate
# Specifies the transition improvement rate target while fixing si double
switching violations.
Type
Floating
Default
0.3
Description
Tweaker fixes the si double switching violations by improving the output
2.0 (ns) while the value of variable is 0.1, then the target output
Example
slk_fix_si_double_switching_trans_improved_rate 1008
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_si_double_switching_by_sizing
slk_fix_si_double_switching_by_repeater_insertion
slk_fix_si_double_switching_by_split_cell
slk_fix_si_double_switching_cap_improved_rate
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_si_double_
switching/fix_si_double_switching_setting.*.tcl
slk_fix_si_double_switching_trans_improved_rate 1009
Tweaker™ Variables Version T-2022.03
slk_fix_si_first
# Enables or disables Tweaker to fix SI delay components as its first fix
operation.
Type
Boolean
Default
false
Description
By setting this variable to true, it will initiate a pre-processing stage
that allow Tweaker to fix the nets with SI delay components first. The
autofix (slkfix) resumes the fixing process on the other non-SI delay
This feature can be applied at setup and hold violations fixing by sizing
(VT swapping) and insertion method. This feature does not have any effect
When this feature is applied before any setup violation fixing by sizing
according to the given cell mapping rule. The other cells on the "non-SI
slk_fix_si_first 1010
Tweaker™ Variables Version T-2022.03
(load splitting) method, the SI nets will be inserted according to the given
repeater insertion buffer list. The other cells on the "non-SI violation
according to the "reversed" of the given cell mapping rule. The other cells
on the "non-SI violation paths" will be fixed if the there is any existed
violations.
(delay insertion) method, the SI nets are inserted based on the load
splitting strategy with the given repeater insertion buffer list. The other
cells on the "non-SI violation paths" will be fixed if the there is any
existed violations.
Example
set slk_fix_setup_by_sizing true
slk_fix_si_first 1011
Tweaker™ Variables Version T-2022.03
See also
slk_fix_si_only
slk_fix_si_first 1012
Tweaker™ Variables Version T-2022.03
slk_fix_si_only
# Enables or disables Tweaker to fix SI delay components only.
Type
Boolean
Default
false
Description
By setting this variable to true, it will initiate a pre-processing stage
that allow Tweaker to fix nets which contain SI delay components only. The
stage.
This feature can be applied at setup and hold violations fixing by sizing
, VT-swap, and insertion method. This feature does not have any effect on
When this feature is applied before any setup violation fixing by sizing
according to the given cell mapping rule. The other cells on the violation
slk_fix_si_only 1013
Tweaker™ Variables Version T-2022.03
(load splitting) method, the SI nets will be inserted according to the given
repeater insertion buffer list. The other cells on the violation paths will
according to the "reversed" of the given cell mapping rule. The other cells
on the violation paths will not be fixed even if violations are still
existed.
(delay insertion) method, the SI nets are inserted based on the load
splitting strategy with the given repeater insertion buffer list. The other
cells on the violation paths will not be fixed even if violations are still
existed.
Example
set slk_fix_setup_by_sizing true
slk_fix_si_only 1014
Tweaker™ Variables Version T-2022.03
See also
slk_fix_si_first
slk_fix_si_only 1015
Tweaker™ Variables Version T-2022.03
slk_fix_switching_power_by_moving
# Do switching power optimization by cell movement.
Type
Boolean
Default
false
Description
For dynamic Power optimization, we can use this variable to do cell
movement. Cell movement can reduce wire cap, which can reduce switching
power.
Example
set slk_fix_switching_power_by_sizing true
...
slkfix -dynamic_power_eco
See also
slk_fix_switching_power_by_moving 1016
Tweaker™ Variables Version T-2022.03
N/A
slk_fix_switching_power_by_moving 1017
Tweaker™ Variables Version T-2022.03
slk_fix_switching_power_by_sizing
# Enables or disables Tweaker to adopt sizing algorithms for reducing switching
power.
Type
Boolean
Default
false
Description
For Dynamic Power ECO, user can enable this variable to fix switching power
do down-sizing by default.
Example
set slk_fix_internal_power_by_sizing false
slk_fix_switching_power_by_sizing 1018
Tweaker™ Variables Version T-2022.03
...
slkfix -dynamic_power_eco
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/dynamic_power/fix_internal_
power_eco_setting.2.tcl
slk_fix_internal_power_by_sizing (var)
slk_fix_dynamic_power_without_sizing_up (var)
slk_fix_switching_power_by_sizing 1019
Tweaker™ Variables Version T-2022.03
slk_fix_switching_power_larger_than
# Dynamic power ECO fixing switching power only fixes larger than this switching power value.
Type
Floating
Default
0.0
Description
By default is 0.0, Tweaker is able to do as much ECOs as possible.
For Dynamic Power ECO fixing Switching Power, user can use this variable
Example
set slk_fix_switching_power_larger_than 5.5
See also
slk_fix_internal_power_larger_than (var)
slk_fix_switching_power_larger_than 1020
Tweaker™ Variables Version T-2022.03
slk_fix_trans_min_improved_slack_of_repeater_insertion
# Specifies the minimum improved slack for a violated pin to be inserted with repeaters.
Type
Float
Default
0.1
Description
When fixing max transition/capacitance violation by using HFS repeater
violated pin. If the slack improvement of the pin which is currently fixed
is less than the value defined in this variable, Tweaker will give up the
insertion step to this pin and continue to fix and monitor the remaining
violated pins.
Example
slk_fix_trans_min_improved_slack_of_repeater_insertion 1021
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_setup_min_improved_slack_of_repeater_insertion
slk_fix_trans_min_improved_slack_of_repeater_insertion 1022
Tweaker™ Variables Version T-2022.03
slk_fix_trans_min_improved_slack_of_split_cell
# Specifies the minimum improved slack requirement for each auto-split cell
Type
Float
Default
0.01
Description
This variable only works when "slk_fix_max_trans_by_split_cell" variable is
set to true.
This variable specifies the minimum improved slack value for each auto
slk_fix_trans_min_improved_slack_of_split_cell 1023
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_max_trans_by_split_cell true
...
See also
slk_fix_max_trans_by_split_cell
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_max_
transition_setting.*.tcl
slk_fix_trans_min_improved_slack_of_split_cell 1024
Tweaker™ Variables Version T-2022.03
slk_fix_transition_for_bus_balance_watch_arrival
# Tweaker variable to prevent degrading bus arrival time while fixing trans.
Type
Boolean
Default
false
Description
During bus balancing stage, Tweaker can improve transition value of bus
To avoid skew getting worse, set this variable true to prevent Tweaker
Example
set slk_fix_transition_for_bus_balance_watch_arrival true
slk_fix_transition_for_bus_balance_watch_arrival 1025
Tweaker™ Variables Version T-2022.03
See also
slkfix (cmd)
slk_fix_transition_for_bus_balance_watch_arrival 1026
Tweaker™ Variables Version T-2022.03
slk_fix_vmin_without_sizing_down
# Disables the ability to size down the cells during vmin ECO.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will not
Example
set slk_fix_vmin_without_sizing_down true
...
slkfix -vmin
See also
N/A
slk_fix_vmin_without_sizing_down 1027
Tweaker™ Variables Version T-2022.03
slk_fix_vmin_without_sizing_down 1028
Tweaker™ Variables Version T-2022.03
slk_fix_voltage_robustness_by_sizing
# Adopts the sizing algorithm for fixing voltage robutness violations.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will adopt
Example
set slk_fix_voltage_robustness_by_sizing true
...
slkfix -voltage_robustness
slk_fix_voltage_robustness_by_sizing 1029
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/voltage_robustness/
fix_voltage_robustness_setting.*.tcl
slk_fix_voltage_robustness_by_sizing 1030
Tweaker™ Variables Version T-2022.03
slk_fix_voltage_robustness_watch_all_timing_edge
# Allows Tweaker to monitor the timing window setup margins for both rising and falling edge
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will monitor
the TWF setup margins for both rising and falling edge during
the voltage robutness autofix to avoid any timing impact, if the variable set to false
Tweaker will only check one timing edge from voltage robustness report.
Example
set slk_fix_voltage_robustness_by_sizing true
...
slk_fix_voltage_robustness_watch_all_timing_edge 1031
Tweaker™ Variables Version T-2022.03
slkfix -voltage_robustness
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/primeshield_eco/voltage_robustness/
fix_voltage_robustness_setting.*.tcl
slk_fix_voltage_robustness_watch_all_timing_edge 1032
Tweaker™ Variables Version T-2022.03
slk_fix_watch_clock_as_data
# Enables or disables the watch clock as data during autofix.
Type
Boolean
Default
false
Description
Sometimes STA may output some certain "clock as data" objects as pure clock
But when those "clock as data" components are restored successfully, this
Example
slk_fix_watch_clock_as_data 1033
Tweaker™ Variables Version T-2022.03
check_clock_as_data -auto
...
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold.
tcl
slk_fix_watch_clock_as_data 1034
Tweaker™ Variables Version T-2022.03
slk_fix_watch_forbidden_chain
# Enables or disable Tweaker to watch the forbidden chain rule during the autofix.
Type
Boolean
Default
false
Description
By setting this variable to true, it enables Tweaker to observe for any
forbidden chain rule variation during the autofix. The setting of this
Example
set slk_fix_setup_by_sizing true
...
slk_fix_watch_forbidden_chain 1035
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_fix_watch_forbidden_chain 1036
Tweaker™ Variables Version T-2022.03
slk_fix_watch_max_fanout
# Enables or disables Tweaker to honor lib defined max fanout during the autofix.
Type
Boolean
Default
false
Description
If this variable is set to true, Tweaker will honor the max fanout limit
Example
set slk_fix_watch_max_fanout true
See also
N/A
slk_fix_watch_max_fanout 1037
Tweaker™ Variables Version T-2022.03
slk_fix_watch_twf_clock_drv
# Enables or disables the ability to recognize the max-trans constraint from STA
setting.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker can recognize
Under this condition, Tweaker will have three maximum transition reference
1. From STA :
slk_fix_watch_twf_clock_drv 1038
Tweaker™ Variables Version T-2022.03
Meanwhile, if this variable is set to false, Tweaker will ignore the clock-
Example
set slk_fix_watch_twf_clock_drv false
See also
slk_twf_clock_drv_factor
slk_fix_setup_max_trans_drv
slk_fix_hold_max_trans_drv
slk_drv_factor
slk_drv_value
slk_fix_watch_twf_clock_drv 1039
Tweaker™ Variables Version T-2022.03
slk_fix_watch_twf_inst_pin_drv
# Enables or disables the ability to recognize the pin-based transition
Type
Boolean
Default
false
Description
To let Tweaker recognize the pin-based maximum transition from SDC of TWF,
please set this variable to true. Variable should be applied before first
command "set_max_transition".
During auto fixing, Tweaker will have different maximum transition reference
constraints and take honor the tightest constraint value when constraints
1. From STA :
slk_fix_watch_twf_inst_pin_drv 1040
Tweaker™ Variables Version T-2022.03
Meanwhile, if this variable is set to false, Tweaker will not read in pin-
Example
set slk_fix_watch_twf_inst_pin_drv false
See also
slk_fix_watch_twf_clock_drv
slk_fix_setup_max_trans_drv
slk_fix_hold_max_trans_drv
slk_drv_factor (cmd)
slk_drv_value (cmd)
set_max_transition (cmd)
slk_fix_watch_twf_inst_pin_drv 1041
Tweaker™ Variables Version T-2022.03
slk_fix_watch_vt_ratio
# Watching vt ratio feature for timing ECO.
Type
Boolean
Default
false
Description
When this variable is enabled, Tweaker's Eco will watch vt ratio influence
Example
...
slk_fix_watch_vt_ratio 1042
Tweaker™ Variables Version T-2022.03
...
See also
slk_power_eco_enable_vt_ratio
slk_vt_cell_naming
slk_vt_ratio_target
slk_vt_ratio_tolerance
slk_vt_ratio_type
slk_fix_watch_vt_ratio 1043
Tweaker™ Variables Version T-2022.03
slk_force_apply_hfi
# Force Tweaker to only do the HFI algorithm during hold autofix.
Type
Boolean
Default
false
Description
By setting this variable to its default of false, Tweaker will have more
option to choose between the HFI algorithm and normal delay insertion
algorithm or even combine them to achieve the best insertion result during
On the other side, if this variable is set to true, Tweaker will be forced
Users are not suggested to set this variable to true for general cases,
except for some advanced user who have a specific target which can only
slk_force_apply_hfi 1044
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_high_fanout_insertion
slk_force_apply_hfi 1045
Tweaker™ Variables Version T-2022.03
slk_force_apply_mapping_rule
# Forces Tweaker to honor the order of mapping rule during Power ECO.
Type
Boolean
Default
false
Description
When this variable is set to its default value of false, Tweaker will
take the given mapping rule and re-configure its swapping order based
On the contrary, by setting this variable to true, users are able to force
mapping rule.
Example
set slk_force_apply_mapping_rule true
...
slk_force_apply_mapping_rule 1046
Tweaker™ Variables Version T-2022.03
slkfix -power_eco
See also
N/A
slk_force_apply_mapping_rule 1047
Tweaker™ Variables Version T-2022.03
slk_force_apply_on_route_insertion
# To further control the on route insertion behavior depends on different
algorithms
Type
Boolean
Default
false
Description
This variable only works when slk_on_route_buffer_insertion is enabled.
insertion is enabled, with this variable set to true, Tweaker will only
go through on route insertion solution and skip the global route one if
on route solution is not found. In other words if this variable is not set
true, Tweaker will go through on route solution first and global route
solution second.
enabled, with this variable set to true, Tweaker will limit the on route
slk_force_apply_on_route_insertion 1048
Tweaker™ Variables Version T-2022.03
search range to 0 and force the insertion attached to the routing pattern's
only. In other words if this variable is not set true, Tweaker will honor
pattern.
with this variable set to true, Tweaker will only adopt the on route buffer
insertion for both detour nets and non-detour nets. In other words if this
var is not set true, Tweaker will go through global route for detour nets
Example
set slk_on_route_buffer_insertion true
set slk_on_route_search_range 5
...
...
slk_force_apply_on_route_insertion 1049
Tweaker™ Variables Version T-2022.03
See also
slk_force_apply_on_route_insertion
slk_force_apply_on_route_insertion 1050
Tweaker™ Variables Version T-2022.03
slk_ftc_build_all_clock_path
# Enable or disable the ability to build all clock domain
Type
boolean
Default
false
Description
By default, Tweaker will only build the clock domain partially in order to
When this variable is set to true, Tweaker will create all clock domain
which might lead to more accurate clock ECO autofix which might cause the
longer runtime.
Example
set slk_ftc_build_all_clock_path true
slk_ftc_build_all_clock_path 1051
Tweaker™ Variables Version T-2022.03
See also
NA
slk_ftc_build_all_clock_path 1052
Tweaker™ Variables Version T-2022.03
slk_ftc_fix_hold_by_insertion
# Adopts the fine tune clock for hold paths algorithm.
Type
Boolean
Default
false
Description
This is the clock ECO related variable.
This variable acts as the main switch to enable the "fine tune clock for
"slk_ftc_fix_hold_by_insertion",
"slk_ftc_hold_eco_target",
possible. Later on, by using the slack range that can be found from C1
slk_ftc_fix_hold_by_insertion 1053
Tweaker™ Variables Version T-2022.03
Example
set slk_ftc_fix_hold_by_insertion true
See also
slk_ftc_fix_hold_by_sizing
slk_ftc_hold_max_fine_tune
slk_ftc_hold_max_trans_drv
slk_ftc_hold_eco_target
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_wns
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/fix_hold_ftc_setting.
insert_delay.tcl
slk_ftc_fix_hold_by_insertion 1054
Tweaker™ Variables Version T-2022.03
slk_ftc_fix_hold_by_sizing
# Adopts the fine tune clock for hold paths algorithm.
Type
Boolean
Default
false
Description
This is the clock ECO related variable.
This variable acts as the main switch to enable the "fine tune clock for
"slk_ftc_fix_hold_by_sizing",
"slk_ftc_hold_eco_target",
possible. Later on, by using the slack range that can be found from C1
slk_ftc_fix_hold_by_sizing 1055
Tweaker™ Variables Version T-2022.03
Example
set slk_ftc_fix_hold_by_sizing true
See also
slk_ftc_fix_hold_by_insertion
slk_ftc_hold_max_fine_tune
slk_ftc_hold_max_trans_drv
slk_ftc_hold_eco_target
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_wns
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/fix_hold_ftc_setting.sz.
tcl
slk_ftc_fix_hold_by_sizing 1056
Tweaker™ Variables Version T-2022.03
slk_ftc_fix_setup_by_insertion
# Adopts the fine tune clock for setup paths algorithm.
Type
Boolean
Default
false
Description
This is the clock ECO related variable.
This variable acts as the main switch to enable the "fine tune clock for
"slk_ftc_fix_setup_by_insertion",
"slk_ftc_setup_eco_target",
possible. Later on, by using the slack range that can be found from C1
slk_ftc_fix_setup_by_insertion 1057
Tweaker™ Variables Version T-2022.03
Example
set slk_ftc_fix_setup_by_insertion true
See also
slk_ftc_fix_setup_by_sizing
slk_ftc_setup_max_fine_tune
slk_ftc_setup_max_trans_drv
slk_ftc_setup_eco_target
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_wns
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/fix_setup_ftc_setting.
insert_delay.tcl
slk_ftc_fix_setup_by_insertion 1058
Tweaker™ Variables Version T-2022.03
slk_ftc_fix_setup_by_sizing
# Adopts the fine tune clock for setup paths algorithm.
Type
Boolean
Default
false
Description
This is the clock ECO related variable.
This variable acts as the main switch to enable the "fine tune clock for
"slk_ftc_fix_setup_by_sizing",
"slk_ftc_setup_eco_target",
possible. Later on, by using the slack range that can be found from C1
slk_ftc_fix_setup_by_sizing 1059
Tweaker™ Variables Version T-2022.03
Example
set slk_ftc_fix_setup_by_sizing true
See also
slk_ftc_fix_setup_by_insertion
slk_ftc_setup_max_fine_tune
slk_ftc_setup_max_trans_drv
slk_ftc_setup_eco_target
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_wns
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/fix_setup_ftc_setting.sz
.tcl
slk_ftc_fix_setup_by_sizing 1060
Tweaker™ Variables Version T-2022.03
slk_ftc_hold_eco_target
# Tweaker variable to select the target of fine tune clock for hold.
Type
String [ wns | tns | nfe ]
Default
tns
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to choose the
The available fine tune hold target includes tns, nfe and wns.
Comparing the tns and nfe, basically they are in the same catalogue but nfe
slk_ftc_hold_eco_target 1061
Tweaker™ Variables Version T-2022.03
focus on endpoint reducing while tns focus on the entire negative slack
reducing.
Example
set slk_ftc_hold_eco_target wns
See also
slk_ftc_watch_setup_wns
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_nfe
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_nfe
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/ftc_hold.tcl
slk_ftc_hold_eco_target 1062
Tweaker™ Variables Version T-2022.03
slk_ftc_hold_max_fine_tune
# Specifies the maximum fine tune value during fine tune clock on hold paths.
Type
Float
Default
0.1
Description
For fine tune clock (Tweaker C1) feature, Tweaker provides this variable to
allow the maximum changing delay on a hold path to avoid the over-tuning.
The larger the value means the more chances for Tweaker to tune skew over
hold paths, but also with higher possibilities to hurt the existing positive
hold paths.
Example
set slk_ftc_fix_hold_by_sizing true
slk_ftc_hold_max_fine_tune 1063
Tweaker™ Variables Version T-2022.03
See also
slk_ftc_fix_hold_by_sizing
slk_ftc_fix_hold_by_insertion
slk_ftc_setup_max_fine_tune
slk_ftc_hold_max_fine_tune 1064
Tweaker™ Variables Version T-2022.03
slk_ftc_hold_max_trans_drv
# Specifies the absolute clock max transition value during fine tune clock for fixing hold violations.
Type
Float
Default
empty
Description
This is the clock ECO related variable.
When "finetune clock tree" feature is enabled during hold violation autofix,
Tweaker will honor the max trans/cap which is constrained by DRV factor
and the absolute max trans value which is specified in this variable. This
If the transition value after the autofix is larger than the value defined
in this variable, Tweaker will not perform the previous ECO operation.
Example
set slk_ftc_fix_hold_by_sizing true
slk_ftc_hold_max_trans_drv 1065
Tweaker™ Variables Version T-2022.03
...
See also
slk_ftc_fix_hold_by_sizing
slk_ftc_fix_hold_by_insertion
slk_ftc_setup_max_trans_drv
slk_ftc_hold_max_trans_drv 1066
Tweaker™ Variables Version T-2022.03
slk_ftc_min_improved_slack_of_insertion
# Specify a minimum improved slack after an insertion
Type
Double
Default
0.01
Description
During ftc (fine-tune clock), user can specify a value about minumum improved slack
while insertion. If it cannot achieve this improvement, the clock buffer will not
be inserted.
Example
set slk_ftc_min_improved_slack_of_insertion 0.005
See also
N/A
slk_ftc_min_improved_slack_of_insertion 1067
Tweaker™ Variables Version T-2022.03
slk_ftc_setup_eco_target
# Tweaker variable to select the target of fine tune clock for setup.
Type
String [lnws | wns | tns | nfe]
Default
lwns
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to choose the
The available fine tune setup target includes lwns, wns, tns and nfe.
instance.
If your design is CPU based design and the purpose is to boost up the clock
slk_ftc_setup_eco_target 1068
Tweaker™ Variables Version T-2022.03
Comparing lwns and wns, lwns may have more chances to squeeze the skew from
non-critical paths and lend to the exact WNS paths for further improvement.
In other words, lwns may have more chances of clock speed boost up at
If you design is non-CPU based design and the purpose is to clean the setup
time as much as possible, then usually tns and nfe will be suggested.
Comparing the tns and nfe, basically they are in the same catalogue but nfe
focus on endpoint reducing while tns focus on the entire negative slack
reducing.
Example
set slk_ftc_setup_eco_target wns
See also
slk_ftc_watch_setup_wns
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_nfe
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_tns
slk_ftc_setup_eco_target 1069
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_hold_nfe
$Tweaker_Install_DIR/etc/template/tweaker_t1/ftc/c1/ftc_setup.tcl
slk_ftc_setup_eco_target 1070
Tweaker™ Variables Version T-2022.03
slk_ftc_setup_max_fine_tune
# Specifies the maximum fine tune value during fine tune clock on setup paths.
Type
Float
Default
0.1
Description
For fine tune clock (Tweaker C1) feature, Tweaker provides this variable to
allow the maximum changing delay on a setup path to avoid the over-tuning.
The larger the value means the more chances for Tweaker to tune skew over
setup paths, but also with higher possibilities to hurt the existing
Example
set slk_ftc_fix_setup_by_sizing true
slk_ftc_setup_max_fine_tune 1071
Tweaker™ Variables Version T-2022.03
See also
slk_ftc_fix_setup_by_sizing
slk_ftc_fix_setup_by_insertion
slk_ftc_hold_max_fine_tune
slk_ftc_setup_max_fine_tune 1072
Tweaker™ Variables Version T-2022.03
slk_ftc_setup_max_trans_drv
# Specifies the absolute clock max transition value during fine tune clock for
Type
Float
Default
empty
Description
This is the clock ECO related variable.
autofix, Tweaker will honor the max trans/cap which is constrained by DRV
factor and the absolute max trans value which is specified in this variable.
If the transition value after the autofix is larger than the value defined
in this variable, Tweaker will not perform the previous ECO operation.
Example
slk_ftc_setup_max_trans_drv 1073
Tweaker™ Variables Version T-2022.03
...
See also
slk_ftc_fix_setup_by_sizing
slk_ftc_fix_setup_by_insertion
slk_ftc_hold_max_trans_drv
slk_ftc_setup_max_trans_drv 1074
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_hold_nfe
# Tweaker variable to watch hold nfe during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
All of these watch are default false to give less obstacle for your selected
slk_ftc_watch_hold_nfe 1075
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_wns
slk_ftc_watch_hold_nfe 1076
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_tns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_nfe 1077
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_hold_tns
# Tweaker variable to watch hold tns during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
these watch are default false to give less obstacle for your selected target
slk_ftc_watch_hold_tns 1078
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_wns
slk_ftc_watch_hold_tns 1079
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_tns
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_tns 1080
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_hold_wns
# Tweaker variable to watch hold wns during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
All of these watch are default false to give less obstacle for your selected
slk_ftc_watch_hold_wns 1081
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_wns
slk_ftc_watch_hold_wns 1082
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_tns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_nfe
slk_ftc_watch_hold_wns 1083
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_nfe
# Tweaker variable to watch setup nfe during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
All of these watch are default false to give less obstacle for your selected
slk_ftc_watch_setup_nfe 1084
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_nfe 1085
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_wns
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_nfe
slk_ftc_watch_setup_nfe 1086
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_tns
# Tweaker variable to watch setup tns during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
All of these watch are default false to give less obstacle for your selected
slk_ftc_watch_setup_tns 1087
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_nfe
slk_ftc_watch_setup_tns 1088
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_wns
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_nfe
slk_ftc_watch_setup_tns 1089
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_wns
# Tweaker variable to watch setup wns during fine tune process.
Type
Boolean
Default
false
Description
This is a clock-ECO related variable.
Tweaker fine tune clock (Tweaker C1) feature allows user to watch particular
All of these watch are default false to give less obstacle for your selected
slk_ftc_watch_setup_wns 1090
Tweaker™ Variables Version T-2022.03
Usually during fine tune clock for setup, user can enable watch hold timing
vars to reduce the hold impact. On the other hand during fine tune clock for
hold, user can enable watch setup timing vars to reduce the setup impact.
Example
...
...
See also
slk_ftc_watch_setup_tns
slk_ftc_watch_setup_wns 1091
Tweaker™ Variables Version T-2022.03
slk_ftc_watch_setup_nfe
slk_ftc_watch_hold_wns
slk_ftc_watch_hold_tns
slk_ftc_watch_hold_nfe
slk_ftc_watch_setup_wns 1092
Tweaker™ Variables Version T-2022.03
slk_give_up_insert_buf_distance
# Specifies the maximum distance value of an inserted buffer to be shifted from the
Type
Integer
Default
50
Description
If "slk_give_up_insert_if_no_space" variable is set to true, Tweaker will
inserted hold buffer will be placed to the outside of the preferred range.
Before any insertion operation is performed, Tweaker will search for any
available space within the region (circle). This region radius length
slk_give_up_insert_buf_distance 1093
Tweaker™ Variables Version T-2022.03
issue possibility.
Example
set slk_give_up_insert_if_no_space true
set slk_give_up_insert_buf_distance 20
...
See also
slk_give_up_insert_if_no_space
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_give_up_insert_buf_distance 1094
Tweaker™ Variables Version T-2022.03
slk_give_up_insert_if_no_space
# Allowing or not allowing Tweaker to insert any buffer even if it has exceeded
Type
Boolean
Default
true
Description
By setting his variable to its default of true, Tweaker will give up any
insertion range.
This variable acts as the main switch followed by the searching range radius
If this variable is set to false, Tweaker will ignore any value specified at
space have exceed the preferred range. This setting may increase the
slk_give_up_insert_if_no_space 1095
Tweaker™ Variables Version T-2022.03
Example
set slk_give_up_insert_if_no_space true
set slk_give_up_insert_buf_distance 20
...
See also
slk_give_up_insert_buf_distance
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_give_up_insert_if_no_space 1096
Tweaker™ Variables Version T-2022.03
slk_hack_all_timing_type
# Enables or disables the Hack SDF process value to be applied on all timing
type.
Type
Boolean
Default
false
Description
When this variable is set to its default value of false, the "hack hold
time" operation will only change the "sdf_min" values on the SDF triplets,
while the "hack setup time" operation will only change the "sdf_max" values
By setting this variable is set to true, user can apply one of the SDF
triplet values ("sdf_min", "sdf_typ", and "sdf_max") and apply it for both
This setting extremely useful for users who only care for the value of a
slk_hack_all_timing_type 1097
Tweaker™ Variables Version T-2022.03
Example
slkfix -create_twf_hack_sdf_domain
...
slkfix -twf_hack_sdf
See also
slk_fix_setup_by_hack_sdf
slk_fix_hold_by_hack_sdf
slk_hack_all_timing_type 1098
Tweaker™ Variables Version T-2022.03
slk_hack_clock_min_cell_delay
# Tweaker variable to set the minimal cell delay for "hack clock cell delay"
analysis
Type
Float
Default
0.02
Description
In the "Hack clock cell delay" analysis operation, Tweaker adjusts the clock
cell delay values of the SDF file in order to fix setup or hold violations.
This variable allows user to specify the minimal value of the minimum cell
delay.
This function only valid for "slkfix -hack_clock_cell_delay ... " command
option.
Example
set slk_slack_adjust_range -0.01 0.01
slk_hack_clock_min_cell_delay 1099
Tweaker™ Variables Version T-2022.03
See also
slk_slack_adjust_range (var)
slkfix (cmd)
slk_hack_clock_min_cell_delay 1100
Tweaker™ Variables Version T-2022.03
slk_hack_comb_logic_cell_only
# Enables or disables the ability of Tweaker to hack delay for the combinational logic cells only.
Type
Boolean
Default
false
Description
By default, Tweaker will hack the cell delay for both combinational and
In contrary, when this variable is set to true, Tweaker only hacks the
Example
[CMD] set slk_hack_comb_logic_cell_only true
See also
slk_hack_comb_logic_cell_only 1101
Tweaker™ Variables Version T-2022.03
slk_hack_setup_min_cell_delay (var)
slk_hack_comb_logic_cell_only 1102
Tweaker™ Variables Version T-2022.03
slk_hack_hold_watch_setup_timing_window
# Enables or disable Tweaker to watch the setup time in Timing Windows File (TWF) during hack sdf for hold time.
Type
Boolean
Default
false
Description
By setting this variable to the value of true, Tweaker will keep the setup
twf value to be larger than setup target slack while hacking sdf for hold time.
Example
[CMD] set slk_hack_hold_watch_setup_timing_window true
See also
slk_hack_hold_with_extract_setup_margin (var)
slk_hack_hold_watch_setup_timing_window 1103
Tweaker™ Variables Version T-2022.03
slk_hack_setup_min_cell_delay
# Specifies the minimum cell delay value of a cell during Hack SDF operation for setup time.
Type
Float
Default
0.02
Description
In the "Hack SDF" operation, Tweaker adjusts the cell/net delay values in
the original SDF file and generate a violation-free SDF file for simulation
purpose only.
During the setup time hacking process, even though Tweaker reduce the cells
delay values of the SDF file in order to fix its setup violation, but
cell delay. Hence, this variable allows user to define the minimum value of
slk_hack_setup_min_cell_delay 1104
Tweaker™ Variables Version T-2022.03
Example
slkfix -create_twf_hack_sdf_domain
...
slkfix -twf_hack_sdf
See also
slk_fix_setup_by_hack_sdf
slk_hack_setup_min_cell_delay 1105
Tweaker™ Variables Version T-2022.03
slk_hfi_allow_bundle_grouping_within_distance
# Grouping sink pins within user defined distance
Type
double
Default
0
Description
When hold fixing and turn on high fanout insertion,
Tweaker will insert buffers on common points and grouping those sink pins.
Example
set slk_hfi_allow_bundle_grouping_within_distance 10
See also
N/A
slk_hfi_allow_bundle_grouping_within_distance 1106
Tweaker™ Variables Version T-2022.03
slk_hfi_allow_bundle_grouping_within_distance 1107
Tweaker™ Variables Version T-2022.03
slk_hfi_grouping_hold_margin
# Specifies the grouping hold margin for HFI grouping.
Type
Float
Default
0.02
Description
When fixing the hold time violations using HFI algorithm, the grouping
candidates are not only contain of the fanouts with negative slacks
(violation), but also the fanouts that contain hold slacks which are smaller
than the sum of the "hold target slack value" and the "grouping hold margin"
hold impact on the grouping fanouts after the HFI buffer insertion.
A larger value means more grouping will be done as long as setup margin is
satisfied.
slk_hfi_grouping_hold_margin 1108
Tweaker™ Variables Version T-2022.03
Example
set slk_hold_target_slk 0.01
...
See also
slk_hfi_peer_setup_margin
slk_hfi_grouping_hold_margin 1109
Tweaker™ Variables Version T-2022.03
slk_hfi_keep_driver_net_name
# Enables or disables the capability to modify the nets name during HFI algorithm.
Type
Boolean
Default
true
Description
By setting this variable to its default of true, Tweaker will keep the
original net name on the driver side during the buffer insertion operation
when HFI algorithm is performed on high fanout nets, and only assign the
new net name with user-recognized prefixes to the eco net on the sink side
This feature will allow Tweaker to maintain the original net routing pattern
for further APR process. Hence user is not recommended to change the setting
Example
slk_hfi_keep_driver_net_name 1110
Tweaker™ Variables Version T-2022.03
...
See also
N/A
slk_hfi_keep_driver_net_name 1111
Tweaker™ Variables Version T-2022.03
slk_hfi_keep_driver_size
# Enable or disable the ability to insert the cells that have a higher driving capability during hold autofix
Type
boolean
Default
false
Description
When this variable is set to true, Tweaker will insert the cell that have
For example, if the driver cell is BUFX4 cell while user is providing
Then Tweaker will consider to use BUFX4, BUFX8, and/or BUFX12 to do the
insertion.
slk_hfi_keep_driver_size 1112
Tweaker™ Variables Version T-2022.03
Example
source $script_path/fix_hold_setting.bi.3.tcl
See also
slk_delay_insertion_buff_list
slk_delay_insertion_high_drive_buff_list
slk_hfi_keep_driver_size 1113
Tweaker™ Variables Version T-2022.03
slk_hfi_peer_hold_twf_impact
# Enables or disables Tweaker to allow TWF hold impact on the hold path's peer
pin.
Type
Float
Default
0.0
Description
Tweaker offers the ability to let users manually control the autofix level
of HFI/HBI hold fixing. Tweaker allows TWF hold impact of the value given in
this variable on the peer pin (where the sink pins are not grouped together)
Example
source $Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_
hold_setting.bi.3.tcl
...
slk_hfi_peer_hold_twf_impact 1114
Tweaker™ Variables Version T-2022.03
...
See also
slk_auto_sizing_setup_twf_impact (var)
slk_hfi_peer_hold_twf_impact 1115
Tweaker™ Variables Version T-2022.03
slk_hfi_peer_setup_margin
# Specifies the peer setup margin for high fanout nets insertion.
Type
Float
Default
0.01
Description
When fixing hold time violations by using HFI/HBI algorithm on a high fanout
net, Tweaker will monitor the setup margin on both sub-side (where the sink
pins are grouped together and connected after the inserted buffer) and peer-
side (where the sink pins are not grouped together) to make sure their setup
The larger value of this variable means more conservative setup time
Example
set slk_fix_hold_by_delay_insertion true
slk_hfi_peer_setup_margin 1116
Tweaker™ Variables Version T-2022.03
...
See also
slk_fix_hold_watch_driving_pin_slack
slk_hfi_grouping_hold_margin
slk_hfi_peer_setup_margin 1117
Tweaker™ Variables Version T-2022.03
slk_hfi_peer_setup_twf_impact
# Enables or disables Tweaker to allow TWF setup impact on the hold path's peer
pin.
Type
Float
Default
0.0
Description
When fixing hold violations by using HFI/HBI algorithm on a high fanout net,
Tweaker will monitor the setup margin on both sub-side (where the sink pins
are grouped together and connected after the inserted buffer) and peer-side
(where the sink pins are not grouped together) to make sure their setup
slk_hfi_peer_setup_margin.
To increase the fixing rate, Tweaker offers the ability to allow TWF setup
impact of the value given in this variable on the peer pin. If peer TWF
slk_hfi_peer_setup_margin.
slk_hfi_peer_setup_twf_impact 1118
Tweaker™ Variables Version T-2022.03
The positive setup margin is not allowed to get impact to negative value.
Example
...
...
See also
slk_hfi_peer_setup_margin
slk_hfi_peer_setup_twf_impact 1119
Tweaker™ Variables Version T-2022.03
slk_hfi_use_combo_cell
# Use combo cell in high fanout insertion algorithm
Type
Boolean
Default
false
Description
If this variable is set to true, Tweaker will reference combo cell
Currently auto combo cell insertion for fixing hold time only is available
Example
set slk_fix_hold_by_delay_insertion true
slk_hfi_use_combo_cell 1120
Tweaker™ Variables Version T-2022.03
...
See also
slk_delay_insertion_combo_cell_list
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.*.tcl
slk_hfi_use_combo_cell 1121
Tweaker™ Variables Version T-2022.03
slk_hfi_use_same_always_on_cell
# Use same always on cell candidate from driver or sink in high fanout insertion
algorithm
Type
Boolean
Default
false
Description
By default, Tweaker will honor the "slk_delay_insertion_buff_list" or
However, If this variable is set to true, Tweaker will reference the driver
or sink always on buffer as the insertion buffer candidate list during the
HFI algorithm.
Currently, use same always on cell candidate only available under HFI
algorithm.
slk_hfi_use_same_always_on_cell 1122
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_delay_insertion
slk_fix_hold_by_high_fanout_insertion
slk_hfi_use_same_always_on_cell 1123
Tweaker™ Variables Version T-2022.03
slk_hfs_inverter_only
# Variable which restrains Tweaker to use only the inverter pairs insertion during HFS algorithm.
Type
Boolean
Default
false
Description
By setting this variable true, user can narrow the candidates for the HFS
fixing. Regular repeater buffers are forbidden even if they are specified
"slk_repeater_insertion_inverter_list".
Example
set slk_fix_max_trans_by_repeater_insertion true
slk_hfs_inverter_only 1124
Tweaker™ Variables Version T-2022.03
...
See also
slk_repeater_insertion_inverter_list
slk_hfs_use_inverter
slk_hfs_inverter_only 1125
Tweaker™ Variables Version T-2022.03
slk_hfs_use_inverter
# Enables or disables the insertion of inverter pairs during HFS algorithm.
Type
Boolean
Default
false
Description
By default, Tweaker will only allow the repeater buffers insertion
By setting this variable to true, user can enable the insertion of inverter
algorithm.
Example
set slk_fix_max_trans_by_repeater_insertion true
slk_hfs_use_inverter 1126
Tweaker™ Variables Version T-2022.03
...
See also
slk_repeater_insertion_inverter_list
slk_hfs_inverter_only
slk_hfs_use_inverter 1127
Tweaker™ Variables Version T-2022.03
slk_hfts_auto_threshold
# Tweaker variable to define the threshold of fanout enabling the HFTS.
Type
Integer
Default
32
Description
This variable works only when the feature of HFTS is enabled by setting
When HFTS (high fanout tree synthesis) is enabled. Tweaker will consider
the current violation net's fanout to decide either the HFS or HFTS will
When the current violation net's fanout is larger than the value defined
in this variable, HFTS will take place, otherwise HFS will take place.
Example
set slk_hfts_auto_threshold 64
slk_hfts_auto_threshold 1128
Tweaker™ Variables Version T-2022.03
See also
slk_fix_drv_by_hfts
slk_hfts_auto_threshold 1129
Tweaker™ Variables Version T-2022.03
slk_hide_dorado_latch_report
# Enables or disables Tweaker to show paths from latch report on GUI.
Type
Boolean
Default
true
Description
By enabling this variable to hide paths from latch report on GUI to avoid
Example
set slk_hide_dorado_latch_report false
See also
N/A
slk_hide_dorado_latch_report 1130
Tweaker™ Variables Version T-2022.03
slk_high_drive_keep_slew_factor
# Specifies the slew factor tolerance for high-driving buffers while keeping slew mode activation.
Type
Float
Default
1.15
Description
When "*keep_long_wire_slew" variables are set to true or SI avoidance is
enabled, each ECO action will trigger the "keep slew" mechanism in Tweaker
The regular buffer/delay cells which are inserted near to the sink pins will
buffer chain near to the driving pin of a long wire is allowed to have a
the long wire before the insertion. Users can set a number larger than 1.0
slk_high_drive_keep_slew_factor 1131
Tweaker™ Variables Version T-2022.03
long wire, or a number smaller than 1.0 to constrain the output transition
even more.
tolerance.
Example
set slk_delay_insertion_keep_long_wire_slew true
...
...
See also
slk_delay_insertion_high_drive_buff_list
slk_keep_slew_factor
slk_high_drive_keep_slew_factor 1132
Tweaker™ Variables Version T-2022.03
slk_hold_insertion_through_path_threshold
# To define the minimum through path count threshold of target net for hold
insertion.
Type
Integer
Default
0
Description
By default, Tweaker will have its own algorithm to decide the best net of
insert buffer on the through path count larger than this threshold.
The advantage of this feature is that the early stage ECO operation can only
focus on the common point. Then, the last stage ECO operation can fix the
slk_hold_insertion_through_path_threshold 1133
Tweaker™ Variables Version T-2022.03
Example
...
...
See also
slk_fix_hold_by_delay_insertion
slk_hold_insertion_through_path_threshold 1134
Tweaker™ Variables Version T-2022.03
slk_hold_target_slk
# Defines the hold target slack during the setup and hold autofix.
Type
Float
Default
0.01
Description
While performing hold autofix, this variable defines the target slack.
Tweaker will honor this variable and fix as much as it can to satisfy this
target slack. The bigger this value means more aggressive hold autofix is
demanded by user.
While performing setup autofix, this variable acts as hold margin constraint
that have to be reserved. The smaller this value means more aggressive setup
Example
set slk_hold_target_slk 0.005
slk_hold_target_slk 1135
Tweaker™ Variables Version T-2022.03
See also
slk_setup_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.*.tcl
slk_hold_target_slk 1136
Tweaker™ Variables Version T-2022.03
slk_hold_worst_slack
# Indicate hold worst slack in specified corner
Type
Floating
Default
empty
Description
This is not built-in variable.
-check_slack_consistency".
It contains the hold worst slack value for each created corner.
Example
[ CMD ] printvar slk_corner_list
----------------------------------------------------------------------------
slk_hold_worst_slack 1137
Tweaker™ Variables Version T-2022.03
----------------------------------------------------------------------------
----------------------------------------------------------------------------
slk_hold_worst_slack(ff_cbest_norm) -0.287
----------------------------------------------------------------------------
----------------------------------------------------------------------------
slk_hold_worst_slack(ff_cbest_norm) -0.287
slk_hold_worst_slack(ss_cbest_norm) -0.070
See also
slk_corner_list
slk_setup_worst_slack_corner
slk_hold_worst_slack_corner
slk_setup_worst_slack
slk_hold_worst_slack 1138
Tweaker™ Variables Version T-2022.03
slk_normalized_factor
slk_hold_worst_slack 1139
Tweaker™ Variables Version T-2022.03
slk_hold_worst_slack_corner
# Indicate the corner name which contains the hold worst slack
Type
String
Default
Empty
Description
This is read only variable. The default value is empty.
are built.
This variable indicates the corner which contains the hold worst slack.
The following commands will update the slack database. When the hold worst
slack in TWF is updated, the hold worst slack corner name is also updated in
this variable.
slkdb -ignore_......
slkdb -dont_touch_......
slkdb -ignore_if_twf_slack
slk_hold_worst_slack_corner 1140
Tweaker™ Variables Version T-2022.03
slkdb -update_twf_by_path
slkdb -update_twf_by_pba_endpoint
slkdb -update_twf_endpoint
add_slk_uncertainty
Example
[ CMD ] printvar slk_hold_worst_slack_corner
-------------------------------------------------------------------------
See also
slk_corner_list
slk_setup_worst_slack_corner
slk_hold_worst_slack
slk_setup_worst_slack
slk_normalized_factor
slk_hold_worst_slack_corner 1141
Tweaker™ Variables Version T-2022.03
slk_ignore_better_slew_if_wirelength_lesser_than
# Length threshold which enable Tweaker to skip the slew checking.
Type
Float
Default
50.0
Description
If the violated net is fit to one of the criteria such as wire length or
Tweaker offers the ability to skip the slew checking for those violated nets
variable.
Example
set slk_ignore_better_slew_if_wirelength_lesser_than 50
slk_ignore_better_slew_if_wirelength_lesser_than 1142
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_ignore_better_slew_if_wirelength_lesser_than 1143
Tweaker™ Variables Version T-2022.03
slk_ignore_couple_c_if_wirelength_lesser_than
# Tweaker variable to ignore the keep slew checking.
Type
Float
Default
200.0
Description
If the violated net is fit to one of the criteria such as wire length or
ability to skip that criteria for the violated nets if their wire length is
smaller than the length threshold value specified in this variable in order
slk_ignore_couple_c_if_wirelength_lesser_than 1144
Tweaker™ Variables Version T-2022.03
Example
set slk_ignore_couple_c_if_wirelength_lesser_than 200
See also
N/A
slk_ignore_couple_c_if_wirelength_lesser_than 1145
Tweaker™ Variables Version T-2022.03
slk_ignore_derate_limitation
# Enables to ignore the limitation of derate defined in path report.
Type
Boolean
Default
false
Description
By default, Tweaker reads the derate value from path report if the variable
However,
the value defined in report are limited with the lower bound 0.4 and higher
bound 1.6 when reading into Tweaker to avoid unexpectedly incorrect setting.
Example
set slk_ignore_derate_limitation true
slk_ignore_derate_limitation 1146
Tweaker™ Variables Version T-2022.03
...
slkdc -check_slack_consistency
See also
slk_ignore_path_derate (var)
set_timing_derate (cmd)
slk_ignore_derate_limitation 1147
Tweaker™ Variables Version T-2022.03
slk_ignore_drv
# Enables or disables the DRV checking.
Type
Boolean
Default
false
Description
By default, Tweaker will check the transition/capacitance constrained by
drv factor, max trans drv values, and keep slew value at each Eco action.
If this variable is set to true, Tweaker will skip any checking mentioned
above during performing the Eco action. This setting may increase the
Example
set_drv_factor 0.7
...
slk_ignore_drv 1148
Tweaker™ Variables Version T-2022.03
See also
slk_drv_factor
slk_fix_hold_max_trans_drv
slk_fix_setup_max_trans_drv
slk_power_eco_max_trans_drv
slk_delay_insertion_keep_long_wire_slew
slk_auto_sizing_keep_long_wire_slew
slk_ignore_drv 1149
Tweaker™ Variables Version T-2022.03
slk_ignore_hard_macro
# Enable or disable the Tweaker's smart update macro related timing arcs
function.
Type
Boolean
Default
true
Description
If this variable is set to its default value of true, Tweaker will do a
smart update hard macro related timing arcs instead of update them
exhaustively. This smart update greatly reduces the run time, so that users
are strongly suggested to keep the default value of this variable as true.
Example
set slk_ignore_hard_macro true
See also
slk_ignore_hard_macro 1150
Tweaker™ Variables Version T-2022.03
N/A
slk_ignore_hard_macro 1151
Tweaker™ Variables Version T-2022.03
slk_ignore_path_delta
# Ignores delta column when reads path reports.
Type
Boolean
Default
false
Description
During violation report generation, user may dump the crosstalk delta value
When this variable is set to its default value of false, then Tweaker will
On the contrary, when this variable is set to true, then Tweaker will not
report.
Since it's recommended to use simple flow whose SDF will already contain of
slk_ignore_path_delta 1152
Tweaker™ Variables Version T-2022.03
Example
set slk_ignore_path_delta true
begin_corner
...
twfin ..
slackin ..
...
end_corner
See also
N/A
slk_ignore_path_delta 1153
Tweaker™ Variables Version T-2022.03
slk_ignore_path_derate
# Tweaker variable to ignore derate info within input slack paths reports.
Type
Boolean
Default
false
Description
Generally there are two kinds of timing Eco flow in Tweaker, one is called
normal flow and the other is called simple flow. The key difference between
these two flows is whether the contents of SDF file is including derate
effect or not. The derate at STA may come from AOCV/POCV/LOCV table or OCV
If SDF includes the derate effect and fed to Tweaker, it is called "simple
flow", otherwise if SDF itself does not include the derate effect, it is
Most of our users will adopt the simple flow to fit their own design flow,
under this circumstance in order not to let Tweaker apply the derate info
(derate column or derate header) in the path report and cause double count,
slk_ignore_path_derate 1154
Tweaker™ Variables Version T-2022.03
report_delay_calculation command.
If users chooses the normal flow where SDF does not have derate effect, this
variable must be kept false to let Tweaker apply the derate info from the
If this variable is not properly set with either simple flow or normal flow,
Example
set slk_ignore_path_derate true
...
slkdc -check_slack_consistency
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/general_script/general_settings
.tcl
slk_ignore_path_derate 1155
Tweaker™ Variables Version T-2022.03
slk_ignore_trans_ceff_offset
# To ignore any transition/effective capacitance offset value.
Type
Boolean
Default
false
Description
If user realizes there is any miscalculation of "transition offset" or
inaccurate timing update, you can ignore the process of obtaining the offset
values and use the transition and capacitance value defined in the input data
Normally, user will modify this variable only for some cases under Metal
report.
slk_ignore_trans_ceff_offset 1156
Tweaker™ Variables Version T-2022.03
Example
set metal_eco_mode true
...
See also
N/A
slk_ignore_trans_ceff_offset 1157
Tweaker™ Variables Version T-2022.03
slk_ignore_twf_generated_clk
# Disables the tracing between source/generated clock.
Type
String
Default
false
Description
By default, Tweaker will trace between source/generated clock during TWF
file parsing to identify more clock components. Users may reduce the
Example
set slk_ignore_twf_generated_clk true
See also
N/A
slk_ignore_twf_generated_clk 1158
Tweaker™ Variables Version T-2022.03
slk_ignore_twf_sdc_session
# ignore sdc session while parsing twf.
Type
Boolean
Default
false
Description
To reduce runtime while parsing twf, user can enable this variable to ignore
sdc session.
Example
set slk_ignore_twf_sdc_session true
See also
N/A
slk_ignore_twf_sdc_session 1159
Tweaker™ Variables Version T-2022.03
slk_ignore_vt_rule_checking_for_undefined_cell
# Enables or disables the VT rule checking for undefined cells.
Type
Boolean
Default
false
Description
For the advanced process like 20nm or below, Tweaker have min VT width
rules checking. During the ECO process, if Tweaker find that some cells
didn't define any VT layer, Tweaker will block this ECO by B210.
enable the VT layer cell can be swapped to non-VT layer definition cells.
Example
set enable_cell_width_spacing_rule true
lefin std.lef
slk_ignore_vt_rule_checking_for_undefined_cell 1160
Tweaker™ Variables Version T-2022.03
...
...
See also
enable_cell_width_spacing_rule
set_min_vt_width
report_min_vt_width_rules
report_min_vt_width_violation
slk_ignore_vt_rule_checking_for_undefined_cell 1161
Tweaker™ Variables Version T-2022.03
slk_insert_allow_overlap_preferred_region
# Tweaker vars to allow overlap on ideal point.
Type
boolean
Default
false
Description
By default, Tweaker will base on give up buffer distance to find the space
for inserted cells. If there is no space around, Tweaker will just overlap
with STD cells. However, if under certain case user allows overlap happens
not only on STD cells but also macro, then this is the var to help.
Example
set slk_insert_allow_overlap_preferred_region true
See also
slk_insert_allow_overlap_preferred_region 1162
Tweaker™ Variables Version T-2022.03
N/A
slk_insert_allow_overlap_preferred_region 1163
Tweaker™ Variables Version T-2022.03
slk_insert_allow_touch_assign_net
# Enable or disable the ability to perform the insertion ECO on the assign net in Tweaker
Type
boolean
Default
false
Description
By default, Tweaker will not perform the insertion ECO on the assign-net
since some APR tool don't have the corresponding command to support this
kind of ECO.
When this variable is set to true, then Tweaker will be able to insert on
the assign-net.
the ECO by using either "high-level ECO TCL" or NETLIST with DEF".
Example
set slk_insert_allow_touch_assign_net true
slk_insert_allow_touch_assign_net 1164
Tweaker™ Variables Version T-2022.03
See also
ecotclout -high_level [-icc|-icc2|-soce|-innovus|-atop|-olympus]
verilogout
defout
slk_insert_allow_touch_assign_net 1165
Tweaker™ Variables Version T-2022.03
slk_insert_count_limit
# Specifies the limitation during the insertion ECO for hold, setup, and DRV autofix
Type
integer
Default
empty
Description
This variable specifies the maximum buffer/delay-cell count that can be
Example
set slk_insert_count_limit 5
See also
NA
slk_insert_count_limit 1166
Tweaker™ Variables Version T-2022.03
slk_insert_delay_count_limit
# Specifies the insert instance count limitation during the insert delay autofix operation.
Type
integer
Default
10
Description
This variable specifies the maximum buffer/delay-cell count that can be
Example
set slk_insert_delay_count_limit 20
See also
slk_insert_count_limit
slk_insert_delay_count_limit 1167
Tweaker™ Variables Version T-2022.03
slk_insert_enable_routing_path_congestion_aware
# Conservative routing congestion aware insertion related variable.
Type
Boolean
Default
false
Description
When congestion aware feature is enabled by setting
Tweaker inserts ECO cell along with grids with global route approach which
variable, we get more controllable ECO routing result in 3rd party tool. But
Example
# Conservative routing congestion aware insertion
slk_insert_enable_routing_path_congestion_aware 1168
Tweaker™ Variables Version T-2022.03
defin -route ..
create_congestion_db ..
# "create_design_analysis_grid_db"
...
...
See also
slk_congestion_aware_search_range (var)
slk_congestion_aware_threshold (var)
slk_update_congestion_map (var)
design_analysis_grid_height_by_row (var)
congestion_map_grid_size_by_row (var)
design_analysis_collecting_mode (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
set_resource_window (cmd)
add_blockage (cmd)
delete_blockage (cmd)
draw (cmd)
slk_insert_enable_routing_path_congestion_aware 1169
Tweaker™ Variables Version T-2022.03
slk_insert_placement_blockage_min_width
# Tweaker variable to define the thin blockage becoming obstacles during
insertion.
Type
Integer
Default
5
Description
When insertion happens the placement blockage will affect the global route
result. For some very thin placement blockages it is not meant to be there
then user can specify a threshold here to prevent those ones becoming
obstacles during global route estimating rc. Default value is 5 minimum row
height.
Example
set slk_insert_placement_blockage_min_width 10
...
slk_insert_placement_blockage_min_width 1170
Tweaker™ Variables Version T-2022.03
slkfix ...
See also
N/A
slk_insert_placement_blockage_min_width 1171
Tweaker™ Variables Version T-2022.03
slk_insert_recognize_macro_power_domain_by_net
# Enables to extend the usable power domain to the logical nearst domain.
Type
Boolean
Default
false
Description
By default, Tweaker would not reference to Macro/Mini-design's power domain
related pin.
from UPF/CPF, by enabling this variable to look for the usable power domain
Example
set slk_fix_hold_by_delay_insertion true
slk_insert_recognize_macro_power_domain_by_net 1172
Tweaker™ Variables Version T-2022.03
...
See also
slk_insert_recognize_mini_design_power_domain_by_net (var)
set_always_on_pin (cmd)
slk_insert_recognize_macro_power_domain_by_net 1173
Tweaker™ Variables Version T-2022.03
slk_insert_recognize_mini_design_power_domain_by_net
# Enables to extend the usable power domain to the logical nearst domain.
Type
Boolean
Default
false
Description
By default, Tweaker would not reference to Macro/Mini-design's power domain
related pin.
In this case, by enabling this variable to look for the usable power domain
Example
set slk_fix_hold_by_delay_insertion true
slk_insert_recognize_mini_design_power_domain_by_net 1174
Tweaker™ Variables Version T-2022.03
...
See also
slk_insert_recognize_macro_power_domain_by_net (var)
set_timing_derate (cmd)
slk_insert_recognize_mini_design_power_domain_by_net 1175
Tweaker™ Variables Version T-2022.03
slk_insert_third_power_domain_without_logical_limit
# Enables or disables Tweaker to insert buffer even when logical and physical
Type
Boolean
Default
false
Description
Enabling this variable allows Tweaker to insert buffer even if the logical
After insertion, another Tweaker command [CMD] upfout can dump out a partial
Example
set slk_insert_third_power_domain_without_logical_limit true
...
upfout
slk_insert_third_power_domain_without_logical_limit 1176
Tweaker™ Variables Version T-2022.03
See also
upfout (cmd)
slk_insert_third_power_domain_without_logical_limit 1177
Tweaker™ Variables Version T-2022.03
slk_insertion_dont_touch_complex_cell
# Enable or disable this variable to insert on complex cell
Type
Boolean
Default
false
Description
As complex cells are set dont_touch, Tweaker normally does not do insertion
on this type of cells by default. If user would like to allow eco, please
Example
set slk_insertion_dont_touch_complex_cell true
See also
slk_power_eco_dont_touch_complex_cell
slk_insertion_dont_touch_complex_cell 1178
Tweaker™ Variables Version T-2022.03
slk_ir_drop_aware_defrag
# IR drop aware defrag autofix ECO related variable.
Type
Boolean
Default
false
Description
When doing defrag autofix ECO, if this variable is set to true,
Licenses for irdrop ECO and defrag ECO are both required.
Example
irdropin irdrop_dvd.rpt
slk_ir_drop_aware_defrag 1179
Tweaker™ Variables Version T-2022.03
slkfix -create_eco_domain_by_window
slkdc -check_slack_consistency
...
...
slkfix -defrag
See also
avoid_space_fragmentation_by_cell
slk_defrag_cell_naming
slk_fix_defrag_grouping_cell
irdropin (cmd)
slk_ir_drop_aware_defrag 1180
Tweaker™ Variables Version T-2022.03
slk_ir_drop_keepout_factor
# Define keepout width by multiplier factor for ir drop violated instances in
autofix eco.
Type
Float
Default
0.0
Description
If users want to reserve some space next to ir drop violated cells for
further use, the keepout factor is the width multiplier to define the
keepout width.
In ir drop keepout region, Tweaker will try not to place eco cells in
Example
set slk_ir_drop_keepout_factor 1.0
slk_ir_drop_keepout_factor 1181
Tweaker™ Variables Version T-2022.03
- - - - - - ----------------- - - - - - -
| | original | |
| | width | |
- - - - - - ----------------- - - - - - -
See also
slk_ir_drop_aware_defrag
slkfix (cmd)
slkfix (cmd)
[-guardband float]
slk_ir_drop_keepout_factor 1182
Tweaker™ Variables Version T-2022.03
slk_ir_eco_min_improved_ratio
# Specifies the minimum improved IR drop ratio requirement for IR ECO.
Type
Float
Default
0.0
Description
This variable specifies the minimum improved IR drop ratio value for each
IR ECO operation to be performed. If the slack value after the IR ECO operation
is smaller than the value specified in this variable, this operation will
not be executed.
Example
set slk_fix_ir_eco_by_sizing true
...
slkfix -ir_eco
slk_ir_eco_min_improved_ratio 1183
Tweaker™ Variables Version T-2022.03
See also
slk_ir_eco_min_improved_ratio 1184
Tweaker™ Variables Version T-2022.03
slk_ir_eco_target_dropped_ratio
# Defines the IR drop target ratio during IR ECO.
Type
Float
Default
0.0
Description
While performing IR ECO autofix, this variable defines the target IR drop ratio.
Tweaker will honor this variable and fix as much as it can to satisfy this target
ratio. The smaller of this value means more aggressive IR ECO which is demanded
by user.
Example
set slk_ir_eco_target_dropped_ratio 0.15
See also
slk_ir_eco_target_dropped_ratio 1185
Tweaker™ Variables Version T-2022.03
slk_keep_clk_comp_for_each_mode
# To keep mode information for the clock component.
Type
Boolean
Default
false
Description
When this variable is enabled, Tweaker will keep mode information
Example
...
begin_corner cworst_ss
slk_keep_clk_comp_for_each_mode 1186
Tweaker™ Variables Version T-2022.03
end_corner cworst_ss
...
See also
twfin
slk_keep_clk_comp_for_each_mode 1187
Tweaker™ Variables Version T-2022.03
slk_keep_slew_factor
# Defines the slew factor tolerance during the "keep slew" mechanism.
Type
Float
Default
1.2
Description
When either "*keep_long_wire_slew" variables are set to true or SI avoidance
mechanism is enabled, Tweaker will trigger the "keep slew" mechanism for
tolerance.
Example
slk_keep_slew_factor 1188
Tweaker™ Variables Version T-2022.03
...
See also
slk_delay_insertion_keep_long_wire_slew
slk_auto_sizing_keep_long_wire_slew
slk_high_drive_keep_slew_factor
slk_keep_slew_factor 1189
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib
# Specifies the lib corner as the reference leakage corner.
Type
String
Default
empty
Description
When user is proceeding the leakage power calculation, Power ECO or power
this variable specifies the library group name which contains leakage number
references.
For the timing calculation, each corner will has their own library group.
So that the timing calculation of each corner will take the corresponding
slk_leakage_power_lib 1190
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
If there are more than one library corner when this variable is not
specified, Tweaker will take the first library corner as its reference.
Example
libin -cell_type std -timing_type worst -name wc "./tsmc90_core_wc.lib"
set slk_leakage_power_lib ml
See also
libin (cmd)
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
slk_leakage_power_lib 1191
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib_temperature
# Specifies the lib corner temperature as the reference leakage corner.
Type
String
Default
empty
Description
When user is proceeding the leakage power calculation, Power ECO or power
this variable specifies the library group name which contains leakage number
references.
For the timing calculation, each corner will has their own library group.
So that the timing calculation of each corner will take the corresponding
slk_leakage_power_lib_temperature 1192
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
If there are more than one library corner when this variable is not
specified, Tweaker will take the first library corner as its reference.
Example
set libin_with_voltage_temperature_information true
set slk_leakage_power_lib ml
set slk_leakage_power_lib_temperature 25
See also
libin (cmd)
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
slk_leakage_power_lib_temperature 1193
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib_voltage
# Specifies the lib corner voltage as the reference leakage corner.
Type
String
Default
empty
Description
When user is proceeding the leakage power calculation, Power ECO or power
this variable specifies the library group name which contains leakage number
references.
For the timing calculation, each corner will has their own library group.
So that the timing calculation of each corner will take the corresponding
slk_leakage_power_lib_voltage 1194
Tweaker™ Variables Version T-2022.03
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
If there are more than one library corner when this variable is not
specified, Tweaker will take the first library corner as its reference.
Example
set libin_with_voltage_temperature_information true
set slk_leakage_power_lib ml
set slk_leakage_power_lib_temperature 25
See also
libin (cmd)
slk_leakage_power_lib_voltage
slk_leakage_power_lib_temperature
slk_leakage_power_lib_voltage 1195
Tweaker™ Variables Version T-2022.03
slk_libin_inconsistency_count_limit
# Specifies the count of inconsistency STD cells with respect to libraries.
Type
Integer
Default
20
Description
When some lib cells are inconsistent in libraries, user can specify the
Example
set slk_libin_inconsistency_count_limit 40
See also
N/A
slk_libin_inconsistency_count_limit 1196
Tweaker™ Variables Version T-2022.03
slk_max_cap_target_slk
# Specify the target slack during fixing max capacitance.
Type
Float
Default
0.01
Description
This is the target slack value for max capacitance when fixing its
Example
set slk_max_cap_target_slk 0.1
...
See also
slk_max_cap_target_slk 1197
Tweaker™ Variables Version T-2022.03
slk_max_trans_target_slk
slk_max_fanout_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_cap/fix_max_
cap_setting.*.tcl
slk_max_cap_target_slk 1198
Tweaker™ Variables Version T-2022.03
slk_max_couple_c_factor
# Defines the threshold value that will be compared with the ratio result of
Type
Float
Default
0.5
Description
This variable only works when SI aware feature is enabled.
In deciding the qualification of the weak nets, Tweaker will take three
1. Wire length
2. Transition value
3. "slk_max_couple_c_factor" variable.
the "total capacitance" of any net in the design. If the result ratio of the
slk_max_couple_c_factor 1199
Tweaker™ Variables Version T-2022.03
considered a potential SI net and ECO action such as sizing down the driver
of this type of net will not be performed in order to avoid any SI impact
possibility.
Example
set slk_fix_hold_enable_si_aware true
...
See also
slk_fix_hold_enable_si_aware
slk_power_eco_enable_si_aware
slk_max_couple_c_factor 1200
Tweaker™ Variables Version T-2022.03
slk_max_dummy_load_cell_count
# Specifies the maximum number of dummy cells which is allowed to be inserted to
a sink pin.
Type
Integer
Default
2
Description
Specifies the maximum number of dummy cells which is allowed to be inserted
on a target sink pins. The larger number may increase the risk of routing
impact possibility.
For the advanced process, user are suggested to specify a smaller number to
this variable to make sure that the fanout of its corresponding net is
limited.
Example
set slk_fix_hold_by_add_dummy_load true
slk_max_dummy_load_cell_count 1201
Tweaker™ Variables Version T-2022.03
set slk_max_dummy_load_cell_count 1
...
See also
slk_fix_hold_by_add_dummy_load
slk_max_dummy_load_cell_distance
slk_max_dummy_load_cell_count
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.dmy.tcl
slk_max_dummy_load_cell_count 1202
Tweaker™ Variables Version T-2022.03
slk_max_dummy_load_cell_distance
# Specifies the allowed maximum distance of a dummy cell to be shifted from its
sink pin.
Type
Integer
Default
20
Description
Specifies the maximum distance between an inserted dummy load cell and the
location of the target sink pin of the insertion. A dummy load cell is
inserted only if there is enough free space within the range bordered by
this variable. A larger value of this variable may reduce the restriction
For the advanced process, user are suggested to specify a smaller value to
this variable it to make sure the dummy cell is not deviated too much from
slk_max_dummy_load_cell_distance 1203
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_add_dummy_load
set slk_max_dummy_load_cell_distance 10
...
See also
slk_fix_hold_by_add_dummy_load
slk_max_dummy_load_cell_distance
slk_max_dummy_load_cell_count
add_dummy_cell
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.dmy.tcl
slk_max_dummy_load_cell_distance 1204
Tweaker™ Variables Version T-2022.03
slk_max_fanout_target_slk
# Specifies the target slack during fixing max fanout.
Type
Float
Default
0.01
Description
This is the target slack value for max fanout when fixing its violations.
Example
set slk_max_fanout_target_slk 0.02
...
See also
slk_max_cap_target_slk
slk_max_fanout_target_slk 1205
Tweaker™ Variables Version T-2022.03
slk_max_trans_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_fanout/fix_
max_fanout_setting.*.tcl
slk_max_fanout_target_slk 1206
Tweaker™ Variables Version T-2022.03
slk_max_inst_shift_wo_trial_route
# Controls the level threshold of net changing to decide when net need to be
Type
Float
Default
6.4
Description
This variable only works when "_slk_keep_rc_for_small_change" is set to
true.
When a net is modified and considered as an ECO net, Tweaker will estimate
the new RC value on this ECO net if the level of net difference (in um) is
larger than the value specified in this variable. In other words, if the
level of net difference is less than the value defined in this variable,
Tweaker will keep using the original net's RC value to save more runtime.
slk_max_inst_shift_wo_trial_route 1207
Tweaker™ Variables Version T-2022.03
Example
#1 keep rc if level of net change is less than the value below
set slk_max_inst_shift_wo_trial_route 3
See also
_slk_keep_rc_for_small_change
slk_max_inst_shift_wo_trial_route 1208
Tweaker™ Variables Version T-2022.03
slk_max_offset
# Auto-records the maximum offset value after executing "slkdc -check_slack_consistency" command.
Type
Float
Default
empty
Description
After executing "slkdc -check_slack_consistency" command, Tweaker will save
the average offset value into this variable for the following flow control.
Users can use this variable as a threshold to continue or stop the ECO
This variable is commonly used to stop the timing fixing operation if the
Example
...
slkdc -check_slack_consistency
slk_max_offset 1209
Tweaker™ Variables Version T-2022.03
printvar slk_max_offset
See also
slk_avg_offset
slkdc (cmd)
slk_max_offset 1210
Tweaker™ Variables Version T-2022.03
slk_max_path_per_file
# Specifies maximum total number of paths per slack report file during slackin
operation.
Type
Integer
Default
Empty
Description
This variable specifies maximum total number of setup and hold path reports
for each file. Other violation types won't be limited by this variable. If
the user uses the path filter, the ignored path won't be counted also.
The default value is empty and the default maximum total path number is
unlimited.
When this variable is set, the tool only keeps limited total path number in
internal slack db. If paths in the rear part of the report file have worse
slack than paths in the front part of the same file and the path count
reaches the total path limit, the worse ones will be kept.
Users can control the total number of violation count to make sure that
slk_max_path_per_file 1211
Tweaker™ Variables Version T-2022.03
Example
set slk_max_path_per_file 5000
sta_path/setup.rpt.gz
In log file:
......
io time: 00:00:03
hier prefix:
See also
slk_nworst_path_per_file
slk_max_path_per_file 1212
Tweaker™ Variables Version T-2022.03
slk_max_time_borrow
#define max time borrow value
Type
Double
Default
Empty
Description
For latch-based designs, users can use this variable to define the value for
Example
set slk_max_time_borrow 1.0
See also
N/A
slk_max_time_borrow 1213
Tweaker™ Variables Version T-2022.03
slk_max_trans_target_slk
# Specifies the target slack during fixing max transition.
Type
Float
Default
0.01
Description
This variable defines the target slack value when fixing the max transition
violations.
Example
set slk_max_trans_target_slk 0.01
...
slk_max_trans_target_slk 1214
Tweaker™ Variables Version T-2022.03
See also
slk_max_cap_target_slk
slk_max_fanout_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_max_transition/
fix_max_transition_setting.*.tcl
slk_max_trans_target_slk 1215
Tweaker™ Variables Version T-2022.03
slk_merge_twf
# Merges TWF files within the same Tweaker corner.
Type
Boolean
Default
false
Description
If this variable is set to its default value of false, when users input
several TWF files within the same Tweaker corner, Tweaker will update
each TWF file exhaustively which will possibly result in a long run time
issue.
To solve the long run time issue, Tweaker can merge the applied TWF files
which contain the same derate setting (set from "set_timing_derate" command)
into single TWF under the corner and only this merged TWF will get updated.
slk_merge_twf 1216
Tweaker™ Variables Version T-2022.03
Example
set slk_merge_twf true
...
begin_corner
...
twfin ..
slackin ..
twfin ..
slackin ..
twfin ..
slackin ..
...
end_corner
See also
N/A
slk_merge_twf 1217
Tweaker™ Variables Version T-2022.03
slk_min_pulse_width_target_slk
# Specifies the target slack during fixing minimum pulse width.
Type
Float
Default
0.01
Description
This is the target slack value for minimum pulse width when fixing its
Example
set slk_min_pulse_width_target_slk 0.02
...
See also
slk_min_pulse_width_target_slk 1218
Tweaker™ Variables Version T-2022.03
slk_max_cap_target_slk
slk_max_trans_target_slk
slk_max_fanout_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_min_pulse_width/
fix_min_pulse_width_setting.sz.tcl
slk_min_pulse_width_target_slk 1219
Tweaker™ Variables Version T-2022.03
slk_minimize_si
# Tweaker variable to enable or disable the minimize si feature during fix
setup/hold.
Type
Boolean
Default
false
Description
When fix setup/hold with this var enabled, Tweaker will also optimize the
the paths.
"slk_minimize_si_criteria".
Example
set slk_minimize_si true
slk_minimize_si 1220
Tweaker™ Variables Version T-2022.03
See also
slk_minimize_si
slk_minimize_si 1221
Tweaker™ Variables Version T-2022.03
slk_minimize_si_criteria
# Tweaker variable to decide the criteria of nets to be touched when minimize si
is enabled.
Type
Float
Default
0.050
Description
When fix setup/hold with the var "slk_minimize_si" enabled, Tweaker will
"slk_minimize_si_criteria".
Example
set slk_minimize_si true
slk_minimize_si_criteria 1222
Tweaker™ Variables Version T-2022.03
See also
slk_minimize_si
slk_minimize_si_criteria 1223
Tweaker™ Variables Version T-2022.03
slk_new_delay_insertion
# Enable or disables a different approach of normal delay insertion.
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will adopt
normal delay insertion (non-HFI insertion) method which will consider user
specified preferred delay cell distance range to execute the delay buffer
insertion.
When this variable is set to true, Tweaker will enable a different normal
delay insertion method which will give its best effort to follow the
delay buffers listed in the delay buffer list without any user specified
This feature is for specific usage and not recommended to be set true for
slk_new_delay_insertion 1224
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_delay_insertion true
...
See also
slk_fix_hold_by_delay_insertion
slk_delay_insertion_buff_list
slk_new_delay_insertion 1225
Tweaker™ Variables Version T-2022.03
slk_normalized_derate_ref_corner
# Specify a timing corner as the derating referenced corner.
Type
String
Default
empty
Description
After consistency check stage, Tweaker will pick up a base corner which
has the smallest cell delay compared to other corners, and then define the
Users are allowed to specify a timing corner to this variable, Tweaker will
factors.
By default, Tweaker will auto apply the worst corner which is the largest
slk_normalized_derate_ref_corner 1226
Tweaker™ Variables Version T-2022.03
Example
set slk_normalized_derate_ref_corner WCL
See also
set_normalized_derate (cmd)
slk_normalized_derate_ref_corner 1227
Tweaker™ Variables Version T-2022.03
slk_nworst_path_per_file
# Specifies number of worst paths per endpoint per slack report file during
slackin operation.
Type
Integer
Default
empty
Description
This variable specifies number of worst paths per endpoint per slack report
file during slackin operation. If the user uses the path filter, the ignored
the same time, the tool will keep the nworst path per endpoint and also
Users can control the total number of violation count by using nworst value
slk_nworst_path_per_file 1228
Tweaker™ Variables Version T-2022.03
Example
set slk_nworst_path_per_file 10
In log file:
......
io time: 00:00:03
hier prefix:
See also
slk_max_path_per_file
slk_nworst_path_per_file 1229
Tweaker™ Variables Version T-2022.03
slk_on_route_buffer_insertion
# Enables or disables the ability of on-route insertion function during DRV,
Type
Boolean
Default
false
Description
By setting this variable to its default value of false, Tweaker will perform
On the contrary, when this variable is set to true, Tweaker will perform
the insertion operation along with the original routing pattern of the
violated path.
slk_on_route_buffer_insertion 1230
Tweaker™ Variables Version T-2022.03
Example
set slk_on_route_buffer_insertion true
set slk_on_route_search_range 5
...
slkfix -hold
See also
slk_on_route_search_range
slk_on_route_buffer_insertion 1231
Tweaker™ Variables Version T-2022.03
slk_on_route_search_range
# Specifies the search range during the on-route buffer insertion
Type
Integer
Default
3
Description
This variable defines the search range of insertion operation when on-route
A larger search range will increase the possibility of finding a free space,
suggested.
Example
slk_on_route_search_range 1232
Tweaker™ Variables Version T-2022.03
set slk_on_route_search_range 3
...
...
See also
slk_on_route_buffer_insertion
slk_on_route_search_range 1233
Tweaker™ Variables Version T-2022.03
slk_output_clock_group_comment
# Tweaker dumped ECO TCL with ECO information.
Type
Boolean
Default
false
Description
When this variable is enabled, Tweaker will write clock group and endpoint
information into ECO TCL if the endpoints has violation paths going through.
These information can be further used for post processing such as filtering
Without post processing procedure, users are also able to specify the
Example
set slk_output_clock_group_comment true
...
slk_output_clock_group_comment 1234
Tweaker™ Variables Version T-2022.03
...
#===== An example of ECO TCL with clock group and end point info =====
# current_instance
# current_instance "U_top"
# current_instance
See also
set slk_output_clock_group_comment true
ecotclout (cmd)
slk_output_clock_group_comment 1235
Tweaker™ Variables Version T-2022.03
slk_output_pin_count_building_entire_cell_domain
# Specify the output pin count threshold for a cell that all pins are monitored during auto fixing.
Type
String
Default
2
Description
During auto fixing, Tweaker will create ECO domain based on specified
By default, any cell in the domain with a pin number larger than or
equal to 2, Tweaker will monitor all output pins of the cell to avoid
timing degradation.
Example
set slk_output_pin_count_building_entire_cell_domain 2
See also
slk_output_pin_count_building_entire_cell_domain 1236
Tweaker™ Variables Version T-2022.03
N/A
slk_output_pin_count_building_entire_cell_domain 1237
Tweaker™ Variables Version T-2022.03
slk_page_size
# Specifies the value for allocating memory pool.
Type
Integer
Default
20
Description
Specifies a value to allocate memory pool during auto fixing. The value must
This is for internal usage, and user don't need to modify it.
Example
set slk_page_size 30
See also
N/A
slk_page_size 1238
Tweaker™ Variables Version T-2022.03
slk_partition_design_list
# Tweaker auto-generated variable that control the design list of each partition
Type
String
Default
empty
Description
When auto-partition is enabled, Tweaker will generate run.tcl for each
run.tcl that controls the design list that will be fixed for each partition.
Normally, it's not necessary for user to modify the content of this
variable.
Example
set slk_partition_design_list { sub_1 sub_ 2 }
slk_partition_design_list 1239
Tweaker™ Variables Version T-2022.03
See also
auto_partition
auto_partition_auto_submit
auto_partition_design_list
auto_partition_merge_interface_eco
auto_partition_number
auto_partition_queue_command
slk_partition_if
slk_partition_design_list 1240
Tweaker™ Variables Version T-2022.03
slk_partition_if
# Tweaker auto-generated variable that defines whether the partition is for
Type
Boolean
Default
empty
Description
When auto-partition is enabled, Tweaker will generate run.tcl for each
run.tcl that defines whether the partition is for interface fixing or not.
Normally, it's not necessary for user to modify the content of this
variable.
Example
set slk_partition_if true
slk_partition_if 1241
Tweaker™ Variables Version T-2022.03
See also
auto_partition
auto_partition_auto_submit
auto_partition_design_list
auto_partition_merge_interface_eco
auto_partition_number
auto_partition_queue_command
slk_partition_design_list
slk_partition_if 1242
Tweaker™ Variables Version T-2022.03
slk_path_base_analysis
# Enables or disables Tweaker internal PBA mode.
Type
Boolean
Default
false
Description
PBA (Path Base Analysis) mode is based on STA tool environment setting.
Tweaker handles STA data in PBA mode by using "PBA offset" on timing paths
time to calculate the timing arc. In PBA mode, the cell/net delay
calculation is based on real path input pin, so the PBA path delay is
PBA offset of slack paths are exceeding default threshold of 250ps, Tweaker
will report the inconsistency error message and continue the run. This PBA
slk_path_base_analysis 1243
Tweaker™ Variables Version T-2022.03
variable.
Example
set slk_path_base_analysis true
slkdc -check_slack_consistency
See also
slk_path_base_analysis_threshold
slk_consistency_check_fail
slkdc (cmd)
slk_path_base_analysis 1244
Tweaker™ Variables Version T-2022.03
slk_path_base_analysis_threshold
# Specifies the PBA mode inconsistency threshold.
Type
Integer
Default
250
Description
PBA (Path Base Analysis) mode is based on STA tool environment setting.
Tweaker handles STA data in PBA mode by using "PBA offset" on timing paths.
time to calculate the timing arc. In PBA mode, the cell/net delay
calculation is based on real path input pin, so the PBA path delay is
paths are exceeding the value specified in this variable, Tweaker will
slk_path_base_analysis_threshold 1245
Tweaker™ Variables Version T-2022.03
Example
set slk_path_base_analysis true
slkdc -check_slack_consistency
See also
slk_path_base_analysis
slk_consistency_check_fail
slkdc (cmd)
slk_path_base_analysis_threshold 1246
Tweaker™ Variables Version T-2022.03
slk_path_reduction_with_edge
# Enable or disables the "edge" as a factor during extract report.
Type
Boolean
Default
false
Description
While doing the report extraction, if there are many identical paths,
Tweaker will keep the dominated one. When this variable is set to its
default value of false, the definition of identical paths are simply defined
as paths which is passing through the same instance pins. When this variable
is set to true, the definition of identical paths are not simply the paths
which is passing through the same instance pins but also with same rising
In other words, when this variable is set to true, if two paths are passing
through the same instance pins but with different rising/fall edges among
them, these two paths are considered as non-identical paths and both will be
slk_path_reduction_with_edge 1247
Tweaker™ Variables Version T-2022.03
Example
set slk_path_reduction_with_edge true
See also
N/A
slk_path_reduction_with_edge 1248
Tweaker™ Variables Version T-2022.03
slk_path_reduction_with_report_path_count
# Enables the ability to determine the critical corner based on path count
Type
Boolean
Default
true
Description
During the extract_report operation, Tweaker keeps the worst path only to
reduce the path count. However, sometimes there are more than one path with
the worst slack exist in different corners. By applying this variable to the
default value true, Tweaker will base on the violation count in each corner
Example
Assume corner A has 200 paths and corner B has 100 paths.
When doing the extract_report, if the path exist in both corner A and B and
slk_path_reduction_with_report_path_count 1249
Tweaker™ Variables Version T-2022.03
has the same slack. The path in corner A will be kept since coner A has more
tweaker_shell> extract_report
See also
extract_report (cmd)
slk_path_reduction_with_report_path_count 1250
Tweaker™ Variables Version T-2022.03
slk_pocv_used_worst_distance_based_derated
# Always use the worst distance derated of every cell for POCV.
Type
Boolean
Default
false
Description
By default, Tweaker will hornor the POCV distance table to calculate the
When you enable this variable, Tweaker will always use the worst POCV
Example
...
...
begin_corner ss
slk_pocv_used_worst_distance_based_derated 1251
Tweaker™ Variables Version T-2022.03
...
...
end_corner ss
...
...
...
See also
read_pocvm
set_group
slk_pocv_used_worst_distance_based_derated 1252
Tweaker™ Variables Version T-2022.03
slk_power_eco_dont_touch_complex_cell
# Don't touch complex cell during Power ECO
Type
Boolean
Default
false
Description
During Tweaker Power ECO, If we don't want Tweaker to touch complex cells
which have two output pins ( Ex. Full_ADDER / Half_ADDER ), we can enable
this variable.
Example
set slk_power_eco_dont_touch_complex_cell true
See also
NA
slk_power_eco_dont_touch_complex_cell 1253
Tweaker™ Variables Version T-2022.03
slk_power_eco_enable_si_aware
# Enables or disables the SI aware mechanism during Power Eco.
Type
Boolean
Default
false
Description
Tweaker itself has the SI aware mechanism for Power Eco and fix hold.
The SI aware mechanism involves the identification of "weak nets" which are
with the TWF file is a requirement of the output. The output can be exported
This is the main switch for enabling the SI aware feature for Power ECO.
Example
set slk_power_eco_enable_si_aware true
slk_power_eco_enable_si_aware 1254
Tweaker™ Variables Version T-2022.03
set slk_si_aware_null_clock_period 1
...
slkfix -power_eco
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_power_eco_enable_si_aware 1255
Tweaker™ Variables Version T-2022.03
slk_power_eco_enable_vt_ratio
# Tweaker variable to enable or disable the Power Eco vt ratio feature.
Type
Boolean
Default
false
Description
By default Tweaker will do Power Eco for leakage optimization. But when
this variable is enabled, Tweaker's Power Eco will turn into vt ratio
function where its purpose is to honor the user specified vt ratio target
slk_power_eco_enable_vt_ratio 1256
Tweaker™ Variables Version T-2022.03
Example
set slk_power_eco_enable_vt_ratio true
...
slkfix -power_eco
See also
slk_vt_cell_naming
slk_vt_ratio_target
slk_vt_ratio_tolerance
slk_vt_ratio_type
slk_power_eco_enable_vt_ratio 1257
Tweaker™ Variables Version T-2022.03
slk_power_eco_final_stage
# Tweaker variable to enable or disable the final stage of Power ECO
Type
Boolean
Default
false
Description
When Power ECO is executed, usually Tweaker will base on the Power ECO
steps to decide the hurd size to be swapped at once. But there is always
chance that some comp cannot be swapped due to the hurd size is large.
By enabling this variable, after regular Power ECO run Tweaker will
initiate a final stage to find all available candidates and swap them
one by one with some run time cost to achieve the maximum leakage saving.
Example
set slk_power_eco_final_stage
...
slk_power_eco_final_stage 1258
Tweaker™ Variables Version T-2022.03
slkfix -power_eco
See also
N/A
slk_power_eco_final_stage 1259
Tweaker™ Variables Version T-2022.03
slk_power_eco_fix_dominate_transition
# Enables or disables a "extract transition" process during Power Eco.
Type
Boolean
Default
true
Description
By setting this variable to its default variable of true, it will enable
higher vt cells which is to reduce the leakage issue, but also from higher
Example
set slk_power_eco_fix_dominate_transition false
See also
slk_power_eco_fix_dominate_transition 1260
Tweaker™ Variables Version T-2022.03
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_fix_dominate_transition 1261
Tweaker™ Variables Version T-2022.03
slk_power_eco_ignore_power_net
# Enables or disables the tie high/low cell related domain.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will "not"
create the tie high/low cell related domain. Hence some special cells such
as spare cells which are connected to tie high/low will not be included
during the creation of Power Eco domain. By setting this variable to false,
Tweaker will be able to swap those cells according to the mapping rule.
Example
set slk_power_eco_ignore_power_net false
See also
slk_power_eco_ignore_power_net 1262
Tweaker™ Variables Version T-2022.03
N/A
slk_power_eco_ignore_power_net 1263
Tweaker™ Variables Version T-2022.03
slk_power_eco_max_trans_drv
# Specifies the honored maximum transition value during Power ECO.
Type
Float
Default
empty
Description
By setting this variable to its default value of an empty value, Tweaker
will monitor the transition value and compare it with the value which is
If this variable is specified, Tweaker will also take this absolute value
Power ECO.
Example
set_drv_factor 0.8
slk_power_eco_max_trans_drv 1264
Tweaker™ Variables Version T-2022.03
...
slkfix -power_eco
See also
slk_fix_hold_max_trans_drv
slk_fix_setup_max_trans_drv
slk_power_eco_max_trans_drv 1265
Tweaker™ Variables Version T-2022.03
slk_power_eco_post_legalize
# Legalizes location for overlapped eco cells during Power Eco.
Type
Boolean
Default
false
Description
During Power ECO process, if "slk_auto_fix_fit_to_free_space" variable is
set to true, Tweaker will consume more run time during Power ECO process for
each swap. To speed up the entire Power Eco process, user are suggested to
variable true to do the legalization at the end of Power Eco all at once.
Example
set slk_power_eco_post_legalize true
See also
slk_power_eco_post_legalize 1266
Tweaker™ Variables Version T-2022.03
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_post_legalize 1267
Tweaker™ Variables Version T-2022.03
slk_power_eco_priority_list
# Tweaker variable to decide the priority of vt cells to be swapped.
Type
String
Default
empty
Description
By default (Power ECO 2013) Tweaker will base on the leakage number to swap
each vt down.
If Power ECO version 2015_ss or 2015_js is used, then Tweaker may based
The benefit of this is to see the much leakage save can be introduced
Example
set _slk_power_eco_version 2015_ss
slk_power_eco_priority_list 1268
Tweaker™ Variables Version T-2022.03
...
slkfix -power_eco
See also
N/A
slk_power_eco_priority_list 1269
Tweaker™ Variables Version T-2022.03
slk_power_eco_resolution
# Defines the Power Eco resolution.
Type
Integer / String
Default
10
Description
This variable defines number of effort for Tweaker when doing the Power ECO.
instances will be pulled down while consuming more runtime in the process.
preferred value.
Example
set slk_power_eco_resolution 20
slk_power_eco_resolution 1270
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_resolution 1271
Tweaker™ Variables Version T-2022.03
slk_power_eco_sorting_criteria
# Set the sorting criteria of sizing candidates in power eco flow.
Type
String
Default
leakage
Description
In power eco flow, Tweaker sizes instance to optimize power. For leakage
power eco, instances could be sized to low leakage lib cell types. The
For dynamic power eco, the sorting criteria could be "area" to reduce the
For mixed power eco, the sorting criteria could be "timing" to reduce the
cell speed and the corresponding cell leakage and internal power.
This variable control the criteria, and the candidates are from the auto
sizing rule.
slk_power_eco_sorting_criteria 1272
Tweaker™ Variables Version T-2022.03
Example
set slk_leakage_power_lib wc
slkfix -create_power_eco_domain
......
slkfix -power_eco
See also
slk_dynamic_peco_cost
slk_dynamic_power_corner
slk_leakage_power_lib
slk_auto_sizing_rule
$DORADO_HOME/etc/template/tweaker_t1/power_eco
slk_power_eco_sorting_criteria 1273
Tweaker™ Variables Version T-2022.03
slk_power_eco_swap_list_by_design_filename
# Generates Power Eco swap list for each sub design.
Type
String
Default
empty
Description
For hierarchical design, Tweaker can generate Power Eco swap design-based
Swap cell list which includes swap instances hier names and its original
cell types before Power ECO, is written out during power ECO. The list will
be used for setup timing recovery after power ECO. If this variable is
specified, the output filename will be the specified content plus the design
Please note that when this var is applied, the same old matched prefix files
under the specified directory (may come from another power eco run) will be
slk_power_eco_swap_list_by_design_filename 1274
Tweaker™ Variables Version T-2022.03
Example
set slk_power_eco_swap_list_by_design_filename power_eco_swap
### will remove previous files like executing "rm power_eco_swap.* -f'
### power_eco_swap.sub_design1
### power_eco_swap.sub_design2
### power_eco_swap.top
See also
slk_power_eco_swap_list_filename
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_swap_list_by_design_filename 1275
Tweaker™ Variables Version T-2022.03
slk_power_eco_swap_list_filename
# Specifies the Power ECO original cell swap list.
Type
String
Default
empty
Description
By using this variable, users can assign Tweaker to dump the list of cell(s)
which are swapped during the power ECO operation. This list will contain the
original cell types before the power ECO operation. This list is essential
Please note that when this var is applied, the same old matched file
under the specified directory (may come from another power eco run) will be
slk_power_eco_swap_list_filename 1276
Tweaker™ Variables Version T-2022.03
Example
set slk_power_eco_swap_list_filename swap_cell_list.txt
See also
slkfix -power_eco
slk_auto_sizing_instance_file
$Tweaker_Install_DIR/etc/template/tweaker_t1/recovery/timing_recovery.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_swap_list_filename 1277
Tweaker™ Variables Version T-2022.03
slk_power_eco_target_slk
# Controls the Power Eco domain.
Type
Float
Default
0.5
Description
This variable defines how Tweaker should build up the Power Eco domain by
variable.
Example
set slk_power_eco_target_slk 0.1
See also
slk_power_eco_target_slk 1278
Tweaker™ Variables Version T-2022.03
slk_fix_setup_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_target_slk 1279
Tweaker™ Variables Version T-2022.03
slk_power_eco_undo_extra_domain
# Enables or disables the "extract margin" process during Power Eco.
Type
Boolean
Default
false
Description
By setting this variable to true, it will enable Tweaker to do bi-direction
vt swap. Not only from lower vt cells to higher vt cells to do the leakage
saving, but also from higher vt cells to lower vt cells on extra Power Eco
saving. This variable is mostly used for experimental usage and user are not
Example
set slk_power_eco_undo_extra_domain true
slk_power_eco_undo_extra_domain 1280
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/power_eco/power_eco.tcl
slk_power_eco_undo_extra_domain 1281
Tweaker™ Variables Version T-2022.03
slk_power_eco_watch_hold
# Enables or disables Tweaker to monitor hold time margin during Power ECO.
Type
Boolean
Default
false
Description
This variable offers the flexibility for users to let Tweaker watch hold
time margin in a conservative Power ECO run or not to watch hold time margin
in an aggressive Power ECO run. By it's default value as false which can
Example
set slk_power_eco_watch_hold true
See also
slk_power_eco_watch_peer_setup (var)
slk_power_eco_watch_hold 1282
Tweaker™ Variables Version T-2022.03
slk_power_eco_watch_input_drv
# Enable/Disable watching cell's input drv in leakage recovery.
Type
Boolean
Default
false
Description
Tweaker watches for cell's output drv only in leakage recovery due to sizing
down cell should not impact input drv. However, there are cases where sizing
down cell might impcat its input drv. Therefore, Tweaker can watch for its
Example
tweaker_shell> set slk_leakage_power_lib ss
slk_power_eco_watch_input_drv 1283
Tweaker™ Variables Version T-2022.03
See also
[ VAR ] slk_power_eco_watch_hold
[ VAR ] slk_power_eco_watch_peer_setup
[ CMD ] slkfix
slk_power_eco_watch_input_drv 1284
Tweaker™ Variables Version T-2022.03
slk_power_eco_watch_peer_setup
# Enables or disables Tweaker to monitor the TWF setup margins during Power ECO.
Type
Boolean
Default
false
Description
By setting this variable to true, Tweaker monitors setup margin and
In aggressive Power ECO, you should this variable to false (the default)
For conservative flow, you should set this variable to true. Tweaker
watches peer setup margin and prevents any new generated setup
Example
set slk_power_eco_watch_peer_setup false
slk_power_eco_watch_peer_setup 1285
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_power_eco_watch_peer_setup 1286
Tweaker™ Variables Version T-2022.03
slk_preferred_delay_cell_distance_range
# Specifies the preferred distance of delay insertion algorithm.
Type
Integer
Default
20 200
Description
When a delay buffer or a chain of delay buffers were inserted during autofix
by normal delay insertion, Tweaker will use the value specified in this
The rule is that the total eco net global route wire length aside an
inserted buffer should be at least larger than the first value of the
for first value and a large such as 9999 for the second value to let Tweaker
slk_preferred_delay_cell_distance_range 1287
Tweaker™ Variables Version T-2022.03
Example
set slk_preferred_delay_cell_distance_range 5 9999
See also
slk_fix_hold_by_delay_insertion
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.1.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.2.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.3.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.bi.4.tcl
slk_preferred_delay_cell_distance_range 1288
Tweaker™ Variables Version T-2022.03
slk_preferred_repeater_distance
# Specify the distance for simple repeater insertion method.
Type
Integer
Default
200
Description
When doing transition fixing operation, Tweaker offer is a switch variable
algorithm.
Example
slk_preferred_repeater_distance 1289
Tweaker™ Variables Version T-2022.03
set slk_fix_max_trans_by_repeater_insertion
...
See also
slk_fix_max_trans_without_dc
slk_preferred_repeater_distance 1290
Tweaker™ Variables Version T-2022.03
slk_range_for_add_dummy_load
# Specifies the slack range of small hold violations to be fixed by add dummy
method.
Type
Float Float
Default
-0.05 0
Description
Add dummy fixing is a unique strategy for fixing small hold violations.
User can specify the desired range for fixing the small hold violation
Example
set slk_fix_hold_by_add_dummy_load true
...
slk_range_for_add_dummy_load 1291
Tweaker™ Variables Version T-2022.03
See also
slk_fix_hold_by_add_dummy_load, slk_max_dummy_load_cell_distance,
slk_max_dummy_load_cell_count
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.dmy.tcl
slk_range_for_add_dummy_load 1292
Tweaker™ Variables Version T-2022.03
slk_rce_blockage_min_width
# Specify minimum blockage width to be ignored while calculating RC estimation
Type
Integer
Default
5
Description
Tweaker's RC estimation considers blockage while predicting delay. In some
cases there're blockage so thin which is not meant to be there. Hence, this
Example
tweaker_shell> set slk_rce_blockage_min_width 10
See also
slk_rce_blockage_min_width 1293
Tweaker™ Variables Version T-2022.03
N/A
slk_rce_blockage_min_width 1294
Tweaker™ Variables Version T-2022.03
slk_rce_long_wire_length
# Specifies the threshold length for a net to be qualified as an "RCE long wire".
Type
Integer
Default
60
Description
For new wires (wire with undefined RC in SPEF) whose lengths are longer than
more pessimistic (derating > 1.0) or more optimistic (derating < 1.0) during
"slk_rce_long_wire_unit_r_derate" and
RCE (RC estimation) deratings, please refer to the man pages of the above
mentioned variables.
Normally the unit R derate will affect the net transition calculation and
slk_rce_long_wire_length 1295
Tweaker™ Variables Version T-2022.03
During the insertion of hold buffers, Tweaker will also take this variable
into its insertion placement consideration. When the length of the inserted
defined as a long wire. So that Tweaker will place the buffer much closer
to the driver/sink port to avoid any potential routing which will cause
For the advanced process, users are suggested to set a reasonable smaller
Example
set slk_rce_long_wire_length 50
slk_rce_long_wire_unit_c_derate 1.1
slk_rce_long_wire_unit_r_derate 1.2
set slk_delay_insertion_keep_long_wire_slew
See also
slk_rce_long_wire_unit_c_derate
slk_rce_long_wire_unit_r_derate
slk_delay_insertion_keep_long_wire_slew
slk_rce_long_wire_length 1296
Tweaker™ Variables Version T-2022.03
slk_rce_long_wire_length 1297
Tweaker™ Variables Version T-2022.03
slk_rce_long_wire_unit_c_derate
# Specifies derating factor for the unit C of RCE long wires.
Type
Float
Default
1.0
Description
During ECO operations such as cell insertion, cell bypassing, and cell
removal, new wires whose RC values are not defined in SPEF files are
usually created.
This variable defines the estimation capacitive loads factor which will be
assigned to these new wires based on the wire lengths and the unit C
A more pessimistic (derating > 1.0) or more optimistic (derating < 1.0)
resistive derating can be applied as long as their lengths are above the
For more information on the threshold length, please refer to the man page
of the variable.
slk_rce_long_wire_unit_c_derate 1298
Tweaker™ Variables Version T-2022.03
Normally, the unit R derate will affect the net transition calculation and
net.
Example
set slk_rce_long_wire_length 50
See also
slk_rce_long_wire_length
slk_rce_long_wire_unit_r_derate
slk_rce_long_wire_unit_c_derate 1299
Tweaker™ Variables Version T-2022.03
slk_rce_long_wire_unit_r_derate
# Specifies derating factor for the unit R of RCE long wires.
Type
Float
Default
1.0
Description
During ECO operations such as cell insertion, cell bypassing, and cell
removal, new wires whose RC values are not defined in SPEF files are
usually created.
This variable defines the estimation resistive loads factor which will be
assigned to these new wires based on the wire lengths and the unit R
A more pessimistic (derating > 1.0) or more optimistic (derating < 1.0)
For more information on the threshold length, please refer to the man page
of the variable.
slk_rce_long_wire_unit_r_derate 1300
Tweaker™ Variables Version T-2022.03
Normally, the unit R derate will affect the net transition calculation and
net.
Example
set slk_rce_long_wire_length 50
See also
slk_rce_long_wire_length
slk_rce_long_wire_unit_c_derate
slk_rce_long_wire_unit_r_derate 1301
Tweaker™ Variables Version T-2022.03
slk_rce_refer_detail_route_factor
# A threshold for the quotient of the detail route length and the global route
Type
Float
Default
1.5
Description
Tweaker calculates the unit-R and unit-C of all nets in the design, as a
The unit-R and unit-C values of a net are generally calculated as the
quotients of the R and the C values of the net from SPEF, and the estimated
global route length of the net. However Tweaker estimates the global route
of a net in two different ways : the first kind of global route would avoid
just routing blockages, the second kind would avoid routing and placement
blockages. Tweaker uses these two different kinds of global route estimates
If the ratio of the detail route length of a net, to the first kind of the
slk_rce_refer_detail_route_factor 1302
Tweaker™ Variables Version T-2022.03
estimated global route length of the net, is lower than the value specified
by this variable, Tweaker uses the first kind of global route length of the
net for the calculation of the unit-R and unit-C values of the net.
Otherwise, the second kind of the estimated global route length of the net
Example
set slk_rce_refer_detail_route_factor 2.0
See also
N/A
slk_rce_refer_detail_route_factor 1303
Tweaker™ Variables Version T-2022.03
slk_read_dominate_path_only
# Enables to only read dominate paths and drv pins during slackin stage
Type
Boolean
Default
false
Description
When this variable is applied to the default value false, Tweaker follows
the path filers specified in slackin command to read the paths and drv pins
By applying this variable to true, Tweaker will do the path extraction during
slackin stage and only the dominate paths and drv pins will be read in.
Besides, the memory usage can be reduaced since those non-dominate paths and
The dominate paths and drv pins are picked up based on the same criteria
slk_read_dominate_path_only 1304
Tweaker™ Variables Version T-2022.03
Example
[CMD] set slk_read_dominate_path_only true
...
See also
extract_report (cmd)
slk_read_dominate_path_only 1305
Tweaker™ Variables Version T-2022.03
slk_read_trans_from_twf
# Reads old format TWF's transition contents.
Type
Boolean
Default
false
Description
This is an obsolete variable.
information from the old format TWF file(s) instead of the SDF file(s).
In the new format of TWF file, the transition information is removed and
Example
set slk_read_trans_from_twf true
twfin ..
slk_read_trans_from_twf 1306
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_read_trans_from_twf 1307
Tweaker™ Variables Version T-2022.03
slk_read_whole_twf
# Enable or disables building up whole design TWF.
Type
Boolean
Default
false
Description
If this variable is set to true, Tweaker will read the TWF information of
the whole design from the timing window file(s) instead of the TWF
Users are recommended to set this variable to true if the users need to
perform manual editing operations to the objects located out of the ECO
domain. Under this situation, timing window information such as setup margin
or hold margin are available to users, in the form of a GUI pop-up window
Example
slk_read_whole_twf 1308
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_read_whole_twf 1309
Tweaker™ Variables Version T-2022.03
slk_refer_spf_unit_r
# Derives the unit R from spef file.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker derives
The derived value could help Tweaker to estimate rc value more accurately
Tweaker will also choose the internal algorithm to derive unit R value
Tweaker process.
User are strongly suggested to keep this variable sets to true under any
circumstance.
slk_refer_spf_unit_r 1310
Tweaker™ Variables Version T-2022.03
Example
set slk_refer_spf_unit_r true
build_unit_rc_table -slack_domain
See also
N/A
slk_refer_spf_unit_r 1311
Tweaker™ Variables Version T-2022.03
slk_repeater_insertion_buff_list
# Specifies the repeater buffer candidates list.
Type
String
Default
empty
Description
This variable specifies the list of buffer cell types which are considered
is left empty, all cell types with the same function as a "buffer" are
Example
set slk_repeater_insertion_buff_list { BUFFD2 BUFFD4 BUFFD8 }
See also
slk_repeater_insertion_buff_list 1312
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_repeater_insertion
slk_fix_max_cap_by_repeater_insertion
slk_fix_max_fanout_by_high_fanout_insertion
slk_fix_noise_by_repeater_insertion
slk_fix_setup_by_repeater_insertion
slk_repeater_insertion_buff_list 1313
Tweaker™ Variables Version T-2022.03
slk_repeater_insertion_clock_buff_list
# Specifies the clock repeater buffer candidates list.
Type
String
Default
empty
Description
This variable specifies the list of clock buffer cell types for repeater
needs to provide clock buffer cells. The specified cells will be considered
Example
set slk_repeater_insertion_clock_buff_list { CLKBUFFD2 CLKBUFFD4 CLKBUFFD8 }
slk_repeater_insertion_clock_buff_list 1314
Tweaker™ Variables Version T-2022.03
See also
slk_repeater_insertion_clock_inverter_list
slk_fix_max_cap_dont_touch_clock_tree
slk_fix_max_fanout_dont_touch_clock_tree
slk_fix_max_trans_dont_touch_clock_tree
slk_fix_noise_dont_touch_clock_tree
slk_repeater_insertion_buff_list
slk_repeater_insertion_clock_buff_list 1315
Tweaker™ Variables Version T-2022.03
slk_repeater_insertion_clock_inverter_list
# Specifies the clock inverter candidates list.
Type
String
Default
empty
Description
This variable specifies the list of clock inverter cell types for repeater
Example
set slk_repeater_insertion_clock_inverter_list { CLKINVD2 CLKINVD4 \
slk_repeater_insertion_clock_inverter_list 1316
Tweaker™ Variables Version T-2022.03
CLKINVD8 }
See also
slk_repeater_insertion_clock_buff_list
slk_fix_max_cap_dont_touch_clock_tree
slk_fix_max_fanout_dont_touch_clock_tree
slk_fix_max_trans_dont_touch_clock_tree
slk_fix_noise_dont_touch_clock_tree
slk_repeater_insertion_inverter_list
slk_repeater_insertion_clock_inverter_list 1317
Tweaker™ Variables Version T-2022.03
slk_repeater_insertion_inverter_list
# Specifies the repeater inverter candidate list.
Type
String
Default
empty
Description
This variable specifies the list of inverter cell types which are considered
left empty, all cell types with the same function as an "inverter" are
Example
set slk_repeater_insertion_inverter_list { INVD2 INVD4 INVD8 }
See also
slk_repeater_insertion_inverter_list 1318
Tweaker™ Variables Version T-2022.03
slk_fix_max_trans_by_repeater_insertion
slk_fix_max_cap_by_repeater_insertion
slk_hfs_use_inverter
slk_fix_setup_by_repeater_insertion
slk_fix_setup_use_inverter
slk_repeater_insertion_inverter_list 1319
Tweaker™ Variables Version T-2022.03
slk_report_cap_unit
# Assigns cap unit in input/output cap report.
Type
String
Default
pf
Description
If there's any cap unit difference between the input cap report for Tweaker
(slackin) or cap report dumped from Tweaker (slkdump) and the one defined at
"slk_cap_unit", users are suggested to define the cap unit of the reports
Example
set slk_report_cap_unit pf
See also
slk_report_cap_unit 1320
Tweaker™ Variables Version T-2022.03
slk_cap_unit
slk_report_cap_unit 1321
Tweaker™ Variables Version T-2022.03
slk_report_divider
# Specifies the hierarchy separator for input slack report(s).
Type
String
Default
/
Description
Specifies the hierarchy separator for input slack report(s).
Example
set slk_report_divider /
set slk_report_divider .
See also
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_report_divider 1322
Tweaker™ Variables Version T-2022.03
slk_report_limit
# Defines the maximum number of report count.
Type
Integer
Default
100
Description
Specifies the allowed maximum number of nets to be reported
Example
set slk_report_limit 1000
See also
report_detour_net (cmd)
slk_report_limit 1323
Tweaker™ Variables Version T-2022.03
slk_report_time_unit
# Assigns time unit in input/output report.
Type
String
Default
ns
Description
If there's any time unit difference between the input report for Tweaker
(slackin) or report dumped from Tweaker (slkdump) and the one defined at
"slk_time_unit", users are suggested to define the time unit of the reports
Example
set slk_report_time_unit ps
See also
slk_time_unit
slk_report_time_unit 1324
Tweaker™ Variables Version T-2022.03
slk_report_time_unit 1325
Tweaker™ Variables Version T-2022.03
slk_sdf_ignore_value
# Enables or disables the ability to ignore the specified value seen at SDF
file.
Type
Float
Default
512
Description
Sometimes STA may output SDF file with hacked contents on for a specific
purpose and those hacked contents normally may contains very large negative
timing update due to these unreal delay, user can instruct Tweaker to ignore
command.
Example
set slk_sdf_ignore_value 9999
slk_sdf_ignore_value 1326
Tweaker™ Variables Version T-2022.03
...
sdfin ..
See also
N/A
slk_sdf_ignore_value 1327
Tweaker™ Variables Version T-2022.03
slk_setup_cost_involve_slew_factor
# Tweaker variable to include transition as a factor in the fix setup cost
function.
Type
Boolean
Default
true
Description
By the default value (true), Tweaker takes the output transition of an
instance as a factor of fix setup cost function during the sizing operation
to decide the fixing order. The reason behind that is that transition
Example
set slk_fix_setup_by_sizing true
slk_setup_cost_involve_slew_factor 1328
Tweaker™ Variables Version T-2022.03
...
See also
slk_setup_cost_one2one_cell_weight
slk_setup_cost_involve_slew_factor 1329
Tweaker™ Variables Version T-2022.03
slk_setup_cost_one2one_cell_weight
# Tweaker variable of weighting factor inside fix setup cost function on
buffer/inverter cells.
Type
Float
Default
1.0
Description
The sizing priority of "one-to-one" cells (buffers or inverters) can be
More size variation of buffers and inverters compared to other cells types
are the common reason for emphasizing the sizing priority of one-to-one
cells.
Example
set slk_fix_setup_by_sizing true
slk_setup_cost_one2one_cell_weight 1330
Tweaker™ Variables Version T-2022.03
...
See also
slk_setup_cost_involve_slew_factor
slk_setup_cost_one2one_cell_weight 1331
Tweaker™ Variables Version T-2022.03
slk_setup_margin_tolerance_for_drv
# Ignores the DRV factor constraint on a peer if its setup margin is larger than
Type
Float
Default
512000000.0 (ns)
Description
During ECO, swapping or insertion activities could be blocked by DRV
could have large setup margins, so that strict DRV factor constraint for
This variable allows a peer instance to ignore the DRV factor constraint
The default value is set to a large number to let the peer instance honored
the constraint set by "set_drv_factor" during the DRV check in the first
place.
slk_setup_margin_tolerance_for_drv 1332
Tweaker™ Variables Version T-2022.03
Example
set_drv_factor 0.7
...
See also
slk_setup_margin_tolerance_for_drv_sub
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_setup_margin_tolerance_for_drv 1333
Tweaker™ Variables Version T-2022.03
slk_setup_margin_tolerance_for_drv_sub
# Ignore the DRV factor constraint on a sub if its setup margin is larger than
Type
Float
Default
512000000.0 (ns)
Description
During ECO, swapping or insertion activities could be blocked by the DRV
could have large setup margins, so that strict DRV factor constraint for
This variable allows a sub instance to ignore the DRV factor constraint
The default value is set to a large number to let the sub instance honored
the constraint set by "set_drv_factor" during the DRV check in the first
place.
slk_setup_margin_tolerance_for_drv_sub 1334
Tweaker™ Variables Version T-2022.03
Example
set_drv_factor 0.7
...
See also
slk_setup_margin_tolerance_for_drv
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_setup_margin_tolerance_for_drv_sub 1335
Tweaker™ Variables Version T-2022.03
slk_setup_splitload_margin
# Setup margin threshold which specifies the sinks categories (critical and non-
Type
Float
Default
0.2
Description
When performing the split load algorithm for fixing setup violations,
Tweaker uses this variable as the threshold in defining the critical and
non-critical sink pin. The high fanouts net with larger setup margin values
as non-critical pins and will be packed together, then connected after the
The smaller value of this variable will decrease the margin on defining
the non-critical pins which will increase the possibility of those pins
slk_setup_splitload_margin 1336
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_setup_by_repeater_insertion true
...
See also
N/A
slk_setup_splitload_margin 1337
Tweaker™ Variables Version T-2022.03
slk_setup_target_slk
# Setup time target slack during autofix.
Type
Float
Default
0.01
Description
This variable contains the target slack value for setup paths when fixing
larger value (e.g. 0.2) for the first fixing round and decrease it gradually
on the following fixing round. This sequence allows Tweaker to fix the hold
paths which contain a larger setup margins prior to the hold paths with
In general, for fixing other constraint violations, user can keep a fixed
Even thought if the setup targets contain a positive slack values, that
slk_setup_target_slk 1338
Tweaker™ Variables Version T-2022.03
paths or pins will be fixed until they meet the target slack specified in
this variable.
Example
set slk_setup_target_slk 0.05
See also
slk_hold_target_slk
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold/fix_hold_
setting.*.tcl
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_setup/fix_setup_
setting.*.tcl
slk_setup_target_slk 1339
Tweaker™ Variables Version T-2022.03
slk_setup_worst_slack
# Indicate setup worst slack in specified corner
Type
Float
Default
Empty
Description
This is not built-in variable.
created corner.
Example
[ CMD ] printvar slk_corner_list
----------------------------------------------------------------------------
slk_setup_worst_slack 1340
Tweaker™ Variables Version T-2022.03
----------------------------------------------------------------------------
----------------------------------------------------------------------------
slk_setup_worst_slack(ss_cworst_norm) -1.388
----------------------------------------------------------------------------
----------------------------------------------------------------------------
slk_setup_worst_slack(ff_cworst_norm) 3.195
slk_setup_worst_slack(ss_cworst_norm) -1.388
See also
slk_corner_list
slk_setup_worst_slack_corner
slk_hold_worst_slack_corner
slk_hold_worst_slack
slk_setup_worst_slack 1341
Tweaker™ Variables Version T-2022.03
slk_normalized_factor
slk_setup_worst_slack 1342
Tweaker™ Variables Version T-2022.03
slk_setup_worst_slack_corner
# Indicate the corner name which contains the setup worst slack
Type
String
Default
Empty
Description
This is read only variable. The default value is empty.
are built. This variable indicates the corner which contains the setup worst
slack.
The following commands will update the slack database. When the setup worst
slack in TWF is updated, the setup worst slack corner name is also updated
in this variable.
slkdb -ignore_......
slkdb -dont_touch_......
slkdb -ignore_if_twf_slack
slk_setup_worst_slack_corner 1343
Tweaker™ Variables Version T-2022.03
slkdb -update_twf_by_path
slkdb -update_twf_by_pba_endpoint
slkdb -update_twf_endpoint
add_slk_uncertainty
Example
[ CMD ] printvar slk_setup_worst_slack_corner
-------------------------------------------------------------------------
See also
slk_corner_list
slk_hold_worst_slack_corner
slk_hold_worst_slack
slk_setup_worst_slack
slk_normalized_factor
slk_setup_worst_slack_corner 1344
Tweaker™ Variables Version T-2022.03
slk_si_aware_clock_period_factor
# Clock period percentage setting for determining weak net candidates.
Type
Float
Default
0.1
Description
The SI aware mechanism involves the identification of "weak nets" which are
potentially prone to SI. If the slack value of a net's sink pin is smaller
to the multiplication result of sink pin's clock period and the specified
factor, this net is categorized as a weak net "candidate", but not a "real"
net yet. For more information on the qualification of a "real" weak net,
constraint wires.
Example
slk_si_aware_clock_period_factor 1345
Tweaker™ Variables Version T-2022.03
See also
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_si_aware_clock_period_factor 1346
Tweaker™ Variables Version T-2022.03
slk_si_aware_long_wire_length
# A length threshold for differentiating "SI aware long wires" from "SI aware
short wires".
Type
Integer
Default
200
Description
Tweaker is using the threshold length specified in this variable to classify
latent weak nets into two types: long wires and short wires. Wire with
longer lengths compared to the specified value are considered as long wires,
while those with shorter length compared to the specified value are
Tweaker has different standards for the long and the short wires when
slk_si_aware_long_wire_length 1347
Tweaker™ Variables Version T-2022.03
For more information on the identification of "real" weak nets, please refer
Example
set slk_si_aware_long_wire_length 100
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_si_aware_long_wire_length 1348
Tweaker™ Variables Version T-2022.03
slk_si_aware_long_wire_slew
# A standard for qualifying SI sensitive weak nets.
Type
Float
Default
0.4
Description
This variable serves as one of the two elements of the standard for
qualifying the "weak net candidate" to become the "real weak net" for
"slk_si_aware_long_wire_slew_factor" variable.
If the transition value of a "weak net candidate" sink pin is larger than
specified slew value, or larger than the multiplication result of sink pin's
long wires.
slk_si_aware_long_wire_slew 1349
Tweaker™ Variables Version T-2022.03
When the real weak nets have been identified, the corresponding SI-aware
mechanism handles weak nets differently from non-weak nets during autofix
operations. The identified real weak nets become the targets of the SI
Example
set slk_si_aware_long_wire_slew 0.2
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew_factor
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_fix_hold_enable_si_aware
slk_power_eco_enable_si_aware
slk_si_aware_long_wire_slew 1350
Tweaker™ Variables Version T-2022.03
slk_si_aware_long_wire_slew_factor
# A standard for qualifying SI sensitive weak nets.
Type
Float
Default
0.04
Description
This variable serves as one of the two elements of the standard for
qualifying the "weak net candidate" to become the "real weak net"
"slk_si_aware_long_wire_slew" variable.
multiplication result of sink pin's clock period and the specified factor,
on long wires.
When the real weak nets have been identified, the corresponding SI-aware
slk_si_aware_long_wire_slew_factor 1351
Tweaker™ Variables Version T-2022.03
mechanism handles weak nets differently from non-weak nets during autofix
operations. The identified real weak nets become the targets of the SI
Example
set slk_si_aware_long_wire_slew_factor 0.1
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_fix_hold_enable_si_aware
slk_power_eco_enable_si_aware
slk_si_aware_long_wire_slew_factor 1352
Tweaker™ Variables Version T-2022.03
slk_si_aware_null_clock_period
# Clock period setting determining weak net candidates.
Type
Float
Default
10.0 (ns)
Description
Users are recommended to read the man page of another Tweaker variable
variable.
If a sink pin of a net does not carry clock period information which is
obtained from TWF, the period specified by this variable will be assigned
to the sink pin as its clock period, therefore the weak net identification
unconstraint wire.
slk_si_aware_null_clock_period 1353
Tweaker™ Variables Version T-2022.03
Example
set slk_si_aware_null_clock_period 2
See also
slk_si_aware_clock_period_factor
slk_si_aware_long_wire_length
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_si_aware_short_wire_slew_factor
slk_si_aware_short_wire_slew
slk_si_aware_null_clock_period 1354
Tweaker™ Variables Version T-2022.03
slk_si_aware_short_wire_slew
# A standard for qualifying SI sensitive weak nets.
Type
Float
Default
0.4
Description
This variable serves as one of the two elements of the standard for
qualifying the "weak net candidates" to become the "real weak net" for
"slk_si_aware_short_wire_slew_factor" variable.
If the transition value of a "weak net candidate" sink pin is larger than
specified slew value, or larger than the multiplication result of sink pin's
short wires.
slk_si_aware_short_wire_slew 1355
Tweaker™ Variables Version T-2022.03
When the real weak nets have been identified, the corresponding SI-aware
mechanism handles weak nets differently from non-weak nets during autofix
operations. The identified real weak nets become the targets of the SI
Example
set slk_si_aware_short_wire_slew 0.2
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_short_wire_slew_factor
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_fix_hold_enable_si_aware
slk_power_eco_enable_si_aware
slk_si_aware_short_wire_slew 1356
Tweaker™ Variables Version T-2022.03
slk_si_aware_short_wire_slew_factor
# Tweaker variable serving as a standard for qualifying SI sensitive weak nets.
Type
Float
Default
0.1
Description
This variable serves as one of the two elements of the standard for
qualifying the "weak net candidate" to become the "real weak net"
"slk_si_aware_short_wire_slew" variable.
multiplication result of sink pin's clock period and the specified factor,
on long wires
When the real weak nets have been identified, the corresponding SI-aware
slk_si_aware_short_wire_slew_factor 1357
Tweaker™ Variables Version T-2022.03
mechanism handles weak nets differently from non-weak nets during autofix
operations. The identified real weak nets become the targets of the SI
Example
set slk_si_aware_short_wire_slew_factor 0.2
See also
slk_si_aware_clock_period_factor
slk_si_aware_null_clock_period
slk_si_aware_long_wire_length
slk_si_aware_short_wire_slew
slk_si_aware_long_wire_slew_factor
slk_si_aware_long_wire_slew
slk_fix_hold_enable_si_aware
slk_power_eco_enable_si_aware
slk_si_aware_short_wire_slew_factor 1358
Tweaker™ Variables Version T-2022.03
slk_si_prevention_by_insertion
# Enable or disables the HFS algorithm for SI prevention autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will enable
operation, the "real weak nets" will be inserted with buffers to get a
There are two versions of the HFS algorithm: HFS-V1 and HFS-V2. The users
"slk_si_prevention_by_insertion1" variable.
variable.
"slk_repeater_insertion_buff_list" variable.
slk_si_prevention_by_insertion 1359
Tweaker™ Variables Version T-2022.03
Notice that Tweaker is using the old format in supporting the SI prevention
Example
...
...
slkfix -si_prevention
See also
slk_si_prevention_by_insertion1
slk_si_prevention_by_insertion 1360
Tweaker™ Variables Version T-2022.03
slk_si_prevention_by_insertion1
# Enables or disables the HFS-V1 algorithm for SI prevention autofix.
Type
Boolean
Default
false
Description
By setting the value for both of this variable and
set to true, the HFS-V1 algorithm will be disabled while the HFS-V2
Example
...
slk_si_prevention_by_insertion1 1361
Tweaker™ Variables Version T-2022.03
...
slkfix -si_prevention
See also
slk_si_prevention_by_insertion
slk_si_prevention_by_insertion1 1362
Tweaker™ Variables Version T-2022.03
slk_si_prevention_by_sizing
# Enable or disables the sizing strategy for SI prevention autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will enable
the sizing strategy for SI prevention autofix. During this operation, the
prevention.
Notice that Tweaker is using the old format in supporting the SI prevention
slk_si_prevention_by_sizing 1363
Tweaker™ Variables Version T-2022.03
Example
...
...
slkfix -si_prevention
See also
slk_si_prevention_by_swap
slk_si_prevention_by_insertion
slk_si_prevention_by_insertion1
slk_si_prevention_by_sizing 1364
Tweaker™ Variables Version T-2022.03
slk_si_prevention_by_swap
# Enables or disables the VT swapping strategy for SI prevention autofix.
Type
Boolean
Default
true
Description
By setting this variable to its default value of true, Tweaker will enable
the "real weak nets" drivers will be swapped to lower VT groups to get a
during autofix.
slk_si_prevention_by_swap 1365
Tweaker™ Variables Version T-2022.03
Notice that Tweaker is using the old format in supporting the SI prevention
Example
...
...
slkfix -si_prevention
See also
slk_si_prevention_by_sizing
slk_si_prevention_by_insertion
slk_si_prevention_by_insertion1
slk_auto_sizing_enable_cell_mapping
slk_cell_mapping_file
slk_cell_mapping_rule
slk_cell_mapping_rule_regexp
slk_si_prevention_by_swap 1366
Tweaker™ Variables Version T-2022.03
slk_si_prevention_check_twf
# Enables or disables the TWF check during SI prevention autofix.
Type
Boolean
Default
false
Description
Setting this variable to true enables the user to monitor the margins in
the TWF. However if this variable is set to true, Tweaker will skip some
Example
...
slk_si_prevention_check_twf 1367
Tweaker™ Variables Version T-2022.03
...
slkfix -si_prevention
See also
N/A
slk_si_prevention_check_twf 1368
Tweaker™ Variables Version T-2022.03
slk_sizing_by_same_library_name
# Enables or disables the auto sizing within the same library name.
Type
Boolean
Default
false
Description
When this variable is set true, Tweaker will only do auto sizing among
Example
set slk_sizing_by_same_library_name true
See also
N/A
slk_sizing_by_same_library_name 1369
Tweaker™ Variables Version T-2022.03
slk_slack_adjust_range
# Specifies the adjustment slack range for "hack clock cell delay" analysis
Type
Float Float
Default
-0.1 0.1
Description
In the "Hack clock cell delay" analysis operation, Tweaker adjusts the clock
cell delay values for fixing setup or hold violations. Specify the negative
Tweaker will skip the operation if total adjustment value is larger than
specify value.
Example
set slk_slack_adjust_range -0.01 0.01
slk_slack_adjust_range 1370
Tweaker™ Variables Version T-2022.03
See also
slk_hack_clock_min_cell_delay (var)
slkfix (cmd)
slk_slack_adjust_range 1371
Tweaker™ Variables Version T-2022.03
slk_ssta_mode
# Enables or disables SSTA mode on Tweaker.
Type
Boolean
Default
false
Description
This variable works as an SSTA mode enable inside Tweaker to synchronize
with the setting of GoldTime STA tool for its timing analysis. This variable
Example
set slk_ssta_mode true
See also
slk_path_base_analysis
slk_ssta_mode 1372
Tweaker™ Variables Version T-2022.03
slk_ssta_mode 1373
Tweaker™ Variables Version T-2022.03
slk_time_unit
# Tweaker system variable to specify the time unit.
Type
String [ ps| ns ]
Default
ns
Description
Defines time unit (ps or ns) used inside Tweaker timing db and GUI.
If the value of this variable (time unit) is changed, each slk related
variable with the same time unit will also need to be changed accordingly.
difference between the time unit in this variable and the one in the time
"slk_report_time_unit".
slk_time_unit 1374
Tweaker™ Variables Version T-2022.03
Example
set slk_time_unit ns
set slk_time_unit ps
See also
slk_report_time_unit
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_time_unit 1375
Tweaker™ Variables Version T-2022.03
slk_transition_threshold
# Specifies the upper and lower threshold of transition changing.
Type
Float
Default
0.1 0.9 (thresholdL thresholdH)
Description
This variable holds the threshold values on transition changing which is
In general, this variable is set to 0.1 0.9. However, this value depends on
thresholdL
thresholdH
Example
slk_transition_threshold 1376
Tweaker™ Variables Version T-2022.03
See also
$Tweaker_Install_DIR/etc/template/general_script/general_setting.tcl
slk_transition_threshold 1377
Tweaker™ Variables Version T-2022.03
slk_twf_clock_drv_factor
# Tweaker variable to specify the factor for twf's sdc max trans/cap constraint.
Type
Float
Default
0.95
Description
When there is max trans info bring in by TWF's SDC. User can be more
conservative and specify a factor here to get those max trans constraint
tighter.
Example
set slk_twf_clock_drv_factor 0.9
See also
set_drv_factor (cmd)
slk_twf_clock_drv_factor 1378
Tweaker™ Variables Version T-2022.03
slk_twf_cost_v2
# Tweaker variable to enables the Ver.2 TWF cost update algorithm of the fixing
Type
Boolean
Default
false
Description
In order to save the run time by reducing the input hold violation report(s)
while expanding the area size of the hold ECO domain, Tweaker offers a
variable. The back-trace operation for fixing the hold violations is using
the TWF (Timing Window File) information/values to track the hold violation
this feature to fix the hold violations. This variable only enables the
slk_twf_cost_v2 1379
Tweaker™ Variables Version T-2022.03
"TWF cost update version 2" algorithm which not only takes common points
but also the setup margins into consideration during any insertion
operation.
Example
set slk_fix_hold_by_twf_cost true
set slk_fix_hold_level 6
See also
$Tweaker_Install_DIR/etc/template/tweaker_t1/fix_timing/fix_hold_nworst1_
plus_twf/fix_hold.tcl
slk_fix_hold_by_twf_cost
slk_fix_hold_level
slk_fix_hold_high_effort_flow
slk_twf_cost_v2 1380
Tweaker™ Variables Version T-2022.03
slk_twf_cost_v2_setup_margin_factor
# Controls the priority of the deciding factors (setup margin and common point)
Type
Float
Default
0.2
Description
When proceeding hold fixing process by enabling TWF feature and setting the
"slk_twf_cost_v2" variable to true, there are two factors which are taken
into consideration: setup margin and the common point. Tweaker will use
When this variable is set to a smaller value, Tweaker will increase the
priority to fix the violated paths which have bigger setup margins.
Vice versa, when this variable is set to a bigger value, Tweaker will
increase the priority to fix the violated paths which have more common
points.
slk_twf_cost_v2_setup_margin_factor 1381
Tweaker™ Variables Version T-2022.03
Example
set slk_fix_hold_by_twf_cost true
set slk_fix_hold_level 6
See also
slk_twf_cost_v2
slk_twf_cost_v2_setup_margin_factor 1382
Tweaker™ Variables Version T-2022.03
slk_twf_ignore_clock_list
# Tweaker variable to control the input clock domain during SI Prevention
operation.
Type
String
Default
empty
Description
During SI Prevention process, Tweaker can honor this variable to decide the
input clock domain by parsing the TWF file(s) which contains clock group
info at each pin. Pins with its clock group "inside" this list will be
approach.
This variable only matters if the timing window file(s) are generated with
Example
slk_twf_ignore_clock_list 1383
Tweaker™ Variables Version T-2022.03
See also
slk_twf_read_clock_list
slk_twf_ignore_clock_list 1384
Tweaker™ Variables Version T-2022.03
slk_twf_preferred_startpoint
# Controls the priority of fixing pins near startpoint.
Type
Boolean
Default
false
Description
When fixing hold time and watching TWF are both on, Tweaker will based
variable, Tweaker will insert the buffers near to the startpoint instead of
the endpoint. It works only when TWF is imported to Tweaker and variable
Normally this is used in special case and not suggested to turn true in
general case.
Example
slk_twf_preferred_startpoint 1385
Tweaker™ Variables Version T-2022.03
set slk_fix_hold_watch_timing_window
...
See also
slk_fix_hold_watch_timing_window
slk_twf_preferred_startpoint 1386
Tweaker™ Variables Version T-2022.03
slk_twf_read_clock_list
# Controls the input clock domain during SI Prevention operation.
Type
String
Default
empty
Description
During SI Prevention process, Tweaker will honor this variable when
deciding the input clock domain by parsing the TWF file(s) which contains
clock group info of each pin. Meanwhile, the pin with its clock group
excluded from this list will be treated as non-constraint clock group and
This variable is only valid if the timing window file(s) are generated with
Example
set slk_twf_read_clock_list {CPU_CLK A_CLK B_CLK}
slk_twf_read_clock_list 1387
Tweaker™ Variables Version T-2022.03
See also
slk_twf_ignore_clock_list
slk_twf_read_clock_list 1388
Tweaker™ Variables Version T-2022.03
slk_update_cg_cell_timing_check
# Controls whether to update the clock gating cell timing check or not.
Type
Boolean
Default
true
Description
When this variable is set to its default value of true, Tweaker will update
Sometimes CG cell timing checks are set fixed in the SDC file.
Example
set slk_update_cg_cell_timing_check false
See also
slk_update_cg_cell_timing_check 1389
Tweaker™ Variables Version T-2022.03
N/A
slk_update_cg_cell_timing_check 1390
Tweaker™ Variables Version T-2022.03
slk_update_congestion_map
# Updates the congestion map at each eco action.
Type
Boolean
Default
false
Description
When congestion aware feature is enabled by setting
By setting this variable to true, Tweaker will update the congestion map
Example
defin -route ..
create_congestion_db ..
slk_update_congestion_map 1391
Tweaker™ Variables Version T-2022.03
...
...
See also
slk_congestion_aware_insertion (var)
slk_insert_enable_routing_path_congestion_aware (var)
design_analysis_grid_height_by_row (var)
congestion_map_grid_size_by_row (var)
design_analysis_collecting_mode (var)
create_congestion_db (cmd)
free_congestion_db (cmd)
create_design_analysis_grid_db (cmd)
remove_design_analysis_grid_db (cmd)
get_grids (cmd)
set_resource_window (cmd)
add_blockage (cmd)
delete_blockage (cmd)
draw (cmd)
slk_update_congestion_map 1392
Tweaker™ Variables Version T-2022.03
slk_update_required_cap_by_scaling
# Scales the max-cap defined in LIB if it is different from STA constraint.
Type
String
Default
false
Description
When this variable is set true, if the maximum-capacitance value of a
driver cell in the STA constraint is different from the value defined
in the LIB of that cell, Tweaker memorizes the ratio between the two
values and apply the same ratio to scale the input capacitance value
and the maximum-capacitance value defined in the LIB of the cell when
autofix is performed.
Example
set slk_update_required_cap_by_scaling true
slk_update_required_cap_by_scaling 1393
Tweaker™ Variables Version T-2022.03
See also
slk_update_required_fanout_by_scaling
slk_update_required_cap_by_scaling 1394
Tweaker™ Variables Version T-2022.03
slk_update_required_fanout_by_scaling
# Scales the max-fanout defined in LIB if it is different from STA constraint.
Type
Boolean
Default
false
Description
When this variable is set true, if the maximum-fanout value of a driver
cell in the STA constraint is different from the value defined in the
LIB of that cell, Tweaker memorizes the ratio between these two values
and apply the same ratio to scale the fanout load value and the
performed.
Example
set slk_update_required_fanout_by_scaling true
slk_update_required_fanout_by_scaling 1395
Tweaker™ Variables Version T-2022.03
See also
slk_update_required_cap_by_scaling
slk_update_required_fanout_by_scaling 1396
Tweaker™ Variables Version T-2022.03
slk_update_si
# Enables or disables the SI components update behavior.
Type
Boolean
Default
true
Description
The SI components derived from incremental sisdf file(s) or self-extracted
Example
set slk_update_si false
See also
set_extract_sisdf
slk_update_si 1397
Tweaker™ Variables Version T-2022.03
sisdfin
slackin
sdfout
slk_update_si 1398
Tweaker™ Variables Version T-2022.03
slk_update_si_by_length
# Estimates the SI components based on changes in net lengths.
Type
Boolean
Default
true
Description
When Tweaker sensed any variation of SI net length during ECO process,
Old.SI
variation only and even more new nets will not have the SI component either.
Example
slk_update_si_by_length 1399
Tweaker™ Variables Version T-2022.03
See also
N/A
slk_update_si_by_length 1400
Tweaker™ Variables Version T-2022.03
slk_update_si_margin
# Controls the update of SI component by extra conservative.
Type
Float
Default
1.1
Description
To be more conservative when updating SI component, Tweaker applies this
factor into SI delay calculation. This variable only valid when another
Example
set slk_update_si true
See also
slk_update_si
slk_update_si_margin 1401
Tweaker™ Variables Version T-2022.03
slk_update_si_margin 1402
Tweaker™ Variables Version T-2022.03
slk_update_si_net_change_max_limit
# Controls the update of SI component by extra conservative.
Type
Float
Default
2.0
Description
Tweaker applies this factor to limit the maximum net length for updating
Example
set slk_update_si_net_change_max_limit 3
See also
slk_update_si_value_max_limit
slk_update_si_net_change_max_limit 1403
Tweaker™ Variables Version T-2022.03
slk_update_si_value_max_limit
# Controls the maximum update limit of SI components.
Type
Float
Default
3.0
Description
To limit the maximum value of updating SI component, Tweaker applies this
Example
set slk_update_si_value_max_limit 5
See also
slk_update_si_net_change_max_limit
slk_update_si_value_max_limit 1404
Tweaker™ Variables Version T-2022.03
slk_use_lib_drv_value_if_more_strict
# Enables or disables to use max trans constrain from cell lib if the value is
more strict.
Type
Boolean
Default
false
Description
Users can use command set_drv_value to set the hard number max trans eco
constraint.
By setting this variable to its default value of true, Tweaker can use the
max trans constrain in cell lib if its value is more strict than
set_drv_value's.
This setting can prevent Tweaker to use relaxed max trans constrain, if
users use set_drv_value for all corner and all libs in the same time, and
the drv value might be greater than constrain in some cell libs.
slk_use_lib_drv_value_if_more_strict 1405
Tweaker™ Variables Version T-2022.03
Example
set slk_use_lib_drv_value_if_more_strict true
See also
slk_twf_clock_drv_factor
slk_fix_setup_max_trans_drv
slk_fix_hold_max_trans_drv
slk_drv_factor
slk_drv_value
slk_use_lib_drv_value_if_more_strict 1406
Tweaker™ Variables Version T-2022.03
slk_user_defined_max_cap_drv_factor
# Tweaker vars to allow tighter drv factor for user defined max cap value.
Type
float
Default
0.95
Description
From twf file SDC paragraph there could be set_max_cap related commands for
Tweaker to honor. Those are so called user defined max cap value. And
Example
set slk_user_defined_max_cap_drv_factor 0.95
See also
slk_user_defined_max_cap_drv_factor 1407
Tweaker™ Variables Version T-2022.03
slk_view_report_only
# Extracts report operation only.
Type
Boolean
Default
false
Description
This variable allow Tweaker to skip delay calculation after the timing
corners have been established. Users are suggested to turn this variable
suggested to turn this variable to true during other fix timing process.
Example
# at extract report operation
...
...
slk_view_report_only 1408
Tweaker™ Variables Version T-2022.03
begin_corner
slackin ...
end_corner
See also
N/A
slk_view_report_only 1409
Tweaker™ Variables Version T-2022.03
slk_vmin_cell_list
# Used in the vmin eco for specifying the vmin cells.
Type
String
Default
empty
Description
This variable defines the cell types, which have worse variation in
different PVT than others do. In vmin eco, Tweaker changes instances from
vmin cell type to others and also extract the setup timing margin.
Example
set slk_vmin_cell_list { *HVT* *D0 }
See also
slk_setup_target_slk
slk_vmin_cell_list 1410
Tweaker™ Variables Version T-2022.03
slkfix (cmd)
slkfix (cmd)
slk_vmin_cell_list 1411
Tweaker™ Variables Version T-2022.03
slk_vt_cell_naming
# Used in the leakage summary report for specifying the available vt cells.
Type
String
Default
*HVT*
Description
The purpose of this variable is to provide all available vt cells of the
"slk_cell_mapping_rule_regexp".
slk_vt_cell_naming 1412
Tweaker™ Variables Version T-2022.03
Example
# multiple mapping rules :
See also
N/A
slk_vt_cell_naming 1413
Tweaker™ Variables Version T-2022.03
slk_vt_ratio_target
# Tweaker variable to define the vt target ratio in the Power ECO vt ratio
feature.
Type
String
Default
empty
Description
By default Tweaker will do Power ECO for leakage optimization. But when this
will turn into vt ratio function where its purpose is to honor the user
The variable is to decide the vt ratio target where the target vt cells are
defined at "slk_vt_cell_naming".
slk_vt_ratio_target 1414
Tweaker™ Variables Version T-2022.03
"count" or "area".
Example
set slk_power_eco_enable_vt_ratio true
...
slkfix -power_eco
See also
slk_power_eco_enable_vt_ratio
slk_vt_cell_naming
slk_vt_ratio_tolerance
slk_vt_ratio_type
slk_vt_ratio_target 1415
Tweaker™ Variables Version T-2022.03
slk_vt_ratio_tolerance
# Tweaker variable to define the tolerance in the Power ECO vt ratio feature.
Type
String
Default
empty
Description
By default Tweaker will do Power ECO for leakage optimization. But when this
will turn into vt ratio function where its purpose is to honor the user
The variable is to decide the tolerance of target ratio for more room to
slk_vt_ratio_tolerance 1416
Tweaker™ Variables Version T-2022.03
Example
set slk_power_eco_enable_vt_ratio true
...
slkfix -power_eco
See also
slk_power_eco_enable_vt_ratio
slk_vt_cell_naming
slk_vt_ratio_target
slk_vt_ratio_type
slk_vt_ratio_tolerance 1417
Tweaker™ Variables Version T-2022.03
slk_vt_ratio_type
# Tweaker variable to define the type of ratio in the Power ECO vt ratio
feature.
Type
String
Default
empty
Description
By default Tweaker will do Power ECO for leakage optimization. But when this
will turn into vt ratio function where its purpose is to honor the user
slk_vt_ratio_type 1418
Tweaker™ Variables Version T-2022.03
Example
set slk_power_eco_enable_vt_ratio true
...
slkfix -power_eco
See also
slk_power_eco_enable_vt_ratio
slk_vt_cell_naming
slk_vt_ratio_target
slk_vt_ratio_tolerance
slk_vt_ratio_type 1419
Tweaker™ Variables Version T-2022.03
slkfix_naming_rule
# Specifies the autofix naming rule reference.
Type
String
Default
empty
Description
In order to identify the ECO cells added by Tweaker during "auto fix"
for easy recognition of newly added ECO cells when auto fixing.
In Tweaker, the naming pattern of ECO cells added by auto fix process is
slkfix_naming_rule 1420
Tweaker™ Variables Version T-2022.03
Example
set slkfix_naming_rule ECO1_@USER_@DATE_
slkfix ...
See also
naming_rule
slkfix_naming_rule 1421
Tweaker™ Variables Version T-2022.03
soce_eco_tcl_half_unit_site_cell_placement_offset
# Specify an offset of unit site for cell placement in SOCE ecotcl
Type
String
Default
half_site
Description
Generally, a cell's location is described by its bottom-left xy coordinate. However,
inbound cell's bottom-left point is not on the row. If the location is pointed to this
bottom-left point in SOCE ecotcl, it will have an error. Therefore, Tweaker provides
this variable to describe this cell's location by shifting an offset from bottom-left point.
Example
set soce_eco_tcl_half_unit_site_cell_placement_offset haft_site
See also
N/A
soce_eco_tcl_half_unit_site_cell_placement_offset 1422
Tweaker™ Variables Version T-2022.03
soce_eco_tcl_half_unit_site_cell_placement_offset 1423
Tweaker™ Variables Version T-2022.03
soce_eco_tcl_in_bound_cell_placement_offset
# To define the soce eco tcl out placement offset for inbound cell.
Type
String
Default
half_row
Description
By default, Tweaker will output the left bottom placement location for the
inbound cell.
Consequently, user can use this attribute to define the cell output
placement location shift half row height for soce. If not, you can define
this variable as 0.
Example
...
set soce_eco_tcl_in_bound_cell_placement_offset
soce_eco_tcl_in_bound_cell_placement_offset 1424
Tweaker™ Variables Version T-2022.03
...
...
See also
ecotclout -soce
soce_eco_tcl_in_bound_cell_placement_offset 1425
Tweaker™ Variables Version T-2022.03
source_nlcmd_always_skip_conflict
# Enables the ability to always skip conflict while merging multiple nlcmds
Type
Boolean
Default
false
Description
While sourcing an nlcmd file with "source" command with "-skip_conflict"
By setting this variable to true, Tweaker will always skip the conflict
specified.
Example
Below two examples have the same behavior:
1.
source_nlcmd_always_skip_conflict 1426
Tweaker™ Variables Version T-2022.03
2.
See also
source (cmd)
merge_nlcmd_skip_inst_overlap (var)
merge_nlcmd_skip_physical_conflict (var)
source_nlcmd_always_skip_conflict 1427
Tweaker™ Variables Version T-2022.03
spacing_table_mode
# Controls the abutment rules modes.
Type
Boolean
Default
true
Description
In advanced process like 20nm or below, foundry side may provide some
placement rules like min vt rules and abutment rules to fit the process.
internally. By setting the variable to true, Tweaker will select the most
This variable valid only when the abutment rule main switch
Example
spacing_table_mode 1428
Tweaker™ Variables Version T-2022.03
See also
N/A
spacing_table_mode 1429
Tweaker™ Variables Version T-2022.03
spare_cell_candidate_keep_input_connection_after_sizing
# Tweaker variable to enable or disable the recycled spare cells after sizing to
Type
Boolean
Default
false
Description
By default when the cells are sizing under Metal ECO mode it will be
recycled and keep its input tie high/low in the design such that it can be
When this variable is set true, these recycled spare cells will see its
Example
set spare_cell_candidate_keep_input_connection_after_sizing true
spare_cell_candidate_keep_input_connection_after_sizing 1430
Tweaker™ Variables Version T-2022.03
See also
N/A
spare_cell_candidate_keep_input_connection_after_sizing 1431
Tweaker™ Variables Version T-2022.03
spare_cell_exception_cells
# Creates a list of exceptions cells when collecting matched spare cells.
Type
String
Default
empty
Description
The instance(s) of the cell type(s) specified by this variable will be
excluded from spare cell pools even if they match the pattern specified
Example
set metal_eco_mode true
spare_cell_exception_cells 1432
Tweaker™ Variables Version T-2022.03
See also
spare_cell_exception_instances
spare_cell_exception_cells 1433
Tweaker™ Variables Version T-2022.03
spare_cell_exception_instances
# Creates a list of exceptions instances when collecting matched spare cells.
Type
String
Default
empty
Description
The instance(s) specified by this variable will be excluded from spare
cell pools even they match the pattern specified by "eco" command to
Wildcard is supported.
Example
set metal_eco_mode true
spare_cell_exception_instances 1434
Tweaker™ Variables Version T-2022.03
See also
spare_cell_exception_cells
spare_cell_exception_instances 1435
Tweaker™ Variables Version T-2022.03
sta_tool
# To defined the sta tool list for generating eco tcl.
Type
string
Default
pt tempus
Description
When this sta tool list is defined before ECO, Tweaker will generate
the corresponding apr tool eco tcl after ECO. If not, Tweaker will only
pt
ets
tempus
gt
Example
sta_tool 1436
Tweaker™ Variables Version T-2022.03
set sta_tool pt
...
slkdc -check_slack_consistency
...
...
...
See also
apr_tool
ecotclout
sta_tool 1437
Tweaker™ Variables Version T-2022.03
stop_if_lefin_syntax_error
# Enables or disables the ability to keep proceeding even after syntax error are
Type
Boolean
Default
true
Description
When this variable is set to its default of true, Tweaker stops immediately
and returns with error message when syntax error is found in lef file during
parsing.
Example
set stop_if_lefin_syntax_error false
See also
stop_if_libin_syntax_error
stop_if_lefin_syntax_error 1438
Tweaker™ Variables Version T-2022.03
stop_if_lefin_syntax_error 1439
Tweaker™ Variables Version T-2022.03
stop_if_libin_syntax_error
# Enables or disables Tweaker to continue the ECO process while LIB syntax error is occurred.
Type
Boolean
Default
true
Description
By default, Tweaker will stop immediately and return with the error message
Users can still continue the ECO process even if there are error occurred
during the LIB file parsing by setting this variable to false. There is no
Example
set stop_if_libin_syntax_error false
See also
stop_if_libin_syntax_error 1440
Tweaker™ Variables Version T-2022.03
stop_if_lefin_syntax_error
stop_if_libin_syntax_error 1441
Tweaker™ Variables Version T-2022.03
tempus_tcl_enable_duplicate_design_calculation
# Enables or disables Tempus ECO Tcl support duplicate design ECO.
Type
Boolean
Default
false
Description
In the latest Tempus version, if the user needs to use duplicate design ECO,
Tweaker can enable this variable to enable Tempus ECO Tcl out to active
Tempus duplicate design ECO update. Tweaker will output the following
Example
set tempus_tcl_enable_duplicate_design_calculation true
...
tempus_tcl_enable_duplicate_design_calculation 1442
Tweaker™ Variables Version T-2022.03
slkdc -check_slack_consistency
...
See also
sta_tool
ecotclout
tempus_tcl_enable_duplicate_design_calculation 1443
Tweaker™ Variables Version T-2022.03
tie_hi_for_unused_eco_cells
# Controls hi or low value of input pins tie of recycled spare cells.
Type
Boolean
Default
false
Description
When this variable is set to its default of false, cells under "metal eco
mode" which are recycled to be the extra spare cells will have their input
pins tied to tie-low cells. When this variable is set to true, their input
Example
set tie_hi_for_unused_eco_cells true
See also
N/A
tie_hi_for_unused_eco_cells 1444
Tweaker™ Variables Version T-2022.03
tie_hi_for_unused_eco_cells 1445
Tweaker™ Variables Version T-2022.03
timing_aocvm_analysis_mode
# Specifies the AOCV analysis mode.
Type
String
Default
"" (empty)
Description
An AOCV table can be one-dimensional (depth) or two-dimensional (depth v.s.
distance). By default :
1. Depth values and distance values are calculated separately for cells and
nets.
2. Depth values and distance values are calculated separately for launch and
capture paths.
3. Both clock and data objects are included in the calculations of depth and
distance.
The depth values of a timing path are defined as the cell delay timing arc
number and the net delay timing arc number in the timing path from the path
timing_aocvm_analysis_mode 1446
Tweaker™ Variables Version T-2022.03
The distance values of a timing path are defined as the diagonal length of
both of the bounding box enclosing the cell delay timing arcs and the net
delay timing arcs. Timing arcs on the common path of the launch and capture
(1) clock_network_only
(2) combined_launch_capture_depth
(3) separate_data_and_clock_metrics
(4) single_path_metrics
Any combination of these four modes are accepted except for (2) and (3)
which are mutually exclusive, and not supposed to be specified at the same
time.
"clock_network_only"
clock paths only and will not be applied to the data paths. When this
"combined_launch_capture_depth"
When this option is specified, launch and capture paths are combined
and only one depth value combination is calculated for each path.
timing_aocvm_analysis_mode 1447
Tweaker™ Variables Version T-2022.03
When this option is not specified, the objects on a launch path are
only included by the calculation of the depth for that launch path;
"separate_data_and_clock_metrics"
When this option is specified, depth values for clock paths and those
timing arc numbers. When this option is not specified, timing arcs
"single_path_metrics"
When this option is specified, only the number of cell delay timing
arcs are taken into the calculation of the depth of a timing path.
cells and nets on the path. When this option is not specified, depths
The distance calculation under each mode follows the same pattern as the
Example
set timing_aocvm_analysis_mode { combined_launch_capture_path \
single_path_metrics }
timing_aocvm_analysis_mode 1448
Tweaker™ Variables Version T-2022.03
See also
read_aocvm (cmd)
timing_aocvm_analysis_mode 1449
Tweaker™ Variables Version T-2022.03
timing_enable_transition_derate_meanshift
# Enables transition derate in POCV calculation mode.
Type
Boolean
Default
false
Description
After enabling this variable, Tweaker would also consider the effect of transition
Example
set enable_ocv_sigma true
begin_corner test
...
timing_enable_transition_derate_meanshift 1450
Tweaker™ Variables Version T-2022.03
...
end_corner test
See also
enable_ocv_sigma (var)
set_transition_derate (cmd)
report_transition_derate (cmd)
timing_enable_transition_derate_meanshift 1451
Tweaker™ Variables Version T-2022.03
timing_input_port_default_clock
# Enables or disables the ability to automatically assign virtual clock to the
Type
Boolean
Default
true
Descriptions
when the users set an input delay without assigning any clock on it.
By default, Tweaker will set the input delay on the port with the respect
to a virtual clock as its constraint. This behavior will cause the paths
Users are strongly recommended to keep this variable to its default value.
Example
set timing_input_port_default_clock true
timing_input_port_default_clock 1452
Tweaker™ Variables Version T-2022.03
See also
gen_slack_report (cmd)
timing_input_port_default_clock 1453
Tweaker™ Variables Version T-2022.03
timing_pocvm_precedence
# To control the precedence of POCV talbe from lib or side file.
Type
String
Default
file
Description
If Tweaker read the POCV table from the library and file simultaneously,
user can use this variable to control which input file POCV table have
higher priority.
Example
...
...
timing_pocvm_precedence 1454
Tweaker™ Variables Version T-2022.03
...
...
begin_corner ss
...
end_corner ss
...
See also
read_pocvm
timing_pocvm_precedence 1455
Tweaker™ Variables Version T-2022.03
top_routing_layer
# Defines the top routing layer.
Type
Integer
Default
5
Description
This variable specifies the top routing layer by layer name or layer number.
The layer number is the sequence of LAYER definitions defined at lef files.
Tweaker creates routing congestion database from bottom routing layer to top
routing layer.
top_routing_layer 1456
Tweaker™ Variables Version T-2022.03
set bottom_routing_layer 2
set top_routing_layer 5
create_congestion_db
Example
set bottom_routing_layer 2
set top_routing_layer 5
create_congestion_db
See also
bottom_routing_layer (var)
create_congestion_db (cmd)
top_routing_layer 1457
Tweaker™ Variables Version T-2022.03
transfer_beta_physical_cell_to_regular_physical_cell
# Allows Tweaker to treat the beta physical cells as regular physical cells.
Type
Boolean
Default
false
Description
In DEF standards, a cell must has the "+SOURCE DIST" attribute in its
However, if the APR tools cannot generate certain beta physical cell with
this attribute, users can still let Tweaker to treat them as physical cells
Example
transfer_beta_physical_cell_to_regular_physical_cell 1458
Tweaker™ Variables Version T-2022.03
...
defin ...
See also
def_physical_cells_to_be_ignored
force_keep_physical_cells
transfer_beta_physical_cell_to_regular_physical_cell 1459
Tweaker™ Variables Version T-2022.03
upfin_extend_power_domain_name_by_scope
# Enable power domain name including UPF scope name.
Type
Boolean
Default
false
Description
If we enable this variable, tweaker power domain name will honor UPF scope
Example
set upfin_extend_power_domain_name_by_scope true
See also
N/A
upfin_extend_power_domain_name_by_scope 1460
Tweaker™ Variables Version T-2022.03
user_defined_staple_via_names
# Defind staple via names
Type
String
Default
Description
Tweaker have internal methodology to identify staple vias if turning on the
Once the vias defined as staple vias, Tweaker will ignore these vias when
ECO operation.
Example
set user_defined_staple_via_names *staple_via12* *staple_via23*
See also
N/A
user_defined_staple_via_names 1461
Tweaker™ Variables Version T-2022.03
user_defined_staple_via_names 1462
Tweaker™ Variables Version T-2022.03
user_name
# Returns the name of the current user.
Type
String
Default
"whoami"
Description
This variable returns the name of the current user.
User are not suggested to do a manual editing on this variable which cause
Example
printvar user_name
See also
N/A
user_name 1463
Tweaker™ Variables Version T-2022.03
utilization_threshold_for_check_def_quality
# Tweaker vars to check def placement densitiy threshold when do reading each
def file.
Type
float
Default
0.9
Description
When Tweaker reads def file, if physical cells to be ignored list are
assigned incorrectly (cause space full without free space) or design itself
is with high density, we can foresee this condition and base on this var's
threshold to provide early warning to user right after defin for the def
file. User can further use GUI physical view to exam and no need to waste
the time to run through entire Tweaker and see a lot of blocking codes of no
free space.
Example
utilization_threshold_for_check_def_quality 1464
Tweaker™ Variables Version T-2022.03
defin ...
See also
utilization_threshold_for_check_def_quality 1465
Tweaker™ Variables Version T-2022.03
verilog_modules_to_be_ignored
# To let Tweaker to ignore user specified modules when importing verilog(s).
Type
String
Default
empty
Description
Module names specified by this variable will be ignored when "verilogin"
Example
set verilog_modules_to_be_ignored { moduleA moduleB moduleC }
See also
N/A
verilog_modules_to_be_ignored 1466
Tweaker™ Variables Version T-2022.03
verilogout_ignore_module_list
# Specifies the module list which will not be generated by Tweaker.
Type
String
Default
empty
Description
Module names specified by this variable will not be generated when
Example
set verilogout_ignore_module_list { module_A module_B module_C }
See also
N/A
verilogout_ignore_module_list 1467
Tweaker™ Variables Version T-2022.03
version
# Tweaker system variable to record the version of the make date.
Type
String
Default
Tweaker version make date (YYYY/MM/DD).
Description
This variable records the current Tweaker version make date.
Example
printvar version
See also
session_version
version 1468
Tweaker™ Variables Version T-2022.03
vertical_cell_edge_spacing_rule_filter
# Ignore vertical cell edge spacing rule check if the spacing is lesser than or
Type
Float
Default
0.0
Description
This variable is used for ignoring rule check for vertical abutment rule if
Example
set enable_cell_edge_spacing_rule true
See also
set_lib_cell_spacing_label (cmd)
set_spacing_label_rule (cmd)
vertical_cell_edge_spacing_rule_filter 1469
Tweaker™ Variables Version T-2022.03
report_cell_edge_spacing_rules (cmd)
report_cell_edge_spacing_rules (cmd)
enable_cell_edge_spacing_rule (var)
lefin_cell_width_spacing_rule (var)
horizontal_cell_edge_spacing_rule_filter (var)
vertical_cell_edge_spacing_rule_filter 1470
Tweaker™ Variables Version T-2022.03
vertical_pin_avoid_power_strap
# Enable vertical pin not overlap with corresponding power strap feature
Type
Boolean
Default
false
Description
Specifically for 10nm process or below, cell's vertical pin must avoid its
Example
set vertical_pin_track_color_aware true
lefin ...
defin ...
vertical_pin_avoid_power_strap 1471
Tweaker™ Variables Version T-2022.03
See also
vertical_pin_track_color_aware
vertical_pin_avoid_power_strap 1472
Tweaker™ Variables Version T-2022.03
vertical_pin_track_color_aware
# Enable routing track color aware
Type
Boolean
Default
false
Description
In advanced process like 10nm or below, foundry may have the same metal
Cell's vertical pin must be aligned with the correct routing track color to
be placed.
The track and available colors are defined at def file while the metal
Hence we need both file to be matched to enable the routing track color
Example
vertical_pin_track_color_aware 1473
Tweaker™ Variables Version T-2022.03
lefin ...
defin ...
See also
vertical_pin_avoid_power_strap
vertical_pin_track_color_aware 1474
Tweaker™ Variables Version T-2022.03
via0_alignment_check_cell_margin
# Check the via0 layers in cell edge.
Type
Float
Default
Empty
Description
In 12nm process, via0 alignment rule is only honored for those via0 layers
on cell boundary.
Specifies the distance to check the via0 layers in cell edge. By default,
this variable is empty and Tweaker will take the width of METAL1 as the
Example
set via0_alignment_check_cell_margin 0.032
via0_alignment_check_cell_margin 1475
Tweaker™ Variables Version T-2022.03
See also
report_via0_alignment_rule (cmd)
report_via0_alignment_violation (cmd)
set_via0_alignment_rule (cmd)
disable_via0_rule_on_cell (var)
enable_via0_alignment (var)
via0_alignment_check_cell_margin 1476
Tweaker™ Variables Version T-2022.03
voltage_slack_target
# Voltage slack target during autofix and Vmin ECO flow.
Type
Float
Default
0.00
Description
This variable contains the voltage target slack value for Vmin paths when
Tweaker converts the voltage target slack to setup target slack for each
Vmin path for Vmin ECO. The converted setup target slack could be different
in each path.Tweaker also shifts the path timing slack to add the offset
for the Vmin ECO use. It affects Vmin paths only. The voltage-to-timing
This variable affects the autofix in command slkfix -vmin and the summary
In GUI SlackView, the timing Slack values in Path page are updated/shifted
voltage_slack_target 1477
Tweaker™ Variables Version T-2022.03
Example
source libin_ssgnp_0p81v_125c.tcl
source libin_ssgnp_0p75v_125c.tcl
......
scale_lib -voltage 0.800 -temperature 125 -ref_group { lib_ssgnp_0p81v_125c lib_ssgnp_0p75v_125c } -name lib_ssgnp_0p80v_125
......
begin_corner ssgnp_0p81v_125c
......
end_corner ssgnp_0p81v_125c
begin_corner ssgnp_0p80v_125c
end_corner ssgnp_0p80v_125c
......
......
slkdc -check_slack_consistency
......
......
voltage_slack_target 1478
Tweaker™ Variables Version T-2022.03
slkfix -vmin
......
slkreport -vmin
See also
voltage_sensitivity_corner (var)
set_voltage_sensitivity_corner (cmd)
slkfix (cmd)
slkreport (cmd)
voltage_slack_target 1479
Tweaker™ Variables Version T-2022.03
watch_cell_geometry_for_vt_width
# Enables or disables to define VT width by check VT layer geometry in OBS section of cell lef.
Type
Boolean
Default
false
Description
VT width and spacing rules refer to VT layer geometry. VT layer
geometry of P/N device are defined in OBS section of cell lef file.
Set this variable true before lefin, if users want to enable this
behavior.
Example
watch_cell_geometry_for_vt_width 1480
Tweaker™ Variables Version T-2022.03
# Before lefin
lefin .....
See also
enable_cell_width_spacing_rule
lefin_cell_width_spacing_rule
watch_cell_geometry_for_vt_width 1481