Bounds on FSM Switching Activity

Report 4 Downloads 172 Views
1

Bounds on FSM Switching Activity Eleftheria Athanasopoulou and Christoforos N. Hadjicostis

Abstract This paper obtains lower and upper bounds for the switching activity on the state lines of a finite state machine (FSM) that is driven with typical input sequences. More specifically, the paper bounds the average Hamming distance which is in turn proportional to the switching activity and the overall power dissipation of the system. By introducing the concepts of a distance matrix and a weight matrix, and by exploiting the symmetry of the distance matrix we are able to obtain bounds that are provably tighter and, as demonstrated by our experimental results, they can offer significant improvement over existing bounds. Since our bounds are independent of the state assignment and the actual implementation, they can be used at an early stage of the FSM design to indicate the largest/smallest possible power consumption. Index Terms Switching activity, lower/upper bound, low power design, state assignment, Hamming distance, Markov models.

1. INTRODUCTION Excessive power consumption can have a variety of undesirable effects including increased heat dissipation, limited portability, and reduced reliability and system life-time [1]. In order to reduce power dissipation in sequential circuits, many research studies have aimed for state assignments that lead to reduced switching activity [2] – [10]. These works are based on the premise that the amount of switching on the state lines is best characterized by the Hamming distance between the codes assigned to consecutive states; this is motivated by 2 the fact that the average power dissipation for a CMOS logic gate can be approximated by P ave = 21 CL Vdd f

(where CL is the load capacitance, Vdd is the supply voltage, and f is the frequency of one-to-zero or zeroto-one transitions [1], [11]). Under this model, the average power dissipation is proportional to the average Hamming distance (i.e., the number of places at which encodings of consecutive states differ, averaged over the frequencies with which pairs of consecutive states appear during the operation of the system). Instead of focusing on state assignments that minimize switching activity, the focus of this paper is to obtain tight lower and upper bounds for the switching activity on the state lines of a given finite state machine (FSM). The bounds that we derive are independent of the state assignment and the actual implementation and, This material is based upon work supported in part by the National Science Foundation under NSF Career Award 0092696 and NSF ITR Award 0218939. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author and do not necessarily reflect the views of the NSF. Eleftheria Athanasopoulou and Christoforos N. Hadjicostis are with the Coordinated Science Laboratory and the Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, IL 61801-2307, USA (e-mail: {athanaso, chadjic}@uiuc.edu).

June 10, 2005

DRAFT

2

during early design stages, they can serve as indicators of the best/worst possible state assignments for a given sequential system. In particular, tight bounds can provide suitable targets for the state assignment algorithm. In previous work, lower and upper bounds were derived via information-theoretic approaches [12], [13], decision theoretic arguments [14], statistical techniques [15], or methods which consider the sensitivity of average power dissipation to primary input signal properties [16]. Our work builds on the work in [17] and provides tighter lower and upper bounds for the switching activity in FSMs. The specific contributions of this paper are as follows: i) we introduce the concepts of the distance matrix and the weight matrix and we use them to derive tight bounds on the average Hamming distance and, ii) by exploiting the symmetry properties of the distance matrix, we improve the bounds considerably (as shown in the experiments performed on FSM examples from the MCNC 91 benchmark suite). We also describe simple ways to bound the average Hamming distance obtained when using redundant encodings. 2. DISTANCE MATRIX AND PROPERTIES Consider a synchronous finite state machine (FSM) described by a set of states Q = {q i }1≤i≤N and a set of inputs X = {xk }1≤k≤M . In a circuit implementation of the FSM, each state will typically be assigned a minimal encoding with b bits (2b−1 < N ≤ 2b ) and the power consumption will depend on the number of switches (from 0 to 1 or 1 to 0) between consecutive encodings [1], [11]. If we know a priori the frequencies with which pairs of consecutive state transitions occur during the operation of the system, then in order to minimize power consumption we need to ensure that pairs of consecutive states that occur more frequently are assigned encodings with low Hamming distance.1 To perform this optimization, we need to know the frequencies of transitions between consecutive states. Commonly, these frequencies are extracted by simulating the FSM for typical input sequences. In some special cases, namely if the inputs to the FSM are chosen randomly with fixed probabilities (or with probabilities that depend only on the current state of the FSM), one can model the behavior of the FSM as a Markov chain and analytically calculate the transition frequencies between pairs of consecutive states [21]. For the purposes of this paper, we assume that the transition frequencies w ij , 0 ≤ i, j ≤ N , are known !N !N (wij denotes the frequency of transitioning from state i to state j, normalized so that i=1 j=1 wi,j = 1). We are now ready to introduce the notions of a distance matrix and a weight matrix, and use them to

