IP Library › Granted Patent US 8,010,926
Granted Patent B2
US 8,010,926 · App. 12/022,849 · Granted Aug 30, 2011

Clock power minimization with regular physical placement of clock repeater components

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,010,926
App. No.
12/022,849
Granted
Aug 30, 2011
Kind
B2
Abstract

Power, routability and electromigration have become crucial issues in modern microprocessor designs. In high performance designs, clocks are the highest consumer of power. Arranging clocking components with regularity so as to minimize the capacitance on the clock nets can help reduce clock power, however, it may hurt performance due to some loss of flexibility in physically placing those components. The present invention provides techniques to optimally place clock components in a regular fashion so as to minimize clock power within a performance constraint. A rectangular grid is created and clock distribution structures are assigned to the grid intersection points. Latches are then located around the clock distribution structures to minimize an overall distance for connections between the latches and respective clock distribution structures. The horizontal and vertical pitches of the grid may be independently adjusted to achieve a more uniform spread of the clock distribution structures.

Claims (94)

1. A method for designing the layout of a plurality of latches in two or more clock domains of an integrated circuit carried out by a computer system, comprising:

receiving an input layout of logic cells which include the latches located in a common plane, by executing first program instructions in the computer system;

creating a rectangular grid in a region of the integrated circuit containing the latches, the grid having grid intersection points defined by a horizontal pitch and a vertical pitch, by executing second program instructions in the computer system;

placing clock distribution structures at the grid intersection points in the common plane of the latches, said placing including bipartite matching of (i) cost and capacity for clock distribution structures to (ii) corresponding clock domains, by executing third program instructions in the computer system; and

locating the latches around the clock distribution structures to minimize an overall distance for connections between the latches and respective clock distribution structures, by executing fourth program instructions in the computer system.

2. The method of claim 1 wherein said locating includes bipartite matching of (i) cost and capacity for latches to (ii) corresponding clock distribution structures.

3. The method of claim 1 wherein at least one of the horizontal and vertical pitches is independently adjusted to achieve a more uniform spread of the clock distribution structures.

4. The method of claim 1 wherein the grid has a perimeter defined by a bounding box surrounding the latches.

5. The method of claim 1 wherein the grid has the same horizontal pitch and vertical pitch.

6. The method of claim 5 wherein the pitches are an integer less than or equal to h α according to the formula

h

α

=

-

(

W

+

L

)

=

(

W

+

L

)

2

+

4

⁢

WL

⁡

(

l

-

1

)

2

⁢

(

l

-

1

)

where W is the width of the grid, L is the length of the grid, and l is a predetermined number of clock distribution structures to be utilized.

7. A computer system comprising:

one or more processors which process program instructions;

a memory device connected to said one or more processors; and

program instructions residing in said memory device for designing the layout of a plurality of latches in two or more clock domains of an integrated circuit by receiving an input layout of logic cells which include the latches located in a common plane, creating a rectangular grid in a region of the integrated circuit containing the latches wherein the grid has grid intersection points defined by a horizontal pitch and a vertical pitch, placing clock distribution structures at the grid intersection points in the common plane of the latches, said placing including bipartite matching of (i) cost and capacity for clock distribution structures to (ii) corresponding clock domains, and locating the latches around the clock distribution structures to minimize an overall distance for connections between the latches and respective clock distribution structures.

8. The computer system of claim 7 wherein said locating includes bipartite matching of (i) cost and capacity for latches to (ii) corresponding clock distribution structures.

9. The computer system of claim 7 wherein at least one of the horizontal and vertical pitches is independently adjusted to achieve a more uniform spread of the clock distribution structures.

10. The computer system of claim 7 wherein the grid has a perimeter defined by a bounding box surrounding the latches.

11. The computer system of claim 7 wherein the grid has the same horizontal pitch and vertical pitch.

12. A computer program product comprising:

a computer-readable storage medium; and

program instructions residing in said storage medium for designing the layout of a plurality of latches in two or more clock domains of an integrated circuit by receiving an input layout of logic cells which include the latches located in a common plane, creating a rectangular grid in a region of the integrated circuit containing the latches wherein the grid has grid intersection points defined by a horizontal pitch and a vertical pitch, placing clock distribution structures at the grid intersection points in the common plane of the latches, said placing including bipartite matching of (i) cost and capacity for clock distribution structures to (ii) corresponding clock domains, and locating the latches around the clock distribution structures to minimize an overall distance for connections between the latches and respective clock distribution structures.

13. The computer program product of claim 12 wherein said locating includes bipartite matching of (i) cost and capacity for latches to (ii) corresponding clock distribution structures.

14. The computer program product of claim 12 wherein at least one of the horizontal and vertical pitches is independently adjusted to achieve a more uniform spread of the clock distribution structures.

15. The computer program product of claim 12 wherein the grid has a perimeter defined by a bounding box surrounding the latches.

16. The computer program product of claim 12 wherein the grid has the same horizontal pitch and vertical pitch.

17. The computer program product of claim 16 wherein the pitches are an integer less than or equal to h α according to the formula

h

α

=

-

(

W

+

L

)

=

(

W

+

L

)

2

+

4

⁢

WL

⁡

(

l

-

1

)

2

⁢

(

l

-

1

)

where W is the width of the grid, L is the length of the grid, and l is a predetermined number of clock distribution structures to be utilized.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2008
From: ALPERT, CHARLES J.; PURI, RUCHIR; RAMJI, SHYAM; SINGH, ASHISH K.; SZE, CHIN NGAI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020460/0884 →
Continuity (1)
Related Publication 20090193376A1 · Jul 30, 2009