Extend delays to cover BYP and FAN

This commit is contained in:
Eddie Hung 2018-09-04 10:41:32 -07:00
parent 0721a15c33
commit d0916943c5

View File

@ -146,8 +146,13 @@ std::vector<DelayInfo> TorcInfo::construct_wire_to_delay(const std::vector<Tilew
std::vector<DelayInfo> 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<DelayInfo> TorcInfo::construct_wire_to_delay(const std::vector<Tilew
else if (l == "V") d.delay = 350;
else throw;
}
else if (boost::regex_match(ewi.mWireName, what, re_BYP)) {
d.delay = 190;
}
else if (boost::regex_match(ewi.mWireName, what, re_BYP_B)) {
}
else if (boost::regex_match(ewi.mWireName, what, re_FAN)) {
d.delay = 190;
}
wire_to_delay.emplace_back(std::move(d));
}