[ Chapter start ] [ Previous page ] [ Next page ]
13.6 Delay Models
We shall use the term timing model to describe delays outside logic cells and the term delay model to describe delays inside logic cells. These terms are not standard and often people use them interchangeably. There are also different terms for various types of delay:
 A pintopin delay is a delay between an input pin and an output pin of a logic cell. This usually represents the delay of the logic cell excluding any delay contributed by interconnect.
 A pin delay is a delay lumped to a certain pin of a logic cell (usually an input). This usually represents the delay of the interconnect, but may also represent the delay of the logic cell.
 A net delay or wire delay is a delay outside a logic cell. This always represents the delay of interconnect.
In this section we shall focus on delay models and logic cell delays. In Chapter 3 we modeled logic cell delay as follows (Eq. 3.10):
A linear delay model is also known as a prop–ramp delay model , because the delay comprises a fixed propagation delay (the intrinsic delay) and a ramp delay (the extrinsic delay). As an example, the data book entry for the inverter, cell in01d0 , in a 0.8 m m standardcell library gives the following delay information (with delay measured in nanoseconds and capacitance in picofarads):
RISE = 0.10 + 0.07 + (1.75 ¥ Cld) FALL = 0.09 + 0.07 + (1.95 ¥ Cld) 
RISE = 0.10 + 0.07 + (1.75 ¥ Cld) FALL = 0.09 + 0.07 + (1.95 ¥ Cld) (13.5)
The first two terms in each of these equations represents the intrinsic delay, with the last term in each equation representing the extrinsic delay. We see that the Cld corresponds to C _{ out} , R _{ pu} = 1.75 k W , and R _{ pd} = 1.95 k W ( R _{ pu} is the pullup resistance and R _{ pd} is the pulldown resistance) .
From the data book the pin capacitances for this logic cell are as follows:
pin I (input) = 0.060 pF pin ZN (output) = 0.038 pF (13.6)
Thus, C _{ p} = 0.038 pF and we can calculate the component of the intrinsic delay due to the output pin capacitance as follows:
C _{ p} ¥ R _{ pu} = 0.038 ¥ 1.75 = 0.0665 ns and C _{ p} ¥ R _{ pd} = 0.038 ¥ 1.95 = 0.0741 ns 
C _{ p} ¥ R _{ pu} = 0.038 ¥ 1.75 = 0.0665 ns and C _{ p} ¥ R _{ pd} = 0.038 ¥ 1.95 = 0.0741 ns(13.7)
Suppose t _{ qr} and t _{ qf} are the parasitic delays for the rising and falling waveforms respectively. By comparing the data book equations for the rise and fall delays with Eq. and 13.7 , we can identify t _{ qr} = 0.10 ns and t _{ qf} = 0.09 ns.
Now we can explain the timing section of the in01d0 model ( Section 13.5.3 ),
InCap6 = 0.060, OutCap = 0.038, MaxLoad = 1.538,
R_Ramp6 = 0.542:0.980:1.750, F_Ramp6 = 0.605:1.092:1.950;
specparam cell_count = 1.000000; specparam Transistors = 4 ;
specparam Power = 1.400000; specparam MaxLoadedRamp = 3 ;
(i=>zn)=(0.031:0.056:0.100, 0.028:0.050:0.090);
The parameter OutCap is C _{ p} . The maximum value of the parameter R_Ramp6 is R _{ pu} , and the maximum value of parameter F_Ramp6 is R _{ pd} . Finally, the maximum values of the fixeddelay triplets correspond to t _{ qr} and t _{ qf} .
13.6.1 Using a Library Data Book
ASIC library data books typically contain two types of information for each cell in the library—capacitance loading and delay. Table 13.7 shows the input capacitances for the inverter family for both an areaoptimized library (small) and a performanceoptimized library (fast).
From Table 13.7 , the input capacitance of the small library version of the inv1 (a 1X inverter gate) is 0.034 pF. Any logic cell that is driving an inv1 from the small library sees this as a load capacitance. This capacitance consists of the gate capacitance of a p channel transistor, the gate capacitance of an n channel transistor, and the internal cell routing. Similarly, 0.145 pF is the input capacitance of a fast inv1 . We can deduce that the transistors in the fast library are approximately 0.145 / 0.034 ⊕ 4 times larger than those in the small version. The small library and fast library may not have the same cell height (they usually do not), so that we cannot mix cells from different libraries in the same standardcell area.
invh 1 

The delay table for a 2:1 MUX is shown in Table 13.8 . For example, DO/ to Z/ , indicates the path delay from the DO input rising to the Z output rising. Rising delay is denoted by '/' and falling delay by '\' .
From input 2 

