Glitch filtering in gate-level switching power estimation using Dual-transition probability 1 Author

advertisement
Glitch filtering in gate-level switching power estimation
using Dual-transition probability
1st Author
2nd Author
1st author's affiliation
1st line of address
2nd line of address
Telephone number, incl. country code
2nd author's affiliation
1st line of address
2nd line of address
Telephone number, incl. country code
1st author's email address
2nd E-mail
ABSTRACT
Most of existing gate-level probabilistic approaches on power
estimation fails to model glitch filtering effect accurately.
However, this effect could have significant impact on the power
dissipation in a circuit and therefore not negligible. In this paper,
we propose an accurate glitch filtering method which can be
applied to existing probability simulation and tagged probability
simulation techniques. Our glitch filtering method is based the
new measure of dual-transition probability that captures the
probability of states on one node at two different time instance.
Experiments show that the application to the tagged probability
simulation gives a power estimation which has a more stable
performance than that of the original one. For certain circuits with
a large component of glitch power, up to 28% estimation accuracy
improvements have been obtained.
Keywords
Dual-transition probability, dual-transition correlation coefficient
1. INTRODUCTION
Power estimation refers to the techniques that can estimate or
predict the average power and maximum power for a given
circuit. It’s been well understood that accurate power estimation
methods are critical to IC designs because the power
consumptions for each module must meet the specification during
the design phase. Otherwise, a costly redesign process is
inevitable. Numerous computer aided design tools for power
estimation has been developed to address this issue. From the
interest of estimation and circuit details provided, power
estimation techniques ranges from circuit level SPICE simulation
to high level estimation of power dissipation of a CPU.
For gate level power estimation, a gate level netlist of the circuit
is provided. The power components that consist of the total power
dissipation for a CMOS circuit are switching power ( Pswitching ,
caused by the signal transitions charging and discharging load
capacitors), leakage power ( Pleakage , caused by sub-threshold
current of transistors when no input changes) and short-circuit
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
Conference’04, Month 1–2, 2004, City, State, Country.
Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00.
power ( Pshort circuit , power dissipation during the gate switching,
when both PMOS and NMOS network are turned on) [2]. Among
these three components, switching power has been the dominant
component in the past decades. Pswitching  kCLVdd2 f clk , where k is
the switching activity factor, CL is the load capacitance, Vdd is
the supply voltage and f clk is the clock frequency. Although
leakage power is becoming more and more significant as the
device size keeps shrinking, an accurate estimation of switching
power is always of great interests.
Switching power estimation at gate level normally has two
approaches, simulation-based and probabilistic methods.
Although the event-driven logic simulation can give the precise
switching activity at each node, the major drawback is that a large
number of typical input vectors have to be simulated in order to
get a meaningful average power. Therefore, it is normally very
slow and strongly input pattern dependent. On the other hand,
probabilistic methods only require one analysis to derive the
power given input probabilities and are more preferred.* Previous
probabilistic approaches differ in terms of delay model used, the
way to handle spatial temporal independence, and glitch filtering
effect considerations. They also vary on the estimation complexity
and speed.
Most of early probabilistic approach for power estimation
[3],[5],[11],[9],[10] are under zero delay assumption, which
means only steady state signal values are analyzed. Premature
signal transitions during the transient stage, so called glitches or
hazards, can not be analyzed by zero-delay models. In reality,
power consumed by glitches is not negligible in most cases and
some of the late works tried to include the glitch power for a more
accurate estimation. In [12], works in [10] has been extended into
real delay case. There are many other approaches based on real
delay model or differential delay to account for glitch power.
Probabilistic simulation (CREST) [1],[6],[7] and Tagged
probability simulation [13],[4] was proposed to propagate
probability waveform throughout the circuit. Transition density
approach, proposed by Najm [8], utilize a differential delay model
(assuming that no two signal will arrive at a gate at the exactly
same time) to include glitch power into the total switching power.
For most of above techniques, except Tagged probability
*
Probabilistic methods are also pattern dependent because
analysis results depends on supplied probabilities. However, no
specific input pattern is required for probabilistic methods and
therefore it is less pattern-dependent.
simulation, glitch filtering effect are not considered. Glitch
filtering effect refers to the fact that glitches with pulse width less
than the inertial delay of the gate will not be able to propagate to
the output of the gate. The glitch filtering effect can change the
switching activity of a gate significantly especially for gate with a
large inertial delay. As far as we know, no one has proposed an
accurate method to account for this effect. Even in tagged
probability simulation, where glitch filtering is considered, the
filtering is so approximated that glitches coming from single input
will not be filtered.
In this paper, we propose an accurate glitch filtering method based
on probability simulation approaches. Our technique can be
applied to both probability simulation (CREST) and tagged
probability simulation. Since probability simulation assumes
spatial independence of input signals, it leads to a larger
estimation error when the circuit contains reconvergent fanouts.
Our application to the tagged probability waveform shows
significant improvements in estimation accuracy for some circuits
with a large component of glitch power. The organization of this
paper is as follows. In section 2, we will briefly introduce the
background of probability simulation and related terms. In section
3, we will discuss the way to propagate probability waveform
throughout the circuit. In section 4, the new glitch filtering will be
discussed. We will show some experimental result in section 5
and draw our conclusions and future works in section 6.
2. BACKGROUNDS
Our new glitch filtering method is based on previous technique of
probability simulation. Here we have an introduction on
probability waveform and Tagged probability waveform.
2.1 Probability waveform
Probability waveforms [7] represent the logic waveforms of each
node collectively using probabilistic measurements. A probability
waveform is a sequence of transitions edges over time where each
edge is annotated with a probability of occurrence. In a
probability waveform w, two concepts are critical, signal
probability and transition probability. Signal probability spn (t ) is
defined as the probability of node n having logic one at time t.
Transition probability refers to the probability of signal transition
at the node. More precisely, the probability of an event that signal
value of node n transfer from zero to one (or one to zero) at time t
can be defined as a rising transition probability tun (t ) (or falling
transition probability tdn (t ) ). The probability waveform of a node
is a compact representation of all possible waveform at that node
under the input stimuli and can be constructed easily if we
enumerate all possible logic waveform and corresponding
occurrence probability. A probability waveform can be
represented by an initial signal probability followed by a sequence
of transition probabilities in the temporal order. E.g.
Note
that
w  {spn (0), tun (t0 ), tdn (t0 ),..., tun (tk ), tdn (tk )} .
spn (t )  spn (t )  tun (t )  tdn (t ) .
In this paper, probability waveform is the representation of logic
waveforms within a single clock period. We also extend the
definition of transition probability to general cases. We define
transition probability Pnsn (t ) as the probability that node n has a
logic transition state sn ( sn  {00,01,10,11} ) at time t. Therefore,
tun (t )  Pn01 (t ) and td n (t )  Pn10 (t ) . Pn11 (t ) (or Pn00 (t ) ) denote
the probability of node n hold on logic one (or zero) at time t.
Consequently,
we
have
and
spn (t )  Pn10 (t )  Pn11 (t )
spn (t )  Pn11 (t )  Pn01 (t ) . The switching power dissipation of a
node can be described as
1
(1)
Pav (n)  f clkVdd2 Cn  ( Pn01 (ti )  Pn10 (ti ))
2
, where Cn is the load capacitance of node n and tun (ti )  tdn (ti )
is the transition density of the node.
2.2 Tagged probability waveform
A tagged probability waveform [4] can be viewed as a partitioning
of a probability waveform according to the initial and final steady
state signal values of each logic waveform contributed to it. That
is, if we enumerate all possible logic waveform for a node, logic
waveform with same steady state values are to be grouped to form
one probability waveform, which is then tagged with the steady
state values. Four tagged probability waveform can be defined to a
node n: wn00 , wn01 , wn10 , and wn11 , where 00, 01, 10, 11 are tags.
Similar to probability waveform, spnxy (t ) ( x, y  {0,1} ) represents
the signal probability in tagged probability waveform wnxy . More
accurately, spnxy (t ) represents the probability that node n has
logic one at time t and its initial and final steady state values are x
and y. Furthermore, tunxy (t ) (or td nxy (t ) ) represent the rising (or
falling) transition probability in tagged probability waveform
wnxy . That is the probability that node n has a zero to one (or one
to zero) transition at time t and its steady state values are x and y.
Note that either spnxy (t ) , tunxy (t ) , or tunxy (t ) are not conditional
probabilities. A simple summation of four tagged probability
waveform can reconstruct the original probability waveform.
Tagged waveform probability, denoted as P( wnxy ) , is also
defined, which is the sum of occurrence probabilities of all logic
waveforms represented by wnxy . Figure 1 shows an example of
probability waveform and tagged probability waveform. Each
tagged probability waveform is labeled with its tag and the
corresponding P( wnxy ) .
Similar to probability waveform, we extend the definition of
transition probability in tagged probability waveform to a more
general form. We define transition probability in tagged waveform
Pnsn, xy ( t ) as the probability that node n has a logic transition state
sn ( sn  {00,01,10,11} ) at time t and its initial and final steady
state values are x and y ( x, y  {0,1} ).The switching power
dissipation of a node can be described as
1
Pav (n)  f clkVdd2 Cn  ( Pn01, xy (ti )  Pn10, xy (ti ))
(2)
2
i
x
y
,
where Cn is the load capacitance of node n and
 ( Pn01, xy (ti )  Pn10, xy (ti )) is the transition density of the node.