obtain the average Hamming distance which is proportional to the switching activity and the overall power consumption of the system. Definition 1: Distance Matrix. For a given encoding of the states of an FSM, we define D = (d ij )1≤i,j≤N to be the distance matrix, with element dij representing the Hamming distance between the encodings assigned to states qi and qj . Every distance matrix D is symmetric (i.e., dij = dji ) and its diagonal elements are zero. When N = 2b " # and the state encoding is non-redundant, each row of the distance matrix has exactly bk elements with value equal to k. For instance, one possible non-redundant encoding for the states of an FSM with N = 8 states and 1 The

Hamming distance between two binary vectors of the same length is defined as the number of places in which these vectors differ

[20].

June 10, 2005

DRAFT

3

the resulting distance matrix D are shown below. State Code q1 001 q2 010 q3 011 q4 100 q5 101 q6 110 q7 111 q8 000

 02121321 2 0 1 2 3 1 2 1   1 1 0 3 2 2 1 2   2 2 3 0 1 1 2 1  D= 1 3 2 1 0 2 1 2   3 1 2 1 2 0 1 2   2 2 1 2 1 1 0 3 11212230 

Note that in each row of the distance matrix there is one element equal to 0, three elements equal to 1, three elements equal to 2 and one element equal to 3. Due to symmetry, the same property is satisfied by each column of the matrix. Notice that for a different choice of state encodings the distance matrix will be a permuted version of the above distance matrix. For example, if state q3 is assigned the code 100 and state q4 is assigned the code 011, the third and fourth columns, as well as third and fourth rows will be interchanged in the distance matrix. The end result will be as shown below. State Code q1 001 q2 010 q3 100 q4 011 q5 101 q6 110 q7 111 q8 000

 0 2211 3 2 1 2 0 2 1 3 1 2 1   2 2 0 3 1 1 2 1   1 1 3 0 2 2 1 2   D=  1 3 1 2 0 2 1 2 3 1 1 2 2 0 1 2   2 2 2 1 1 1 0 3 

1 1122 2 3 0

Definition 2: Weight Matrix. We define W = (wij )1≤i,j≤N to be the weight matrix, with element wij representing the frequency of making a transition from state qi to qj . In the Markov chain setting, the entries of the weight matrix can be computed from the steady state vector v and the steady state transition probabilities. As mentioned earlier, the weight matrix can also be calculated by simulating the system under typical input sequences. Note that by summing up the elements of the i th row of the weight matrix, we obtain the probability of taking a transition from state qi to any other state qj , 0 ≤ j ≤ N (which is equal to the frequency with which state qi is visited); if we sum the elements of the j th column of the weight matrix, we obtain the frequency of taking a transition from any state q i (0 ≤ i ≤ N ) to state qj . Definition 3: Average Hamming Distance. The average Hamming distance d¯ of a given FSM can be calculated as d¯ =

N * N *

wij dij ,

i=1 j=1

where wij is the element at the ith row, j th column position of the weight matrix W and dij is the corresponding element of the distance matrix D. Since the Hamming distance between different encodings is at least one, a simple however conservative !N !N lower bound on d¯ is given by d¯lower = i,j=1,i#=j wij = 1 − i=1 wii [13]. This lower bound is not always June 10, 2005

DRAFT

4

