Method and apparatus for determining the performance of nets of an integrated circuit design on a semiconductor design automation system
First Claim
1. A method of determining the performance of nets of an integrated circuit design comprising:
- providing a semiconductor design automation system;
providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes;
collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and
simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit;
the step of collapsing each net to a simplified equivalent circuit further comprising;
identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node;
collapsing each superbranch of each net to a simplified node;
identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node;
collapsing each generalized superbranch of each net to a simplified node;
identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and
collapsing each superpath of each net to two simplified nodes;
each superbranch node having a ground current associated therewith;
one superbranch node from each superbranch being a superbranch root node, the remaining superbranch node being superbranch child nodes; and
the step of collapsing each superbranch to a simplified node further comprising repeating, for each superbranch of each net, the steps of;
determining an effective superbranch root node ground current for the superbranch by totaling the ground currents of each superbranch node in the superbranch;
eliminating all child nodes of the superbranch; and
assigning the effective superbranch root node ground current to the superbranch root node;
until all superbranches have been operated upon.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique is described which is generally directed to providing better delay determination for "nets" (equivalent circuits of point-to-point wiring) in integrated circuit designs on a semiconductor design automation system by adapting general RC-mesh networks representing those "nets" to efficient nodal matrix circuit solver techniques which are not inherently suited to general RC-mesh circuits. This is accomplished by "collapsing" the general RC-mesh network into an RC-tree equivalent circuit (network) which can be solved (simulated) by such nodal matrix techniques, thus determining node voltages and waveforms for each of the nodes of the simplified network. After solving the simplified network, the simplified network is re-expanded into its original RC-mesh form, determining the node voltages and waveforms at the re-expanded nodes thereof (eliminated during the collapse of the network) by applying simple circuit analysis techniques. Once all of the node waveforms have been re-constructed for all nodes of the original RC-mesh network, they can be compared against critical threshold voltages to determine net delays to each node of the network. Method and apparatus are described.
71 Citations
37 Claims
-
1. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; each superbranch node having a ground current associated therewith; one superbranch node from each superbranch being a superbranch root node, the remaining superbranch node being superbranch child nodes; and the step of collapsing each superbranch to a simplified node further comprising repeating, for each superbranch of each net, the steps of; determining an effective superbranch root node ground current for the superbranch by totaling the ground currents of each superbranch node in the superbranch; eliminating all child nodes of the superbranch; and assigning the effective superbranch root node ground current to the superbranch root node; until all superbranches have been operated upon. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 18)
-
-
13. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; re-expanding the simplified equivalent circuit corresponding to each net to determine a node voltage for each of the first nodes of the net corresponding to the simplified equivalent circuit; the step of re-expanding each simplified equivalent circuit further comprising re-expanding each superpath of each net from the simplified equivalent circuit associated with each such superpath to determine a node voltage waveform for each superpath node of each such superpath; re-expanding each generalized superbranch of each net from the simplified equivalent circuit associated with each such generalized superbranch to determine a node voltage waveform for each generalized superbranch node of each such generalized superbranch; and re-expanding each superbranch of each net from the simplified equivalent circuit associated with each such superbranch to determine a node voltage waveform for each node of each such superpath; each generalized superbranch node having a ground current and a ground resistance associated therewith; one generalized superbranch node of each generalized superbranch being a generalized superbranch root node, the remaining nodes being generalized superbranch child nodes; each generalized superbranch child node connecting to exactly one generalized superbranch parent node via a series resistance between the generalized superbranch child node and the generalized superbranch parent node; each generalized superbranch having one or more generalized superbranch child nodes which are not themselves generalized superbranch parent nodes, but each of which is a generalized superbranch child node connected to a generalized superbranch parent node, and for which an effective ground current associated with the generalized superbranch child node is equal to the ground current associated with the generalized superbranch parent node and for which an effective ground resistance associated with the generalized superbranch child node is equal to the ground resistance associated with the generalized superbranch node; identifying each superbranch leaf node as a net endpoint that connects to only one other node in the net, and each generalized superbranch node which is not a generalized superbranch leaf node as a generalized superbranch parent node connected to one or more generalized superbranch child nodes via one of the series resistances; the step of collapsing each generalized superbranch to a simplified node further comprises; repeating, for each generalized superbranch, the steps of; starting with the generalized superbranch leaf nodes and progressing towards the generalized superbranch root node, for each group "A" of one or more generalized superbranch child nodes "Ai" connecting to a common generalized superbranch parent node "B", repeating the steps of; repeating, for each generalized superbranch child node "Ai" in the group of generalized superbranch child nodes "A", the steps of; computing a contributed effective ground resistance r'"'"'(B,Ai) associated with the generalized superbranch child node Ai according to the equation;
space="preserve" listing-type="equation">r'"'"'(B,Ai)=r'"'"'[Ai]+R(Ai,B)where r'"'"'[Ai] represents the effective ground resistance at the generalized superbranch node Ai, and R(Ai,B) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; computing a contributed effective ground current i'"'"'(B,Ai) from the generalized superbranch child node Ai to the generalized superbranch node B according to the equation;
##EQU43## where i'"'"'[Ai] represents the ground current associated with the generalized superbranch child node Ai, and R(B,Ai) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; andeliminating the child node Ai; until all generalized superbranch child nodes Ai in the group "A" of generalized superbranch child nodes have been eliminated; calculating a total effective ground resistance r'"'"'[B] for the generalized superbranch parent node B, by determining the equivalent resistance value of a parallel combination of the ground resistance at generalized superbranch parent node B and each of the contributed effective ground resistances r'"'"'(B,Ai) from the generalized superbranch child nodes Ai connected via one of the series resistances to the generalized superbranch parent node B; and calculating a total effective ground current i'"'"'[B] for the generalized superbranch parent node B by totaling the ground current i[B] for generalized superbranch parent node B and all of the contributed effective ground currents i'"'"'(B,Ai) from each of the generalized superbranch child nodes Ai connected via one of the series resistances to generalized superbranch parent node B; until all groups "A" have been operated upon; until all generalized superbranches have been operated upon; and designating the generalized superbranch root node of each generalized superbranch as a simplified node; and the step of re-expanding each generalized superbranch further comprises; repeating, for each generalized superbranch "C", the step of; repeating, for each generalized superbranch parent node "B" of the generalized superbranch C, starting with the generalized superbranch root node and working outward, the step of; repeating, for each eliminated generalized superbranch child node "Ai" connected to the generalized superbranch parent node "B" prior to its elimination, the steps of; re-connecting the eliminated generalized superbranch child node Ai to the generalized superbranch parent node B; and calculating a node voltage for the generalized superbranch child node Ai, according to the formula;
##EQU44## where r'"'"'[Ai] is the effective ground resistance at node Ai, i'"'"'[Ai] is the effective ground current at node Ai, and R(B,Ai) is the series resistance between node B and Ai;until all generalized superbranch child nodes Ai have been reconnected to the generalized superbranch node B; until all generalized superbranch parent nodes of the generalized superbranch C have been operated upon; until all generalized superbranches C have been operated upon. - View Dependent Claims (14)
-
-
15. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; re-expanding the simplified equivalent circuit corresponding to each net to determine a node voltage for each of the first nodes of the net corresponding to the simplified equivalent circuit; the step of re-expanding each simplified equivalent circuit further comprising; re-expanding each superpath of each net from the simplified equivalent circuit associated with each such superpath to determine a node voltage waveform for each superpath node of each such superpath; re-expanding each generalized superbranch of each net from the simplified equivalent circuit associated with each such generalized superbranch to determine a node voltage waveform for each generalized superbranch node of each such generalized superbranch; and re-expanding each superbranch of each net from the simplified equivalent circuit associated with each such superbranch to determine a node voltage waveform for each node of each such superpath; each superpath node has a ground current associated therewith; two of the superpath nodes of each superpath are endpoint nodes one of which is a starting node and another of which is an ending node, the remaining superpath nodes of each superpath being intermediate nodes and being arranged in a serially connected fashion between the starting node and the ending node such that each intermediate node is connected to each of two neighboring intermediate nodes via a series resistance, and such that each intermediate node of a superpath has a next intermediate node next in serial sequence towards the ending node; an effective series resistance between the starting node and a first intermediate node neighboring the starting node is equal to the series resistance between the starting node and the first intermediate node; an effective ground current at the first intermediate node neighboring the starting node is equal to the ground current associated with the first intermediate node; the step of collapsing each superpath to two simplified nodes further comprises; repeating, for each superpath, the steps of; setting an effective ground current for the starting node equal to the ground current associated with the starting node; repeating, for each intermediate node "A" along the superpath having a next superpath node "B" nearer the ending node, starting with the intermediate node nearest the starting node "S", progressing one node at a time towards the ending node "E", the steps of; eliminating the intermediate node A from the superpath; calculating and inserting an effective series resistance from the starting node S to the next superpath node B according to;
space="preserve" listing-type="equation">R'"'"'(S,B)=R'"'"'(S,A)+R(B,A)where R'"'"'(S,A) is the effective series between the starting node S and the intermediate node A, and R(B,A) is the resistance between the intermediate nodes A and the next superpath node B; calculating an effective ground current at the next superpath node B resulting from the effective ground current associated with intermediate node A according to the equation;
##EQU45## where i'"'"'[A] is the effective ground current at the intermediate node A, and i[B] is the ground current associated with the next superpath node B; andcalculating an effective ground current at the starting node S resulting from an effective ground current at the intermediate node A according to the equation;
##EQU46## where i'"'"'[S] is the effective ground current at the starting node, and i'"'"'[S] is updated each time it is calculated;until all intermediate nodes A have been eliminated; and designating the starting node S and the ending node E as simplified nodes; until all superpaths have been operated upon; and the step of re-expanding each superpath further comprising; repeating, for each superpath "C", the step of; repeating, for each next superpath node "B" of the superpath C connected to an eliminated intermediate node "A" prior to the elimination of intermediate node A, starting at the ending node and working towards the starting node "S", the steps of; re-inserting the eliminated intermediate node A into the superpath C between the starting node S and the next superpath node B; and calculating a node voltage for the intermediate node A according to the formula;
##EQU47## where i'"'"'[A] is the effective ground current associated with the intermediate node A, R'"'"'(S,A) is the effective series resistance between the intermediate node A and the starting node S of the superpath C, R'"'"'(S,B) is the effective series resistance between the next superpath node B and the starting node S of the superpath C, R(A,B) is the series resistance between the intermediate node A and the next superpath node B, v(B) is the node voltage at the next superpath node B, and R(B) is the ground resistance at the next superpath node B;until all intermediate nodes of the superpath C are re-inserted; until all superpaths C have been operated upon. - View Dependent Claims (16)
-
-
17. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; re-expanding the simplified equivalent circuit corresponding to each net to determine a node voltage for each of the first nodes of the net corresponding to the simplified equivalent circuit; the step of re-expanding each simplified equivalent circuit further comprising; re-expanding each superpath of each net from the simplified equivalent circuit associated with each such superpath to determine a node voltage waveform for each superpath node of each such superpath; re-expanding each generalized superbranch of each net from the simplified equivalent circuit associated with each such generalized superbranch to determine a node voltage waveform for each generalized superbranch node of each such generalized superbranch; and re-expanding each superbranch of each net from the simplified equivalent circuit associated with each such superbranch to determine a node voltage waveform for each node of each such superpath; each superbranch node has a ground current associated therewith; one superbranch node from each superbranch is a superbranch root node, the remaining superbranch node being superbranch child nodes; each generalized superbranch node has a ground current and a ground resistance associated therewith; one generalized superbranch node of each generalized superbranch is a generalized superbranch root node, the remaining nodes being generalized superbranch child nodes; each generalized superbranch child node connects to exactly one generalized superbranch parent node via a series resistance between the generalized superbranch child node and the generalized superbranch parent node; each generalized superbranch has one or more generalized superbranch child nodes which are not themselves generalized superbranch parent nodes, but each of which is a generalized superbranch child node connected to a generalized superbranch parent node, and for which an effective ground current associated with the generalized superbranch child node is equal to the ground current associated with the generalized superbranch parent node and for which an effective ground resistance associated with the generalized superbranch child node is equal to the ground resistance associated with the generalized superbranch parent node; each generalized superbranch node which is not a generalized superbranch leaf node is a generalized superbranch parent node connected to one or more generalized superbranch child nodes via one of the series resistances; each superpath node has a ground current associated therewith; two of the superpath nodes of each superpath are endpoint nodes one of which is a starting node and another of which is an ending node, the remaining superpath nodes of each superpath being intermediate nodes and being arranged in a serially connected fashion between the starting node and the ending node such that each intermediate node is connected to each of two neighboring intermediate nodes via a series resistance, and such that each intermediate node of a superpath has a next intermediate node next in serial sequence towards the ending node; an effective series resistance between the starting node and a first intermediate node neighboring the starting node is equal to the series resistance between the starting node and the first intermediate node; an effective ground current at the first intermediate node neighboring the starting node is equal to the ground current associated with the first intermediate node; the step of collapsing each superbranch to a simplified node further comprises repeating, for each superbranch of each net, the steps of; determining an effective superbranch root node ground current for the superbranch by totaling the ground currents each superbranch node in the superbranch; eliminating all child nodes of the superbranch; assigning the effective superbranch root node ground current to the superbranch root node; and designating the superbranch root node as a simplified node and as a non-eliminated superbranch node; until all superbranches have been operated upon; the step of collapsing each generalized superbranch to a simplified node further comprises; repeating, for each generalized superbranch, the steps of; identifying each superbranch leaf node as a net and point that connects to only the one other node in the net; starting with the generalized superbranch leaf nodes and progressing towards the generalized superbranch root node, for each group "A" of one or more generalized superbranch child nodes "Ai" connecting to a common generalized superbranch parent node "B", repeating the steps of; repeating, for each generalized superbranch child node "Ai" in the group of generalized superbranch child nodes "A", the steps of; computing a contributed effective ground resistance r'"'"'(B,Ai) associated with the generalized superbranch child node Ai according to the equation;
space="preserve" listing-type="equation">r'"'"'(B,Ai)=r'"'"'[Ai]+R(Ai,B)where r'"'"'[Ai] represents the effective ground resistance at the generalized superbranch node Ai, and R(Ai, B) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; computing a contributed effective ground current i'"'"'(B,Ai) from the generalized superbranch child node Ai to the generalized superbranch node B according to the equation;
##EQU48## where i'"'"'[Ai] represents the ground current associated with the generalized superbranch child node Ai, and R(B,Ai) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; andeliminating the child node Ai; until all generalized superbranch child nodes Ai in the group "A" of generalized superbranch child nodes have been eliminated; calculating a total effective ground resistance r'"'"'[B] for the generalized superbranch parent node B, by determining the equivalent resistance value of a parallel combination of the ground resistance at generalized superbranch parent node B and each of the contributed effective ground resistances r'"'"'(B,Ai) from the generalized superbranch child nodes Ai connected via one of the series resistances to the generalized superbranch parent node B; and calculating a total effective ground current i'"'"'[B] for the generalized superbranch parent node B by totaling the ground current i[B] for generalized superbranch parent node B and all of the contributed effective ground currents i'"'"'(B,Ai) from each of the generalized superbranch child nodes Ai connected via one of the series resistances to generalized superbranch parent node B; until all groups "A" have been operated upon; until all generalized superbranches have been operated upon; and designating the generalized superbranch root node of each generalized superbranch as a simplified node; the step of collapsing each superpath to two simplified nodes further comprises; repeating, for each superpath, the steps of; setting an effective ground current for the starting node equal to the ground current associated with the starting node; repeating, for each intermediate node "A" along the superpath having a next superpath node "B" nearer the ending node, starting with the intermediate node nearest the starting node "S," progressing one node at a time towards the ending node "E", the steps of; eliminating the intermediate node A from the superpath; calculating and inserting an effective series resistance from the starting node S to the next superpath node B according to;
space="preserve" listing-type="equation">R'"'"'(S,B)=R'"'"'(S,A)+R(B,A)where R'"'"'(S,A) is the effective series between the starting node S and the intermediate node A, and R(B,A) is the resistance between the intermediate nodes A and the next superpath node B; calculating an effective ground current at the next superpath node B resulting from the effective ground current associated with intermediate node A according to the equation;
##EQU49## where i'"'"'[A] is the effective ground current at the intermediate node A, and i[B] is the ground current associated with the next superpath node B; andcalculating an effective ground current at the starting node S resulting from an effective ground current at the intermediate node A according to the equation;
##EQU50## where i'"'"'[S] is the effective ground current at the starting node, and i'"'"'[S] is updated each time it is calculated;until all intermediate nodes A have been eliminated; and designating the starting node S and the ending node E as simplified nodes; until all superpaths have been operated upon; the step of re-expanding each superpath further comprising; repeating, for each superpath "C", the step of; repeating, for each next superpath node "B" of the superpath C connected to an eliminated intermediate node "A" prior to the elimination of intermediate node A, starting at the ending node and working towards the starting node "S", the steps of; re-inserting the eliminated intermediate node A into the superpath C between the starting node S and the next superpath node B; and calculating a node voltage for the intermediate node A according to the formula;
##EQU51## where i'"'"'[A] is the effective ground current associated with the intermediate node A, R'"'"'(S,A) is the effective series resistance between the intermediate node A and the starting node S of the superpath C, R'"'"'(S,B) is the effective series resistance between the next superpath node B and the starting node S of the superpath C, R(A,B) is the series resistance between the intermediate node A and the next superpath node B, v(B) is the node voltage at the next superpath node B, and R(B) is the ground resistance at the next superpath node B;until all intermediate nodes of the superpath C are re-inserted; until all superpaths C have been operated upon; the step of re-expanding each generalized superbranch further comprising; repeating, for each generalized superbranch "C", the step of; repeating, for each generalized superbranch parent node "B" of the generalized superbranch C, starting with the generalized superbranch root node and working outward, the step of; repeating, for each eliminated generalized superbranch child node "Ai" connected to the generalized superbranch parent node "B" prior to its elimination, the steps of; re-connecting the eliminated generalized superbranch child node Ai to the generalized superbranch parent node B; and calculating a node voltage for the generalized superbranch child node Ai, according to the formula;
##EQU52## where r'"'"'[Ai] is the effective ground resistance at node Ai,i'"'"'[Ai] is the effective ground current at node Ai, and R(B,Ai) is the series resistance between node A and Ai;until all generalized superbranch child nodes Ai have been reconnected to the generalized superbranch node B; until all generalized superbranch parent nodes of the generalized superbranch C have been operated upon; until all generalized superbranches C have been operated upon; and the step of re-expanding each superbranch further comprising; repeating, for each superbranch of each net, the steps of; repeating, for each non-eliminated superbranch node "A" starting with the superbranch root node, the steps of; repeating for each eliminated superbranch child node "Ai" connected to the non-eliminated superbranch node A prior to its elimination, the steps of; re-establishing the connection between superbranch child node Ai and non-eliminated superbranch node A; designating the superbranch child node as a non-eliminated superbranch node; and calculating a node voltage for superbranch child node Ai according to;
space="preserve" listing-type="equation">v(Ai)=-1*R(A,Ai)+v(A)where i(Ai) is the total current at node Ai, and R(A,Ai) is the series resistance between the non-eliminated superbranch node A and the superbranch child node Ai, and v(A) is the voltage at superbranch node A; until all such eliminated superbranch child nodes Ai have been re-connected to the non-eliminated superbranch node A; until all non-eliminated superbranch nodes, including those superbranch nodes newly designated as non-eliminated superbranch nodes, have been operated upon; until all superbranches have been operated upon.
-
-
19. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; each superbranch node having a ground current associated therewith; one superbranch node from each superbranch being a superbranch root node, the remaining superbranch node being superbranch child nodes; and the step of collapsing each superbranch to a simplified node further comprising repeating, for each superbranch of each net, the steps of; determining an effective superbranch root node ground current for the superbranch by totaling the ground currents of each superbranch node in the superbranch; eliminating all child nodes of the superbranch; assigning the effective superbranch root node ground current to the superbranch root node; and designating the superbranch root node as a simplified node; until all superbranches have been operated upon. - View Dependent Claims (20, 21, 22)
-
-
23. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; each generalized superbranch node having a ground current and a ground resistance associated therewith; one generalized superbranch node of each generalized superbranch being a generalized superbranch root node, the remaining nodes being generalized superbranch child nodes; each generalized superbranch child node connecting to exactly one generalized superbranch parent node via a series resistance between the generalized superbranch child node and the generalized superbranch parent node; each generalized superbranch having one or more generalized superbranch child nodes which are not themselves generalized superbranch parent nodes, each of which being a generalized superbranch child node connected to a generalized superbranch parent node, and for which an effective ground current associated with a generalized superbranch child node is equal to the ground current associated with a generalized superbranch parent node and for which an effective ground resistance associated with a generalized superbranch child node is equal to the ground resistance associated with a generalized superbranch parent node; identifying each superbranch leaf node as a net endpoint that connects to only one other node in the net, and each generalized superbranch node which is not a generalized superbranch leaf node as a generalized superbranch parent node connected to one or more generalized superbranch child nodes via one of the series resistances; the step of collapsing each generalized superbranch to a simplified node further comprises; repeating, for each generalized superbranch, the steps of; starting with the generalized superbranch leaf nodes and progressing towards the generalized superbranch root node, for each group "A" of one or more generalized superbranch child nodes "Ai" connecting to a common generalized superbranch parent node "B", repeating the steps of; repeating, for each generalized superbranch child node "Ai" in the group of generalized superbranch child nodes "A", the steps of; computing a contributed effective ground resistance r'"'"'(B,Ai) associated with the generalized superbranch child node Ai according to the equation;
space="preserve" listing-type="equation">r'"'"'(B,Ai)=r'"'"'[Ai]+R(Ai,B)where r'"'"'[Ai] represents the effective ground resistance at the generalized superbranch node Ai, and R(Ai, B) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; computing a contributed effective ground current i'"'"'(B,Ai) from the generalized superbranch child node Ai to the generalized superbranch node B according to the equation;
##EQU53## where i'"'"'[Ai] represents the ground current associated with the generalized superbranch child node Ai, and R(B,Ai) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; andeliminating the child node Ai; until all generalized superbranch child nodes Ai in the group "A" of generalized superbranch child nodes have been eliminated; calculating a total effective ground resistance r'"'"'[B] for the generalized superbranch parent node B, by determining the equivalent resistance value of a parallel combination of the ground resistance at generalized superbranch parent node B and each of the contributed effective ground resistances r'"'"'(B,Ai) from the generalized superbranch child nodes Ai connected via one of the series resistances to the generalized superbranch parent node B; and calculating a total effective ground current i'"'"'[B] for the generalized superbranch parent node B by totaling the ground current i[B] for generalized superbranch parent node B and all of the contributed effective ground currents i'"'"'(B,Ai) from each of the generalized superbranch child nodes Ai connected via one of the series resistances to generalized superbranch parent node B; until all groups "A" have been operated upon; until all generalized superbranches have been operated upon; and designating the generalized superbranch root node of each generalized superbranch as a simplified node. - View Dependent Claims (24, 25, 26)
-
-
27. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; each superpath node node has a ground current associated therewith; two of the superpath nodes of each superpath are endpoint nodes one of which is a starting node and another of which is an ending node, the remaining superpath nodes of each superpath being intermediate nodes and being arranged in a serially connected fashion between the starting node and the ending node such that each intermediate node is connected to each of two neighboring intermediate nodes via a series resistance, and such that each intermediate node of a superpath has a next intermediate node next in serial sequence towards the ending node; an effective series resistance between the starting node and a first intermediate node neighboring the starting node is equal to the series resistance between the starting node and the first intermediate node; an effective ground current at the first intermediate node neighboring the starting node is equal to the ground current associated with the first intermediate node; and the step of collapsing each superpath to two simplified nodes further comprises; repeating, for each superpath, the steps of; setting an effective ground current for the starting node equal to the ground current associated with the starting node; repeating, for each intermediate node "A" along the superpath having a next superpath node "B" nearer the ending node, starting with the intermediate node nearest the starting node "S", progressing one node at a time towards the ending node "E", the steps of; eliminating the intermediate node A from the superpath; calculating and inserting an effective series resistance from the starting node S to the next superpath node B according to;
space="preserve" listing-type="equation">R'"'"'(S,B)=R'"'"'(S,A)+R(B,A)where R'"'"'(S,A) is the effective series between the starting node S and the intermediate node A, and R(B,A) is the resistance between intermediate nodes A and the next the superpath node B; calculating an effective ground current at the next superpath node B resulting from the effective ground current associated with intermediate node A according to the equation;
##EQU54## where i'"'"'[A] is the effective ground current at the intermediate node A, and i[B] is the ground current associated with the next superpath node B; andcalculating an effective ground current at the starting node S resulting from an effective ground current at the intermediate node A according to the equation;
##EQU55## where i'"'"'[S] is the effective ground current at the starting node, and i'"'"'[S] is updated each time it is calculated;until all intermediate nodes A have been eliminated; and designating the starting node S and the ending node E as simplified nodes; until all superpaths have been operated upon. - View Dependent Claims (28, 29, 30)
-
-
31. A method of determining the performance of nets of an integrated circuit design comprising:
-
providing a semiconductor design automation system; providing an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-list, said net list including a plurality of nets, each net representing a plurality of interconnected first nodes; collapsing each net to a corresponding simplified equivalent circuit having a number of simplified nodes less than or equal to the plurality of first nodes represented by the net corresponding to the simplified equivalent circuit; and simulating the simplified equivalent circuit for each of the plurality of nets, thereby determining a node voltage waveform for each simplified node of the corresponding simplified equivalent circuit; the step of collapsing each net to a simplified equivalent circuit further comprising; identifying superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapsing each superbranch of each net to a simplified node; identifying generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapsing each generalized superbranch of each net to a simplified node; identifying superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node; and collapsing each superpath of each net to two simplified nodes; each superbranch node has a ground current associated therewith; one superbranch node from each superbranch is a superbranch root node, the remaining superbranch node being superbranch child nodes; each generalized superbranch node has a ground current and a ground resistance associated therewith; one generalized superbranch node of each generalized superbranch is a generalized superbranch root node, the remaining nodes being generalized superbranch child nodes; each generalized superbranch child node connects to exactly one generalized superbranch parent node via a series resistance between the generalized superbranch child node and the generalized superbranch parent node; each generalized superbranch has one or more generalized superbranch child nodes which are not themselves generalized superbranch parent nodes, but each of which is a generalized superbranch child node connected to a generalized superbranch parent node, and for which an effective ground current associated with a generalized superbranch child node is equal to the ground current associated with a generalized superbranch parent node and for which an effective ground resistance associated with a generalized superbranch child node is equal to the ground resistance associated with a generalized superbranch parent node; identifying each superbranch leaf node as a net end point that connects to only one other node in the net, and each generalized superbranch node which is not a generalized superbranch leaf node as a generalized superbranch parent node connected to one or more generalized superbranch child nodes via one of the series resistances; each superpath node has a ground current associated therewith; two of the superpath nodes of each superpath are endpoint nodes one of which is a starting node and another of which is an ending node, the remaining superpath nodes of each superpath being intermediate nodes and being arranged in a serially connected fashion between the starting node and the ending node such that each intermediate node is connected to each of two neighboring intermediate nodes via a series resistance, and such that each intermediate node of a superpath has a next intermediate node next in serial sequence towards the ending node; an effective series resistance between the starting node and a first intermediate node neighboring the starting node is equal to the series resistance between the starting node and the first intermediate node; an effective ground current at the first intermediate node neighboring the starting node is equal to the ground current associated with the first intermediate node; the step of collapsing each superbranch to a simplified node further comprises repeating, for each superbranch of each net, the steps of; determining an effective superbranch root node ground current for the superbranch by totaling the ground currents of each superbranch node in the superbranch; eliminating all child nodes of the superbranch; assigning the effective superbranch root node ground current to the superbranch root node; and designating the superbranch root node as a simplified node; until all superbranches have been operated upon; the step of collapsing each generalized superbranch to a simplified node further comprises; repeating, for each generalized superbranch, the steps of; starting with the generalized superbranch leaf nodes and progressing towards the generalized superbranch root node, for each group "A" of one or more generalized superbranch child nodes "Ai" connecting to a common generalized superbranch parent node "B", repeating the steps of; repeating, for each generalized superbranch child node "Ai" in the group of generalized superbranch child nodes "A", the steps of; computing a contributed effective ground resistance r'"'"'(B,Ai) associated with the generalized superbranch child node Ai according to the equation;
space="preserve" listing-type="equation">r'"'"'(B,Ai)=r'"'"'[Ai]+R(Ai, B)where r'"'"'[Ai] represents the effective ground resistance at the generalized superbranch node Ai, and R(Ai,B) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; computing a contributed effective ground current i'"'"'(B,Ai) from the generalized superbranch child node Ai to the generalized superbranch node B according to the equation;
##EQU56## where i'"'"'[Ai] represents the ground current associated with the generalized superbranch child node Ai, and R(B,Ai) represents the series resistance between the generalized superbranch child node Ai and the generalized superbranch parent node B; andeliminating the child node Ai; until all generalized superbranch child nodes Ai in the group "A" of generalized superbranch child nodes have been eliminated; calculating a total effective ground resistance r'"'"'[B] for the generalized superbranch parent node B, by determining the equivalent resistance value of a parallel combination of the ground resistance at generalized superbranch parent node B and each of the contributed effective ground resistances r'"'"'(B,Ai) from the generalized superbranch child nodes Ai connected via one of the series resistances to the generalized superbranch parent node B; and calculating a total effective ground current i'"'"'[B] for the generalized superbranch parent node B by totaling the ground current i'"'"'[B] for generalized superbranch parent node B and all of the contributed effective ground currents i'"'"'(B,Ai) from each of the generalized superbranch child nodes Ai connected via one of the series resistances to generalized superbranch parent node B; until all groups "A" have been operated upon; until all generalized superbranches have been operated upon; and designating the generalized superbranch root node of each generalized superbranch as a simplified node; and the step of collapsing each superpath to two simplified nodes further comprises; repeating, for each superpath, the steps of; setting an effective ground current for the starting node equal to the ground current associated with the starting node; repeating, for each intermediate node "A" along the superpath having a next superpath node "B" nearer the ending node, starting with the intermediate node nearest the starting node "S", progressing one node at a time towards the ending node "E", the steps of; eliminating the intermediate node A from the superpath; calculating and inserting an effective series resistance from the starting node S to the next superpath node B according to;
space="preserve" listing-type="equation">R'"'"'(S,B)=R'"'"'(S,A)+R(B,A)where R'"'"'(S,A) is the effective series between the starting node S and the intermediate node A, and R(B,A) is the resistance between the intermediate nodes A and the next superpath node B; calculating an effective ground current at the next superpath node B resulting from the effective ground current associated with intermediate node A according to the equation;
##EQU57## where i'"'"'[A] is the effective ground current at the intermediate node A, and i[B] is the ground current associated with the next superpath node B; andcalculating an effective ground current at the starting node S resulting from an effective ground current at the intermediate node A according to the equation;
##EQU58## where i'"'"'[S] is the effective ground current at the starting node, and i'"'"'[S] is updated each time it is calculated;until all intermediate nodes A have been eliminated; and designating the starting node S and the ending node E as simplified nodes; until all superpaths have been operated upon. - View Dependent Claims (32, 33, 34)
-
-
35. A system for determining the performance of nets of an integrated circuit design, comprising:
-
a semiconductor design automation system including; a computer processor; a graphic display device connected to the computer processor; one or more mass-storage devices accessible to the computer processor; an integrated circuit design on the semiconductor design automation system, said integrated circuit design including a net-fist, said net-list including a plurality of nets, each net representing a plurality of interconnected first nodes; network collapsing software on the semiconductor design automation system, said network collapsing software being operative to collapse nets in the net-list to corresponding simplified equivalent circuits, each simplified equivalent circuit having a plurality of simplified nodes less than the plurality of first nodes; and
,network simulation software on the semiconductor design automation system, said network simulation software being operative to determine node voltages for each of the simplified nodes; the network collapsing software further being operative to; identify superbranches of each net, each superbranch including a first subset of the plurality of first nodes, each node in the first subset being a superbranch node; collapse each superbranch of each net to a simplified node; identify generalized superbranches of each net, each superbranch including a second subset of the plurality of first nodes, each node in the second subset being a generalized superbranch node; collapse each generalized superbranch of each net to a simplified node; identify superpaths of each net, each superbranch including a third subset of the plurality of first nodes, each node in the third subset being a superpath node, each superbranch node having a ground current associated therewith, one superbranch node from each superbranch being a superbranch root node, the remaining superbranch node being superbranch child nodes; collapse each superpath of each net to two simplified nodes; for each superpath; determine an effective superbranch root node ground current for the superbranch by totaling the ground currents of each superbranch node in the superbranch; eliminate all child nodes of the superbranch; assign the effective superbranch root node ground current to the superbranch root node; and designate the superbranch root node as a simplified node; until all superbranches have been operated upon. - View Dependent Claims (36, 37)
-
Specification