Skip to content

Commit faf4dbf

Browse files
committed
mpl: keep old keys for compatibility and add deprecated warning
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
1 parent 20d3b98 commit faf4dbf

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

src/mpl/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ rtl_macro_placer
2626
[-max_num_level max_num_level]
2727
[-coarsening_ratio coarsening_ratio]
2828
[-large_net_threshold large_net_threshold]
29+
[-halo_width halo_width]
30+
[-halo_height halo_height]
2931
[-fence_lx fence_lx]
3032
[-fence_ly fence_ly]
3133
[-fence_ux fence_ux]
@@ -55,6 +57,8 @@ rtl_macro_placer
5557
| `-max_num_level` | Maximum depth of physical hierarchical tree. The default value is `2`, and the allowed values are integers `[0, MAX_INT]`. |
5658
| `-coarsening_ratio` | The larger the coarsening_ratio, the faster the convergence process. The allowed values are floats, and the default value is `10.0`. |
5759
| `-large_net_threshold` | Ignore nets with many connections during clustering, such as global nets. The default value is `50`, and the allowed values are integers `[0, MAX_INT]`. |
60+
| `-halo_width` | **Deprecated: use `set_macro_default_halo` instead.** Horizontal halo around macros (microns). The default value is `0.0`. |
61+
| `-halo_height` | **Deprecated: use `set_macro_default_halo` instead.** Vertical halo around macros (microns). The default value is `0.0`. |
5862
| `-fence_lx`, `-fence_ly`, `-fence_ux`, `-fence_uy` | Defines the global fence bounding box coordinates. The default values are the core area coordinates). |
5963
| `-target_util` | Specifies the target utilization. The allowed values are floats and the default value is `0.25`. |
6064
| `-min_ar` | Specifies the minimum aspect ratio $a$, or the ratio of its width to height of a `StandardCellCluster` from $[a, \frac{1}{a}]$. The allowed values are floats, and the default value is `0.33`. |

src/mpl/src/mpl.tcl

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ sta::define_cmd_args "rtl_macro_placer" { -max_num_macro max_num_macro \
99
-max_num_level max_num_level \
1010
-coarsening_ratio coarsening_ratio \
1111
-large_net_threshold large_net_threshold \
12+
-halo_width halo_width \
13+
-halo_height halo_height \
1214
-fence_lx fence_lx \
1315
-fence_ly fence_ly \
1416
-fence_ux fence_ux \
@@ -32,6 +34,7 @@ proc rtl_macro_placer { args } {
3234
sta::parse_key_args "rtl_macro_placer" args \
3335
keys {-max_num_macro -min_num_macro -max_num_inst -min_num_inst -tolerance \
3436
-max_num_level -coarsening_ratio -large_net_threshold \
37+
-halo_width -halo_height \
3538
-fence_lx -fence_ly -fence_ux -fence_uy \
3639
-area_weight -outline_weight -wirelength_weight -guidance_weight -fence_weight \
3740
-boundary_weight -notch_weight \
@@ -104,6 +107,27 @@ proc rtl_macro_placer { args } {
104107
set large_net_threshold $keys(-large_net_threshold)
105108
}
106109

110+
if { [info exists keys(-halo_width)] || [info exists keys(-halo_height)] } {
111+
utl::warn MPL 74 "-halo_width/-halo_height are deprecated, use\
112+
the set_macro_default_halo command instead."
113+
set halo_width 0.0
114+
set halo_height 0.0
115+
116+
if { [info exists keys(-halo_width)] } {
117+
set halo_width $keys(-halo_width)
118+
set halo_height $halo_width
119+
}
120+
121+
if { [info exists keys(-halo_height)] } {
122+
set halo_height $keys(-halo_height)
123+
if { ![info exists keys(-halo_width)] } {
124+
set halo_width $halo_height
125+
}
126+
}
127+
128+
mpl::set_default_halo $halo_width $halo_height $halo_width $halo_height
129+
}
130+
107131
if { [info exists keys(-fence_lx)] } {
108132
set fence_lx $keys(-fence_lx)
109133
}

0 commit comments

Comments
 (0)