feasible, in fact it can only be accomplished when using redundant encodings. Note that, since (w ii )1≤i≤N do not contribute to the average Hamming distance, we can (and will) set them to zero without loss of generality. 3. LOWER AND UPPER BOUNDS ON FSM SWITCHING ACTIVITY In this section, we derive bounds on the average Hamming distance of a given FSM with non-redundant state encoding. From Definition 3 it follows that we can calculate the average Hamming distance by multiplying the distance matrix and the weight matrix element-wise, and consequently summing up the elements of the product matrix. The basic idea is to observe that, in order to minimize (maximize) the average Hamming distance, one has to choose the state encodings so that smaller (larger) Hamming distances are assigned to pairs of states for which the transition is more probable. Thus, a straightforward approach to derive lower (upper) bounds is via the following steps: 1) Sort in nonincreasing (nondecreasing) order the non-diagonal elements of each row of the weight matrix W (for the ith row we sort the probabilities of transition from qi to qj , 1 ≤ j ≤ N , j #= i) and create the sorted matrix Wlr (Wur ). Recall that the diagonal elements (wii )1≤i≤N have been set to zero. 2) Sort in nondecreasing (nonincreasing) order the non-diagonal elements of each row of the distance matrix D to get the sorted matrix Dlr (Dur ). Here we do not sort the diagonal element to preserve the property of the distance matrix that its diagonal elements are zero. For example, for N = 8, the D lr and Dur matrices are

 01112223 1 0 1 1 2 2 2 3   1 1 0 1 2 2 2 3   1 1 1 0 2 2 2 3  Dlr =  1 1 1 2 0 2 2 3 ,   1 1 1 2 2 0 2 3   1 1 1 2 2 2 0 3 11122230

 03333333 3 0 2 2 2 2 2 2   3 2 0 2 2 2 2 2   3 2 2 0 2 2 2 2  = 3 2 2 2 0 1 1 1 .   3 2 1 1 1 0 1 1   3 2 1 1 1 1 0 1 32111110 



Dur

Note that Dlr and Dur are the same as above for any 8 × 8 distance matrix D. 3) Perform element-by-element multiplication between Wlr (Wur ) and Dlr (Dur ), and sum up all elementwise products to obtain the lower (upper) bound Hlr (Hur ) Hlr =

N * N * i=1 j=1

wlr,ij × dlr,ij ,

Hur =

N * N *

wur,ij × dur,ij .

(1)

i=1 j=1

Assuming that sorting is done using an efficient sorting algorithm, the sorting of each column/row takes O(N log N ) operations so the complexity of this method is O(N 2 log N ), where N is the number of states of the FSM. Note that these theoretical bounds are not always feasible because there may not exist a state assignment for which the distances between the pairs of states match those described by Dlr for the lower bound or by Dur for the upper bound. The reason for this is the fact that in sorting the elements in the matrices we do not preserve the required symmetry properties. However, all appropriate state encodings of the FSM achieve an average Hamming distance that lies between the theoretical lower and upper bounds. Next we improve on these bounds by exploiting the symmetry properties of the distance matrix. Clearly, we can obtain different lower and upper bounds by following the three steps mentioned above but sorting rows June 10, 2005

DRAFT

5

instead of columns. More specifically, we can compute Wlc and Wuc (by sorting the non-diagonal elements of each column of the weight matrix), and Dlc and Duc (by sorting the non-diagonal elements of each column of the distance matrix). This results in the following bounds on the average Hamming distance: Hlc =

N * N *

wlc,ij × dlc,ij , Huc =

N * N *

wuc,ij × duc,ij .

(2)

i=1 j=1

i=1 j=1

These lower and upper bounds are different (possibly tighter) from the ones in (1) because matrix W is not necessarily symmetric. To further improve our bounds, we notice that by manipulating the definition of the average distance matrix, we can write d¯ =

N * N *

N

wij dij =

i=1 j=1

N

1 ** (wij + wji )dij , 2 i=1 j=i

because elements wij and wji of the weight matrix are multiplied by the same Hamming distance (due to the symmetry of the distance matrix). In fact, the symmetry of the distance matrix implies that we can follow the three-step procedure described above using instead of the weight matrix W, a modified weight matrix Z of the form Z = (zij )1≤i,j≤N ,

zij = λwij + (1 − λ)wji ,

where 0 ≤ λ ≤ 1. In such case we obtain the bounds ˜ lc = H

N * N *

˜ uc = zlc,ij × dlc,ij , H

N * N *

zlr,ij × dlr,ij ,

i=1 j=1

