Pub - Logic Timing Simulation and The Degradation Delay PDF
Pub - Logic Timing Simulation and The Degradation Delay PDF
Distributed by
World Scientific Publishing Co. Re. Ltd.
5 Toh Tuck Link, Singapore 596224
USA ofice: 27 Warren Street, Suite 401-402, Hackensack, NJ 07601
UK ofice: 57 Shelton Street, Covent Garden, London WC2H 9HE
For photocopying of material in this volume, please pay a copying fee through the Copyright
Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to
photocopy is not required from the publisher.
ISBN 1-86094-589-9
“And God made the two great lights; the greater light to rule the day,
and the lesser light to rule the night: he made the stars also. And God
set them in the firmament of heaven to give light upon the earth, and
to rule over the day and over the night, and to divide the light from
the darkness: and God saw that it was good” (Genesis 16-1 8).
vii
viii Prologue
Angel Barriga
From the beginning of its development until the present day, microelec-
tronic technology has made continuous and unstoppable advances in the
miniaturization of the basic components of integrated circuits. This mini-
aturization has had two fundamental consequences. First of all, the capac-
ity to implement extremely complex systems within a single chip.
Secondly, an increasingly higher operation speed in the circuits, more and
more comparable to the propagation speed of the electrical signals pass-
ing through the conductors of the chip.
In order to achieve such highly complex system designs, the designer
needs to use CAD tools for synthesis as well as for verification. The latter
are meant to check that each design description meets the behavioural
specifications.
An aspect which is often overlooked is that the tools or, rather, the
precision of the results obtained with those tools, is very sensitive to tech-
nological variations. In particular, verification tools lose precision
because the behavioural models of the devices they implement lose valid-
ity with technological evolution. In order to avoid this loss of precision in
the results it is necessary to carry out a constant update of the tools by
analysing and improving behavioural models.
The timing behaviour of digital circuits is undoubtedly one of those
with the greatest sensitivity to technological variations. This, along with
the fact that the aim is to achieve a maximum circuit operation speed,
implies a constant scientific need for analysis and improvement of the
timing behavioural models which allow the tools to obtain results which
are sufficiently reliable for the designer.
ix
X Preface
with the basic characteristics of the simulation engine and the delay
model interface.
Chapter 7 is in turn devoted to presenting the results of HALOTIS
simulation using two different behavioural models, the DDM and the
CDM (Conventional Delay Model, which differs from the DDM in that it
does not include the degradation effect). These results are moreover com-
pared with those obtained by means of electrical simulation. Three types
of results are presented which we consider significant: simulation of pulse
propagatiodpulse trains through a chain of gates; calculation of the oper-
ating frequency of a three-inverter ring oscillator; and the simulation of
the metastable behaviour in several latches designed at the logic gate
level. The results clearly show that there is quite a significant increase in
the precision of the results when the degradation effect is included in the
logic simulation.
Lastly, in Chapter 8 of this book a detailed analysis of the switching
activity within the digital circuits is carried out with different types of
timing simulators. The switching activity is a direct measurement of the
average number of changes in the nodes of a circuit. It is a fundamental
parameter for measuring the consumption and the switching noise in dig-
ital circuits. Actually, most tools for estimating the consumption of
energy in digital circuits employ switching activity as a fundamental
parameter. In this chapter, on the one hand, a detailed quantitative study
on the ISCAS85 benchmark circuits is carried out, demonstrating that the
activity due to glitches can become as significant as the functional activity
inherent to the circuit (the one due to the operation of the circuit). The
numerical values here presented show the great importance of treating
glitches when measuring switching activity. On the other hand, the meas-
urements of this parameter obtained with logic simulators are presented,
showing that commercial simulators can make serious errors, whereas
HALOTIS (using DDM) increases precision significantly.
Contents
Prologue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
...
XI11
xiv Contents
1.1 Introduction
The design process of VLSI integrated circuits has different options and
many stages. In general, there are great differences between the design
process of analog and digital integrated circuits. Figure 1.1 outlines these
design processes. In every design process, the tasks to test the correctness
of the design are as important as the design itself. The sooner failures are
detected, the sooner failures are corrected, and the sooner and less expen-
sive it will be to make those possible corrections.
In general, the starting point for an analog design is a circuit at the
transistor level. Although in some cases it is useful to start off with func-
tional descriptions composed of blocks of higher level (mainly amplifiers
of different types), it is always necessary to extract the characteristics of
these blocks and their design with transistors. Once the description of the
circuit has been obtained at the transistor level, it is necessary to verify it.
The layout design is usually manual, following a methodology called
full-custom. The verification of the correctness of a layout is divided into
three main areas. First of all, the verification of construction rules for lay-
out imposed by the foundry, DRC (Design Rule Check). Secondly, it must
be verified that the devices implemented by the layout exist within the
netlist of transistors, LVS (Layout versus Schematic). And thirdly, it must
be verified that the functional behaviour continues within the margins
anticipated by the designer. For this last verification, a netlist with the par-
1
2 Logic-TimingSimulation and the Degradation Delay Model
Architectural level
HDL description
verification
I
1
I Gate netlist
I
andtiming .
verification verification
I
I
Layout
I
I
Layout Transistor netlist
Geometrical
verification
LVS
verification verification and timing
verification
asitic capacitances is extracted from the layout for its simulation with a
circuit simulator.
The process of digital VLSI design is, in general, quite different from
the analog design process. Although the same analog full-custom method-
ology can also be followed in the design process of digital circuits, the
development of CAD tools allows the design process to be automated and
therefore to follow a semi-custom methodology. The starting point of this
methodology consists of raising an architecture (architectural level) from
which an HDL description is usually obtained at the register transfer
level. In these levels of design, the verifications are directed, mainly, at
verifying the correct functional behaviour of the design, schemes of tim-
ing, etc. In these phases of the design, the descriptions are technology-
independent, so other types of verifications which need technological data
cannot be made.
Automatic synthesis tools transform the HDL description into a
netlist at the logic gate level. In some cases, the description at the transis-
tor level of the logic gates is available, so it is possible to generate a netlist
of transistors from the netlist of logic gates. In these levels of design and
the successive levels underneath, the descriptions contain technology
information. Thus, in addition to the functional verification, a timing veri-
fication can be made. An analysis of the design taking into consideration
the dynamic behaviour of the different components which constitute the
circuit also has to be carried out. This analysis is of use to evaluate the
final performance of the chip, as maximum operation frequency and out-
puts delay times. But in addition errors in the behaviour of the circuit
caused by the propagation delays can be detected. The layout is generated
from the logic gate netlist by the use of automatic tools. The verifications
focus on geometrical aspects, checking the violation of the layout rules.
Our interest is centred on the analysis of the problem of timing verifi-
cation. This task is acquiring more and more importance due to two fac-
tors. On the one hand, the development of deep sub-micron technologies
is producing a reduction in the delays of logic gates, so that the intercon-
necting delays have an increasing importance. On the other hand, circuits
with a higher operating frequency and with faster interfaces with other
components are needed. Thus, timing verifications with more precision
and over bigger circuits are needed.
4 Logic- Eming Simulation and the Degradation Delay Model
In order to analyse how ideal each of the simulators is, some charac-
teristics are defined which allow to be classified according to this quality.
These characteristics are:
The maximum circuit size which can be simulated with the existing
computer resources
The time needed to obtain the results (efficiency)
The accuracy of the results (reliability)
A simulator of maximum quality is one which can simulate very large
circuits, in just a short time and with very accurate results. As will be seen
subsequently, while a simulator is more near to some of these characteris-
tics more moves away of the other. For that reason, it is very important in
the whole simulation process that the customer knows the limitations of
each type of simulator and may then choose the best simulator which fits
the needs of the circuit under design.
zeros in the small signal AC transfer function. The program first com-
putes the DC operating point and then determines the linearized,
small-signal models for all the nonlinear devices in the circuit. This
circuit is then used to find the poles and zeros of the transfer function.
The method used in the analysis is a sub-optimal numerical search.
For large circuits it may take a considerable time or fail to find all
poles and zeros.
Small-Signal Distortion Analysis
The distortion analysis portion of SPICE computes steady-state har-
monic and intermodulation products for small input signal magni-
tudes. If signals of a single frequency are specified as the input to the
circuit, the complex values of the second and third harmonics are
determined at every point in the circuit. If there are signals of two fre-
quencies input to the circuit, the analysis determines the complex val-
ues of the circuit variables at the sum and difference of the input
frequencies, and at the difference of the smaller frequency from the
second harmonic of the larger frequency.
Sensitivity Analysis
SPICE will calculate either the DC operating-point sensitivity or the
AC small-signal sensitivity of an output variable with respect to all
circuit variables, including model parameters. Spice calculates the
difference in an output variable (either a node voltage or a branch cur-
rent) by perturbing each parameter of each device independently.
Since the method is a numerical approximation, the results may dem-
onstrate second order effects in highly sensitive parameters, or they
may fail to show very low but non-zero sensitivity. Furthermore, since
each variable is perturbed by a small fraction of its value, zero-valued
parameters are not analysed (this has the benefit of reducing what is
usually a very large amount of data).
Noise Analysis
The noise analysis portion of SPICE does an analysis of device-gen-
erated noise in the given circuit. When provided with an input source
and an output port, the analysis calculates the noise contributions of
each device (and each noise generator within the device) to the output
port voltage. It also calculates the contribution of input noise to the
circuit, equivalent to the output noise coming from a specified input
8 Logic-Eming Simulation and the Degradation Delay Model
solution at the new point is made. This prediction is used as the initial
estimate of the solution for the Newton-Raphson process at the new time
point. Thus simulation proceeds as a march-in-time through a sequence of
discretized time points selected to achieve both convergence of the New-
ton-Raphson process and adequate precision of simulation.
A key factor in this kind of simulator is that there is not delay model
by itself. The functional model includes the delay model, too. So the com-
putation of the output variables cannot be divided, as described later for
other kinds of simulators, into the computation of the functional behav-
iour and the computation of the delays.
This type of simulation is characterized by its high precision. How-
ever, it requires a long time and a great amount of computation resources
to generate results. Computation time grows quickly with the size of the
circuits. For this reason, this type of simulation is generally used to verify
circuits of a small size or independent modules which belong to larger,
high precision circuits. These simulators are also used to compare the
results produced by simulators which are more efficient in computation
times, but less precise. Other tools use SPICE as a reference simulator in
order to produce designs optimized for some parameters while maintain-
ing some other performances. Sometimes the smallest area of the transis-
tors is the desired target.
The purpose of circuit simulators is the electrical characterization of
circuits. Although they can carry out transient analysis, it is not their main
function, so they are not optimized for that task. For this reason, although
they achieve the maximum precision among all kinds of simulators and
their outputs are used as a reference for other simulators, the performance
of speed and the maximum size of circuits which can be simulated with
this kind of simulator is not good enough for simulating complex deep
sub-micron circuits.
But there is another important reason which does not allow the use of
this kind of simulator in the design of digital circuits. These simulators
need a netlist description of the circuit at the device level (transistors,
capacitors and inductors). In the design of digital circuits, based on a
semi-custom design flow, the design is based on standard cells and macro
cells, but it is not usual to have the device level description of the stand-
10 Logic-lhing Simulation and the Degradation Delay Model
ardmacro cells of the foundry libraries. In these cases the use of this type
of simulator is impossible.
Crete sizes assigned to them which depend on the relative value of their
equivalent capacities. This size is used when the internal nodes are dis-
connected from the input nodes. In this situation an effect called distribu-
tion of load occurs, so that the nodes of greater size dominate the load of
the nodes of minor size connected to them.
The simulation of the whole circuit uses an event-driven scheme. This
technique is the one which provides the high speed of generation of
results and makes it possible to analyse very complex circuits. The main
difference is that now there are no blocks with predefined functionality,
but blocks composed by serial-connected transistors. This simulator
structure allows for the simulation of digital circuits with structures with-
out logic gates, as well as circuits constructed with dynamic or differen-
tial logic.
Concerning temporal aspects, there are two basic ways for the calcu-
lus. The first one makes use of a circuit simulator to estimate the delay
and the waveform of the signals. A partition of the circuit is made, estab-
lishing which nodes change their value. With this information, those sub-
circuits whose output nodes had changed their value are selected. The
circuit simulator is applied to these subcircuits so that the analog simula-
tion can be carried out now. The CPU time and the memory required are
reduced considerably because the simulation is not performed over the
whole circuit but over the subcircuit with a node which has changed. With
this technique the propagation delays of signals are obtained with very
good precision. Nevertheless, although a great reduction of CPU time and
other computer resources are obtained with respect to circuit simulation,
when the circuit under simulation is large, the CPU time needed is too
high. This type of simulator is not useful for circuits with more than
10.000 components.
The second way to make the simulation consists of using the event-
driven simulation technique in a way similar to that used in the logic tim-
ing simulation at gate level. This way a higher simulation speed is reached
than with the previous alternative. On the other hand, the precision of the
results depends on the delay model used. In order to apply the event-
driven simulation technique it is necessary to have models of the dynamic
behaviour or a generic network of transistors. This kind of simulation,
with the increase of speed of operation at the cost of precision, has numer-
12 Logic-Timing Simulation and the Degradation Delay Model
ous disadvantages. In the first place, there is still a great complexity in the
design and it is not possible to simulate circuits of great size. On the other
hand, the entry point is a netlist with descriptions at the device level
(mainly transistors), which prevents its use if there are no suitable models.
This type of simulation, halfway between circuit simulation and gate
level simulation is falling into disuse, and is being replaced by other tran-
sistor-level simulators.
The need to verify deep sub-micron circuits of very great size has led to
the appearance of a new type of simulator, which perform a timing verifi-
cation at transistor level with a precision similar to that obtained with
electrical simulators but with much greater speeds.
These commercial simulators (such as Synopsys’s NanoSim or Men-
tor Graphics’ Mach TA) combine the following characteristics:
They use an intelligent partition making it possible, with the synchro-
nization of the design, to carry out parallel operations.
They combine the “time-based” and “event-driven’’ simulation tech-
niques, without losing precision in the results.
They use SPICE, Verilog and other input netlists.
They manage devices such as BJT, JFET, MOSFET, etc.
But the core of this type of simulators are not the models they use, but
how they use them. Due to the commercial secrets which prevail over
these simulators, there is little information available, we know the way of
operation consists of tabulating the behaviour of the devices so that the
execution of the program is much faster and more efficient.
Although these simulators increase the benefits of the circuit simula-
tor with a small degradation in the behaviour, nevertheless they have two
strong drawbacks:
They still have restrictions on the size of the circuit being simulated.
They need netlists based on transistors.
The last restriction can be crucial in semi-custom designs based on
library cells without a transistor level description. In such a case the only
simulation that prevails is the timing-logic simulation.
Chapter 1. Fundamentals of7iming Simulation 13
IN+ OUT
vin
- GND
(4 (b)
Fig. 1.2 a) CMOS inverter, b) Logic model of a CMOS inverter.
X,
4 D namic
hock 1
Real D namic
Log1c x3 - 6lock
~
Gate
(4
Fig. 1.3 Partition of a real logic block into two blocks: functional and
dynamic. a) real logic gate, b) delay model before the gate, c) delay
model after the gate.
ers the functional behaviour of the gate and a second one that considers
the dynamic effects, that is to say, the propagation delay. The second type
of blocks are named the delay elements. As may be observed in Fig. 1.3,
there are two possible configurations for these blocks which in principle
are non-excluding. In the configuration for Fig. 1.3 (b), the dynamic
blocks or delay elements are placed between the input signal and the
functional block. Thus, there are as many blocks as inputs. However, in
the configuration of Fig. 1.3 (c) only one dynamic block is placed
between the functional block and the output signal. On account of the use
of many more elements, the first model gives much greater flexibility than
the second one. Nevertheless, most timing simulators and timing analys-
ers use the second option because it requires much less data storage.
The delay element is fully characterized when it has a delay model
associated with it. A model of this nature is characterized by a set of rules
and parameters which are used to determine the value of the propagation
delay for an input transition. In order to establish a delay model, the fol-
lowing aspects must be considered because they are going to characterize
the model:
Chapter I . Fundamentals of liming Simulation 15
On the one hand, the effects considered in the model. Basically these
effects can be grouped into two types: static and dynamic. The static
ones are those invariant in time, whereas the dynamic ones are chang-
ing in time. The more typical static effects considered are: the pure
delay, the dependency with the output load and the dependency on the
geometry of the transistors. The dynamic effects of greater impor-
tance are the dependency on the slope of input transitions and the
dependency on the closeness between transitions, that is to say,
effects such as collisions and glitches.
The method of obtaining the relations which describe the timing
behaviour. There are two ways to obtain these relations, an analytical
method and a heuristic method. In the analytical method, the initial
point is the simplified model of the transistors, from which the behav-
iour of the output is deduced as a function of the parameters of the
simplified models (geometry, loads, etc.) and the input waveform.
The heuristic method is based on the extraction of an important
amount of information from the electrical simulation to look for the
expressions and/or methods which best describe these data. There are
some adjustment methods and among them the Piece-Wise Linear
(PWL) method is very common.
This way, a digital circuit in the logical-timing level is made up of
blocks which make logic functions along with blocks which incorporate
the dynamic behaviour by means of the evaluation of the propagation
delay. The behaviour of the circuit is determined by the transitions or
events in the signals (i.e. the logical changes from 0 to 1 or from 1 to 0)
and the propagation of these events through the blocks which compose
the circuit.
In order to analyse the behaviour of this type of system, the event-
driven simulation technique is used. The delay model and the event-
driven technique are the two basic characteristics of the simulator tools at
the logical level. The model determines the precision of the results and
the event-driven technique is the one which provides the greatest effi-
ciency in the generation of results. We are going to present briefly some
of the simplest static delay models and the event-driven simulation tech-
nique.
16 Logic-Eming Simulation and the Degradation Delay Model
The zero and unitary delay are the models of lesser complexity. They are
useful mainly for the functional verification, since they do not contain a
minimum degree of precision in the simulation to be able to consider tim-
ing aspects. The model consists of only one parameter of one unit. With
this model, all the gates which compose a circuit design have the same
timing behaviour. Although the results provided by the use of this model
are not precise and it is not possible to consider that a timing verification
has been made, it is possible to detect some timing phenomena such as,
for example, the hazard.
The wide use of static models has made it possible to observe some of the
inaccuracies obtained in the timing logic simulation. The main reason for
this resides in the fact that the propagation delay of a gate changes accord-
ing to the waveform of the input signal. This has led to the development
of new delay models in which these effects are considered. These delay
models are called generically Dynamic Delay Models.
At the moment, the existing dynamic models consider mainly two
effects of the waveform: the slope of the input signal and the closeness
between consecutive changes. This last effect is called the effect of colli-
sions [Melcher et al. (1 992)].
Figure 1.4 shows the different elements necessary to carry out a simula-
tion process. The simulation program arranges, on the one hand, the
netlist of the circuit and the stimuli and control parameters provided by
the user. On the other hand, it has to count on the behaviour models of the
components used in the circuit, often obtained from a precharacterized
library. After developing the simulation process, a set of results is gener-
ated. The verification of a design consists in verifying that the results
obtained when simulating that design match the desired behaviour of the
circuit.
The event-driven technique consists in evaluating exclusively the time
in which events take place and how they propagate through the different
components of the circuit. In most cases, an event is associated to the
change in the value of the signal, so that an event in the input of a gate
may, when coming out, cause a new event in the output of this gate. This
implies a fundamental difference with respect to circuit simulation, in
which an analysis of the value of the signals is made in continuous time,
that is to say, the signals are analysed at every necessary instant in order
to be able to represent the signal by a continuous curve. For this reason
18 Logic-Timing Simulation and the Degradation Delay Model
Simulation
Results
program
netlist)
Behavioural
models
events which have been evaluated and incorporating the new events which
have been generated and have become active elements.
Figure 1.5 shows the main flow of this type of simulation. Once a
period of time is evaluated the simulator advances to the following time in
which pending events exist, which becomes the present time of simula-
tion. Later, the simulator obtains from the queue of events those events
which occur in that moment and updates the value of the active signals.
The active elements are determined from the list of active signals. Later,
the active elements are evaluated and new events can arise. These events
are introduced in the queue following the order in which occur. The proc-
ess is repeated for each event at the present moment. The simulation con-
tinues as long as there is activity in the circuit.
In all that has been presented so far, there are clear tendencies. The
need for high precision timing simulations which are able to support very
great circuits does not allow for the use of electrical simulators due to two
factors. In the first place, the complexity of the calculations makes this
20 Logic- Eming Simulation and the Degradation Delay Model
I Init
i
Actualization of active
signals
1
Computation of new
events
1 YES
2.1 Introduction
In this model, every circuit component has a single delay value which
may depend on several factors. There are two types of delay models:
23
24 Logic- Timing Simulation and the Degradation Delay Model
Zero delay
Outputs change instantaneously when inputs
change. Only functional simulation is carried out.
Unitary delay
The delay value is the same and fixed for every
circuit component. The timing information
obtained is qualitative.
Static
Deterministic The delay depends on the circuit
Calculate a specific nd parameters that do not change
value for the with time. The results are quite
propagation delay. iccurate under bounded operating
Assignable
conditions.
delay
Delay has a
Dynamic
separate value
The delay depends on the
'or each circuit
waveform as well as on static
component.
parameters. Different delay
values are possible for separate
simulation instants. Results can
be very accurate in a wide range
of operating conditions.
Non-deterministic Minimum-maximum
They find bounds for Assign the same probability to every delay value
the delay. They enable within a range.
simulation of random
phenoma but the Statistical
results obtained are The probability of a delay value is ruled by a
often pessimistic. probability function, usually Gaussian.
where tpc,,, is the intrinsic delay of the gate (the delay when C, = 0),
and m,, models the influence of the output capacitance of the gate.
We can consider two types of assignable deterministic delay models:
static and dynamic [McGeer and Brayton (1991)l. In a static model, the
delay of a gate depends only on the circuit and on gate characteristics
which do not change in simulation time. In a dynamic model, the delay
also depends on the input waveform of the element and may vary in simu-
lation time. Static models are less precise than dynamic models since they
do not take into account the history of the input waveform, but they can be
quite accurate if the operation conditions are well-defined and the ele-
ments have been properly characterized.
There are several factors in the input signals which can change the
propagation delay, for example, the input slope or the temporal proximity
of transitions in a gate input (input collisions). Modelling this effect
would make it possible to deal in logic simulation with effects such as
glitch propagation in circuits as well as to detect and to control oscillatory
states [Abramovici et al. (1990)l.
In this section we will see different delay models following in rising order
of complexity and accuracy. We will first look at those helpful in func-
tional verification and we will follow with those which allow timing veri-
fication.
The simplest models are the zero delay model and the unitary delay
model, which are employed in the functional verification of the circuit
without taking into account timing issues.
The zero delay model does not take into account the propagation
delay. Only the functional behaviour of the gate is considered. (Fig. 2.1)
The unitary delay model uses a single delay element in the gate mod-
elling. As may be seen in Fig. 2.2, the model has a single parameter that is
Chapter 2. Delay Models: Evolution and Trends 27
I N 2
IN- OUT I Iu
OUT 3
Fig. 2.2 Unitary delay model.
the propagation delay from an input gate to the output. It must be empha-
sized that in this model all the gates of a circuit have the same timing
behaviour.
Although the results obtained with this model are not yet accurate
enough for temporal verification, they allow for detection of some timing
phenomena such as glitches (Fig. 2.3).
The models that allow for sufficient precision in logic simulation are the
assignable delay models. In these models each logic gate has its own
delay element, that is, each gate has its own delay parameters.
Assignable models can be static, if they do not take into account the
input waveform, or dynamic.
Here four static assignable delay models will be presented in rising order
of complexity as an example.
28 Logic-Ening Simulation and the Degradation Delay Model
\Hazard
The simplest one has only parameter, t, , called pure delay, for each
delay element. In this model any change at the input of a delay element
will change the output with a delay equal to t,, as may be seem in
Fig. 2.4 (a). Unlike the unitary model, in this model each gate can have a
different t , value.
A second version of the model allows for two separate values for the
pure delay of the same element: one for transitions from 0 to 1 (t,,) and
the other one for transitions from 0 to 1 (tPf). Fig. 2.4 (b) shows this
model working. For any gate, t,, y t,, are usually different.
In the third version of the model, the propagation delay depends on
the output capacitance. There is a lineal dependence between them which
follows this expression:
t , = t,, + mcCL 3 (2.2)
where CL is the output capacitance t,,and m, are gate parameters. If
necessary, it is possible to use separate values of t,, and m, for falling
and rising transitions. Fig. 2.4 (c) shows a delay element working with
this delay model. This model takes into account issues related to the
placement of the gate within the circuit (such as fanout).
Chapter 2. Delay Models: Evolution and Trends 29
IN OUT
tP
IN
OUT
I
OUT
Fig. 2.4 Static assignable delay models: a) Pure delay. b) Pure delay
with separate rising and falling values. c ) Pure delay taking into
account the output capacitance. d) Inertial pure delay with t p i = t , .
P wdP1 =8/0.8
-
Fig. 2.5 CharacterizedCMOS inverter. 0.7pm CMOS technology.
v~~
v~~
-
2
O(GND) ----I --
1
. .: ~ ; ; INYERSOR.EF!
. . ... . . . . . . . . .-
an output pulse reaching 50% of the polarization but does not go beyond
it (Fig, 2.7 (b)). The value of the inertial delay is practically equal to the
propagation delay for all the load conditions, so it will be assumed that
tP I'X = tp x '
To sum up, the inverter parameter values for each model version may
be seen in Table 2.3.
Chapter 2. Delay Models: Evolution and Trends 33
Table 2.2 Propagation delay value of an inverter for several output capacitances.
95.06 66.24
130.1 132.5
164.6 198.7
199.2 . 265.0
Table 2.3 Delay parameter values for assignable delay models in a CMOS inverter.
The widespread use of static delay models makes it obvious that the logic
simulation results obtained with these models are not accurate enough.
The main reason is the strong dependence of the gate propagation delay
on the input signal waveform. Because of that, new assignable delay mod-
els, generally called dynamic delay models, have been developed to take
into account these effects.
The existing dynamic models take into account two issues of the
input waveform: the input slope and the proximity between consecutive
changes. The last one is called the collision eflect [Melcher et al. (1992)l.
Fig. 2.8 shows examples of both.
The input slope is relevant because real signals are continuous and do
not change instantaneously between logic levels. To model the wave form
each transition is commonly approximated by a straight line. This lineali-
zation can be carried out following different criteria, for example, the
34 Logic-Timing Simulation and the Degradation Delay Model
IN' >OUT
IN OUT IN2
O U T T \ \
IN2 I-' Ak-~
OUT ?-, P
tp*tpnomal
passing through 10% and the 90% of the polarization range, or taking the
straight tangent to the real curve when it passes through 50% of the polar-
ization range. Both methods lead to satisfactory results. Each transition is
thus characterized by its slope or by the time employed to commute
between polarization rails, which is called transition time. As shown in
Fig. 2.8 (a), if the transition time changes, the propagation delay changes
significantly.
There are two types of collisions. The first one (Fig. 2.8 (b)) occurs
when input changes that are near in time produce output changes in oppo-
site directions. This type of input change generates small pulses or
glitches at the gate output which can propagate through the circuit (glitch
collisions). In the second type input changes that are near in time produce
changes in the gate output in the same direction (Fig. 2.8 (c)). This can
accelerate the output transition in same cases or delay it in others
[Melcher et al. (1992)l.
Nowadays it is necessary to include dynamic effects to provide
enough accuracy. The dependency of the delay on these effects is related
to the production technology of I.C., so it is necessary to develop different
models for each technology. Moreover, technological breakthroughs
Chapter 2. Delay Models: Evolution and Trends 35
It is not easy to obtain suitable criteria to classify the delay models devel-
oped, since there are multiple viewpoints that have led to their develop-
ment. We propose a classification based on four criteria which are
summarized in Table 2.4: technology, abstraction level, effects taken into
account and the method of analysis. Each one is described below.
36 Logic- liming Simulation and the Degradation Delay Model
Tables 2.5, 2.6 and 2.7 show selected works and their characteristics
concerning the former criteria.
38 Logic-Timing Simulation and the Degradation Delay Model
Chatzigeorgiou et Collision
CMOS gates 'lope Analy/Heur reduction
al. (1999a)
Chapter 2. Delay Models: Evolution and Trends 39
(a) (b)
Fig. 2.9 Summary of delay model performance: (a) speed, (b) precis-
sion. H = Heuristic, A = Analytic, G = Gate level, T = Transistor level.
There are two major issues in the evolution of the delay models devel-
oped: the abstraction level used (transistors or gates) and the growing set
of effects that they model. There are works within the gate level as well as
within the transistor level, although many models, especially those based
on analytic studies, can be applied to both levels [Kayssi et al. (1992);
Deschant et al. (1988); Sakurai and Newton (1991); Jeppson (1994);
Daga and Auvergne (1999); Chatzigeorgiou et al. (1999a)l. Usually, the
model is developed for a basic cell (typically an inverter) and is then gen-
eralized for more complex structures employing some type of technique
to reduce them to the basic cell [Sakurai and Newton (1991); Chatzigeor-
giou and Nikolaidis (1998); Chatzigeorgiou et al. (1999b)l. The reduction
technique is very important when determining what level the final imple-
mentation of the model will be applied to.
In both abstraction levels, the accuracy obtained by delay models and,
consequently, by logic simulation, is remarkable. At the beginning, logic
simulation was employed basically to verify the functional operation of
the circuit and, perhaps, employing simple delay models, to obtain quali-
Chapter 2. Delay Models: Evolution and Trends 43
tative timing information. The main causes which set the delay value were
introduced later, such as the output capacitance and the component con-
ductivity. Also, transistor level logic simulation uses delay models based
on RC net models previously developed [Elmore (1948); Rubistein et al.
(1983)l. An important breakthrough in model precision was the introduc-
tion of the transition slope as a parameter to calculate the delay, which
paved the way for dynamic delay models [Deng (1 988); Auvergne et al.
(1990); Kayssi et al. (1993)]. Another dynamic effect being considered is
the input transition collision, whose classification can be found in
[Melcher et al. (1992)l. Collision handling is often found with techniques
which reduce complex gates to a simple equivalent structure [Navavi-
Lishi and Rumin (1994); Chatzigeorgiou and Nikolaidis (1998)l. Colli-
sion propagation which produces small pulses (glitches) is also being
investigated [Moll and Rubio (1992); Rabe et al. (1996)] not only for
delay calculus [Bellido (1994)], but also to calculate the power consump-
tion due to these pulses [Eisele and Berthold (1995); Metra et al. (1995);
Favalli and Metra (1995)l and to study phenomena such as metastability
[Reyneri et al. (1 990); Valencia (1986)].
The addition of dynamic effects and the use of more detailed analysis
which incorporate effects like capacitance coupling between input and
output and short-circuit currents [Jeppson (1994)] have produced delay
models which can reach accuracy levels next to electric simulation, at
least under certain work conditions. At the same time, the introduction of
submicron technologies during the last decade has produced a reanalysis
of the delay phenomenon. The most remarkable characteristic of these
devices related to delay calculus is that they work in saturation during
almost the whole computation process, which is caused by the velocity
saturation of the charge carrier, and not by the pinch-ofleffect, unlike the
long-channel devices. Thus, new electric equations have been proposed
for MOS devices [Sakurai and Newton (1990); Shousna and Aboulwafa
(1993)] which have produced new formulations for the propagation delay
[Sakurai and Newton (1991); Bafleur et al. (1992); Shih et al. (1993);
Kayssi et al. (1992); Bisdounis et al. (1998a); Daga and Auvergne
(1 999)], while applications based on RC models have lost applicability
since the lineal operation zone is no longer the most important one in the
commutation process.
44 Logic-Timing Simulation and the Degradation Delay Model
In our opinion, the trends in the field of delay model research will be
characterized by the following issues:
3.1 Introduction
In the previous chapter we have seen the main issues of digital circuit
time modelling. In order to enhance the precision of a delay model it is
necessary to take into account most of the effects related to the behaviour
of real digital components. In this chapter we will introduce and model
the so-called degradation effect which, as will be shown, is related to the
inertial effect.
When the propagation delay of the circuit is much shorter than the period
corresponding to its operation frequency, signals and gates may be con-
sidered ideal, that is, with zero delay and transition time (Fig. 3.1 (a)).
Also, in this case it is acceptable to suppose that each transition is not
affected by the previous one. Having said that, as operation frequency
increases, non-ideal effects (i.e. effects observed in non-ideal gates)
become more relevant. For example, in Fig. 3.1 (b) we can see two non-
ideal effects: there is a non-zero propagation delay and signal transitions
are not instantaneous.
Thus, because of the rising operation speed of the circuits, it becomes
increasingly important to include non-ideal effects in the delay models
41
48 Logic-Timing Simulation and the Degradation Delay Model
9 7 5 0
4 . 5 0
4 0
3 7 5 0
P 5 0
3 2 6 0
P O
2 . 7 5 0
2 . 5 0
2 . 2 5 0
2 0
L 7 5 0
L 6 0
L -25.3
I . o
7 5 0 ow
S O D OM
250.0"
0 .
used for timing analysis. In this chapter we will introduce and model the
so-called degradation eflect [Juan et al. (1997a)l. At the beginning,
because of the low operation frequency, these effects were not taken into
account to model the timing behaviour of digital components. These
Chapter 3. Degradation and Inertial Effects 49
OUT
I I
Fig. 3.2 Parameter T.
the degradation effect is closely related to the inertial effect, we will study
the inertial effect by going over the model employed in the logic timing
analysis, remarking on the inaccuracies generated by that model and pro-
posing a new algorithm for the inertial effect in full compliance with
DDM.
To develop the DDM we will focus our study on a CMOS inverter. In later
chapters we will extend the model so as to enable its use with complex
gates.
As we have seen, the degradation effect occurs when a new transition
reaches the gate input (in this case an inverter) and its output is still
changing its state. So a parameter is needed to inform about the dynamic
state of the gate when a new input event occurs. An appropriate parameter
is the time elapsed from the last output transition (parameter T ) as shown
in Fig. 3.2.
If T is large enough, that means that the gate has had enough time
since the last output change to reach a stable value. Thus, a new input
change will be propagated with a normal delay by the gate. On the other
hand, if T is small enough, what happens is that the new input transition
arrives when the output has not yet reached a stable value so that an iner-
tial or degradation effect can occur.
Chapter 3. Degradation and Inertial Effects 51
Let us see in detail the three different behaviours that can occur depend-
ing on T (Fig. 3.3). In (a) T is large enough to let the output reach a static
value ( VDDin the example). In this situation, a new input transition will
propagate with a delay which will not depend on the instant when it last
changed (ie.it will be independent of 7). In this case we say that the tran-
sition will propagate with normal delay.
In (b) the new transition occurs when the output is still switching
from V D d 2 to VDD.The propagation delay of this new transition, $2, is
shorter than the normal propagation delay (G2 < t p l ) , so we would say
that the transition propagates with degradation.
Finally, in (c) T is even smaller. The output has not reached the com-
mutation threshold V D d 2 , so we could say that the output transition has
not occurred. In this case the input pulse is filtered (inertial effect).
This last situation seems to be in conflict with the meaning of param-
eter T since the last output transition, which serves as a reference for
measuring this parameter, has not occurred. This is solved by defining T
in a more precise and useful way.
In a CMOS inverter, we will call T the time elapsed from the “pre-
dicted” instant of an output transition (either it occurs or not) to the
instant when the next output transition occurs.
Taking this definition of T into account, Fig. 3.4 shows the normal-
ized propagation delay versus 7: There we can see three behaviour
regions: one for larger values of Tin which the propagation delay is prac-
tically not affected (normal propagation), another region for medium val-
ues of Tin which the delay is appreciably lower than in the normal region
(degradation region), and a last zone corresponding to very small values
of T in which the output transition is cancelled with the previous transi-
tion (pulse filtering region).
52 Logic- fiming Simulation and the Degradation Delay Model
VDD
0
0
t
0
I
0
I
-0.2 ' T
t , = t,,(l-e
--T - T
7 4, (3.1)
where t,, is the normal propagation delay (that is, when there is no deg-
radation effect) 1; and T o are parameters that must be adjusted.
In Fig. 3.5 (a) we can see the real behaviour of a CMOS inverter
obtained with HSPICE (each circle represents a data item obtained by
simulation) and also how Eq. (3.3) fits these points. There we can see that
54 Logic-TimingSimulation and the Degradation Delay Model
T o represents the value for which the curve reaches zero while z is the
characteristic time of the exponential. These parameters characterize the
degradation effect so that they will be called degradation parameters. We
will call the model proposed in Eq. (3.1) the DDM (Degradation DeZay
Model).
As mentioned, z and T o are parameters which must be set to fit as
well as possible the data obtained by electric simulation. This may be
done by linear regression rewriting the previous expression in this way:
(3.3)
0.8
0.6
0
4
Ti&
u 0.4
0.2
0.0
I
T,
-0.2 500 1000
T (PS)
500
T/= 169.4f0.9
To/=102f1
400 - Corr. coef.. = 0,99990
v
300 -
h
200 -
Fig. 3.5 Curves used to obtain the degradation parameter values using
data from electrical simulation: a) tp versus T.b) linear regression over
simulation data.
56 Logic-lTming Simulation and the Degradation Delay Model
Thus, Eq. (3.1) is the starting point for modelling the propagation
delay including the degradation effect. We will use it to interpret and real-
ize the meaning of the degradation parameters, so that we will able to
evaluate the importance of this effect. In the next chapter we will make a
characterization of these parameters with respect to the microelectronic
design parameters.
(3.10)
(3.11)
(3.12)
As seen in Fig. 3.3 and Fig. 3.4, there are three behaviour regions: normal
propagation, degradation and filtering. Here we will obtain the values of T
which set the limits between these behaviour regions, taking into account
the degradation parameters.
3.2.4. I Limit between the normal propagation region and the degrada-
tion region
The change from the normal propagation region to the degradation region
is gradual so that setting a limit is a question of consensus. In order to
simplify, we will use the same rule employed in the definition of parame-
ter T : any input transition that propagates with a delay greater or equal to
95% of the normal propagation delay is considered to be within the nor-
mal propagation region. From Eq. (3.8) we get:
T < T o + 32 t , < 0.95tp0
*
T > T o+ 32 t , > 0.95tpo, (3.13)
Thus, the value of T (we will call it TNP,for Normal Propagation) which
separate the two behaviour regions is defined as:
T N p = T o+ 3 2 . (3.14)
I T
IN (7 >I
tPf I
I tpro
OUT , >
(3.18)
Chapter 3. Degradation and Inertial Effects 61
0 T
Table 3.1 Several approximations to the limit between the filtering region and the
degradation region.
it follows that:
1
TPF = 1 + z / t p 0To . (3.19)
with just the first order approximation we obtain enough precision, about
5% of the exact calculated value.
We must remark that, although calculating T p F is of theoretical inter-
est, the model is not expected to reach the highest precision around
T p F but rather around T N p , the limit of the normal propagation region,
since in general, we will want to know when and how the signal delay is
degraded in order to avoid entering into filtering or strong degradation
regions.
Table 3.2 Limit of the normal propagation region with respect to pulse width ( T w ~ p )
(Normalized with the normal propagation delay). WN=4pm,VDD=SV, CL=~C,.
Example 1: k=l
0.1
0.1 229 121 189 -5.86 790 6.5 6.5
0.1
2 384 162 139 79.4 880 5.4
5 618 187 140 217 1255 6.7
Example 2: k=2
that table has been obtained for a load capacitance C, four times the
inverter input capacitance ( C , = 4 c f N ) . The input slope (qn) is normal-
ized to the propagation time of a step transition (t,,). The others are tim-
ing parameters which set the normal propagation delay and the
degradation parameters needed to calculate T,,.
Looking at the last column of the table we can see that the value of
TwNpis about 3 times the value of tpJD when k=2, and can reach 6 times
such a value for k ; l . The value T W ~versus
p $J,is very significant since it
indicates that the degradation effect cannot be neglected, especially in cir-
cuits running at a very high speed. Indeed, when the elapsed time since
the last output transition is 2-3 times the propagation delay, the gate has
not reached a stable value yet, and new input transitions will produce a
degraded delay.
64 Logic-Erning Simulation and the Degradation Delay Model
lp/u - I, - $lo
J
Fig. 3.9 Pulse narrowing due to the degradation effect affecting the
second transition.
To see what happens when an input pulse reaches the gate input, let us
assume, as a simple example, that the propagation delay for both transi-
tion types is t,, and that TwNp/t,, is equal to 3, which is a conservative
estimation as seen in Table 3.2. In this case, Fig. 3.9 shows that the delay
of the second transition of an input pulse will be degraded as long as the
pulse width is lower than three times the normal propagation delay. The
output pulse will be appreciably narrower than the original input pulse
(Two,,< T w i n )despite
, the fact that the width of the latter is much greater
than the normal propagation delay. If the output pulse propagates through
a similar gate, it will be more degraded than the original input pulse.
Since the degradation is accumulative, the pulse can turn marginal (very
narrow) even if the pulse looks as normal as the one shown (with
Twin 3 t P 0>.
This result shows that the degradation effect is very relevant near the max-
imum operation frequency which a circuit can reach as shall be shown in
the next section.
tI .
I
I
IN
OUT
the delay degradation below the degradation limit defined above. Thus,
the digital characteristics of the signal are assured. It is not a pessimistic
criteria since once degradation starts at a given stage, it may increase
exponentially in following stages, as may be observed in Fig. 3.4.
Let us consider a single inverter under consecutive input transitions
forming a periodic pulse train. Let tl be the time spent by the input signal
in the high state and t2 the time spent in the low state (Fig. 3.10). The
maximum frequency above the degradation limit is achieved when:
T1 = To), + 32, T , = T o [ +321. (3.23)
Under these conditions it holds that
tp[ = 0.95tp,, tph = 0.95tpho, (3.24)
hence,
fl = 0.95tp[o+DL, t 2 = 0.95tPho+ D L , , (3.25)
which yields the maximum frequency,
1/ 2
(3.26)
deg = 0.95tP,, + DL, ’
where,
t p i -I-
tph DL, + DL,
tpmo = - , DL, = (3.27)
2 2 -
For practical purposes, fdeg can be approximated by
1/2
(3.28)
deg = tpmO+ DL, *
66 Logic- k i n g Simulation and the Degradation Delay Model
Table 3.3 Inverter parameters and maximum frequencies for different input slopes.
shown in Table 3.3. In this table, ~i~ is the input transition time and THLs
is the step response delay, which is used as a convenient normalizing
parameter [Auvergne et al. (1987)]. The expected overestimation appears
to be very important, since it is more than four times larger than the limit
imposed by the degradation effect, which lies around 700MHz.
the input signal by D i,but also filters out positive or negative pulses of a
duration of less than D i’,. This model is illustrated in Fig. 6.1 1 of [Unger
(1 989)].
Most logic-timing simulators use an inertial delay to take the inertial
effect into account. To calculate the value of the inertial delay of a given
gate, the criteria widely adopted is the use of a universal (same for each
gate) threshold voltage at half the supply rail ( v,/2) 2 to measure signal
switching. Thus, an input pulse to a gate is filtered if the generated output
pulse does not reach the VDD/2 threshold, and then, an input pulse of a
width smaller than D igenerates an output pulse of an amplitude smaller
than vDD/2. This simple model is not accurate in many situations, as
will be soon shown. In Fig. 3.12 (a) we find a test circuit in which an
inverting driver (go) is loaded by two other inverter gates, gl and 82. The
two loading inverters have different DC transfer curves with different
threshold voltage: V T ~ =1 . 3 2 ~V= ,~ 3 . 4 1 ~(Fig. 3.12 (b)). These thresh-
olds are defined as the input voltage which makes V,,, = v D D / 2 ,a good
way to estimate the output logic state of the gate for a given input voltage,
due to the large value of the slope at that point of the DC curves. Each
loading inverter, in turn, is loaded by a chain of inverters, which are able
to regenerate positive pulses. The propagation of an input pulse at go, nar-
rower than the inertial delay, is simulated using the electrical simulator
HSPICE [Hspice (1999)] and a conventional inertial delay model. Results
are plotted in Fig. 3.13. Obviously, as the pulse width is smaller than the
inertial delay, the output pulse at outO does not reach the vD,/2 thresh-
old and, from the point of view of a model using the inertial delay, the
pulse is filtered at go and no other activity is observed in the logic simula-
tion (Fig. 3.13 (b)). However, the accurate electrical simulation in
Fig. 3.13 (a) shows that the output pulse at outO is able to propagate
through g2 and is easily regenerated through the chain of inverters
c ) , it is filtered at gl . That is, the inertial effect only occurs for
( o u ~ ~ while
gl, but not for 82. This example shows how modelling the inertial effect
through an inertial delay may predict an output result which differs from
the actual behaviour.
The reason for this inaccuracy in the inertial delay model lies in that
the inertial effect cannot be accurately reproduced using a single and uni-
versal threshold (vDD/2) to determine logic switching. This way, pulses
Chapter 3. Degradation and Inertial Effects 69
outlc
chain
that do not reach the threshold, like the one at out0 in Fig. 3.13 (a), are
neglected, while they are still able to propagate through a loading gate.
Propagation of such a pulse will depend on particular input thresholds of
the loading gates. The pulse at out0 does not cross the input threshold of
gl, as defined in the DC curves (Fig. 3.12 (b)), and is then not able to
force out1 to switch; but the pulse crosses the input threshold of 82, so it
will induce some change at the g2 output at least a small pulse like the
one at out2, which might be regenerated afterwards.
70 Logic- Eming Simulation and the Degradation Delay Model
5
f
4 -
3 - out2
2 -
1- outlc
. outl
I I I I
in
I I !
out0 I I I I
outl I I I I
I I I I
out2
I
outlc I I I I
out2c I I I I
0 1 2 3
(b)
We propose a new model that combines the DDM to calculate delays and
a new method to handle the inertial effect in order to take account of par-
ticular input thresholds. The new algorithm is based on the following
points:
As an example, Fig. 3.14 shows how the case in Fig. 3.12 is handled
using this approach. In Fig. 3.14, transition-1 in signal out0 generates
events gl-el and g2-el in gI and 82, respectively. In the same way,
transition-2 generates events gl-e2 and g2-e2. As the input threshold
does not reach V,, ,events gl-el and gl-e2 do not need to be evaluated,
and will be dequeued before evaluation.
The IDDM can be summarized in the following simplified algorithm,
which handles the propagation of an event given by a ( tgt,z) pair:
12 Logic-lhing Simulation and the Degradation Delay Model
3.4.3 Results
5.0 r I I -
in i
0.0 ’
1000 2000 3000
5.0 !
out0 : I I I
0.0
0 1000 , 2000 , 3000 _I
5.0 r I I I
out1 :
0.0 ’
1000 , 2000 , 3000 _I
5.0 r I
1 I
out2 :
0.0
0 1000 , 3000 _I
5.0 r I 2900 I
I
outlc i
0.0 ’
0 1003 2000 3000 _I
5.0 r I I
out2c ;
0.0 ’ 1000
I
3000
t (ps) 2ooo
Fig. 3.15 Waveforms generated using the proposed approach for the
case in Fig. 3.13.
whole chain, failing to show the quantitative and even the qualitative
behaviour.
Chapter 4
CMOS Inverter Degradation Delay Model
Jorge Juan Chic0
Alejandro Mill& Calderdn
4.1 Introduction
75
76 Logic-TimingSimulation and the Degradation Delay Model
gation delay. Also, regarding the normal propagation delay, a new method
for characterizing the input-to-output coupling capacitance of the CMOS
inverter for logic simulation is presented, greatly improving the calcula-
tion of the overshoot time, which is an important part of the total propaga-
tion delay. In the fourth and fifth sections, the equations for the
degradation parameters -7 and T o- and a characterization method are
obtained, respectively.
This section describes the most relevant facts in current submicron tech-
nologies affecting the design of delay models for logic simulation. A set
of technological parameters are introduced, which are adequate for the
timing description of digital CMOS circuits. This section is based on
[Auvergne et al. (1 990)].
When entering the submicron range, second order effects in the
CMOS structure due to a higher electric field in the channel become non-
negligible. Among these effects, one of the most important ones is the
carrier’s velocity saturation which takes place for electric fields above
lo4 V/cm.
Another important effect is the reduction of the carrier’s mobility,
caused by the increased substrate doping ( N s u b), the reduction in oxide
thickness ( t o , ) and a higher vertical field, represented by V,, - V , . A
simple model describing this phenomenon is presented in [Tsividis
(1988)l:
(4.1)
where
a&
e(t0,) = A d ,with a, = 0.025pmN. (4.2)
2 Es t o ,
In the previous equations, po is the field mobility, which decreases
with the doping concentration N s u b .On the other hand, e(to,) varies
from 0.17 to 0.28 when oxide thickness to, changes from 250 to 150 A,
which causes a mobility reduction due to the vertical field when scaling to
Chapter 4. CMOS Inverter Degradation Delay Model I1
If' = K P wP( V G S P I
- vTPl) , (4.3)
where K N and K , measure the current capabilities of the minimum tran-
sistor and will be referred to as drivingfactors. Parameters K , , K , , V ,
and V , are directly extracted from calibration curves such as the ones in
Fig. 4.2.
Driving factors K , and K , can be used to define new technological
parameters which are useful from the timing point of view. This is the
case of the parameter zsT, which is a measure of the maximum speed
available in the process [Auvergne et al. (1987)l. More precisely, zST is
defined as the propagation delay of a minimum inverter loaded by an
identical one when a rising step input transition is applied at the input and
parasitic and coupling capacitances are neglected.
From a circuit point of view, as shown in Fig. 4.3, zST is the discharg-
ing time of the output node of the mentioned inverter from the supply
voltage V D D to half the supply voltage VDD/2, when the NMOS transis-
tor is driving the maximum current available. For short channel devices,
the active transistor in a CMOS inverter under a step input transition will
always operate in saturation due to the saturation effects described above.
Therefore,
78 Logic-lhing Simulation and the Degradation Delay Model
(
Chapter 4. CMOS Inverter Degradation Delay Model 79
400
. slope = 109.5357 err 0.5587783
constant = -1 40.8387 err 1.972944
300 - corr. coef. = 0.9995969
- VTN = 1.285779 V
$5200 -
I
3
100 -
where A V is the voltage drop at the output node, Imaxis the saturation
current and CL is the total output load. In our case, these quantities are,
respectively:
80 Logic-Eming Simulation and the Degradation Delay Model
VDD
AV = -
2 ' (
(4.5)
(4.6)
(4.7)
Operating on Eq. (4.4) yields:
(4.8)
(4.9)
In Eq. (4.9) we can see the direct relation between the process maximum
speed, T ~ and , maximum speed of the carriers, v, .
~ the
Chapter 4. CMOS Inverter Degradation Delay Model 81
Table 4.1 Process speed and dissymmetry evolution for various CMOS technologies.
1.1 0.8 0.7
T*x (A> 250 200 150
zST (Ps> 33 28 24
R, 2.4 2.2 2
(4.10)
Studying the evolution of zST and R, with the minimum feature size
of the technology makes it possible to know the evolution of the speed
and dissymmetry of the switching process of logic devices. Table 4.1
taken from [Daga et al. (1996a)l shows that a reduction of 38% in the
minimum length when going from a 1.1 mm to a 0.7 mm technology only
gives a 27% speed increment, which is due to the mentioned new satura-
tion effects which appear in the submicron range.
In addition, we can see that the intrinsic dissymmetry is reduced in
the submicron range when we use shorter channel lengths. This is due to
the fact that the critical field for holes is higher than for electrons, causing
saturation effects to appear sooner in electrons, partially compensating
the mobility difference between carriers.
To obtain a model for the normal propagation delay of the CMOS inverter
we will start with the electric model of the CMOS inverter in Fig. 4.4.In
this model, C, represents the total output connected to the output node -
including parasitic capacitances- and C, is the total input-to-output
coupling capacitance. As will be shown later on, C, may be considered
constant during the propagation of an input transition, but having different
values for rising and falling transitions.
Chapter 4. CMOS Inverter Degradation Delay Model 83
IN '-b- OUT
6.0 I 1 2.5
overshoot short-circuit
2.0
4.0 1.5
>
h
v 1
4
E
k --- W
LII
2.0 0.5
0.0 -0.5
0 500 1500
t cpsjooo
By integrating the above equation we can derive the total output volt-
age variation (AVO)caused by a finite input voltage variation (AV,):
t
(CL + CM)AVo = C ,A V i-[ Idt. (4.12)
c, = Avo c, (4.15)
'DLJ - Avo
86 Logic-Timing Simulation and the Degradation Delay Model
Once the transistor driving the short-circuit current is cut off, the output
transition is ended by the complete discharge of the output capacitance,
with the transistor acting as the driver. From the viewpoint of delay calcu-
lation, the interest is in the evolution of the output voltage until it crosses
the logic threshold, very commonly set at Y D D / 2 . The output waveform
in this region also depends on the output load and on the input transition
slope, unless the input transition is fast enough to finish before entering
the discharge region. In most practical cases and for submicron devices,
the driving transistor operates in saturation mode in this region, making
the output be lineal at least until it crosses the logic threshold. It is thus
possible to calculate the slope of the linearized output voltage curve,
which is needed by any delay model to be implemented in a simulation
tool.
(4.16)
I o t
tIO
v; =
{ Vm-
Tin
O<t<z;,. (4.17)
88 Logic-Timing Simulation and the Degradation Delay Model
However, solving this equation in the general case for the whole transition
process is difficult because the CMOS transistors forming the inverter go
through different regions of operation which depend on the slope of the
input transition. This complexity prevents us from obtaining a closed-
form analytical solution even when using a simplified electrical model for
the CMOS transistors. It is possible, however, to distinguish between two
different situations, one corresponding to fast input transitions and the
other to slow input transitions. In the first case, it is possible to obtain a
closed-form solution. The slow case is much more difficult, especially
due to the operation in the short-circuit region. A description will be given
of the method and model presented by Daga et al. [Daga et al. (1 996b)],
which solves the problem for the fast case and proposes an empirical cor-
recting factor modulated by technological coefficients which takes into
account the slow case. These technological coefficients are extracted by
fitting data from accurate electrical simulation.
In the following subsections we will start by analysing the special
case of an input step transition, which is the fastest input transition and
the basis for defining more accurate expressions of the delay. Then the
limit between fast and slow input transitions will be established, to finish
with the general model.
VGSVDD
I
VDD
VDDQ
This delay time is represented graphically in Fig. 4.8. During the step
response, the NMOS is working in saturation, thus driving a constant cur-
rent given by
I N = K NW N (VDD- V T N -) (4.18)
The above definition of tpfs results in:
(4.19)
giving the following value for tpfs:
(4.20)
(4.21)
Other usehl ways to express tpfs are:
C L
tpJi = =ST- (4.22)
2 c N ’
where C N = CoxLmin
W N is the gate capacitance of the NMOS, or
(4.23)
(4.25)
The actual response of CMOS gates does not establish a clear limit
between slow and fast input transitions, since the delay depends continu-
ously on the input transition time. However, and in order to obtain closed-
form expressions for the delay, it is necessary to establish some limits
enabling the necessary simplification. In this section different criteria are
introduced to establish these limits and analyse their benefits and draw-
backs. Once the preferred criterion is selected, an accurate limit is calcu-
lated to distinguish between slow and fast input transitions.
Any criterion should provide a critical value for the input transition
time, noted T ~ so~that~ input, transitions with smaller transition times
would be classified as fast and those with a larger transition time would be
Chapter 4. CMOS Inverter Degradation Delay Model 91
considered slow. The following are examples of speed criteria for input
transitions:
In terms of the duration of the output transition (zOul): zinc =
In terms of operating in the short-circuit region or not:
Tin < zinc Isc 03
2, > zinc I,, # 0 .
In terms of the duration of the overshoot: T~~~ = t o , .
The first criterion is probably the most realistic because it defines the
speed of the input in terms of the speed of the output. It is not very useful,
however, from the analytical point of view because it does not determine
in which region the CMOS transistors will operate at the critical point.
The second criterion is appropriate from the analytical point of view
since convenient simplification can be made whether short-circuit cur-
rents are present or not. The problem of this criterion is the difficulty in
calculating an accurate limit when short-circuit currents are negligible
during the whole transition.
The third criterion overcomes the limitations of the previous ones. It
warranties that for zi, < to,, the short-circuit currents will be negligible,
greatly simplifying the analysis. For zin> to,, short-circuit currents may
be important and should be considered and, in general, the MOS transis-
tors will go through different regions of operation before the output tran-
sition crosses the logic threshold. Additionally, it is easy to calculate
analytically when zinc= to,, so this will be the criterion chosen and ana-
lysed below.
Figure 4.9 shows examples of fast and slow input transitions, besides the
limit transition which defines the critical transition time. To obtain an
expression for zincit is necessary to calculate the value of to, which, in
turn, depends on zi, . It is possible to obtain two expressions for to, using
Eq. (4.16) and (4.17), one for slow and the other for fast input transitions.
If I, = 0 , then:
92 Logic-liming Simulation and the Degradation Delay Model
6.0 I I
Fig. 4.9 Fast and slow input transitions and critical transition time:
a) fast input transition, b) slow input transition, c) limit transition.
(4.26)
The limit condition is qnc= t o v ( ~ i nand
c ) may be applied to any of
the two previous expressions. Using the one for the fast case which is sim-
pler yields
(4.27)
Chapter 4. CMOS Inverter Degradation Delay Model 93
(4.28)
In this case, once the overshoot is finished, the NMOS is driving its maxi-
mum available current. The evolution of the output waveform from the
point where V , = V D D is exactly the same that was described during the
calculation of tpfs. Hence, as shown in Fig. 4.10, the propagation delay
can be written as
--
L. in
t,f = to, + tpfs 9 (4.29)
2
94 Logic-Timing Simulation and the Degradation Delay Model
where all the terms are already known except for the overshoot time to,.
To calculate to, Eq. (4.16) can be solved using Eq. (4.17) for V , . Due to
the relative small value of the overshoot voltage, I p is neglected to sim-
plify the calculations.
A distinction should be made between two regions of operation to
obtain V , . In the first one t I q f land
,
(4.30)
(4.31)
In the second region, zi,< t I to, and the NMOS transistor is working
in saturation, driving its maximum current:
I N m a x = K N@”( VDD- VTN). (4.32)
By applying the condition V,(t,,) = VDD the overshoot is obtained for
the fast case already mentioned in Eq. (4.26):
(4.33)
Substituting in Eq. (4.29), the propagation delay for fast rising input tran-
sitions yields:
(4.34)
In a similar way, the propagation delay for falling input transitions may be
calculated as:
(4.35)
Chapter 4. CMOS Inverter Degradation Delay Model 95
250
200
non-linear region
150
h
v
K
rQ
100
50
The method proposed in [Daga et al. (1996b)l to take into account the
slow input transitions consists in applying a correcting factor to the
expressions for fast input transitions. This correcting factor is empirically
introduced and models the non-lineal dependence of the delay on the
input transition time for slow input transitions (Fig. 4.1 1). The correcting
factor also takes into account the dependence on supply voltage and the
transistor’s geometry. These corrected expressions, for both types of tran-
sitions, are:
(4.36)
96 Logic-li'ming Simulation and the Degradation Delay Model
Table 4.2 Semi-empirical fitting parameters to model slow input transition delay in
0.7 pm CMOS technology
Delay value a P Y
tpf 0.067 1.8 1.15
tPl. 0.037 5.31 1.19
6.0
5.0 2.5
I I
4.0
23.0
2.0
1.o
0.0
Fig. 4.12 Fast and slow input transitions for z,~ calculation. Fast
I 2 t p f . Slow input transition:
input transition: I d = I,,, , z~,,
I , <Im,, , Tin> 2 t P f .
(4.37)
(4.40)
yielding:
1 - VTN
Tour = 2tpfsl (4.41)
--vTN+- tP f
2 Tin
(4.42)
Fig. 4.5). Accurately modelling this time requires a good model for the
IOCC, which is typically calculated by a single constant capacitor (C, )
in digital delay modelling. Actually, the IOCC is highly non-linear since
it is formed by the summation of the gate-to-drain capacitances of both
transistors in the inverter structure:
CgdN -k cgdP * (4.43)
Hence, it is very important to reduce the non-linear behaviour correctly to
an equivalent capacitor C, as it may have an important impact on the
resulting delay. Indeed, it seems that at least two values of C, have to be
calculated, one for each type of transition.
This section shows that the IOCC remains almost constant during the
overshoot region, which validates the modelling through an equivalent
capacitor. It is also shown that the traditional approach of neglecting the
contribution of the driving transistor to C, is no longer valid in the sub-
micron range and causes an important underestimation in the overshoot
time calculation. An accurate model for C, is proposed, which takes into
account the variation in the inverter geometry configuration. It shows very
good accuracy with respect to the actual capacitance obtained by electri-
cal simulation with the HSPICE electrical simulator [Hspice (1999)],
without adding significant additional complexity to conventional calcula-
tions. The overshoot time obtained with this model practically matches
the one obtained with HSPICE internal capacitance models.
This study will consider the Meyer model for MOS capacitances, which is
widely used in electrical simulators. In the Meyer model, six independent
capacitances calculate the charge effects in the MOS transistor, one for
each pair of the MOSFET terminals (Fig. 4.13). Taking a look at the
CMOS inverter in Fig. 4.14, it is clear that the gate-to-drain capacitances
(C,,) of both PMOS and NMOS transistors sum up to give the total
input-to-output coupling capacitance C, . These capacitances ( C,,, and
C g d P need
) to be evaluated to take into account the coupling effects
between input and output.
100 Logic-Eming Simulation and the Degradation Delay Model
linear operation
saturation operation
vDS (v)
Figure 4.15 shows the value of C g d for the different regions of opera-
tion of a micron ( L = 8mm) NMOS transistor, being almost the same for a
PMOS. It can be seen that the conventional approach is accurate enough
for this kind of device, assuming deep linear or saturated operation are
applied. The small gate-to-drain capacitance which remains in the satura-
tion region is due to overlap capacitances, which is negligible for long
channel devices.
For convenience, the reduced input-to-output coupling capacitances
shall be defined as:
(4.46)
102 Logic-liming Simulation and the Degradation Delay Model
Thus, the conventional approach, valid for long channel devices, may be
expressed as:
C,,- = 0.5 C,, = 0.5. (4.47)
As the length of the MOS transistor is decreased, the total gate capaci-
tance decreases, while the overlap capacitance contribution to Cgd
remains constant. This causes that in the saturation region, the overlap
capacitance might not be negligible for short channel MOSFET’s [Chen
(1 990)]. In Fig. 4.16, the gate-to-drain capacitance for submicron N and P
MOSFET’s are plotted as a function of gate and drain voltage. The fol-
lowing will focus on minimal length transistors, as shown in Fig. 4.16. A
major difference with respect to micron devices arises: the gate-to-drain
capacitance in the saturation region becomes more important, which
agrees with the overlap capacitance conservation explained above.
As a direct consequence and for a given transition, the saturated
MOSFET may contribute significantly to the overall IOCC, especially in
non-symmetric inverters ( W, # W,).
From plots like the one shown in Fig. 4.16, effective values for c g d in
the linear and saturation regions can be obtained. As before, the case of a
rising input edge will be explained, the opposite case being analogous.
Since V,, is small for the transistor operating in the linear region during
the evolution of the overshoot, it will operate around point A in Fig. 4.16.
With respect to the driving transistor, the drain-to-source voltage lies
around V,, ,thus operating near point B. For each transistor, an effective
constant capacitance is defined, corresponding to points A and B. For a
sample 0.7 mm CMOS technology (Cox=2.3 fF/mm2, Lmin = 0.8 mm), it
yields:
cgd,I,, = o.521cgN CgdN[SAT = o-126cgh’, (4.48)
CgdPILIN = 0.522cgP CgdPISAT = o.126cgP* (4.49)
The IOCC is then calculated, for each type of transition, as:
Chapter 4. CMOS Inverter Degradation Delay Model 103
NMOS TRANSISTOR
0"
% 0.5
u"
PMOS TRANSISTOR
c,, = a + p-,
c g p
(4.5 1)
cgN
where,
(4.52)
In this case, coefficients a and p are the same for both P and N transistors.
If necessary, and depending on the process, these coefficients can be given
particular values for each type of device.
The gate capacitance quotient can be expressed in terms of the inter-
nal dissymmetry of the inverter ( k = W p / W N):
(4.53)
to obtain
C, = a+p/k, (4.54)
c,, = a+p. (4.55)
In these expressions, a corresponds to the conventional approach while p
takes account of the capacitances in the saturation region, which were
neglected in the conventional calculation. Indeed, a and p can also be cal-
culated for the micron device of Fig. 4.15, giving:
a = 0.503 p = 0.018, (4.56)
which makes the second term of Eq. (4.54) and (4.55) negligible for most
practical values of k, obtaining the traditional result shown in Eq. (4.47).
Considering the form of Eq. (4.54) and (4.55), the greatest deviations
from the traditional result are obtained for a large dissymmetry ( k << 1 or
k >> 1 ), for which the second term may become dominant.
Chapter 4. CMOS Inverter Degradation Delay Model 105
for both types of transistors, which is very close to the one obtained from
the C,, curves in Eq. (4.52). Nevertheless, the calculation through the
c g d curves is recommended as it provides higher precision and can be
Both the conventional and the proposed approaches rely on the fact that
the IOCC can be modelled by an equivalent capacitor C, ,which remains
unchanged during the overshoot. Figure 4.17 shows the waveforms of an
inverter’s input and output for both types of transitions, besides the instan-
taneous coupling capacitance obtained with HSPICE (through the LX32
MOS model template). In this example, different coupling capacitances
are observed for different input transitions (Fig. 4.17 (a)). It can be seen in
Figs. 4.17 (b) and 4.17 (c) that the IOCC remains almost constant during
106 Logic-7Iming Simulation and the Degradation Delay Model
61 I 0.5
5
0.4
4
0.3 mn
E 3 B
a2 0.2 Q
1
0.1
0
5 5
0.4 0.4
4 4
0.3 0
E3
b 2
0.3@0
B
9
e
-3
b 2
0.2 0.2 0
1 1 2
0.1 0.1
0 0
The proposed approach adequately models the IOCC even for the
most marginal cases, especially for k c 1 , where the traditional
approach greatly deviates from the actual behaviour. The proposed
model is, indeed, within 8% with respect to HSPICE for the whole
studied range.
The same discussion can be applied to the case of a rising output tran-
sition, provided we use k-I instead of k .
As stated before, the IOCC affects the inverter delay through the over-
shoot time. From Eqs. (4.29) and (4.36):
tpf = ( t o v - ? + t p f s ) K , (4.60)
where tpfs is the step response delay and K a coefficient decaying from
one, which takes into account very slow input transitions. In this section
the performance of the proposed CM model is evaluated by measuring the
overshoot time obtained when the IOCC of the inverter is substituted by
our model. Three situations are actually simulated (Fig. 4.18): a) the
“real” inverter with the SPICE non-linear capacitance model, b) the same
inverter with the IOCC modelled by the traditional C , model, and c) the
same inverter with the proposed CM model.
Table 4.4 shows the overshoot time measurements for the three con-
figurations and the same inverter cases used in the previous section. Simi-
lar comments can be applied here to t o “ : the lack of accuracy of the
traditional C, model translates into important to, errors, even for the
better cases. However, the results using the proposed model are within 2%
for most cases and never above 5% even for the worst case. Though only
one example is presented here, the design space has been explored show-
ing that similar results are obtained for C, E [ C, 8C,,] , W , E [2, 161
and for a wide range of input slopes.
Chapter 4. CMOS Inverter Degradation Delay Model 109
t, = t p 0 ( 1 -e
--T - T
1, (4.61)
where T o and z characterize the degradation effect and t,, is the normal
propagation delay (i. e. without degradation effect).
110 Logic-liming Simulation and the Degradation Delay Model
% %
% prop.
k SPICE class. prop. class. %
k hPICE class. prop.
class. prop.
113 35.25 27.07 33.58 -23 -4.7 113 206.3 194.1 202 -5.9 -2.1
112 41.13 33.59 39.76 -18 -3.3 112 155.7 145.1 152.7 -6.8 -1.9
1 57.98 51.3 56.85 -12 -1.9 1 105.5 95.88 104 -9.1 -1.4
2 89.29 82.79 88.35 -7.3 -1.1 2 78.93 68.75 78.42 -13 -0.65
3 118.1 111.7 117.5 -5.4 -0.51 3 69.23 58.23 69.19 -16 -0.058
4 145.4 138.9 144.9 -4.5 -0.34 4 64.01 52.3 64.27 -18 0.41
As indicated in Sec. 3.2.3, 3 2 represents the time that has to lapse from
the last logical change of the output in order to make a new input transi-
tion produce a propagation delay equal or greater than 0.95tP0
(Fig. 4.19).
The value 32 corresponds to the time of charge (or discharge) of the
output load, controlled by the active transistor, therefore, 2 will be pro-
portional to the characteristic time constant of this process of charge or
discharge. This will make it possible to obtain a dependence of 2 on the
parameters which determine this time constant.
Analysing the situation of Fig. 4.19, the active transistor during the
charge is the PMOS. It is feasible to suppose that the NMOS transistor is
in off-state or near off-state, since this time is measured once the output
transition has taken place. In turn, the PMOS will be driving in the lineal
zone with V,, = V D D which
, means that, in a first approach, it can be
112 Logic-Eming Simulation and the Degradation Delay Model
(4.63)
It is very well known that the constant of time governing the charge or
discharge of a capacitance C through a resistance R is RC . Therefore,
according to the interpretation foreseen for z , it follows that:
(4.64)
(4.65)
(4.66)
(4.68)
transistor would have in order to produce, working alone, the same effect
as one in an NMOS-PMOS inverter structure. This effective voltage can
be expected to increase as the relative strength of the PMOS increases
with regards to the NMOS, which is represented by factor k = W p / W N.
With these considerations, V T L has the following behaviour:
V T L2 VT N (4.69)
Chapter 4. CMOS Inverter Degradation Delay Model 115
VTL = f ( k ) -
d V T L> 0 ,
dk
(4.70)
(4.72)
In terms of these reduced thresholds it follows that:
VTL 2 VTN limv, = v T N , (4.73)
k-0
VTL = (1 + c j - 1 ~ ~ ~
VTH = (1+ cr)vTp 9
(4.75)
where cf and c, are characteristic parameters of the technology, positive
and next to zero. Later on, it will be seen that this is a good approximation
in most of cases, since it is an approximation of vTX which only affects
the value of T o which is itself an important part in the final result only in
cases of strong degradation.
The value of v T X ,and therefore that of c, , must be obtained for each
case by fitting Eq. (4.16) to the results of the electric simulation.
116 Logic-Thing Simulation and the Degradation Delay Model
(4.77)
Table 4.5 Ranges for the design variables and typical value.
Table 4.5 shows the minimum and maximum values considered inter-
esting for the different design variables, as well as a reference typical
value, for a 0.7 pm CMOS technology. The typical values are usefd for
fixing the value of a variable and to study the variations of the rest of
Chapter 4. CMOS Inverter Degradation Delay Model 117
them. In the following paragraphs, the reasons for the selection of the dif-
ferent ranges are explained:
In the models for ‘I: and T o three parameters which are characteristic of
the technology appear: a , b , and c , which in fact are copies when con-
sidering falling (a,, b, , and C , ) and rising transitions ( a , , b, ,and c,. ).
To determine the value of these technological parameters, the usual
characterization process of temporary parameters in delay models will be
followed. This process is based on considering the data obtained by elec-
tric simulation as experimental data. With this simulation type, the behav-
iour of the device which is to be characterized is analysed and the
parameters are evaluated.
The basic characterization process consists of determining a group of
values for parameters, t,, , z and T o , applying lineal regression, as was
shown in Sec. 3.2.2, given a group of values of the internal ( W , and W,)
and external parameters ( CL, zi,, and VD,). Starting from this group of
values it will be possible to carry out two tasks:
Table 4.6 Product z V,, vs. several configurations and loading capacitances.
k CL =f 7VDD
0.5 2 118.582 592.91
0.5 4 214.963 1074.82
0.5 6 312.043 1560.22
0.5 8 406.678 2033.39
1 2 79.9921 399.96
1 4 141.158 705.79
1 6 204.196 1020.98
1 8 265.352 1326.76
2 2 61.9786 309.893
2 4 116.048 580.24
2 6 158.306 791.53
2 8 205.038 1025.19
3 2 56.8486 284.243
3 4 99.8585 499.293
3 6 140.911 704.555
3 8 179.911 899.555
2000
500
,-
Fig. 4.21 Linear regression for the extraction of parameters a and
bf ( V D D = 5 V , W N = 4 y m , CC /,, = 2...8, k = 0.5 ...3 ,
T i n = 3t,fS 1.
300 1 I\
h
B 200
r’.
loo I - 1
Fig. 4.22 z vs. zin for different configurations and load conditions
( V D D= 5 V , W N = 4 pm, C , / C , = 4 . . . 8 , k = 1...3).
k CLGN
-
: >x 1000 - 1 4
- 1 8
- 2 4
A-A2 8
- 3 4
m 3 8
age of 5 V and input transitions with typical duration ( 3 tpfs) were used.
Figure 4.24 shows the results obtained. Indeed, product T~ V,, remains
practically constant during the whole studied range ( 1 - 16 pm). Slight
deviations only take place for the smallest values in W,, where second
order effect and parasitic capacitances become appreciable. Even this
way, this deviations are not important in most cases. Nevertheless, for the
characterization of parameters A and B it is important to avoid this area,
which makes it necessary to use a typical value equal or greater than
4 pm for W , for the characterization.
These are the results. In the case of z,., corresponding to Eq. (4.67),
the results are similar.
1500
1000
500
Fig. 4.24 z V,, vs. W, for different configurations and load condi-
tions(VDD = 5 V , C L / C I N = 4...8, k = 1 . . . 2 , zin = 3tpfs ).
(4.82)
I
-506 20 40 60 80
zin’zST
k Slope TL aL
VTHl
corn.
= 1.1vTp. (4.86)
In this case the maximum deviation is of only 13%.
4.7 Discussion
In this chapter each one of the parameters of the DDM, presented in the
previous chapter, has been analysed depending on the technological and
design characteristics of the CMOS inverter (internal and external charac-
teristics).
In this task, first, the parameters which characterize the submicron
technologies regarding the propagation speed of the digital signals have
been analysed. This analysis provides some parameters and expressions
used later for the characterization of the DDM parameters.
After this first analysis, parameters t,, , z, and T o of the DDM have
been characterized. This task consists, basically, of finding the depend-
ence of the DDM parameters on internal parameters of the gate ( W , ) and
external conditions (polarization voltage, load capacity and input signal
waveform).
Beginning with the delay of normal propagation, t P o ,the characteri-
zation proposed in [Daga et al. (1996b)l has been developed. The most
outstanding contribution to this model of t,, consists of a proposal for
modelling the input-to-output coupling capacitance of the CMOS inverter
( C, ) which, as has been demonstrated, improves the calculation of the
time of overshooting substantially in submicron technologies and, conse-
quently, the calculation of the normal propagation delay.
For z and T o the start was at the physical meaning associated to
these parameters in the previous chapter. From this physical meaning,
dependence expressions of 'I: and T o on a group of technological parame-
ters a , b , and c , Eq. (4.76) and Eq. (4.77) were obtained. The most
126 Logic-Timing Simulation and the Degradation Delay Model
5.1 Introduction
I27
128 Logic-Timing Simulation and the Degradation Delay Model
inverter for the given input event and the calculation of the delay using
inverter equations.
We will use a similar approach starting with the hypothesis that the
basic equation for the DDM is still valid for simple CMOS gates, so that
the delay may be calculated as:
t , = t,,(l-e
--T - T
7 4. (5.1)
This hypothesis will be validated later in this chapter through accurate
electrical simulation results.
Once the general model is accepted, the problem of modelling the
DDM for complex gates may be divided into two main tasks:
To solve the first task we will make an exhaustive analysis of all the
input conditions which may cause a degradation effect in a multi-input
gate. This analysis is elaborated in the next section. Regarding the second
task, two main strategies may be applied to obtain the equivalent parame-
ters, which are:
every cell. This can be applied, for example, to fast library cell characteri-
zation provided that detailed cell layout information is available. On the
other hand, the reduction process is complex and many simplifications
need to be introduced in the calculations, which affects the accuracy of
the results. Also, detailed layout information is not always available to the
designer, leaving the characterization task to the foundry. Furthermore,
the generality of the approach is not as wide as may be expected. For
example, the channel widths of the equivalent inverter for delay calcula-
tion need not be the same for the calculation of other parameters such as
input load, transition times or degradation parameters, since the operating
conditions of the cell (the transistor’s operating points) will differ during
the calculation of each parameter.
The second approach, the external modelling at gate-level, does not
try to keep an explicit dependence on the internal structure of the cell, but
tries to reproduce the gate’s behaviour as accurately as possible by using a
set of parameters which are characteristic of the cell. In general, these
kinds of models are implemented by specifying a set of parameter values
for each case in which the gate operates as like an equivalent inverter, for
example, a set of values may be associated to each gate’s input. Hence, a
high number of parameters are usually necessary to characterize a single
gate. In theory, parameters obtained for a particular gate do not need to be
the same for other gates, so the characterization process is carried out for
each individual gate. This approach is thus mainly useful to simulate cir-
cuits based on a previously characterized library of cells, which is actu-
ally the most common implementation technique in current CMOS
circuits. An advantage of this approach is that very accurate results can be
obtained when the gates are well characterized. The model equations are
simple and easy to implement in logic simulators. Library designers can
provide these kinds of models with their cells without a detailed layout
information. For these reasons these models are implemented in most
commercial logic simulators.
Both of the above techniques may be applied to the three main com-
ponents of the DDM: t,, , 2 and T o . Regarding t,, , the topic is well
treated in the bibliography as mentioned above. In particular, the exten-
sion to gates for the normal propagation delay used in previous chapters
can be found in [Daga and Auvergne (1999)l. For the degradation part of
130 Logic- Timing Simulation and the Degradation Delay Model
the model, the approach of the external modelling at the gate-level has
been chosen. This way an efficient and easy to implement model for the
degradation effect may be obtained, making it possible to evaluate the
impact of the phenomenon in complex circuits. However, the other
approach is still possible since existing reduction techniques or new ones
may be applied and the technological inverter equation in Sec. 4.5may be
used. Although more general, this path implies complex calculations, a
harder and less efficient implementation and reduced final accuracy, so it
is not further developed here.
The rest of the chapter is organized as follows: the next section
describes the structure of the DDM at the gate level and the analysis of the
input conditions which may cause degradation. Also included, for the
sake of completeness, is an adaptation to the gate-level of the model for
the normal propagation delay in [Daga et al. (1996a)l which was used in
Sec. 4.3. This defines an exhaustive modelling of the degradation effect at
the gate level, since all possible situations are taken into account. In
Sec. 5.3 we analyse in detail the characterization process for degradation
parameters and their complexity, including the operation of an automatic
characterization program developed for the characterization tasks. Next,
we include the characterization results for a set of CMOS gates are
included. The analysis of these results yields two simplified models, end-
ing with an analysis of error propagation for the different models. Finally,
a comment on the main conclusions of the chapter is given.
For the sake of simplicity, the focus will be on the two main types of
gates in CMOS technology: NAND and NOR, as well as the inverter,
which is a particular case of both. Although the interest is in modelling
the degradation effect, we will also provide gate-level expressions will
also be provided for the normal propagation delay based in the model pre-
sented in [Daga et al. (1996a)l which has been used in previous chapters.
In a first step a general degradation model will be proposed for gates
based on the DDM for the inverter presented in previous chapter. Gate-
level parameters will be defined in these general equations. Then, all the
input conditions that may lead to degradation effect will be identified and
a set of values for each such condition will be defined.
As a starting point, the same basic degradation equation for the inverter in
Eq. (5.1) is proposed as the general behaviour of multi-input gates.
Remember the meaning of the main components of this equation: the nor-
mal propagation delay (tPo) which is the delay value when no degrada-
tion takes place, the main degradation parameters (z and T o ) which
model the degradation effect and the variable T which measures the time
elapsed since the last transition at the gate’s output and determines the
amount of degradation in the current transition, so that the degradation
effect becomes negligible when T - T o> 42.
(5.2)
=out, {
= 2tPXS,
- vT~
(5.3)
where tpxOis the normal propagation delay and zoUt,is the output transi-
tion time, needed for delay calculations in the successive stages of the cir-
cuit. The pair (x , y ) will be ( f , N ) or ( r , P ) for the case of a falling or
rising output, respectively. The gate-level parameters are V , , CoUT,C , ,
K , , K 2 and K , . These parameters will be given particular values for
each input condition causing normal propagation, which are falling and
rising transitions in each input of the gate.
5.2.1.2 Degradationparameters
(5.5)
where V D D is the supply voltage, C, is the output load, zi,, the input
transition time and W , and V , the channel width and threshold voltage
respectively of the shot-circuiting transistor for a given transition. The
Chapter 5. Gate-Level DDM 133
(5.7)
In the previous section it was seen that the particular behaviour of each
gate’s input can be considered by defining a particular value of the model
parameters for each input. In the case of degradation parameters, the solu-
tion is not so simple because the delay degradation of an input transition
in a gate’s input depends on the existence of a previous input transition,
relatively close in time, in the same or in a different input node. Thus, a
set of degradation parameters values may be defined for each possible
combination of input transitions which can produce delay degradation. In
general, these nearly simultaneous input transitions in different inputs of
the gate are called collisions, and those that may produce degradation
have been previously referred to as glitch collisions, since they usually
make the gate produce very narrow pulses (glitches) at its output [Mel-
chor et al. (1 992)].
Although input collisions may involve more than two inputs changing
closely in time, only the case of collisions involving two inputs will be
analysed. The reason is that collisions involving more that two inputs are
very unlikely and their analysis is not worth the additional complexity
introduced. Also, multiple successive transitions are in fact treated as
two-input collisions of one transition with the preceding one. There are
two types of input collisions which may produce degradation in NOR and
NAND gates. These types are the following:
Type 1. Initially, all inputs are of the same value, with value S as the
sensitizing value. The output then is in the opposite state 3 . Under
these conditions, an output transition will be triggered if there is a
transition in any input. For degradation to appear, the output must
change again, which is only possible if the same input that changed
from the sensitizing value goes back to it. Thus, Type 1 collisions cor-
respond to low input pulses (14-1) in NAND gates and high input
pulses (0-14) in NOR gates. Under these conditions and for an n-
input gate, there are n possible Type 1 input collisions, which corre-
sponds to the occurrence of two successive input transitions in the
input of the gate. Such an input collision taking place at input i will be
referred to as collision-i.
Chapter 5. Gate-Level DDM 135
Table 5.1 Characteristics of input collisions producing degradation for NOR and NAND
gates.j and i respectively refer to the first and second changing inputs.
Type 1 collisions end with all inputs at the sensitizing value (0 for
NOR gates and 1 for NAND gates) while Type 2 collisions end with all
inputs except one at the sensitizing value and the remaining inputs at the
opposite value. In NOR gates, Type 1 collisions generate rising output
transitions and Type 2 collisions generate falling output transitions. The
opposite happens to NAND gates. The main characteristics of the two col-
lision types for NOR and NAND gates are summarized in Table 5.1.
136 Logic- T h i n g Simulation and the Degradation Delay Model
From what was stated in the previous section, the number of input colli-
sions producing degradation ( n c o l )in an n-input gate is:
nco, = n + n n = n ( n + 1 ) . (5.8)
Considering that for each case, Eq. (5.1), (5.6) and (5.7) can be applied, it
is possible to obtain particular values for the gate-level degradation A , B
and C for each case as well. n values for type 1 collisions and n2 values
for Type 2 collisions would be obtained. A convenient way to represent
the multiple values of each degradation parameter is by means of an n-
dimension vector for Type 1 collisions and an n -by-n square matrix for
Type 2 collisions. These will be called degradation parameters matrices.
It is also adequate to define a general notation for these matrices to sim-
plify later derivations that are common to NOR and NAND gates. This
notation is as follows:
Table 5.2 Sample vector/matrix form of gate-level degradation parameters for two-input
NOR and NAND gates and the inverter.
INV
A, = A, gr = B, er = c,
2,- = Af = Bf z.f = Cf
(5.12)
where s holds the type of collision (S for Type 1 and 3 for Type 2) and
f i n is an all-I n-dimension vector or square matrix for Type I or Type 2
collisions, respectively.
138 Logic-Eming Simulation and the Degrudation Delay Model
In the previous section a complete delay model was proposed for multi-
input NOR and NAND gates including the degradation effect. The model
takes into account the following external variables: supply voltage, output
load, input transition time and the time since the last output change. The
set of parameters for an exhaustive characterization of a gate considering
all the input collisions has also been analysed. The purpose of this section
is to validate the proposed model. In a first step we will verify that the
general model in Eq. (5.1) fits the behaviour of multi-input gates, as it did
for the inverter. Secondly, a procedure to extract the gate-level degrada-
tion parameters of a gate will be set up, obtaining the matrices of degrada-
tion parameters 2, and ? corresponding to Eq. (5.1 1) and Eq. (5.12).
The complexity of the characterization process that will illustrate the suit-
ability of the approach to practical applications will also be analysed.
I
ini
I .
1- b
out I
O.5OtPo
= 82.81 0.25 ps
To = - 11.76 0.40 PS
coef. cox. = 0.999916
300
tion data. The range of interest to apply the linear regression has been
established in those points showing a value of the delay between the 50%
and 95% of the normal propagation delay. To make the fitting, an average
140 Logic-Timing Simulation and the Degradation Delay Model
(1) Variation with the output load based on Eq. (5.6) ( A and B calcula-
tion).
(2) Variation with the input transition time based on Eq. (5.7) ( C calcula-
tion).
t c. corr. = 0.999996
"2 4 6 8
cL/clN
This phase of the characterization process is based on Eq. (5.6). The nec-
essary data to fit A and B is obtained by varying the value of output load
C , and extracting the value of T for every degradation curve as described
above. For a given V D D A, and B are easily obtained from T and C,
using linear regression. In Fig. 5.3 an example of this is given. C , values
range from CL/CI, = 2 to CL/CIN = 10, where C , is the equivalent
input capacitance of the gate. In all cases, a very high linear dependence is
observed and only 4 to 10 points are enough to obtain very accurate val-
ues for A and B . Since parameters A and B do not depend on the input
transition time, all the simulations in this phase are performed for a fixed
typical value of this variable, equal to 2t,, , where t,, is the delay of the
142 Logic-Timing Simulation and the Degradation Delay Model
gate under the current conditions, when triggered by a step input. This
typical value corresponds to moderate speed input ramps.
This phase is based on Eq. (5.7) and in the generation of different degra-
dation curves by varying the value of the input transition time zin. From
each degradation curve, a value of T o is extracted. A fixed typical value
of the output load is used, for example C L = 4 C I N ,which represents a
moderately loaded gate. From the set of zin and T o data, parameter C is
easily obtained from slope m when plotting T o vs. T ~ Using~ . Eq. (5.7)
yields:
c = vDD('-m). (5.13)
500
I I 1 I
Table 5.3 Number of transient analysis needed to characterize a gate for the degradation
effect, considering nAB = nC = 10, ncurve = 2 0 .
Table 5.3, where the mentioned typical values are being used. As
expected, the number of transient analysis for characterizing moderately
complex gates is very high. Even worse is that this complexity increases
quadratically with the number of inputs of the gate.
The importance of measuring the number of transient analyses lies in
the fact that the time necessary to carry out the characterization process
(t,,,) will be proportional to the number of transient analyses:
tcar ntran *
OC (5.15)
This characterization time will determine the practical possibilities of
implementing the characterization process and the usefulness of the
model. In the following, the aspects affecting the characterization time
will be analysed in closer detail.
The total characterization time may be split into an operator time
(top) and a simulation time ( tsim). The operator time includes all the tasks
to be done by the person or system which controls the electrical simulator.
These tasks are:
The simulation time is the CPU time used by the electrical simulator
in performing the total number of transient analysis. It is useful to define
operator and simulation time per transient analysis to be able to calculate
some time estimations. Characterization time may thus be written as:
tcar = top + tsim = (tfop + tfsimlntran 9 (5.16)
where tfop is the average operator time per transient analysis and tfsimis
the average simulation time per transient analysis. Using Eqs. (5.8),
(5.14) and (5.16), it is easy to derive an expression of the characterization
time as a function of the number of inputs of the gate and the rest of the
parameters of the characterization process just defined:
= ( t f o p + t f s i r n ) ( n A B 4- r z C ) n c u r v e n v d d n ( n (5.17)
As an example, we can make an estimation of the time used by a
human operator to characterize a gate. Given the power of current com-
puters, the simulation time per transient analysis will always be around
one second or even much less, while the average operator time per tran-
sient analysis will be much greater even for a well-trained operator, mak-
ing the simulation time almost negligible in this case, However, the
operator often only has to alter the value of a single simulation parameter
between transient analysis and we will also suppose that the operator is an
expert typist and knows the characterization process very well. Thus, we
can figure the average operator time per transient analysis in about nine
seconds without being too optimistic, making an average total time per
transient analysis of about ten seconds. With this information and the typ-
ical values for other characterization process parameters mentioned
before, we can use Eq. (5.17) to obtain characterization time estimations
for gates of various numbers of inputs. Results are shown in Table 5.4.
The main conclusion of these simple and optimistic estimations is
that the characterization times that may be expected when the characteri-
zation process is driven by a human operator are excessively large. From a
practical point of view, the characterization of a whole library by these
means is not possible because of the cost in time and human resources.
Eq. (5.6) shows that there are two ways to reduce the characterization
time for given technical resources: the reduction of the average operator
time ( tf o p ) and the reduction of the number of transient analysis needed to
146 Logic-riming Simulation and the Degradation Delay Model
Table 5.4 Estimated times for the characterization of multiple input gates with respect to
the degradation effect. Characterization process parameters nAB = nc = 10,
ncurve - 2 0 , t f s i m = I s , t f o p = 9 s .
1 2h 13min 4h 26min
2 6h 40min 13h 20min
3 13h 20min 26h 40min
4 22h 13min 44h 26min
5 33h 20min 66h 40min
simulate ( n t r a n ) The
. best option to reduce the operator time is to auto-
mate the characterization process by means of a computer program that is
able to run the full characterization process without human intervention.
Here we face a general problem with today’s delay models. Due to
their complexity, it is necessary to develop an automatic characterization
process or a detailed description of this process in order to be able to cal-
culate the model parameters for a practical application. In fact, we think
that the characterization algorithm for the parameters of a model must
always accompany the model itself, but unfortunately, we often find delay
model developments that pay minor attention to this point making it diffi-
cult to evaluate the practical usefulness and to reproduce these develop-
ments.
In our case, we have paid great attention to the characterization prob-
lem and we have implemented an automatic characterization program
called autoddm [Juan et al. (2001)l for the proposed model. This way, the
operator time is almost eliminated and the characterization times are
reduced at least in an order of magnitude and without human intervention.
This makes it possible to characterize full cell libraries and the practical
application of the DDM. Another important feature provided by an auto-
matic characterization program is the possibility to obtain an important
volume of results easily. The analysis of these results will allow us to
explore how to improve the model and the characterization process itself.
This line is developed in Sec. 5.4.
Chapter 5. Gate-Level DDM 147
Table 5.5 Degradation parameters obtained with autoddm for a NAND2 gate.
fall rise
Table 5.6 Characterization time factors for the three cases compared.
Table 5.7 Characterization times for a human operator and two computer-based systems,
as a function of the number of inputs (n) and the number of transient analysis (nt,,).
are run by this tool during the simulator set up. This is an important por-
tion of the total simulation time.
Table 5.7 compares the performance of the three examples as a func-
tion of the number of inputs to be characterized. The number of transient
analysis is calculated using Eq. (5.16) with nAB = nc = 10 and
n,,,,, = 20. The characterization time is calculated from Eq. (5.17).
Four characterization tasks are studied: an inverter, a gate, a small library
of gates and a large library of gates. According to these results, it is easy
to conclude that the automation of the characterization process greatly
improves the characterization time with respect to manual characteriza-
tion. Comparing Systems 1 and 2, it is clear that the long HSPICE set up
time represents a bottleneck in characterization time, which does not
appear when using SPICE3f5. Furthermore, characterization of a whole
library is not affordable using traditional methods but is viable using an
automatic characterization tool.
Value Error
Af 95.6642 f 4.58996
..
Bf 4.90254 f 0.0621669
1.77021 f 0.237512
-
Ar 41.2724 f 2.4394
B, 3.01691 f 0.0330395
..
C, 1.61225 +
- 0.143339
Value Error
208.623 252.685 f 1.48188 1.42983
Bf 20.1537 20.2306 f 0.0414983 0.0400409
-
cf 1.32955 1.13477 f 0.0516825 0.0489708
90.5916 89.8718 f 2.17295 2.21266
Ar
126.194 122.783 f 0.0949944 0.847912
.. 9.84602 9.86132 f 0.060851 0.061963
Br
11.4375 11.4558 f 0.00266021 0.0237448
- 1.98706 1.98931 f 0.1908 0.193282
Cr
2.54086 2.53197 f 0.0908107 0.0973978
Value Error
A , 90.5908 144.228 317.492 f 1.74008 4.1815 15.0259
i,.2.91873 2.79995 2.55793 f 0.00812151 0.0195164 0.0701305
C, 1.57227 1.46403 1.30738 f 0.0936998 0.0719079 0.0535339
435.462 439.88 442.056 f 2.65176 1.74795 0.536838
i f 474.327 484.18 487.05 _+ 9.22769 1.73474 3.10664
523.997 505.569 509.658 f 14.8515 6.40267 5.84825
5.33723 5.34891 5.34222 f 0.0123766 0.00815824 0.00250559
-
Bf 5.5423 5.48288 5.47164 _+ 0.0430685 0.00809657 0.0144997
5.65634 5.73299 5.71286 & 0.0693167 0.0298833 0.0272956
-
1.90635 1.85453 1.82885 k 0.108535 0.107497 0.108478
*
cf 2.40568 2.37431 2.34866 f 0.145032 0.152322 0.162668
2.68495 2.66644 2.6571 f 0.0822999 0.0830649 0.0903395
400
300
T
200
100
0
16
12
u2
0
2 3 1 2 3
i
given in Sec. 5.2.2 and to specify how the characterization process is sim-
plified. Logically, this new model will be denominated simplijed degra-
dation model at gate level. In the next Section, we will describe the new
form of the equations for the degradation parameters for this simplified
model, as well as its characterization process and the evaluation of the
reduction in the complexity that the use of this model supposes.
For Type 1 collisions there are no changes with respect to the exhaustive
model and we must define a value of each degradation parameter for each
input. Therefore, the n values of a parameter corresponding to each
input are represented in a vector:
154 Logic- Timing Simulation and the Degradation Delay Model
-
400
200
0
8
0 4
0
4
u2
0
2 31 2 3
i
0
20
15
ci2
0
2 3 4 1 2 3 4
i j
- 200
10
6
'9
4
2
B
u2
0
2 3 2 3 4
l I
(5.22)
This alternative is the best approach because all the parameters substi-
tuted by the unique value are considered, but the characterization
process is not simplified since it is necessary to continue calculating
all the parameters and to simulate all the possible collisions with deg-
radation.
Alternative 2: We calculate the average using the values correspond-
ing to the first and last inputs:
(5.23)
A,
374.961 364.568 365.183 365.746 * 0.99551 4.8425 5.61232 5.9178
n+l
k = int(?),
(5.25)
where “int” is the integer function. This is the method that most
greatly reduces the number of collisions to be analysed, with a total
number of 2 n for the complete characterization of the gate. For this
reason and because it practically conserves the same precision as any
of the other alternatives, it is the method we adopted to characterize
the simplified model. In Tables 5.15 to 5.20, as an example, we show
the vectors of parameters for the simplified model corresponding to
the gates of Tables 5.9 to 5.14.
Value Error
Af 208.623 252.685 f 1.48188 1.42983
-
Bf 20.1537 20.2306 f 0.0414983 0.0400409
Cf 1.32955 1.13477 f 0.0516825 0.0489708
-
Ar 90.5916 126.194 f 2.93246 4.258912
-
B, 9.84602 11.4375 f 0.077263 0.0420448
-
Cr 1.98706 2.54086 f 0.195532 0.1062878
Value Error
Ar 208.623 252.685 +
- 1.48188 1.42983
Br
- 20.1537 20.2306 * 0.0414983 0.0400409
Cr 1.32955 1.13477 f 0.0516825 0.0489708
-
A/ 90.5916 126.194 f 2.93246 4.258912
*
B/ 9.84602 11.4375 * 0.077263 0.0420448
z./ 1.98706 2.54086 f 0.195532 0.1062878
Value Error
A/ 208.623 252.685 f 1.48188 1.42983
-
B/ 20.1537 20.2306 f 0.0414983 0.0400409
-
c/ 1.32955 1.13477 f 0.0516825 0.0489708
-
Ar
- 90.5916 126.194 * 2.93246 4.258912
Br 9.84602 11.4375 k 0.077263 0.0420448
-
Cr 1.98706 2.54086 f 0.195532 0.1062878
Value Error
Ar 208.623 252.685 f 1.48188 1.42983
B, 20.1537 20.2306 f 0.0414983 0.0400409
-
Cr 1.32955 1.13477 f 0.0516825 0.0489708
-
A/ 90.5916 126.194 f 2.93246 4.258912
9.84602 11.4375 f 0.077263 0.0420448
1.98706 2.54086 f 0.195532 0.1062878
Table 5.21 Relationship between the characterization times of the simplified model and
the exhaustive one.
1 2 2 100
2 6 4 0.67
3 12 6 0.50
4 20 8 0.40
5 30 10 0.33
Due to the results observed in Figs. 5.5 to 5.8 it is possible to think about
other simplification methods in order to reduce the number of parameters
necessary to characterize a gate and, at the same time, to simplify the
characterization process and to reduce even more the time required. Tak-
ing as example the curves corresponding to the NAND-4 gate of previous
sections (this example follows the general characteristics observed in all
the analysed gates) we present several ideas to obtain simpler models. In
all the cases we refer to the variation of the parameters with the index i :
Type 1 collisions, parameter A : this case shows'a not very lineal vari-
ation with the value of i f For this reason, linear adjustment would not
162 Logic-liming Simulation and the Degradation Delay Model
k = int(:] +1 -i-).
I = int( n + l (5.30)
Thus, k and 1 are also not coincident whenever the number of inputs of
the gate allows for it.
As an example, in Table 5.22, the vectors of the parameters are shown
for the basic model corresponding to the gates of Tables 5.9 to 5.14.
164 Logic-Eming Simulation and the Degradation Delay Model
Table 5.22 Parameters for the basic model of the degradation effect at gate level.
NAND-2
Value Error Value Error
A, 252.685 f 45.54388 A , 126.194 f 38.53486
Bf 20.2306 f .1183983 B , 11.4375 f 1.668743
Cf 1.13477 f .2464625 C, 2.54086 f ,749332
NOR-2
Value Error Value Error
A/ 272.206 f 29.35611 A,. 142.057 k 78.39844
By 5.26297 f .645704 B, 2.43184 f .42695815
Cf 2.37859 f .710381 C, 1.45051 f .1261873
NAND-3
Value Error Value Error
Af 312.815 f 85.21219 A , 200.834 f 47.51632
Bf 15.6922 f .60212 B, 11.2297 f 1.064762
C, 1.2401 f .2732269 C, 2.49735 k .8168868
NOR-3
Value Error Value Error
A, 484.18 f 54.6685 A,. 144.228 k 188.2899
B, 5.48288 f .3960767 B, 2.79995 f .3121505
Cf 2.37431 k .680135 C, 1.46403 f .2101839
NAND-4
Value Error Value Error
A, 432.19 k 109.6104 A , 391.429 f 62.76919
Bf 15.3365 f .730258 B, 15.7685 f 1.4759276
C, 1.27071 k .3061028 C, 2.90767 f 1.275152
Table 5.23 Relationship between the characterization times of the simplified model and
the exhaustive one (n,,,(bas) = 2 ).
2 6 4 0.33 0.50
3 12 6 0.17 0.33
4 20 8 0.10 0.25
5 30 10 0.07 0.20
(5.31)
The value of these relationships for gates of up to five inputs is shown
in Table 5.23. For example, the characterization time for four input gates
decreases in an order of magnitude with respect to the exhaustive charac-
terization and to a quarter with respect to the time needed to characterize
the simplified model.
The values of the parameters obtained for all the models are subject to
errors which have their origin, in the first place, in the fitting process
employed on the electric simulation data. In the case of the simplified and
basic models, we also find the error generated by approximating the set of
values corresponding to various inputs by only one value. In fact, in these
models, the error due to the adjustment of each particular value becomes
negligible compared to the error introduced by the simplification. Ulti-
mately, our interest resides in being able to evaluate what impact these
166 Logic-&zingSimulation and the Degradation Delay Model
errors have in the final value of the calculated delay, especially the errors
introduced in the simplified and basic models.
In this section we will present the expressions which allow us to prop-
agate the error of the degradation parameters to the propagation delay. For
the sake of clarity, the details in the obtention of these expressions are
shown at the end of the chapter in an appendix. Several general character-
istics of the error propagation process are deduced from the expressions
obtained. Later, as an example, we will apply the expressions obtained to
the evaluation of the influence which the simplifications performed in pre-
vious sections produce in the error of a NAND-4 gate delay.
(5.33)
so
Ey(X) = Sj:&(y). (5.35)
We can prove easily that
s: = sp;. (5.36)
Chapter 5. Gate-Level DDM 167
This way, 5': represents how the relative error propagates from a
magnitude x to another magnitude y which depends on the first one. Like-
wise, Eq. (5.36) allows us to obtain the sensitivity of a magnitude with
respect to another by means of successive intermediate steps.
The problem we want to solve is how to obtain of the sensitivity of
the propagation delay ( t , ) with respect to the degradation parameters at
gate-level (A, B, and C). In the first place, by applying Eq. (5.1) and the
previous definitions, we can obtain the sensibilities of the delay with
respect to parameters z and T o:
(5.37)
(5.38)
In the same way, by applying Eq. (5.11) and Eq. (5.12) we can obtain
the sensitivities of z and T o with respect to A , B, and C
s:' = 1BCL ' (5.39)
1+-
A
(5.40)
1
s$, = - (5.41)
1-- V D D
2c
The obtention of these expressions is detailed in the appendix of this
chapter.
Finally, by applying Eq. (5.36) and the previous equations it is possi-
ble to obtain expressions of the sensitivity of t , with respect to A , B, and
C. For the case of S," we have also used Eq. (5.11) and Eq. (5.12) to
obtain a result as a function of A , B and C:
(5.42)
168 Logic-Timing Simulation and the Degradation Delay Model
s,B = -
Si
A '
(5.43)
1+-
BCL
s,c C
= s2--
'in - cBCL'in (5.44)
VDD '- S2A + '
(5.45)
d Degradation % s1 s2
importance of the terms A and BCL . This means that the relative error
of the delay due to A and B is always smaller than the relative error of
parameters A and B.
Parameter A expresses the remainder value of z when C L = 0 and
its origin is in the capacity that the gate itself contributes to its output.
This way, for BCL D A , the intrinsic output capacity of the gate, rep-
resented by A , is negligible compared to the output load capacity and
this results in: Sf + 0 .
Otherwise, for BC, G A , the output load capacity is negligible com-
pared to the intrinsic output capacity of the gate, which yields:
s;B+o.
t, becomes more sensitive to the variations of C for slow inputs with
respect to the value of z , which, on the other hand, is usually of the
same order of magnitude as the value of the propagation delay of the
gate.
The sensitivity of the delay with respect to C is modulated by factor
C / V D , which represents, in relative terms, the voltage threshold of
the input of a gate with respect to the supply voltage. The delay in
inputs with lower thresholds (as those closer to the supply rail in a
transistor chain) will present smaller sensitivity to variations of
parameter C.
Table 5.25 Degradation parameters values and errors for the example collision.
Parameter Value Error exh. model Error simp. model Error basic model
A 391.4 2.4 8.8 63
the same for the three models. In Table 5.26 the results are shown for the
two mentioned cases of degradation ( d = 0.80 and d = 0.50 ).
Table 5.26 Sensitivity of delay with respect to the different degradation parameters at gate
level for two cases: moderate degradation (d = 0.80) and strong degradation (d = 0.50).
Moderate Strong
Factor degradation degradation
(d = 0.80) (d = 0.50)
sr, 0.233 0.406
s; 0.169 0.294
s: 0.47 1.88
Finally, with the errors of Table 5.25 and the sensitivities estimated in
Table 5.26 we can calculate the relative errors propagated to the delay by
applying Eq. (5.35) for each pattern and for the two degradation cases.
The results are shown in Table 5.27, Table 5.28, and Table 5.29.
Table 5.27 Results of the propagation of the error from the degradation parameters at gate
level to the propagation delay: relative errors of the degradation parameters.
~ ~~~~
X
exh. simp. basic
A 0.61 2.2 16
C 5.1 8.08 44
Table 5.28 Results of the propagation of the error from the degradation parameters at gate
level to the propagation delay: delay relative error for moderate degradation.
Table 5.29 Results of the propagation of the error from the degradation parameters at gate
level to the propagation delay: delay relative error for strong degradation.
For the simplified model, the error introduced by its parameters in the
delay is of the same order, although always a bit larger that the one of
the exhaustive model. This result justifies its use instead of the
exhaustive model due to the important improvements it implies in the
simplification of the model and in the improvement of characteriza-
tion times.
The error propagated by the parameters of the basic model is larger
than the one of the exhaustive model in more than one order of mag-
nitude in most of the cases. However, the final error it produces can be
acceptable in some cases, as we will see later on.
Parameters A and B show the best behaviour in the relative error of
degradation parameters themselves as well as the smallest sensitivity
in the delay error to them. The error propagated for these parameters
is even located below 1% for the case of strong degradation in the
exhaustive and simplified models, and close to 5% for the basic
model.
174 Logic- Eming Simulation and the Degradation Delay Model
In this Chapter we have presented the extension to the gates of the degra-
dation delay model for the CMOS inverter analysed in Chapters 3 and 4.
This extension has been made in order to apply the model to the logic tim-
ing simulation at the gate-level, using standard library cells.
Chapter 5. Gate-Level DDM 175
t, = t p o ( l - e
--T - T
T 1. (5.51)
(5.53)
(5.54)
From Eq. (5.51) we have:
--T - T o
(-t,o)e - t,- t p o . (5.55)
Therefore:
(5.56)
We calculate the sensitivity:
(5.57)
(5.58)
Therefore:
(5.59)
178 Logic- Enzing Simulation and the Degradation Delay Model
(5.60)
(5.61)
(5.62)
In a similar way:
(5.64)
(5.65)
Chapter 5. Gate-Level DDM 179
(5.66)
This page intentionally left blank
Chapter 6
Logic Level Simulator Design and
Implementation
Jorge Juan Chic0
Paulino Ruiz de Clavijo Vkzquez
6.1 Introduction
181
182 Logic-Timing Simulation and the Degradation Delay Model
compatibility with existing commercial tools, but the parser side is also
modular and can be extended to support other formats. Although HALO-
TIS is still in active development, it is already a flexible and extensible
logic-timing simulation tool.
In the development of a complex software tool, it is necessary to use
some development methodology. At the present time every methodology
includes a group of basic tasks: analysis, design and implementation, tra-
ditionally called the software life-cycle. There are numerous methodolo-
gies of software development that cover the wide life-cycle. Besides these
three basic tasks, the methodologies include other tasks or subdivide
some tasks being able to process the different aspects of the software con-
ceptually, mainly in the design stage. This subdivision of the basic tasks
in the life-cycle originates different methodologies, some aimed to solve
specific types of problems, and more general ones able to include several
cases. The modelling concept is common to every methodology. A model
is no more than a representation in some medium of the subset of the real-
ity to be dealt with, that is to say, it can be considered as an abstraction of
a certain reality. The model will allow us to capture and enumerate the
requirements and the knowledge domain thoroughly, so that all the agents
implied in the project can understand them and may agree with them.
Lastly, it is necessary that all models incorporate a certain system of nota-
tion, which should be common to all the persons involved in the project.
This notation gave way to a certain methodology.
During the development of HALOTIS we have gone through the dif-
ferent stages of the life-cycle: problem analysis, design and implementa-
tion. The different tasks of the life-cycle can be simplified if the design is
based on some software object-oriented methodology. Nowadays it is
admitted that if the design of complex software is developed with an
object-oriented methodology we can obtain a result which is, on one
hand, easy to implement in a programming language, and on the other
hand is easy to maintain, to debug and to expand.
The objective of this chapter is to summarize some details about its
design and implementation of the HALOTIS simulator. In the following
sections we will present a brief introduction to the object-oriented meth-
odology, a general description and requirements of HALOTIS, finishing
off with some details about its implementation.
Chapter 6. Logic Level Simulator Design and Implementation 183
joined Rational Software to create UML 0.9 and 0.91 in June and October
1996, respectively. After that, several companies’ joined Rational Soft-
ware to produce UML 1.O and UML 1.1, which have evolved into UML
1.4 and 2.0 at present.
UML has then been adopted by several organizations and companies
as a standard methodology in the development of processes and products,
with the advantage that, as an open standard, it is available to the scien-
tific community.
Throughout this chapter we will use a set of graphic elements that are part
of the UML methodology. These graphic elements form a standard and
easy-to-use description language. This is one of the main objectives of the
use of UML: to share a certain system of notation and to be able to
exchange information without having to devote a great deal of effort to
these tasks. UML has different visual constructions to represent the sys-
tem, these are called views. Each of these views tries to represent differ-
ent features of the software. During the various stages of the life-cycle we
will use the UML views that we consider necessary according to the type
of software we want to model. More precisely, we will use the following
views:
HALOTIS
Netlist
Simulation
/
Cell Library
Prcgramrner
Behavioural models
In this section we will describe the requirements that led to the current
version of HALOTIS. Among these requirements we find the hardware
description language that it interprets (netlist format), the output data for-
mat, and current criteria to specify cells libraries and how to include new
simulation algorithms.
Regarding the netlist, HALOTIS currently understands a subset of
Verilog and VHDL formats, as depicted in Fig. 6.2. The stand alone HDL
parser executable would read a Verilog or VHDL netlist and generated an
error-free pre-compiled netlist in binary format. The starting point to the
development of the HDL parser is the Verilog language specification,
which is easier to analyse from a computer program’s point of view than a
VHDL description.
For the description of stimuli patterns, different formats are available.
A very simple and convenient format is the one used by MATCHTA tool
Chapter 6. Logic Level Simulator Design and Implementation 191
a cell library,
a simulation time-out instant to force the simulation to stop, which is
necessary in some circuits that contain feedback loops or that operate
autonomously.
Figure 6.1 should be considered the top-level use case diagram of HALO-
TIS in which main tasks are depicted: netlist creation, library creation,
simulation and models and the handling of algorithms. Netlist creation
Chapter 6. Logic Level Simulator Design and Implementation 193
+Write()
1 out
-Name -Name
. 1 1
-Expression
1 #Ri(ht
TreeLteral
TreeOperatorNot
(a)
~-
Equation:: s : out i e : exp
out:: index : integer
exp:: lit : literal
I e: in
I left : exp ; op : opb ; right : exp
I op : op-u i e : exp
I e : exp
literal :: value : boo1
in :: index : integer
op-u :: not
op-b :: and I or I nand I nor I xor 1 xnor
1
the class Cell, shown in a grey background. With this structure, the netlist
is described by two groups: one of logical cells and another one of wires.
Both groups link together to form the circuit, that is to say, the wires are
associated with the input and output nodes of the gates, making the cir-
cuit. Each gate is actually a cell of the library that will use the correspond-
ing logical and dynamic behavioural model during simulation.
Chapter 6. Logic Level Simulator Design and Implementation 197
Fig. 6.7 Object diagram showing the static elements of the simulation.
Takeplace *
z
I 1
Fig. 6.8 Object diagram showing the dynamic elements of the simula-
tion.
V
. .
I I I 1
vddh - I I I 1
@ Rise transition
@ Fall transition
@ Incomplete transitions
vddl
f=x t=x+TI t=y t=y+T2 z
Fig. 6.9 Transitions examples.
The whole system has been implemented using mainly the C++ program-
ming language [Stroustrup (2000)l. For the implementation of common
data structures (lists, array, etc.) present in the set of classes described in
previous sections, the Standard Template Library (STL) [Schildt (1999)l
has been used. The STL is freely available to any C++ development envi-
ronment and is recognized as a mature, well documented and efficient set
of functions.
The lexical analysers and grammar parsers used for the netlist and test
pattern input are also implemented using the standard and widely availa-
ble toolsflex and bison from the GNU project2. These tools generate both
C and C++ code.
GNULinux has been used as the development platform for the
project and it should compile and run without modifications on any
UNIX-like operating system. Although it has not been tested, it may also
compile and run on MS-Windows operating systems provided that GNU
tools are available, except for the graphical output.
The system is fully implemented using free software libraries and
tools so future maintenance and availability is assured. The project itself
will be released as free software once it is sufficiently stable and mature.
http://www.gnu.org
200 Logic-Timing Simulation and the Degradation Delay Model
Netlist: once a netlist is parsed and errors have been checked, a binary
data file containing a direct representation of the memory data struc-
ture is saved.
Test patterns: in a similar way, input test patterns are checked and
compiled in a binary data file.
Library cells: behavioural models of the library cells are mapped onto
an internal tree structure as described in the previous section. This is
also saved as a data file for later use.
As may be expected, the simulation core is the most important and com-
plex part of a logic-timing simulator. While a simulation process is run-
ning, two main tasks are executed in each simulation cycle: calculation of
the behavioural model equations and event handling. It is thus critical to
optimize these tasks in order to achieve a good performance.
The time spent in the calculation of the behavioural model equations
will depend mainly on the complexity of these equations. In order to
improve the calculation time, model equations are compiled only once
into the tree structure described in Sec. 6.5.2. These compiled expressions
are part of the optimized library cell’s intermediate format mentioned in
the previous section.
As mentioned before, HALOTIS is an event-driven simulator. The
event and the transitions-handlingmechanism is common to every behav-
ioural model. Simulation is driven by the events present in the event
queue, which are ordered in an ascending time fashion. New events are
Chapter 6. Logic Level Simulator Design and Implementation 20 1
inserted and old ones removed constantly in the event queue. In order to
optimize these operations, the event queue is implemented using a binary
tree. These data structures have the important property of a low and pre-
dictable insertion and removal time. This time is in the order of logyz,
where n is the number of elements in the tree.
The HALOTIS system is actually a set of software tools that can be run
separately, allowing individual tasks to be run and tested independently.
In the following we include a list of these tools along with a short descrip-
tion:
7.1 Introduction
203
204 Logic-Timing Simulation and the Degradation Delay Model
Fig. 7.1 Inverter chain for the modelling of an active route in a multi-
level combinational circuit.
The most direct application of DDM is the study of the propagation of rel-
atively narrow pulses through the different levels of a combinational cir-
cuit. In this section a chain of inverters is used (Fig. 7.1) to represent a
possible active route in a multi-level combinational circuit, and a study is
made of the propagation of three different excitations:
Each simulation will be carried out in three different ways: using the
DDM, using the delay model without degradation (CDM), and using the
HSPICE electrical simulator.
206 Logic-TimingSimulation and the Degradation Delay Model
in
out1
out2
out3
out4
out5
out6
out7
0 500 1000
t (PS)
7.2.1 Isolatedpulse
in
our1
out2
out3
our4
outs
out6
out7
in
out1
out2
out3
out4
out5
our6
out7
0 500 1000
(PSI
in
outl
out2
out3
out4
out5
out6
out7
0 500 1000 1500 2000
(PS)
in
outl
out2
out3
out4
out5
out6
out7
t (PS)
in
out1
our2
out3
out4
out5
out6
out7
four. From the fifth level on the train degenerates to a single pulse of a
width practically identical to that of the full initial train.
The results obtained with the DDM (Fig. 7.6) are practically identi-
cal, and they even reproduce quite exactly the three small glitches which
appear in line out4 as a result of the strong degradation which has taken
place in the train up until that moment. As occurs with HSPICE, the train
of pulses degenerates into one single pulse of a width comparable to that
of the initial train, from the fifth level on. In Table 7.2 some data meas-
ured from the curves in Figs. 7.5 and 7.6, are compared, showing the level
of agreement between both the degree of precision reached by the DDM.
This example and the one presented in the next subsection, are clear
examples of how the DDM can handle the evolution of high frequency
waveforms properly.
By way of comparison, Fig. 7.7 shows the results obtained without
considering the degradation effect. Since all the pulses of the train have a
sufficiently large enough width to surpass the threshold imposed by the
inertial effect, the complete chain propagates without alterations through-
Chapter 7. DDM Simulation Results 21 1
Table 7.2 Simulation of a train of equidistant pulses. Comparison of train widths and
pulses at the different gate levels in the different types of simulation. The error refers to a
percentage of deviation with respect to HSPICE.
HSPICE DDM (error%)
Train width in in 1255 1255 (0%)
Train width in outl 1256 1254 (0.2%)
Train width in out7 1256 1252 (0.3%)
Single pulse at level 5 5
in
outl
out2
Out3
out4
out5
out6
Out?’
t (PSI
out all the levels, yielding, once more, a result completely different from
reality.
Here, too, a simulation is made of a train of four pulses, but a small
timing separation is introduced between the first and second pair of
pulses. The results from HSPICE are shown in Fig. 7.8. One can see how
the smaller pulses in the chain have become significantly attenuated
already at the first gate level and, barely appreciable at the second level,
212 Logic- Timing Simulation and the Degradation Delay Model
in
out1
out2
out3
Out4
Out5
out6
out7
t (PS)
Table 7.3 Simulation of a pulse train with a timing separation. Comparison of train
widths and pulses in different circuit nodes for the various types of simulation. The error
refers to a percentage of deviation with respect to HSPICE.
in
outl
out2
Out3
Out4
out5
out6
out7
Another example which shows the benefits of taking into account the deg-
radation effect is the simulation of ring oscillators and the determination
of their oscillation frequency, especially when these oscillators are made
up of short chains and present a high oscillation frequency. In this section
we shall analyse the two oscillators which appear in Fig. 7.1 1. The first
one is a simple oscillator made up of three inverters and the second one is
practically the same circuit except that it has been given an out-buffer so
as to reinforce the signal.
Figure 7.12 shows the waveforms obtained with HSPICE in each
node of the oscillator of Fig. 7.1 1, and how the signals in the different
nodes have an amplitude below the polarization voltage V,, . This fact
makes it reasonable to expect that each transition in the oscillator will be
propagated with a certain factor of degradation and, consequently, with
delays slightly shorter than the normal propagation delay (without degra-
dation). This phenomenon will affect the oscillation time, calculated as:
n
(7.1)
i= 1
making it shorter with respect to the one expected when the degradation
effect is not considered.
In this section we shall simulate and obtain the oscillation times (and
the frequency) of the two oscillators of Fig. 7.1 1, comparing the results of
Chapter 7. DDM Simulation Results 215
in1
out1
out2
0
0 1000 2000 3000 4000
t (PS)
the DDM with those from HSPICE and with those of the model without
degradation.
Figure 7.13 shows signal in1 obtained from the simulation with the DDM
and with the CDM. At first glance it is difficult to notice any differences
216 Logic-Eming Simulation and the Degradation Delay Model
in I
in1
0
I . . . . . . . . . , . . . . . . . . . I . . . . . . . .
because here the degradation is weak and one has to resort to measure-
ments such as oscillation time to appreciate the difference. Table 7.4
shows the times and frequencies measured in the three types of simula-
tion, along with the error in the logic simulations with respect to HSPICE.
As expected, the model without degradation slightly overestimates the
value of the oscillation time. The difference is small, though, and is within
the degree of precision expect of a logic simulator, which explains why
the degradation effect has gone unnoticed, even when ring oscillators
were used to validate conventional delay models. Still, we see how the
Chapter 7. DDM Simulation Results 217
Table 7.4 Simple oscillator simulation results: Cycle time and frequency.
HSPICE CDM DDM
Cycle time(ps) 420.2 428.9 419.8
Frequency (GHz) 2.380 2.332 2.382
Error with respect to HSPICE 0 2.1 0.1
(%)
Table 7.5 Oscillator with out-buffer simulation results: Cycle time and frequency.
In this case we shall simulate the oscillator in Fig. 7.1 1 (b), similar to the
previous one, but will include an out-buffer. The buffer affects the oscilla-
tion frequency by introducing an additional capacitive charge into node
inl, and it also influences the effect that the degradation effect has on the
results. Figure 7.14 shows the curves obtained in node in1 for the three
types of simulation. At first glance, one can see how the additional charge
produces a greater degradation in the signal with respect to the previous
example, so that a greater incidence of the degradation effect in the value
of the oscillation time may be expected. In the Table 7.5 a comparison is
made of the results obtained in terms of oscillation times and frequency.
218 Logic-Enzing Simulation and the Degradation Delay Model
in1
in1 (b)
I . . . " . ' . , . . . . . . . . . . . . . . . . .. ..
I
I . . . . . . .
in 1
Fig. 7.14 Waveform in node in1 of the ring oscillator with an out-
buffer. a) Results from HSPICE, b) results from the DDM, c) results
from the CDM.
Here we can see how degradation affects the values obtained much more
obviously than in the previous example. Now the overestimation of the
model without degradation reaches 15%, an error which may not be disre-
garded. The DDM, however, corrects the result significantly, reducing it
to 6%, bringing it within an acceptable margin for a logic simulation.
In this specific application (estimation of oscillation times) conven-
tional models provide results which are correct from the qualitative point
Chapter 7. DDM Simulation Results 219
V(R)and V(S)
R
4
This section shows the capability of the DDM to simulate the oscillatory
metastable operation. This is done by comparing the simulation results
obtained from the logic simulation of the DDM with those obtained by
using the circuit simulator HSPICE, for the set of flip-flops in Fig. 7.17.
For the sake of completeness, we also show what is obtained from a delay
model which does not take into account the degradation effect, only the
inertial effect. This model will be referred to as a CDM.
All flip-flops studied are RS-latches built out of NAND gates. Similar
results are obtained using NOR gates, which are omitted due to lack of
space. Additional inverters are used in the loop to operate as the delay
Chapter 7. DDM Simulation Results 223
-
4
S
R
4
8.0
n
6.0
1:
4.0
2.0
0.9
'X
8.1 Introduction
In this book, up until now, several aspects about timing behaviour have
been presented. This chapter is devoted to a specific application, the
switching activity measurement in a digital circuit. Switching activity is
not a timing measurement but it measures the number of transitions Low-
to-High or High-to-Low that occur in the nodes of a circuit during its
operation.
Evaluating the switching activity in CMOS digital circuits is a key
point to calculate their power consumption [Ghosh et al. (1992), Monteiro
et al. (1994)l. Low power design is a very important topic in a signifi-
cantly high percentage in the integrated systems which are implemented
nowadays. One only needs to observe the very high number of portable
systems existing today (PCs, mobile phones, digital photo and video cam-
eras, etc.), as well as bioelectronic systems or space applications. All of
them have the same main problem, power consumption, which must be
reduced as much as possible. In the design process of these kinds of sys-
tems it is fundamental to use tools that estimate energy consumption and
allow us to select the design with the lowest consumption. Most of the
estimation tools of energy consumption in digital circuits use switching
activity as the most fundamental parameter. The reason is that the two
main sources of power consumption in CMOS VLSI circuits, the one due
221
228 Logic-7iming Simulation and the Degradation Delay Model
to switching and the other due to the short-circuits, are generated when a
signal changes from low to high or high to low. Also, in mixed-signal cir-
cuits, the switching activity of the digital part creates a switching noise
which is transferred to the analogue part [Aragonks et al. (1999); Allstot
et al. (1993); Tsividis (1995)]. The switching noise is the cause of failures
in mixed-signal A/D circuits, so it is really necessary to be able to analyse
carefully the effects of the switching activity in the digital parts. Further-
more, as digital circuits become faster and larger, the influence of glitches
in the switching activity grows because there are more and more input
collisions [Melcher et al. (1992); Metra et al. (1 995); Eisele and Berthold
(1995); Bellido et al. (2000)l. Thus, evaluation of switching activity is
today a major topic in the design process of both purely digital, and
mixed-signal integrated circuits.
Now, it is our goal to establish methods of measuring switching activ-
ity in an accurate, reliable and sure way and with reasonable computa-
tional costs. Measuring switching activity in a digital circuit concerns
three important questions: the first one is how to determine the represent-
ative input stimuli which must be obtained in order to obtain an accurate
estimation of the switching activity. The second one is concerned with the
timing simulator. In the timing simulation of digital circuits, standard
gate-level logic simulators (such as Verilog [Verilog (1999)l) are able to
handle very large circuits and are commonly used by circuit designers.
Otherwise, accurate evaluation of the switching activity is possible by
using electrical simulators (such as HSPICE [Hspice (1999)]), but these
simulators are limited to rather small circuits, they spend a great deal of
computational resources, and are not used in a typical digital design flow.
The third issue focuses on the origin of logic transitions in the nodes of
the circuit. Input changes cause two types of logic transitions. First,
proper operation generates functional transitions and second, the genera-
tion and propagation of spurious transitory signal pulses (glitches) causes
non-functional transitions.
The basic method to estimate power consumption at logic levels con-
sists in obtaining a final value by summing up the power contribution of
each node every time it makes a transition. It is thus necessary to calculate
the total number of transitions in the circuit besides the use of a power
model to estimate the consumption at each node. In this chapter, we dem-
Chapter 8. Accurate Measurement of the Switching Activity 229
I
switching activity per stimuli, SA-i
SA-1000
Fig. 8.1 The procedure to obtain the average measure for the switching
activity.
In the next two sections we will show the procedure for obtaining all
these measurements; in Sec. 8.3, the results obtained through the use of a
logic simulator, as well as with an electric simulator in Sec. 8.4.
benchmark circuit
DFWII
P&R
A1 A=O
/*/- Ntransz,,
Count, which scans the Verilog output and returns the number of logic
transitions in each node, as well as the total number of transitions.
Finally, we want to consider the effects of routing on each node in
order to have a more realistic description of the circuit. To this end, we
used the Silicon Ensemble tool and following an automatic process we get
236 Logic-Eming Simulation and the Degradation Delay Model
the layout of the circuit. We thus obtain a new set of delay values for each
node which includes the wire effects and new capacity values. After that,
we run another logic simulation using this new information and, follow-
ing the same procedure we used before for the logic simulation Fig. 8.3,
we obtain the number of logic transitions in each node, as well as the total
number of transitions, which is named NtranspOstla,,.
The whole previous method will be applied to ten of eleven ISCAS85
benchmark circuits (circuit c17 was too simple to be considered in our
study) in order to compare the switching activity obtained with logic sim-
ulation including pre- and post-layout against the intrinsic switching
activity (zero delay).
For each benchmark, the number of transitions for the simulation of
50 test vectors (using Verilog considering two delay models) is shown in
Table 8.2. The NtransZerocolumn shows the results for the Zero delay
model, and the Ntransmin,Ntransqp and Ntrans,, columns show the
results for minimum, typical and maximum inertial delay model values
for each gate.
after considering the parasitic effects in each node using minimum, typi-
cal and maximum delay for the gate. Furthermore, in the “pre” column of
Table 8.3, the results obtained before the layout are included again in
order to compare them to the new ones. In the “%” column we show the
percentage of { (per-post)/per} value. The analysis of results obtained in
the two previous tables will be presented in Sec. 8.5.
.-s
Y Ntransmi, Ntrans,,, Ntrans,,,
2
‘ij pre post % pre post % pre post %
c432 4719 4499 4.7 4735 4505 4.8 4753 4511 5.1
c499 6423 5937 7.6 6417 6260 2.4 6421 5977 6.9
c880 11353 11495 -1.2 11337 11493 -1.4 11331 11485 -1.3
c1355 16318 15447 5.3 16190 15383 5.0 15990 15297 4.3
Description of the
I ooeration-to-cellI A
VERILOG netlist
DFWII
HSPICE description
HSPICE
number of times each node in the circuit crosses the Vdd2 voltage. The
final result is the switching activity for the whole circuit and is noted
as NtrunsHSpICE.
The whole method will be applied again to all nine ISCAS85 bench-
mark circuits, in order to get the “accurate” value obtained with HSPICE.
The result of the simulation, NtrunsHSpICE,is included in Table 8.4.
c1908, the opposite occurs, and in other benchmarks the number of transi-
tions for minimum and maximum values are larger than for the typical
value delay, i.e. c499 or 15315.
In relative numbers, in all of the cases, the differences in the total
number of transitions comparing minimum with typical and maximum
with typical is less than 1%. Therefore, to take into account the three dif-
ferent values for the delay has very little effect on the final result of the
switching activity in a digital circuit.
We also want to show how unreliable logic simulators are when con-
sidering the transitions in each node in the circuit. To do this, in Table 8.5
we represent the relative error between Ntrunstyp and NtrunsHSPICE
Unfortunately, for this technology, the necessary data to run post-layout electrical
simulation was not available.
242 Logic-Ening Simulation and the Degradation Delay Model
Circuit %err
postlay-Hsp
c432 -0.2
c499 1
c880 4.2
c1355 10.2
c1908 27.1
c2670 29.6
c3540 16.6
c5315 35.9
c6288 86.3
c7552 15.4
tors persists even when minimum and maximum values are used and post-
layout effects are taken into account. The greatest variation between m i d
max is 1% and between pre- and post-layout is 13%. Both deviations are
much smaller than the average value of the overestimation comparing
logic and electric results. Hence, logic simulators are neither precise nor
reliable at measuring switching activity. This is due to the fact that they
are not accurate at simulating glitch propagation.
Chapter 8. Accurate Measurement of the Switching Activity 243
The results obtained in the different tables make us conclude that Ver-
ilog simulation is not an appropriate way to measure switching activity in
a circuit accurately. This is so for two main reasons, the first one being
that the relative error can be very high in some cases: in the case of circuit
c6288, the result is not valid at all; and the second one is the great varia-
tion in the percentage among the different examples which makes the
results for the switching activity unreliable in comparison to HSPICE.
Finally, in Table 8.7 we show the approximate amount of CPU time
spent in each simulation. From these results we can point out the well-
known conclusion that electrical simulators are limited to rather small cir-
cuits because their cost is high in computational resources and CPU time.
These kinds of electrical tools are restricted to critical parts of a digital
circuit.
From these results it can be concluded that the deviation in the power
consumption estimation of a circuit obtained from logic simulators is
derived from the overestimation in the switching activity. Thus, the way
to improve this result with these kinds of tools is to achieve a more accu-
rate switching activity estimation through the use of new delay models
244 Logic-Eming Simulation and the Degradation Delay Model
I I
I I I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I I
I Halotis cells Library I
I I
I I
process
I I
1 I
I
I Machta pattern file
I
Halotis cell compiler
I (Hcy)
I
I
I
I Verilog benchmark Halotis cell library
I
I (Hmachta)
I
I
I
J.
I
Halotis verilog Halotis patterns
I
I compiler
(Hverilog)
el
I
I
I
I Halotis C.U.T.
I
I
I
I
I
L4 binary file
I
I
I
I HALOTIS I Simulation process
Once we have the three binary files with the all information needed,
the cell library, the description of the circuit and the stimuli, we proceed
to simulate using HALOTIS.
The switching activity in the different simulations for each circuit is
presented in Table 8.8 and Table 8.9. In the first table, the switching activ-
ity in absolute numbers is presented. In the first column we repeat the pre-
vious result using the HSPICE simulator (for easy comparison) and the
second column shows the new values for the activity called
NtrunsmLOTIS.In Table 8.9 we show several relative numbers. The first
column repeats the ones we presented in Table 8.5 when we compared the
results after having simulated with Verilog and HSPICE, and in the other
column we present the comparison between HALOTIS and HSPICE.
c432 45 17 4599
c499 6196 5336
c880 11033 11189
c1355 13960 13948
c 1908 25873 28123
c2670 38655 36774
c3540 52303 56880
c5315 79803 81852
c6288 194784 242014
c7552 144535 146251
the circuit are filtered as occurs with the real circuit but sometimes
glitches are filtered before they would be eliminated in the real case.
On Table 8.9 the comments are similar to the previous case. We can
even say that the conclusions are drawn easily when we analyse the rela-
tive numbers between HALOTIS and HSPICE. In nearly all of the cases
the percentage is less than 10%. In fact, in two cases the result is 9% and
for the rest of the examples the number is under 5%. The case of c6288 is
different. The relative number is 24% but considering that when we simu-
lated with Verilog the error was 115%, we have to emphasize the huge
improvement obtained with this new result.
In general, these results are much better than those obtained with the
logic simulator, with some others advantages such as a CPU execution
time similar to the logic simulation and a precision in the result similar to
the electrical simulation.
In Table 8.10 we present the CPU time simulation with HALOTIS.
Afterwards we show the numbers of Table 8.7. As may be seen, the new
results are comparable to the ones obtained with the logic simulator. Due
to the complexity of Verilog, in this case the numbers are even larger than
the ones obtained with Halotis. In any case, with the new simulator, the
248 Logic-Eming Simulation and the Degradation Delay Model
CPU time measured is very far from the one consumed with the electrical
simulation, which is the main obstacle in managing medium-large sized
circuits.
Considering all this data, the good effect of using Halotis can be justi-
fied in two ways. On the one hand, a new delay model for the cells is used
in this simulator. A model which treats the generation and propagation of
glitches inside a circuit in a much better way than with the model used by
commercial logic simulators such as Verilog. We thus gain much better
results.
On the other hand, due to the type of simulator it is, it follows an
event-driven process of simulation, the speed in obtaining the switching
activity in a circuit is significantly increased, which is the greatest diffi-
culty when using electrical simulators.
Chapter 8. Accurate Measurement of the Switching Activity 249
8.7 Conclusions
This chapter deals with switching activity estimation in digital CMOS cir-
cuits at gate level. The procedures to be used and some results of switch-
ing activity when they are measured using standard and HALOTIS
simulators has been presented. We are interested in finding an accurate
value of mean switching activity and quantifying functional and anoma-
lous contributions.
In order to be impartial, ISCAS85 benchmark circuits have been
selected as circuits to be tested. Also, to specify test input patterns we
have chosen a method that selects stimuli in order to generate an “aver-
age” switching activity and to use a number of patterns small enough to
limit the cost of computational resources. Thus, the random medium
length stimuli generated have been applied to the circuits being tested.
As reference values, we have selected those obtained by the electrical
simulator HSPICE (i.e. NtransSpICE).As a standard logic simulator we
have used Verilog. With Verilog, the use of minimum, typical and maxi-
mum delay values have not produced an important effect on the switching
activity measurement, which only varies around 1%. In the same way,
there is a very little variation, around 5%, between pre- and post-layout
simulations. These variations are little significant in comparison to the
effect of glitches or the simulator’s own errors, as it may be seen after-
wards.
The glitch contribution to the global switching activity is given by the
relative error %errzero-Hsp.Generally, activity due to glitches has a
remarkable contribution (from 19% for c432 to 77% for c6288) to the
overall switching activity. Thus, we should emphasize the great impor-
tance of adequately handling the glitch generation and propagation effects
through timing simulators.
When the results of standard logic simulation (Verilog) are compared
to accurate data (HSPICE) (i.e. Ntrans vs. NtrunsHspIcE), it is observed
that the overestimation of the Ntrans varies appreciably, i.e. from 3% for
c880 to 115% for c6288. That overestimation persists even when mini-
mum and maximum values are used and post-layout effects are taken into
account. The greatest variation between midmax is 1% and between pre-
and post-layout it is 13%. Both deviations are much smaller than the aver-
250 Logic-lhing Simulation and the Degradation Delay Model
age value of the overestimation. Hence, logic simulators are neither pre-
cise nor reliable at measuring switching activity. This is due to the fact
that they are not accurate at simulating glitch propagation.
Indeed, HALOTIS switching activity measurements are very close to
HSPICE accurate values, reducing the gap of the logic simulator Verilog
by 4-to-1. This useful effect due to HALOTIS uses a good delay model
(i.e. IDDM) for the cells. On the other hand, HALOTIS simulation CPU
times are typical of event-driven logic level simulators.
Thus, an objective and accurate estimation of switching activity in
large digital circuits is suitably obtained by the methods established in
this Chapter. It has immediate applications in the analysis of the energy
consumption and switching noise determination. Also, as Halotis
achieves the measurements with reasonable costs, it can be applied in
many ways to the design of Low PowerLow Noise VLSI circuits.
References
Bafleur, M., Buxo, J., Teixeira, J. P. and Teixeira I. C., ‘Physical Macro-
modelling of the Dynamic Behaviour of CMOS VLSI Circuits’,
Elsevier Science Publishers Ltd. Microelectronics Journal, Vol.
23, pp. 599-623 (1992).
Bellido, M. J., Juan-Chico, J., Acosta, A. J., Valencia, M. and Huertas, J.
L., ‘Logical modeling of delay degradation effect in static CMOS
gates’, IEE Proceedings-G Circuits, Devices and Systems, Vol.
147, NO.2, pp. 107-117 (2000).
25 1
252 Logic-lfming Simulation and the Degradation Delay Model
Casu, M. R., Masera, G., Piccinini, G., Ruo Roch, M., Zamboni M., ‘A
high accuracy-low complexity model for CMOS delays’, Pro-
ceedings of IEEE International Symposium on Circuits and Sys-
tems (ISCAS), pp. 1-455-458 (2000).
Chatzigeorgiou, A. and Nikolaidis, S., ‘Collapsing the CMOS transistor
chain to an effective single equivalent transistor’, IEE Proceed-
ings-G Circuits, Devices and Systems, Vol. 145, No. 5, pp. 347-
353 (1998).
Chatzigeorgiou, A., Nikolaidis, S. and Tsoukalas, I., ‘A modeling tech-
nique for CMOS Gates’, IEEE Transactions on CAD of Inte-
grated Circuits and Systems, Vol. 18, No. 5, pp. 557-575 (1999).
Chatzigeorgiou, A., Nikolaidis, S. and Tsoukalas, I., ‘Single transistor
primitive for modeling CMOS gates’, Proceedings of IEEE Inter-
References 253
Daga, J. M., Turgis, S. and Auvergne, D., ‘Design Oriented Standard Cell
Delay Modelling’, Proceedings of Power and Timing Modelling,
Optimization and Simulation (PATMOS), pp. 265-274 (1996).
Daga, J. M., Turgis, S., and Auvergne, D., ‘Analytical Timing Macromod-
eling for CMOS Submicronic Process’, Proceedings of XI Design
Circuit Integrated and Systems Conference (DCIS), pp. 593-598
(1996).
Daga, J. M. and Auvergne, D., ‘A Comprehensive Delay Macro Modeling
for Submicrometer CMOS Logics’, IEEE Journal of Solid-state
Circuits, Vol. 34, No. 1, pp. 42-55 (1999).
Dartu, F. and Pileggi, L. T., ‘Modeling signal waveshapes for empirical
CMOS gate delay models’, Proceedings of Power and Timing
Modelling, Optimization and Simulation (PATMOS), pp. 57-66
(1996).
Deng, A. C., ‘Piecewise-Linear Timing Modeling for Digital CMOS Cir-
cuits’, IEEE Transactions on Circuits and Systems, Vol. 35, No.
10, pp. 1330-1334 (1988).
Deng, A. C. and Shiau, Y. C., ‘Generic Linear RC Delay Modeling for
Digital CMOS Circuits’, IEEE Transactions on CAD of Inte-
grated Circuits and Systems, Vol. 9, No. 4,pp. 367-376 (1990).
254 Logic-Eming Simulation and the Degradation Delay Model
Eisele, V., Hoppe, B. and Kiehl, O., ‘Transmission Gate Delay Models for
Circuit Optimization’, Proceedings of IEEE Electronics Design
Automation Conference (EDAC), pp. 558-562 (1990).
Eisele, M. and Berthold, J., ‘Dynamic Gate Delay Modelling for Accurate
Estimation of Glitch Power at Logic Level’, Proceedings of
Power and Timing Modelling, Optimization and Simulation
(PATMOS), pp. 190-201 (1995).
Elmore, W. C., ‘The Transient Response of Damped Linear Networks
with Particular regard to Wide-Band Amplifiers’, Journal of
Applied Physics, Vol. 19, No. 1, pp. 55-63 (1948).
Embabi, S. H. K. and Damodaran, R., ‘Delay Models for CMOS, BiC-
MOS and BiNMOS Circuits and Their Applications for Timing
Simulations’, IEEE Transactions on CAD of Integrated Circuits
and Systems, Vol. 13, No. 9, pp.1132-1142 (1994).
References 255
Favalli, M. and Metra, C., ‘The Effect of Glitches on CMOS Buffer Opti-
mization’, Proceedings of Power and Timing Modelling,
Optimization and Simulation (PATMOS), pp. 202-212 (1995).
Ghosh, A., Devadas, S., Keutzer, K. and White, J., ‘Estimation of Average
Switching Activity in Combinational and Sequential Circuits’,
Proceedings of ACM IEEE 29th Design Automation Conference
(DAC), pp. 253-259 (1992).
Jeppson, K. O., ‘Modeling the Influence of the Transistor Gain Ratio and
the Input-to-Output Coupling Capacitance on the CMOS Inverter
Delay’, IEEE Journal of Solid-state Circuits, Vo1.29. No.6, pp.
646-654 (1994).
Juan-Chico, J., Bellido, M. J., Acosta, A. J., Barriga, A. and Valencia, M.,
‘Delay degradation effect in submicronic CMOS inverters’, Pro-
ceedings of Power and Timing Modelling, Optimization and
Simulation (PATMOS), pp. 2 15-224 (1 997).
Juan-Chico, J., Bellido, M. J, Acosta, A. J., Barriga, A. and Valencia, M.,
‘Fully physical characterization of the delay degradation effect in
submicronic CMOS inverters’, Proceedings ofXII Design Circuit
Integrated and Systems Conference (DCIS), pp. 465-470 (1997).
Juan-Chico, J., Bellido, M. J, Acosta, A. J., Barriga, A. and Valencia, M.,
‘CMOS inverter input-to-output coupling capacitance modelling
for timing analysis’, Proceedings of Power and Timing
Modelling, Optimization and Simulation (PATMOS), pp. 73-82
(1 998).
Juan-Chico, J., Bellido, M. J, Acosta, A. J., Barriga, A. and Valencia, M.,
‘Accurate Input to Output Coupling Capacitance Modelling for
Digital CMOS Inverters’, Proceedings of XII Design Circuit Inte-
grated and Systems Conference (DCIS), pp. 368-373 (1998).
Juan-Chico, J., Ruiz-de-Clavijo, P., Bellido, M. J., Acosta, A. J. and
Valencia, M., ‘Degradation delay model extension to CMOS
gates’, Proceedings of Power and Timing Modelling,
Optimization and Simulation (PATMOS), pp. 149-158 (2000).
Juan-Chico, J., Ruiz-de-Clavijo, P., Bellido, M. 3. , Acosta, A. J. and
Valencia M., ‘Gate-level modeling of the delay degradation
effect’, Proceedings of X I Design Circuit Integrated and Systems
Conference (DCIS), pp. 537-542 (2000).
References 257
N
Najm, F. N., ‘Transition density, a stochastic measure of activity in digital
circuits’, Proceedings of ACM IEEE 28th Design Automation
Conference (DAC), pp. 644-649 (1991).
Najm, F. N., ‘A Survey of Power Estimation Techniques in VLSI Cir-
cuits’, IEEE Transactions on VLSI Systems, Vol. 2, num. 4, pp.
446-455 (1994).
Nabavi-Lishi, A. and Rumin, N. C., ‘Inverter Models of CMOS Gates for
Supply Current and Delay Evaluation’, IEEE Transactions on
CAD of Integrated Circuits and Systems, Vol. 13, No. 10,
pp. 1271-1279 (1994).
Newton, A. R., Pederson, D. 0. and Sangiovanni-Vicentelli,A., ‘SPICE3
Version 3€3 User’s Manual’. Department of Electrical Engineer-
ing and Computer Sciences, University of California at Berkelq,
(1993).
Nichols, K. G., Kazmierski, T. J., Zwolinski, M. and Brown, A. D.,
‘Overview of SPICE-like simulation algorithms’, IEE Proceed-
ings-G Circuits, Devices and Systems, Vol. 141, No 4, pp. 242-
250 (1994).
Rabe, D., Fiuczynski, B., Kruse, L., Welslau, A. andNebel, W., ‘Compar-
ison of Different Gate Level Glitch Models’, Proceedings of
Power and Timing Modelling, Optimization and Simulation
(PATMOS), pp. 167-176 (1996).
Rabe, D., Jochens, G., Kruse, L. and Nebel, W., ‘Power-simulation of cell
based ASICs: accuracy-and performance trade-offs’, Proceedings
of Design, Automation and Test in Europe (DATE), pp. 356-361
(1998).
Reyneri, L. M., del Corso, D. and Sacco, B., ‘Oscillatory Metastability in
Homogeneous and Inhomogeneous Flip-flops’. IEEE Journal of
Solid-state Circuits, Vol. 25. No. 1, pp. 254-264 (1990).
Rubinstein, J., Penfield, P. and Horowitz, M. A., ‘Singnal Delay in RC
Tree Networks’, IEEE Transactions on CAD of Integrated Cir-
cuits and Systems, Vol. CAD-2, No. 3, pp. 202-21 1 (1983).
Rumbaugh, V. J., Jacobson, I. and Booch, G., ‘The Unified Modeling
Language. Reference Manual’, Addison Wesley, (1999).
Sakurai, T. and Newton, A. R., ‘Alpha-power law MOSFET model and its
applications to CMOS inverter delay and other formulas’, IEEE
Journal of Solid-state Circuits, Vol. 25, No. 4, pp. 584-594
(1990).
References 26 1
U
Uebel, L. F. and Bampi, S., ‘A timing model for VLSI CMOS circuits ver-
ification and optimization’, Proceeding of IEEE International
Symposium on Circuits and Systems (ISCAS), pp. 439-442
( 1 994).
Unger, S. H., ‘Asynchronous Sequential Switching Circuits’, Wiley-
Interscience, (1969).
Unger, S. H., ‘The essence of logic circuits’, Prentice-Hall International,
Inc., ( 1 989).
262 Logic-7iming Simulation and the Degradation Delay Model
265
266 Index
resolving time 22 1 T
ring oscillator 214 technological parameters 76, 1 18
rising step input delay 88 technology 34,36,44
routing 235 temporal analysis tools 4
test patterns 200
S timeskew 220
sensitivity 166 timing simulation 23, 35
short-circuit current 86 timing simulator 228
short-circuit region 86 timing verification tools 4
Silicon Ensemble tool 235 transient response 82
simplified degradation model 150, 153, transitions 197,227
155
simulation 2 11 U
simulation of a pulse train 2 13 UML 183
simulation results 203,222 unified method 183
simulation time 144 unitary delay models 26
simulation tool 40 23
simulation with the DDM 2 15 use case diagrams 184
slow input transitions 90
sources of consumption in CMOS VLSI V
circuits 227 validation 138
SPICE 5 Verilog 181, 190,228
spurious pulses 233 Verilog netlist 234
Standard Template Library (STL) 199 VHDL 181,190
static CMOS gates 127 VLSIdesign 3
static delay models 27
statistical delay 25 W
statistical method 23 1 waveform 204
step input response 88 weak pattern dependence 230
switching activity 204,227 wire effects 236
switching noise 228
system design 186 Z
zero delay model 26,233