x
y
1
0
1
0
1
0
1
0
1
0
1
0
1
0
11 sp
P=0.2
3.2.1 Tree structure circuit
P=0.15
P=0.1
t1
t2
The propagation of tagged probability waveform is more complex
because each input has four waveforms. In tagged waveform
propagation, circuits with tree structure and circuits with
reconvergent fanouts are handled differently. For circuit with tree
structure, signal connected to two inputs of the AND gate are
uncorrelated if the circuit inputs are uncorrelated. Therefore, the
transition probability for a two input AND gate can be calculated
as
tucxy , wz (t  d )  Pc01,(xy , wz ) (t  d )
(5)
 Pa01, xy (t ) Pb11, wz (t )  Pa01, xy (t ) Pb01, wz (t )  Pa11, xy (t ) Pb01, wz (t )
t
01 sp
P=0.05
P=0.05
0.15
P=0.1
P=0.35
t2
t1
t2
0.15
0.05
t1
0.1
00 sp
0.2
0.2
0.35
t2
t
10 sp
0.1
t1
0.05
0.1
t1
t
(a)
sp
0.5
0.35
3.2 Propagation of TPW
0.15
0.15
t
(b)
0.1
t
t2
td cxy , wz (t  d )  Pc10,(xy , wz ) (t  d )
 Pa10, xy (t ) Pb11, wz (t )  Pa10, xy (t ) Pb10, wz (t )  Pa11, xy (t ) Pb10, wz (t )
