Vous êtes sur la page 1sur 7

GATE TRIGGERING: A NEW FRAMEWORK FOR MINIMIZING

GLITCH POWER DISSIPATION IN STATIC CMOS ICs


AND ITS ILP-BASED OPTIMIZATION

NIHAR R. MAHAPATRA RAJAGOPALAN JANAKIRAMAN


{ mahapatr, rj 1 } @cse.buffalo.edu
Dept. of Computer Sc. & Eng., State University of New York at Buffalo,
Buffalo, NY 14260, USA

Abstract by far the dominant one and consumes relatively


Glitches are an important source of power less power. Complementary static CMOS is a
dissipation in static CMOS ICs that can popular digital CMOS logic style that is being
contribute to as much as 70% of total power increasingly employed because of its ro-
dissipation in certain cases (e.g., arithmetic bustness, which lends itself to design
modules). Although research into various aspects automation, and because of its amenability to
of glitch power dissipation has been undertaken voltage scaling for low power [ 131. In this logic
in the past, most approaches to addressing it are style, power is primarily dissipated during logic
ad hoc and limited in their applicability.In this transitions when gate load capacitances charge
paper, we propose a new framework, gate and discharge.
triggering, for systematically minimizing glitch While some logic transitions are
power dissipation in static CMOSICs. The necessary and are dictated by circuit
framework is based on the idea that glitches can functionality, others, such as glitches, are not.
be effectively minimized by triggering logic Glitches are spurious transitions that occur
evaluation at a gate only when all of its inputs before a gate output reaches a stable value and
have stabilized. For this purpose, to every are caused by unequal propagation delays of
potentially glitchy gate is added a small amount input signals to the gate. This is depicted in the
of control logic, which, when enabled, triggers synchronous sequential circuit, a popular and
logic evaluation at the gate. A clocked delay structured design style [ 1 I], of Fig. I(c). Also,
chain is employed to generate enable signals at evident in Fig. l(c) is that glitches multiply as
the proper times for all gates to be triggered. We they propagate through the combinational logic
present an integer linear programming (ILP) block. Glitch power is typically significant and
formulation to minimize the overheads (viz. can be as high as 70% of total power dissipation
delay element, control logic, and extra wiring) of in some cases [12]. As we go into deeper
our approach subject to a critical-path delay submicron technologies, interconnect delays
constraint. Application of the new approach to become more predominant, which leads to
test circuits (such as ripple carry adder and array differential delays and more glitching [16].
multiplier) in 1 . 2 ~technology yields 95% or Glitch minimization is important not
more elimination of glitch power dissipation only for low power, but also because of other
with negligible area and timing overheads after reasons. Power estimation is a difficult problem
optimization. An added advantage of the because glitch power dissipation is significant
approach is that short-circuit power dissipation at and is hard to estimate accurately [ 1 1, 121. Thus
all triggered gates is also minimized-short- minimizing it will improve the accuracy of
circuit power dissipation in current standard-cell power estimation. Asynchronous systems need to
based designs can exceed 50% of the to-tal be glitch-free to operate correctly [17], and so
power dissipation. also does the clock-generation circuitry in a
synchronous system [4].Finally, glitches are also
1 Introduction important to minimize in high-performance
Increasing levels of device integration, digital-to-analog converters [ 191.
die size, and operating frequency, combined with Short-circuit power dissipation, which
a burgeoning portable computing and occurs because of the DC current that flows from
communications market, have made power VDD to VSS during switching when both N
dissipation a major concern in VLSI design [12, pulldown and P pull-up conduct simultaneously,
131. Among VLSI technologies, digital CMOS is is another source of concern. This is especially

02000 IEEE
0-7803-5766-3/00/$10.00
Clock New inputs to outputs of
dcombinational
signal combinational
I block,available block available

P o c k delayed by 5 ( m a . gate delay) units

(C+5)-C
En%ble \
n r
signal Pulse width equal to 5 ( m a . gate delay) units

Figure 1: Minimizingglitch power dissipation in a synchronoussequential circuitdesignand various optimizations: (a) Timing waveform
for the clock signal and derivation of the enable signalfor control logic from it. (b) Controllogic comprising n and p control transistors con-
nected to VSS and VDD, respectively, is enabledwhen the last input to the gate arrives. This prevents unnecessarycharging and discharging
to VDDand Vss, respectively, of output capacitanceand internal capacitances in P pull-up and N pull-down and also prevents short-circuit
current during the time when input signals are unsteady. Note that for this particular control logic, two de!laychains are needed, one for the
p and the other for the n control transistor. However, control logic types that control connection to only VDDor only Vss need a single
delay chain, but provide a little less effective glitch power reduction [SI. (c) Glitchesoccurringin a combinationallogic block at the outputs
of gates that have multiple inputs changing asynchronously. (d) Glitches minimized by adding control logic to every potentially glitchy
gate and enabling it through a delay chain when the last input to the gate stabilizes. (e) Control logic enabled later for certain gates not on
any critical path so as to have synchronousevaluation of a number of gates and thereby reduce the number of delay elements required. (f)
Control logic overhead reduced by sharing control logic across multiple synchronouslyevaluating gates. (g) Control logic for certain gates
not on any critical path added and/or enabled later so as to make arrival times of inputs to a fanout gate@)equal, thereby eliminating delay
element, control logic, and wiring overhead for the latter gate.
so in very high-performance circuits and in inputs will have steady-state values latest by
standard-cell based semicustom design, where it five, four, and two time units, respectively.
can be as high as 50% of total power dissipation In order to prevent glitches at the output of gate
[12, 131. However, it should be noted that short- ,001, its control logic can be enabled at time five
circuit currents virtually disappear when VDD - and should re-main enabled for at least five time
V,, + V T ~which
, is somewhat true for digital units, which is the delay of the gate, so that the
signal processors, but not so for microprocessors, gate logic may evaluate completely.
where VDD’Sare relatively higher. Therefore we use an enable signal for
In this paper, we present a new the combinational block with a high period equal
framework called gate triggering for minimizing to the maximum delay for any gate in the block
glitch power dissipation in complementary static (five units for the combinational block of Fig.
CMOS ICs which we discuss in the next section. l(d)). As shown in Figs. I(a) and (d), the enable
An added advantage of our approach is that signal is generated by ANDing clock
short-circuit power dissipation at gates that are complement with the clock signal delayed by
controlled is also minimized. Next, in Sec, 3, we this maximum delay. This initial enable signal is
discuss approaches to minimizing logic and then delayed by various amounts using a delay
wiring overheads in our framework. Sec. 4 chain comprising delay elements as in Fig. l(d).
presents an integer linear programming (ILP) The output of a delay element in this chain
formulation to optimize overheads subject to a provides an appropriately delayed version of the
critical-path delay constraint. Application of the initial enable signal that can be used to trigger a
new approach to test circuits (such as ripple gate(s). For example, in Fig. I(d), gates go1 and
carry adder and array multiplier) in 1 . 2 ~ gl 1, for both of which the last input stabilizes by
technology yields 95% or more elimination of time five, are controlled by the initial enable
glitch power dissipation with negligible area and signal delayed by five time units. Similarly, gate
timing overheads after optimization. Then in g32 is enabled at time nine, since that is when its
Sec. 5 we briefly discuss related previous work. last input (the bottom input) stabilizes. In
Conclusions are in Sec. 6. contrast, gate ,021 does not need any control
logic or enable signal since both of its inputs
2 Proposed Methodology: Gate Triggering have equal delays.
The key idea we employ to minimize Using the above approach, all
glitches is to trigger logic evaluation at a gate potentially glitchy gates are triggered by the
only after all of its inputs have stabilized. For enable signal when the last input to them
this purpose, to every potentially glitchy gate, we stabilizes, thus ideally preventing all glitches in
add some small control logic, which, when the combinational block. In practice, however,
enabled, triggers logic evaluation at the gate (see minor or partial glitches may occur due to the
Fig. l(d)). Essentially, this logic controls gate nonideal behavior of transistors. It should also be
connection to VDD andlor VSS. Fig. l(b) shows noted that short-circuit power dis-sipation in all
one possible type of control logic. Various types triggered gates can be minimized by triggering
of control logic and their analyses and associated them after the last input has stabilized, since
simulation results are the subject of another before triggering, gate connection to V,, and/or
paper [8]. In order to enable the control logic for VSS is cut off by the control logic. However, in
different gates in the combinational logic block most cases, it will not be cost-effective to control
of Fig. l(d) at the proper times (i.e., when the all gates in this manner to minimize short-circuit
last input to the individual gates has stabilized), power dissipation because of the overheads it
we first perform a timing simulation of the will entail. Rather, it will be best to control few
combinational block. Timing simulation is an select gates where potential for glitch and short-
essential step in the design flow of a VLSI chip circuit power savings is maximum.
[18] (e.g., to determine the critical-path delay in The main overheads of our approach are
a combinational block, which in turn determines logic (delay element and control logic) overhead,
the clock period). Hence it does not represent an wiring overhead for generating and routing the
extra step in the application of our method. From enable signal for potentially glitchy gates, and a
this timing simulation, we obtain the delays of delay overhead because of an increased delay for
different gates and also the latest times by which the combinational block. The logic overhead for
the various inputs of a gate will have stabilized. generating the initial enable signal using an
For instance, in Fig. 1(d), gate go1 has a delay of AND gate and a delay element is minimal. We
five time units, and its top, middle, and bottom have observed in our simulations that the delay
overhead is negligible. Note that reducingthe triggered simultaneously. For instance, in Fig.
number of delay elements or the amount of l(e), the set of gates go1 and g l l can be
control logic should lead to lower wiring controlled by the same control logic as shown in
overhead, since each delay element corresponds Fig. l(f). However, it should be noted that
to a distinct enable signal to be routed and each sharing the control logic in this way may mean
control logic corresponds to an enable signal to that the transistors of the ccintrol logic will need
be routed to control it. In the next section, we to be sized up (compared to when no sharing is
provide some ways by which logic overhead, and done) to avoid increase in delay of the
thus wiring overhead, can be minimized. combinational block.
Another way to reduce the amount of
3. Logic and Wiring Overhead Optimization control logic is to schedule the triggering of
earlier gates so that inputs to later gates are
3.1 Delay Element Optimization synchronized. For instance, in Fig. l(g), gates
The delay element overhead depends g l l and g o 2 are triggexed later than normal
primarily upon the total delay provided by all and control logic is added to gate 9 2 1 (compare
delay elements and the number of delay Fig. l(g) to Fig. l(f)) so that all inputs to gates
elements. The number of delay elements in turn 9-12, 922, 903, and g 2 3 are synchronized,
depends upon the number of delayed versions of thereby obviating the need for controlling these
the enable signal needed from the delay chain. gates using control logic. Note again that the
Therefore, the number of delay elements can be gates selected for late triggering are those not on
reduced by synchronously triggering with a any critical path in order not to increase the delay
common enable signal as many gates as possible of the combinational block:. This results in less
after their last inputs have stabilized. For control logic, and possibly less delay element
example, in Fig. l(e), the set of gates go1 and and wiring overhead, since: some enable signals
g l l , the set of gates g02, ,012, g22, and g32, and no longer need to be generated and routed.
the set of gates 803, 813, and g23 are all The various optimizations discussed
triggered synchronously by enable signals above are not exclusive, but may be used in
delayed by five, ten, and fourteen time units, conjunction to various degrees depending upon
respectively. Note that to synchronize, some the combinational logic block under
gates are triggered later than normal (such as consideration to minimize the total overhead. In
g32, and g13 in Fig. l(e) compared to Fig. l(d)). the next section, we formulate this overhead
Also, note that the gates selected for late minimization problem as an integer linear
triggering are not on any critical path (shown program (ILP) subject to a critical-path delay
with bold lines in Fig. l(e)) so as not to increase constraint.
the overall delay of the combinational block. The
application of this optimization thus results in a 4 ILP Formulation for Overhead Minimiza-
much reduced number of delay elements in the tion
delay chain (three in Fig. l(e) compared to five The overhead minimization problem
in Fig. l(d)) Note that a smaller number of delay can be stated as fol-lows:
elements also means a smaller wiring overhead,
since a fewer number of distinct enable signals Problem 1 Minimize a weighted sum of the total
need to be routed. The delay element we chose is amount of delay and the number of delay
a transmission gate with appropriately-sized elements in the delay chain, and the number of
transistors to provide the required amount of gates triggered (which corresponds to the
delay. We selected a transmission gate because it amount of control logic .and wiring required),
requires less area and consumes very little such that: ( I ) there are no glitches, and (2) the
power. A detailed discussion and comparison of critical-path delay of the circuit does not exceed
delay elements motivating our choice is the a specijied upper bound
subject of another paper ([9]). Clearly, the total amount of delay
corresponds to the latest triggering time over all
3.2 Control Logic Optimization gates, while the number of delayelements to the
There are two ways in which control number of distinct gate triggering times (see Fig.
logic may be optimized. First, after applying the I(&). No glitching requires that every gate with
technique to reduce the number of delay asynchronous inputs must be triggered no earlier
elements discussed above, we can use the same than the latest input arrival time for that gate;
control logic to control all gates that are to be obviously, a gate with synchronous inputs will
not glitch and hence should not be triggered. The The second point to be understood is the
problem of glitch minimization, in which the correspondence between the two principal
amount of glitching is part of the objective to be constraints of Problem 1 (i.e.. no glitches and
minimized, as opposed to glitch elimination bounded critical-path delay increase) and the
being considered here, seems to be more constraints of the table. Constraints RI through
difficult, and will be considered in future R7 ensure that a gate is triggered when its inputs
research. The second constraint in Problem 1 are asynchronous.
implies the following theorem. Constraints RR and R9 ensure that whenever a
gate is triggered, its triggering time is no earlier
Theorem 1 There exists a finite set Tu of than the latest input arrival time for the gate, so
triggering time instants for every gate U in the that all glitches are eliminated. We note that the
circuit such that the optimal solution to Problem upper bound on the triggering time for every gate
I is not agected by restricting U ’ S triggering time automatically enforces the constraint on the
to T,. increase in the critical-path delay. The objective
Proof Outline: The latest input arrival time for a function in the table directly corresponds to the
gate in the original circuit (before applying the objective in Problem 1.
glitch-minimization technique) and the upper
bound on critical-path delay set lower and upper 5 Related Work
bounds, respectively, on the triggering time of Glitch and short-circuit power
the gate. Triggering a gate later than the lower dissipation are discussed in [12, 131. Glitch
bound time, rather than triggering it at the lower- estimation, modeling, and propagation issues are
bound time, can lead to lower overhead only if it covered in [3, 11, 161. The importance of glitch
satisfies one of the following two conditions. (1) minimization for various applications is
The gate triggering time synchronizes with the considered in [4, 17, 191. Designing two-level
triggering time of at least one other gate, so that glitch-free circuits using logic redesign,
a common control signal can be used for both assuming only one input changes at a time, is
gates, thereby saving a delay element (see Fig. addressed in [6]. Glitch removal through path
1(f)). (2) The gate triggering time is such that the balancing obtained via, say, transistor sizing or
gate output synchronizes with the arrival of other layout changes, is discussed in [lo, 12, 131; this
inputs to some fan-out gate, thereby saving a can be cumbersome and involves trial and error.
control element at the fan-out gate, which does Furthermore, in deep submicron technologies,
not need to be controlled (see Fig. l(g)). There transistor sizing will not be very effective for
are only a finite set of triggering time instants path balancing since logic delays become
that will lead to one of these two relatively smaller compared to interconnect
synchronizations. delays. Retiming and buffer placement
Space constraints do not permit us to approaches to filter or reduce glitches and glitch
specify and prove what the exact finite set of propagation are described in [2, 71; these
triggering times implied by Theorem 1 is for a approaches, although somewhat effective, entail
gate. appreciable area overheads for flipflops and
The constants, variables, expressions, objective buffers. Glitch reduction at the RTL level in
(corresponding to Problem l), and constraints for control flow intensive designs is given in [15].
the ILP and their descriptions are given for easy Therefore, current methods for glitch
reference in Table 1. Only two points need to be reduction are either (i) not applicable in all
explained, and after that the rest of the ILP is contexts, or (ii) can not be auto-mated and are ad
easily understood by inspection of the detailed hoc, or (iii) are not very effective, or (iv) have
descriptions in the table. First, we need to high areddelay overheads, or (v) restrict the
understand for each variable the constraints that manner in which logic is transformed to a gate
enforce the values indicated for it in the table. realization. There is no methodical, generally
The value of variable PUu,; en-forced by applicable approach to minimizing glitch power
constraints RI, RI, and R3 that of PU.; by Rq,R.? dissipation. Our proposed gate triggering
and R6 that of by RI. and that of A , ; by R8 approach in this paper attempts to overcome all
and Ry.When gate is triggered, the value of Bu,i the above limitations of current approaches.
is enforced by constraints RIOand RI,, otherwise,
by constraints RIO,Rlz and RI.?.The value of Ai is 6 Conclusions
enforced by constraints R14 and R I ~and , finally, Although research into various aspects
that of X i by R16,R I , and RIR. of glitch power dissipation has been undertaken
in the past, most approaches to addressing it are [8] N.R. Mahapatra, S.V. Gariniella, and A. Tareen,
ad hoc and limited in their applicability. This “Efficient techniques for designing static CMOS ICs
paper presented a new framework called gate with very low glitch power diss.ipation,”submitted to
triggering for systematically minimizing glitch ISCAS 2000.
[9] N.R. Mahapatra, A. Tareen, and S.V. Garimella,
power dissipation in static CMOS ICs. The logic “An experimental and analytical comparison of delay
and wiring over-heads of our approach were elements,” Technical Report, Dept. of Computer Sc. &
analyzed and an ILP formulation was given to Eng., SUNY-Buffalo,Buffalo, NY, 1999.
minimize these overheads subject to a critical- [IO] E.J. McCluskey, “Logic design principles with
path delay constraint. Application of the new emphasis on testable semicustomcircuits,” Prentice
approach to test circuits (such as ripple carry Hull, Englewood Cliffs, NJ, 1986.
adder and array multiplier) yields 95% or more [ 1I] F.N. Najm, “A survey of of power estimation
elimination of glitch and, in gates to which techniques in VLSI circuits,” LEEE T-VLSI,Vol. 2,
applied, short-circuit power dissipation with very No. 4, Dec. 1994.
[ 121 M. Pedram, “Power minirnization in IC design:
little to negligible area and timing overheads Principles and applications,” ACM TODAES, Vol. 1,
after optimization. NO. 1, pp. 3-56, Jan. 1996.
[ 131J.M. Rabaey, “Digital Integrate Circuits,”
References Prentice Hatl, 1996.
[ 11 A.P. Chandrakasan and R.W. Broderson, [ 141 D. Rabe, et al., “Comparisonof different gate
“Minimizing power consumption in digital CMOS level glitch models,” Proc. PATMOS’96,Bologna,
circuits,” Proceedings of rhe IEEE, Vol. 83, No. 4, pp. Italy, 1996.
498-523, Apr. 1995. [ 151 A. Raghunathan, S . Dey, and N.K. Jha, “Glitch
[2] M. Favalli and C. Metra, “The effect of glitches on analysis and reduction in register transfer level power
CMOS buffer optimization,” Proc. PATMOS, Oct. optimization,”DAC, pp. 331-336, Jun. ’96.
1995 in pp. 202-212, Oldenberg, Germany, Oct. 1995. [ 161 S.J. Abou-Samra and A. Guyot, “Glitch
[3] M. Favalli and L. Benini, “Analysis of glitch threshold,” FTFC’97. [ 171 P.S.K. Siegel, “Automatic
power dissipation in CMOS IC’s,” Proc. of ZSLPED, technology mapping for asynchronousdesigns,” Tech.
pp. 123-128, 1995. Rep. CSL-TR-95-663,Stanford Univ.
[4] “Gated clocks and hazards,” http://erebor. [18] N.H.E. Weste and K. Eshraghian, “Principles of
cudenver.edu/courses/ee365l/hazards/hazard.html. CMOS VLSI design,”Addison-Wesley, 1993.
[5] F.S. Hillier and G.J. Lieberman, “Introduction to [ 191 T.-Y. Wu, et al., “A low glitch I0-bit 75-
operations research,” McCraw-Hill, 1995. MHz CMOS video DIA converter,” IEEE JSSC,
[6] R.H. Katz, “Contemporary logic design,” Addison Vol. 30, No. 1 , Jan. 1995.
WesleyPublications,1993.
[7] J. Leijten, et al., “Analysis and reduction of
glitches in syn-chronous networks,” Proc. EDAC, pp.
398-403, 1995.
Set ot all gates in me combina-
V tional gate network. D,%u E V Delay for gate U.
T = (TO,TI,. . . ,Tm-1)
'et o possible gate tngger- 2;= Set of all possible mggenng
,... ,T,,,,,,L-~)
(Tu,o,Tu.~ timesforgateu.
T:" = Set of all possible input arrival
F:,u EV Set of fan-in gates for gate U.
v
TI I=
.>C:n,-i).
V:'Yo,C:i>.. timesforgateu.

- Variables
1, it the latest input amval - 1, if the earliest input a m v d
I:~',o _< i < IT:I,U E v timeforgateuisT~:;,e~se= I:?, o I i < IT> I, U E v time for gate u is T::~,else =
n n
= I . it the inputs to gate U = 1, if gate U is aiggered at
, ,UEV
At"g are asynchronous (i.e., if gate U < ITul, E timeT,,;,else= 0.
needs to be triggered).
- 1. it the output of gate U be- = 1. if at least one gate is trig-
B,,;.O 5 i < JT,J,uE V comes stableat Tu,; D,.
-
+ Ai.0 5 i < JTJ gered at time T;, else = 0.
- 1. if the latest mggenng
x..o 5 i 5 IT1 time over all gates is Ti,else
-
-

Objective IS to minimze t o o l overhead compnsingtool amount ot delay in the de-


Objective = Ctataciay. E14 + Cnumd.iog. E I S+ C t d g ,E N lay chain, number of delay elements. and the number of gates triggered/controlled;
Ctot-ncin,,, C,,s,r,l,,,, and Ct,;,are the associated weights.

I The latest input amvd tlme tor


gate U can be no earlier than
any of its individual input ar-

There is only one earliest input


arrival time for gate U.
The earliest input a m v d ome
for gate U has to one of its in-
I put arrival times.

R7 I M 'A:"" 1 EI(u) - &(U),


U E V, M is a sufficiently large
number.
Gate U cannot be triggered
more than once.

Output of gate U can stabilize


exactly once.
It gate U
IS not mggered (i.e.,
all its inputs are synchronous or
its earliest and latest input ar-
If gate U is triggered at time
Tu,;, then its ouput stabilizes
EIO(U) +
5 El(%) M . J 3 7 ( ~ ) rival times are equal). the time
R12 M is a sufficiently large number, at which its output stabilizes
+
at time Tu,; D,. U E V cannot be any later than the
sum of its latest input arrival
time and its gate delav.
I t gate U IS not triggered (i.e..
all its inputs aresynchronousor
its wliest and latest input ar- Triggering time Ti is not cho-
rival times are equal). the time
at which its output stabilizes
R14 Ai 5 Ell(i)*o 5 2 < IT/ sen (i.e., A; = 0) if no gate is
triggered at time Ti.
cannot be earlier than the sum
of its earliest input arrival time
and its gate delay.
Triggering time 3 ; IS chosen The number of latest triggering
(i.e., A; = 1) if at least one Rlcj E17 <_ 1
~

times can be no greater than 1.


gate is triggered at time Ti.
I he latest triggenng nme can e latest triggenng nme can
be no earlier than any of the R I ~ xi I A i . 0 5 i < \TI only be chosen from one of the
Kate trigeerinp times.
Table 1: ILP formulationfor minimizingdelay element, control logic, and wiring overheadswhen applying :glitch-minimizationtech-
nique of Sec. 2 to a combinationallogic block so that no glitches occur and the increasein critical-pathdelay of the block'does not exceed
a specified upper bound.

Vous aimerez peut-être aussi