Method for determining control line routing for components of an integrated circuit
First Claim
1. A computer implemented method for determining at least a part of a control line routing for each control line of an integrated circuit, each control line routing including an initial routing and a cleanup routing, the method comprising:
- taking a finalized relative placement of components of the integrated circuit, the placement including routing constraints and at least a first and second port locations associated with each control line; and
determining an initial routing for each control line based on the placement, each initial routing being substantially straight and substantially parallel to a control line axis, a length of each initial routing based on a distance along the control line axis between the first and second port locations, a position of each initial routing based on an average distance orthogonal to the control line axis between at least the first and second port locations, wherein the placement is unaltered.
6 Assignments
0 Petitions
Accused Products
Abstract
A method for forming a structural similarity group from a netlist for use in performing a relative placement of components of an integrated circuit is described. Also described are a method for forming a relative placement of components of an integrated circuit using a structural similarity group and a method for modifying a relative placement of components of an integrated circuit by analyzing adjacent components for shared resources. In addition, methods for determining bus line routing, control line routing, and cleanup line routing for components of an integrated circuit are described.
10 Citations
48 Claims
-
1. A computer implemented method for determining at least a part of a control line routing for each control line of an integrated circuit, each control line routing including an initial routing and a cleanup routing, the method comprising:
-
taking a finalized relative placement of components of the integrated circuit, the placement including routing constraints and at least a first and second port locations associated with each control line; and
determining an initial routing for each control line based on the placement, each initial routing being substantially straight and substantially parallel to a control line axis, a length of each initial routing based on a distance along the control line axis between the first and second port locations, a position of each initial routing based on an average distance orthogonal to the control line axis between at least the first and second port locations, wherein the placement is unaltered. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
determining an alternate position for each initial routing where a blockage is present.
-
-
10. A method according to claim 9 wherein determining an alternate position includes:
-
defining a search region based on at least the first and second port locations; and
selecting a closest available track located within the search region.
-
-
11. A method according to claim 10 wherein the search region is a rectangular region having at least two corners defined by the first and second port locations.
-
12. A method according to claim 1, further comprising:
determining a cleanup routing for each control line based on the initial routing and the placement, the cleanup routing connecting the initial routing for each control line to ports associated with each control line.
-
13. A method according to claim 12 wherein determining a cleanup routing includes:
-
determining a length for each cleanup routing based on a distance between the initial routing and the port location; and
determining a position for each cleanup routing based on the initial routing and the port location.
-
-
14. A method according to claim 12 wherein determining a cleanup routing includes using the shortest Manhattan length between the initial routing and the port location.
-
15. A method according to claim 12 wherein determining a cleanup routing is performed by an external router.
-
16. A method according to claim 12, further comprising:
determining an alternate position for each cleanup routing where a blockage is present.
-
17. An integrated circuit design tool comprising:
-
a processor; and
memory coupled to the processor including instructions which when executed by the processor takes a finalized relative placement of components of the integrated circuit, the placement including routing constraints and at least a first and second port locations associated with each control line, and performs;
determining an initial routing for each control line based on the placement, each initial routing being substantially straight and substantially parallel to a control line axis, a length of each initial routing based on a distance along the control line axis between the first and second port locations, a position of each initial routing based on an average distance orthogonal to the control line axis between at least the first and second port locations, wherein the placement is unaltered. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
determining an alternate position for each initial routing where a blockage is present.
-
-
26. An integrated circuit design tool according to claim 25 wherein determining an alternate position includes:
-
defining a search region based on at least the first and second port locations; and
selecting a closest available track located within the search region.
-
-
27. An integrated circuit design tool according to claim 26 wherein the search region is a rectangular region having at least two corners defined by the first and second port locations.
-
28. An integrated circuit design tool according to claim 21, further comprising:
determining a cleanup routing for each control line based on the initial routing and the placement, the cleanup routing connecting the initial routing for each control line to ports associated with each control line.
-
29. An integrated circuit design tool according to claim 28 wherein determining a cleanup routing includes:
-
determining a length for each cleanup routing based on a distance between the initial routing and the port location; and
determining a position for each cleanup routing based on the initial routing and the port location.
-
-
30. An integrated circuit design tool according to claim 28 wherein determining a cleanup routing includes using the shortest Manhattan length between the initial routing and the port location.
-
31. An integrated circuit design tool according to claim 28 wherein determining a cleanup routing is performed by an external router.
-
32. An integrated circuit design tool according to claim 28, further comprising:
determining an alternate position for each cleanup routing where a blockage is present.
-
33. An article of manufacture comprising a computer readable medium bearing a program code embodied therein for performing a method for determining at least a part of a control line routing for each control line of an integrated circuit, each control line routing including an initial routing and a cleanup routing, the method comprising:
-
taking a finalized relative placement of components of the integrated circuit, the placement including routing constraints and at least a first and second port locations associated with each control line; and
determining an initial routing for each control line based on the placement, each initial routing being substantially straight and substantially parallel to a control line axis, a length of each initial routing based on a distance along the control line axis between the first and second port locations, a position of each initial routing based on an average distance orthogonal to the control line axis between at least the first and second port locations, wherein the placement is unaltered. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
determining an alternate position for each initial routing where a blockage is present.
-
-
42. An article of manufacture according to claim 41 wherein determining an alternate position includes:
-
defining a search region based on at least the first and second port locations; and
selecting a closest available track located within the search region.
-
-
43. An article of manufacture according to claim 42 wherein the search region is a rectangular region having at least two corners defined by the first and second port locations.
-
44. An article of manufacture according to claim 33, further comprising:
determining a cleanup routing for each control line based on the initial routing and the placement, the cleanup routing connecting the initial routing for each control line to ports associated with each control line.
-
45. An article of manufacture according to claim 44 wherein determining a cleanup routing includes:
-
determining a length for each cleanup routing based on a distance between the initial routing and the port location; and
determining a position for each cleanup routing based on the initial routing and the port location.
-
-
46. An article of manufacture according to claim 44 wherein determining a cleanup routing includes using the shortest Manhattan length between the initial routing and the port location.
-
47. An article of manufacture according to claim 44 wherein determining a cleanup routing is performed by an external router.
-
48. An article of manufacture according to claim 44, further comprising:
determining an alternate position for each cleanup routing where a blockage is present.
Specification