https://open-source-silicon.dev logo
Title
t

Tim Edwards

07/30/2020, 7:46 PM
@User: So netgen's algorithm involves partitioning the circuit into groups that match fanout and are connected to the same pins, and then sub-partitioning over a number of iterations. If the final result has partitions with only one device (or net) from each circuit in it, then the circuits match. If the partitions have equal numbers of devices (or nets) from each circuit, but is marked as a valid partition, then the devices/nets in that partition are indistinguishable from one another. To finish the matching, the behavior previously was to move two devices/nets into their own partition (arbitrary symmetry breaking), and then run the comparison process, then do that again and again until there are only partitions left with one device or net from each circuit in it. But I believe that if all the devices are really indistinguishable, then there is no difference between putting one pair into its own partition N times, and putting N pairs into their own partitions one time. Running the comparison process only once, instead of every time a pair is moved into a new partition, saves a lot of computation time, and as far as I understand it, makes no difference to the result