IP Library Granted Patent US 7,117,469
Granted Patent B1
US 7,117,469 · App. 10/264,691 · Granted Oct 3, 2006

Method of optimizing placement and routing of edge logic in padring layout design

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,117,469
App. No.
10/264,691
Granted
Oct 3, 2006
Kind
B1
Abstract

Methods for generating a padring layout design are described. These methods utilize automation while still allowing customization. Automation is emphasized as much as possible so that more time can be used to solve the various problems that make each padring layout design unique. A framework in which regular patterns can be described, replicated, and tailored is provided. The padring is broken down into zones in which slots having bumps/bond pads areas, I/O cell areas, and/or edge logic cell areas are laid out in a regular pattern through an instantiation process. Edge logic, which is comprised of standard cells, is pulled from the core of the chip because these cells couple directly to I/O cells and are critical for timing. The framework allows the bumps/bond pads, I/O cells, and edge logic cells to be laid out in respective bumps/bond pads areas, I/O cell areas, and/or edge logic cell areas according to algorithms associated with the patterns and using a variety of maps which associate the logical netlist with the physical layout design.

Claims (122)

1. A method of generating a padring layout design for a chip design, comprising:

(a) defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

(b) defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, each slot describing placement of at least one of a pad metal, an I/O cell, and a standard cell within the one or more areas;

(c) using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

(d) placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with the I/O cell; and

(e) performing said step d) using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

2. The method as recited in claim 1 wherein one of said areas comprises a bump area for placing a bump.

3. The method as recited in claim 1 wherein one of said areas comprises a bond pad area for placing a bond pad.

4. The method as recited in claim 1 wherein one of said areas comprises an I/O area for placing one or more I/O cells.

5. The method as recited in claim 1 wherein one of said areas comprises an edge logic area for placing said edge logic.

6. The method as recited in claim 5 wherein said edge logic area overlaps a core region of said chip design.

7. The method as recited in claim 1 wherein said step b) comprises: forming said pattern using an editor.

8. The method as recited in claim 1 wherein said step b) comprises: forming said pattern using a graphical user interface (GUI).

9. The method as recited in claim 1 wherein said step b) comprises: selecting said pattern from a library comprising a plurality of previously generated patterns.

10. The method as recited in claim 1 wherein said step b) comprises: defining said pattern with a software program.

11. The method as recited in claim 1 wherein said padring layout design is a linear padring layout design.

12. The method as recited in claim 1 wherein said padring layout design is a BGA padring layout design.

13. The method as recited in claim 1 wherein said plurality of placement algorithms includes a timing driven placement algorithm.

14. The method as recited in claim 1 wherein said plurality of placement algorithms includes a deterministic placement algorithm.

15. The method as recited in claim 1 wherein said plurality of placement algorithms includes a macro representing a predefined placement and a predefined route.

16. A method of generating a padring layout design for a chip design, comprising:

(a) defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

(b) defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, each slot describing placement of at least one of a pad metal, an I/O cell, and a standard cell within the one or more areas;

(c) using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

(d) customizing said padring layout design;

(e) placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

(f) performing said step e) using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

17. The method as recited in claim 16 wherein one of said areas comprises a bump area for placing a bump.

18. The method as recited in claim 16 wherein one of said areas comprises a bond pad area for placing a bond pad.

19. The method as recited in claim 16 wherein one of said areas comprises an I/O area for placing one or more I/O cells.

20. The method as recited in claim 16 wherein one of said areas comprises an edge logic area for placing said edge logic.

21. The method as recited in claim 20 wherein said edge logic area overlaps a core region of said chip design.

22. The method as recited in claim 16 wherein said step b) comprises: forming said pattern using an editor.

23. The method as recited in claim 16 wherein said step b) comprises: forming said pattern using a graphical user interface (GUI).

24. The method as recited in claim 16 wherein said step b) comprises: selecting said pattern from a library comprising a plurality of previously generated patterns.

