diff options
author | Eddie Hung <eddieh@ece.ubc.ca> | 2018-08-03 19:53:32 -0700 |
---|---|---|
committer | Eddie Hung <eddieh@ece.ubc.ca> | 2018-08-03 19:53:32 -0700 |
commit | 3d5dcda12c80175f5bfb2c2615de9cb5fadacb90 (patch) | |
tree | 6d9bf44e2342833b79087ee4d627a8beb1561107 /common | |
parent | 80e6b17ec9da25ff089a626b2fb5043876814307 (diff) | |
download | nextpnr-3d5dcda12c80175f5bfb2c2615de9cb5fadacb90.tar.gz nextpnr-3d5dcda12c80175f5bfb2c2615de9cb5fadacb90.tar.bz2 nextpnr-3d5dcda12c80175f5bfb2c2615de9cb5fadacb90.zip |
Auto frequency only if --freq 0 is set
Diffstat (limited to 'common')
-rw-r--r-- | common/nextpnr.h | 2 | ||||
-rw-r--r-- | common/timing.cc | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h index f01173e6..c0d1a918 100644 --- a/common/nextpnr.h +++ b/common/nextpnr.h @@ -472,7 +472,7 @@ struct Context : Arch, DeterministicRNG bool force = false; bool timing_driven = true; float target_freq = 12e6; - bool user_freq = false; + bool auto_freq = false; int slack_redist_iter = 0; Context(ArchArgs args) : Arch(args) {} diff --git a/common/timing.cc b/common/timing.cc index 9777ab7d..f422ee91 100644 --- a/common/timing.cc +++ b/common/timing.cc @@ -125,7 +125,7 @@ void assign_budget(Context *ctx, bool quiet) { if (!quiet) { log_break(); - log_info("Annotating ports with timing budgets\n"); + log_info("Annotating ports with timing budgets for target frequency %.2f MHz\n", ctx->target_freq/1e6); } // Clear delays to a very high value first @@ -142,7 +142,7 @@ void assign_budget(Context *ctx, bool quiet) for (auto &net : ctx->nets) { for (auto &user : net.second->users) { // Post-update check - if (ctx->user_freq && user.budget < 0) + if (!ctx->auto_freq && user.budget < 0) log_warning("port %s.%s, connected to net '%s', has negative " "timing budget of %fns\n", user.cell->name.c_str(ctx), user.port.c_str(ctx), net.first.c_str(ctx), @@ -159,11 +159,11 @@ void assign_budget(Context *ctx, bool quiet) // For slack redistribution, if user has not specified a frequency // dynamically adjust the target frequency to be the currently // achieved maximum - if (!ctx->user_freq && ctx->slack_redist_iter > 0) { + if (ctx->auto_freq && ctx->slack_redist_iter > 0) { ctx->target_freq = 1e12 / (default_slack - min_slack); - /*if (ctx->verbose)*/ - log_info("minimum slack for this assign = %d, target Fmax for next update = %.2f MHz\n", min_slack, - ctx->target_freq / 1e6); + if (ctx->verbose) + log_info("minimum slack for this assign = %d, target Fmax for next update = %.2f MHz\n", min_slack, + ctx->target_freq / 1e6); } if (!quiet) |