diff options
Diffstat (limited to 'common/place')
-rw-r--r-- | common/place/placer_heap.cc | 7 | ||||
-rw-r--r-- | common/place/placer_heap.h | 1 |
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; |