IP Library Granted Patent US 11,675,726
Granted Patent B2
US 11,675,726 · App. 17/315,211 · Granted Jun 13, 2023

Interconnect repeater planning and implementation flow for abutting designs

Inventors: Kai-Ping Wang (Sunnyvale, CA); Songmei Chen (Shanghai, CN); Ying Liu (Shanghai, CN); Xiaolin Yuan (Shanghai, CN)
Assignee: Synopsys, Inc
G06F13/4068G06F13/4059G06F13/4095G06F30/327G06F30/33
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 11,675,726
App. No.
17/315,211
Granted
Jun 13, 2023
Kind
B2
Abstract

A method including creating a first bus guide and a second bus guide of a plurality of bus guides for an integrated circuit is disclosed. The method includes routing the first bus guide and the second bus guide through a plurality of layout blocks of the integrated circuit. The method includes annotating the first bus guide or the second bus guide to identify a plurality of areas for placing a plurality of repeaters within the first bus guide or the second bus guide. The method includes, based on the annotated first bus guide and the second bus guide, generating, by at least one processor, a plurality of guidance directories corresponding to a plurality of routes through the plurality of layout blocks for placing the plurality of repeaters at the plurality of layout blocks on the identified plurality of areas on the first bus guide or the second bus guide.

Claims (54)

1. A computer-implemented method for placing and routing, the method comprising:

creating a first bus guide of a plurality of bus guides and a second bus guide of the plurality of bus guides for an integrated circuit, wherein the first bus guide corresponds to a first plurality of bit nets, and wherein the second bus guide corresponds to a second plurality of bit nets;

routing the first bus guide and the second bus guide through a plurality of layout blocks of the integrated circuit;

annotating the first bus guide or the second bus guide to identify a plurality of areas for placing a plurality of repeaters within the first bus guide or the second bus guide;

based on annotations of the first bus guide or the second bus guide, generating, by at least one processor, a plurality of guidance directories corresponding to a plurality of routes through the plurality of layout blocks, wherein each guidance directory of the plurality of guidance directories is associated with a layout block of the plurality of layout blocks;

deriving, by the at least one processor, instructions for placing the plurality of repeaters within the first bus guide or the second bus guide based on the plurality of guidance directories; and

placing the plurality of repeaters at the plurality of layout blocks on the identified plurality of areas on the first bus guide or the second bus guide according to the instructions based on the plurality of guidance directories.

2. The computer-implemented method of claim 1 , further comprising:

creating, on the first bus guide or the second bus guide, a plurality of pin areas for connecting a plurality of inputs or outputs corresponding to the first plurality of bit nets or the second plurality of bit nets.

3. The computer-implemented method of claim 1 , wherein annotating the first bus guide or the second bus guide further comprises:

annotating the plurality of repeaters based on at least one of a repeater function, or a repeater type of a repeater of the plurality of repeaters.

4. The computer-implemented method of claim 1 , wherein annotating the first bus guide or the second bus guide further comprises:

adding a buffer array to the first bus guide or the second bus guide.

5. The computer-implemented method of claim 1 , wherein the first bus guide and the second bus guide are in different layers of the integrated circuit, and wherein the first bus guide and the second bus guide are not overlapping.

6. The computer-implemented method of claim 1 , wherein the plurality of layout blocks are abutted in at least one of a single layer of the integrated circuit, or different layers of the integrated circuit.

7. The computer-implemented method of claim 1 , wherein creating the first bus guide and the second bus guide further comprises:

creating the first bus guide of a first width; and

creating the second bus guide of a second width, wherein the first width is different from the second width.

8. The computer-implemented method of claim 1 , wherein creating the first bus guide and the second bus guide further comprises:

selecting a width of each of the first bus guide and the second bus guide, based at least in part on a size of at least one repeater of the plurality of repeaters to be placed on the first bus guide or the second bus guide.

9. The computer-implemented method of claim 1 , wherein generating the plurality of guidance directories further comprises:

generating one or more scripts executable by the at least one processor.

10. A system for placing and routing comprising:

a memory configured to store operations; and

