File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,25 @@ if { $::env(GPL_TIMING_DRIVEN) } {
3333 }
3434}
3535
36+ # Parameters for phi coefficients in global placement
37+ # Validate phi coefficient constraints before using them
38+ if { [info exists ::env(MIN_PLACE_STEP_COEF)] && [info exists ::env(MAX_PLACE_STEP_COEF)] } {
39+ set min_phi $::env(MIN_PLACE_STEP_COEF)
40+ set max_phi $::env(MAX_PLACE_STEP_COEF)
41+
42+ if { $min_phi > $max_phi } {
43+ utl::error GPL 200 " MIN_PLACE_STEP_COEF ($min_phi ) cannot be greater than MAX_PLACE_STEP_COEF ($max_phi )"
44+ }
45+ }
46+
47+ if { [info exists ::env(MIN_PLACE_STEP_COEF)] } {
48+ lappend global_placement_args -min_phi_coef $::env(MIN_PLACE_STEP_COEF)
49+ }
50+
51+ if { [info exists ::env(MAX_PLACE_STEP_COEF)] } {
52+ lappend global_placement_args -max_phi_coef $::env(MAX_PLACE_STEP_COEF)
53+ }
54+
3655proc do_placement { global_placement_args } {
3756 set all_args [concat [list -density [place_density_with_lb_addon] \
3857 -pad_left $::env(CELL_PAD_IN_SITES_GLOBAL_PLACEMENT) \
Original file line number Diff line number Diff line change @@ -571,6 +571,30 @@ GPL_ROUTABILITY_DRIVEN:
571571 stages :
572572 - place
573573 default : 1
574+ MIN_PLACE_STEP_COEF :
575+ description : >
576+ Sets the minimum phi coefficient (pcof_min / µ_k Lower Bound) for global
577+ placement optimization. This parameter controls the step size lower bound
578+ in the RePlAce Nesterov optimization algorithm. Lower values may improve
579+ convergence but can increase runtime.
580+ Valid range: 0.95-1.05
581+ default : 0.95
582+ stages :
583+ - place
584+ tunable : 1
585+ type : float
586+ MAX_PLACE_STEP_COEF :
587+ description : >
588+ Sets the maximum phi coefficient (pcof_max / µ_k Upper Bound) for global
589+ placement optimization. This parameter controls the step size upper bound
590+ in the RePlAce Nesterov optimization algorithm. Higher values allow more
591+ aggressive optimization but may risk divergence.
592+ Valid range: 1.00-1.20
593+ default : 1.05
594+ stages :
595+ - place
596+ tunable : 1
597+ type : float
574598CAP_MARGIN :
575599 description : >
576600 Specifies a capacitance margin when fixing max capacitance violations. This
You can’t perform that action at this time.
0 commit comments