Method and apparatus for considering diagonal wiring in placement
First Claim
1. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, the method comprising using a diagonal line to measure a placement metric.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention is directed towards method and apparatus that consider diagonal wiring in placement. Some embodiments of the invention are placers that use diagonal lines in calculating the costs of potential placement configurations. For instance, some embodiments estimate the wirelength cost of a placement configuration by (1) identifying, for each net in a net list, a bounding box that encloses all the circuit elements of the net, (2) computing an attribute of each bounding box by using a line that can be completely or partially diagonal, and (3) computing the wirelength cost estimate based on the computed attributes. To estimate the wirelength cost of different placement configurations, other embodiments construct connection graphs that model the net interconnect topologies. These connection graphs can have edges that are completely or partially diagonal. Other embodiments use diagonal lines to measure congestion costs of potential placement configurations. For instance, some placers use diagonal lines as cut lines that divide the IC layout into regions. These placers then generate congestion-cost estimates by measuring the number of nets cut by the diagonal cut lines.
-
Citations
87 Claims
-
1. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, the method comprising using a diagonal line to measure a placement metric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42)
- IC”
-
14. For an electronic design automation application, a method of placing circuit elements in an integrated circuit layout, said layout using a wiring model that includes Manhattan and diagonal lines, the method comprising using a diagonal line to measure a cost of a placement configuration.
-
23. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein said IC layout includes a net and a plurality of circuit elements, said net representing interconnections between a set of circuit elements in the IC layout, the method comprising;
a) constructing a bounding box that encompasses the circuit elements of the net; and
b) using a diagonal line to measure an attribute of the bounding box.
- IC”
-
32. The method of clam 23, wherein the diagonal line forms a 120°
- angle with respect to a side of the IC layout.
-
35. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein said IC layout includes a plurality of nets and uses a wiring model that includes diagonal lines, each net including a plurality of circuit elements in the IC layout, the method comprising;
a) for each particular net, constructing a bounding box that encompasses the circuit elements of the particular net;
b) for each particular bounding box, measuring an attribute of the particular bounding box, wherein the method uses diagonal lines to measure the attributes of some of the constructed bounding boxes; and
c) combining said attribute measurements to obtain an estimate of interconnect-line length necessary to connect the circuit elements of the nets in the IC layout.
- IC”
-
43. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein said IC layout includes a net and a plurality of circuit elements, wherein the net represents interconnections between a set of circuit elements, the method comprising;
constructing a connection graph that models the topology of interconnect lines for connecting the circuit elements of the net, said connection graph having edges, each edge connecting two circuit elements of the net, wherein at least one of the edges is at least partially diagonal. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60)
- IC”
-
53. The method of clam 43, wherein the diagonal edge forms a 120°
- angle with respect to a side of the IC layout.
-
58. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein said IC layout includes a plurality of nets each of which includes a plurality of circuit elements in the IC layout, wherein the EDA application includes a wiring model that defines different types of interconnect lines for connecting the circuit elements of the nets, said wiring model having diagonal lines, the method comprising;
a) for each particular net, defining a minimum spanning tree that models the topology of interconnect lines for connecting the circuit elements of the particular net, said minimum spanning trees having edges, wherein at least one of the edges of at least one of the minimum spanning trees is at least partially diagonal, b) calculating the length of the edges of the minimum spanning trees; and
c) combining the length calculations to obtain an estimate of the total interconnect-line length needed for connecting the circuit elements of the nets.
- IC”
-
61. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein said IC layout includes a plurality of nets each of which includes a plurality of circuit elements in the IC layout, wherein the EDA application includes a wiring model that defines different types of interconnect lines for connecting the circuit elements of the nets, said wiring model having diagonal lines, the method comprising;
a) for each particular net, defining a Steiner tree that models the topology of interconnect lines for connecting the circuit elements of the particular net, said Steiner trees having edges, wherein at least one of the edges of at least one of the Steiner trees is at least partially diagonal;
b) calculating the length of the Steiner trees; and
c) combining the length calculations to obtain an estimate of the total interconnect-line length needed for connecting the circuit elements of the nets. - View Dependent Claims (62, 63, 64)
- IC”
-
65. For an electronic design automation application, a method of placing circuit modules in an integrated circuit (“
- IC”
) layout, wherein the application uses a set of nets, and each net specifies a set of circuit elements in the layout, the method comprisinga) partitioning a region of the IC layout into two sub-regions by using a diagonal cut line;
b) measuring the number of nets that have circuit elements in both the sub-regions created by the diagonal cut line. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87)
- IC”
-
79. For an electronic design automation application, a method of placing circuit modules in an integrated circuit layout, wherein the application uses a set of nets, and each net specifies a set of circuit elements in the layout, the method comprising:
-
a) defining a diagonal cut line that partitions a region of the IC layout into two sub-regions;
b) determining the number of nets intersected by the diagonal cut line;
c) changing the positions of the circuit modules between the sub-regions to minimize the number of nets intersected by the diagonal cut line.
-
Specification