aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-08-03 23:53:33 -0700
committerEddie Hung <eddieh@ece.ubc.ca>2018-08-03 23:53:33 -0700
commitdced12cbd2355604279c7277c8a48f584771dfb8 (patch)
treee802b563faf47c06c9022d4cde0ce79631623b19 /common
parent0a14e20f7332344d4c2f73c7ede54ef0258997f7 (diff)
parentf5a1b93f0e9348437ece7fb7d46ac69af98536d0 (diff)
downloadnextpnr-dced12cbd2355604279c7277c8a48f584771dfb8.tar.gz
nextpnr-dced12cbd2355604279c7277c8a48f584771dfb8.tar.bz2
nextpnr-dced12cbd2355604279c7277c8a48f584771dfb8.zip
Merge branch 'master' into slack_histogram
Conflicts: common/timing.cc
Diffstat (limited to 'common')
-rw-r--r--common/nextpnr.h2
-rw-r--r--common/timing.cc6
2 files changed, 4 insertions, 4 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h
index f49b982e..c87a98d9 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 0178a4a9..c046c76f 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -147,7 +147,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);
}
Timing timing(ctx, true /* update */);
@@ -157,7 +157,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),
@@ -174,7 +174,7 @@ 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) {
delay_t default_slack = delay_t(1.0e12 / ctx->target_freq);
ctx->target_freq = 1e12 / (default_slack - timing.min_slack);
if (ctx->verbose)