IP Library Granted Patent US 7,454,730
Granted Patent B1
US 7,454,730 · App. 11/293,058 · Granted Nov 18, 2008

Repeater insertion for concurrent setup time and hold time violations

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 7,454,730
App. No.
11/293,058
Granted
Nov 18, 2008
Kind
B1
Abstract

A method for inserting repeaters into an integrated circuit synthesis is provided. The method initiates with identifying possible repeater insertion locations along a signal routing pathway within an integrated circuit design. The possible repeater insertion locations are organized in a tree enabling bottom-up traversal. A set of solutions for each of the insertion locations is generated while traversing the tree in a first direction and the set of solutions is organized in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load. A computer readable medium including program instructions representing the method operations and a system are also included.

Claims (55)

1. A method for inserting repeaters into an integrated circuit synthesis comprising method operations of:

identifying possible repeater insertion locations along a signal routing pathway within an integrated circuit design;

organizing the possible repeater insertion locations in a tree enabling bottom-up traversal;

generating a set of solutions for each of the insertion locations while traversing the tree in a first direction, considering both set up time and hold time concurrently when generating the set of solutions, identifying solutions that are non sub-optimal in a late mode and solution that are non sub-optimal in an early mode, identifying combinations of solutions that are non sub-optimal in the late mode and combinations of solutions that are non sub-optimal in the early mode, identifying combinations common to both combinations of solutions and eliminating the combinations common to both combinations of solutions; and

organizing the set of solutions in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load.

2. The method of claim 1 , wherein the method operation of organizing the set of solutions in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load includes,

discarding solutions from one of the first set and the second set according to rules.

3. The method of claim 2 , wherein the rules are based on a relationship between a required arrival time in an early mode and a required arrival time in a late mode.

4. The method of claim 1 , wherein the signal routing pathway defines a pathway between a driver and a destination.

5. The method of claim 1 , wherein the method operation of generating a set of solutions for each of the insertion locations while traversing the tree in a first direction includes,

computing a worst case slew requirement at each candidate location for a late mode; and,

computing a best case slew requirement at each candidate location for an early mode.

6. The method of claim 5 , further comprising:

recomputing the slew requirement at each candidate location after reaching a top of the tree and determining a slew requirement for a driver of the signal routing pathway.

7. The method of claim 1 , wherein the first direction is from a destination of the signal routing pathway to a driver of the signal routing pathway.

8. A computer readable medium having program instructions for inserting repeaters into an integrated circuit synthesis comprising:

program instructions for identifying possible repeater insertion locations along a signal routing pathway within an integrated circuit design;

program instructions for organizing the possible repeater insertion locations in a tree enabling bottom-up traversal;

program instructions for generating a set of solutions for each of the insertion locations while traversing the tree in a first direction, considering both set up time and hold time concurrently when generating the set of solutions, identifying solutions that are non sub-optimal in a late mode and solution that are non sub-optimal in an early mode, identifying combinations of solutions that are non sub-optimal in the late mode and combinations of solutions that are non sub-optimal in the early mode, identifying combinations common to both combinations of solutions and eliminating the combinations common to both combinations of solutions; and

program instructions for organizing the set of solutions in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load.

9. The computer readable medium of claim 8 , wherein the program instructions for organizing the set of solutions in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load includes,

program instructions for discarding solutions from one of the first set and the second set according to rules.

10. The computer readable medium of claim 9 , wherein the rules are based on a relationship between a required arrival time in an early mode and a required arrival time in a late mode.

11. The computer readable medium of claim 8 , wherein the signal routing pathway defines a pathway between a driver and a destination.

12. The computer readable medium of claim 8 , wherein the program instructions for generating a set of solutions for each of the insertion locations while traversing the tree in a first direction includes,

program instructions for designating a worst case for a slew requirement at each candidate location.

13. The computer readable medium of claim 12 , further comprising:

program instructions for recomputing the slew requirement at each candidate location after reaching a top of the tree and determining a slew requirement for a driver of the signal routing pathway.

14. The computer readable medium of claim 8 , wherein the first direction is from a destination of the signal routing pathway to a driver of the signal routing pathway.

15. A system for designing an integrated circuit, the system comprising:

a bus;

a memory;

a monitor configured to display a design of the integrated circuit;

a processor in communication with the memory and the monitor through the bus, the processor operable to receive instructions which, when executed by the processor, cause the processor to perform a method operations comprising:

identifying possible repeater insertion locations along a signal routing pathway within an integrated circuit design;

organizing the possible repeater insertion locations in a tree enabling bottom-up traversal;

generating a set of solutions for each of the insertion locations while traversing the tree in a first direction and both a set up time and a hold time are considered concurrently when generating the set of solutions, identifying solutions that are non sub-optimal in a late mode and solution that are non sub-optimal in an early mode, identifying combinations of solutions that are non sub-optimal in the late mode and combinations of solutions that are non sub-optimal in the early mode, identifying combinations common to both combinations of solutions and eliminating the combinations common to both combinations of solutions; and

organizing the set of solutions in a first and a second set, the first set ordered by a late mode capacitive load and the second set order by an early mode capacitive load.

16. The system of claim 15 wherein the first direction is from a destination of the signal routing pathway to a driver of the signal routing pathway.

17. A method for inserting repeaters into an integrated circuit synthesis comprising method operations of:

identifying possible repeater insertion locations along a signal routing pathway within an integrated circuit design;

organizing the possible repeater insertion locations in a tree enabling bottom-up traversal;

generating a set of solutions for each of the insertion locations while traversing the tree in a bottom-up direction;

organizing non sub-optimal solutions in multiple sets, the multiple sets being ordered by one of a late mode capacitive load or an early mode capacitive load;

identifying an intersection of the multiple sets; and

comparing solutions in the intersection with a solution of the generated set of solutions.

18. The method of claim 17 , wherein the method operation of comparing the intersection with a solution of the generated set of solutions includes,

identifying if the solution is sub-optimal in order to discard the solution to obtain a minimum set non-suboptimal solution.

19. The method of claim 18 , wherein the method operation of identifying if the solution is sub-optimal in order to discard the solution to obtain a minimum set of solutions includes,

determining a relationship between early mode required arrival times of corresponding solutions; and

determining a relationship between early mode capacitive loading of corresponding solutions.

20. The method of claim 19 , further comprising:

determining a relationship between late mode required arrival times of corresponding solutions.

21. The method of claim 19 , further comprising:

determining a relationship between late mode capacitive loading of corresponding solutions.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2006
From: CHOWDHURY, SALIM U.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 016989/0593 →