diff --git a/common/kernel/timing.cc b/common/kernel/timing.cc index df0c3b5e..f046ba7d 100644 --- a/common/kernel/timing.cc +++ b/common/kernel/timing.cc @@ -299,7 +299,10 @@ void TimingAnalyser::identify_related_domains() std::function &, delay_t)> find_net_drivers = [&](const NetInfo *ni, dict &drivers, delay_t delay_acc) { // Get driving cell and port + if (ni == nullptr) return; const CellInfo *cell = ni->driver.cell; + if (cell == nullptr) return; + const IdString port = ni->driver.port; bool didGoUpstream = false; @@ -360,6 +363,9 @@ void TimingAnalyser::identify_related_domains() for (const auto &domain : domains) { const NetInfo *ni = ctx->nets.at(domain.key.clock).get(); + if (ni == nullptr) continue; + if (ni->driver.cell == nullptr) continue; + dict drivers; find_net_drivers(ni, drivers, 0);