˜ lr = H

N * N *

zuc,ij × duc,ij ,

(3)

N * N *

zur,ij × dur,ij .

(4)

i=1 j=1

˜ ur = H

i=1 j=1

i=1 j=1

In fact, by letting λ take various values, we can obtain a class of lower (upper) bounds on the average Hamming distance. Clearly, the lower (upper) bound obtained by sorting the rows of Z and D and the lower (upper) bound obtained by sorting the columns of Z and D as a function of λ satisfy ˜ lc (λ) = H ˜ lr (1 − λ), H

˜ uc (λ) = H ˜ ur (1 − λ). H

(5)

˜ lc = Hlc , while for λ = 0, H ˜ lc = Hlr . Notice that for λ = 0.5, H ˜ lc = H ˜ lr and Apparently, for λ = 1, H ˜ uc = H ˜ ur (because the matrix Z becomes symmetric). H Remark: The lower (Hlr ) and upper (Hur ) bounds that we obtained in (1) are the same as those presented in Theorem 2 in [17]. Even though, the authors of [17] follow a completely different approach (that consists of first sorting the outgoing transition probabilities from each state, then computing the average Hamming distance from each state, and finally calculating a weighted sum on the average Hamming distance from each state) their bounds are the same as the ones in (1). Using the symmetry of the distance matrix, our approach allows us to obtain not only the bounds in (2) but also the bounds in (3) and (4), which can be optimized as functions of λ. As evidenced by our experiments in the next section these bounds can become significantly tighter for certain values of λ. In fact, we can further improve the bounds if we take into account the fact that λ can be chosen differently for each element of the Z matrix (i.e., zij = λij wij + (1 − λij )wji , where 0 ≤ λij ≤ 1). Thus, by using June 10, 2005

DRAFT

6

an appropriate λij for each element zij of Z we can make our bounds even tighter. In particular, one of the algorithms we have considered in order to improve our bounds uses a greedy approach to find good λ ij : for a given element zij of the Z matrix, the algorithm searches for the λij ∈ [0, 1] that makes the bounds tighter. The goal is to improve the bounds by finding the “best” λij , one element zij at a time (while keeping the rest of the elements constant). A more effective algorithm would be one that searches for all (or a dense subset of) the combinations of λij , 1 ≤ i, j ≤ N . However, the complexity of such algorithm would be high and an implementation for a large number of states would not be feasible. 4. EXPERIMENTAL RESULTS We compute lower and upper bounds on the average Hamming distance for FSMs described in the MCNC 91 benchmark suite [23] and compare our bounds to the ones in [17]. The specifications given in the MCNC 91 benchmark suite include the number of inputs (M ), the number of states (N ) and the transitions that are made under specific inputs. For simplicity, we assume a uniform probability distribution for the inputs and obtain the transition frequencies wij , 1 ≤ i, j ≤ N , analytically by extracting the state transition matrix for the Markov chain that corresponds to each FSM (see [21] for details on this procedure). We follow the approach described in Section 3 to obtain the lower and upper bounds. Note that in all cases we use minimal length encodings, i.e., we use the smallest number of bits needed to represent the given number of states. In Table I we list the TABLE I

FSM cse dk17 keyb planet sand scf tbk

M/N 27 /16 22 /8 27 /19 27 /48 211 /32 227 /121 26 /32

Hlr [17] 0.2275 0.8413 0.5489 0.9595 0.5098 0.7500 0.7428

Hur [17] Lower(λ) U pper(λ) 0.8176 0.2369 0.8152 2.1786 0.9047 2.0924 2.6017 0.5495 2.6011 5.6143 0.9595 5.2649 2.2833 0.5122 2.1343 5.0000 0.7559 4.9568 2.3597 0.7428 2.3597

Imp.(λ) Lower(λij ) U pper(λij ) Imp.(λij ) 2.00% 0.2369 0.8054 3.66% 11.19% 0.9047 2.0340 15.55% 0.06% 0.5495 2.5944 0.38% 7.51% 0.9595 5.2649 7.51% 8.54% 0.5284 2.1104 10.80% 1.16% 0.7559 4.9505 1.30% 0% 0.7950 2.3020 6.80%

