Skip to content

Commit 6aa81c7

Browse files
export macro_blockage_weight to tcl
Signed-off-by: Ravi Varadarajan <[email protected]>
1 parent 1f6c7ba commit 6aa81c7

File tree

5 files changed

+17
-2
lines changed

5 files changed

+17
-2
lines changed

src/mpl2/src/hier_rtlmp.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ void HierRTLMP::setNotchWeight(float weight)
112112
notch_weight_ = weight;
113113
}
114114

115+
void HierRTLMP::setMacroBlockageWeight(float weight)
116+
{
117+
macro_blockage_weight_ = weight;
118+
}
119+
115120
void HierRTLMP::setGlobalFence(float fence_lx,
116121
float fence_ly,
117122
float fence_ux,

src/mpl2/src/hier_rtlmp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ class HierRTLMP
126126
void setFenceWeight(float fence_weight);
127127
void setBoundaryWeight(float boundary_weight);
128128
void setNotchWeight(float notch_weight);
129+
void setMacroBlockageWeight(float macro_blockage_weight);
129130
void setPinAccessThreshold(float pin_access_th);
130131
void setTargetUtil(float target_util);
131132
void setTargetDeadSpace(float target_dead_space);

src/mpl2/src/mpl.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ bool rtl_macro_placer_cmd(const int max_num_macro,
7171
const float fence_weight,
7272
const float boundary_weight,
7373
const float notch_weight,
74+
const float macro_blockage_weight,
7475
const float pin_access_th,
7576
const float target_util,
7677
const float target_dead_space,
@@ -101,6 +102,7 @@ bool rtl_macro_placer_cmd(const int max_num_macro,
101102
fence_weight,
102103
boundary_weight,
103104
notch_weight,
105+
macro_blockage_weight,
104106
pin_access_th,
105107
target_util,
106108
target_dead_space,

src/mpl2/src/mpl.tcl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ sta::define_cmd_args "rtl_macro_placer" { -max_num_macro max_num_macro \
5353
-fence_weight fence_weight \
5454
-boundary_weight boundary_weight \
5555
-notch_weight notch_weight \
56+
-macro_blockage_weight macro_blockage_weight \
5657
-pin_access_th pin_access_th \
5758
-target_util target_util \
5859
-target_dead_space target_dead_space \
@@ -67,7 +68,7 @@ proc rtl_macro_placer { args } {
6768
-signature_net_threshold -halo_width \
6869
-fence_lx -fence_ly -fence_ux -fence_uy \
6970
-area_weight -outline_weight -wirelength_weight -guidance_weight -fence_weight \
70-
-boundary_weight -notch_weight \
71+
-boundary_weight -notch_weight macro_blockage_weight \
7172
-pin_access_th -target_util \
7273
-target_dead_space -min_ar -snap_layer -report_directory \
7374
} flag { }
@@ -102,6 +103,7 @@ proc rtl_macro_placer { args } {
102103
set fence_weight 150.0
103104
set boundary_weight 5.0
104105
set notch_weight 150.0
106+
set macro_blockage_weight 100.0
105107
set pin_access_th 0.05
106108
set target_util 0.25
107109
set target_dead_space 0.25
@@ -177,6 +179,9 @@ proc rtl_macro_placer { args } {
177179
if { [info exists keys(-notch_weight)] } {
178180
set notch_weight $keys(-notch_weight)
179181
}
182+
if { [info exists keys(-macro_blockage_weight)] } {
183+
set macro_blockage_weight $keys(-macro_blockage_weight)
184+
}
180185
if { [info exists keys(-pin_access_th)] } {
181186
set pin_access_th $keys(-pin_access_th)
182187
}
@@ -213,7 +218,7 @@ proc rtl_macro_placer { args } {
213218
$fence_lx $fence_ly $fence_ux $fence_uy \
214219
$area_weight $outline_weight $wirelength_weight \
215220
$guidance_weight $fence_weight $boundary_weight \
216-
$notch_weight \
221+
$notch_weight $macro_blockage_weight \
217222
$pin_access_th \
218223
$target_util \
219224
$target_dead_space \

src/mpl2/src/rtl_mp.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ bool MacroPlacer2::place(const int max_num_macro,
7777
const float fence_weight,
7878
const float boundary_weight,
7979
const float notch_weight,
80+
const float macro_blockage_weight,
8081
const float pin_access_th,
8182
const float target_util,
8283
const float target_dead_space,
@@ -101,6 +102,7 @@ bool MacroPlacer2::place(const int max_num_macro,
101102
hier_rtlmp_->setFenceWeight(fence_weight);
102103
hier_rtlmp_->setBoundaryWeight(boundary_weight);
103104
hier_rtlmp_->setNotchWeight(notch_weight);
105+
hier_rtlmp_->setMacroBlockageWeight(macro_blockage_weight);
104106
hier_rtlmp_->setPinAccessThreshold(pin_access_th);
105107
hier_rtlmp_->setTargetUtil(target_util);
106108
hier_rtlmp_->setTargetDeadSpace(target_dead_space);

0 commit comments

Comments
 (0)