Delays in Asic Design: Gate Delay
Delays in Asic Design: Gate Delay
Delays in Asic Design: Gate Delay
Wire delays or extrinsic delays are calculated using output drive strength, input capacitance
and wire load models. Other delays are intrinsic properties of each and every gate.
• Input capacitance of the logic gate is a function of output state, output loads and
input slew rate.
• Internal timing arcs and output slew rate is a function of switching input(s).
• Capacitance of the wire is dependent on frequency.
Gate Delay
Transistors within a gate take a finite time to switch. This means that a change on the input
of a gate takes a finite time to cause a change on the output. [Magma]
or
where Cload=Cnet+Cpin
Cnet-->Net capacitance
Cell or gate delay is calculated using Non-Linear Delay Models (NLDM). NLDM is highly
accurate as it is derived from SPICE characterizations. The delay is a function of the
input transition time (i.e. slew) of the cell, the wire capacitance and the pin
capacitance of the driven cells. A slow input transition time will slow the rate at which the
cell’s transistors can change state logic 1 to logic 0 (or logic 0 to logic 1), as well as a large
output load Cload (Cnet + Cpin), thereby increasing the delay of the logic gate.
There is another NLDM table in the library to calculate output transition. Output transition of
a cell becomes the input transition of the next cell down the chain.
• Table models are usually two-dimensional to allow lookups based on the input
slew and the output load (Cload). A sample table is given below.
timing() {
related_pin : "CKN";
timing_type : falling_edge;
timing_sense : non_unate;
cell_rise(delay_template_7x7) {
values ( \
rise_transition(delay_template_7x7) {
values ( \
}
index_1 --> input transition values
Situation 1:
Input transition and output load values match with table index values
If both input transition and output load values match with table index values then
corresponding delay value is directly picked up from the delay “values” table as highlighted
by yellow shaded data.
Situation 2:
Output load values doesn't match with table index values
• When the actual load capacitance values does not fall directly on or at one of the
load-axis index points, the delay is determined by interpolation from the closest points. Note
that to carry out interpolation input transition point should match with the any one of the
table index values.
• Determine the equation for the line segment connecting the two nearest points in the
table.
Slope m = (y2-y1)/(x2-x1) where (y2-y1) is delay segment (generally in ns) on y axis and
(x2-x1) is load segment (generally in pf) on x-axis.
where
y-->delay (ns)
m-->slope
Load point of interest means load capacitance value for which delay has to be calculated.
Situation 3:
Both input transition and output load values doesn't match with table index values
• If both input transition and load capacitance values do not match exactly with the
look up table index values then bilinear interpolation is used.
• Multiple linear interpolations (~3) are performed on multiple closest table data points
(~4) as shown in highlighted violet color in the look up table.
Situation 4:
Output load values doesn't match with table index values and is outside the table
boundary
• When the load point is outside of the boundary of the index, the delay is extrapolated
to the closest known points.
• Lookup value too far out of range of the given table value could lead to inaccuracy.
[Cadence]
Intrinsic delay
• Intrinsic delay is the delay internal to the gate. This is from input pin of the cell to
output pin of the cell.
• It is defined as the delay between an input and output pair of a cell, when a near
zero slew is applied to the input pin and the output does not see any load condition. It is
caused by the internal capacitance associated with its transistor.
• This delay is largely dependent on the size of the transistors forming the gate
because increasing size of transistors increase internal capacitors.
Source : http://asic-soc.blogspot.in/2008/09/delays-in-asic-design.html