t1
(c)
t2
t
Figure 1. An example of probability waveform and tagged
probability waveform. (a) shows all possible logic waveform
within one clock period for a given node and corresponding
occurrence probabilities. (b) shows a probability waveform
constructed from (a). Arrows are rising edges and falling
edges which are annotated with its transition probability. (c)
shows four tagged probability waveforms constructed from
(a), and each waveform is labeled with its tag (00,01,10,or 11).
The y axis is the signal probability and the height of dashed
line indicate the tagged waveform probability P( wnxy ) .
The waveform propagation scheme in probability waveform and
tagged probability waveform is similar. However, for tagged
probability waveform four waveforms are propagated through the
circuit. Also the propagation of single probability waveform is
simpler because no spatial correlation is considered.
3.1 Propagation of Probability Waveform
For probability waveform, the spatial correlation between two
different inputs is ignored and the waveform will not be exact
when circuits contain reconvegent fanouts. For a two input AND
gate, with inputs a, b and output c. The output probability
waveform at node c is calculated as
tuc (t  d )  Pc01 (t  d )
(3)
 Pa01 (t ) Pb11 (t )  Pa01 (t ) Pb01 (t )  Pa11 (t ) Pb01 (t )
 Pa10 (t ) Pb11 (t )  Pa10 (t ) Pb10 (t )  Pa11 (t ) Pb10 (t )
