aboutsummaryrefslogtreecommitdiffstats
path: root/common/place
diff options
context:
space:
mode:
Diffstat (limited to 'common/place')
-rw-r--r--common/place/placer_heap.cc7
-rw-r--r--common/place/placer_heap.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/common/place/placer_heap.cc b/common/place/placer_heap.cc
index 7fa27206..efc04df5 100644
--- a/common/place/placer_heap.cc
+++ b/common/place/placer_heap.cc
@@ -362,7 +362,11 @@ class HeAPPlacer
} else
#endif
{
- if (!placer1_refine(ctx, Placer1Cfg(ctx))) {
+ auto placer1_cfg = Placer1Cfg(ctx);
+ placer1_cfg.hpwl_scale_x = cfg.hpwl_scale_x;
+ placer1_cfg.hpwl_scale_y = cfg.hpwl_scale_y;
+ placer1_cfg.netShareWeight = cfg.netShareWeight;
+ if (!placer1_refine(ctx, placer1_cfg)) {
return false;
}
}
@@ -1813,6 +1817,7 @@ PlacerHeapCfg::PlacerHeapCfg(Context *ctx)
criticalityExponent = ctx->setting<int>("placerHeap/criticalityExponent");
timingWeight = ctx->setting<int>("placerHeap/timingWeight");
parallelRefine = ctx->setting<bool>("placerHeap/parallelRefine", false);
+ netShareWeight = ctx->setting<float>("placerHeap/netShareWeight", 0);
timing_driven = ctx->setting<bool>("timing_driven");
solverTolerance = 1e-5;
diff --git a/common/place/placer_heap.h b/common/place/placer_heap.h
index e554a8e0..c79e3dfc 100644
--- a/common/place/placer_heap.h
+++ b/common/place/placer_heap.h
@@ -41,6 +41,7 @@ struct PlacerHeapCfg
bool timing_driven;
float solverTolerance;
bool placeAllAtOnce;
+ float netShareWeight;
bool parallelRefine;
int cell_placement_timeout;