The present invention relates to the design of integrated circuits (ICs), and in particular to a method and system for an accurate pre-layout estimatimation of standard cell characteristics.
There is constant pressure in the field of IC design to reduce the size of ICs and yet increase the density and processing speeds of ICs. With the advent of deep-submicron technologies, it has become essential to model the impact of physical/layout effects upfront in all design flows. The effect of layout parasitics is considerable, even at the intra-cell level in standard cells. This is particularly true at the 130 nm and at the 90 nm process nodes. For example, without taking cell parasitics into account, standard cell delays can be off by as much as 15% (i.e., up to 30-40 ps, for cell delays that are approximately 200 ps). Thus, cell parasitics cannot not be ignored if an accurate predictor of the performance of the cell is desired.
Traditionally, transistor-level optimization techniques have not attempted to account for the impact of layout parasitics. However, layout parasitics have become increasingly important at the 130 nm and at the 90 nm process nodes. The effect of these layout parasitics has become extremely important, even for circuits with a small number of transistors (e.g., approximately 10 transistors). Thus, an optimization technique or flow that does not consider parasitic layout effects may be impractical and/or wasteful of design resources.
Additionally, reduced order device models such as switch-level (RC) models of transistors are becoming increasingly incapable of modeling deep submicron effects. This requires detailed simulation, often at the BSIM3/4 level, or using detailed models built using simulation at that level, as the only reliable option for obtaining accurate circuit timing.
Therefore, it has become critically important for any transistor-level optimization to consider the effect of layout parasitics as an integral part of the optimization process. However, it is not computationally feasible for the actual layout to be a part of any such optimization procedure. Hence, there exists a need for a method and system that estimates cell layout characteristics without actually performing the layout and subsequent extraction steps.
The teachings of the present disclosure provide, inter alia, an automated computer-implemented method, storage medium, and system for a pre-layout estimation of characteristics of a standard cell including receiving a pre-layout representation of a standard cell, applying at least one transformation to the pre-layout representation to obtain a representation with estimated parasitics, designated an estimated representation, and characterizing the estimated representation to obtain a pre-layout estimation of the standard cell's characteristics. Such characteristics may include timing, power, noise, and other cell characteristics that are sensitive to accurate estimation of inter-cell parasitics.
The above and other objects, advantages, and benefits of the present invention will be understood by reference to following detailed description and appended sheets of drawings.
FIGS. 9(a) and 9(b) depict scatter diagrams of extracted versus estimated capacitances, in accordance with the teachings herein;
By way of background, it is noted that design optimization at the transistor-level has been successfully used to achieve significant performance benefits above and beyond gate-level design optimization. Design optimization approaches range from transformations such as transistor sizing to macro-cell based design methodologies.
Recently, transistor-level optimization techniques targeting a standard-cell based design flow have been proposed. These optimization techniques take advantage of the recent progress in automated cell-layout solutions. Such solutions are now being increasingly used in the creation of high-performance cell libraries and are equipped to handle a variety of manufacturing, design and cost considerations used in the creation of cell libraries.
In order to demonstrate the effect of cell layout parasitics on cell timing, a typical standard cell from an industrial library at 90 nm is used to demonstrate the impact of three of the most important layout characteristics on the timing of the cell under consideration. The three selected layout characteristics are (1) transistor folding, (2) diffusion parasitics, and (3) wiring capacitances.
Transistor folding refers to the process of splitting a wide transistor in a pre-layout netlist into smaller parallel-connected transistors during layout, to meet a target cell height. Transistor folding is also important for minimizing the area of a cell. Diffusion parasitics refers to transistor diffusion regions (i.e., drain and source) that have parasitics. Wiring capacitances refer to routing wires having capacitances to neighboring wires and substrate.
Table 1 of
Accordingly, Table 1 demonstrates and documents that it is critically important for a transistor-level optimization to consider the effects of layout parasitics as an integral part of the optimization process.
Of the three design optimization approaches depicted in
Hence, the teachings herein provide a method and system of obtaining an accurate estimate of cell layout characteristics without actually performing the layout and subsequent extraction steps (i.e., an accurate pre-layout estimation of the cell's layout characteristics)—during optimization of a design that uses cells created on-the-fly. This method, Approach 2 (15), is captured conceptually in
As with Approach 2 (15) of
The teachings herein provide an accurate estimate of the layout effects to get timing characteristics that are on average, preferably, within about 1.5% of post-layout timing. The technique is preferably thousands of times faster than the actual creation of layout.
As used herein, a cell refers to a typical standard cell.
FIGS. 5(a) and 5(b) illustrate exemplary circuit models in accordance with the teachings herein. A cell may be represented in a number of ways, such as but not limited, a netlist. A pre-layout representation of a cell provides a pre-layout representation of a cell. The pre-layout representation may be selected from a wide variety of possibilities such as a spice netlist, a BDD-based transistor structure representation, a pre-layout structural representation like stick diagram, etc.
A pre-layout netlist 50 and 60 is a set of transistors and nets that connect the transistors. Each transistor in a pre-layout netlist has a length and width. An estimated netlist is defined as a pre-layout netlist with the following modifications: (1) each transistor has the areas and perimeters of its drain and source diffusion regions in addition to its width and length, and (2) each net has an associated grounded capacitance.
An estimated netlist is functionally identical to a corresponding pre-layout netlist but can be structurally different due to transistor folding. That is, a wide transistor in a pre-layout netlist may be split into smaller parallel-connected transistors in the estimated netlist.
A Maximal Transistor Series (MTS) is a maximal set of series-connected transistors.
In a physical layout, an MTS is typically implemented as transistors that are connected to each other by diffusion. An intra-MTS net 65 is a net that connects two transistors in an MTS. An inter-MTS net 70 is a net that connects transistors in different MTS's.
As used herein, cell characterization refers to the process of determining various characteristics (such as, for example and not as a limitation, timing, power, input capacitances, noise characteristics, etc.) of the cell. This process is used to create views/models of the cell that can be used in various steps of the design flow.
Of particular interest in the context of the present teachings, though not a limitation of the cell characteristics that may be accurately estimated in accordance herewith, is the aspect of cell timing characterization. Cell timing characterization refers to the process of creating models such as a non-linear delay model based, for example, on a detailed SPICE simulation of the transistor-level circuit representation of the cell. Cell timing can represent, for example, four different timing characteristics, namely (1) cell rise, (2) cell fall, (3) transition rise, and (4) transition fall, for a pre-defined set of output loads and input slews, on every signal-carrying input-to-output path in the circuit.
In general terms, timing T(c) of a cell c can be defined as a delay arc (cell rise, cell fall) or slew arc (transition rise, transition fall) of the cell for a given output load and input slew. Pre-layout timing Tpre(c) are the timing values that are obtained by characterizing a pre-layout netlist, estimated timing Test(c) are the timing values that are obtained by characterizing an estimated netlist, and post-layout timing Tpost(c) are the timing values that are obtained by characterizing a post-layout netlist.
Having provided the background and context of the teachings herein, the problem of obtaining an accurate pre-layout estimation of timing characteristics wherein the absolute difference of the estimated timing and the post-layout timing is minimized, in accordance with the present teachings, can be expressed as follows:
That is, given a cell c, and its pre-layout netlist, find an estimated timing such that the absolute difference of the estimated timing and post-layout timing is minimized.
Referring back to Table 1, pre-layout timing is typically faster than post-layout timing. An estimate of post-layout timing can be obtained from pre-layout timing based on statistical analysis of differences between pre-layout and post-layout timing. A statistical estimator can be used to estimate the post-layout timing of a cell by multiplying pre-layout timing by a predetermined scale factor S such that,
S is specific to each technology and cell architecture, and is determined based on a small representative set of cells that are actually laid out and characterized with respect to timing. More specifically, the scale factor is calculated as follows:
where C is a representative set of cells.
To illustrate the statistical estimator relationships described by equations (2) and (3) above, consider for example, that the post-layout cell rise delay in Table 1 is estimated by the statistical estimator as 100 ps by multiplying the pre-layout delay of 91 ps by 1.10. This scale factor of 1.10 was obtained in advance using Equation (3) based on a representative set of 53 cells.
Such an estimator is advantageous in that it is applicable to any technology and cell architecture because it is formulated in a technology-independent manner. However, its accuracy is primarily limited due to the lack of consideration of the variation of layout characteristics. As will be illustrated in greater detail hereinbelow, the statistical estimator above is not very accurate since it does not account for variations in layout characteristics.
A central problem with the statistical estimator discussed above is that it cannot accurately capture the variation of layout characteristics present in different standard cells, even from within the same standard cell library. However, a constructive estimator of the present teachings takes such variations in layout characteristics into account.
The constructive estimator constructs an estimated netlist by applying the following transformations to a pre-layout netlist: folding each transistor, assigning diffusion area and perimeter to each transistor, and adding a wiring capacitance to each net. The estimated timing is then obtained by characterizing the estimated netlist.
Regarding transistor folding, since the height of a standard cell, as mentioned above, is fixed, a wide transistor in a pre-layout netlist is divided into smaller transistors to meet the cell height requirements. Folded transistors are connected in parallel to preserve the original functionality. This aspect hereof is illustrated in
The folded transistor width, Wf, and the number of the folded transistors, Nf, are calculated as follows:
where W(t) is the width of a given transistor t, ┌x┐ denotes the smallest integer greater than or equal to x, R is the ratio of heights of the P and N diffusions, Htrans is the height of a transistor region and Hgap is the height of a diffusion gap region.
The present teachings allow for two transistor folding styles, a fixed P/N ratio style and an adaptive P/N ratio style. In the fixed P/N ratio style, R is specific to a given technology and cell architecture and is given as a user-specified constant value Ruser.
In the adaptive P/N ratio style, R is specific to a cell and is determined such that the width of the cell is minimized:
where P(c) is a set of P-type transistors in a cell c and N(c) is a set of N-type transistors.
It is important to estimate the diffusion area and perimeter of the transistors. Given the width w and height h of the diffusion region of a transistor, the diffusion area A and perimeter P are calculated as follows:
A=w*h (9)
P=2*w+2*h (10)
The height of a diffusion region is estimated as the width of the associated transistor t:
h=W(t) (11)
The width of a diffusion region can be estimated by using one of the following simple equations, depending on whether the net n that is associated with the diffusion is an intra-MTS net or an inter-MTS net.
where Spp is the minimum poly-to-poly spacing, Wc is the contact width and Spc is the minimum poly-to-contact spacing. These are given as design rules, and are illustrated in
Note that the MTS plays an important in the computation of the diffusion area and perimeter. It is the MTS that substantially controls diffusion sharing and hence controls the diffusion parasitics. This is the key to getting an accurate estimate of the diffusion parasitics.
The transformation of assigning diffusion area and perimeter to each transistor is preferably done after transistor folding is accomplished since the widths of transistors may be different before and after transistor folding. It is also noted that diffusion area and perimeter modeling should be made in conjunction with the transistor models of the target technology.
Regarding the wiring capacitance transformation, the wiring capacitance transformation adds a wiring capacitance to each net in a pre-layout netlist. Intra-MTS nets are not considered because they are typically implemented in diffusion. Similar to diffusion area/perimeter estimation, the wiring capacitance transformation is preferably done after transistor folding.
The capacitance C(n) of a net n is estimated by the following equation:
where α, β and γ are constants, TDS(n) is a set of transistors whose drain or source is connected to a net n, TG(n) is a set of transistors whose gate is connected to a net n and MTS(t) is an MTS that includes a transistor t.
According to experiments conducted by the inventors of the present teachings, the above equation (13) provides an excellent correlation to actual wiring capacitances.
Equation (13) requires that the three constants α, β and γ be determined in advance. These constants are determined by multiple regression analyses based on a small representative set of cells that are actually laid out. The determination of these constants, i.e., calibration process has to be done only once for a given technology and cell architecture.
The proposed technique of accurate pre-layout estimation presented herein has been implemented within the framework of a standard cell characterization flow. Given a pre-layout netlist, cell timing is generated based on both statistical and constructive estimations and compared with post-layout timing.
As discussed hereinabove, for the statistical technique, cell timing is generated based on calibrating simulation results from a pre-layout netlist. For the constructive technique, the estimated netlist, having undergone transistor folding, area/periphery diffusion, and wiring capacitance transformations, is simulated.
The present inventors conducted experiments on two different state-of-the-art standard cell libraries implemented in 130 nm and 90 nm technologies. These standard cell libraries were chosen at different process nodes and from different vendors in order to measure the effectiveness of the techniques across varying layout styles and design rules. The cells vary from simple cells such as an inverter to complex cells that consist of approximately 30 unfolded transistors. The simulator used in these experiments was HSPICE.
The results of the experiments demonstrate the effectiveness of the constructive technique for estimation of wiring capacitances. Wiring capacitances critically determine the quality of the constructive estimator due to their increased effects at the deep submicron geometries. FIGS. 8(a) and 8(b) depict scatter plots that compare extracted and estimated wiring capacitances for the cells in the 130 nm (
Next demonstrated is the impact of the estimators on the same cell arcs whose timing characteristics were shown in Table 1 (
As verified by the data listing of Table 2, the estimators (statistical and constructive) hereof greatly improve the quality of the cell timing and bring it closer to post-layout timing results. In addition, it is also clear that the constructive estimator provides an excellent pre-layout estimation of the cell timing.
Table 3 demonstrates the effectiveness of the estimators on overall cell timing for the two standard cell libraries under consideration. It is noted that each of the four cell delays (e.g., cell rise, cell fall, transition rise, and transition fall) were measured in the experiment documented by Table 3 (
The runtimes of the constructive estimators are very small, with typical overheads being less than 0.1% of typical SPICE simulation times. Thus, an accurate pre-layout estimation of standard cell timing characteristics can be obtained using the methods of the present teachings with relatively small computational resources and time.
Therefore, the methods hereof provide an accurate estimate of timing characteristics of transistor-level circuits in a standard-cell design framework. The accuracy of the estimation is preferably, on average, within about 1.5% of post-layout timing. The estimate is based on a fast and accurate constructive estimation technique. The estimation technique solves a critical problem affecting transistor-level optimization techniques at deep submicron geometries.
In addition to timing, the principle of pre-layout estimation of a layout characteristic of a standard cell disclosed herein is applicable to a number of standard cell characteristics, such as, for example, estimating an accurate footprint (i.e., physical geometries) and prediciting pin-placement of a cell. For instance, the cell footprint can be accurately estimated based on predicting the likely placement of devices inside a cell and their functional inter-connectivity—essentially same information as that used for pre-layout estimation of timing characteristics.
While described primarily in the context of a method, various modifications to these teachings can be made and still fall within the scope of these teachings. Accordingly, the methods disclosed herein can be implemented in an industrial software system and program instructions embodied in hardware, software, and firmware. Further by example, the teachings herein are not intended to be limited to any of the various IC design flows and processes. The teachings herein have been implemented in an industrial software system and successfully used at today's leading edge process nodes.
It should be appreciated that various modifications and changes to the method for pre-layout estimating a layout characteristic of a standard cell disclosed herein may be made without departing from the scope of this disclosure as recited in the accompanying claims.