, where a, b are the inputs, c is the outputs, x, y , w, z  {0,1} . The
left terms of each equation is the joint-tagged (by xy,wz) transition
probability. Since each joint tag actually indicates the initial and
final steady state value of logic waveform for each input, we can
easily calculate the initial and final steady state value of logic
waveform at the output, which will be the output tag. All jointtagged waveforms with same output tag are added together. After
this procedure, 16 joint-tagged waveforms are combined to form 4
tagged waveforms. And these 4 waveforms will be propagated to
the fanout gates. As in probability simulation, An OR gate is
similar to a AND gate with Pa11, xy (t ), Pb11, wz (t ) be substituted by
Pa00, xy (t ), Pb00, wz (t ) in above equations. Gates with two or more
inputs will be decomposed to two input gates to avoid the
complexity.
3.2.2 Circuits with reconvergent fanouts
3. PROPAGATION OF WAVEFORMS
td c (t  d )  Pc10 (t  d )
(6)
For circuits with reconvergent fanout, spatial correlations of
signals are not negligible. As illustrated in [4], exact calculation
of transition probability is very difficult. To exactly calculate the
output waveform from two input waveform of a two input gate,
we need to know the correlation between any two states of
different inputs at the same time instance. Therefore, the
macroscopic correlations between steady state signal values (tags)
are used to approximate the exact correlations. The macroscopic
correlation are encapsulated by correlation coefficients, which is
defined, for tagged waveform waxy , wbwz ,
P ( waxy ^ wbwz )
axy,b, wz 
(7)
P ( waxy ) P ( wbwz )
,where x, y , w, z  {0,1} . The correlation coefficient is the ratio of
the probability of both tagged waveform occurs and the product of
individual tagged waveform probability.
(4)
, where d is the inertial delay of the AND gate. An OR gate is
similar to a AND gate with Pa11 (t ), Pb11 (t ) be substituted by
Pa00 (t ), Pb00 (t ) in above equations. In our implementation, to limit
the complexity, gates with two or more inputs will be decomposed
to two input gates first then perform the waveform propagation.
To propagate the waveform, an initial signal probability spn (0)
is necessary for each node n. spn (0) is the steady state signal
probability that can be derived from primary input using global
OBDD approach [9]. In practice, we can use a zero delay bitparallel logic simulator to find out the values [4].
Under the assumption that all correlations between any two states
of different inputs at the same time instance are the same as
axy,b, wz , the transition probabilities for a two input AND gates can
be calculated as
tucxy , wz (t  d )  Pc01,(xy , wz ) (t  d )
(8)
 ( Pa01, xy (t ) Pb11, wz (t )  Pa01, xy (t ) Pb01,wz (t )  Pa11, xy (t ) Pb01,wz (t ))axy,b, wz
td cxy , wz (t  d )  Pc10,(xy , wz ) (t  d )
 ( Pa10, xy (t ) Pb11, wz (t )  Pa10, xy (t ) Pb10,wz (t )  Pa11, xy (t ) Pb10,wz (t ))axy,b, wz
(9)
, where a, b are the inputs, c is the outputs, x, y , w, z  {0,1} . The
rest of the propagation is the same as the case with tree structure
circuit.
4. NEW GLITCH FILTERING METHOD
4.1 Original glitch filtering in TPS
4.3 New glitch filtering
The glitch filtering effect refers to subtraction of transition
probabilities from probability waveforms. In tagged probability
simulation [4], glitch filtering on joint-tagged waveform wcxy , wz of
a two input AND gate with inertial delay d can be described as
follows. For a rising transition event tuaxy (t1 ) , all of the falling
transition events tudwz (t2 ) that comes from the other gate input
with t1  t2  t1  d are subject to glitch filter. It means that
axy,b, wz tuaxy (t1 )td bwz (t2 ) is subtracted from both tucxy , wz (t1  d ) and
td cxy , wz (t2  d ) . In essence, they assume that tuaxy (t1 ) and tudwz (t2 )
are also correlated by macroscopic correlations, described by
axy,b, wz . axy,b, wz tuaxy ( t1 )td bwz ( t2 ) represents the probability that both
rising and falling transitions happens at the output c at time t1,t2,
which is subjected to the filtering since the pulse width is less
than d. This process is applied to each joint-tagged probability
waveform before they merged into four output tagged probability
waveform. For multiply input gates, only the last gate in the
decomposed network is subject to glitch filtering.
The above method for glitch filtering is very imprecise. First of
all, the glitch coming from the single input can not be filtered by
this method. 2nd, even if we maintain the same assumption for the
use of macroscopic correlation, the probability that both rising
and falling transitions happens at t1, t2 is not simply
axy,b, wz tuaxy (t1 )td bwz (t2 ) . In probability waveform, either a or b
(inputs of the AND gate) could has four possible states at t1 (or t2
), a rising transition (01), a falling transition (10), holding on one
(11), or holding on zero (00). To have a rising transition on the
output c at t1 +d, three possible combinations of states of a and b
at t1 are (01, 01), (01, 11) or (11, 01). Similarly, to have a falling
transition on the output c at t2+d, three possible combinations of
states of a and b at t2 are (10, 10), (10, 11) or (11, 10). To have an
accurate estimation of the probability that both transition happens
at the output, joint probability of events at t1 and t2 on each input
should be adopted.
For our new glitch filtering method, we define dual-transition
probability Pnsn, xy1, sn 2 (t1 , t2 ) as the joint probability that node n has
the state sn1 at time t1 and the state sn2 at t2 on the xy tagged
probability waveform, where sn1, sn 2  {00,01,10,11} and
x, y  {0,1} . Then, the probability that both rising and falling
transition happens at t1, t2 on the output of a two input AND gate
can be calculated as
P
3
3
(t1  d , t2  d )
  Pa , xyi
