1. Field of the Invention
Embodiments of the invention provide a method, computer program product, etc. for analysis techniques to reduce simulations to characterize the effect of variations on transistor circuits.
2. Description of the Related Art
Transistors in the latest sub-micron technologies are known to exhibit variations in their properties, which causes uncertainties in their electrical and temporal behaviors. These uncertainties must be accounted for and characterized in order to build a successful integrated circuit (IC) design. A typical circuit may consist of several transistors each of which has several properties such as length, width and threshold voltage, which can vary independently (across chip variations or ACV). The known solutions to characterize this problem are “brute-force” techniques, in which each property, in each transistor, is varied and for every unique setting, the circuit simulated to calculate the overall effect. This leads to an enormous increase in the amount of time spent in circuit simulations. This increase is further aggravated by two commonly used design techniques: the use of electrically equivalent parallel transistors (called “fingers”) to increase the amount of current drive strength and the use of multiple “types” of transistors within the same design.
Embodiments of the invention provide a method, computer program product, etc. for analysis techniques to reduce simulations to characterize the effect of variations on transistor circuits. A method of simulating transistors in an integrated circuit begins by reducing a group of parallel transistors to a single equivalent transistor. The equivalent transistor is subsequently simulated, wherein only a portion of the parallel transistors are simulated.
Next, the integrated circuit is divided into channel-connected components and simulated for the channel-connected components. A table is created for each type of channel-connected component; and, parameterized across chip variation equations are calculated from results of this simulation. Moreover, table entries are created, which include a number of transistor types, a number of unique transistor primitive patterns, and/or a number of paths through each of the transistor primitive patterns.
The method further comprises obtaining parameterized across chip variation equation(s) from the table for each unique pattern in the integrated circuit; and calculating a variance of each channel-connected component. A variance of delay for each path of the integrated circuit is also obtained by adding the variance of each channel-connected component in the path. When two paths of the integrated circuit begin at a same input and end at a same output, the method obtains the variance of delay having the largest or smallest value and/or creates a linear combination of the two paths based on the variance of delay.
Accordingly, embodiments of the invention provide a circuit reduction procedure that can be applied to the given transistor circuit before a simulation procedure, to obtain a reduced circuit consisting of lesser number of transistors and hence a lesser number of simulations to run. In addition, a method is provided to handle larger transistor circuits using a transistor pattern-based lookup table approach, which does not use any simulations to determine the ACV effect on the output.
These and other aspects of the embodiments of the invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments of the invention and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments of the invention without departing from the spirit thereof, and the embodiments of the invention include all such modifications.
The embodiments of the invention will be better understood from the following detailed description with reference to the drawings, in which:
The embodiments of the invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments of the invention. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments of the invention may be practiced and to further enable those of skill in the art to practice the embodiments of the invention. Thus, the examples should not be construed as limiting the scope of the embodiments of the invention.
Accordingly, embodiments of the invention provide a circuit reduction procedure that can be applied to the given transistor circuit before a simulation procedure, to obtain a reduced circuit consisting of lesser number of transistors and hence a lesser number of simulations to run. In addition, a method is provided to handle larger transistor circuits using a transistor pattern-based lookup table approach which does not use any simulations to determine the ACV effect on the output.
Embodiments herein provide a set of circuit analysis techniques to be applied to a transistor level circuit, consisting of one or more “types” of transistors to determine a small subset of simulations to be run in a simulator. Because the amount of time spent on this analysis is trivial compared to even a single circuit simulation run, there is a tremendous amount of time savings.
A feature of the variations that is being leveraged is that they have a fairly small magnitude compared to the nominal value and hence first-order assumptions are applicable and the variations fit normal (Gaussian) statistics. The runtime benefits can be contrasted with other approaches such as the Powerspice “SENSIT” function, which runs at least one simulation for every varying parameter for every varying transistor, which is a linear runtime in the number of transistors and parameters. Depending on the amount of repeating structures, the approach herein gives a result in almost constant time.
Thus, embodiments of the invention provide parameter space reduction for ACV characterizations. The purpose is to estimate the effect of independent variations of transistor parameters on output; and, to determine variable space for simulation, wherein N=the number of layout transistors, P=the number of parameters, and wherein N times P=the number of variables. Embodiments herein can reduce variable space under various assumptions. The assumptions include ACV effects on output are “first-order” and additive; interconnect/contact effects are negligible; and ACV effects on diffusion resistance, gate capacitance, and sub-threshold current are negligible.
Referring to
In
In addition, embodiments of the invention calculate ACV for large transistor circuits and avoid simulations of such circuits. This assumes that delay variations are additive along a path and follow normal (Gaussian) statistics; and that slew/load cap effects due to variation are negligible. Further, it is assumed that ACV sensitivities are constant (with respect to transistor length, width); and that there is “commonality” in transistor topologies in large circuits. A first step creates a pattern table, wherein the table “key” is the transistor pattern. The pattern could be “reduced” circuit as illustrated in
Var(Δtd)=Σi=1,6(αi wi)2Var(α)+(βi wi)2Var(β)
where αi, βi are the sensitivities of the α and β parameter (e.g., length & width) of the ith transistor, with respect to the output function (e.g., A1 to Z delay) calculated with the FETs width set to some unit value.
Each “type” (like different threshold voltages or different gate oxide thickness) of transistor in technology adds one extra dimension to the pattern table. In regards to table entries having linear memory complexity, T=the number of types of transistors; N=the number of unique transistor primitive patterns; and, P=the number of paths through each transistor primitive. The number of entries=T times N times P.
The next step is to divide the circuit into channel-connected components (also referred to herein as CCCs) using standard definition of channel-connected components and standard techniques. For example,
The following step obtains a parameterized ACV equation from a lookup table, for each unique pattern, and calculates the variance for each channel-connected component. Next, the path variance is obtained. Specifically, for each path, the variance of delay is obtained through path by adding the variance of each channel-connected component in the path. Thus, for the example illustrated in
In creating the lookup table, the simple static complementary metal oxide semiconductor (CMOS) single stage topologies can be obtained from the ACV calculations for the primitive libraries. To handle general custom designs, patterns may be needed, with each of the static CMOS structures driving a pass gate structure at the output. If a pattern is unique to a design, then it needs to be “calibrated” and an entry created for it, or it can be handled “on-the-fly”.
Moreover, in regards to the first-order assumption, the sensitivities are (αp, βp, αn, and βn. These are usually functions of the width/length of the transistor, which is assumed as constant. Fixes include calculating sensitivities for more than one width and obtaining the “best-fit” constant value; stamping a “width” dependent equation; and increasing the number of calibration simulations.
For handling two paths re-converging at an output (from the same input), a conservative approach uses the largest path variance. Other approaches include linear combination based on delay, and an EinsStat-like ratio/tightness approach.
Thus, embodiments of the invention provide a method, computer program product, etc. for analysis techniques to reduce simulations to characterize the effect of variations in transistor circuits. A method of simulating transistors in an integrated circuit begins by reducing a group of parallel transistors to a single equivalent transistor. As described above, this assumes that ACV effects on output are “first-order” and additive; interconnect/contact effects are negligible; and ACV effects on diffusion resistance, gate capacitance, and sub-threshold current are negligible. The equivalent transistor is subsequently simulated, wherein only a portion of the parallel transistors are simulated. As described above, parallel transistors are assumed to have “equivalent” effect.
Next, the integrated circuit is divided into channel-connected components and simulated for the channel-connected components. As illustrated in
The method further comprises obtaining parameterized across chip variation equation(s) from the table for each unique pattern in the integrated circuit; and calculating a variance of each channel-connected component. A variance of delay for each path of the integrated circuit is also obtained by adding the variance of each channel-connected component in the path. Thus, for the example illustrated in
Following this, in item 820, the integrated circuit is divided into channel-connected components. The example in
Next, in item 850, the method obtains parameterized across chip variation equation(s) from the table for each unique pattern in the integrated circuit; and, in item 860, a variance of each the channel-connected components is calculated. Following this, in item 870, a variance of delay for each path of the integrated circuit is obtained by adding the variance of each the channel-connected components in the path. Thus, for the example illustrated in
The embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the embodiments of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output (I/O) devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
A representative hardware environment for practicing the embodiments of the invention is depicted in
Accordingly, embodiments of the invention provide a circuit reduction procedure that can be applied to the given transistor circuit before a simulation procedure, to obtain a reduced circuit consisting of lesser number of transistors and hence a lesser number of simulations to run. In addition, a method is provided to handle larger transistor circuits using a transistor pattern-based lookup table approach, that does not use any simulations to determine the ACV effect on the output.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments of the invention have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments of the invention can be practiced with modification within the spirit and scope of the appended claims.