Logical effort
From Wikipedia, the free encyclopedia
The method of logical effort, a term coined by Ivan Sutherland and Robert Sproull in 1991, is a straightforward technique used to estimate delay in a CMOS circuit. Used properly, it can aid in selection of gates for a given function (including the number of stages necessary) and sizing gates to achieve the minimum delay possible for a circuit.
Contents |
[edit] Derivation of delay in a logic gate
Delay is expressed in terms of a basic delay unit, τ = 3RC, the delay of an inverter driving an identical inverter with no parasitic capacitance; the unitless number associated with this is known as the normalised delay. The absolute delay is then simply defined as the product of the normalised delay of the gate, d, and τ:
- dabs = dτ
In a typical 600-nm process τ is about 50 ps. For a 250-nm process, τ is about 20 ps.
The normalised delay in a logic gate can be expressed as a summation of two primary factors: parasitic delay, p (which is an intrinsic delay of the gate and can be found by considering the gate driving no load), and stage effort, f (which is dependent on the load as described below). Consequently,
- d = f + p
The stage effort is divided into two components: a logical effort, g, which is the ratio of the input capacitance of a given gate to that of an inverter capable of delivering the same output current (and hence is a constant for a particular class of gate and can be described as capturing the intrinsic properties of the gate), and an electrical effort, h, which is the ratio of the input capacitance of the load to that of the gate. The stage effort is then simply:
- f = gh
Combining these equations yields a basic equation that models the normalised delay through a single logic gate:
- d = gh + p
[edit] Multistage logic networks
A major advantage of the method of logical effort is that it can quickly be extended to circuits composed of multiple stages. The total normalised path delay D can be expressed in terms of an overall path effort, F, and the path parasitic delay P (which is the sum of the individual parasitic delays):
- D = F + P
The path effort is expressed in terms of the path logical effort G (the product of the individual logical efforts of the gates), and the path electrical effort H (the ratio of the load of the path to its input capacitance).
For paths where each gate drives only one additional gate (i.e. the next gate in the path),
- F = GH
However, for circuits that branch, an additional branching effort, b, needs to be taken in to account; it is the ratio of total capacitance being driven by the gate to the capacitance on the path of interest:
This yields a path branching effort B which is the product of the individual stage branching efforts; the total path effort is then
- F = BGH
It can be seen that b = 1 for gates driving only one additional gate, fixing B = 1 and causing the formula to reduce to the earlier non-branching version.
[edit] Minimum delay
It can be shown that in multistage logic networks, the minimum possible delay along a particular path can be achieved by designing the circuit such that the stage logical efforts are equal. For a given combination of gates and a known load, B, G, and H are all fixed causing F to be fixed; hence the individual gates should be sized such that the individual stage efforts are
- f = F1 / N
where N is the number of stages in the circuit.
[edit] Examples
[edit] Delay in an inverter
By definition, the logical effort g of an inverter is 1. If the inverter drives an equivalent inverter, the electrical effort h is also 1.
The parasitic delay p of an inverter is also 1 (this can be found by considering the Elmore delay model of the inverter).
Therefore the total normalised delay of an inverter driving an equivalent inverter is
- d = gh + p = (1)(1) + 1 = 2
[edit] Delay in NAND and NOR gates
The logical effort of a two-input NAND gate is calculated to be g = 4/3 because a NAND gate with input capacitance 4 can drive the same current as the inverter can, with input capacitance 3. Similarly, the logical effort of a two-input NOR gate can be found to be g = 5/3. Due to the lower logical effort, NAND gates are typically preferred to NOR gates.
For larger gates, the logical effort is as follows:
Number of Inputs | ||||||
---|---|---|---|---|---|---|
Gate type | 1 | 2 | 3 | 4 | 5 | n |
Inverter | 1 | N/A | N/A | N/A | N/A | N/A |
NAND | N/A | |||||
NOR | N/A |
The normalised parasitic delay of NAND and NOR gates is equal to the number of inputs.
Therefore, the normalised delay of a two-input NAND gate driving an identical copy of itself (such that the electrical effort is 1) is
- d = gh + p = (4 / 3)(1) + 2 = 10 / 3
and for a two-input NOR gate, the delay is
- d = gh + p = (5 / 3)(1) + 2 = 11 / 3
[edit] References
- Ivan E. Sutherland, Robert F. Sproull, and David F. Harris (1999). Logical Effort: Designing Fast CMOS Circuits. Margan Kaufmann. ISBN 1558605576.
- Neil H.E. Weste and David Harris (2005). CMOS VLSI Design: A Circuits and Systems Perspective. Pearson/Addison-Wesley. ISBN 0321149017.