i 1 j 1
sa1 , sa 2 j
sb1 , sb 2 j
(t1 , t2 ) Pb, wzi
(t1 , t2 )axy,b, wz
With the new notion of dual-transition probability, the glitch
filtering on joint-tagged waveform wcxy , wz of a two input AND
gate with inertial delay d is modified as follows. For a rising
transition event at t1, all falling transition events at t2 that has
t1  t2  t1  d are subject to glitch filter. It means that the dualtransition probability Pc01,10
is subtracted from both
,( xy , wz ) ( t1 , t2 )
tucxy , wz (t1  d ) and td cxy , wz (t2  d ) . Moreover, For a falling
transition event at t1, all rising transition events at t2 that has
t1  t2  t1  d are subject to glitch filter. The dual-transition
xy , wz
probability Pc10,01
(t1  d )
,( xy , wz ) ( t1 , t2 ) is subtracted from both td c
xy , wz
and tuc (t2  d ) . This process is applied to each joint-tagged
probability waveform before they merged into four output tagged
probability waveform. Figure 2 shows an example of the process.
sp
0.5
w11
a
0.2
0.2
t1 t 2
(10)
, where c is the output, a, b is the inputs, d is the gate inertial
delay, x, y , w, z  {0,1} , ( sa1i , sb1i ) {(01,11), (11,01), (01,01)} ,
and ( sa2 j , sb2 j ) {(10,11), (11,10), (10,10)} . Note that we still
adopted the macroscopic correlation axy,b, wz to approximate the
wb11 0.5
0.2
w11
c
a
t
c
d
b
sp
4.2 Dual-transition probability
01,10
c ,( xy , wz )
spatial correlation between two inputs. The output dual-transition
probability is joint-tagged with (xy,wz). Similar to the merging of
joint-tagged transition probabilities, joint-tagged dual-transition
probabilities are added together according to its output tag to form
the (single tagged) dual-transition probability.
sp
0.06 0.1
0.25
0.1
t1'
0.2
t2 t3 t
0.06
t2' t3'
t
Glitch filtering
10,01
c ,11
P
(t1 ', t2 ')  P
10,01
a ,11
(t1 ', t2 ') Pb11,11
,11 ( t1 ', t2 ')  0...  0  0.2 * 0.3  0.06
10,01
11,11
Pc10,01
,11 ( t2 ', t3 ')  Pb ,11 ( t2 ', t3 ') Pa ,11 ( t2 ', t3 ')  0...  0  0.2 * 0.3  0.06
10,11
11,01
Pc10,01
,11 ( t1 ', t3 ')  Pa ,11 ( t1 ', t3 ') Pb ,11 ( t1 ', t3 ')  0...  0  0.2 * 0.2  0.04
wc11
sp
0.25
t1'
t2'
t3'
t
Figure 2. An example for the glitch filtering process.
Propagation of probability waveform for a two input AND gate
with an inertial delay d is shown. For glitch filtering, we
assume all t1<t2<t3<t1+d
4.4 Propagation of dual-transition probability
4.4.1 Calculate dual-transition probability
Dual-transition probability is propagated from the primary inputs
throughout the circuit. The general equation for propagation of
dual-transition probability is as follows,
Pcs,(1,xys 2, wz ) (t1  d , t2  d )
k
l
  Pa , xyi
