Skip to content
Microelectronics

Delays in integrated circuits: Elmore and logical effort

The Elmore delay of RC networks, logical and electrical effort, the minimum delay of a path proved with the geometric mean, the optimal number of stages, an inverter chain.

How fast is a logic gate, and how should the transistors be sized to drive a large load in the shortest time? Simulations give precise answers, but design needs simple models that point in the right direction. In this lesson we look at the Elmore delay of RC networks, the logical effort model of gate delay, the proof of how to minimise the delay of a path by sharing the effort equally, and an example with a chain of inverters.

The Elmore delay

A switching gate charges or discharges the downstream capacitances through the resistance of its transistors and interconnects: an RC network. For a tree network driven by a step, a widely used estimate of the delay to node i is the Elmore delay

    \[ t_{D,i} = \sum_k R_{ik}\,C_k \]

where the sum runs over all the capacitances C_k of the network and R_{ik} is the resistance of the portion of path shared between the path from the source to node i and that from the source to node k. For a chain of N segments, with resistances R_1, \dots, R_N and capacitances C_1, \dots, C_N, it becomes t_D = \sum_{k=1}^{N}C_k\sum_{j=1}^{k}R_j: each capacitance is charged through all the resistances preceding it.

The idea is that each capacitance, to charge, passes its charge through the resistances it shares with the observed path, and each produces a drop there that delays the node. Mathematically the Elmore delay is the first moment of the network’s impulse response, and it is an upper bound on the 50 % delay: imprecise in the details, but simple, additive and almost always in the right direction, perfect for comparing alternatives.

The logical effort model

The delay of a gate, measured in units of \tau (the delay of an ideal inverter driving an identical inverter), is written

    \[ d = g\,h + p \]

  • h = C_{out}/C_{in} is the electrical effort (electrical fan-out): how much load it drives relative to its own input capacitance;
  • g is the logical effort: how much worse the gate is than an inverter at producing current for the same input capacitance. It is 1 for the inverter, 4/3 for a two-input NAND, 5/3 for a two-input NOR, because series transistors must be widened to give the same current;
  • p is the parasitic delay, due to the output’s own capacitance: about 1 for the inverter, 2 for the two-input NAND.

The product f = gh is the stage effort.

The minimum delay of a path

For a path of N stages the path effort is defined as F = G\,H\,B, the product of the total logical effort G = \prod g_i, the total electrical effort H = C_{load}/C_{input} and a branching factor B. F does not depend on how the intermediate gates are sized: it is fixed by the final load, the allowed input capacitance and the logic.

Theorem. The delay of an N-stage path with path effort F is minimum when all stages have the same effort

    \[ f = F^{1/N} \]

and it is then D_{min} = N\,F^{1/N} + \sum p_i.

Proof. The delay is D = \sum f_i + \sum p_i, and the second term does not depend on sizing. The product of the stage efforts is fixed: \prod f_i = \prod g_ih_i = G\,H\,B = F, because the intermediate loads cancel between one stage and the next. By the inequality between arithmetic and geometric means, \frac{1}{N}\sum f_i \ge \left(\prod f_i\right)^{1/N} = F^{1/N}, with equality only if all the f_i are equal. So \sum f_i is minimum, equal to NF^{1/N}, when each stage has effort F^{1/N}. ∎

The number of stages can also be chosen: minimising NF^{1/N} + Np_{inv} with respect to N one finds that the optimal stage effort is about 3.6, in practice between 3 and 5. Adding inverters to a path that is too short makes it faster, and so does removing them from one that is too long.

An example

Chain of four inverters driving a load 256 times the input capacitance
Each inverter is four times larger than the previous one: each stage has effort 4, the value that minimises the overall delay.

A signal with input capacitance C_{in} must drive a load C_L = 256\,C_{in}, for instance a long bus or an output pad. With a single inverter the delay is 256 + 1 = 257\,\tau. With a chain of inverters the path effort is F = 256; with N = 4 stages the optimal effort of each is 256^{1/4} = 4, and each inverter must be four times larger than the previous one: 1, 4, 16, 64. The total delay is 4\cdot 4 + 4\cdot 1 = 20\,\tau, almost thirteen times less. That is why output buffers and clock drivers are chains of progressively larger inverters, and why an experienced designer, looking at a critical path, first looks for stages whose effort is very different from the others.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x