lower and upper bounds obtained using the procedures developed in the previous section and compare them to the ones in [17] for a subset of the FSMs in the benchmark. More specifically, the first and second columns of the table show the name of the FSM and the number of inputs and states; the third and fourth columns depict the lower and upper bounds obtained by sorting the rows of W (i.e., the approach in [17]); the fifth and sixth columns illustrate the bounds obtained using the “best” λ, and the seventh column shows the improvement (percentage reduction in the difference between the lower and upper bounds) compared to the bounds H lr and Hur ; lastly, the bounds calculated using our greedy algorithm (to search for the optimal λ ij for each element of the Z matrix) are shown in the eighth and ninth columns respectively, and the improvement (compared to the ˜ uc (λ) and H ˜ lc (λ) as functions bounds Hlr and Hur ) is shown in the tenth column. Fig. 1 is a typical plot of H of λ; this particular example is for dk17. We see that the best lower bound (0.9047) is obtained for λ ≈ 0.5 whereas the best upper bound (2.0924) is obtained for λ ≈ 0.4. The improvement compared to the bounds H lr and Hlc [17] which in the figure correspond to those shown for λ = 0 is obvious. More generally, we see an improvement of up to 15% over the bounds in [17]. June 10, 2005

DRAFT

7 Average Hamming distance

Upper bound

2.3 2.2 2.1 2

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0

0.1

0.2

0.3

0.4

0.5 lambda

0.6

0.7

0.8

0.9

1

Lower bound

0.95 0.9 0.85

Lower & Upper bounds

0.8

Fig. 1.

2.5 2 1.5 1 0.5

Bounds on average Hamming distance, as a function of λ, for FSM dk17. TABLE II

FSM cse dk17 keyb planet sand scf tbk

M/N Average Hamming Distance 27 /16 0.3543 22 /8 1.1404 27 /19 0.8294 27 /48 1.9325 211 /32 0.9999 227 /121 1.1500 26 /32 1.5924

In order to check the validity of our bounds for the FSM examples of the MCNC 91 benchmark suite, we also compute the actual average Hamming distance for a given state encoding. More specifically, we assign to states an encoding that corresponds to the binary representation of the index of each state and calculate the actual average Hamming distance for each circuit. In Table II the first and second columns show the name and the number of inputs and states of the FSM and the third column depicts the average Hamming distance obtained. As expected the actual Hamming distance is always a value between the lower and upper bounds in Table I. 5. FURTHER DISCUSSION In Section 3 we obtained lower and upper bounds on the average Hamming distance based on minimal length state encodings, i.e., for N states we used b bits where 2b−1 < N ≤ 2b . In particular, the upper bound we obtained is associated with the worst (possible infeasible) state assignment that results in the largest possible June 10, 2005

DRAFT

8

switching activity in the system. In this section we analyze how the upper bound can be decreased by adding redundant bits in the state encoding; we also discuss examples from the MCNC 91 benchmark suite. Let b be the number of bits needed for the minimal length encoding and let r be the number of redundant bits, so that k = b + r is the total number of bits used in the state encoding. Clearly, we only need to choose N out of 2 k possible encodings. Note that if we are not careful in making the choice of encodings, the Hamming distance between any two states could be as large as k > b, i.e., the upper bound could potentially increase. This is the case, for example, with the approach in [17]. The approach we describe in this section essentially allows to decrease this upper bound on the average Hamming distance. Proposition 1: Let d be the smallest integer that satisfies N ≤ assigned so that the maximum Hamming distance is 2d.

!d

k i=0 i

" #

. Then, the state encodings can be

