IP Library Granted Patent US 8,671,376
Granted Patent B2
US 8,671,376 · App. 13/432,398 · Granted Mar 11, 2014

Computer system and method for performing a routing supply and demand analysis during the floor planning stage of an integrated circuit design process

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,671,376
App. No.
13/432,398
Granted
Mar 11, 2014
Kind
B2
Abstract

A floor planning tool is provided that performs the functions that are typically performed by floor planning tools, but in addition, determines the supply of routing resources and the demand on routing resources for all routing channels while applying variable routing rules and static timing estimations to arrive at a preliminary routed floor plan. This drastically reduces the number of iterations that subsequently will need to be performed by the floor planning tool and by routing and static timing analysis tools to arrive at a final routed floor plan.

Claims (69)

1. A computer system for designing a floor plan of an integrated circuit (IC) design to includes a preliminary route plan, the computer system comprising:

a user interface;

a memory subsystem that stores a representation of at least a portion of the IC design and computer code for designing a floor plan; and

a processor subsystem, the processor subsystem programmed to:

generate a floor plan having multiple blocks of logic and channels comprising portions of one or more layers of metal extending between the blocks;

determine a supply of routing resources that is available for one or more selected channels of the floor plan for routing electrical signals in the selected channels between the blocks;

generate a preliminary route plan in the floor plan for the selected channels based on the supply of available routing resources, the preliminary route plan comprising electrically-conductive routes, each selected channel including at least one of the routes;

determine a demand on routing resources for each respective selected channel based on the preliminary route plan;

determine whether or not the demand on routing resources for each respective selected channel exceeds the supply of routing resources for each respective selected channel; and

a display system comprising at least one display device, wherein if the processor subsystem determines that the demand on routing resources for a respective selected channel exceeds the supply of routing resources for the respective selected channel, the computer system causes a visual indication of the excess demand to be displayed on the display system.

2. The computer system of claim 1 , further comprising:

wherein if the processor subsystem determines that the preliminary route plan can be adjusted to accommodate excess demand, the processor subsystem uses input from a user to adjust a portion of the preliminary route plan corresponding to the routes of the respective selected channel.

3. The computer system of claim 1 , further comprising:

wherein if the processor subsystem determines that the preliminary route plan cannot be adjusted to accommodate excess demand, the processor subsystem uses input from a user to adjust the floor plan and to generate a new preliminary route plan for the adjusted floor plan.

4. The computer system of claim 1 , wherein the floor plan and the preliminary route plan are displayed simultaneously on the display system, and wherein the visual indication is a coloring of the routes of the respective selected channel in a first color.

5. The computer system of claim 4 , further comprising:

wherein if the processor subsystem determines that the demand on routing resources for a respective selected channel does not exceed the supply of routing resources for the respective selected channel, the processor subsystem determines whether or not the respective selected channel is under-utilized or at capacity.

6. The computer system of claim 5 , wherein if the processor subsystem determines that the respective selected channel is under-utilized, the computer system causes a visual indication that the respective selected channel is under-utilized to be displayed on the display system.

7. The computer system of claim 6 , wherein the visual indication is a coloring of the routes of the under-utilized channel in a second color that is different from the first color.

8. The computer system of claim 7 , wherein if the processor subsystem determines that the respective selected channel is under-utilized, the processor subsystem uses input from a user to adjust the floor plan and to generate a new preliminary route plan for the adjusted floor plan.

9. The computer system of claim 8 , wherein if the processor subsystem determines that the respective selected channel is at capacity, the computer system causes a visual indication that the respective selected channel is at capacity to be displayed on the display system.

10. The computer system of claim 9 , wherein the visual indication is a coloring of the routes of the at-capacity channel in a third color that is different from the first and second colors.

11. A method for using a computer system for designing a floor plan of an integrated circuit (IC) design to include a preliminary route plan, the method comprising:

in a memory subsystem of the computer system, storing a representation of at least a portion of the IC design and computer code for designing a floor plan; and

in a processor subsystem of the computer system:

generating a floor plan having multiple blocks of logic and channels comprising portions of one or more layers of metal extending between the blocks;

determining a supply of routing resources that is available for one or more selected channels for routing electrical signals in the channels between the blocks;

generating a preliminary route plan in the floor plan based on the supply of available routing resources for the selected channels, the preliminary route plan comprising electrically-conductive routes, each selected channel including at least one of the routes;

determining a demand on routing resources for each respective selected channel based on the preliminary route plan;

determining whether or not the demand on routing resources for each respective selected channel exceeds the supply of routing resources for each respective selected channel; and

displaying the floor plan and the preliminary route plan on a display system, the display system comprising at least one display device, and wherein if it is determined that the demand on routing resources for a respective selected channel exceeds the supply of routing resources for the respective selected channel, displaying a visual indication that the respective channel is over-utilized on the display system.

12. The method of claim 11 , further comprising:

if the processor subsystem determines that the demand on routing resources for a respective selected channel exceeds the supply of routing resources for the respective channel, in the processor subsystem, using user input to determine whether or not the preliminary route plan can be adjusted to accommodate excess demand.

