IP Library › Granted Patent US 8,516,412
Granted Patent B2
US 8,516,412 · App. 13/222,928 · Granted Aug 20, 2013

Soft hierarchy-based physical synthesis for large-scale, high-performance circuits

Inventors: Minsik Cho (Austin, TX); Alvan W. Ng (Austin, TX); Ruchir Puri (Baldwin Place, NY); Haoxing Ren (Austin, TX); Hua Xiang (Ossining, NY); Matthew M. Ziegler (Sleepy Hollow, NY)
Assignee: International Business Machines Corporation
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,516,412
App. No.
13/222,928
Granted
Aug 20, 2013
Kind
B2
Abstract

In one embodiment, the invention is a method and apparatus for soft hierarchy-based synthesis for large-scale, high-performance circuits. One embodiment of a method for physically synthesizing a design of an integrated circuit includes compiling a logical description of the design into a flattened netlist, extracting a soft hierarchy from the flattened netlist, wherein the soft hierarchy defines a boundary on a die across which cells of the integrated circuit are permitted to move, and placing a cell of the integrated circuit on the die in accordance with the soft hierarchy.

Claims (59)

1. A method for physically synthesizing a design of an integrated circuit, the method comprising:

compiling a logical description of the design into a flattened netlist;

extracting a soft hierarchy from the flattened netlist, wherein the soft hierarchy defines a boundary on a die across which cells of the integrated circuit are permitted to move, wherein the extracting comprises:

assigning gates in the flattened netlist to one or more logic modules, wherein the assigning comprises:

marking those of the gates that carry hierarchical information with an identifier that indicates one of the one or more logic modules corresponding to the hierarchical information; and

grouping those of the gates that are marked with a common identifier into a common one of the one or more logic modules; and

placing a cell of the integrated circuit on the die in accordance with the soft hierarchy,

wherein at least one of: the compiling, the extracting, or the placing is performed using a processor.

2. The method of claim 1 , wherein the assigning further comprises, for a given one of the one or more logic modules:

tracing forward along a fanout net of each gate in the given one of the one or more logic modules, while marking the each gate with a “forward” flag;

tracing backward along a fanin net of the each gate, while marking the each gate with a “backward” flag; and

marking any gate that is marked with both a “forward” flag and a “backward” flag as belonging to the given one of the one or more logic modules.

3. The method of claim 1 , wherein the assigning comprises:

assigning dust logic to the one or more logic modules.

4. The method of claim 3 , wherein the assigning the dust logic comprises:

identifying, for each dust logic gate, a collection of neighbor gates including an input neighbor gate and an output neighbor gate;

assigning the each dust logic gate to one of the one or more logic modules that is most represented by the collection of neighbor gates.

5. The method of claim 4 , wherein the identifying and the assigning are performed for one dust logic gate at a time, and all dust logic gates are sorted in ascending order according to a number of neighbor gates that are not assigned to one of the one or more logic modules.

6. The method of claim 1 , wherein the placing comprises:

representing each logic module of the integrated circuit as a set of one or more circular objects; and

positioning each set of one or more circular objects within boundaries of a floorplan corresponding to the integrated circuit.

7. The method of claim 6 , wherein the positioning keeps each set of the one or more circular objects intact.

8. The method of claim 6 , wherein the positioning honors a movebound constraint that requires that a given logic module be placed within a given area of the floorplan.

9. The method of claim 8 , wherein the movebound constraint is defined by the soft hierarchy.

10. The method of claim 6 , wherein the positioning honors an attraction that pulls two cells of the integrated circuit together.

11. The method of claim 6 , wherein the positioning honors an attraction that pulls a cell of the integrated circuit toward a fixed point.

12. The method of claim 11 , wherein the fixed point is at least one corner of a rectangular region of the floorplan.

13. The method of claim 11 , wherein the cell of the integrated circuit is a boundary cell, and the fixed point is a center of a movebound.

14. A computer readable storage device containing an executable program for physically synthesizing a design of an integrated circuit, where the program performs steps of:

compiling a logical description of the design into a flattened netlist;

extracting a soft hierarchy from the flattened netlist, wherein the soft hierarchy defines a boundary on a die across which cells of the integrated circuit are permitted to move, wherein the extracting comprises:

assigning gates in the flattened netlist to one or more logic modules, wherein the assigning comprises:

marking those of the gates that carry hierarchical information with an identifier that indicates one of the one or more logic modules corresponding to the hierarchical information; and

grouping those of the gates that are marked with a common identifier into a common one of the one or more logic modules; and

placing a cell of the integrated circuit on the die in accordance with the soft hierarchy.

15. The computer readable storage device of claim 14 , wherein the assigning further comprises, for a given one of the one or more logic modules:

tracing forward along a fanout net of each gate in the given one of the one or more logic modules, while marking the each gate with a “forward” flag;

tracing backward along a fanin net of the each gate, while marking the each gate with a “backward” flag; and

marking any gate that is marked with both a “forward” flag and a “backward” flag as belonging to the given one of the one or more logic modules.

16. The computer readable storage device of claim 14 , wherein the assigning comprises:

assigning dust logic to the one or more logic modules.

17. The computer readable storage device of claim 16 , wherein the assigning the dust logic comprises:

identifying, for each dust logic gate, a collection of neighbor gates including an input neighbor gate and an output neighbor gate;

assigning the each dust logic gate to one of the one or more logic modules that is most represented by the collection of neighbor gates.

18. The computer readable storage device of claim 17 , wherein the identifying and the assigning are performed for one dust logic gate at a time, and all dust logic gates are sorted in ascending order according to a number of neighbor gates that are not assigned to one of the one or more logic modules.

19. The computer readable storage device of claim 14 , wherein the placing comprises:

representing each logic module of the integrated circuit as a set of one or more circular objects; and

positioning each set of one or more circular objects within boundaries of a floorplan corresponding to the integrated circuit.

20. The computer readable storage device of claim 19 , wherein the positioning keeps each set of the one or more circular objects intact.

21. The computer readable storage device of claim 19 , wherein the positioning honors a movebound constraint that requires that a given logic module be placed within a given area of the floorplan.

22. The computer readable storage device of claim 21 , wherein the movebound constraint is defined by the soft hierarchy.

23. Apparatus for physically synthesizing a design of an integrated circuit, the apparatus comprising:

a processor configured to:

compile a logical description of the design into a flattened netlist;

extract a soft hierarchy from the flattened netlist, wherein the soft hierarchy defines a boundary on a die across which cells of the integrated circuit are permitted to move, by:

assigning gates in the flattened netlist to one or more logic modules, wherein the assigning comprises:

marking those of the gates that carry hierarchical information with an identifier that indicates one of the one or more logic modules corresponding to the hierarchical information; and

grouping those of the gates that are marked with a common identifier into a common one of the one or more logic modules; and

place a cell of the integrated circuit on the die in accordance with the soft hierarchy.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2011
From: CHO, MINSIK; NG, ALVAN W; PURI, RUCHIR; REN, HAOXING; XIANG, HUA; ZIEGLER, MATTHEW M
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026848/0933 →
Continuity (1)
Related Publication 20130055176A1 · Feb 28, 2013