timing: Skip route delays for unplaced/nullptr cells

Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
gatecat 2021-03-04 11:34:20 +00:00
parent 1ff2023f32
commit 98d1c5a411

View File

@ -140,9 +140,14 @@ void TimingAnalyser::get_route_delays()
{ {
for (auto net : sorted(ctx->nets)) { for (auto net : sorted(ctx->nets)) {
NetInfo *ni = net.second; 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)); ports.at(CellPortKey(usr)).route_delay = DelayPair(ctx->getNetinfoRouteDelay(ni, usr));
} }
}
} }
void TimingAnalyser::topo_sort() void TimingAnalyser::topo_sort()