aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-20 19:22:03 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-20 19:22:03 +0200
commit9475997a2df199d6dc27375978b56a08908d096e (patch)
tree26dd8479b4985fa765f377bc23edb57c4b82dc15 /common
parent2da90889efb194be4140ebfd5893bdf0ced223f3 (diff)
downloadnextpnr-9475997a2df199d6dc27375978b56a08908d096e.tar.gz
nextpnr-9475997a2df199d6dc27375978b56a08908d096e.tar.bz2
nextpnr-9475997a2df199d6dc27375978b56a08908d096e.zip
Improve --tmfuzz mode and iCE40 delay estimator
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common')
-rw-r--r--common/route.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/common/route.cc b/common/route.cc
index 39e420d3..6a410397 100644
--- a/common/route.cc
+++ b/common/route.cc
@@ -162,6 +162,22 @@ struct Router
src_wires[src_wire] = 0;
route(src_wires, dst_wire);
routedOkay = visited.count(dst_wire);
+
+ if (ctx->verbose) {
+ log("Route (from destination to source):\n");
+
+ WireId cursor = dst_wire;
+
+ while (1) {
+ log(" %8.3f %s\n", ctx->getDelayNS(visited[cursor].delay),
+ ctx->getWireName(cursor).c_str(ctx));
+
+ if (cursor == src_wire)
+ break;
+
+ cursor = ctx->getPipSrcWire(visited[cursor].pip);
+ }
+ }
}
Router(Context *ctx, IdString net_name, bool ripup = false,