Method of designing a constraint-driven integrated circuit layout
First Claim
1. An automated method for designing an integrated circuit layout with a computer, based upon an electronic circuit description and upon a selected plurality of cells from a cell library, comprising the steps of:
- (a) assigning each of the cells to one of a plurality of buckets designated on the integrated circuit layout, each of the cells being connected to one of the other cells;
(b) performing global routing to connect at least some of the selected cells of step (a) together such that global routes are formed to provide net topology information;
(c) performing track routing which sets the position of each of the global routes;
(d) performing detailed placement.such that the positions of all selected cells are fixed within each of the buckets designated on the integrated circuit layout; and
(e) performing detailed routing such that detailed routes are formed to complete the integrated circuit layout.
1 Assignment
0 Petitions
Accused Products
Abstract
An automated method for designing an integrated circuit layout with a computer, based upon an electronic circuit description and upon a selected plurality of cells from a cell library, comprising the steps of: (a) assigning each of the cells to one of a plurality of buckets designated on the integrated circuit layout, each of the cells being connected to one of the other cells; (b) performing global routing to connect at least some of the selected cells of step (a) together such that global routes are formed to provide net topology information; (c) performing track routing which sets the position of each of the global routes; (d) performing detailed placement such that the positions of all selected cells are fixed within each of the buckets designated on the integrated circuit layout; and (e) performing detailed routing such that detailed routes are formed to complete the integrated circuit layout.
211 Citations
86 Claims
-
1. An automated method for designing an integrated circuit layout with a computer, based upon an electronic circuit description and upon a selected plurality of cells from a cell library, comprising the steps of:
-
(a) assigning each of the cells to one of a plurality of buckets designated on the integrated circuit layout, each of the cells being connected to one of the other cells;
(b) performing global routing to connect at least some of the selected cells of step (a) together such that global routes are formed to provide net topology information;
(c) performing track routing which sets the position of each of the global routes;
(d) performing detailed placement.such that the positions of all selected cells are fixed within each of the buckets designated on the integrated circuit layout; and
(e) performing detailed routing such that detailed routes are formed to complete the integrated circuit layout. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
prior to the step (b) of performing global routing, performing global optimization of cell sizes based upon the assignment of each of the cells of step (a).
-
-
3. The automated method of claim 1 wherein the step of performing global optimization includes reducing a logic structure formed by at least some the cells of step (a).
-
4. The automated method of claim 1 further comprising:
performing electrical optimization based upon the net topology information of step (b) to satisfy predetermined timing constraints for at least some of the global routes of step (b).
-
5. The automated method of claim 4 wherein the step of performing electrical optimization comprises:
adjusting the width of at least some of the global routes of step (b).
-
6. The automated method of claim 4 wherein the step of adjusting the width of at least some of the global route satisfies electromagnetic constraints of said some of the global routes.
-
7. The automated method of claim 4 further comprising:
after the step of performing electrical optimization, determining a capacitance load for each of the global routes of step (b) so that the capacitance load of each of the global routes satisfies predetermined timing constraints associated with each of the global routes.
-
8. The automated method of claim 7 wherein the step (c) of performing track routing sets the capacitance load of each of the global routes of step (b).
-
9. The automated method of claim 8 wherein the capacitive load for a certain one of the global routes is used to determine the location of another global route.
-
10. The automated method of claim 7 wherein the step (c) of performing track routing sets the position of each of the global routes to meet predetermined timing constraints associated with each of the global routes.
-
11. The automated method of claim 1 further comprising:
prior to the step (d) of performing detailed placement, performing bucket equalization to minimize an area of the integrated circuit layout.
-
12. The automated method of claim 11 wherein the step of performing bucket equalization comprises:
moving one of the cells of step (a) to further reduce the area of the integrated circuit layout.
-
13. The automated method of claim 12 where the step of moving one of the cells assists in satisfying predetermined timing constraints associated with at least some of the global routes of step (b).
-
14. The automated method of claim 12 further comprising:
after the step of performing bucket equalization, performing a timing-driven global routing to adjust at least some of the global routes which are connected to the moved cell.
-
15. The automated method of claim 14 further comprising:
after the step of performing the timing-driven global routing, performing track routing to determine the positions of the global routes of step (b).
-
16. The automated method of claim 1 further comprising:
achieving routing completion to connect one of the cells in one of the buckets to another one of the cells in the same bucket.
-
17. The automated method of claim 16 wherein the step of achieving routing completion comprises:
repeating the step (d) of performing detailed placement such that at least some of the cells permit routing completion.
-
18. The automated method of claim 16 wherein the step of achieving routing completion comprises:
-
forming a tear line in the chip layout; and
disposing a net in the tear line; and
forming a conductor for coupling one of the cells in one of the buckets to the net disposed in the tear line.
-
-
19. The automated method of claim 1 further comprising:
associating a hierarchical module in one of the buckets of step (a).
-
20. The automated method of claim 1 wherein the number of cells associated within one of the buckets of step (a) ranges from 20 to 200.
-
21. The automated method of claim 1 further comprising:
-
providing a hierarchical netlist;
tagging a selected intermediate hierarchical module in the hierarchical netlist;
flattening the hierarchical netlist while preserving the selected intermediate hierarchical module; and
generating a netlist for the step (a) of performing coarse placement if the selected intermediate hierarchical module fits within one of the buckets of step (a).
-
-
22. The automated method of claim 21 further comprising:
-
if the selected intermediate hierarchical module is larger than one of the buckets of step (a), partitioning the selected intermediate hierarchical module into smaller parts; and
selecting wires for coupling the smaller parts together so as to place each of the smaller parts adjacent each other.
-
-
23. The automated method of claim 1 wherein the step (a) of performing coarse placement permits violations of predetermined timing constraints associated with the global routes.
-
24. The automated method of claim 1 wherein the step (d) of performing detailed placement is performed after the step (c) of performing track routing.
-
25. The automated method of claim 1 wherein the step (b) of performing global routing placement permits violations of predetermined timing constraints associated with the global routes.
-
26. The automated method of claim 1 wherein the step (c) of track routing includes:
fixing the positions of a first selected plurality of global routes in a generally horizontal direction.
-
27. The automated method of claim 1 wherein the step (c) of track routing further includes:
fixing the positions of a second selected plurality of global routes in a generally vertical direction.
-
28. The automated method of claim 1 wherein the final positions for all cells of step (d) is based upon the position of each of the global routes as set in the step (c) of performing track routing.
-
29. The automated method of claim 1 wherein the step (e) of performing detailed routing generates detailed routes for coupling the cells to the global routes.
-
30. The automated method of claim 1 wherein the step (e) of performing detailed routing is performed by a maze router adapted for operation on a three-dimensional fine grid.
-
31. The automated method of claim 30 wherein the resolution of the three-dimensional fine grid can be increased to satisfy deep submicron requirements.
-
32. The automated method of claim 31 wherein the resolution of the three-dimensional fine grid is adjusted to control the capacitance between the detailed routes.
-
33. The automated method of claim 32 wherein the three-dimensional fine grid is configured to minimize the routing of the detailed routes along a tear line of the integrated circuit layout.
-
34. The automated method of claim 1 wherein the step (d) of performing detailed routing generates local routing for each bucket of step (a).
-
35. The automated method of claim 1 wherein the position of at least some of the global routes are set without vertical constraints during the track routing step (c).
-
36. An integrated circuit layout produced in accordance with the automated method of claim 1.
-
37. A method for designing an integrated circuit layout by using a computer, based upon the selection of cells from a cell library, comprising the steps of:
-
(a) designating a plurality of buckets in the integrated circuit layout so that at least some of the cells are assigned in initial placements in the buckets;
(b) connecting a plurality of global routes having net lengths based upon the initial placements of the cells of step (a);
(c) performing track routing to fix the position of each of the global routes of step (b);
(d) performing detailed placement by placing additional cells in the buckets of step (a) after the fixing step (c) so that positions of selected cells are fixed within each of the buckets on the integrated circuit layout; and
(e) placing detailed routes to connect at least some of the additional cells together in one of the buckets. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
performing optimization based upon the initial placements of step (a).
-
-
39. The method of claim 38 wherein the step of performing optimization comprises:
partially re-mapping at least some of the cells of step (a) to reduce a logic structure formed by cells of step (a).
-
40. The method of claim 39 further comprises:
after the step of performing electrical optimization, determining the capacitance budget for each of the global routes of step (b) so that each of the global routes satisfies predetermined timing constraints associated with each of the global routes.
-
41. The method of claim 37 further comprises:
after performing the connecting step (b), performing electrical optimization to satisfy predetermined timing constraints for at least some of the global routes of step (b).
-
42. The method of claim 41 wherein the step of performing electrical optimization comprises:
adjusting the widths of at least some of the global routes of step (b).
-
43. The method of claim 42 further comprising:
based on the step of moving the selected cell, performing global routing to incrementally adjust at least some of the global routes connected to the moved cell.
-
44. The method of claim 37 further comprising:
after performing the fixing step (c), moving a selected one of the cells in an incremental distance to minimize an area of the integrated circuit layout.
-
45. The method of claim 37 wherein the step (e) of placing detailed routes satisfies the predetermined timing constraints associated with each of the global routes of step (c).
-
46. The method of claim 37 wherein the detailed routes of step (e) are placed by a grid-based router.
-
47. The method of claim 46 wherein the grid-based router is adjusted to meet deep submicron requirements.
-
48. The method of claim 37 wherein the detailed routes of step (e) are placed to assist in satisfying capacitance load requirements associated for each of the detailed routes.
-
49. The method of claim 37 further comprising:
after the placing step (e), performing routing completion so as to complete the integrated circuit layout.
-
50. The method of claim 49 wherein the step of performing routing completion comprises:
re-performing the placing step (d) to generate another placement for the additional cells of step (d) to enable routing completion of the integrated circuit layout.
-
51. The method of claim 49 wherein the step of performing routing completion comprises:
forming a space in the integrated circuit layout for receiving a wire which enable routing completion.
-
52. The method of claim 51 wherein the additional space is a tear line in the integrated circuit layout.
-
53. The method of claim 51 further comprising:
forming a conductor for coupling a cell in one of the buckets of step (d) to the wire in the space formed in the chip layout.
-
54. The method of claim 37 wherein the initial placement of cells in step (a) permits timing violations in the global routes.
-
55. The method of claim 37 wherein the connecting step (b) permits timing violations in the global routes.
-
56. An integrated circuit layout produced in accordance with the method of claim 37.
-
57. A method for designing an integrated circuit layout, comprising the steps of:
-
(a) placing a first plurality of cells in initial positions designated by buckets;
(b) forming a plurality of global routes based upon the designated initial positions of the first plurality of cells of step (a);
(c) performing track routing to fix the positions of the global routes of step (b);
(d) performing detailed placement by placing a second plurality of cells based upon the positions of the global routes of step (c) such that the positions of all selected cells are fixed within the buckets designated on the integrated circuit layout; and
(e) placing a plurality of detailed routes to complete the integrated circuit layout. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
performing optimization based upon the designated initial positions of the first plurality of cells of step (a).
-
-
59. The method of claim 57 further comprising:
after the fixing step (c), performing electrical optimization to satisfy the predetermined timing constraints of at least some of the global routes.
-
60. The method of claim 57 further comprising:
setting the capacitance of each of the global routes of step (b) prior to the fixing step (c).
-
61. The method of claim 57 further comprising:
after the fixing step (c), moving at least one of the first plurality of cells at an incremental distance to minimize an area of the integrated circuit layout.
-
62. The method of claim 61 further comprising:
revising a selected number of global routes coupled to a moved cell after performing the step of moving at least one of the cells.
-
63. The method of claim 62 wherein the revising step satisfies the predetermined timing constraints associated with at least some of the global routes.
-
64. The automated method of claim 57 wherein the placing step (e) is based upon a three-dimensional grid for guiding the detailed routes.
-
65. The automated method of claim 64 wherein the three-dimensional grid can incorporate deep submicron requirements of the integrated circuit layout.
-
66. The automated method of claim 57 wherein the fixing step (c) is driven by predetermined timing constraints associated with at least some of the global routes.
-
67. The automated method of claim 57 wherein the placing step (a) permits violations of predetermined timing constraints associated with each of the global routes.
-
68. The automated method of claim 57 wherein the forming step (b) permits violations of predetermined timing constraints associated with each of the global routes.
-
69. The automated method of claim 57 further comprising:
performing routing completion to form the integrated circuit layout.
-
70. The automated method of claim 69 wherein the step of performing routing completion comprises:
re-performing the placing step (d) so that routing completion is achieved after placement of the second plurality of cell.
-
71. The automated method of claim 69 wherein the step of performing routing completion comprises:
-
forming a space in the integrated circuit layout;
receiving a wires in the space; and
coupling one of the second plurality of cell to the wire formed in the space.
-
-
72. The automated method of claim 71 wherein the space is formed by a tear line in the integrated circuit layout.
-
73. An integrated circuit layout produced in accordance with the automated method of claim 57.
-
74. An integrated circuit layout formed on a chip layout comprising:
-
a plurality of selected cells;
global routes for coupling the selected cells together, the global routes having been set in position by a track routing process;
detailed routes for coupling the global routes to the selected cells; and
a routing space formed in the chip layout for permitting routing completion of the integrated circuit layout;
wherein the cells are fixed within buckets on the integrated circuit layout by a detailed placement process. - View Dependent Claims (75, 76, 77)
-
-
78. A timing-based integrated circuit layout formed on a chip layout comprising:
-
a plurality of cells;
timing-based global routes for coupling at least some of the cells together, the timing-based global routes being set in position by track routing so as to satisfy timing requirements of the integrated circuit layout; and
detailed routes for coupling the timing-based global routes to at least some of the cells, the at least some of the cells having been fixed in position within buckets designated on the integrated circuit layout by a detailed placement process.
-
-
79. An automated method for satisfying the timing requirements of an integrated circuit layout on a chip layout, comprising the steps of:
-
(a) placing a first selected plurality of cells in approximate positions in the chip layout;
(b) selecting global routes for coupling the first selected plurality of cells together;
(c) setting the positions of the global routes of step (b) using a track routing process such that a timing parameter of each of the global routes satisfies the timing requirements of the integrated circuit layout; and
(d) placing a second selected plurality of cells based upon the positions of the global routes of step (c) using a detailed placement process such that the positions of selected cells are fixed within each of buckets designated on the integrated circuit layout. - View Dependent Claims (80)
-
-
81. An automated method for achieving routing completion in an integrated circuit layout, comprising the steps of:
-
(a) providing a first plurality of cells in approximate positions so that the cells are used to implement the integrated circuit layout;
(b) placing a plurality of global routes for coupling the first plurality of cells;
(c) fixing the positions of the global routes using a track routing process;
(d) placing a second plurality of cells based upon the positions of the global routes of step (c);
(e) performing detailed routing for coupling the second plurality of cells together and to the global routes; and
(f) performing routing completion so as to form the integrated circuit layout such that positions of all selected cells are fixed within buckets on the integrated circuit layout. - View Dependent Claims (82, 83, 84)
forming a tear in a chip layout; and
receiving a wire in the tear wherein the wire enables routing completion of the integrated circuit layout.
-
-
83. The automated method of claim 82 wherein the tear is formed by a chip tearing device.
-
84. An integrated circuit layout produced in accordance with the automated method of claim 81.
-
85. An automated method for designing an integrated circuit layout with a computer, based upon an electronic circuit description and by using a cell library containing a selected plurality of cells, comprising the steps of:
-
(a) based upon a portion of a computer program that contains a sequence of instructions, assigning each of the cells to one of a plurality of buckets designated on the integrated circuit layout, each of the cells being connected to one of the other cells based upon the electronic circuit description input to the computer;
(b) performing global routing to connect at least some of the selected cells of step (a) together such that global routes are formed to provide net topology information;
(c) performing track routing which sets the position of each of the global routes;
(d) performing detailed placement such that the positions of all selected cells are fixed within each of the buckets designated on the integrated circuit layout; and
(e) performing detailed routing such that detailed routes are formed to complete the integrated circuit layout.
-
-
86. A automated method for designing an integrated circuit layout by using a computer and based upon an electronic circuit description, comprising the steps of:
-
(a) using a portion of a computer program that contains a sequence of instructions, placing a first plurality of cells in designated initial positions;
(b) forming a plurality of global routes based upon the designated initial positions of the first plurality of cells of step (a);
(c) performing track routing to fix the positions of the global routes of step (b);
(d) performing detailed placement on a second plurality of cells based upon the positions of the global routes of step (c) such that positions of all selected cells are fixed in each of buckets designated on the integrated circuit layout; and
(e) placing a plurality of detailed routes to complete the integrated circuit layout.
-
Specification