IP Library Granted Patent US 8,549,461
Granted Patent B2
US 8,549,461 · App. 13/314,253 · Granted Oct 1, 2013

Generation of independent logical and physical hierarchy

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,549,461
App. No.
13/314,253
Granted
Oct 1, 2013
Kind
B2
Abstract

A logically hierarchical netlist may be split along physical partition boundaries while retaining information on the logical hierarchy. Nets can be driven to higher levels of hierarchy in order to maintain connectivity and enable the original logical function. A mapping of nets can be created. During the design process merging of physical partitions may result in a new logically hierarchical netlist which retains the hierarchy of the original logically hierarchical netlist. The lowest common hierarchical ancestor (LCA) is identified and then the appropriate cells and nets are included during the merging process.

Claims (72)

1. A computer implemented method for circuit design comprising:

importing a logically hierarchical netlist and physical partitions;

splitting the logically hierarchical netlist according to the physical partitions;

retaining information on logical hierarchy within the physical partitions;

driving nets, using one or more processors, that cross physical partition boundaries to a higher level of hierarchy and maintaining electrical connections for nets to match that of the logically hierarchical netlist which was imported; and

providing a resulting netlist with nets which were driven to the higher level of hierarchy.

2. The method of claim 1 further comprising:

obtaining new physical partitions wherein leaf cells are located differently from the physical partitions which were imported;

merging incrementally the logically hierarchical netlist which was split to create a re-merged logically hierarchical netlist with the leaf cells which were located differently; and

re-splitting incrementally the re-merged logically hierarchical netlist according to the new physical partitions.

3. The method of claim 2 wherein the new physical partitions have connections between the leaf cells that have changed and wherein global routing topology of connections has changed, from the physical partitions which were imported.

4. The method of claim 1 further comprising:

importing an updated logically hierarchical netlist;

identifying differences between the logically hierarchical netlist which was originally imported and the updated logically hierarchical netlist; and

modifying a plurality of leaf cells and connectivity within the physical partitions based on the differences which were identified.

5. The method of claim 4 wherein the modifying includes one of adding one or more new leaf cells, deleting one or more leaf cells, and modifying a connection between leaf cells.

6. The method of claim 1 wherein the splitting accommodates multiple voltage domains while preserving logical connections between leaf cells.

7. The method of claim 6 wherein a placement region for the multiple voltage domains are apportioned into a set of equivalent sub-regions wherein each sub-region belongs to one of the multiple voltage domains.

8. The method of claim 7 wherein the set of equivalent sub-regions comprise the placement region originally used.

9. The method according to claim 1 further comprising retaining information, from the logically hierarchical netlist which was imported, in the resulting netlist for each of the physical partitions, after the splitting.

10. The method according to claim 1 further comprising flattening the logical hierarchy.

11. The method according to claim 1 wherein the splitting further comprises: creating an overlay cell at a lowest common hierarchical ancestor of one of the physical partitions; copying all cells and nets from logical hierarchy under the lowest common hierarchical ancestor; deleting all local nets that are not part of the one of the physical partitions; deleting all cells that are not part of the one of the physical partitions; creating a mapping of nets in the logical hierarchy and the physical partitions; assigning all local nets into the one of the physical partitions; and assigning wires under the one of the physical partitions based on physical overlap in the physical partitions.

12. The method according to claim 1 wherein the splitting further comprises transforming timing constraints for the logically hierarchical netlist so that timing requirements are maintained with the resulting netlist.

13. The method according to claim 1 further comprising creating an index table describing the logically hierarchical netlist.

14. The method according to claim 13 further comprising populating the index table with information from the logically hierarchical netlist which was imported.

15. The method according to claim 1 further comprising merging the physical partitions to create a logical hierarchy.

16. The method according to claim 15 wherein the merging comprises:

identifying original cells within a physical partition which were present at the splitting which occurred last;

identifying new cells within the physical partition which have been added since the splitting which occurred last;

including the original cells which were identified in hierarchical levels equivalent to those where the original cells belonged before the splitting; and

including nets which connect the original cells within the physical partition.

17. The method according to claim 16 further comprising:

dividing the new cells, which were identified, into a plurality of sets wherein the new cells within one set are only connected to original cells and the new cells within the one set; and

