# Finding the Energy Efficient Curve: Gate Sizing for Minimum Power under Delay Constraints

Authors: Yoni Aizik; Avinoam Kolodny
Journal: VLSI Design
 (2011)

---

## Abstract

A design scenario examined in this paper assumes that a circuit has been designed initially for high speed, and it is redesigned for low power by downsizing of the gates. In recent years, as power consumption has become a dominant issue, new optimizations of circuits are required for saving energy. This is done by trading off some speed in exchange for reduced power. For each feasible speed, an optimization problem is solved in this paper, finding new sizes for the gates such that the circuit satisfies the speed goal while dissipating minimal power. Energy/delay gain (EDG) is defined as a metric to quantify the most efficient tradeoff. The EDG of the circuit is evaluated for a range of reduced circuit speeds, and the power-optimal gate sizes are compared with the initial sizes. Most of the energy savings occur at the final stages of the circuits, while the largest relative downsizing occurs in middle stages. Typical tapering factors for power efficient circuits are larger than those for speed-optimal circuits. Signal activity and signal probability affect the optimal gate sizes in the combined optimization of speed and power.


---

## Body

## 1. Introduction

Optimizing a digital circuit for both energy and performance involves a tradeoff, because any implementation of a given algorithm consumes more energy if it is executed faster. The tradeoff between power and speed is influenced by the circuit structure, the logic function, the manufacturing process, and other factors. Traditional design practices tend to overemphasize speed and waste power. In recent years power has become a dominant consideration, causing designers to downsize logic gates in order to reduce power, in exchange for increased delay. However, resizing of gates to save power is often performed in a nonoptimal way, such that for the same energy dissipation, a sizing that results in better performance could be achieved.In this paper, we explore the energy-performance design space, evaluating the optimal tradeoff between performance and energy by tuning gate sizes in a given circuit. We describe a mathematical method that minimizes the total energy in a combinational CMOS circuit, for a given delay constraint. It is based on an extension of the Logical Effort [1] model to express the dynamic and leakage energy of a path as well as the delay. Starting from the minimum achievable delay, we apply the method for a range of longer delays, in order to find the optimal energy-delay relation for the given circuit. We show that downsizing all gates in a fast circuit by the same factor does not yield an energy-efficient design, and we characterize the differences between gate sizing for high speed and sizing for low power.In trading off delay for energy, we are interested only in a subset of all the possible downsized circuits2014those implementations that are energy efficient. A design implementation is considered to be energy efficient when it has the highest performance among all possible configurations dissipating the same power [2, 3]. When the optimal implementations are plotted in the energy-delay plane, they form a curve called the energy efficient curve. In Figure 1, each point represents a different hardware implementation. The implementations which belong to the energy efficient family reside on the energy efficient curve.Figure 1
Energy efficient curve. Although implementations 0 and 0′ of the given circuit have the same delay (D0), implementation 0 consumes less energy. Similarly, implementations 1 and 1′ consume the same energy, but implementation 1 has a shorter delay (D1), hence is preferable. Points 0 and 1 are on the energy efficient curve. All implementations have the same circuit topology, with different device sizes.Zyuban and Strenski [3, 4] introduce the hardware intensity metric. Hardware intensity (η) is defined to be the ratio of the relative increase in energy to the corresponding relative gain in performance achievable “locally” through gate resizing and logic manipulation at a fixed power-supply voltage for a power efficient design. Simply put, it is the ratio of % energy per % speed performance tradeoff for an energy-efficient design. Since speed performance is inversely proportional to delay,(1)η=-1/E1/D∂E∂D,
where D is delay, E is the dissipated energy, and η represents the hardware intensity. The hardware intensity is a measure of the “differential” energy-performance tradeoff (the energy gained if the delay is relaxed by a small ΔD around a given delay and energy point on the energy efficient curve), and is actually the sensitivity of the energy to the delay.As shown in [3], each point on the energy efficient curve corresponds to a different value of the hardware intensity η. The hardware intensity decreases along the energy efficient curve towards larger delay values. According to [3], η is equivalent to the tradeoff parameter n in the commonly used optimization objective function combining energy and delay:(2)Fopt=E⋅Dn,n≥0.In [5], Brodersen et al. formalize the tradeoff between energy and delay via sensitivities to tuning parameters. The sensitivity of energy to delay due to tuning the size Wi of gate i is defined as(3)θ(Wi)=-1/E1/D⋅∂E/∂Wi∂D/∂Wi,
where θ(Wi) is the sensitivity, D is the delay, E is the energy, ∂E/∂Wi is the derivative of energy with respect to size of device i, and ∂D/∂Wi is the derivative of delay with respect to size of device i. To achieve the most energy-efficient design, the energy reduction potentials of all the tuning variables must be the same. Therefore, for an energy efficient design, (3) is equivalent to (1) for all points on the energy efficient curve.The focus of this paper is on the conversion to low power of circuits that were optimized only for speed during their initial design process. Optimal downsizing is applied to each gate for each relaxed delay target, such that the whole energy efficient curve is generated for the circuit. Note that the gate sizes are allowed to vary in a continuous manner between a minimum and a maximum size. While the resultant gate sizes would be mapped into a finite cell library in a practical design, the continuous result for some basic circuits provides guidelines and observations about CMOS circuit design for low power.The rest of this paper is organized as follows: The design scenario is described in Section2. Usage of logical effort to analyze the delay and energy is described in Section 3. The optimization problem is formalized in Section 4. Typical circuit types are analyzed in Section 5. Section 6 concludes the paper.


## 2. Power Reduction Design Scenario

Typically, an initial circuit is given, where speed was the only design goal. In order to save energy, the delay constraint is relaxed, and the gates sizes are reduced. For example, consider Figure1, with the initial circuit implementation 0, which is energy efficient. While relaxing the delay constraint (moving from D0 to D1), the design gets downsized, which results in circuit implementation 1.To calculate the energy gain achievable by relaxing the delay byX percent, we define a metric we call “Energy Delay Gain” (EDG). The EDG is defined as the ratio of relative decrease in energy to the corresponding relative increase in delay, with respect to the initial design point (D0, E0). D0 is the initial delay (not necessarily the minimum achievable delay), and E0 is the corresponding initial energy. Note that the EDG defines the total energy-performance tradeoff, as opposed to the differential tradeoff—the hardware intensity. Mathematically, EDG at a given delay D with corresponding energy E is defined as(4)EDG=(E0-E)/E0(D-D0)/D0.For example, assuming that the initial design point in Figure1 is implementation 0, then the EDG of point 1 is(5)(E0-E1)/E0(D1-D0)/D0.
Figure 2 illustrates the difference between hardware intensity and EDG. It shows the energy efficient curve of a given circuit, where D0 is the initial delay, and E0 is the corresponding initial energy. The hardware intensity is the ratio between the slope of the tangent to the energy efficient curve at point (D, E) to the slope of the line connecting the origin to point (D, E). The EDG is the ratio between the slope of the line connecting points (D0, E0) and (D, E), to the slope of the line connecting the origin to point (D0, E0). Note that when point (D, E) is close to (D0, E0), the two definitions converge.Figure 2
EDG and hardware intensity. Note that when (D, E) → (D0, E0), hardware intensity and EDG converge.Resizing of the gates to tradeoff performance with active energy is the most practical approach available to the circuit engineer. Continuous gate sizes has been used for optimizing delay under area constraints and vice versa [6]. Other degrees of freedom include logic restructuring, tuning of threshold voltages or supply voltage, and power gating. Changing the threshold voltage affects mainly the leakage energy, and not the dynamic energy dissipation [7, 8], so does power gating [9, 10]. Logic restructuring of the circuit could be an effective method to trade off energy and performance, by reducing the load on high activity nets, and by introducing new nodes that have a lower switching activity [11]. However, changing the circuit topology may increase the time required for the design process to converge. Changing the supply voltage is an effective technique as well [3, 5, 7, 11–14]. However, in most cases, changing the supply voltage for a subcircuit requires major changes in the package and in the system and therefore is not practical. For instance, latest state-of-the art CPUs include only 1-2 power planes [15, 16].In the following sections, we set up an optimization framework that maximizes the energy saving for any assumed delay constraint in a given combinational CMOS circuit. It determines the appropriate sizing factor for each gate in the circuit. For primary inputs and outputs of the circuit we assume that fixed capacitances. Given activity factor and signal probability are assumed at each node of the circuit. The result of this optimization process is equivalent to finding the energy-efficient curve for the given circuit.


