diff options
Diffstat (limited to 'common/kernel/timing.cc')
-rw-r--r-- | common/kernel/timing.cc | 6 |
1 files changed, 6 insertions, 0 deletions
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<void(const NetInfo *, dict<IdString, delay_t> &, delay_t)> find_net_drivers = [&](const NetInfo *ni, dict<IdString, delay_t> &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<IdString, delay_t> drivers; find_net_drivers(ni, drivers, 0); |