25. The method as recited in claim 16 wherein said step b) comprises: defining said pattern with a software program.

26. The method as recited in claim 16 wherein said padring layout design is a linear padring layout design.

27. The method as recited in claim 16 wherein said padring layout design is a BGA padring layout design.

28. The method as recited in claim 16 wherein said plurality of placement algorithms includes a timing driven placement algorithm.

29. The method as recited in claim 16 wherein said plurality of placement algorithms includes a deterministic placement algorithm.

30. The method as recited in claim 16 wherein said plurality of placement algorithms includes a macro representing a predefined placement and a predefined route.

31. A computer system comprising:

a processor; and

a memory device coupled to said processor, wherein said memory device comprises computer-executable instructions stored therein for performing a method of generating a padring layout design for a chip design, comprising:

(a) defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

(b) defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, each slot describing placement of at least one of a pad metal, an I/O cell, and a standard cell within the one or more areas;

(c) using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

(d) placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

(e) performing said step d) using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

32. The computer system as recited in claim 31 wherein one of said areas comprises a bump area for placing a bump.

33. The computer system as recited in claim 31 wherein one of said areas comprises a bond pad area for placing a bond pad.

34. The computer system as recited in claim 31 wherein one of said areas comprises an I/O area for placing one or more I/O cells.

35. The computer system as recited in claim 31 wherein one of said areas comprises an edge logic area for placing said edge logic.

36. The computer system as recited in claim 35 wherein said edge logic area overlaps a core region of said chip design.

37. The computer system as recited in claim 31 wherein said step b) comprises:

forming said pattern using an editor.

38. The computer system as recited in claim 31 wherein said step b) comprises:

forming said pattern using a graphical user interface (GUI).

39. The computer system as recited in claim 31 wherein said step b) comprises:

selecting said pattern from a library comprising a plurality of previously generated patterns.

40. The computer system as recited in claim 31 wherein said step b) comprises:

defining said pattern with a software program.

41. The computer system as recited in claim 31 wherein said padring layout design is a linear padring layout design.

42. The computer system as recited in claim 31 wherein said padring layout design is a BGA padring layout design.

43. The computer system as recited in claim 31 wherein said plurality of placement algorithms includes a timing driven placement algorithm.

44. The computer system as recited in claim 31 wherein said plurality of placement algorithms includes a deterministic placement algorithm.

45. The computer system as recited in claim 31 wherein said plurality of placement algorithms includes a macro representing a predefined placement and a predefined route.

46. A computer system comprising:

a processor; and

a memory device coupled to said processor, wherein said memory device comprises computer-executable instructions stored therein for performing a method of generating a padring layout design for a chip design, comprising:

(a) defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

(b) defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, each slot describing placement of at least one of a pad metal, an I/O cell, and a standard cell within the one or more areas;

(c) using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

(d) customizing said padring layout design;

(e) placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

(f) performing said step e) using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

47. The computer system as recited in claim 46 wherein one of said areas comprises a bump area for placing a bump.

48. The computer system as recited in claim 46 wherein one of said areas comprises a bond pad area for placing a bond pad.

49. The computer system as recited in claim 46 wherein one of said areas comprises an I/O area for placing one or more I/O cells.

50. The computer system as recited in claim 46 wherein one of said areas comprises an edge logic area for placing said edge logic.

51. The computer system as recited in claim 50 wherein said edge logic area overlaps a core region of said chip design.

52. The computer system as recited in claim 46 wherein said step b) comprises: forming said pattern using an editor.

53. The computer system as recited in claim 46 wherein said step b) comprises: forming said pattern using a graphical user interface (GUI).

54. The computer system as recited in claim 46 wherein said step b) comprises:

selecting said pattern from a library comprising a plurality of previously generated patterns.

55. The computer system as recited in claim 46 wherein said step b) comprises:

defining said pattern with a software program.