i 1 j 1
sa1 , sa 2 j
sb1 , sb 2 j
(t1 , t2 ) Pb, wzi
(t1 , t2 )axy,b, wz
(11)
where c is the output, a, b is the inputs, d is the gate inertial delay,
x, y , w, z  {0,1} , ( sa1i , sb1i ) Q1 , and ( sa 2 j , sb2 j )  Q2 . Q1(or
Q2) represents the group of input combinations on a and b that
give output state s1 (or s2) and the size of Q1(or Q2) is k (or l).
For primary inputs, where transitions can only occur at time zero,
Pns,1,xys 2 (0, t )  Pns,1xy (0) or Pns,1,xys 2 (0, t )  0 depending on the value of
s1 and s2.
4.4.2 Update probabilities after glitch filtering
It is important to update values of dual-transition probability after
the glitch filtering. Indeed, no two transitions could happen with a
time difference less than the gate delay d. The dual-transition
probability is updated as follows. Define s 2[1], s 2[2] as the first
(left) and 2nd (right) bit of s2. For t1, t2 with t1  t2  t1  d ,
s 2[1]  s 2[2]  s1[2]
Pns,1,xys 2 (t1 , t2 )  Pns,1xy (t1 )
if
and
s1[1]  s1[2]  s 2[1] .
Pns,1,xys 2 (t1 , t2 )  Pns,2xy (t2 )
if
Otherwise,
Pns,1,xys 2 (t1 , t2 )  0 .
transition density Dx) for each node from different probability
simulations are compared against those obtained from logic
simulation over the entire vector sequence. The percentage error is
the ratio between the absolute error and the average node activity.
The standard deviation of node errors has also been included. We
can see our new glitch filtering method gives a very accurate
estimation in both cases. On the other hand, TPS itself gives a
larger error because of the inaccurate glitch filtering at node 31.
Note that for a tree structure circuit, no spatial correlation exists in
the circuit if signal at PIs are independent. Therefore, probability
simulation can perform well in this case.
1
1
17
2
3
1
3
18
25
4
29
1
26
5
To help update dual-transition probability for t1, t2 with
t1  d  t2 , we define dual-transition correlation coefficient
ns1,, xys 2 (t1 , t2 ) as follow,
ns1,, xys 2 (t1 , t2 ) 
Pns,1,xys 2 (t1 , t2 )
Pns,1xy (t1 ) Pns,2xy (t2 )
6
19
4
8
(12)
31
20
3
1
0
32
2
5
21
30
3
22
1
1
1
2
33
1
9
1
1
27
2
28
2
23
1
3
1
4
(13)
Note that Pns,1xy (t1 ), Pns,2xy (t2 ) here is the new transition probability
after the subtraction. To avoid the exponential increase of
complexity, only correlation coefficients (and dual-transition
probabilities) with t2-t1<dmax are propagated, where dmax is the
maximum gate delay of the circuit.
3
7
, where s1, s 2  {00,01,10,11} , x, y  {0,1} . Pns,1,xys 2 (t1 , t2 ) is the
dual-transition probability and Pns,1xy (t1 ) is the transition
probability on tagged waveform. Before the glitch filtering is
applied, ns1,, xys 2 (t1 , t2 ) ’s are calculated. After the glitch filtering, we
assume the correlation for transitions at t1, t2 with t1  d  t 2 does
not change, and update dual-transition probability as follows,
Pns,1,xys 2 (t1 , t2 )  Pns,1xy (t1 ) Pns,2xy (t2 )ns1,, xys 2 (t1 , t2 )
3
1
24
Figure 3. A simple tree structure circuit.
Table
1. Node by node comparison of switching power.
1
5
1
6
Node
Logic
Sim.
ProSim +
TPS
TPS +
Pswitch
(Dx)
Pswitch
(Dx)
Err.
(%)
Pswitch
(Dx)
Err.
(%)
Pswitch
(Dx)
Err.
(%)
17
0.4570
0.4608
0.80
0.4606
0.75
0.4606
0.78
Although we explained our new glitch filtering method under
tagged probability simulation. Our glitch filtering method can be
applied to both probability simulation and tagged probability
simulation. The proposed algorithm has been implemented in
software prototypes which are to be referred to as “ProSim+” and
“TPS+”. The software takes a description of a circuit and gives
the estimation of switching power (in terms of transition density)
at each node. The description of circuit includes the netlist of the
circuit and input signal probabilities. In our experiments, spatial
and temporal independence is assumed for primary inputs. Input
signal probabilities for PIs are 0.5 and we randomly generate
40,000 input vectors under the same probability as the input
sequence for the logic simulator. As that in [4], the transition
probabilities and macroscopic correlations for steady state signals
are first generated using a zero delay logic simulator and then fed
into our power estimation software.
18
0.4599
0.4608
0.19
0.4603
0.08
0.4602
0.08
19
0.4604
0.4608
0.08
0.4604
0.01
0.4604
0.01
20
0.4619
0.4608
0.24
0.4604
0.33
0.4604
0.34
21
0.4622
0.4608
0.30
0.4607
0.32
0.4607
0.33
22
0.4618
0.4608
0.22
0.4604
0.30
0.4604
0.31
23
0.4610
0.4608
0.05
0.4610
0.00
0.4610
0.00
24
0.4585
0.4608
0.49
0.4601
0.33
0.4601
0.34
25
0.5858
0.5898
0.85
0.5898
0.84
0.5898
0.68
26
0.4856
0.4837
0.42
0.4838
0.39
0.4838
0.38
27
0.5923
0.5898
0.51
0.5899
0.50
0.5899
0.40
28
0.4833
0.4837
0.07
0.4838
0.10
0.4838
0.10
29
0.6049
0.6060
0.22
0.6052
0.06
0.6052
0.05
5.1 Tree structure circuit
30
0.3262
0.3249
0.27
0.3243
0.39
0.3243
0.57
Our first experiment is a simple tree structure circuit as shown in
Figure 3. Gates are given randomly selected delay values. Results
are compared in Table 1. The power estimates (in terms of
31
0.4987
0.4820
3.53
0.6052
22.5
0.4816
3.44
5. EXPERIMENTAL RESULTS
32
0.3262
0.3249
0.27
0.3243
0.39
0.3243
0.57
33
0.4670
0.4578
1.94
0.5462
16.8
0.4564
2.28
Total
8.0529
8.0289
0.30
8.2364
2.28
8.0228
0.37
Std.
dev.
-
-
0.88
-
6.49
-
0.90
5.2 Circuits with reconvergent fanouts
More experiments have been done for ICS’85 benchmark circuits.
Delay of each gate is approximated with the number of fanouts.
For each circuit, average node error (Eavg), standard deviation of
node errors (Δ), and error for total power (Etot) are measured.
Again, node errors are percentage errors with respect to the
average node activity. Results are shown in Table 2. For
benchmark circuits, reconvergent fanouts exist in the circuit,
therefore probability simulation gives a large error in most cases
even though our new glitch filtering method is applied. For tagged
probability simulation, the improvement of estimation accuracy is
significant in some circuits. E.g. c432, c1355, c6288. These
circuits typically have a large component of glitch power.
However, for some other circuits, the application of our new
glitch filtering method in TPS does not improve the estimation
accuracy and sometimes even gave a larger error. This is due two
factors, first, we found out that TPS tends to underestimate
switching activity for some nodes for those circuits and 2 nd, the
original glitch filtering in TPS tends to underestimate the
probability to be subtracted. Therefore, the estimation error for
total power is still small. In these cases, a more accurate glitch
filtering will actually increase the error for total power. The
application of our new glitch filtering method gave a relative more
“stable” estimation error for different circuits, which is a very
important factor that our new glitch filtering is superior in terms
of estimation accuracy comparing to the original one. In practice,
we have no idea which circuit could give a large estimation error;
a more “stable” estimation gave user a lot more confidence about
the estimation result.
Table 2. Estimation error comparison on benchmark circuits
ProSim+
Circuits Eavg
Etot
Δ(%)
(%)
(%)
TPS
TPS+
Eavg
Etot
Δ(%)
(%)
(%)
Eavg
Etot
Δ(%)
(%)
(%)
c17
5.83 7.79 0.65 2.28 2.55 0.13 2.28 2.55 0.13
c432
14.73 17.33 8.51 29.90 38.75 35.84 9.46 11.84 6.50
c499
3.74 6.79 4.83 7.96 13.95 2.96 3.25 2.34 0.21
c880 11.21 18.23 7.26 8.33 15.34 1.64 8.01 15.65 5.15
c1355 16.78 21.45 18.33 24.21 31.63 32.85 5.82 11.19 5.43
c1908 21.90 33.75 19.66 15.00 23.11 4.09 17.73 27.85 11.19
c2670 20.63 29.71 15.03 16.56 29.78 7.24 16.65 28.32 9.93
c3540 16.61 36.28 10.08 13.79 26.34 9.78 10.3 25.59 2.42
c5315 20.19 40.05 17.24 11.80 24.39 2.29 13.42 31.52 10.07
c6288 29.63 29.86 26.37 27.39 27.48 32.12 15.65 18.78 4.05
c7552 21.59 39.92 16.39 14.45 27.51 3.17 14.79 31.39 7.78
Avg. 16.62 25.56 13.12 15.61 23.71 12.01 10.67 18.82 5.71
The computation speed of TPS+ is about 2-3 times faster than that
of the logic simulation over all the vector sequence, while
ProSim+ is about 20-30 times faster and TPS is about 2 orders of
magnitude faster than logic simulation. The computation
complexity of TPS+ is significantly higher because of the
propagation of pairwise dual-transition probabilities. Since there
are only one probability waveform for ProSim+, its computation
cost is much lower than that of TPS+.
6. CONCLUSIONS
Most existing gate-level probabilistic approach on power
estimation fails to model glitch filtering effect accurately.
However, gate filtering effect has a non-negligible impact on the
power consumption of a circuit. In this paper, we proposed an
accurate glitch filtering method based on the propagation of dualtransition probability (and probability simulation). Our new glitch
filtering method is able to be applied in both probability
simulation and tagged probability simulation techniques. For tree
structure circuits where spatial correlations do not exist inside of
the circuit, our new glitch filtering method is able to give very
accurate power estimation. For circuits with reconvergent fanouts,
the application of our new glitch filtering method to TPS gives an
estimation that is less erratic than original TPS in terms of
estimation accuracy. For some circuits with a large component of
glitch power, up to 28% improvement on estimation accuracy is
obtained by our new glitch filtering method.
Some weakness does exist in our current method. The application
of our method to TPS gives larger error in some cases. Also the
computation time is much slower than original TPS because of the
complexity in propagation dual-transition probability. Future
work could be the continuous improvement of the power
estimation accuracy and computation time. Since TPS itself tends
to underestimate the switching activity in some cases, a
modification of tagged probability waveform propagation schemes
is under investigation. Also, the computation complexity of our
method may be further reduced. Software and algorithm
optimization are to be studied.
7. REFERENCES
[1] R. Burch, F. Najm, P. Yang, and D. Hocevar. Patternindependent current estimation for reliability analysis of
CMOS circuits. In Proceedings of 25th ACM/IEEE Design
Automation Conference, Anaheim, CA, pages 294–299, June
1988.
[2] A. P. Chandrakasan and R. W. Brodersen. Low power digital
CMOS design. Kluwer academic publishers, Boston, 1995.
[3] M. A. Cirit. Estimating dynamic power consumption of
CMOS circuits. In Proceedings of IEEE International
Conference on Computer-Aided Design, pages 534–537,
Nov. 1987.
[4] C.-S. Ding, C.-Y. Tsui, and M. Pedram. Gate-level power
estimation using tagged probabilistic simulation. IEEE
Transactions on Computer-Aided Design of Integrated
Circuits and Systems, 17(11):1099–1107, Nov. 1998.
[5] S. Ercolani, M. Favalli, M. Damiani, P. Olivo, and B. Ricco.
Estimate of signal probability in combinational logic
networks. In Proceedings of the First European Test
Conference, pages 132–138, 1989.
[6] F. N. Najm, R. Burch, P. Yang, and I. N. Hajj. CREST - a
current estimator for CMOS circuits. In Proceedings of IEEE
International Conference on Computer-Aided Design, pages
204–207, Nov. 1988.
[7] F. N. Najm, R. Burch, P. Yang, and I. N. Hajj. Probabilistic
simulation for reliability analysis of CMOS VLSI circuits.
IEEE Transactions on Computer-Aided Design of Integrated
Circuits and Systems, 9(4):439–450, April 1990.
[8] F. N. Najm. Transition density: a new measure of activity in
digital circuits. IEEE Transactions on Computer-Aided
Design of Integrated Circuits and Systems, 12(2):310–323,
Feb. 1993.
[9] R. Marculescu, D. Marculescu, and M. Pedram. Logic level
power estimation considering spatiotemporal correlations.
In Proceedings of the IEEE International Conference on
Computer Aided Design, pages 294–299, Nov. 1994.
[10] R. Marculescu, D. Marculescu, and M. Pedram. Efficient
power estimation for highly correlated input streams. In
Proceedings of the 32nd Design Automation Conference,
pages 628–634, June 1995.
[11] P. Schneider and U. Schlichtmann. Decomposition of
boolean functions for low power based on a new power
estimation technique. In Proceedings of the 1994
International Workshop on Low Power Design, pages 123–
128, April 1994.
[12] G. Theodoridis, S. Theoharis, D. Soudris, T. Stouraitis, and
C. Goutis. An efficient probabilistic method for logic circuits
using real delay gate model. In the 1999 IEEE International
Symposium on Circuits and Systems, ISCAS ’99, volume 1,
pages 286–289, Jun 1999.
[13] C.-Y. Tsui, M. Pedram, and A. M. Despain. Efficient
estimation of dynamic power consumption under a real
delay model. In Proceeding of IEEE International
Conference on Computer-Aided Design, Santa Clara, CA,
pages 224–228, Nov. 1993.
Download