US 12,437,134 B2
Deterministic netlist transformations in a multi-processor parallel computing system
Mikhail Bershteyn, Forest Hills, NY (US); Olivier Rene Coudert, Sunnyvale, CA (US); and Florent Sébastien Marc Emmanuel Claude Duru, Shrewsbury, MA (US)
Assigned to Synopsys, Inc., Sunnyvale, CA (US)
Filed by Synopsys, Inc., Mountain View, CA (US)
Filed on May 23, 2022, as Appl. No. 17/751,253.
Claims priority of provisional application 63/208,431, filed on Jun. 8, 2021.
Prior Publication US 2022/0391568 A1, Dec. 8, 2022
Int. Cl. G06F 30/30 (2020.01); G06F 30/323 (2020.01); G06F 30/327 (2020.01); G06F 30/337 (2020.01)
CPC G06F 30/337 (2020.01) [G06F 30/323 (2020.01); G06F 30/327 (2020.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a netlist comprising a plurality of components and connections between components of a circuit design, wherein the plurality of components comprises (a) a set of assigned components which each has a unique assigned identifier and (b) remaining components outside the set of assigned components, where the remaining components do not have assigned identifiers;
determining, by a computer system running multiple parallel processes, unique new identifiers for the remaining components, wherein determining the new identifiers comprises;
visiting the remaining components of the netlist in a topological order starting from the set of assigned components;
assigning the new identifiers to the visited components, the new identifiers generated based on properties of the visited components and on connections of the visited components with assigned components, wherein assigning the new identifiers is deterministic and the same new identifiers are assigned to the visited components regardless of which of the parallel processes determine the new identifiers for which of the visited components; and
adding the visited components to the set of assigned components after the visited components are assigned the new identifiers; and
performing analysis of the circuit design using the unique identifiers assigned to the components.