Fusion Compiler App Options ← Home
Educational Reference Only. This content is an independent study reference. App option names, descriptions and examples are provided for learning purposes. Always verify against official Cadence / Synopsys documentation. This site is not affiliated with or endorsed by Cadence Design Systems or Synopsys Inc.
13
FUSION COMPILER APP OPTIONS

Library Optimization and CTS Topology

S.NoApp OptionDescriptionExample
1opt.common.enable_target_librar y_subset_optEnables the use of the target library subset during optimization. The subset restriction applies to hierarchical cells but not to leaf cells, and is enforced on the specified blocks and their subdesigns in the hierarchy (except subdesigns where a different subset restriction is set). A subset specified at a lower level supersedes any subset specified at a higher levelset_app_options -name opt.common.enable_target_library_subset_opt -value 1
2cts.compile.topological_ndrEnables the level-based clock nondefault routing rule application, ensuring all nondefault routing rules in a clock tree path are in topologically sorted order from clock root to sinks (Root NDR > Internal NDR > Sink NDR)fc_shell> set_app_options -list {cts.compile.topological_ndr true}
3opt.common.enable_target_librar y_subset_optEnables target library subset optimization so that library restrictions defined with set_target_library_subset (such as using only cells from a specific library for a block and its subblocks) are honored during optimization and clock tree synthesisfc_shell> set_app_options -name opt.common.enable_target_library_subset_opt -value 1
4route.common.net_max_layer_m ode_soft_costSets the cost of violating soft constraints for all net-specific maximum layer constraints. Controls the effort the router expends to avoid violations
5pin_check.place.preplace_option _fileSets the preplacement option file used by the pin access checker utility (check_libcell_pin_access). Set as a user default for pin access checkingset_app_options -as_user_default -name pin_check.place.preplace_option_file -value
6route.common.net_min_layer_m ode_soft_costSets the cost of violating soft constraints for all net-specific minimum layer constraints. Controls the effort the router expends to avoid violations
7libra.complib.match_full_cell_na meControls whether the compare_libraries command matches cells by their full cell name. Set to false when the reference and target library naming conventions differ partially (requiring a lexical attribute mapping file via -lex_attr_mapping) or completely (requiring a custom cell-pair mapping file via -custom_pairs)fc_shell> set_app_options -name libra.complib.match_full_cell_name -value true
8route.common.net_max_layer_m odeChanges the default constraint strength for all net-specific maximum layer constraints. By default, net-specific maximum layer constraints are hard constraints
9mv.pg.create_floating_pgEnables the creation of floating logical supply nets (power or ground nets not connected to any logical pin or port in the block). Must be set to true before you create supply nets with the connect_pg_net commandset_app_options -as_user_default -name mv.pg.create_floating_pg -value true
10route.common.net_min_layer_m odeChanges the default constraint strength for all net-specific minimum layer constraints. By default, net-specific minimum layer constraints are soft constraints
11place.coarse.ir_drop_default_tar get_low_populationControls the default target for the lower-population (middle) cell category used in IR-drop-aware placement. Shown set to false in the exampleset_app_options -name place.coarse.ir_drop_default_target_low_population -value true
12route.common.global_max_layer _modeChanges the maximum routing layer constraint type from soft to hardset_app_options -name route.common.global_max_layer_mode -value hard
13place.coarse.ir_drop_default_tar get_low_percentageSets the default percentage of cells assigned to the lower/middle target category for IR-drop-aware placement. Shown set to 4.0 in the exampleset_app_options -name place.coarse.ir_drop_default_target_low_percentage -value 4.0
14route.common.global_min_layer_ modeChanges the minimum routing layer constraint type from soft to hardset_app_options -name route.common.global_min_layer_mode -value hard
15place.coarse.spread_repeater_p athsReduces congestion caused by chains of repeater cells (buffers, inverters, or pipelined registers) clumped along the edges or corners of macro cells or blockages. When set to true, the tool spreads the repeater cells in an orthogonal direction to reduce congestion along edges and cornersset_app_options -name place.coarse.spread_repeater_paths -value true
16clock_opt.flow.enable_irapManually enables voltage-drop-aware placement for the clock_opt commandfc_shell> set_app_option -name clock_opt.flow.enable_irap -value true
17place.legalize.optimize_orientatio nsEnables orientation optimization during legalization. When set to true, the tool considers flipping the orientations of cells to reduce the displacements during legalization
18compile.flow.enable_irapManually enables voltage-drop-aware placement for the compile_fusion commandfc_shell> set_app_option -name compile.flow.enable_irap -value true
19place.legalize.stream_placeEnables stream placement during legalization. When set to true, the tool moves many cells a small distance, to avoid moving a single cell a large distance during legalization
20compile.flow.enable_dpsManually enables dynamic power shaping for the compile_fusion commandfc_shell> set_app_option -name compile.flow.enable_dps -value true
21place.legalize.stream_effortControls the effort of stream placement during legalization
22opt.common.power_integrityControls power integrity mode for the compile_fusion and clock_opt commands. Must be set to false to manually enable dynamic power shaping or voltage-drop-aware placementfc_shell> set_app_option -name opt.common.power_integrity -value true
23place.legalize.stream_effort_limitControls the effort limit of stream placement during legalization
24rail.analysis_typeSets the voltage-drop-analysis type for voltage-drop-aware placement setup
25place.legalize.optimize_pin_acce ss_using_cell_spacingFor advanced technology nodes, enables pin optimization during legalization to improve the routability of areas with high pin densities by redistributing the cells
26ccd.dps.auto_target_constraint_p arametersControls automatic target constraint parameters for dynamic power shaping during CCD flow
27place.legalize.enable_advanced_ prerouted_net_checkFor advanced technology nodes, such as 12 nanometer, 7 nanometer, or smaller technology nodes, enables advanced physical DRC checks between cells and prerouted PG nets
28ccd.dps.auto_targetsControls automatic targets for dynamic power shaping during CCD flow
29place.legalize.advanced_layer_a ccess_checkControls the accessibility checks performed for standard cell pins when advanced prerouted net checks are enabled
30ccd.dps.use_casesControls use cases for dynamic power shaping during CCD flow. More complex option for controlling power analysis and optimization during dynamic power shaping
31place.legalize.advanced_libpin_a ccess_checkControls the accessibility checks performed for standard cell pins when advanced prerouted net checks are enabled
32clock_opt.flow.enable_irdrivenoptEnables IR-driven sizing, which uses RedHawk dynamic voltage drop results to replace high-voltage-drop cells with lower-leakage alternativesfc_shell> set_app_options -name clock_opt.flow.enable_irdrivenopt -value true
33place.legalize.enable_threaded_ advanced_legalizerEnables multithreaded advanced legalization algorithms
34opt.common.ir_drop_thresholdSets the maximum voltage drop threshold as a percentage of supply voltage for power integrity optimizationfc_shell> set_app_options -name opt.common.ir_drop_threshold -value 10
35place.legalize.enable_advanced_ legalizerEnables advanced legalization algorithms, used to perform multithreaded advanced legality checking
36opt.common.power_integrity_effo rtControls the effort level for power integrity optimization; determines whether the tool will reduce voltage drop at the expense of timing QoRfc_shell> set_app_options -name opt.common.power_integrity_effort -value minimal
37place.legalize.enable_variant_aw areEnables variant-aware legalization. When enabled, the tool tries to fix legalization DRC violations by swapping the violating cell with a variant, rather than moving it. If the cell has no variants, it is moved to a legal location
38opt.common.power_integrityEnables the recommended power integrity flow, activating dynamic power shaping (DPS) during compile_fusion and voltage-drop-aware placement during clock_optfc_shell> set_app_options -name opt.common.power_integrity -value true
39place.legalize.enable_prerouted_ net_checkFor pin-track and pin-color alignment during variant-aware legalization, set this application option to true
40power.scale_leakage_power_at_ power_offControls whether leakage power is scaled based on the supply switching activity when a power domain is powered off
41place.legalize.enable_pin_color_ alignment_checkFor pin-track and pin-color alignment during variant-aware legalization, set this application option to true
42power.scale_dynamic_power_at _power_offControls whether dynamic power is scaled based on the supply switching activity when a power domain is powered off
43place.legalize.pin_color_alignme nt_layersSets the layers to be aligned for pin-color alignment during variant-aware legalization
44power.use_generated_clock_sca ling_factorEnables scaling of the switching activity associated with generated clock nets using a ratio specified by the set_power_clock_scaling commandfc_shell> set_app_options -list {power.use_generated_clock_scaling_factor true}
45design.uniquify_naming_styleControls the names of the reference copies created by the uniquify process. %s denotes the name of the existing reference and %d denotes the smallest integer value that forms a unique design name
46opt.common.advanced_logic_res tructuring_modeControls advanced logic restructuring to improve area, timing, and power QoR during the final_opto stage of compile_fusion and clock_opt commandsfc_shell> set_app_options -name opt.common.advanced_logic_restructuring_mode -value timing
47opt.common.preserve_pin_name sRestricts the sizing capability so that constraints remain unchanged through optimization. By default, optimization can change the pin names of leaf cells during sizing if the functionality of the resulting circuit is equivalent. Setting The option preserves pin names so that the original constraints used to constrain the block remain valid
48opt.common.small_region_area_ recoverySpecifies that the tool perform area recovery in regions where the utilization is high, for designs that cannot be legalized due to areas of high utilizationfc_shell> set_app_options -name opt.common.small_region_area_recovery -value true
49opt.port.eliminate_verilog_assignEnables multiple-port-net fixing for the initial_opto and final_opto stages (later stages of the compile_fusion command). Multiple-port nets are represented with the assign statement in the gate-level netlist and might cause design rule violations further in the design flow. If set to true without an explicit set_fix_multiple_port_nets setting, the tool internally runs set_fix_multiple_port_nets -all -buffer_constants to fix multiple-port nets during the logic_opto and initial_drc stages (message MPN-0004)
50compile.flow.optimize_ndr_max_ netsSets the maximum number of nets considered for automatic nondefault routing rules assignment. When both compile.flow.optimize_ndr_critical_range and The option are specified, the stricter constraint has priorityfc_shell> set_app_options -name compile.flow.optimize_ndr_max_nets -value 5000
51opt.common.user_instance_nam e_prefixSpecifies a name prefix for the cells added on the data nets during optimization (compile_fusion, clock_opt, and route_opt commands)fc_shell> set_app_options -name opt.common.user_instance_name_prefix -value "CF_"
52compile.flow.optimize_ndr_critica l_rangeSets the critical range for nondefault routing rule assignment. The value y is used to calculate the slack range [y*WNS, WNS] where WNS is the worst negative slack. Nets in timing paths with slack within this range are considered for NDR assignmentfc_shell> set_app_options -name compile.flow.optimize_ndr_critical_range -value y
53cts.common.user_instance_nam e_prefixSpecifies a name prefix for the cells added on the clock network during clock tree synthesis
54compile.flow.optimize_ndrEnables the automatic assignment of nondefault routing rules to timing-critical nets during optimizationset compile.flow.optimize_ndr
55power.leakage_modeControls the leakage power calculation mode used by the report_power command. By default, state-dependent leakage power is used to calculate leakage power; set The option to change the calculation modeset_app_options -name power.leakage_mode -value average
56opt.common.optimize_ndr_user_ rule_namesSpecifies a prioritized list of nondefault routing rules for automatic assignment to timing-critical nets during optimization. Rules are tried in order of priorityset opt.common.optimize_ndr_user_rule_names { ndr_1w2s ndr_2w3s }
57ccd.dps.focus_power_scenarioSets the scenarios to focus on during dynamic power shaping. By default, the tool focuses on all active scenarios. When the design has many active scenarios, specifying one or two scenarios can reduce the runtimeset_app_options -name -name ccd.dps.focus_power_scenario -value {{S1 S2}}
58route.global.insert_gr_via_ladder sEnables insertion of global-route-based via ladders on pins with via ladder constraints during preroute optimization
59ccd.dps.use_case_typeControls the type of internal power analysis performed during dynamic power shaping. With autovector, the tool runs internal power analysis with a 20 percent probability of toggling a flip-flop and all flip-flops are effectively clocked every cycle, but clock gating is not modeled. With activity, the tool chooses probability of toggling a flip-flop and the clock-gating model based on the activity
60opt.common.enable_via_ladder_i nsertionEnables high-performance and electromigration via ladder insertion for critical paths during compile_fusion and clock_opt commands. Via ladders are stacked vias starting from the pin layer extending into upper routing layers, reducing via resistance to improve performance and electromigration robustness
61ccd.dps.optimize_power_target_ modesEstablishes the overall dynamic power optimization goal. Set to global_peak to reduce the global peak current (optimization goal is to reduce the total peak current). Set to stepped_psgs to reduce the local peak current in windows stepped across the design (optimization goal is to reduce voltage drop violations)
62opt.common.use_route_aware_e stimationEnables global-route-layer-based (GRLB) RC estimation. When route-driven estimation is enabled, this application option is ignored
63ccd.dps.optimize_setup_tradeoff _levelSets the tradeoff between power and setup timing during dynamic power shaping
64opt.common.enable_rdeEnables Route-Driven Estimation (RDE) during the final_opt stage of compile_fusion and clock_opt. Tool performs global routing and extraction for better parasitic estimationset_app_options -name opt.common.enable_rde -value true
65ccd.dps.optimize_hold_tradeoff_l evelSets the tradeoff between power and hold timing during dynamic power shaping
66opt.common.use_route_aware_e stimationEnables global-route-layer-based RC estimation during compile_fusion and clock_opt to improve preroute/postroute correlation. 'auto' enables only when layer resistance varies; 'true' always enablesset_app_options -name opt.common.use_route_aware_estimation -value true
67route.common.global_min_layer_ modeControls the strength of the global minimum routing layer constraint. Set to allow_pin_connection to allow the use of layers beyond the minimum routing layer only for pin connectionsset the route.common.global_min_layer_mode and route.common.global_max_layer_mode application options to allow_pin_connection
68opt.port.eliminate_verilog_assignEnables elimination of Verilog assign statements during multiple-port-net fixing. When enabled, the tool fixes feedthrough nets during the initial_opto and final_opto stages of the compile_fusion commandfc_shell> set_app_options -name opt.port.eliminate_verilog_assign -value true
69route.common.global_max_layer _modeControls the strength of the global maximum routing layer constraint. Set to allow_pin_connection to allow the use of layers beyond the maximum routing layer only for pin connectionsset the route.common.global_min_layer_mode and route.common.global_max_layer_mode application options to allow_pin_connection
70opt.common.preserve_pin_name sControls whether pin names are preserved during optimization. When set to 'always', sizing is restricted to pin-name equivalent cellsfc_shell> set_app_options -name opt.common.preserve_pin_names -value always
71pin_check.place.preplace_option _fileSets the name of a Tcl script that defines routing direction for metal layers, required as input for the create_pin_check_lib command when using the Pin Access Checker utility
72place.legalize.preroute_shape_m erge_distanceSets the distance within which prerouted shapes are merged during legalization accessibility analysis
73libra.complib.match_full_cell_na meControls whether the tool requires full cell name matching when comparing libraries; set to false to allow partial name matching when one library has fewer lexical attributesfc_shell> set_app_options -name libra.complib.match_full_cell_name -value true
74place.legalize.reduce_conservati sm_in_eol_checkReduces conservatism in end-of-line spacing checks during legalization accessibility analysis
75libra.complib.match_lexical_devi ce_threshold_voltageControls whether the lexical_device_threshold_voltage attribute is used for cell name matching when comparing libraries; set to false to ignore this attribute during comparisonfc_shell> set_app_options -name libra.complib.matc h_lexical_device_threshold_voltage -value true
76place.legalize.allow_touch_track _for_access_checkAllows cells to touch routing tracks during accessibility checks in legalization
77hdlin.hdl_library.default_dirnameControls the directory location where HDL template libraries are created on disk by the analyze command
78place.legalize.use_eol_spacing_f or_access_checkEnables use of end-of-line spacing rules during accessibility checks in legalization
79hdlin.hdl_library.default_nameSets the default library name used by the analyze command when the -hdl_library option is not specified
80place.legalize.num_tracks_for_a ccess_checkSets the number of routing tracks used for accessibility checking during legalization
81hdlin.autoread.verilog_extension sControls the file name extensions recognized as Verilog files when using the analyze -autoread option
82place.legalize.enable_prerouted_ net_checkEnables checking for prerouted net accessibility during legalization placement analysis
83hdlin.autoread.sverilog_extensio nsControls the file name extensions recognized as SystemVerilog files when using the analyze -autoread option
84place.legalize.enable_multi_cell_ track_capacity_checkAnalyzes the track capacity of the cell's pins and abutting neighbor cells to estimate routing track sufficiencyset_app_options -name place.legalize.enable_multi_ cell_track_capacity_check -value true
85hdlin.autoread.vhdl_extensionsControls the file name extensions recognized as VHDL files when using the analyze -autoread option
86place.legalize.enable_multi_cell_ access_checkConsiders impact on a cell's pin access due to abutting neighbor cells and prerouted PG net shapes; enabled at last route_opt or after route_autoset_app_options -name place.legalize.enable_multi_cell_access_check -value true
87hdlin.autoread.exclude_extensio nsControls file name extensions to exclude from automatic reading when using the analyze -autoread option
88place.legalize.enable_multi_cell_ pnet_checksEnables simultaneous DRC violation checking between multiple cells and PG net shapes during advanced legalizationset_app_options -name place.legalize.enable_multi_cell_pnet_checks -value true
89hdlin.naming.template_naming_s tyleControls the naming style for parameterized modules when elaborating mixed netlist/RTL designs
90place.legalize.optimize_pin_acce ss_strategiesSpecifies additional strategies for pin access optimization during advanced legalizationset_app_options -name place.legalize.optimize_pin_access_strategies -value horizontal_align
91hdlin.naming.template_paramete r_styleControls the parameter style used in names for parameterized modules
92place.legalize.enable_advanced_ legalizer_rulesSpecifies additional advanced legalization rules not automatically detectedset_app_options -name place.legalize.enable_advanced_legalizer_rules -value
93hdlin.naming.template_separator _styleControls the separator style used in names for parameterized modules
94place.legalize.enable_advanced_ legalizerEnables advanced legalization algorithms for 2D rule checking and cell interaction, which can reduce legalization runtimeset_app_options -name place.legalize.enable_advanced_legalizer -value true
95compile.auto_floorplan.initializeControls whether the tool creates missing floorplan information during automatic floorplanning. 'auto' creates missing info but exits on inconsistency; 'true' always creates core and boundary; 'false' never creates and exits on missing/inconsistent info# set_app_options -name compile.auto_floorplan.initialize -value manual
96place.coarse.ir_drop_default_tar get_low_populationWhen true, uses percentage of total cell count to define the middle IR-drop category; when false, uses voltage drop as a percentage of supply voltagefc_shell> set_app_options -name place.coarse.ir_drop_default_target_low_population -value true
97compile.auto_floorplan.place_pin sControls whether the auto floorplan places existing pins. Determines if fixed, placed, or unplaced pins are repositioned during auto floorplanning
98place.coarse.ir_drop_default_tar get_high_populationWhen true, uses percentage of total cell count to define the upper IR-drop category; when false, uses voltage drop as a percentage of supply voltagefc_shell> set_app_options -name place.coarse.ir_drop_default_target_high_population -value true
99compile.auto_floorplan.place_iosControls whether the auto floorplan places existing IOs/pads. Determines if fixed, placed, or unplaced IOs are repositioned during auto floorplanning
100place.coarse.ir_drop_default_tar get_low_percentagePercentage of total cells (by count) to place in the middle IR-drop category during coarse placementfc_shell> set_app_options -name place.coarse.ir_drop_default_target_low_percentage -value 6.0
101compile.auto_floorplan.place_har d_macrosControls whether the auto floorplan places existing hard macros. Determines if fixed, placed, or unplaced hard macros are repositioned during auto floorplanning
102place.coarse.ir_drop_default_tar get_high_percentagePercentage of total cells (by count) to place in the upper IR-drop category during coarse placementfc_shell> set_app_options -name place.coarse.ir_dro p_default_target_high_percentage -value 2.0
103compile.auto_floorplan.shape_vo ltage_areasControls whether the auto floorplan shapes existing voltage areas. Determines if fixed, placed, or unshaped voltage areas are reshaped during auto floorplanning
104opt.buffering.exclusive_hard_bou nd_buffering_modeControls whether newly added buffers during buffering can be placed inside exclusive hard move bounds. By default the tool can add new cells to an exclusive hard move bound if it improves QoR. Setting to 0 forces the tool to honor the exclusive hard move bound strictlyset_app_options -name opt.buffering.exclusive_hard_bound_buffering_mode -value 0
105compile.auto_floorplan.keep_bou ndsControls whether existing bounds are preserved during auto floorplanning
106place.coarse.enable_enhanced_ soft_blockagesPrevents subsequent incremental placement from moving cells (added during legalization, optimization, and clock tree synthesis) out of soft blockage areas. When enabled, cells placed inside a soft blockage during CTS/opt/legalization remain there during incremental placementset_app_options -name place.coarse.enable_enhanced_soft_blockages -value true
107compile.auto_floorplan.keep_bou ndsControls whether existing placement bounds are kept or removed during automatic floorplanning. 'auto' removes existing bounds if compile.auto_floorplan.place_hard_macros or compile.auto_floorplan.shape_voltage_areas is set to 'all'
108opt.common.max_fanoutSpecifies a maximum fanout for data paths in a block. The tool tries to ensure that data path cells do not drive more than the specified maximum fanout during optimization. This is a soft optimization constraint; the maximum fanout design rule constraint (set_max_fanout) is not honored by the Fusion Compiler tool
109compile.auto_floorplan.keep_pla cement_blockagesControls whether existing placement blockages are kept or removed during automatic floorplanning. 'auto' removes blockages if compile.auto_floorplan.place_hard_macros or compile.auto_floorplan.shape_voltage_areas is set to 'all'
110opt.buffering.enable_hierarchy_ mappingEnables improved buffering techniques for fixing logical DRC violations on multivoltage nets during preroute optimization. Reduces number of buffers used but may slightly increase TNS or hold violationsset_app_options -name opt.buffering.enable_hierarchy_mapping -value true
111compile.auto_floorplan.initializeControls whether the tool creates missing floorplan information during automatic floorplanning# set_app_options -name compile.auto_floorplan.initialize -value manual
112place.coarse.enable_advanced_ mv_cell_placementEnables advanced multivoltage cell placement to reduce the length of multivoltage nets by placing cells closer to voltage area boundaries. Uses dual-rail buffers for optimizationset_app_options -name place.coarse.enable_advanced_mv_cell_placement -value true
113compile.auto_floorplan.place_pin sControls pin placement behavior during automatic floorplanning# set_app_options -name compile.auto_floorplan.place_pins -value unplaced
114opt.common.allow_physical_feed throughControls feedthrough buffering for voltage areas that do not have a specific voltage area rule and no default rule is defined. When set, determines whether physical feedthrough nets are allowed in voltage areas
115compile.auto_floorplan.place_iosControls I/O placement behavior during automatic floorplanning# set_app_options -name compile.auto_floorplan.place_ios -value unplaced
116compile.auto_floorplan.shape_vo ltage_areasControls voltage area shaping behavior during automatic floorplanning# set_app_options -name compile.auto_floorplan.shape_voltage_areas -value unshaped
117compile.auto_floorplan.place_har d_macrosControls hard macro placement behavior during automatic floorplanning# set_app_options -name compile.auto_floorplan.place_hard_macros -value unplaced

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Replying to