diff options
author | myrtle <gatecat@ds0.me> | 2022-12-22 21:19:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-22 21:19:21 +0100 |
commit | 76fea8268ca7c3f9a9f4f610951f9ea84993e974 (patch) | |
tree | 65d9723eb70a6ba44ade5eda186a0993bf3fb664 /common/place | |
parent | a80d63b26810e2e5dab8d3d626f9b3052f734c95 (diff) | |
parent | 64f7306b24ac26bf05a3009b2f4b54489739ab28 (diff) | |
download | nextpnr-76fea8268ca7c3f9a9f4f610951f9ea84993e974.tar.gz nextpnr-76fea8268ca7c3f9a9f4f610951f9ea84993e974.tar.bz2 nextpnr-76fea8268ca7c3f9a9f4f610951f9ea84993e974.zip |
Merge pull request #1068 from YosysHQ/cleanup_and_sync
Cleanup and sync
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; |