13. The method of claim 12 , further comprising:

if the processor subsystem determines that the preliminary route plan can be adjusted to accommodate excess demand, in the processor subsystem, using user input to adjust a portion of the preliminary route plan corresponding to the routes of the respective selected channel.

14. The method of claim 13 , further comprising:

if the processor subsystem determines that the preliminary route plan cannot be adjusted to accommodate excess demand, in the processor subsystem, using user input to adjust the floor plan and to generate a new preliminary route plan for the adjusted floor plan.

15. The method of claim 11 , wherein the visual indication is a coloring of the routes of the respective channel in a first color.

16. The method of claim 11 , further comprising:

if the processor subsystem determines that the demand on routing resources for a respective selected channel does not exceed the supply of routing resources for the respective selected channel, in the processor subsystem, determining whether or not the respective selected channel is under-utilized or at capacity.

17. The method of claim 16 , further comprising:

if the processor subsystem determines that the respective selected channel is under-utilized, causing a visual indication that the respective selected channel is under-utilized to be displayed on the display system.

18. The method of claim 17 , wherein the visual indication is a coloring of the routes of the under-utilized channel in a second color that is different from the first color.

19. The method of claim 18 , wherein if the processor subsystem determines that the respective selected channel is under-utilized, in the processor subsystem, using user input to adjust the floor plan and to generate a new preliminary route plan for the adjusted floor plan.

20. The method of claim 18 , wherein if the processor subsystem determines that the respective selected channel is at capacity, causing a visual indication that the respective channel is at capacity to be displayed on the display system.

21. The method of claim 20 , wherein the visual indication is a coloring of the routes of the at-capacity channel in a third color that is different from the first and second colors.

22. A computer program for designing a floor plan of an integrated circuit (IC) design in a computer system to include a preliminary route plan, the computer program comprising computer instructions stored on a non-transitory computer-usable medium, the computer instructions comprising:

computer instructions for generating a floor plan having multiple blocks of logic and channels comprising portions of one or more layers of metal extending between the blocks;

computer instructions for determining a supply of routing resources that is available for one or more selected channels for routing electrical signals in the selected channels between the blocks;

computer instructions for generating a preliminary route plan in the floor plan based on the supply of available routing resources, the preliminary route plan comprising electrically-conductive routes, each selected channel including at least one of the routes;

computer instructions for determining a demand on routing resources for each respective selected channel based on the preliminary route plan;

computer instructions for determining whether or not the demand on routing resources for each respective selected channel exceeds the supply of routing resources for each respective selected channel;

computer instructions for displaying the floor plan and the preliminary route plan on a display system of the computer system, the display system comprising at least one display device; and

computer instructions for displaying on the display system a visual indication that the respective channel is over-utilized if it is determined that the demand on routing resources for a respective selected channel exceeds the supply of routing resources for the respective selected channel.

23. The computer program of claim 22 , further comprising:

computer instructions for using user input to adjust a portion of the preliminary route plan corresponding to the routes of the respective channel if it is determined that the preliminary route plan can be adjusted to accommodate excess demand.

24. The computer program of claim 22 , further comprising:

computer instructions for using user input to adjust the floor plan and to generate a new preliminary route plan for the adjusted floor plan if it is determined that the preliminary route plan cannot be adjusted to accommodate excess demand.

25. The computer program of claim 22 , wherein the visual indication is a coloring of the routes of the respective selected channel in a first color.

26. The computer program of claim 25 , further comprising:

computer instructions for determining whether or not the respective selected channel is under-utilized or at capacity if it is determined that the demand on routing resources for a respective channel does not exceed the supply of routing resources for the respective selected channel.

27. The computer program of claim 26 , further comprising:

computer instructions for causing a visual indication that the respective selected channel is under-utilized to be displayed on the display system if it is determined that the respective selected channel is under-utilized.

28. The computer program of claim 27 , wherein the visual indication that the respective selected channel is under-utilized is a coloring of the routes of the under-utilized channel in second color that is different from the first color.

29. The computer program of claim 28 , further comprising:

computer instructions for adjusting the floor plan based on user input and generating a new preliminary route plan for the adjusted floor plan if it is determined that the respective selected channel is under-utilized.

30. The computer program of claim 29 , further comprising:

computer instructions for causing a visual indication that the respective selected channel is at capacity to be displayed on the display system if it is determined that the respective selected channel is at capacity.

31. The computer program of claim 30 , wherein the visual indication is a coloring of the routes of the at-capacity channel in a third color that is different from the first and second colors.

Assignments (11)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032851-0001) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 037689/0001 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032851/0001 →
MERGER Recorded May 7, 2013
From: AVAGO TECHNOLOGIES FIBER IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 030369/0501 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2012
From: GENTRY, JASON T.; KOENIG, BRADY A.; RODGERS, RICHARD S.
To: AVAGO TECHNOLOGIES FIBER IP
Reel/Frame 027979/0466 →