From c7f0bdfc1bd7443ada1bebce873fdc7a87c63610 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Tue, 4 Sep 2018 10:35:12 -0700 Subject: [PATCH 1/3] Move DelayInfo into loop --- xc7/arch.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xc7/arch.cc b/xc7/arch.cc index 868b9ee1..8be5d7a4 100644 --- a/xc7/arch.cc +++ b/xc7/arch.cc @@ -149,11 +149,11 @@ std::vector TorcInfo::construct_wire_to_delay(const std::vector TorcInfo::construct_wire_to_delay(const std::vector Date: Tue, 4 Sep 2018 10:35:30 -0700 Subject: [PATCH 2/3] Convert path delay to NS --- common/router1.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/router1.cc b/common/router1.cc index 7f852dca..fb618297 100644 --- a/common/router1.cc +++ b/common/router1.cc @@ -367,7 +367,7 @@ struct Router if (ctx->debug) { log(" Destination wire: %s\n", ctx->getWireName(dst_wire).c_str(ctx)); - log(" Path delay estimate: %.2f\n", float(ctx->estimateDelay(src_wire, dst_wire))); + log(" Path delay estimate: %.2f\n", ctx->getDelayNS(ctx->estimateDelay(src_wire, dst_wire))); } route(src_wires, dst_wire); From d0916943c570292c84d04644f28f2e5b812a57b3 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Tue, 4 Sep 2018 10:41:32 -0700 Subject: [PATCH 3/3] Extend delays to cover BYP and FAN --- xc7/arch.cc | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/xc7/arch.cc b/xc7/arch.cc index 8be5d7a4..3e5b7c06 100644 --- a/xc7/arch.cc +++ b/xc7/arch.cc @@ -146,8 +146,13 @@ std::vector TorcInfo::construct_wire_to_delay(const std::vector wire_to_delay; wire_to_delay.reserve(wire_to_tilewire.size()); - const boost::regex re_124 = boost::regex("[NESW][NESWLR](\\d)BEG(_[NS])?\\d"); - const boost::regex re_L = boost::regex("L(H|V|VB)(_L)?\\d+"); + const boost::regex re_124 = boost::regex("[NESW][NESWLR](\\d)BEG(_[NS])?\\d"); + const boost::regex re_L = boost::regex("L(H|V|VB)(_L)?\\d+"); + const boost::regex re_BYP = boost::regex("BYP(_ALT)?\\d"); + const boost::regex re_BYP_B = boost::regex("BYP_[BL]\\d"); + const boost::regex re_BOUNCE_NS = boost::regex("(BYP|FAN)_BOUNCE_[NS]3_\\d"); + const boost::regex re_FAN = boost::regex("FAN(_ALT)?\\d"); + boost::cmatch what; ExtendedWireInfo ewi(ddb); for (const auto &tw : wire_to_tilewire) @@ -171,6 +176,14 @@ std::vector TorcInfo::construct_wire_to_delay(const std::vector