## 3. Analytical Model

The optimization problem we solve is defined as follows. Given a path in a circuit with initial delay (minimum or arbitrary)D0 and the corresponding energy consumption E0, find gate sizing that maximizes the EDG for an assumed delay constraint. We use the logical effort method [1] in order to calculate the delay of a path and adapt it to calculate the dynamic and leakage energy dissipation of the circuit.For a given path (Figure3), we assume that constant input and output loads and an initial sizing that is given as input capacitance for each gate. For each gate we apply a sizing factor k. The input capacitance of the resized ith gate is expressed as the initial input capacitance C0i multiplied by ki. The energy-delay design space is explored by tuning the k’s.Figure 3
Example path. Each gate is assigned with logical effort notation, initial input capacitance (C0i) and sizing factor (ki).The following properties are defined:Mi:
number of inputs to gatei,AFij:
activity factor (switching probability) of inputj in gate i,AFoi:
output activity factor of gatei,gi:
logical effort of gatei,pi:
parasitic delay of gatei,C0i:
initial capacitance of gatei that achieves initial path delay (corresponds to (D0, E0)),Coffi:
off-path constant capacitance driven by gatei,Pleaki¯:
the average leakage power for gatei, for a unit input capacitance,ki:
sizing factor for gatei. The k's are used in the gate downsizing process. For each gate i, ki·C0i is the gate size. Although specified, k1 is assumed to be 1 (constant driver).


### 3.1. Energy of a Logic Path

#### 3.1.1. Switching Energy

The switching energy of a static CMOS gatei with Mi inputs and a single output is(6)SwitchingEnergy=∑j=1MiAFij⋅Cj⋅Vj2︸inputenergy+AFouti⋅Couti⋅Vouti2︸outputenergy.
Assuming that the voltage amplitude for each net in the design is the same (Vcc), we can define a parameter called dynamic capacitance (Cdyn), which is the switching energy normalized by Vcc. The dynamic capacitance of a gate i (Cdyni) is (7)Cdyni=SwitchingEnergyVcc2=∑j=1MiAFij⋅Cj+AFouti⋅Couti,Without loss of generality, we assume that the first input of each gate resides on the investigated path. We assume that the inputs of the gates we deal with are symmetrical (input capacitance on each input pin is equal) and the gates are noncompound (i.e., gates implementing functions likea·b+c¯ are out of scope). Our method can be easily extended to support these types. Under these assumptions, all input capacitances of a given gate are identical. Therefore, the input Cdyn of gate i (Cdynini) is(8)Cdynini=C0i⋅ki∑j=1MiAFij=C0i⋅ki⋅AFi,
where AFi is defined to be ∑j=1MiAFij—sum of activity factors for input pins of gate i. Note that unlike calculating the delay of a gate, when calculating the gate energy, all input and output nets of a gate have to be taken into consideration. The Cdyn of the nets not in the desired path should not be overlooked.The output capacitance of a gate is defined to be its self loading and is combined mainly of the drain diffusion capacitors connected to the output. The parasitic delay of gatei in logical effort method, denoted by pi, is proportional to the diffusion capacitance. The logical effort of gate i, denoted by gi, expresses the ratio of the input capacitance of gate i to that of an inverter capable of delivering the same current. It is easy to see that the output capacitance of gate i can be expressed as(9)Couti=Cinigipi.We can now rewrite (7) using the notation defined previously:(10)Cdyni=C0iki⋅AFi+C0ikigipi⋅AFoi.Besides the gates in the path, we have to take into account theCdyn of the side loads. Multiplying Coffi by AFi1 results in the  Cdyn of the off-path load driven by gate i. We use (10) to calculate  Cdyn of a desired path:(11)Cdyn=AF1⋅Cin1︸inputCdyn+∑i=2NAFi⋅Cini+AFoi-1⋅Couti-1︸stageiCdyn+AFoN(CoutN+Cload)︸outputCdyn+∑i=1NCoffi⋅AFi1︸Cdynofoff⁡pathloadi.Substituting inputCdyn with (8) and Couti with (9), and rearranging the formula, we get(12)Cdyn=∑i=1Nki(AFi⋅C0i+AFoi⋅C0i⋅pigi)+AFN+1⋅Cload+∑i=1NCoffi⋅AFi1.By defining(13)Cdyni≜AFi⋅C0i+AFoi⋅C0i⋅pigi,Cdyn-off≜∑i=1NCoffi⋅AFi1,
we get(14)Cdyn=∑i=1NCdyni⋅ki+AFN+1⋅Cload+Cdyn-off.The initialCdyn is achieved by setting all ki′s to 1:(15)Cdyn0≜Cdyn|ki′s=1=∑i=1NCdyni+AFN+1⋅Cload+Cdyn-off.


#### 3.1.2. Leakage Energy

