Describe the bug
This bug is with hierarchy enabled through -hier.
When creating a parasitic annotation in read_spef, we find the target net using Network::findNetRelative, which calls dbNetwork::findNet, which preferentially returns dbNet* as opposed to dbModNet*.
In the cases I studied, dbNet* is what the parasitic annotation is eventually registered under inside ConcreteParasitics.
When the parasitic is looked up through findParasiticNetwork(Pin*) which internally calls findParasiticNet, we use a dbModNet* to look up the parasitic network, which finds no annotation. This is because dbNetwork::net(Pin *) returns a dbModNet, and highestConnectedNet is a passthrough as defined on dbNetwork.
This makes us miss the annotation on 3777 driver pins on nangate45/bp_multi_top. The check I'm adding in The-OpenROAD-Project/OpenROAD-flow-scripts#3979 should make this visible.
Expected Behavior
No lost or ignored annotations
Environment
To Reproduce
See above
Relevant log output
Screenshots
No response
Additional Context
No response
Describe the bug
This bug is with hierarchy enabled through -hier.
When creating a parasitic annotation in read_spef, we find the target net using
Network::findNetRelative, which callsdbNetwork::findNet, which preferentially returns dbNet* as opposed to dbModNet*.In the cases I studied, dbNet* is what the parasitic annotation is eventually registered under inside ConcreteParasitics.
When the parasitic is looked up through findParasiticNetwork(Pin*) which internally calls findParasiticNet, we use a dbModNet* to look up the parasitic network, which finds no annotation. This is because
dbNetwork::net(Pin *)returns a dbModNet, andhighestConnectedNetis a passthrough as defined on dbNetwork.This makes us miss the annotation on 3777 driver pins on nangate45/bp_multi_top. The check I'm adding in The-OpenROAD-Project/OpenROAD-flow-scripts#3979 should make this visible.
Expected Behavior
No lost or ignored annotations
Environment
To Reproduce
See above
Relevant log output
Screenshots
No response
Additional Context
No response