Transistor-level timing and simulator and power analyzer
First Claim
Patent Images
1. In an appropriately programmed digital computer having a CPU, memory, user interface and printer, a method of simulating electronic circuits and analyzing these circuits with respect to timing behavior and power consumption comprising the steps of:
- a) inputting a netlist of a circuit to be simulated identifying transistors and nodes;
b) inputting a technology file for characterizing transistors in said netlist, wherein said technology file initially contains a two-dimensional I-V table tabulating transistor drain to source currents at various drain-to-source and gate-to-source voltage pairs, said I-V table being subsequently converted into a two-dimensional linearization table holding piece-wise linear elements approximating MOS transistors;
c) inspecting each node in said netlist and constructing a static channel connected component at said each node where more than one transistor channel is coupled to said each node and where node quantity in said static channel connected component is below a maximum threshold value, said static channel connected component being stored in memory;
d) establishing initial voltage values at said each node in said netlist through input vectors;
e) advancing circuit simulation to a pending event next in time, wherein said pending event is a voltage change on a node that exceeds an event resolution, said voltage change being determined from a previous voltage level which caused an earlier event at said node;
f) identifying an affected transistor coupled to said node on which said pending event next in time is to occur;
g) associating an affected channel connected component with said affected transistor;
h) evaluating a response of said affected channel connected component to said pending event next in time through linear approximation, wherein each transistor contained in said affected channel connected component is replaced with a current source, resistor and transconductor retrieved from said technology file, said evaluating step including;
i) checking nodes contained in said affected channel connected component for event occurrence; and
ii) scheduling an event occurrence when detected.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for accurately simulating the timing and power behavior of digital MOS circuits is provided. The method includes piece-wise linear modeling of transistors, dynamic and static construction of channel connected components, event driven simulation and current measuring capabilities for power supplies, grounds, and individual resistors and transistors.
-
Citations
19 Claims
-
1. In an appropriately programmed digital computer having a CPU, memory, user interface and printer, a method of simulating electronic circuits and analyzing these circuits with respect to timing behavior and power consumption comprising the steps of:
-
a) inputting a netlist of a circuit to be simulated identifying transistors and nodes; b) inputting a technology file for characterizing transistors in said netlist, wherein said technology file initially contains a two-dimensional I-V table tabulating transistor drain to source currents at various drain-to-source and gate-to-source voltage pairs, said I-V table being subsequently converted into a two-dimensional linearization table holding piece-wise linear elements approximating MOS transistors; c) inspecting each node in said netlist and constructing a static channel connected component at said each node where more than one transistor channel is coupled to said each node and where node quantity in said static channel connected component is below a maximum threshold value, said static channel connected component being stored in memory; d) establishing initial voltage values at said each node in said netlist through input vectors; e) advancing circuit simulation to a pending event next in time, wherein said pending event is a voltage change on a node that exceeds an event resolution, said voltage change being determined from a previous voltage level which caused an earlier event at said node; f) identifying an affected transistor coupled to said node on which said pending event next in time is to occur; g) associating an affected channel connected component with said affected transistor; h) evaluating a response of said affected channel connected component to said pending event next in time through linear approximation, wherein each transistor contained in said affected channel connected component is replaced with a current source, resistor and transconductor retrieved from said technology file, said evaluating step including; i) checking nodes contained in said affected channel connected component for event occurrence; and ii) scheduling an event occurrence when detected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In an appropriately programmed digital computer having a CPU, memory, user interface and printer, a method of simulating electronic circuits and analyzing these circuits with respect to timing behavior and power consumption comprising the steps of:
-
a) inputting a netlist of a circuit to be simulated identifying transistors and nodes; b) inputting a technology file for characterizing transistors in said netlist, wherein said technology file initially contains a two-dimensional I-V table tabulating transistor drain to source currents at various drain-to-source and gate-to-source voltage pairs, said I-V table being subsequently converted into a two-dimensional linearization table holding piece-wise linear elements approximating MOS transistors; c) inspecting each node in said netlist and constructing a static channel connected component at said each node where more than one transistor channel is connected to said each node and where node quantity in said static channel connected component is below a maximum threshold value, said static channel connected component being stored in memory; d) establishing initial voltage values at said each node in said netlist through input vectors; e) advancing circuit simulation to a first and a second pending event, wherein each pending event is a voltage change on a node that exceeds an event resolution, said voltage change being determined from a previous voltage level which caused an earlier event at said node; f) identifying a first affected transistor coupled to a node on which said first pending event is to occur; g) identifying a second affected transistor coupled to a node on which said second pending event is to occur; h) associating a first and a second affected channel connected component with said first and second affected transistors, respectively; i) evaluating a response of said first affected channel connected component to said first pending event through linear approximation, wherein each transistor contained in said first channel connected component is replaced with a current source, resistor and transconductor retrieved from said technology file, said evaluating step of said first affected channel connected component including; i) checking nodes contained in said first channel connected component for event occurrence; ii) scheduling an event occurrence when detected; and iii) recording changes in current and corresponding simulation time for a first transistor connected to a power node and included in said first affected channel connected component; j) evaluating a response of said second affected channel connected component to said second pending event through linear approximation, wherein each transistor contained in said second channel connected component is replaced with a current source, resistor and transconductor retrieved from said technology file, said evaluating step including; i) checking nodes contained in said second channel connected component for event occurrence; ii) scheduling an event occurrence when detected; and iii) recording changes in current and corresponding simulation time for a second transistor connected to said power node and included in said second affected channel connected component; k) Outputting current and corresponding simulation time values for said power node based on said changes in current of said first and said second connected transistors. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification