Symmetric signal distribution through abutment connection
The present invention provides a method and apparatus for managing a large number of associated interconnects within an integrated circuit involving a modular approach to the macro cell layout. In particular, internal signal paths are created within each macro cell that permit connections to other macros by abutting these macros adjacent to one another. Moreover, these internal signal paths permit efficient distribution of a common source signal to each of such connected macros. The layout of the internal macro cell signal paths of the present invention also permits each of these macros to be reflected about its Y-axis, thereby increasing its versatility in being utilized in various circuit designs.
Latest Agere Systems Inc. Patents:
- Systems and methods for low latency media defect detection
- Methods and apparatus for determining threshold of one or more DFE transition latches based on incoming data eye
- Method of identifying and/or programming an integrated circuit
- Systems and methods for low latency media defect detection
- Semiconductor device and a method of manufacture therefor
The present invention generally relates to semiconductors and more specifically to signal routing between macros by abutment placement of these macros.
BACKGROUND OF THE INVENTIONThe layout for large-scale integrated microchips is one of the most time consuming tasks in the design cycle for an integrated circuit (IC). One input to this design process is a partitioned circuit wherein elementary components of the circuit are grouped to build a number of macro cells. On the borders of these cells, signal trace endpoints or terminals are located to provide signal paths between circuit blocks of the IC and connection layers such as metal or polysilicon layers. These connection layers, also known as interconnects, require some finite width and thickness to ensure reliability of the interconnect and signal integrity.
The output of this design process is a layout for the integrated circuit. The layout describes the placement of the macro cells and the routes for the interconnects between the macro cells. One common objective in layout optimization is to find an arrangement that minimizes overall area. Cells are not allowed to overlap each other, and the routing has to meet specific technical constraints, i.e., space between parallel wires has to be added to prevent short circuits and transmission effects, and for some critical traces, the delay has to stay below a given threshold, which results in maximal admissible wire lengths for these traces.
One frequently occurring situation encountered in this design process is when a single source is used to generate identical or duplicate signals, e.g., clocks, currents, etc. that are to be supplied to multiple destinations. An example would be a biasing current that is being supplied to analog circuits. The distribution of these currents can be a significant challenge in situations where the analog circuits are macro-based and multiple distributions are to occur. This becomes even more difficult when the multiple analog circuits require independent biasing currents from the source. That is, while the source can readily produce independent biasing current for any number of analog macros, providing each current to each analog macro is problematic due to the fact that biasing currents are delicate and sensitive signals.
Frequently in the prior art custom routing is employed. This not only increases costs of design but invariable results in increased numbers of signal paths between blocks. When numerous signal paths are required between circuit blocks, the routing congestion caused by placement of the associated interconnects will increase the overall size of the IC and thus increase the cost of the product. That congestion has an increased effect when the area between the circuit blocks is limited. A further problem arises when numerous tightly spaced functional blocks require a high number of signal paths between these blocks. The associated numerous interconnects will cause even more IC area congestion that will further increase the IC size and associated cost.
SUMMARY OF THE INVENTIONThe present invention overcomes the disadvantages and limitations of the prior art by providing a method and apparatus to reduce or eliminate the need to connect individual macro cell signals with traces that are supplemental to the macro cell layout. In particular, in circumstances where a macro can be employed for multiple instantiations, and where such design signals must be distributed to each instantiation, certain commonalities may exist which can be exploited to effect the routings. That is, a custom route is, in effect, created inside the macros and the connection between macros and the source signal is achieved by abutting these macros adjacent to one another so that the signal connections are made to adjacent macros.
Thus, in the example where the source signal is a biasing current, each of the analog macros can be supplied their own independent biasing current with minimal, if any, routing paths external to the analog macros. Further, these analog macros are capable of being reflected (i.e., symmetric) in their Y-axis while maintaining the one-to-one connection by abutment in the layout. This capability provides greater flexibility in the use of various designs.
Various embodiments of the present invention will now be described in detail in conjunction with the annexed drawings, in which:
The present invention provides a method and apparatus for managing a large number of associated interconnects within an integrated circuit involving a modular approach to the macro cell layout. The invention is particularly applicable in situations in which a single source is used to generate identical or duplicate signals that are to be supplied to multiple destinations. The following embodiments of the invention will be described with reference to biasing currents (IBIAS) being supplied to multiple analog circuits. The invention is not so limited however, as it is applicable to any distribution of one or more signals to multiple destinations (to include digital signals and/or non-analog macros).
In the following discussions, the exemplary macro cell is a rectangle and in the accompanying figures, the terms “left”, “right”, “L”, “R”, “top” and “bottom” are introduced to describe the relationship between one side of the macro cell and its opposing side. These terms are not meant to imply any one particular orientation or shape of the macro cell. It should be understood from the present context that these terms are exemplary and non-limiting. Furthermore, the concepts of the present invention are more broadly applicable to macro cells of other shapes. Generally, macro cells are square or rectangular, as such shapes are most practical, but the invention can be applied to macro cells of any symmetric, four-sided polygonal shape. In fact, in theory, the invention could be applied to non-symmetric polygons and/or polygons of any number of sides, although such shapes are not likely to be practical in most cases.
Generally, the invention is most effectively used when a plurality of macro cells have similar shape and are laid out so that they have parallel adjacent sides. However, while not perhaps as practical, in theory, the macro cells need not necessarily all have the same shape and the plurality of macro cells need not be laid out so that every side of every macro is adjacent and/or parallel to a side of another macro cell.
The above described internal routing of Analog Macro 302 in
An additional advantage of this embodiment of the invention is illustrated in
While the invention has been described with reference to the preferred embodiment thereof, it will be appreciated by those of ordinary skill in the art that modifications can be made to the structure and elements of the invention without departing from the spirit and scope of the invention as a whole.
Claims
1. A method of routing internal signal paths contained on a macro cell, the macro cell having a top edge, a bottom edge, a left edge and a right edge, the internal routing occurring between a plurality of left terminals on the macro cell to a plurality of right terminals on the macro cell, the method comprising the steps of:
- placing n left terminals at terminal locations on the left edge of the macro cell, where said left terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the top edge, and wherein n is an integer;
- placing n right terminals at terminal locations on the right edge of the macro cell, where said right terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the top edge; and wherein said right terminals are adapted to contact left terminals of an additional macro cell whenever the left terminals of the additional macro cell are physically aligned with and connected to the right terminals of the macro cell; and,
- routing the internal signal paths between the left terminals of the macro cell and the right terminals of the macro cell so that an internal signal path is established between the left terminal location at location 1 and the right terminal location at location n, and for each integer k, 1<k≦n, an internal signal path is established between the left terminal of the macro cell at terminal location k and the right terminal at terminal location k−1.
2. The method of claim 1 further comprising the step of: supplying input signals to the macro cell to at least one of the left terminals of the macro cell.
3. The method of claim 1 further comprising the step of: supplying input signals to the macro cell to at least one of the right terminals of the macro cell.
4. A method of establishing signal paths between macro cells, each macro cell having a top edge, a bottom edge, a left edge and a right edge; the method comprising the steps of:
- placing n left terminals at terminal locations on the left edge of a first macro cell, where said left terminal locations are sequentially numbered 1 through n, with 1 being the location nearest the top edge, and wherein n is an integer;
- placing n right terminals at terminal locations on the right edge of the first macro cell, where said right terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the top edge; and wherein said right terminals are adapted to contact left terminals of a second macro cell whenever the left terminals of the second macro cell are physically aligned with and connected to the right terminals of the first macro cell;
- routing the internal signal paths between the left terminals of the first macro cell and the right terminals of the first macro cell so that an internal signal path is established between the left terminal at location 1 and the right terminal at location n; and for each integer k, 1<k≦n, an internal signal path is established between the left terminal at location k and the right terminal at location k−1; and
- placing the second macro cell in contact with the first macro cell such that at least one of the left terminals on the second macro cell are physically aligned with and connected to at least one of the right terminals of the first macro cell.
5. The method of claim 4 wherein the right terminal locations on the right edge of the first macro cell correspond to the left terminal locations on the left edge of the second macro cell.
6. The method of claim 4 further comprising the step of: supplying input signals to the first macro cell at the left terminals of the first macro cell.
7. The method of claim 4 further comprising the step of: supplying input signals to the second macro cell at the right terminals of the second macro cell.
8. The method of claim 4 wherein the said first macro cell and said second macro cell are identical.
9. The method of claim 4 further comprising the step of: reducing occurrences of floating paths when said macro cells are connected.
10. A macro cell that reduces the need for external signal paths when the macro cell is connected by abutment to additional macro cells, each of said macro cells having a top edge, a bottom edge, a left edge and a right edge; the macro cell comprising:
- a plurality of n left terminals placed at terminal locations on the left edge of the macro cell, where said left terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the top edge, and wherein n is an integer;
- a plurality of n right terminals placed at terminal locations on the right edge of the macro cell, where said right terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the top edge; and wherein said right terminals are adapted to contact left terminals of an additional macro cell whenever the left terminals of the additional macro cell are physically aligned with and connected to the right terminals of the macro cell; and,
- a plurality of internal signal paths between the plurality of left terminals of the macro cell and the plurality of right terminals of the macro cell so that an internal signal path is established between the left terminal location at location 1 and the right terminal location at location n, and for each integer k, 1<k≦n, an internal signal path is established between the left terminal of the macro cell at terminal location k and the right terminal at terminal location k−1.
11. The macro cell of claim 10 wherein the left terminals on the macro cell are configured to receive input signals to the macro cell.
12. The macro cell of claim 10 wherein the right terminals on the macro cell are configured to receive input signals to the macro cell.
13. A method of routing internal signal paths contained on a macro cell, the macro cell having a surf ace in the shape of a polygon having first, second, third and fourth edges, wherein said first edge is opposed to said third edge and said second edge is opposed to said fourth edge; said internal routing occurring between a plurality of terminals located on the first edge and a plurality of terminals located on the third edge, the method comprising the steps of:
- placing n terminals at terminal locations on the first edge of the macro cell, where said first edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge, and wherein n is an integer;
- placing n terminals at terminal locations on the third edge of the macro cell, where said third edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge; and wherein said edge terminals on the third edge are adapted to contact terminals of an additional macro cell whenever the terminals of the additional macro cell are physically aligned with and connected to the edge terminals on the third edge of the macro cell; and,
- routing the internal signal paths between the edge terminals on the first edge of the macro cell and the edge terminals on the third edge of the macro cell so that an internal signal path is established between the edge terminal location at location 1 on the first edge and the edge terminal location at location n on the third edge, and for each integer k, 1<k≦n, an internal signal path is established between the edge terminal of the macro cell at terminal location k on the first edge and the edge terminal at terminal location k−1 on the third edge.
14. The method of claim 13 further comprising the steps of: supplying input signals to the macro cell to at least one of the terminal locations on the first edge of the macro cell.
15. The method of claim 13 further comprising the step of: supplying input signals to the macro cell to at least one of the terminal locations on the third edge of the macro cell.
16. A method of establishing signal paths between macro cells, each said macro cell having a surface in the shape of a polygon having first, second, third and fourth edges, wherein said first edge is opposed to said third edge and said second edge is opposed to said fourth edge; said method comprising:
- placing n terminals at terminal locations on the first edge of a first macro cell, where said first edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge, and wherein n is an integer;
- placing n terminals at terminal locations on the third edge of the first macro cell, where said third edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge; and wherein said edge terminals on the third edge are adapted to contact edge terminals on the first edge of a second macro cell whenever the edge terminals on the first edge of the second macro cell are physically aligned with and connected to the edge terminals on the third edge of the first macro cell;
- routing the internal signal paths between the edge terminals on the first edge of the first macro cell and the edge terminals on the third edge of the first macro cell so that an internal signal path is established between the edge terminal at location 1 on the first edge and the edge terminal at location n on the third edge; and for each integer k, 1<k≦n, an internal signal path is established between the edge terminal at location k on the first edge and the edge terminal at location k−1 on the third edge; and
- placing the second macro cell in contact with the first macro cell such that at least one of the edge terminals on the first edge of the second macro cell are physically aligned with and connected to at least one of the edge terminals on the third edge of the first macro cell.
17. The method of claim 16 wherein the terminal locations on the third edge of the first macro cell establish a connection with the terminal locations on the first edge of the second macro cell.
18. The method of claim 16 further comprising the step of: supplying input signals to the first macro cell to at least one of the terminal locations on the first edge of the first macro cell.
19. The method of claim 16 further comprising the step of: supplying input signals to the second macro cell to at least one of the terminal locations on the third edge of the second macro cell.
20. The method of claim 16 wherein the said first macro cell and said second macro cell are identical.
21. The method of claim 16 further comprising the step of: reducing occurrences of floating paths when said macro cells are connected.
22. A macro cell that reduces the need for external signal paths when the macro cell is connected by abutment to additional macro cells, said macro cell having a surface in the shape of a polygon having first, second, third and fourth edges, wherein said first edge is opposed to said third edge and said second edge is opposed to said fourth edge; the macro cell comprising:
- a plurality of n terminals placed at terminal locations on the first edge of the macro cell, where said first edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge, and wherein n is an integer;
- a plurality of n terminals placed at terminal locations on the third edge of the macro cell, where said third edge terminal locations are sequentially numbered 1 through n, with 1 being a location nearest the second edge; and wherein said edge terminals on the third edge are adapted to contact terminals of an additional macro cell whenever the terminals of the additional macro cell are physically aligned with and connected to the edge terminals on the third edge of the macro cell; and,
- a plurality of internal signal paths between the plurality of edge terminals on the first edge of the macro cell and the plurality of edge terminals of the third edge of the macro cell so that an internal signal path is established between the edge terminal location at location 1 on the first edge and the edge terminal location at location non the third edge, and for each integer k, 1<k≦n, an internal signal path is established between the edge terminal of the macro cell at terminal location k on the first edge and the edge terminal at terminal location k−1 on the third edge.
23. The macro cell of claim 22 wherein the first edge terminals on the macro cell are configured to receive input signals to the macro cell.
24. The macro cell of claim 22 wherein the third edge terminals on the macro cell are configured to receive input signals to the macro cell.
Type: Grant
Filed: Jun 29, 2004
Date of Patent: Mar 18, 2008
Patent Publication Number: 20050289496
Assignee: Agere Systems Inc. (Allentown, PA)
Inventors: Jung Cho (Allentown, PA), Robert M. Kylor (Easton, PA), Vladimir Sindalovsky (Perkasie, PA), Lane A. Smith (Easton, PA)
Primary Examiner: Leigh M. Garbowski
Application Number: 10/880,216
International Classification: G06F 17/50 (20060101);