You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We create a cell inst and connect it to one net. Then we change our mind, disconnect and connect to a different net.
When querying the cell inst for which net its port inst connects to, we should get netB, right? Well, before 131331d we did. Now, we get null.
The reason for this change is subtle: Previously, EDIFCellInst.portInsts was a Map. When adding a duplicate entry in EDIFCellInst.addPortInst, the previous one was discarded and the new one was saved in the map. In that change EDIFPortInstList was introduced, which is now used in EDIFCellInst. In case of duplicates, EDIFPortInstList keeps the old value and discards the new one.
This change was unexpected for me and very hard to find. I believe that mirroring the previous behaviour more closely is more intuitive.
The text was updated successfully, but these errors were encountered:
Hi,
after hours of debugging, I found out that 131331d subtly changed behaviour when there are duplicate
EDIFPortInst
s.Let's use this minimal example:
We create a cell inst and connect it to one net. Then we change our mind, disconnect and connect to a different net.
When querying the cell inst for which net its port inst connects to, we should get netB, right? Well, before 131331d we did. Now, we get null.
The reason for this change is subtle: Previously,
EDIFCellInst.portInsts
was a Map. When adding a duplicate entry inEDIFCellInst.addPortInst
, the previous one was discarded and the new one was saved in the map. In that changeEDIFPortInstList
was introduced, which is now used inEDIFCellInst
. In case of duplicates,EDIFPortInstList
keeps the old value and discards the new one.This change was unexpected for me and very hard to find. I believe that mirroring the previous behaviour more closely is more intuitive.
The text was updated successfully, but these errors were encountered: