aboutsummaryrefslogtreecommitdiffstats
path: root/common/timing.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-11-11 13:19:50 -0800
committerEddie Hung <eddieh@ece.ubc.ca>2018-11-11 13:23:00 -0800
commit32517dfb04214da80b9174011955c74520a7799b (patch)
treedf2fb4d6cbb5e7b5282984b62f3f1b75b1151ebd /common/timing.cc
parent9e5aded5c6583e36604aa09d22d3b2de3ff47905 (diff)
downloadnextpnr-32517dfb04214da80b9174011955c74520a7799b.tar.gz
nextpnr-32517dfb04214da80b9174011955c74520a7799b.tar.bz2
nextpnr-32517dfb04214da80b9174011955c74520a7799b.zip
[timing] Better messaging for failed timing analysis, allow --force to
continue
Diffstat (limited to 'common/timing.cc')
-rw-r--r--common/timing.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/timing.cc b/common/timing.cc
index d1a85779..889880d4 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -166,8 +166,11 @@ struct Timing
log_info(" remaining fanin includes %s (no net)\n", fanin.first->name.c_str(ctx));
}
}
+ if (ctx->force)
+ log_warning("timing analysis failed due to presence of combinational loops, incomplete specification of timing ports, etc.\n");
+ else
+ log_error("timing analysis failed due to presence of combinational loops, incomplete specification of timing ports, etc.\n");
}
- NPNR_ASSERT(port_fanin.empty());
// Go forwards topographically to find the maximum arrival time and max path length for each net
for (auto net : topographical_order) {