Proof: Our state assignment algorithm can use state encodings with exactly 0, 1, 2, ... or d “1’s” (because "k # i=0 i ≥ N ). Therefore, if we assign the all zero encoding to some state q s ∈ Q, then for any two states

!d

qi and qj we have dsi ≤ d and dsj ≤ d. Clearly, we have dij ≤ dis + dsj ⇒ dij ≤ d + d = 2d, which proves the proposition. We can now find the solution to the following problem: suppose that the specifications of the design require an average Hamming distance that is smaller than d$ and cannot be guaranteed if we use a minimal length !d! /2 " # encoding (with b bits); then by adding r redundant bits so that i=0 b+r ≥ N, we are guaranteed to be able i to satisfy the design requirement.

TABLE III

FSM planet scf scf

M/N 27 /48 227 /121 227 /121

b 6 7 7

r 4 2 8

d! 4 5 4

Hred,uc 3.8313 4.5000 3.0000

Huc 5.2649 4.9505 4.9505

Imp. 27.23% 9.10% 39.40%

Table III depicts examples of machines from the MCNC 91 benchmark suite for which we used r redundant bits to achieve a tighter upper bound. More specifically, the first two columns list the name of the FSM and the number of inputs and states; the next three columns depict the number of bits needed for minimal length encoding (b) and the number of redundant bits (r) used to achieve average Hamming distance smaller than d$ ; the sixth column shows the upper bound obtained for the redundant encoding; for comparison purposes, the upper bound achieved by the minimal length encoding (as computed in Section 3) and the percentage improvement are shown on the seventh and eighth column respectively. For the FSM scf, the Hamming distance between two states could be as large as 7; if we require d $ = 5, then we need to use 2 redundant bits and we achieve Hred,uc = 4.5000 (note that if we calculated the non-redundant Huc a priori we would get 4.9505 which is less than 5); if we require d$ = 4, then we need to use 8 redundant bits resulting in Hred,uc = 3.0000. Our discussion so far has assumed that power consumption in an FSM is decreased by reducing the switching activity. As technology scales to the deep sub-micron dimensions, however, a significant fraction of the overall

June 10, 2005

DRAFT

9

energy is consumed on driving long wires and one needs to take into account the distributed nature of the lines and the interwire parasitic capacitances. The authors of [22], for example, provided a closed form solution for the energy dissipation of a data bus. To treat such cases using our approach, we need to modify the distance matrix accordingly. More specifically, to apply the approach described in Section 3, we need to replace the distance matrix D with a different cost matrix C as in [22]. Each element of the cost matrix C represents the energy consumed by the drivers during a transition and only depends on the initial and final state encodings. After replacing D with C, the lower and upper bounds can be derived following the three-step procedure in Section 3. One issue here is that the cost function is not symmetric; therefore one cannot use the modified version of the weight matrix Z. Nevertheless, we can still obtain the lower and upper bounds for λ = 0 and for λ = 1 as a function of µ = cI /cL (this technology dependent ratio was defined in [22]). 6. CONCLUSIONS In this paper we derived lower and upper bounds for the switching activity on the state lines of a given FSM which is proportional to the average power dissipation. We introduced the notions of a distance matrix and a weight matrix and exploited the symmetry of the Hamming distance matrix to obtain tight bounds on the average Hamming distance between encodings of consecutive states. As evidenced by our experimental results, our approach significantly improves existing bounds (e.g., the ones in [17]). Furthermore, we analyzed how the highest possible power dissipation (upper bound) can be decreased by using redundant encodings and showed that our approach for obtaining lower and upper bounds on the switching activity is applicable to other models for power dissipation in a data bus. Since switching activity is directly related to overall power consumption, these lower and upper bounds can be used at an early state of the synthesis procedure to indicate which state assignments may result in a sufficiently good overall performance or if redundant bits need to be used to decrease the power consumption. In fact, if the gap between the lower and upper bounds is small, then the choice of particular state encodings for the FSM will not significantly affect the overall power consumption. R EFERENCES [1] A. Ghosh, S. Devadas, K. Keutzer and J. White, “Estimation of average switching activity in combinational and sequential circuits,” in Proc. ACM/IEEE Design Automation Conf., pp. 253–259, 1992. [2] K. Roy and S. C. Prasad, “Syclop: Synthesis of CMOS logic for low power applications,” in Proc. Int. Conf. Computer Design, pp. 464–467, 1992. [3] L. Benini and G. De Micheli, “State assignment for low power dissipation,” IEEE J. Solid-State Circuits, vol. 30, no. 3, pp. 258–268, March 1995. [4] C. Y. Tsui, M. Pedram, C. Chen and A. M. Despain, “Low power state assignment targeting two- and multi-level logic implementations,” in Proc. ACM/IEEE Int. Conf. Computer-Aided Design, pp. 82–87, 1994. [5] E. Olson and S. M. Kang, “State assignment for low-power FSM synthesis using genetic local search,” in Proc. IEEE Custom Integrated Circuits Conf., pp. 140–143, 1994. [6] D. Chen, M. Sarrafzadeh and G. K. H. Yeap, “State encoding of finite state machines for low power design,” in Proc. IEEE Int. Symp. Circuits and Systems, vol. 3, pp. 2309–2312, 1995. [7] P. Bacchetta, L. Daldoss, S. Sciuto and C. Silvano, “Low-power state assignment techniques for FSMs,” in Proc. IEEE Int. Symp. Circuits and Systems, vol. II, pp. 641–644, 2000. [8] M. Shieh, W. Ju and M. Sheu, “Low-power state assignment for asynchronous FSMs,” in Proc. IEEE Midwest Symp. Circuits and Systems, vol. 3, pp. 1325–1328, 1996. June 10, 2005

DRAFT

10

[9] T. Her, W. K. Tsai, F. Kurdahi and Y. Chen, “Low-power driven state assignment of FSMs,” in Proc. IEEE Asia-Pacific Conf. Circuits and Systems, pp. 454–459, 1997. [10] G. D. Hachtel, M. Hermida, A. Pardo, M. Poncino and F. Somenzi, “Re-encoding sequential circuits to reduce power dissipation,” IEEE Trans. Computer-Aided Design, pp. 70–73, Nov. 1994. [11] F. N. Najm, “Transition density: a new measure of activity in digital circuits,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 12, pp. 310–323, Feb. 1993. [12] S. Ramprasad, N. R. Shanbhag and I. N. Hajj, “Achievable bounds on signal transition activity,” in Proc. ACM/IEEE Int. Conf. Computer-Aided Design, pp. 126–131, 1997. [13] A. Tyagi, “Entropic bounds on finite state machine switching,” IEEE Trans. VLSI Systems, vol. 5, pp. 323–328, Dec. 1997. [14] V. Krishna, R. Chandramouli, and N. Ranganathan, “Computation of lower and upper bounds for switching activity: a unified approach,” in Proc. Eleventh Int. Conf. on VLSI Design, pp. 230–233, 1998. [15] L. P. Yuan, C. C. Teng. and S. M. Kang, “Statistical estimation of average power dissipation using nonparametric techniques,” in IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 6, no. 1, pp. 65–73, March 1998. [16] Z. Chen, K. Roy, and T. L. Chou, “Power sensitivity - a new method to estimate power dissipation considering uncertain specifications of primary inputs,” in Proc. IEEE/ACM Int. Conf. Computer-Aided Design, pp. 40–44, 1997. [17] D. Marculescu, R. Marculescu and M. Pedram, “Theoretical bounds for switching acrivity analysis in finite-state machines,” IEEE Trans. VLSI Systems, vol. 8, no. 3, pp. 335–339, June 2000. [18] J. G. Kemeny, J. L. Snell and A. W. Knapp, “Denumerable Markov Chains,” Springer-Verlag, New York, second edition, 1976. [19] G. Hachtel, E. Macii, A. Pardo and F. Somenzi, “Markovian analysis of large finite state machines,” IEEE Trans. Computer-Aided Design, vol. 15, pp. 1479–1493, Dec. 1996. [20] S. B. Wicker, “Error control systems for digital communication and storage,” Prentice Hall, New Jersey, 1995. [21] E. Athanasopoulou and C. N. Hadjicostis, “Upper and lower bounds on FSM switching activity,” in Proc. IEEE Int. Conf. on Circuits and Systems, vol. 5, pp. 417–420, May 2003. [22] P. P. Sotiriadis and A. Chandrakasan, “Bus energy reduction by transition pattern coding using a detailed deep submicrometer bus model,” in IEEE Trans. Circuits and Systems, vol. 50, no. 10, pp. 1280–1295, Oct. 2003. [23] MCNC 91 benchmark suite. [Online]. Available: http

:

//www.cbl.ncsu.edu/pub/Benchmark dirs/LGSynth91/

f smexamples.

June 10, 2005

DRAFT