Both intrinsic delay and extrinsic delay values are given in Table 13.8 . For example, the delay t_{ PD} (from DO\ to Z \) of a 2:1 MUX from the small library is
ASIC cell libraries may be characterized and the delay information presented in several ways in a data book. Some manufacturers simulate under worstcase slow conditions (4.5 V, 100 °C, and slow process conditions, for example) and then derate each delay value to convert delays to nominal conditions (5.0 V, 25 °C, and nominal process). This allows nominal delays to be used in the data book while maintaining accurate predictions for worstcase behavior. Other manufacturers characterize using nominal conditions and include worstcase values in the data book. In either case, we always design with worstcase values. Data books normally include process, voltage, and temperature derating factors as tables or graphs such as those shown in Tables 13.9 and 13.10 .
For example, suppose we are measuring the performance of an ASIC on the bench and the lab temperature (25 °C) and the power supply voltage (5 V) correspond to nominal operating conditions. We shall assume, in the absence of other information, that we have an ASIC from a nominal process lot. We have data book values given as worst case (worstcase temperature, 100 °C; worstcase voltage, 4.5 V; slow process) and we wish to find nominal values for delay to compare them with our measured results. From Table 13.9 the derating factor from nominal process to slow process is 1.31. From Table 13.10 the derating factor from 100 °C and 4.5 V to nominal (25 °C and 5 V) is 1.60. The derating factor from nominal to worstcase (data book values) is thus:
worstcase = nominal ¥ 1.31 (slow process) ¥ 1.60 (4.5 V, 100 °C). 
worstcase = nominal ¥ 1.31 (slow process) ¥ 1.60 (4.5 V, 100 °C).(13.8)
To get from the data book values to nominal operating conditions we use the following equation:
nominal = worstcase/(1.31 ¥ 1.60) = 0.477 ¥ worstcase. (13.9)
13.6.2 InputSlope Delay Model
It is increasingly important for submicron technologies to account for the effects of the rise (and fall) time of the input waveforms to a logic cell. The nonlinear delay model described in this section was developed by Mike Misheloff at VLSI Technology and then at Compass. There are, however, no standards in this area—each ASIC company has its own, often proprietary, model.
We begin with some definitions:
 D _{ t} _{ 0} is the time from the beginning of the input to beginning of the output.
 D _{ t} _{ 1} is the time from the beginning of the input to the end of the output.
 I _{ R} is the time from the beginning to the end of the input ramp.
In these definitions “beginning” and “end” refer to the projected intersections of the input waveform or the output waveform with V _{ DD} and V _{ SS} as appropriate. Then we can calculate the delay, D (measured with 0.5 trip points at input and output), and output ramp, O _{ R} , as follows:
Experimentally we find that the times, D _{ t} _{ 0} and D _{ t} _{ 1} , are accurately modeled by the following equations:
D _{ t} _{ 0} = A _{ 0} + D _{ 0} C _{ L} + B ¥ min ( I _{ R} , C _{ R} ) + Z ¥ max (0, I _{ R} – C _{ R} ) 

C _{ R} is the critical ramp that separates two regions of operation, we call these slow ramp and fast ramp. A sensible definition for C _{ R } is the point at which the end of the input ramp occurs at the same time the output reaches the 0.5 trip point. This leads to the following equation for C _{ R} :
It is convenient to define two more parameters:
In the region that C _{ R} > I _{ R} , we can simplify Eqs. 13.14 and by using the definitions in Eq. 13.17 , as follows:
D = ( D _{ t} _{ 1} + D _{ t} _{ 0} – I _{ R} )/2 = A _{ 0} + D _{ 0} C _{ L} + d _{ A} /2 + d _{ D} C _{ L} /2 

O _{ R} = D _{ t} _{ 1} – D _{ t} _{ 0} = d _{ A} + d _{ D} C _{ L} . 
Now we can understand the timing parameters in the primitive model in Section 13.5.1 . For example, the following parameter, tA1D_fr , models the falling input to rising output waveform delay for the logic cell (the units are a consistent set: all times are measured in nanoseconds and capacitances in picofarads):
A0 = 0.0015;dA = 0.0789;D0 = 0.2828;dD = 4.6642;B = 0.6879;Z = 0.5630;
The inputslope model predicts delay in the fastramp region, D _{ ISM} (50 %, FR), as follows (0.5 trip points):
= A _{ 0} + D _{ 0} C _{ L} + 0.5 O _{ R} = A _{ 0} + D _{ 0} C _{ L} + d _{ A} /2 + d _{ D} C _{ L} /2 

We can adjust this delay to 0.35/0.65 trip points as follows:
= 0.0015 + 0.65 ¥ 0.0789 + ( –0.2828 C _{ L} + 0.65 ¥ 4.6642) C _{ L} 

We can now compare Eq. 13.21 with the prop–ramp model. The prop–ramp parameters for this logic cell (from the primitive model in Section 13.5.1 ) are:
tA1D_fr = ( Rec prop = 0.078; ramp = 2.749; End);
These parameters predict the following prop–ramp delay (0.35/0.65 trip points):
The inputslope delay model and the prop–ramp delay model predict similar delays in the fastramp region, but for slower inputs the differences can become significant.
13.6.3 Limitations of Logic Simulation
Table 13.11 shows the switching characteristics of a twoinput NAND gate (1X drive) from a commercial 1 m m gatearray family. The difference in propagation delay (with FO = 0) between the inputs A and B is
(0.25 – 0.17) ¥ 2 / (0.25 + 0.17) = 38 %.
This difference is taken into account only by a pintopin delay model.
TABLE 13.11 Switching characteristics of a twoinput NAND gate. 

Fanout 3 

Timing information for most gatelevel simulators is calculated once, before simulation, using a delay calculator. This works as long as the logic cell delays and signal ramps do not change. There are some cases in which this is not true. Table 13.12 shows the switching characteristics of a half adder. In addition to pintopin timing differences there is a timing difference depending on state. For example, the pintopin timing from input pin A to the output pin S depends on the state of the input pin B. Depending on whether B = '0' or B = '1' the difference in propagation delay (at FO = 0) is
(0.93 – 0.58) ¥ 2 / (0.93 + 0.58) = 46 %.
This statedependent timing is not taken into account by simple pintopin delay models and is not accounted for by most gatelevel simulators.
Fanout 4 

1. 1Suffix '1' denotes normal drive strength, suffix 'h' denotes highpower drive strength (approximately ¥ 2) , suffix 's' denotes superpower drive strength (approximately ¥ 4), and a suffix ' m ' ( m =8 or 12) denotes inverter blocks containing m inverters.
[ Chapter start ] [ Previous page ] [ Next page ]