including the new cells in the one set in a single hierarchical level.

18. The method according to claim 15 wherein the logical hierarchy which was created is an equivalent to that of the logically hierarchical netlist that was imported.

19. The method according to claim 15 wherein the merging further comprises: finding a lowest common hierarchical ancestor model of connected cells, based on the logically hierarchical netlist which was imported; including the connected cells in the lowest common hierarchical ancestor model; copying nets which interconnect the connected cells; reusing nets created by the splitting to stitch interface connections; and merging nets which connect different physical partitions.

20. A computer program product embodied in a non-transitory computer readable medium that, when executed, performs steps of:

importing a logically hierarchical netlist and physical partitions;

splitting the logically hierarchical netlist according to the physical partitions;

retaining information on logical hierarchy within the physical partitions;

driving nets that cross physical partition boundaries to a higher level of hierarchy and maintaining electrical connections for nets to match that of the logically hierarchical netlist which was imported; and

providing a resulting netlist with nets which were driven to the higher level of hierarchy.

21. The computer program product of claim 20 that further performs steps of:

obtaining new physical partitions wherein leaf cells are located differently from the physical partitions which were imported;

merging incrementally the logically hierarchical netlist which was split to create a re-merged logically hierarchical netlist with the leaf cells which were located differently; and

re-splitting incrementally the re-merged logically hierarchical netlist according to the new physical partitions.

22. The computer program product of claim 20 that further performs steps of:

importing an updated logically hierarchical netlist;

identifying differences between the logically hierarchical netlist which was originally imported and the updated logically hierarchical netlist; and

modifying a plurality of leaf cells and connectivity within the physical partitions based on the differences which were identified.

23. The computer program product of claim 20 wherein the splitting accommodates multiple voltage domains while preserving logical connections between leaf cells.

24. The computer program product of claim 20 that further performs a step of retaining information, from the logically hierarchical netlist which was imported, in the resulting netlist for each of the physical partitions, after the splitting.

25. The computer program product of claim 20 that further performs a step of merging the physical partitions to create a logical hierarchy.

26. A computer system for circuit design comprising:

a memory for storing instructions;

one or more processors attached to the memory wherein the one or more processors are configured to:

import a logically hierarchical netlist and physical partitions;

split the logically hierarchical netlist according to the physical partitions;

retain information on logical hierarchy within the physical partitions;

drive nets that cross physical partition boundaries to a higher level of hierarchy and maintaining electrical connections for nets to match that of the logically hierarchical netlist which was imported; and

provide a resulting netlist with nets which were driven to the higher level of hierarchy.

27. The system of claim 26 wherein the one or more processors are further configured to:

obtain new physical partitions wherein leaf cells are located differently from the physical partitions which were imported;

merge incrementally the logically hierarchical netlist which was split to create a re-merged logically hierarchical netlist with the leaf cells which were located differently; and

re-split incrementally the re-merged logically hierarchical netlist according to the new physical partitions.

28. The system of claim 26 wherein the one or more processors are further configured to:

import an updated logically hierarchical netlist;

identify differences between the logically hierarchical netlist which was originally imported and the updated logically hierarchical netlist; and

modify a plurality of leaf cells and connectivity within the physical partitions based on the differences which were identified.

29. The system of claim 26 wherein the splitting accommodates multiple voltage domains while preserving logical connections between leaf cells.

30. The system of claim 26 wherein the one or more processors are further configured to retain information, from the logically hierarchical netlist which was imported, in the resulting netlist for each of the physical partitions, after splitting.

31. The system of claim 26 wherein the one or more processors are further configured to merge the physical partitions to create a logical hierarchy.

Assignments (3)
CHANGE OF NAME Recorded Oct 26, 2016
From: MAGMA DESIGN AUTOMATION, INC.
To: MAGMA DESIGN AUTOMATION LLC
Reel/Frame 040498/0586 →
NUNC PRO TUNC ASSIGNMENT Recorded May 25, 2012
From: MAGMA DESIGN AUTOMATION LLC
To: SYNOPSYS, INC.
Reel/Frame 028269/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2012
From: HUIJBREGTS, EDUARD PETRUS; DEY, AVIJIT
To: MAGMA DESIGN AUTOMATION, INC.
Reel/Frame 027764/0265 →