IP Library Granted Patent US 8,015,532
Granted Patent B2
US 8,015,532 · App. 11/938,824 · Granted Sep 6, 2011

Optimal timing-driven cloning under linear delay model

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,015,532
App. No.
11/938,824
Granted
Sep 6, 2011
Kind
B2
Abstract

A timing-driven cloning method iteratively partitions sinks of the net into different sets of clusters and for each set computes a figure of merit for a cloned gate location which optimizes timing based on linear delay, that is, a delay proportional to the distance between the cloned gate location and the sinks. The set having the highest figure of merit is selected as the best solution. The original gate may also be moved to a timing-optimized location. The sinks are advantageously partitioned using boundaries of Voronoi polygons defined by a diamond region surrounding the original gate, or vice versa. The figure of merit may be for example worst slack, a sum of slacks at the sinks in the second cluster, or a linear combination of worst slack and sum of the slacks.

Claims (28)

1. A computer-implemented method of cloning an original gate in a circuit design, comprising:

receiving a description of the circuit design which includes locations for sources and sinks of the original gate, by executing first instructions in a computer system;

iteratively partitioning the sinks into different sets of clusters wherein the original gate is assigned to a first one of the clusters in a given set and at least one cloned gate is assigned to at least a second one of the clusters in the given set, by executing second instructions in the computer system;

for each set of clusters, computing a figure of merit for a location of the cloned gate which optimizes timing based on delay that is proportional to a distance between the cloned gate location and the location of a given sink in the second cluster, by executing third instructions in the computer system;

selecting one of the sets of clusters having a highest figure of merit as a best solution, by executing fourth instructions in the computer system; and

storing the description of the circuit design with a final location of the cloned gate corresponding to the best solution, by executing fifth instructions in the computer system.

2. The method of claim 1 wherein the description includes a location for the original gate, and further comprising changing the location of the original gate to a new location which optimizes timing based on delay that is proportional to the distance between the new location and the location of a given sink in the first cluster, by executing sixth instructions in the computer system.

3. The method of claim 1 wherein the sinks are partitioned using boundaries of Voronoi polygons defined by a diamond region surrounding the original gate.

4. The method of claim 1 wherein the figure of merit is worst slack.

5. The method of claim 1 wherein the figure of merit is a sum of slacks at the sinks in the second cluster.

6. The method of claim 1 wherein the figure of merit is a combination of worst slack and a sum of slacks at the sinks in the second cluster.

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 which receive a description of a circuit design having locations for sources and sinks of an original gate, iteratively partition the sinks into different sets of clusters wherein the original gate is assigned to a first one of the clusters in a given set and at least one cloned gate is assigned to at least a second one of the clusters in the given set, for each set of clusters compute a figure of merit for a location of the cloned gate which optimizes timing based on delay that is proportional to a distance between the cloned gate location and the location of a given sink in the second cluster, select one of the sets of clusters having a highest figure of merit as a best solution, and store the description of the circuit design with a final location of the cloned gate corresponding to the best solution.

8. The computer system of claim 7 wherein the description includes a location for the original gate, and said program instructions further change the location of the original gate to a new location which optimizes timing based on delay that is proportional to the distance between the new location and the location of a given sink in the first cluster.

9. The computer system of claim 7 wherein the sinks are partitioned using boundaries of Voronoi polygons defined by a diamond region surrounding the original gate.

10. The computer system of claim 7 wherein the figure of merit is worst slack.

11. The computer system of claim 7 wherein the figure of merit is a sum of slacks at the sinks in the second cluster.

12. The computer system of claim 7 wherein the figure of merit is a combination of worst slack and a sum of slacks at the sinks in the second cluster.

13. A computer program product comprising:

a computer-readable storage medium; and

program instructions residing in said storage medium which, when executed by a computer, receive a description of a circuit design having locations for sources and sinks of an original gate, iteratively partition the sinks into different sets of clusters wherein the original gate is assigned to a first one of the clusters in a given set and at least one cloned gate is assigned to at least a second one of the clusters in the given set, for each set of clusters compute a figure of merit for a location of the cloned gate which optimizes timing based on delay that is proportional to a distance between the cloned gate location and the location of a given sink in the second cluster, select one of the sets of clusters having a highest figure of merit as a best solution, and store the description of the circuit design with a final location of the cloned gate corresponding to the best solution.

14. The computer program product of claim 13 wherein the description includes a location for the original gate, and said program instructions further change the location of the original gate to a new location which optimizes timing based on delay that is proportional to the distance between the new location and the location of a given sink in the first cluster.

15. The computer program product of claim 13 wherein the sinks are partitioned using boundaries of Voronoi polygons defined by a diamond region surrounding the original gate.

16. The computer program product of claim 13 wherein the figure of merit is worst slack.

17. The computer program product of claim 13 wherein the figure of merit is a sum of slacks at the sinks in the second cluster.

18. The computer program product of claim 13 wherein the figure of merit is a combination of worst slack and a sum of slacks at the sinks in the second cluster.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 16, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056597/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 029733/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2007
From: ALPERT, CHARLES J.; LI, ZHUO; PAPA, DAVID A.; SZE, CHIN NGAI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020100/0292 →