A flexible and extensible automated design partitioning mechanism that facilitates
simulation sessions employing two or more simulators is provided. A
simulation backplane includes partitioning logic that identifies the design blocks of an overall design pertaining to each of a plurality of simulators. Once the partitions have been identified, nets that cross simulator boundaries (e.g., mixed nets) are determined and inter-simulator
connectivity information is generated for the simulators. According to one aspect of the present invention, the partitioning logic is able to accomodate arbitrary (e.g., instance-based) partitioning. A design source expressed in a design representation upon which a first simulator may operate is received. Design blocks to be partitioned to each of a plurality of solvers are identified based upon one or more partitioning directives and the design source. A first instance of a
cell is assigned to a first
solver and a second instance of the
cell is assigned to a second
solver.
Netlist like information is generated for those of the design blocks that are partitioned to a non-design source
solver. To accomodate a folded representation of a design block containing the first or second instance of the
cell, one or more additional cells are created. According to another aspect of the present invention,
name space mapping is retained across all simulators. A design source upon which a first simulator may operate is read. Based upon a set of rules, a primary partition that is to be simulated by a first solver is identified. The primary partition includes a top cell of the design representation. Additionally, a secondary partition that is to be simulated by a second solver is identified. Subsequently,
netlist information is generated for the second solver while retaining
name space mapping in the secondary partition by adding one or more levels of hierarchy so as to include information about the top cell in the secondary partition.