From d908928b56917c02db4d8127b7c594b1225ba974 Mon Sep 17 00:00:00 2001 From: David Shah Date: Fri, 29 Jun 2018 15:47:56 +0200 Subject: [PATCH] Tidying up the SA placer Signed-off-by: David Shah --- common/place_sa.cc | 7 +++---- common/place_sa.h | 2 +- gui/ice40/worker.cc | 3 ++- ice40/main.cc | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common/place_sa.cc b/common/place_sa.cc index 17be91a2..c0c1b180 100644 --- a/common/place_sa.cc +++ b/common/place_sa.cc @@ -46,7 +46,7 @@ NEXTPNR_NAMESPACE_BEGIN class SAPlacer { public: - SAPlacer(Context *ctx, bool timing_driven) : ctx(ctx), timing_driven(timing_driven) + SAPlacer(Context *ctx) : ctx(ctx) { int num_bel_types = 0; for (auto bel : ctx->getBels()) { @@ -416,7 +416,6 @@ class SAPlacer float curr_tns = 0; float temp = 1000; bool improved = false; - bool timing_driven = true; int n_move, n_accept; int diameter = 35, max_x = 1, max_y = 1; std::unordered_map bel_types; @@ -428,10 +427,10 @@ class SAPlacer const float post_legalise_dia_scale = 2; }; -bool place_design_sa(Context *ctx, bool timing_driven) +bool place_design_sa(Context *ctx) { try { - SAPlacer placer(ctx, timing_driven); + SAPlacer placer(ctx); placer.place(); log_info("Checksum: 0x%08x\n", ctx->checksum()); #ifndef NDEBUG diff --git a/common/place_sa.h b/common/place_sa.h index e61d9375..1fd8c712 100644 --- a/common/place_sa.h +++ b/common/place_sa.h @@ -23,7 +23,7 @@ NEXTPNR_NAMESPACE_BEGIN -extern bool place_design_sa(Context *ctx, bool timing_driven = true); +extern bool place_design_sa(Context *ctx); NEXTPNR_NAMESPACE_END diff --git a/gui/ice40/worker.cc b/gui/ice40/worker.cc index ce513a05..acf32554 100644 --- a/gui/ice40/worker.cc +++ b/gui/ice40/worker.cc @@ -122,7 +122,8 @@ void Worker::place(bool timing_driven) { Q_EMIT taskStarted(); try { - Q_EMIT place_finished(place_design_sa(ctx, timing_driven)); + ctx->timing_driven = timing_driven; + Q_EMIT place_finished(place_design_sa(ctx)); } catch (WorkerInterruptionRequested) { Q_EMIT taskCanceled(); } diff --git a/ice40/main.cc b/ice40/main.cc index 732a62f4..26b0affa 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -366,11 +366,11 @@ int main(int argc, char *argv[]) assign_budget(&ctx, freq); ctx.check(); print_utilisation(&ctx); - bool timing_driven = true; + ctx.timing_driven = true; if (vm.count("no-tmdriv")) - timing_driven = false; + ctx.timing_driven = false; if (!vm.count("pack-only")) { - if (!place_design_sa(&ctx, timing_driven) && !ctx.force) + if (!place_design_sa(&ctx) && !ctx.force) log_error("Placing design failed.\n"); ctx.check(); if (!route_design(&ctx) && !ctx.force)