aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-03-04 11:34:20 +0000
committergatecat <gatecat@ds0.me>2021-03-04 11:34:20 +0000
commit98d1c5a411a9b349298384d32627f0fa1229986f (patch)
tree49787e1efda34565d8e9462382914105aa51525a
parent1ff2023f32320ffe8bf588d96a2cb8427ccbc618 (diff)
downloadnextpnr-98d1c5a411a9b349298384d32627f0fa1229986f.tar.gz
nextpnr-98d1c5a411a9b349298384d32627f0fa1229986f.tar.bz2
nextpnr-98d1c5a411a9b349298384d32627f0fa1229986f.zip
timing: Skip route delays for unplaced/nullptr cells
Signed-off-by: gatecat <gatecat@ds0.me>
-rw-r--r--common/timing.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/common/timing.cc b/common/timing.cc
index dd38ee45..77206c30 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -140,8 +140,13 @@ void TimingAnalyser::get_route_delays()
{
for (auto net : sorted(ctx->nets)) {
NetInfo *ni = net.second;
- for (auto &usr : ni->users)
+ if (ni->driver.cell == nullptr || ni->driver.cell->bel == BelId())
+ continue;
+ for (auto &usr : ni->users) {
+ if (usr.cell->bel == BelId())
+ continue;
ports.at(CellPortKey(usr)).route_delay = DelayPair(ctx->getNetinfoRouteDelay(ni, usr));
+ }
}
}