The leakage energy of a static CMOS gatei with Mi inputs and a single output can be expressed as(16)LeakageEnergyofGatei=Tcycle⁡⋅Pleaki¯⋅C0i,
where Tcycle is the cycle time of the circuit, and Pleaki¯ is the average leakage power for gate i, for a unit input capacitance. Pleaki¯ is a function of the manufacturing technology, gate topology, and signal probability (SP: the probability for a signal to be in a logical TRUE state at a given cycle) for each input. See [8, 17, 18] for leakage power calculation methods. Under a given workload, Pleaki¯ should be precalculated for each gate i. Since Pleaki¯ is sensitive to the signal probability, it needs to be recalculated whenever the workload is modified, to reflect changes in gates’ signal probability.By dividing the leakage energy byVcc2, we can express the leakage in terms of capacitance:(17)LeakageCapacitanceofGatei≜Cleaki=1Vcc2Tleaki⋅C0i⋅Pleaki¯.
And the total Cleak is equal to:(18)Cleak=1Vcc2Tcycle⁡∑i=1N(ki⋅C0i⋅Pleaki¯)=∑i=1Nki⋅Cleaki.The initialCleak is achieved by  setting all ki′s to 1:(19)Cleak0≜Cleak|ki′s=1=∑i=1NCleaki.By combining (14), (15), (18), and (19) we can express the total capacitance and the initial capacitance of a desired path:(20)Cpath=∑i=1Nki(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off,Cpath0=∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.The energy decrease rate (edec) due to downsizing of the gates by a factor of k is expressed as(21)edec=Cpath0-CpathCpath0=∑i=1N(Cdyni+Cleaki)(1-ki)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.In order to estimate the upper bound ofedec, we assume an initial design point with minimum delay for Cpath0, and set the sizes of the gates in the path to minimum allowed feature size (Cmin), to reflect the minimum possible Cpath. By defining(22)Cdynimin⁡≜AFi⋅Cmin⁡+AFoi⋅Cmin⁡⋅pigi,Cleakimin⁡≜1Vcc2Tcycle⁡⋅Cmin⁡⋅Pleaki¯.
We get(23)edec⩽edecMAX=∑i=1N(Cdyni+Cleaki)-∑i=1N(Cdynimin⁡+Cleakimin⁡)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.By using (23), the upper bound to the EDG at a given delay increase rate (dinc)—EDG(dinc)MAX can also be calculated, simply by dividing edecMAX by dinc:(24)EDG(dinc)MAX=edecMAXdinc.EDG(dinc)MAX can be used by the circuit designer to quickly evaluate the potential for saving power. However, the designer should note that the value of EDG(dinc)MAX is a nonreachable upper bound since the minimum sizing leads to a delay increase which is always greater than the one that the designer refers to. If the value of EDG(dinc)MAX is not sufficient, other energy reduction techniques should be considered.


### 3.2. Delay of a Logic Path

When using the logical effort notation, the path delay (D) is expressed as(25)D=∑i=1Ngihi+P.
The electrical effort of stage i (hi) is calculated as the ratio between capacitance of gate i+1 and gate i, plus the ratio of side load capacitance of gate i and input capacitance of gate i. For the sake of simplicity, kN+1 and k1 are defined to be 1. Using the notation defined earlier, the path delay D can be written as:(26)D=∑i=1Ngi(C0i+1ki+1C0iki+CoffiC0iki)+P.
By defining (27)Di0≜giC0i+1C0i,Di1≜giCoffiC0i.Equation (26) becomes(28)D=∑i=1N(Di0ki+1ki+Di11ki)+P.
The initial delay is achieved by setting all ki′s to 1.(29)D0≜D|ki′s=1=∑i=1N(Di0+Di1)+P.And therefore, the delay increase rate (dinc) due to downsizing of the gates by a factor of ki is(30)dinc=D-D0D0=∑i=1N(Di0ki+1/ki+Di11/ki)+P-D0D0.


## 3.1. Energy of a Logic Path

### 3.1.1. Switching Energy

The switching energy of a static CMOS gatei with Mi inputs and a single output is(6)SwitchingEnergy=∑j=1MiAFij⋅Cj⋅Vj2︸inputenergy+AFouti⋅Couti⋅Vouti2︸outputenergy.
Assuming that the voltage amplitude for each net in the design is the same (Vcc), we can define a parameter called dynamic capacitance (Cdyn), which is the switching energy normalized by Vcc. The dynamic capacitance of a gate i (Cdyni) is (7)Cdyni=SwitchingEnergyVcc2=∑j=1MiAFij⋅Cj+AFouti⋅Couti,Without loss of generality, we assume that the first input of each gate resides on the investigated path. We assume that the inputs of the gates we deal with are symmetrical (input capacitance on each input pin is equal) and the gates are noncompound (i.e., gates implementing functions likea·b+c¯ are out of scope). Our method can be easily extended to support these types. Under these assumptions, all input capacitances of a given gate are identical. Therefore, the input Cdyn of gate i (Cdynini) is(8)Cdynini=C0i⋅ki∑j=1MiAFij=C0i⋅ki⋅AFi,
where AFi is defined to be ∑j=1MiAFij—sum of activity factors for input pins of gate i. Note that unlike calculating the delay of a gate, when calculating the gate energy, all input and output nets of a gate have to be taken into consideration. The Cdyn of the nets not in the desired path should not be overlooked.The output capacitance of a gate is defined to be its self loading and is combined mainly of the drain diffusion capacitors connected to the output. The parasitic delay of gatei in logical effort method, denoted by pi, is proportional to the diffusion capacitance. The logical effort of gate i, denoted by gi, expresses the ratio of the input capacitance of gate i to that of an inverter capable of delivering the same current. It is easy to see that the output capacitance of gate i can be expressed as(9)Couti=Cinigipi.We can now rewrite (7) using the notation defined previously:(10)Cdyni=C0iki⋅AFi+C0ikigipi⋅AFoi.Besides the gates in the path, we have to take into account theCdyn of the side loads. Multiplying Coffi by AFi1 results in the  Cdyn of the off-path load driven by gate i. We use (10) to calculate  Cdyn of a desired path:(11)Cdyn=AF1⋅Cin1︸inputCdyn+∑i=2NAFi⋅Cini+AFoi-1⋅Couti-1︸stageiCdyn+AFoN(CoutN+Cload)︸outputCdyn+∑i=1NCoffi⋅AFi1︸Cdynofoff⁡pathloadi.Substituting inputCdyn with (8) and Couti with (9), and rearranging the formula, we get(12)Cdyn=∑i=1Nki(AFi⋅C0i+AFoi⋅C0i⋅pigi)+AFN+1⋅Cload+∑i=1NCoffi⋅AFi1.By defining(13)Cdyni≜AFi⋅C0i+AFoi⋅C0i⋅pigi,Cdyn-off≜∑i=1NCoffi⋅AFi1,
we get(14)Cdyn=∑i=1NCdyni⋅ki+AFN+1⋅Cload+Cdyn-off.The initialCdyn is achieved by setting all ki′s to 1:(15)Cdyn0≜Cdyn|ki′s=1=∑i=1NCdyni+AFN+1⋅Cload+Cdyn-off.


### 3.1.2. Leakage Energy

The leakage energy of a static CMOS gatei with Mi inputs and a single output can be expressed as(16)LeakageEnergyofGatei=Tcycle⁡⋅Pleaki¯⋅C0i,
where Tcycle is the cycle time of the circuit, and Pleaki¯ is the average leakage power for gate i, for a unit input capacitance. Pleaki¯ is a function of the manufacturing technology, gate topology, and signal probability (SP: the probability for a signal to be in a logical TRUE state at a given cycle) for each input. See [8, 17, 18] for leakage power calculation methods. Under a given workload, Pleaki¯ should be precalculated for each gate i. Since Pleaki¯ is sensitive to the signal probability, it needs to be recalculated whenever the workload is modified, to reflect changes in gates’ signal probability.By dividing the leakage energy byVcc2, we can express the leakage in terms of capacitance:(17)LeakageCapacitanceofGatei≜Cleaki=1Vcc2Tleaki⋅C0i⋅Pleaki¯.
And the total Cleak is equal to:(18)Cleak=1Vcc2Tcycle⁡∑i=1N(ki⋅C0i⋅Pleaki¯)=∑i=1Nki⋅Cleaki.The initialCleak is achieved by  setting all ki′s to 1:(19)Cleak0≜Cleak|ki′s=1=∑i=1NCleaki.By combining (14), (15), (18), and (19) we can express the total capacitance and the initial capacitance of a desired path:(20)Cpath=∑i=1Nki(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off,Cpath0=∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.The energy decrease rate (edec) due to downsizing of the gates by a factor of k is expressed as(21)edec=Cpath0-CpathCpath0=∑i=1N(Cdyni+Cleaki)(1-ki)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.In order to estimate the upper bound ofedec, we assume an initial design point with minimum delay for Cpath0, and set the sizes of the gates in the path to minimum allowed feature size (Cmin), to reflect the minimum possible Cpath. By defining(22)Cdynimin⁡≜AFi⋅Cmin⁡+AFoi⋅Cmin⁡⋅pigi,Cleakimin⁡≜1Vcc2Tcycle⁡⋅Cmin⁡⋅Pleaki¯.
We get(23)edec⩽edecMAX=∑i=1N(Cdyni+Cleaki)-∑i=1N(Cdynimin⁡+Cleakimin⁡)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.By using (23), the upper bound to the EDG at a given delay increase rate (dinc)—EDG(dinc)MAX can also be calculated, simply by dividing edecMAX by dinc:(24)EDG(dinc)MAX=edecMAXdinc.EDG(dinc)MAX can be used by the circuit designer to quickly evaluate the potential for saving power. However, the designer should note that the value of EDG(dinc)MAX is a nonreachable upper bound since the minimum sizing leads to a delay increase which is always greater than the one that the designer refers to. If the value of EDG(dinc)MAX is not sufficient, other energy reduction techniques should be considered.


## 3.1.1. Switching Energy

The switching energy of a static CMOS gatei with Mi inputs and a single output is(6)SwitchingEnergy=∑j=1MiAFij⋅Cj⋅Vj2︸inputenergy+AFouti⋅Couti⋅Vouti2︸outputenergy.
Assuming that the voltage amplitude for each net in the design is the same (Vcc), we can define a parameter called dynamic capacitance (Cdyn), which is the switching energy normalized by Vcc. The dynamic capacitance of a gate i (Cdyni) is (7)Cdyni=SwitchingEnergyVcc2=∑j=1MiAFij⋅Cj+AFouti⋅Couti,Without loss of generality, we assume that the first input of each gate resides on the investigated path. We assume that the inputs of the gates we deal with are symmetrical (input capacitance on each input pin is equal) and the gates are noncompound (i.e., gates implementing functions likea·b+c¯ are out of scope). Our method can be easily extended to support these types. Under these assumptions, all input capacitances of a given gate are identical. Therefore, the input Cdyn of gate i (Cdynini) is(8)Cdynini=C0i⋅ki∑j=1MiAFij=C0i⋅ki⋅AFi,
where AFi is defined to be ∑j=1MiAFij—sum of activity factors for input pins of gate i. Note that unlike calculating the delay of a gate, when calculating the gate energy, all input and output nets of a gate have to be taken into consideration. The Cdyn of the nets not in the desired path should not be overlooked.The output capacitance of a gate is defined to be its self loading and is combined mainly of the drain diffusion capacitors connected to the output. The parasitic delay of gatei in logical effort method, denoted by pi, is proportional to the diffusion capacitance. The logical effort of gate i, denoted by gi, expresses the ratio of the input capacitance of gate i to that of an inverter capable of delivering the same current. It is easy to see that the output capacitance of gate i can be expressed as(9)Couti=Cinigipi.We can now rewrite (7) using the notation defined previously:(10)Cdyni=C0iki⋅AFi+C0ikigipi⋅AFoi.Besides the gates in the path, we have to take into account theCdyn of the side loads. Multiplying Coffi by AFi1 results in the  Cdyn of the off-path load driven by gate i. We use (10) to calculate  Cdyn of a desired path:(11)Cdyn=AF1⋅Cin1︸inputCdyn+∑i=2NAFi⋅Cini+AFoi-1⋅Couti-1︸stageiCdyn+AFoN(CoutN+Cload)︸outputCdyn+∑i=1NCoffi⋅AFi1︸Cdynofoff⁡pathloadi.Substituting inputCdyn with (8) and Couti with (9), and rearranging the formula, we get(12)Cdyn=∑i=1Nki(AFi⋅C0i+AFoi⋅C0i⋅pigi)+AFN+1⋅Cload+∑i=1NCoffi⋅AFi1.By defining(13)Cdyni≜AFi⋅C0i+AFoi⋅C0i⋅pigi,Cdyn-off≜∑i=1NCoffi⋅AFi1,
we get(14)Cdyn=∑i=1NCdyni⋅ki+AFN+1⋅Cload+Cdyn-off.The initialCdyn is achieved by setting all ki′s to 1:(15)Cdyn0≜Cdyn|ki′s=1=∑i=1NCdyni+AFN+1⋅Cload+Cdyn-off.


## 3.1.2. Leakage Energy

The leakage energy of a static CMOS gatei with Mi inputs and a single output can be expressed as(16)LeakageEnergyofGatei=Tcycle⁡⋅Pleaki¯⋅C0i,
where Tcycle is the cycle time of the circuit, and Pleaki¯ is the average leakage power for gate i, for a unit input capacitance. Pleaki¯ is a function of the manufacturing technology, gate topology, and signal probability (SP: the probability for a signal to be in a logical TRUE state at a given cycle) for each input. See [8, 17, 18] for leakage power calculation methods. Under a given workload, Pleaki¯ should be precalculated for each gate i. Since Pleaki¯ is sensitive to the signal probability, it needs to be recalculated whenever the workload is modified, to reflect changes in gates’ signal probability.By dividing the leakage energy byVcc2, we can express the leakage in terms of capacitance:(17)LeakageCapacitanceofGatei≜Cleaki=1Vcc2Tleaki⋅C0i⋅Pleaki¯.
And the total Cleak is equal to:(18)Cleak=1Vcc2Tcycle⁡∑i=1N(ki⋅C0i⋅Pleaki¯)=∑i=1Nki⋅Cleaki.The initialCleak is achieved by  setting all ki′s to 1:(19)Cleak0≜Cleak|ki′s=1=∑i=1NCleaki.By combining (14), (15), (18), and (19) we can express the total capacitance and the initial capacitance of a desired path:(20)Cpath=∑i=1Nki(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off,Cpath0=∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.The energy decrease rate (edec) due to downsizing of the gates by a factor of k is expressed as(21)edec=Cpath0-CpathCpath0=∑i=1N(Cdyni+Cleaki)(1-ki)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.In order to estimate the upper bound ofedec, we assume an initial design point with minimum delay for Cpath0, and set the sizes of the gates in the path to minimum allowed feature size (Cmin), to reflect the minimum possible Cpath. By defining(22)Cdynimin⁡≜AFi⋅Cmin⁡+AFoi⋅Cmin⁡⋅pigi,Cleakimin⁡≜1Vcc2Tcycle⁡⋅Cmin⁡⋅Pleaki¯.
We get(23)edec⩽edecMAX=∑i=1N(Cdyni+Cleaki)-∑i=1N(Cdynimin⁡+Cleakimin⁡)∑i=1N(Cdyni+Cleaki)+AFN+1⋅Cload+Cdyn-off.By using (23), the upper bound to the EDG at a given delay increase rate (dinc)—EDG(dinc)MAX can also be calculated, simply by dividing edecMAX by dinc:(24)EDG(dinc)MAX=edecMAXdinc.EDG(dinc)MAX can be used by the circuit designer to quickly evaluate the potential for saving power. However, the designer should note that the value of EDG(dinc)MAX is a nonreachable upper bound since the minimum sizing leads to a delay increase which is always greater than the one that the designer refers to. If the value of EDG(dinc)MAX is not sufficient, other energy reduction techniques should be considered.


## 3.2. Delay of a Logic Path

When using the logical effort notation, the path delay (D) is expressed as(25)D=∑i=1Ngihi+P.
The electrical effort of stage i (hi) is calculated as the ratio between capacitance of gate i+1 and gate i, plus the ratio of side load capacitance of gate i and input capacitance of gate i. For the sake of simplicity, kN+1 and k1 are defined to be 1. Using the notation defined earlier, the path delay D can be written as:(26)D=∑i=1Ngi(C0i+1ki+1C0iki+CoffiC0iki)+P.
By defining (27)Di0≜giC0i+1C0i,Di1≜giCoffiC0i.Equation (26) becomes(28)D=∑i=1N(Di0ki+1ki+Di11ki)+P.
The initial delay is achieved by setting all ki′s to 1.(29)D0≜D|ki′s=1=∑i=1N(Di0+Di1)+P.And therefore, the delay increase rate (dinc) due to downsizing of the gates by a factor of ki is(30)dinc=D-D0D0=∑i=1N(Di0ki+1/ki+Di11/ki)+P-D0D0.


## 4. Optimizing Power and Performance

Given a delay value that isdinc percent greater than the initial delay D0, we seek the path sizing (C02·k2⋯C0N·kN) that maximizes the energy reduction rate edec.From (21), maximizing edec is achieved by minimizing Cdyn. By ignoring the factors that do not depend on ki and will not affect the optimization process in (20), we define an objective function f0:(31)f0=∑i=1Nki(Cdyni+Cleaki).
Note that f0 depends linearly on the dynamic and the leakage capacitances, which apply weights and determine the importance of each ki. Equation (31) can also be written as:(32)f0=∑i=1NkiC0i(1Vcc2Tcycle⁡Pleaki¯+AFi+AFoi⋅pigi).
Note that when all gates in a path are of the same type, all activity factors are equal, and average leakage power for all gates in the path is equal, both Cdyni and Cleaki can be eliminated from (31) without affecting the optimization result. These conditions are satisfied on an inverter chain with input signal probability of 0.5, for instance. In this case, the leakage power of activity factor has no influence on the optimization result.To get a canonical constraint goal, in which the constraint is less than or equal 1, we rearrange (30) to(33)∑i=1N(Di0ki+1ki+Di11ki)=dincD0+D0-P,
and define(34)Di′0≜Di0dincD0+D0-P,Di′1≜Di1dincD0+D0-P,
to get(35)∑i=1N(Di′0ki+1ki+Di′11ki)=1.We now can use (35) to get an optimization constraint(36)f1=∑i=1N(Di′0ki+1ki+Di′11ki)⩽1.
Combining (32) and (31) results in the following optimization problem:(37)Minimizef0(k1⋯kN),subjecttof1(k1⋯kN)⩽1,wheref0(k1⋯kN)=∑i=1Nki(Cdyni+Cleaki),f1(k1⋯kN)=∑i=1N(Di′0ki+1ki+Di′11ki).
However, f1 defined above is nonconvex. We use geometrical programming [19–21] to solve the optimization problem, by changing variables(38)kĩ=log⁡⁡(ki)⟹ki=ekĩ,Cdynĩ=log⁡⁡(Cdyni)⟹Cleaki=eCleakĩ,Cleakĩ=log⁡⁡(Cleaki)⟹Cdyni=eCdynĩ,Di′0̃=log⁡⁡(Di′0)⟹Di′0=eDi′0̃,Di′1̃=log⁡⁡(Di′1)⟹Di′1=eDi′1̃.So the equivalent convex optimization problem (which can be solved using convex optimization tools) is:(39)Minimizef0̃(k1⋯kN),subjecttof1̃(k1⋯kN)⩽0,wheref0̃(k1⋯kN)=log⁡⁡(∑i=1Nekĩ+Cdynĩ+ekĩ+Cleakĩ),f1̃(k1⋯kN)=log⁡⁡(∑i=1Nek̃i+1-kĩ+Di′0̃+eDi′1̃-kĩ).The convexity of (39) ensures that a solution to the optimization problem exists, and that the solution is the global optimum point. In order to obtain the EDG curve, the delay increase rate is swept from 0 to the desired value, and for each delay increase value, a different optimization problem is solved by geometrical programming.This result can be extended to handle circuit delay, instead of a single path delay. All paths must be enumerated, and the optimized delay should reflect the critical path delay. The critical path delay is calculated as the maximum delay of all enumerated paths. However, the MAX operator cannot be handled directly in geometrical programming, since it produces a result which is not necessarily differentiable. Boyd et al. [20] solve the general problem of using the MAX operator in geometrical programming (MAX(f1(x),f2(x)…fN(x))⩽1) by introducing a new variable t, and N inequalities (N being the number of paths), to obtain(40)t⩽1,f1(x)⩽t,f2(x)⩽t,⋯fN(x)⩽t.
This transformation can be used in order to feed the critical path into the optimizer. To calculate the energy-delay tradeoff, the  Cdyn of the entire circuit should be taken into account.In the following sections, we employ this procedure to characterize the EDG and power reduction in typical logic circuits, and derive design guidelines.


## 5. Exploring Energy-Delay Tradeoff in Basic Circuits

We run numerical experiments that explore the EDG of some basic circuits. We use GGPLAB [22] as a geometrical programming optimizer, to solve the optimization problem (37) and (39). GGLAB is a free open source library and can be easily installed over Matlab. For each experiment, we provide an EDG curve which is obtained by optimizing the circuit for a wide range of increased delay values. Although the propagation delay and the active energy dissipation are technology independent, the leakage depends on the manufacturing technology and the circuit's cycle time. Throughout this section, the leakage is calculated according to the 32 nm technology node of the ITRS 2007 projection [23], in which Cleakinv is calculated to be 0.5694, based on clock frequency of 2 GHz and signal probability of 0.5.


### 5.1. Inverter Chain

Consider a chain consisting ofN inverters, with output load of Cout. C01 is set arbitrarily to a constant value of 1 ff, and therefore the path electrical effort (H) is Cout (Figure 4). We set initial gate capacitances (C02⋯C0N) that ensure minimum delay, using the logical effort methodology. The minimum delay was obtained by setting the electrical effort to be the Nth root of the path electrical effort. The leakage calculation takes into account the signal probability of the inverters in the chain.Figure 4
Inverter chain—consists ofN stages, output load Cout, and initial capacitances (C01⋯C0N)Figure5(a) shows the EDG for different combinations of path electrical effort (H) and chain length (N) where the leakage energy is negligible. Figure 5(b) shows the same analysis, for negligible dynamic energy. In both cases, the largest potential for energy savings occurs near the point where the design is sized for minimum achievable delay. The potential for energy savings decreases as the delay is being relaxed further. This is consistent with the observation in [5].Inverter chain—various loads (Cout) and chain length (N).
(a)
Energy delay gain, active dominant circuit(b)Figure6 shows the optimal sizing of a fixed input and output load inverter chain with an arbitrary activity factor and signal probability of  0.5, for various delay increase values. For input signal probability of 0.5, all the gates in the inverter chain have the same signal probability. Therefore, the optimization process is indifferent to the average leakage power of each gate—Pleaki in (17) is constant and can be eliminated from (37).Inverter chain—sizing of the stages in an inverter chain. (a) Stage capacitance (chain of 6 inverters), for various delay increase rates (log scale). (b) Stage capacitance (chain of 16 inverters), for various delay increase rates (log scale). (c) Stage sizing factor (chain of 6 inverters): ratio of gate capacitance to minimum delay capacitance, needed to meet the given delay increase rates value. (d) Stage sizing factor (chain of 16 inverters): ratio of gate capacitance to minimum delay capacitance, needed to meet the given delay increase rates value. (e) Stage downsizing value: change in gate capacitance with respect to minimum delay sizes to meet the given delay increase rates value. (f) Stage electrical effort (h), for various delay increase rates.
(a)(b)(c)(d)(e)(f)The optimization process leads to increasing the electrical effort of the last stages and decreasing the electrical effort of the first stages, to meet the timing requirements (Figure6(f)). The largest energy savings, for a given delay increase value, are achieved by downsizing the largest gates in the chain (Figure 6(e)). The relative downsizing, however, is maximal around the middle of the chain (Figure 6(c)), due to the fact that the first stage and the load are anchored with a fixed size. In order to understand the behavior of the middle stages, a 16-stage inverter stage simulation is plotted in Figure 6(d). As the delay increases, the gates towards the middle of the chain are downsized and form a plateau-like shape. Note that the optimal gate sizes might be limited by the minimum allowed size according to design rules.Both Figures6(a) and 6(b) (absolute sizing) and Figure 6(f) illustrate that as we move further from the minimal achievable delay (delay increase = 0, where all electrical efforts are identical), the difference between the electrical efforts of the stages increases. However, uniform downsizing (e.g., increase the delay by downsizing each gate by 5%) is sometimes used in the power reduction process by the circuit designer as an easy and straightforward method to trade off energy for performance. Figure 7 shows the energy efficient curve (optimal sizing) versus energy-delay curve generated by uniform downsizing of an 8-long inverter chain with out/in capacitance ratio of 200. The energy difference between the curves in the figure reaches up to 7%.Figure 7
Uniform versus. Optimal downsizing. Linear downsizing of an inverter chain in order to save energy by increasing the delay results in a nonoptimal design—in this case 7% more energy could be saved by tuning the sizing correctly.Most of the energy in the path is dissipated in the last stages of the chain, where the fanout factors are larger, in order to drive the large fixed output capacitance.Figure8 demonstrates the effect of chain length on delay and energy. The external load of the circuit is relatively large—9pF, for which 8-long chain yields an optimal timing. The energy efficient curves for chains of 8, 6, and 4 inverters are plotted in the energy-delay plane. We can see that the number of stages is important when the optimal delay is required. Generally, as we move further from the smallest achievable delay, fewer inverters achieve better energy dissipation for the same delay. However, the difference in energy between the optimal number of inverters and a fixed number of inverters decreases as the delay is relaxed.Figure 8
Inverter chain—variable Length: the chain length is varied in order to save a maximal amount of energy for each delay value.Figure9 shows good correlation between EDG10%MAX see (24), and the actual energy delay gain. The energy saving opportunity increases when the output load is small, and when the number of stages in the path increases.Inverter chain—comparison between energy delay gain andEDGMAX (analytical upper bound to EDG).
(a)
EDG value of various inverter chains at delay increase rate of 10%(b)
EDGMAX (analytical upper bound to EDG) of various inverter chains at delay increase rate of 10%


### 5.2. Activity and Signal Probability Effect on Sizing

The more active a gate is, the more energy it consumes. In order to trade off delay and energy better, active gates in the timing critical path can be downsized more than inactive gates in the critical path. For instance, consider the circuit in Figure10. The path from A to out is the timing critical. Input A has a fixed activity factor of 0.5, while the activity factor of input B is varied. In order to calculate the activity factor and signal probability of internal nodes, the method described in [24] for AF/SP propagation in combinational circuits is used—for a NAND gate with uncorrelated inputs A and B and output O, the activity at its output is calculated as:(41)AFO=AFA⋅SPB+AFB⋅SPA-12⋅AFA⋅AFB.
According to (41), the activity factor at the NAND's gate output is AFnand=0.25+0.5AFB—the activity factor at the output of the NAND is controlled by the activity factor of input B, and monotonically rises as AFB increases.Figure 10
Activity effect on sizing the path from a to end is timing critical, and the activity of input b is varied.When the delay constrains of the circuit are relaxed, AsAFB is increased, and with it AFnand, we expect that the gates that are driven by the NAND gate will get downsized at the expense of the gates driving the NAND gate. Figure 11 shows the sizing factor of each gate for various AFB values, for a delay increase rate of 20%. We see that as AFB increases, the sizing factor of gates 1 and 2 is increased, while the sizing factor of gates 5 and 6 is decreased.Figure 11
Sizing factor to achieve 20% delay increase asAFb increases, the sizing factor of gates 1 and 2 is increased, while the sizing factor of gates 5 and 6 is decreased.A similar observation holds for leakage dominant circuits, where the signal probability becomes the affecting parameter instead of the activity factor.Pleaki¯ in (16) depends on the signal probability. Therefore, it is expected that the sizing of each gate during the optimization process will be influenced by the signal probability at the gate input. For example, in an inverter, where the Pmos transistor's size is twice the size of the Nmos transistor, the leakage power of a single inverter can be estimated by:(42)InverterLeakagePower=SP⋅Cin⋅23⋅Pleak(Pmos)+(1-SP)⋅Cin⋅13⋅Pleak(Nmos),
where SP is the signal probability in the input of the inverter, Cin is the input capacitance of the inverter, and Pleak(Nmos,Pmos) is the leakage power of Nmos and Pmos transistors respectively, per unit input capacitance. Figure 12 shows the sizes of the gates in a six-stage inverter chain with input capacitance of 1 ff and output load of 600 ff with a small activity factor, when the delay increase rate is varied from 0% to 50%. The optimal sizing at each stage is clearly affected by the signal probability. Up to 50% difference in the sizing of the stages as a function of the signal probability can be observed (see delay increase of 50%, 4th stage).Figure 12
Sizing of 6-stages inverter chain as a function of SP the sizing of the stages is sensitive to the signal probability changes, both for small and large delay increase values.


### 5.3. Comparing Analytical and Simulation-Based Optimization

In order to validate the correctness of the EDG optimization algorithm, the results of Section5.1 are compared to simulation results. The simulation was performed using a proprietary circuit simulator combined with a proprietary numerical optimization environment, in a 32 nm process. The circuit was first optimized for minimum delay, which was used later as a reference. In order to get the EDG curves, the circuit was optimized by the simulation-based tool for minimum energy, for several delay constraints.Figure13 presents the difference between the analytical computation (Section 5.1) and the simulation-based optimization. The error is small, and ranges from a maximum of 7% to a minimum of 0̃%. Obtaining the EDG curves using simulation-based optimization is orders of magnitude slower than running the proposed analytical method. Table 1 compares the run time of simulation-based optimization and the run time of the proposed analytical model for few inverter chain circuits. Note that simulation-based optimization run time increases dramatically as the circuit complexity increases.Table 1
Comparison of run time-simulation-based and analytical model optimization. The table compares the amount of time taken in order to generate an EDG plot-consists of ten delay increase points.
CircuitSim-based optimizationAnalytical model optimization4-long Inverter Chain240 sec25 sec8-long Inverter Chain360 sec40 sec15-long Inverter Chain1100 sec70 secSimulation optimization of inverter chain with comparison to theoretical computation.
(a)
N=4;  Cout=500 ff(b)
N=4;  Cout=200 ff(c)
N=8;  Cout=500 ff(d)
N=8;  Cout=200 ffThe analytical model was calibrated by computing the parasitics delay of an inverter (p) for the given technology, simply by comparing the output capacitance to the input capacitance of an unloaded inverter (see (9)).


## 5.1. Inverter Chain

Consider a chain consisting ofN inverters, with output load of Cout. C01 is set arbitrarily to a constant value of 1 ff, and therefore the path electrical effort (H) is Cout (Figure 4). We set initial gate capacitances (C02⋯C0N) that ensure minimum delay, using the logical effort methodology. The minimum delay was obtained by setting the electrical effort to be the Nth root of the path electrical effort. The leakage calculation takes into account the signal probability of the inverters in the chain.Figure 4
Inverter chain—consists ofN stages, output load Cout, and initial capacitances (C01⋯C0N)Figure5(a) shows the EDG for different combinations of path electrical effort (H) and chain length (N) where the leakage energy is negligible. Figure 5(b) shows the same analysis, for negligible dynamic energy. In both cases, the largest potential for energy savings occurs near the point where the design is sized for minimum achievable delay. The potential for energy savings decreases as the delay is being relaxed further. This is consistent with the observation in [5].Inverter chain—various loads (Cout) and chain length (N).
(a)
Energy delay gain, active dominant circuit(b)Figure6 shows the optimal sizing of a fixed input and output load inverter chain with an arbitrary activity factor and signal probability of  0.5, for various delay increase values. For input signal probability of 0.5, all the gates in the inverter chain have the same signal probability. Therefore, the optimization process is indifferent to the average leakage power of each gate—Pleaki in (17) is constant and can be eliminated from (37).Inverter chain—sizing of the stages in an inverter chain. (a) Stage capacitance (chain of 6 inverters), for various delay increase rates (log scale). (b) Stage capacitance (chain of 16 inverters), for various delay increase rates (log scale). (c) Stage sizing factor (chain of 6 inverters): ratio of gate capacitance to minimum delay capacitance, needed to meet the given delay increase rates value. (d) Stage sizing factor (chain of 16 inverters): ratio of gate capacitance to minimum delay capacitance, needed to meet the given delay increase rates value. (e) Stage downsizing value: change in gate capacitance with respect to minimum delay sizes to meet the given delay increase rates value. (f) Stage electrical effort (h), for various delay increase rates.
(a)(b)(c)(d)(e)(f)The optimization process leads to increasing the electrical effort of the last stages and decreasing the electrical effort of the first stages, to meet the timing requirements (Figure6(f)). The largest energy savings, for a given delay increase value, are achieved by downsizing the largest gates in the chain (Figure 6(e)). The relative downsizing, however, is maximal around the middle of the chain (Figure 6(c)), due to the fact that the first stage and the load are anchored with a fixed size. In order to understand the behavior of the middle stages, a 16-stage inverter stage simulation is plotted in Figure 6(d). As the delay increases, the gates towards the middle of the chain are downsized and form a plateau-like shape. Note that the optimal gate sizes might be limited by the minimum allowed size according to design rules.Both Figures6(a) and 6(b) (absolute sizing) and Figure 6(f) illustrate that as we move further from the minimal achievable delay (delay increase = 0, where all electrical efforts are identical), the difference between the electrical efforts of the stages increases. However, uniform downsizing (e.g., increase the delay by downsizing each gate by 5%) is sometimes used in the power reduction process by the circuit designer as an easy and straightforward method to trade off energy for performance. Figure 7 shows the energy efficient curve (optimal sizing) versus energy-delay curve generated by uniform downsizing of an 8-long inverter chain with out/in capacitance ratio of 200. The energy difference between the curves in the figure reaches up to 7%.Figure 7
Uniform versus. Optimal downsizing. Linear downsizing of an inverter chain in order to save energy by increasing the delay results in a nonoptimal design—in this case 7% more energy could be saved by tuning the sizing correctly.Most of the energy in the path is dissipated in the last stages of the chain, where the fanout factors are larger, in order to drive the large fixed output capacitance.Figure8 demonstrates the effect of chain length on delay and energy. The external load of the circuit is relatively large—9pF, for which 8-long chain yields an optimal timing. The energy efficient curves for chains of 8, 6, and 4 inverters are plotted in the energy-delay plane. We can see that the number of stages is important when the optimal delay is required. Generally, as we move further from the smallest achievable delay, fewer inverters achieve better energy dissipation for the same delay. However, the difference in energy between the optimal number of inverters and a fixed number of inverters decreases as the delay is relaxed.Figure 8
Inverter chain—variable Length: the chain length is varied in order to save a maximal amount of energy for each delay value.Figure9 shows good correlation between EDG10%MAX see (24), and the actual energy delay gain. The energy saving opportunity increases when the output load is small, and when the number of stages in the path increases.Inverter chain—comparison between energy delay gain andEDGMAX (analytical upper bound to EDG).
(a)
EDG value of various inverter chains at delay increase rate of 10%(b)
EDGMAX (analytical upper bound to EDG) of various inverter chains at delay increase rate of 10%


## 5.2. Activity and Signal Probability Effect on Sizing

The more active a gate is, the more energy it consumes. In order to trade off delay and energy better, active gates in the timing critical path can be downsized more than inactive gates in the critical path. For instance, consider the circuit in Figure10. The path from A to out is the timing critical. Input A has a fixed activity factor of 0.5, while the activity factor of input B is varied. In order to calculate the activity factor and signal probability of internal nodes, the method described in [24] for AF/SP propagation in combinational circuits is used—for a NAND gate with uncorrelated inputs A and B and output O, the activity at its output is calculated as:(41)AFO=AFA⋅SPB+AFB⋅SPA-12⋅AFA⋅AFB.
According to (41), the activity factor at the NAND's gate output is AFnand=0.25+0.5AFB—the activity factor at the output of the NAND is controlled by the activity factor of input B, and monotonically rises as AFB increases.Figure 10
Activity effect on sizing the path from a to end is timing critical, and the activity of input b is varied.When the delay constrains of the circuit are relaxed, AsAFB is increased, and with it AFnand, we expect that the gates that are driven by the NAND gate will get downsized at the expense of the gates driving the NAND gate. Figure 11 shows the sizing factor of each gate for various AFB values, for a delay increase rate of 20%. We see that as AFB increases, the sizing factor of gates 1 and 2 is increased, while the sizing factor of gates 5 and 6 is decreased.Figure 11
Sizing factor to achieve 20% delay increase asAFb increases, the sizing factor of gates 1 and 2 is increased, while the sizing factor of gates 5 and 6 is decreased.A similar observation holds for leakage dominant circuits, where the signal probability becomes the affecting parameter instead of the activity factor.Pleaki¯ in (16) depends on the signal probability. Therefore, it is expected that the sizing of each gate during the optimization process will be influenced by the signal probability at the gate input. For example, in an inverter, where the Pmos transistor's size is twice the size of the Nmos transistor, the leakage power of a single inverter can be estimated by:(42)InverterLeakagePower=SP⋅Cin⋅23⋅Pleak(Pmos)+(1-SP)⋅Cin⋅13⋅Pleak(Nmos),
where SP is the signal probability in the input of the inverter, Cin is the input capacitance of the inverter, and Pleak(Nmos,Pmos) is the leakage power of Nmos and Pmos transistors respectively, per unit input capacitance. Figure 12 shows the sizes of the gates in a six-stage inverter chain with input capacitance of 1 ff and output load of 600 ff with a small activity factor, when the delay increase rate is varied from 0% to 50%. The optimal sizing at each stage is clearly affected by the signal probability. Up to 50% difference in the sizing of the stages as a function of the signal probability can be observed (see delay increase of 50%, 4th stage).Figure 12
Sizing of 6-stages inverter chain as a function of SP the sizing of the stages is sensitive to the signal probability changes, both for small and large delay increase values.


## 5.3. Comparing Analytical and Simulation-Based Optimization

In order to validate the correctness of the EDG optimization algorithm, the results of Section5.1 are compared to simulation results. The simulation was performed using a proprietary circuit simulator combined with a proprietary numerical optimization environment, in a 32 nm process. The circuit was first optimized for minimum delay, which was used later as a reference. In order to get the EDG curves, the circuit was optimized by the simulation-based tool for minimum energy, for several delay constraints.Figure13 presents the difference between the analytical computation (Section 5.1) and the simulation-based optimization. The error is small, and ranges from a maximum of 7% to a minimum of 0̃%. Obtaining the EDG curves using simulation-based optimization is orders of magnitude slower than running the proposed analytical method. Table 1 compares the run time of simulation-based optimization and the run time of the proposed analytical model for few inverter chain circuits. Note that simulation-based optimization run time increases dramatically as the circuit complexity increases.Table 1
Comparison of run time-simulation-based and analytical model optimization. The table compares the amount of time taken in order to generate an EDG plot-consists of ten delay increase points.
CircuitSim-based optimizationAnalytical model optimization4-long Inverter Chain240 sec25 sec8-long Inverter Chain360 sec40 sec15-long Inverter Chain1100 sec70 secSimulation optimization of inverter chain with comparison to theoretical computation.
(a)
N=4;  Cout=500 ff(b)
N=4;  Cout=200 ff(c)
N=8;  Cout=500 ff(d)
N=8;  Cout=200 ffThe analytical model was calibrated by computing the parasitics delay of an inverter (p) for the given technology, simply by comparing the output capacitance to the input capacitance of an unloaded inverter (see (9)).


## 6. Final Remarks and Conclusion

We have presented a design optimization framework that explores the power-performance space. The framework provides fast and accurate answers to the following questions.(1)
How much power can be saved by slowing down the circuit byx percent?(2)
How to determine gate sizes for optimal power under a given delay constraint?We introduced the energy/delay gain (EDG) as a metric for the amount of energy that can be saved as a function of increased delay. The method was demonstrated on a variety of circuits, exhibiting good correlation with accurate simulation-based optimizations. We have shown that around 25% dynamic energy can be gained when the delay constraint is relaxed by 5% in an optimal way, for circuits in 32 nm technology which were initially designed for maximal operation speed. An upper bound of power savings in a given circuit can be obtained without optimization, in order to quickly assess whether a downsizing effort may be justified for the circuit.The method described in this work can be used by both circuit designers and EDA tools. Circuit designers can increase their intuition of the energy-delay tradeoff. The following rules of thumb can be derived from the experiments.(i)
Minimum Delay Is Power Expensive. By relaxing the delay, significant amount of dynamic energy could be saved. We have shown that under given conditions, for a 2-bit multiplexer up to 40% of dynamic energy could be saved when the delay constraint is relaxed by 10%.(ii)
A fixed Uniform Downsizing Factor for all Gates in the circuit would lead to an inefficient design in terms of energy. The optimal downsizing factor is not uniform.(iii)
Increase delay by downsizing the “middle” gates. In order to save energy with minimal impact on timing-the gates located in the middle (between he input and the load) are downsized the most. The downsizing factor increases as the delay constraint relaxes.(iv)
Increase Delay by Increasing the Electrical Effort towards the load. Minimum delay design requires a constant tapering factor. Typically, a “fanout of 4” is used [1]. Minimum energy design (when neglecting short circuit power) requires high tapering factor, that decreases the number of stages. When performance is compromised to save energy, the tapering factor of the stages must increase towards the external load. The tapering factor increases as the delay constraint is relaxed. Note that this result is applicable only when the external load is larger than the input capacitance.(v)
Downsizing of the Gates Reduces Both Dynamic energy and Leakage Energy Dissipation. Both dynamic energy and leakage energy dissipation depend linearly on the size of the gates. By downsizing the gates, both dynamic and leakage energy are reduced.(vi)
The Power Optimization Has to Be Performed under a Given Work-load. The activity factor and signal probability influence the optimized circuit's sizing. Different tests may result in different sizing. Using random tests, rather then typical tests to optimize the circuit may lead to sub-optimal design.



---

*Source: 845957-2011-04-07.xml*