System and method for reducing the size of RC circuits
A method of transforming a first topology to a reduced topology is disclosed. One preferred embodiment of the present invention includes a method of transforming a circuit from a first topology to a reduced topology, said first topology comprising a plurality of inter-connected circuit elements. The method comprises the steps of: (a) identifying one or more circuit elements; (b) analyzing the effect of reducing one or more of said identified circuit elements on the topological and physical characteristics of said circuit; and (c) if the effect satisfies a first standard, generating a second topology reflecting the reduction of one or more identified circuit elements.
Latest Cadence Design Systems, Inc. Patents:
- Control algorithm generator for non-volatile memory module
- System and method for poison information propagation in a storage device
- Managing multiple cache memory circuit operations
- Test-point flop sharing with improved testability in a circuit design
- System and method for intelligent intent recognition based electronic design
This invention relates in general to circuit analysis and in particular to a system and method for transforming a circuit from its original topology to a reduced topology.
BACKGROUND OF INVENTIONModern circuit simulations or verifications often encounter circuit models having a large number of inter-connected circuit elements. For example, during the final timing verification of Integrated circuits (IC), the number of parasitic resistors and capacitors in the circuit model may reach or exceed 107. In order to improve the efficiency of circuit analysis, a variety of RC reduction technologies have been developed during the last decade.
The dominant trend in RC reduction has been towards transforming the original RC circuit network into a mathematical macro-model so that certain mathematical techniques can be utilized to generate a reduced mathematical circuit model. (See Rohrer et. al., “Asymptotic Waveform Evaluation for Timing Analysis”, IEEE Trans. Computer Aided Design, vol. 9, pp. 352–66, 1990.) Such transformations also preserve the electrical properties of each input and output port. A disadvantage of these transformations, however, is that the reduced circuit model is not realizable. In other words, the reduced mathematical circuit model contains higher order elements that can not be realized as RC circuits. A drawback associated with this unrealizability is that the resulting mathematical models may presume special, often non-standard simulator capabilities.
Liao et al. in “Partitioning and Reduction of RC Interconnect Networks Based on Scattering Parameter Macromodels”, ICCAD 1995, pp. 704–09 (hereinafter “Liao”) presented a realizable reduction scheme in which the original circuit model was partitioned into several sub-circuits. Each sub-circuit was then synthesized to produce a reduced sub-network that approximates the original sub-circuit. A weakness of the approach in Liao is that the reduction scheme may not be effective for circuits containing certain types of circuit topologies, such as coupling capacitors or an unbalanced tree in a memory block. Moreover, there is no guarantee that errors resulted from the approximations are controlled to a minimized or negligible level so that certain properties of the original circuit are preserved.
Sheehan in “TICER: Realizable Reduction of Extracted RC Circuits”, ICCAD 1999 (hereinafter “TICER”) proposed a method of achieving realizable reduction of RC circuit with certain controlled accuracy in the neighborhood of an eliminated node. Details of Sheehan's method can be found in TICER, the content of which is incorporated hereby in its entirety as reference. Sheehan's method is based on node elimination. According to Sheehan, a node can be a quick, slow, or normal node depending on its time constant. The time constant of a node N is the total capacitance (χN) from the node to other nodes and to ground divided by the sum of conductance (γN) from the node to other nodes and to ground. Each node of a circuit is classified as a quick, slow, or normal node according to whether its time constant is less than, greater than, or between the minimum and maximum time constants defining the frequency range of interest. Sheehan concluded that quick nodes can be eliminated from the circuit network without significantly altering its behavior (such as delay characteristics or more specifically the Elmore delay) in the frequency range of interest.
Sheehan then presented a time constant equilibration reduction (TICER) algorithm that reduces an RC circuit by successively finding quick nodes in the circuit and then eliminating them by the following procedures. To eliminate a quick node N, first remove all resistors and capacitors connecting other nodes to node N. Then insert new resistors and capacitors between former neighbors of node N according to the following two rules. If node i and node j had been connected to node N through conductance giN and gjN, insert a conductance giNgjN/γN between nodes i and j. If node i had a capacitor CiN connected to node N and node j had a conductance gjN connected to node N, insert a capacitor CiNgjN/γN between nodes i and j. A drawback of the TICER algorithm is that it only focuses on controlling the accuracy of circuit simulation and ignores the topological impact of node eliminations. This is because although TICER reduces the number of nodes, it may increase the number of resistors or capacitors between nodes neighboring the eliminated nodes. The increased number of resistors or capacitors could further complicate the entanglement between the remaining nodes. To further illustrate TICER's drawback, consider an example shown in
There is therefore a need to provide a method of producing a reduced topology that takes into account both the physical and topological characteristics of the circuit network. There is also a need to provide a system that implements the above method.
SUMMARY OF INVENTIONThe present invention includes a method of transforming a first topology to a reduced topology, said first topology representing an abstraction of one or more objects, said first topology further comprising a plurality of inter-connected elements. The method comprises the steps of: (a) identifying one or more elements for reduction; (b) analyzing the effect of reducing one or more of said identified elements on the topological and physical characteristics of said one or more objects, and (c) if the effect is negligible, generating a second topology reflecting the reduction of one or more identified elements.
The present invention also includes a method of transforming a circuit from a first topology to a reduced topology, said first topology comprising a plurality of inter-connected circuit elements. The method comprises the steps of: (a) identifying one or more circuit elements; (b) analyzing the effect of reducing one or more of said identified circuit elements on the topological and physical characteristics of said circuit; and (c) if the effect satisfies a first standard, generating a second topology reflecting the reduction of one or more identified circuit elements. Steps (a)–(c) of the above methods may be recursively executed until no further reduction is possible.
The present invention further includes a system for transforming a first topology to a reduced topology, said first topology representing an abstraction of one or more objects, said first topology further comprising a plurality of inter-connected elements. The system comprises one or more software objects configured to (a) identify one or more elements; (b) analyze the effect of reducing one or more of said identified elements on the topological and physical characteristics of said one or more objects, or (c) generate a second topology reflecting the reduction of one or more identified elements, if the effect is negligible. Such system may further comprise one or more software objects configured to recursively executing (a), (b) and (c) until no further reduction is possible.
The present invention further includes a method of reducing coupling capacitors within a circuit topology. The method comprises the steps of: identifying one or more C-blocks; producing a first regional topology approximating the effect of eliminating one or more of said C-blocks; estimating the coupling effects of one or more crossly-coupled nodes in the first regional topology; and generating a second regional topology replacing the cross-coupling of one or more crossly-coupled nodes with their corresponding estimated coupling effects.
The present invention further includes a method of transforming a circuit from a first topology to a reduced topology, said first topology comprising a plurality of inter-connected circuit elements. The method comprises the steps of: generating a tree-like topological approximation of at least one partition of the first topology; identifying one or more circuit elements for reduction from the tree-like topological approximation; and reducing one or more of said circuit elements in a bottom-up fashion from the leaf nodes to the root of the tree-like topological approximation.
One embodiment of the present invention comprises a method of transforming a first topology to a reduced topology. The first topology may represent an abstraction of one or more objects. The one or more objects can be circuits or any other objects. The first topology may further comprise a plurality of inter-connected elements. These inter-connected elements can be circuit elements, such as nodes, capacitors, transistors, or any other elements. The reduced topology may be obtained by eliminating elements or making approximations.
A flow chart of one method of the present invention is shown in
In step 220, the effect of reducing one or more of said identified elements is analyzed based on the topological and physical characteristics of said identified elements. The physical characteristics may include delay characteristics for circuit elements, or other characteristics for other objects. The topological characteristics may include connectivity of elements, topological complexity, or other characteristics.
In step 230, the method determines if the effect is negligible. The standard for determining the negligibility of the physical and topological effect may include any user-defined standard. For circuit networks, changes in physical effects, such as delay characteristics like Elmore delays are considered to be negligible if they are less than a certain percentage of the total delay. The topological effect may be determined by analyzing the complexity of topological approximations or equivalent topologies reflecting the reduction of one or more identified elements. For circuit networks, the topological effect may be considered to be negligible if it does not increase the complexity of the circuit topology. If the effect is determined to be negligible in step 230, the method proceeds to step 240.
In step 240, the method generates a second topology reflecting the reduction of one or more of the identified elements if it is determined that the effect is negligible. The second topology may be a reduced topology, or it may be a topology that facilitates further reduction. For example, a reduced topology may be generated by merging symmetric nodes. In one embodiment, steps 210–240 are executed recursively until no further reduction is possible. In another embodiment, the method may be executed again with more relaxed negligibility standards.
In one embodiment, step 210 comprises the step of producing a minimum spanning tree (MST) of the first topology, if the first topology is not a tree. The MST can be generated using any standard MST algorithm. In one embodiment, the MST is generated using the Prim's algorithm. A complete description of the Prim's algorithm and other MST algorithms can be found in M. A. Weiss, “Data Structures and Algorithm Analysis in C”, 2nd edition, Addison-Wesley 1997, the contents of which are incorporated hereby in its entirety as reference.
For circuit networks, one or more input ports or drivers may be selected as the root nodes of the MST, or the first topology if it is a tree. In one embodiment, the MST or the first topology may be further divided into subtrees based on the root nodes. Some further approximations may be performed on the circuit topology before or after generating the MST. For example, several circuit elements may be merged into a macro-node in order to simplify the analysis. In one embodiment, a macro-node is a maximal subcircuit with either a tree or a mesh structure. Furthermore, macro-nodes may be formed in such a way that they are connected in a tree manner. In another embodiment, the circuit network is first partitioned into one or more sub-nets. These one or more sub-nets may include one or more “DC nets”. A DC net is a sub-net that is connected via capacitors to other neighboring sub-nets. More specifically, the following conditions may be used to identify a DC net. First, the DC net may include a node N, if there is at least one path of resistors from a root node to node N. The root node may be any node in the DC net. In one embodiment, a driver in the DC net is selected as a root node. Secondly, if a node N satisfies the first condition, then all ground capacitors connected to node N, as well as all resistors on any path from the root node to node N, are also included in the DC net.
In another embodiment of the present invention, small-valued circuit elements are reduced from the circuit topology. For example, a resistor may be considered to be small-valued if its resistance is less than a threshold, such as 0.001 Ω, 0.01 Ω, or 0.1 Ω. A capacitor may be considered to be small-valued if its capacitance is less than 0.1 fF, 1 fF, or 10 fF. Eliminating small-valued circuit elements is relatively safe because most of the time it only negligibly affects the physical characteristics of the circuit. But, care must be taken in the elimination process to avoid further complicating the circuit topology.
A flow chart of one embodiment of the method of reducing small-valued circuit elements from the circuit topology is shown in
Yet another embodiment of the present invention comprises methods of reducing circuit elements, such as capacitors, that have coupling effects. Such coupling capacitors often exists between two series of resistors. Reducing these coupling capacitors can greatly simplify the circuit topology because it enables the series of resistors to be combined, thereby achieving further circuit reduction.
The prior art TICER algorithm cannot eliminate a coupling capacitor without further complicating the circuit topology. As an example, consider the circuit fragment shown in
One embodiment of the present invention comprises a method of reducing the coupling effect of a circuit without creating any cross-coupling circuit elements. A flow chart of one embodiment of this method is shown in
In another embodiment of the present invention clusters of circuit elements are reduced from the circuit topology. A cluster typically comprises a series of resistors along with their end nodes and their surrounding circuit elements. Each of the surrounding circuit elements may connect between one node within the series of resistors and another node not within the series of resistors.
A flow chart of one embodiment of the method of reducing clusters is shown in
The above method is further illustrated using FIG. 7A's circuit. In FIG. 7A's cluster, a center node Nc is first determined. After Nc is determined, the connection of capacitors C1–C4 and resistors R1–R7 are moved to Nc as shown in
Yet another embodiment of the present invention comprises methods for node reduction within a circuit topology.
In another embodiment of node reduction methods, one or more candidate nodes are first identified. These candidate nodes are likely to be quick nodes according to TICER and may therefore be safely eliminated without affecting the delay characteristics of the circuit network. However, care must be taken in applying TICER's node elimination rules to avoid further complicating the circuit topology. The following rules may be applied to ensure a reduced topology after eliminating one or more candidate nodes. The general rule is that one or more candidate nodes can be eliminated only if eliminating them produces a less number of circuit elements connected between their neighboring nodes.
Besides the general rule, several more specific rules may also be applied to facilitate the node elimination. First, a quick node Nc can be eliminated if its degree of connectivity is equal to two, i.e. there are only two resistors (and therefore only two neighboring nodes) connected to Nc. Applying TICER's rules, eliminating Nc only produces an equivalent resistor connected between the two nodes neighboring Nc. These quick nodes may be eliminated at the beginning of the reduction process so that small resistors connected to these nodes are first merged instead of being shorted.
As a second rule, a candidate node whose degree of connectivity is equal to one may be eliminated (by, for example, shorting the resistor connected to the candidate node) only if the topology after the elimination does not contain a voltage divider structure comprising two capacitors connected in series. The reason behind this rule is that voltage divider structure may significantly alter the delay characteristics of the neighboring node. To further illustrate this point, consider the exemplary circuit fragment shown in
The third rule of node reduction comprises the step of identifying a regional topology comprising two nodes N1 and N2 connected to a common node Na, wherein N1 is connected to Na through resistance R1, N2 is connected to Na through resistance R2, N1 and N2 further having capacitors C1 and C2, respectively, connected to either the ground or another common node. Moreover, there may not be other resistor connections to N1 or N2. Furthermore, there may not be additional capacitor connections to N1 or N2 either. An example of such a regional topology is depicted in
The fourth rule of node reduction comprises the steps of identifying one or more symmetric nodes from a circuit topology comprising a single input tree structure and merging said one or more symmetric nodes if the effect of merging these nodes on the physical characteristics is negligible. The reason behind this rule is that symmetric nodes are likely to exhibit similar behavior. These nodes can therefore be merged without significantly affecting the delay characteristics of the original circuit network. The symmetric nodes can be identified and merged using any applicable algorithms. In one embodiment, the symmetric nodes are identified in a top-down fashion from the first tier to the last tier of the tree.
The fifth rule of node reduction comprises the steps of identifying two nodes P1 and P2 satisfying the following conditions: (i) they are receiver ports with capacitor loads C1 and C2, respectively, (ii) they are connected to a common node A via resistances R1 and R2, respectively, and (iii) both R1*C1 and R2*C2 are small; and merging nodes P1 and P2.
The present invention further comprises methods of reducing capacitors connected between nodes. In one embodiment, a capacitor C connected between nodes A and B are eliminated if it is connected in parallel with a resistor R and the value of ωmax*C(ωmax equals 2π times the maximum operating frequency of the circuit) is far less then the value of R. In another embodiment, if a transistor drain or source node A is connected to a node B via a small resistor and node A and node B are coupled to node X via capacitors C1 and C2, respectively, then capacitor C1 is moved from between nodes A and X to between nodes B and X and capacitors C1, C2 are then merged into one capacitor.
Another embodiment of the present invention comprises a computer system including computer software program(s) that implement the above-described methods. The computer system may include a central processing unit (CPU) or other data processing means (e.g., plural processors), and a system memory for storing executable instructions and accessible data for the CPU or other processors. The system memory may take the form of DRAM (dynamic random access memory) and cache SRAM (static random access memory). Other forms of such memory may also be used. A system bus may be used to operatively interconnect the CPU and the system memory.
The computer system may further include non-volatile mass storage means such as a magnetic hard disk drive, a floppy drive, a CD-ROM drive, a re-writeable optical drive, or the like that is operatively coupled to the system bus for transferring instructions and/or data. Instructions for execution by the CPU (or other processors) may be introduced into the computer system by way of computer-readable media such as a floppy diskette or a CD-ROM optical platter or other devices.
The computer system may further include input/output (I/O) means to interface the system bus with peripheral devices such as display, keyboard and mouse. The I/O means may interface to a communications network such as an Ethernet network, a SCSI network, a telephone network, a cable system, or the like. Instructions for execution by the CPU and/or data structures for use by the CPU may be introduced into the computer system by way of data signals transferred over the communications network. The communication network may therefore define a means for coupling to, and causing the computer system to perform operations.
The system memory may hold executing portions of an operating system (OS), such as Windows™ or Unix, and of any executing parts of one or more application programs. The application programs generally communicate with the operating system by way of an API (application program interface). The one or more application programs may include software program(s) adapted to execute one or more methods described in
In one embodiment, the software program(s) may comprise (a) software code to identify one or more elements for reduction; (b) software code to analyze the effect of reducing one or more of said identified elements based on the topological and physical characteristics of said identified elements, and (c) software code to generate a second topology reflecting the reduction of one or more of said identified elements, if the effect is negligible. The second topology can be a reduced topology, or a topology that facilitates further reduction. In another embodiment, the software program(s) may further comprise software code to recursively executing (a), (b) and (c) until no further reduction is possible.
The first topology may include graphical representation of one or more circuits. The plurality of inter-connected elements in the first topology may thus comprise a plurality of circuit elements. In one embodiment, the software program(s) further comprises software code to analyze the physical characteristics of the circuits. The physical characteristics may include the variation of one or more delay measurements, such as Elmore delays resulting from the transformation.
The above embodiments of the software program(s) can be implemented either separately or together in one or more software packages. Simulations have shown that for large circuit networks having more than 100 nodes, implementing one or more embodiments of the present invention can result in over 90% reduction of nodes and other circuit elements.
While the above invention has been described with reference to certain preferred embodiments, the scope of the present invention is not limited to these embodiments. One skilled in the art may find variations of these embodiments which, nevertheless, fall within the spirit of the present invention, whose scope is defined by the claims set forth below.
Claims
1. A method of transforming a first topology to a reduced topology, said first topology representing an abstraction of one or more objects, said first topology further comprising a plurality of inter-connected elements, said method comprising:
- identifying one or more elements, wherein the identifying comprises generating a minimum spanning tree (MST) of the first topology and identifying one or more small-valued circuit elements in the MST;
- analyzing an effect of reducing one or more of said identified elements on topological and physical characteristics of said one or more objects, wherein the analyzing comprises analyzing a variation of one or more delay measurements after eliminating one or more of said small-valued circuit elements;
- generating a second topology reflecting a reduction of one or more identified elements in response to the effect of reducing one or more of said identified elements has negligible effect on the topological and physical characteristics of said one or more objects, wherein the reducing one or more said identified elements comprises eliminating one or more of said small-valued circuit elements in the MST.
2. The method of claim 1, further comprising
- (d) recursively executing the identifying, the analyzing, and the generating processes until no further reduction is possible.
3. The method of claim 2, wherein the second topology is a reduced topology.
4. The method of claim 1, wherein the identifying further comprises
- identifying one or more symmetric nodes from a single input tree structure.
5. The method of claim 4, wherein the identifying further comprises:
- identifying one or more symmetric nodes in a top-down fashion from the single input tree structure.
6. A method of transforming a circuit from a first topology to a reduced topology, said first topology comprising a plurality of inter-connected circuit elements, said method comprising:
- identifying one or more circuit elements having coupling effects;
- analyzing an effect of reducing one or more of said identified circuit elements on topological and physical characteristics of said circuit, wherein the analyzing comprises producing a first regional topology approximating an effect of eliminating one or more circuit elements having coupling effect; identifying one or more crossly-coupled nodes within the first regional topology; estimating coupling effects of each said one or more crossly-coupled nodes; and
- generating a second topology reflecting a reduction of one or more identified circuit elements in response to the effect of reducing one or more of said identified circuit elements on the topological and physical characteristics of said circuit satisfies the first predefined standard, wherein the generating includes replacing cross-coupling of each crossly-coupled node with its estimated coupling effects.
7. The method of claim 6, further comprising
- (d) recursively executing the identifying, the analyzing, and the generating processes until no further reduction is possible.
8. The method of claim 7, further comprising
- replacing the first predefined standard with a second predefined standard; and
- repeating the identifying, the analyzing, the generating, and the replacing processes for the reduced topology using the second predefined standard.
9. The method of claim 8, wherein the second predefined standard is a more relaxed standard than the first predefined standard.
10. The method of claim 6, wherein the identifying further comprises producing a topological approximation of the first topology.
11. The method of claim 10, wherein the topological approximation is a minimum spanning tree (MST).
12. The method of claim 11, wherein the identifying further comprises identifying one or more circuit elements from the MST, the value of each said one or more circuit elements is less than a threshold value.
13. The method of claim 12, wherein the generating further comprises eliminating the one or more circuit elements whose value is less than a threshold value.
14. The method of claim 10, wherein the identifying further comprises
- identifying one or more symmetric nodes.
15. The method of claim 14, wherein the generating further comprises
- merging said one or more symmetric nodes.
16. The method of claim 11, wherein the analyzing further comprises analyzing a variation of one or more delay measurements.
17. The method of claim 16, wherein the one or more delay measurements comprise Elmore delays.
18. The method of claim 6, wherein the identifying further comprises identifying one or more clusters of circuit elements.
19. The method of claim 18, wherein the analyzing further comprises
- determining one or more center nodes for one or more clusters; and
- analyzing an effect of moving the connection of one or more circuit elements connected to one or more nodes within one or more said clusters to one or more said center nodes.
20. The method of claim 19, wherein the one or more circuit elements connected to one or more nodes within one or more said clusters comprise one or more coupling capacitors.
21. The method of claim 6, wherein the identifying further comprises
- identifying one or more circuit elements having similar input-output characteristics.
22. The method of claim 21, wherein the generating further comprises
- merging one or more of said circuit elements having similar input-output characteristics into one equivalent circuit element.
23. The method of claim 6, wherein the identifying further comprises
- identifying one or more candidate nodes including one or more quick nodes,
- wherein said one or more candidates do not include any node having a capacitor directly connected to an input node.
24. The method of claim 23, wherein the generating further comprises
- eliminating one or more candidate nodes only if its degree of connectivity is equal to two.
25. The method of claim 23, wherein the analyzing further comprises:
- producing a regional topology approximating an effect of eliminating one or more of said candidate nodes; and,
- determining, based on the regional topology, a difference in a number of circuit elements connected between two or more neighboring nodes of one or more of said candidate nodes, before and after eliminating one or more of said candidate nodes.
26. The method of claim 25, wherein the generating further comprises
- eliminating one or more of said candidate nodes, if the regional topology produces less number of circuit elements connected between two or more neighboring nodes of one or more of said candidate nodes.
27. The method of claim 23, wherein the analyzing further comprises
- determining if the topology after eliminating one or more of said candidate nodes contains a voltage divider structure.
28. The method of claim 27, wherein the generating further comprises
- eliminating said one or more candidate nodes if the topology after eliminating one or more of said candidate nodes does not contain a voltage divider structure.
29. The method of claim 27, wherein the voltage divider structure comprises two or more capacitors connected in series.
30. The method of claim 6, wherein the identifying further comprises
- identifying a regional topology comprising two nodes N1 and N2 connected to a common node Na, wherein N1 is connected to Na through resistance R1, N2 is connected to Na through resistance R2, N1 and N2 further having capacitance C1 and C2, respectively, connected to either the ground or another common node, and wherein there is no other resistor connection to N1 or N2.
31. The method of claim 30, wherein the generating further comprises
- merging N1 and N2, if (i) the value of R1*C1 is approximately equal to the value of R2*C2, and (ii) if N1 and N2 are connected to additional common nodes Nb1, Nb2,...,Nbn via capacitors Cc11, Cc12,... Ccln and Cc21, Cc22,... Cc2n, respectively, the value of R1*Cc1i is approximately equal to the value of R2*Cc2i, for i=1... n.
32. The method of claim 6, wherein the plurality of circuit elements comprise resistors and capacitors.
33. The method of claim 6, wherein the one or more circuit elements having coupling effect comprise one or more coupling capacitors.
34. A programmed computer system for transforming a first topology to a reduced topology, said first topology representing an abstraction of one or more objects, said first topology further comprising a plurality of inter-connected elements, said programmed computer system comprising at least one memory having at least one region storing computer executable program code and at least one processor for executing the program code stored in said memory, wherein the program code comprises:
- code to identify one or more elements, wherein the code to identify includes code to identify one or more clusters of circuit elements and code to determine one or more center nodes for one or more clusters;
- code to analyze an effect of reducing one or more of said identified elements on topological and physical characteristics of said one or more objects, wherein the code to analyze includes code to analyze effect of moving a connection of the one or more circuit elements connected to one or more nodes within the one or more clusters to the one or more center nodes; and
- code to generate a second topology reflecting a reduction of one or more identified elements in response to reducing one or more of said identified elements has negligible effect on the topological and physical characteristics of said one or more objects, wherein the code to generate the second topology includes code to move the connection of the one or more circuit elements within the one or more clusters to the one or more center nodes.
35. The system of claim 34, wherein the program code further comprises code to recursively executing the code to identify, the code to analyze, and the code to generate until no further reduction is possible.
36. The system of claim 35, wherein the second topology is a reduced topology.
37. The system of claim 34, wherein the program code further comprises code to produce a topological approximation of the first topology.
38. The system of claim 37, wherein the topological approximation is a minimum spanning tree (MST).
39. The system of claim 38, wherein the program code further comprises code to identify one or more symmetric nodes.
40. The system of claim 39, wherein the program code further comprises code to identify one or more elements of small-value from the MST.
41. The system of claim 34, wherein the plurality of inter-connected elements comprise a plurality of circuit elements.
42. The system of claim 41, wherein the program code further comprises code to analyze a variation of one or more delay measurements.
43. The system of claim 41, wherein the program code further comprises code to identify one or more circuit elements having coupling effect.
44. The system of claim 43, wherein the program code further comprises:
- code to produce a first regional topology approximating an effect of eliminating one or more circuit elements having coupling effect;
- code to identify one or more crossly-coupled nodes within the first regional topology;
- code to estimate coupling effects of each said one or more crossly-coupled nodes; and
- code to generate a second regional topology replacing cross-coupling of each crossly-coupled node with its estimated coupling effects.
45. The system of claim 41, wherein the program code further comprises code to identify one or more circuit elements having similar input-output characteristics.
46. The system of claim 45, wherein the program code further comprises code to merge one or more of said circuit elements having similar input-output characteristics into one equivalent circuit element.
47. The system of claim 41, wherein the program code further comprises code to identify one or more candidate nodes including one or more quick nodes,
- wherein said one or more candidates do not include any node having a capacitor directly connected to an input node.
48. The system of claim 47, wherein the program code further comprises code to eliminate one or more candidate nodes only if its degree of connectivity is equal to two.
49. The system of claim 47, wherein the program code further comprises:
- code to produce a regional topology approximating an effect of eliminating one or more of said candidate nodes; and,
- code to determine, based on the regional topology, a difference in a number of circuit elements connected between two or more neighboring nodes of one or more of said candidate nodes, before and after eliminating one or more of said candidate nodes.
50. The system of claim 49, wherein the program code further comprises code to eliminate one or more of said candidate nodes, if the regional topology produces less number of circuit elements connected between two or more neighboring nodes of one or more of said candidate nodes.
51. The system of claim 47, wherein the program code further comprises code to determine if the topology after eliminating one or more of said candidate nodes contains a voltage divider structure.
52. The system of claim 51, wherein the program code further comprises code to eliminate said one or more candidate nodes if the topology after eliminating one or more of said candidate nodes does not contain a voltage divider structure.
53. The system of claim 41, wherein the program code further comprises code to identify a regional topology comprising two nodes N1 and N2 connected to two common nodes Na and Nb, wherein N1 is connected to Na through capacitance Cc1 and to Nb through resistance R1, N2 is connected to Na through capacitance Cc2 and to Nb through resistance R2, N1 and N2 further having ground capacitance C1 and C2, respectively.
54. The system of claim 53, wherein the program code further comprises code to merge N1 and N2, if the value of R1*C1 is approximately equal to the value of R2*C2 and the value of R1*Cc1 is approximately equal to the value of R2*Cc2.
55. Computer executable software code stored on a computer readable medium for transforming a first topology to a reduced topology, said first topology representing an abstraction of one or more objects, said first topology further comprising a plurality of inter-connected elements, said software code comprises:
- code to identify one or more elements having similar input-output characteristics;
- code to analyze an effect of reducing one or more of said identified elements on topological and physical characteristics of said one or more objects, and
- code to generate a second topology reflecting a reduction of one or more identified elements in response to reducing one or more of said identified elements has negligible effect on the topological and physical characteristics of said one or more objects, wherein the code to generate includes code to merge one or more of said circuit elements having similar input-output characteristics into one equivalent circuit element.
5689685 | November 18, 1997 | Feldmann et al. |
5818729 | October 6, 1998 | Wang et al. |
5901063 | May 4, 1999 | Chang et al. |
6188974 | February 13, 2001 | Cullum et al. |
6286126 | September 4, 2001 | Raghavan et al. |
6327542 | December 4, 2001 | McBride |
6349272 | February 19, 2002 | Phillips |
6353917 | March 5, 2002 | Muddu et al. |
6510542 | January 21, 2003 | Kojima |
6581197 | June 17, 2003 | Foutz et al. |
6601223 | July 29, 2003 | Puri et al. |
6604227 | August 5, 2003 | Foltin et al. |
6609233 | August 19, 2003 | Foltin et al. |
6662149 | December 9, 2003 | Devgan et al. |
6687658 | February 3, 2004 | Roychowdhury |
6728939 | April 27, 2004 | Johannsen |
6928630 | August 9, 2005 | Moon et al. |
7024652 | April 4, 2006 | McGaughy et al. |
7137097 | November 14, 2006 | Aji et al. |
7149986 | December 12, 2006 | Weber |
20020138812 | September 26, 2002 | Johannsen |
20020147958 | October 10, 2002 | Teig et al. |
20020198696 | December 26, 2002 | Sanchez et al. |
20030115557 | June 19, 2003 | Elzinga |
20030121013 | June 26, 2003 | Moon et al. |
20030125919 | July 3, 2003 | Chikamichi |
20030204821 | October 30, 2003 | Weber |
20040044979 | March 4, 2004 | Aji et al. |
20040049746 | March 11, 2004 | Rao et al. |
20040078767 | April 22, 2004 | Burks et al. |
20040103386 | May 27, 2004 | Becer et al. |
20050021319 | January 27, 2005 | Li et al. |
20060010412 | January 12, 2006 | Teig et al. |
2003218204 | July 2003 | JP |
- Pong et al., “A Parasitics Extraction and Network Reduction Algorithm for Analog VLSI”, IEEE Transactions on Computer-Aided Design, vol. 10, No. 2, Feb. 1991, pp. 145-149.
- Yu et al., “New Efficient and Accurate Moment Matching Based Model For Crosstalk Estimation in Coupled RC Trees”, 2001 International Symposium on Quality Electronic Design, Mar. 26, 2001, pp. 151-157.
- Oten et al., “Topological Dimensionality Determination and Dimensionality Reduction Based on Minimum Spanning Trees”, Proceedings of 1998 IEEE International Symposium on Circuits and Systems, May 31, 1998, vol. 3, pp. 366-369.
- Hui et al., “Enhancing the Efficiency of Reduction of Large RC Networks by Pole Analysis via Congruence Transformations”, Proceedings of the ASP-DAC Asia and South Pacific Design Automation Conference, vol. 1, Jun. 18, 1999, pp. 89-92.
- Harbour et al., “Simple RC Model for Integrated Multiterminal Interconnections”, IEE Proceedings of Circuits, Devices and Systems, vol. 135, No. 1, Feb. 1988, pp. 19-23.
- Zheng et al., “Efficient and Accurate Modeling of Power Supply Noise on Distributed On-Chip Power Networks”, IEEE International Symposium on CIrcuits and Systems, May 28-31, 2000, pp. II-513-516.
- Chen et al., “A Novel Method for Worst-Case Interconnect Delay Estimation”, IEEE Trnasactions on Circuits and Systems—I: Fundamental Theory and Applications, vol. 50, No. 6, Jun. 2003, pp. 778-781.
- Liao et al., “Partitioning and Reduction of RC Interconnect Networks Based on Scattering Parameter Macromodels”, 1995 IEEE/ACM International Conference on Computer-Aided Design, Nov. 5-9, 1995, pp. 704-709.
- Batterywala et al., “Time Domain Method for Reduced Order Network Synthesis of Large RC Circuits”, Proceedings of the 1998 IEEE International Symposium on Circuits and Systems, vol. 6, May 31, 1998, pp. 82-85.
- Hou et al., “Improved Delay Time Estimation of RC Ladder Networks”, IEEE Transactions on CIrcuits and Systems I: Fundamental Theory and Applications, vol. 47, No. 2, Feb. 2000, pp. 242-246.
- Kerns et al., “Stable and Efficient Reduction of Large, Multiport RC Networks by Pole Analysis via Congruence Transformations”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 16, No. 7, Jul. 1997, pp. 734-744.
- Schroter, “Simulation and Modeling of the Low-Frequency Base Resistance of Bipolar Transistors and Its Dependence of Current and Geometry”, IEEE Transactions on Electron Devices, vol. 38, No. 3, Mar. 1991, pp. 538-544.
- Pillage, L. T. et al. (Apr. 1990). “Asymptotic Waveform Evaluation, for Timing Analysis” IEEE Transactions on Computer-Aided Design 9(4):352-366.
- Liao, H.; et al., (1995). “Partitioning and Reduction of RC Interconnect Networks Based on Scattering Parameter Macromodels,” ICCAD '95, IEEE/ACM International Conference on Computer Aided Design, Digest of Technical Papers, Nov. 5-9, 1995, IEEE Computer Society Press, San Jose, California, United States, pp. 704-709.
- Sheehan, B. N. (1999). “TICER: Realizable Reduction of Extracted RC Circuits,” ICCAD '99, IEEE/ACM International Conference on Computer Aided Design, Digest of Technical Papers, Nov. 7-11, 1999, IEEE Computer Society Press, San Jose, California, United States, pp. 200-203.
- Weiss, M. A. (1997). Data Structures and Algorithm Analysis in C, 2nd Edition, Addison-Wesley, Table of Contents only, 9 pages.
Type: Grant
Filed: Nov 24, 2003
Date of Patent: Jul 10, 2007
Assignee: Cadence Design Systems, Inc. (San Jose, CA)
Inventors: Wangguo Qin (Fremont, CA), Bruce W. McGaughy (Fremont, CA), Jun Kong (San Jose, CA), Qingjian Yu (Nanjing)
Primary Examiner: Phallaka Kik
Attorney: Morrison & Foerster LLP
Application Number: 10/721,673
International Classification: G06F 17/50 (20060101);