one or more processors configured to perform the operations, the operations comprising:

creating a first bus guide of a plurality of bus guides and a second bus guide of the plurality of bus guides for an integrated circuit, wherein the first bus guide corresponds to a first plurality of bit nets, and wherein the second bus guide corresponds to a second plurality of bit nets,

routing the first bus guide and the second bus guide through a plurality of layout blocks of the integrated circuit,

annotating the first bus guide or the second bus guide to identify a plurality of areas for placing a plurality of repeaters within the first bus guide or the second bus guide,

based on annotations of the first bus guide or the second bus guide, generating a plurality of guidance directories corresponding to a plurality of routes through the plurality of layout blocks, wherein each guidance directory of the plurality of guidance directories is associated with a layout block of the plurality of layout blocks,

deriving instructions for placing the plurality of repeaters within the first bus guide or the second bus guide based on the plurality of guidance directories, and

placing the plurality of repeaters at the plurality of layout blocks on the identified plurality of areas on the first bus guide or the second bus guide according to the instructions based on the plurality of guidance directories.

11. The system of claim 10 , wherein the operations further comprise creating, on the first bus guide or the second bus guide, a plurality of pin areas for connecting a plurality of input or output corresponding to the first plurality of bit nets or the second plurality of bit nets.

12. The system of claim 10 , wherein annotating the first bus guide and the second bus guide further comprises:

annotating the plurality of repeaters based on at least one of a repeater function, or a repeater type of a repeater of the plurality of repeaters.

13. The system of claim 10 , wherein annotating the first bus guide and the second bus guide further comprises:

adding a buffer array to the first bus guide or the second bus guide.

14. The system of claim 10 , wherein the first bus guide and the second bus guide are in different layers of the integrated circuit, and wherein the first bus guide and the second bus guide are not overlapping.

15. The system of claim 10 , wherein the plurality of layout blocks are abutted in at least one of a single layer of the integrated circuit, or different layers of the integrated circuit.

16. The system of claim 10 , wherein creating the first bus guide and the second bus guide, further comprises:

creating the first bus guide of a first width; and

creating the second bus guide of a second width, wherein the first width is different from the second width.

17. The system of claim 10 , wherein creating the first bus guide and the second bus guide, further comprises:

selecting a width of each of the first bus guide and the second bus guide, based at least in part on a size of at least one repeater of the plurality of repeaters to be placed on the first bus guide or the second bus guide.

18. The system of claim 10 , wherein generating the plurality of guidance directories further comprises:

generating one or more scripts executable by the one or more processors.

19. A non-transitory, tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for placing and routing, the operations comprising:

creating a first bus guide of a plurality of bus guides and a second bus guide of the plurality of bus guides for an integrated circuit, wherein the first bus guide corresponds to a first plurality of bit nets, and wherein the second bus guide corresponds to a second plurality of bit nets;

routing the first bus guide and the second bus guide through a plurality of layout blocks of the integrated circuit;

annotating the first bus guide or the second bus guide to identify a plurality of areas for placing a plurality of repeaters within the first bus guide or the second bus guide;

based on annotations of the first bus guide or the second bus guide, generating a plurality of guidance directories corresponding to a plurality of routes through the plurality of layout blocks, wherein each guidance directory of the plurality of guidance directories is associated with a layout block of the plurality of layout blocks;

deriving instructions for placing the plurality of repeaters within the first bus guide or the second bus guide based on the plurality of guidance directories; and

placing the plurality of repeaters at the plurality of layout blocks on the identified plurality of areas on the first bus guide or the second bus guide according to the instructions based on the plurality of guidance directories.

20. The non-transitory, tangible computer-readable device of claim 19 , wherein generating the guidance directory further comprises:

generating one or more scripts executable by the at least one computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2021
From: WANG, KAI-PING; CHEN, SONGMEI; LIU, YING; YUAN, XIAOLIN
To: SYNOPSYS, INC.
Reel/Frame 056356/0412 →
Priority Claims (1)
WO PCT/CN2020/088985 · May 7, 2020 · international
Continuity (1)
Related Publication 20210349845A1 · Nov 11, 2021