From f048deb33dcc1f334fbe54877bdeb4ce4a5ca35d Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Sun, 5 Aug 2018 22:55:58 -0700 Subject: [PATCH] Restore initial assign_budget() call after pack(), restrict call after initial_placement to slack_redist --- common/placer1.cc | 3 ++- ice40/main.cc | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common/placer1.cc b/common/placer1.cc index 4ba0f3cf..1d00e77a 100644 --- a/common/placer1.cc +++ b/common/placer1.cc @@ -138,7 +138,8 @@ class SAPlacer if ((placed_cells - constr_placed_cells) % 500 != 0) log_info(" initial placement placed %d/%d cells\n", int(placed_cells - constr_placed_cells), int(autoplaced.size())); - assign_budget(ctx); + if (ctx->slack_redist_iter > 0) + assign_budget(ctx); ctx->yield(); log_info("Running simulated annealing placer.\n"); diff --git a/ice40/main.cc b/ice40/main.cc index 358bf3c5..78236af1 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -366,6 +366,7 @@ int main(int argc, char *argv[]) if (!ctx->pack() && !ctx->force) log_error("Packing design failed.\n"); + assign_budget(ctx.get()); ctx->check(); print_utilisation(ctx.get()); if (!vm.count("pack-only")) {