56. The computer system as recited in claim 46 wherein said padring layout design is a linear padring layout design.

57. The computer system as recited in claim 46 wherein said padring layout design is a BGA padring layout design.

58. The computer system as recited in claim 46 wherein said plurality of placement algorithms includes a timing driven placement algorithm.

59. The computer system as recited in claim 46 wherein said plurality of placement algorithms includes a deterministic placement algorithm.

60. The computer system as recited in claim 46 wherein said plurality of placement algorithms includes a macro representing a predefined placement and a predefined route.

61. A method of generating a padring layout design for a chip design, comprising:

defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, one of said areas comprises an edge logic area for placing said edge logic, said edge logic area overlaps a core region of said chip design;

using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

performing said placing using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

62. A method of generating a padring layout design for a chip design, comprising:

defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, one of said areas comprises an edge logic area for placing said edge logic, said edge logic area overlaps a core region of said chip design;

using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

customizing said padring layout design;

placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

performing said placing using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

63. A computer system comprising:

a processor; and

a memory device coupled to said processor, wherein said memory device comprises computer-executable instructions stored therein for performing a method of generating a padring layout design for a chip design, comprising:

defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas;

using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone, wherein one of said areas comprises an edge logic area for placing said edge logic, edge logic area overlaps a core region of said chip design;

placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

performing said placing using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

64. A computer system comprising:

a processor; and

a memory device coupled to said processor, wherein said memory device comprises computer-executable instructions stored therein for performing a method of generating a padring layout design for a chip design, comprising:

defining one or more styles for said padring layout design, each style comprising one or more zones each representing a portion of said padring layout design;

defining one or more patterns for said one or more zones, wherein each pattern represents a template for one or more slots each comprising one or more areas, one of said areas comprises an edge logic area for placing said edge logic, said edge logic area overlaps a core region of said chip design;

using each pattern in an instantiation process to create said slots in a respective zone, wherein said instantiation process associates each area of each slot with a particular location in said respective zone;

customizing said padring layout design;

placing edge logic in selective areas of said slots, wherein said edge logic represents one or more standard cells which are associated with an I/O cell; and

performing said placing using one of a plurality of placement algorithms based on a timing constraint associated with said chip design.

Assignments (10)
CHANGE OF NAME Recorded Sep 2, 2020
From: MAGMA DESIGN AUTOMATION, INC.
To: MAGMA DESIGN AUTOMATION LLC
Reel/Frame 053669/0442 →
RELEASE OF SECURITY INTEREST Recorded Nov 11, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC
To: SYNOPSYS, INC.
Reel/Frame 040607/0632 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 19, 2012
From: MAGMA DESIGN AUTOMATION LLC
To: SYNOPSYS, INC.
Reel/Frame 029161/0846 →
SECURITY AGREEMENT Recorded Mar 23, 2010
From: MAGMA DESIGN AUTOMATION, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC
Reel/Frame 024120/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2006
From: RESHAPE, INC.
To: MAGMA DESIGN AUTOMATION, INC.
Reel/Frame 017586/0927 →
RELEASE Recorded Feb 27, 2006
From: SILICON VALLEY BANK
To: RESHAPE, INC.
Reel/Frame 017606/0100 →
TERMINATION OF PATENT SECURITY INTEREST Recorded Nov 4, 2004
From: SYNOPSYS, INC.
To: RESHAPE, INC.
Reel/Frame 015334/0768 →
SECURITY AGREEMENT Recorded Dec 15, 2003
From: RESHAPE, INC.
To: SILICON VALLEY BANK
Reel/Frame 014799/0240 →
SECURITY INTEREST Recorded Dec 10, 2003
From: RESHAPE, INC.
To: SYNOPSYS, INC.
Reel/Frame 014186/0058 →
SECURITY INTEREST Recorded Sep 15, 2003
From: RESHAPE, INC.
To: SILLICON VALLEY BANK
Reel/Frame 014484/0478 →