US5515292A - Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations - Google Patents

Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations Download PDF

Info

Publication number
US5515292A
US5515292A US08/129,816 US12981693A US5515292A US 5515292 A US5515292 A US 5515292A US 12981693 A US12981693 A US 12981693A US 5515292 A US5515292 A US 5515292A
Authority
US
United States
Prior art keywords
state
assignment
sub
transition
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/129,816
Inventor
Kaushik Roy
Sharat Prasad
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US08/129,816 priority Critical patent/US5515292A/en
Assigned to TEXAS INSTRUMENTS INCORPORATED reassignment TEXAS INSTRUMENTS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PRASAD, SHARAT
Assigned to TEXAS INSTRUMENTS INCORPORATED reassignment TEXAS INSTRUMENTS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ROY, KAUSHIK
Assigned to TEXAS INSTRUMENTS INCORPORATED reassignment TEXAS INSTRUMENTS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PRASAD, SHARAT, ROY, KAUSHIK
Application granted granted Critical
Publication of US5515292A publication Critical patent/US5515292A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Definitions

  • This invention generally relates to finite state machine (FSM) synthesis and more specifically to circuit activity driven state assignment of FSMs for low power reliable operations.
  • FSM finite state machine
  • Finite state machine (FSM) and combinational logic synthesis have been conventionally targeted to reducing the area and the critical path delay. Recently, testability has also been considered.
  • power dissipation considerations have received little attention.
  • the minimization of power in CMOS circuits is of extreme importance, especially for portable operations.
  • Power dissipation in CMOS circuits has traditionally been minimized by scaling down the supply voltage.
  • the supply voltage is scaled down, the circuit performance becomes slower.
  • the slower performance can be compensated for by using scaled down device features, but several other effects such as dominant interconnect capacitance becomes very important. Accordingly, there is a need for FSM synthesis that also minimizes power dissipation.
  • a method for optimizing a circuit containing a finite state machine is disclosed. The method is based on the concept of choosing a state assignment for each state of the FSM such that transition density is minimized.
  • a first state assignment is assigned for each state.
  • a first transition density characteristic associated with the first state assignment is determined and a second state assignment, different from said first state assignment is assigned for each state.
  • a second transition density characteristic associated with the second state assignment is then determined and the first state assignment is set equal to the second state assignment if second transition density characteristic is less than a predetermined amount. The process is repeated until the transition density has been minimized.
  • An advantage of the invention is providing FSM synthesis that minimizes power dissipation.
  • Another advantage of the invention is providing FSM synthesis that minimizes transition density.
  • FIG. 1 is a generic block diagram of circuits that may be optimized according to the preferred embodiment of the invention
  • FIG. 2 is a Probabilistic State Transition Graph of a set of nodes to be optimized according to the preferred embodiment of the invention
  • FIG. 3 is a block diagram showing the propagation of transition densities through basic circuit gates
  • FIG. 4 is a flow diagram of the preferred embodiment of the invention.
  • FIG. 5 is an example state machine on which the preferred embodiment of the invention may be practiced
  • FIG. 5a is a table of coding examples for the state machine of FIG. 5.
  • FIG. 6 is a graph of a spice simulation showing the results of optimization according to the preferred embodiment of the invention.
  • CMOS circuit power is dissipated only when there is a transition (a ZERO to ONE or ONE to ZERO in logic value) at the output of a gate and is given by ##EQU1## where C is the capacitive bad and f denotes the frequency of operation with a supply voltage of V DD .
  • f can be expressed in terms of ##EQU2## where n x is the number of transitions at node x in time ##EQU3## Frequency, f in this situation is defined as transition density. Transition density is a measure of the average switching rate at any node of a circuit.
  • transition densities at any node of a multilevel circuit can be obtained by logic simulation.
  • the rate at which node transition occurs is also a measure of the stress that can cause failures in digital circuits.
  • the circuits synthesized using transition density measure are less susceptible to run time failures.
  • the synthesis process of the preferential embodiment consists of two parts: state assignment which determines the combinational logic function, and multilevel optimization of the combinational logic based on transition density measure.
  • the state assignment scheme considers the likelihood of state transitions--the probability of a state transition (from state S 1 to state S 2 ) when the primary input signal probabilities are given. An input signal probability is given by the fraction of time a logical ONE appears at that input.
  • the state assignment minimizes the total number of transitions occurring at the v inputs (or the present state inputs) of the state machine shown in FIG. 1.
  • Multilevel combinational logic is synthesized from two-level expressions by a factorization scheme which tries to minimize area while at the same time trying to reduce the transition densities at the internal nodes of the circuit.
  • the optimization process is iterative. During each iteration, the best sub-expression from among all promising common sub-expressions, is selected. The activity number is based on both area and power savings. The selected sub-expression is factored out of all affected expressions. The iteration is continued until no further savings can be realized.
  • the synthesis technique can handle input signal probabilities and transition densities, and hence, a particular circuit can be optimally synthesized in different ways suited for different applications requiring different types of inputs.
  • FSMs Finite state machines
  • PSTGs Probabilistic State Transition Graphs
  • a PSTG is shown in FIG. 2.
  • PSTGs are directed graphs consisting of a set of nodes S and a set of edges E.
  • Each node S i ⁇ S represents a state of the FSM.
  • each edge is associated with a label L ij which carries information on the values of primary inputs that caused the transition and the value of the primary outputs corresponding to the state transition.
  • Each edge is also associated with a number p ij , 0 ⁇ p ij ⁇ 1, which denotes the conditional probability of a state transition from state S i to S j , given that the state machine is at state S i , and is directly related to the signal probabilities of the primary input nodes.
  • the cardinality of set S, N s gives the total number of states in the machine.
  • the number of primary inputs and primary outputs are denoted by N I and N O respectively.
  • Completely specified FSMs are used.
  • the state assignment problem involves assigning unique Boolean numbers of same length to different states of an FSM so as to satisfy some given criteria. Given a state assignment, the Hamming distance between any two states S i and S j is given by
  • H(S i , S j ) denotes the total number of bits that states S i and S j differ in. For example, if S 1 was assigned the value "010" and S 2 was assigned the value "011", H(S 1 ,S 2 ) would equal 1.
  • the signal probability of signal g is given by: ##EQU5##
  • P(g) is a measure of the probability that signal g assumes a logic value of ONE.
  • transition density is formally defined as follows: ##EQU6## where n g (t) is the number of transitions of g(t) in the time interval between ##EQU7## D(g) has the unit of the number of transitions per unit time. Transition density is a measure of activity in a digital circuit. Therefore, it is related to reliability. Hence, the circuits realized to reduce transition density measure may be more reliable.
  • Logic module M is a multi-input, multi-output logic module which implements a Boolean function.
  • M can be a single logic gate or a higher level circuit block.
  • the inputs to M, g 1 , g 2 , . . . g n are mutually independent companion processes each having a signal probability of P(g i ), and a transition density of D(g i ), i ⁇ n.
  • the signal probability at the output can be easily computed using methods well known in the art.
  • FIG. 3 shows the propagation of transition density through AND, OR, and NOT gates.
  • the signal probabilities and the transition densities at the primary inputs to a circuit are usually available.
  • the state encoding scheme uses the likelihood of state transition information. Accordingly, the state transition probability, P ij , for each possible state transition must be determined (Step 1).
  • the likelihood of state transition from state S 1 to S 2 is the maximum.
  • p ij and L ij respectively denote the conditional state transition probability (given that the FSM is in state S i ,p ij is the probability that the next state is S j ) and the label associated with an edge S i -S j of a PSTG with N I primary inputs each having a signal probability of P x ,x ⁇ N I .
  • Each primary input x in L ij which causes the state transition to occur, can assume a logic value value(x), from the set ⁇ 1,0,- ⁇ , where ⁇ - ⁇ represents the don't care condition.
  • N s states the minimum number of flip-flops required for coding is log 2 N s !. It should be noted that if one-hot coding with N s flip-flops are used, the Hamming distance between any two states are always 2, and hence, an optimum assignment to minimize the number of switching at the present state inputs might not be obtainable. Be sides, one-hot coding also increases the number of present state inputs to the combinational logic of FIG. 1. The average number of switching at the present state inputs to a state machine can be minimized if the state assignment scheme is such that the following activity number is minimized: ##EQU12## The above function represents the summation of all Hamming distances between two adjacent states weighted by the state transition probability. The higher the state transition probability between two states, the lower should be the Hamming distance between those two states.
  • Step 2 a random assignment of states with the prescribed number of bits is chosen (Step 2).
  • the activity number ⁇ may be determined for the random assignment (Step 3).
  • Two types of moves are allowed during annealing to create a new assignment possibility (Step 4): interchange the codes of two states, or assign an unassigned code to the state which is randomly picked for exchange.
  • the activity number ⁇ may then be determined for the new assignment possibility (Step 5).
  • the move is accepted (Step 6) if the new assignment decreases ⁇ .
  • FIG. 5 shows a state machine which produces an output of ONE whenever a sequence of five ONEs appear, else it outputs a ZERO.
  • the machine was implemented using three D type flip-flops using the two assignment schemes shown in the table.
  • the input signal probability is assumed to be 0.5, and hence, each edge of the state transition graph has a state transition probability of 0.5.
  • For Coding 1, ⁇ , is 10, whereas, for Coding 2, ⁇ is 5.5.
  • the machines can be implemented using 34 transistors and 3 flip-flops and 36 transistors and 3 flip-flops respectively.
  • SPICE with random inputs show that the time average power dissipated with the first encoding is more than the second one.
  • State assignment determines the functionality of combinational logic.
  • the combinational logic is represented by F(I, V), where I is the set of primary inputs, and V represents the present state inputs (refer to FIG. 1).
  • the signal probabilities and transition densities are given for each input i k ⁇ I.
  • the signal probabilities and transition densities for the V inputs have to be determined in order to synthesize multi-level combinational logic based on power dissipation measure.
  • the V inputs are the same as U outputs, but delayed by a clock period.
  • the signal probabilities and the transition densities of V inputs are equal to the corresponding values for the U outputs.
  • the state machine is simulated with different inputs to determine the signal probabilities and transition densities at the present state inputs.
  • the simulation proceeds as follows. Primary input signals are randomly generated such that the signal probabilities and transition densities conform to given distribution.
  • the state machine is simulated to determine the percentage of time bit v j of the state machine has a logical value of ONE. Similarly, the number of transitions occurring at bit v j of the machine is also determined. The number of transitions divided by the total number of simulations gives transition density at input D(v j ). The unit of D(v j ) is transitions per clock period.
  • the simulations can be carried out very fast because of the way the primary input signals are generated.
  • the multi-level combinational logic is synthesized.
  • the multilevel logic is optimized for both area and power as described in co-pending U.S. patent application Ser. No. 08/018,984 filed Feb. 18, 1993, assigned to TI and hereby incorporated by reference.
  • the combinational logic synthesis finds multiple cube common divisors or single cube common divisors among two or more nodes.
  • a set of kernels are computed for each logic expression. Then the non-trivial intersection among kernels from different functions are formed. While choosing the best intersection, both the reduction in literal count and the reduction in power dissipation measure ⁇ that will occur if we choose that factor are considered.
  • Both level 0 and higher level kernels are generated. The best N kernel intersections on the basis of literal count reduction are chosen, and among them the one which gives the best trade-off between area and power reduction is selected.
  • the reduction in the power dissipation measure ⁇ is also calculated.
  • the best factor is chosen by using a saving function S.
  • S For the calculation of the reduction in ⁇ , one implementation would involve putting the factor as a node in the network, subsequently dividing all the nodes for which this new node can be a factor, then calculating ⁇ , and finally removing the node from the network along with all its effect on the network.
  • Choosing the best factor out of N choices using the above method may be expensive from computational point of view.
  • the power dissipation due to transitions at circuit node local to the factor under consideration are computed. This value is used to compute a power savings ⁇ similar to the area savings ⁇ A.
  • the synthesis problem is broken up into two parts--the state assignment problem where the activity number ⁇ is minimized so as to reduce the transition densities at the present state inputs V, and the multilevel combinational logic synthesis proc2ess based on power dissipation measure and area.
  • the state assignment and the subsequent logic synthesis process can get greatly affected if the primary input signal probabilities and transition densities are altered.
  • Table 1 shows the results of the state assignment scheme according to the preferred embodiment on the MCNC benchmark examples.
  • the number of states, primary inputs, primary outputs, and the number of edges in the state transition graph are shown in the Table.
  • For all primary inputs a signal probability of 0.5 and a transition density of 0.5 transition per clock cycle were assumed. It should be noted that a different state assignment will be obtained if the input signal probabilities are changed.
  • the state machines were experimented with the .left brkt-top.log 2 S.right brkt-top. state bits, which is the minimum number of bits required to code the state machine.
  • the signal probabilities and transition densities at the V inputs to the combinational logic to be used in the multilevel synthesis are determined after state assignment using simulation. 10,000 randomly generated primary inputs (conforming to a given distribution) were simulated. Table 2 shows the results of applying the synthesis algorithm or the preferred embodiment to the MCNC benchmark examples of Table 1. Two types of circuits were synthesized for comparisons. The second and the third column shows the transistor count and the power dissipation measure ⁇ of the circuits synthesized using the state encoding scheme which produces an activity number of ⁇ min . Similar results for circuits encoded with states which produced ⁇ max as activity number are shown next for comparison. In both cases, the combinational logic was synthesized to minimize power dissipation measure.
  • FIG. 5 The example state machine of FIG. 5 which outputs a ONE only when a sequence of five ONES appear at the input was synthesized using the two encodings shown in the Figure. Input signal probability of 0.5 and a transition density of 0.5 transitions per unit clock period was assumed. With the same inputs, and 0.8 micron technology the two machines were simulated with 1000 inputs using SPICE. FIG. 6 shows time average power for the two machines. Coding 1 for which ⁇ is higher produced more power dissipation than the one with lower ⁇ .
  • the synthesis system of the preferred embodiment has been developed to synthesize both finite state machines and combinational logic for low power applications. It tries to minimize the transition density at the internal nodes of a circuit to minimize power dissipation during normal operation.
  • a particular circuit can be synthesized in different ways for different applications which require different types of inputs.
  • simulation was used to determine the signal probabilities and transition densities. log 2 S! number of bits were used for state assignment.
  • the invention is not limited by the number of bits used for state assignment.
  • the multilevel optimization process extracts kernels such that there is a balance between area and power optimization.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

A method for optimizing a circuit containing a finite state machine (FSM) based on transition density. A first state assignment is assigned for each state. Then, a first transition density characteristic associated with the first state assignment is determined and a second state assignment, different from said first state assignment is assigned for each state. A second transition density characteristic associated with the second state assignment is then determined and the first state assignment is set equal to the second state assignment if second transition density characteristic is less than a predetermined amount. The process is repeated until the transition density has been minimized.

Description

FIELD OF THE INVENTION
This invention generally relates to finite state machine (FSM) synthesis and more specifically to circuit activity driven state assignment of FSMs for low power reliable operations.
BACKGROUND OF THE INVENTION
Finite state machine (FSM) and combinational logic synthesis have been conventionally targeted to reducing the area and the critical path delay. Recently, testability has also been considered. However, power dissipation considerations have received little attention. The minimization of power in CMOS circuits is of extreme importance, especially for portable operations. As the number of devices on a chip increases, the heat dissipation requirements can become prohibitively large. Power dissipation in CMOS circuits has traditionally been minimized by scaling down the supply voltage. However, when the supply voltage is scaled down, the circuit performance becomes slower. The slower performance can be compensated for by using scaled down device features, but several other effects such as dominant interconnect capacitance becomes very important. Accordingly, there is a need for FSM synthesis that also minimizes power dissipation.
SUMMARY OF THE INVENTION
A method for optimizing a circuit containing a finite state machine (FSM) is disclosed. The method is based on the concept of choosing a state assignment for each state of the FSM such that transition density is minimized. In one embodiment, a first state assignment is assigned for each state. Then, a first transition density characteristic associated with the first state assignment is determined and a second state assignment, different from said first state assignment is assigned for each state. A second transition density characteristic associated with the second state assignment is then determined and the first state assignment is set equal to the second state assignment if second transition density characteristic is less than a predetermined amount. The process is repeated until the transition density has been minimized.
An advantage of the invention is providing FSM synthesis that minimizes power dissipation.
Another advantage of the invention is providing FSM synthesis that minimizes transition density.
BRIEF DESCRIPTION OF THE DRAWINGS
In the drawings:
FIG. 1 is a generic block diagram of circuits that may be optimized according to the preferred embodiment of the invention;
FIG. 2 is a Probabilistic State Transition Graph of a set of nodes to be optimized according to the preferred embodiment of the invention;
FIG. 3 is a block diagram showing the propagation of transition densities through basic circuit gates;
FIG. 4 is a flow diagram of the preferred embodiment of the invention;
FIG. 5 is an example state machine on which the preferred embodiment of the invention may be practiced;
FIG. 5a is a table of coding examples for the state machine of FIG. 5; and
FIG. 6 is a graph of a spice simulation showing the results of optimization according to the preferred embodiment of the invention.
Corresponding numerals and symbols in the different figures refer to corresponding parts unless otherwise indicated.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In a CMOS circuit, power is dissipated only when there is a transition (a ZERO to ONE or ONE to ZERO in logic value) at the output of a gate and is given by ##EQU1## where C is the capacitive bad and f denotes the frequency of operation with a supply voltage of VDD. However, frequency is not well-defined for non-periodic signals. Hence, f can be expressed in terms of ##EQU2## where nx is the number of transitions at node x in time ##EQU3## Frequency, f in this situation is defined as transition density. Transition density is a measure of the average switching rate at any node of a circuit. Given the input signal transition probabilities, accurate transition densities at any node of a multilevel circuit can be obtained by logic simulation. The rate at which node transition occurs is also a measure of the stress that can cause failures in digital circuits. Hence, the circuits synthesized using transition density measure are less susceptible to run time failures.
The synthesis process of the preferential embodiment consists of two parts: state assignment which determines the combinational logic function, and multilevel optimization of the combinational logic based on transition density measure. The state assignment scheme considers the likelihood of state transitions--the probability of a state transition (from state S1 to state S2) when the primary input signal probabilities are given. An input signal probability is given by the fraction of time a logical ONE appears at that input. The state assignment minimizes the total number of transitions occurring at the v inputs (or the present state inputs) of the state machine shown in FIG. 1. Multilevel combinational logic is synthesized from two-level expressions by a factorization scheme which tries to minimize area while at the same time trying to reduce the transition densities at the internal nodes of the circuit. The optimization process is iterative. During each iteration, the best sub-expression from among all promising common sub-expressions, is selected. The activity number is based on both area and power savings. The selected sub-expression is factored out of all affected expressions. The iteration is continued until no further savings can be realized. The synthesis technique can handle input signal probabilities and transition densities, and hence, a particular circuit can be optimally synthesized in different ways suited for different applications requiring different types of inputs.
Finite state machines (FSMs) may be represented by Probabilistic State Transition Graphs (PSTGs). A PSTG is shown in FIG. 2. PSTGs are directed graphs consisting of a set of nodes S and a set of edges E. Each node Si εS represents a state of the FSM. There is a directed edge Si -Sj between nodes Si and Sj if there exits a set of inputs I, which when applied to the machine at state Si produces a transition from state Si to state Sj with output O. Hence, each edge is associated with a label Lij which carries information on the values of primary inputs that caused the transition and the value of the primary outputs corresponding to the state transition. Each edge is also associated with a number pij, 0≦pij ≦1, which denotes the conditional probability of a state transition from state Si to Sj, given that the state machine is at state Si, and is directly related to the signal probabilities of the primary input nodes. The cardinality of set S, Ns, gives the total number of states in the machine. The number of primary inputs and primary outputs are denoted by NI and NO respectively. Completely specified FSMs are used. Hence, if there are k outgoing edges from node Sj, each associated with a probability of Pjm, m≦k, then ##EQU4## If a machine is incompletely specified, then it may be completely specified by introducing a self loop at each state Sj corresponding to the don't care inputs to that state. FIG. 2 shows a state machine with five states where state S1 has three outgoing edges each associated with a transition probability such that p12 +p13 +p14 =1. For node S3, p33 +p35 +p36 =1.
The state assignment problem involves assigning unique Boolean numbers of same length to different states of an FSM so as to satisfy some given criteria. Given a state assignment, the Hamming distance between any two states Si and Sj is given by
H(S.sub.i, S.sub.j)=J(S.sub.i ⊕S.sub.j)
where ⊕ represents the Exclusive Or operation. The function J (x) determines the number of ONEs in boolean representation of number x. In other words, H(Si, Sj) denotes the total number of bits that states Si and Sj differ in. For example, if S1 was assigned the value "010" and S2 was assigned the value "011", H(S1,S2) would equal 1.
The signal probability of signal g is given by: ##EQU5## In other words, P(g) is a measure of the probability that signal g assumes a logic value of ONE.
The switching rate at a node is given by transition density which is formally defined as follows: ##EQU6## where ng (t) is the number of transitions of g(t) in the time interval between ##EQU7## D(g) has the unit of the number of transitions per unit time. Transition density is a measure of activity in a digital circuit. Therefore, it is related to reliability. Hence, the circuits realized to reduce transition density measure may be more reliable.
Logic module M is a multi-input, multi-output logic module which implements a Boolean function. M can be a single logic gate or a higher level circuit block. The inputs to M, g1, g2, . . . gn are mutually independent companion processes each having a signal probability of P(gi), and a transition density of D(gi), i≦n. The signal probability at the output can be easily computed using methods well known in the art. For example, if P1, P2, and P3, are the input signal probabilities to a three input AND gate, the output signal probability is given by P1 P2 P3, whereas, for an OR gate the output signal probability is 1-(1-P1)(1-P2)(1-P3). For an inverter, the output signal probability is simply (1-(1-P1), where P1 is the input signal probability. The transition density at any output hj, of M is given by ##EQU8## where B(hj,gi) represents the Boolean difference of hj with respect to gi. If y is a Boolean function of x, then B(y,x) is given by
B(y,x)==y|.sub.x=0 ⊕y|.sub.x=1 =y(x)⊕y(.sub.x.sup.-)
FIG. 3 shows the propagation of transition density through AND, OR, and NOT gates. The signal probabilities and the transition densities at the primary inputs to a circuit are usually available.
From the above discussions it is clear that the average power dissipation in a CMOS circuit can be written as ##EQU9## summing over all circuit nodes gi. During multilevel logic synthesis process, the capacitive load Ci at each node of a circuit is approximated by the fanout factor at that node. Power dissipation measure Φ is defined as ##EQU10## where R is the set of all input and internal nodes, and fanouti is the number of fanouts at node i. VDD is assumed to be constant for all circuits, and hence, under consideration Φ is proportional to the average power dissipated in the circuit.
Referring to FIG. 4, the problem of encoding of states of synchronous sequential machines based on input signal probabilities and transition densities will now be discussed. The state encoding scheme uses the likelihood of state transition information. Accordingly, the state transition probability, Pij, for each possible state transition must be determined (Step 1). Referring to FIG. 2, state S1 has three outgoing and three incoming edges. Assume that p12 is much greater than both p13 and p14. It is clear that p51 =p61 =p21 =1, because there is one outgoing edge from each of the states S5, S6 and S2, and the machine is assumed to be completely specified. Hence, the likelihood of state transition from state S1 to S2, or vice versa, is the maximum. Therefore, states S1 and S2 should be assigned codes such that there are minimum number of transitions between these two states, i.e. H(S1,S2) should be minimum. For example, if state S1 is assigned a four bit code of `0000° and state S2 is assigned a four bit code of `1000`, then H(S1,S2)=1. When there is a transition from S1 to S2, only one flip-flop of FIG. 1 will undergo transition from a logic value of 0 to 1. However, if S2 is assigned a code of `1111` instead of `0000`, then H(S1,S2)=4 and all the four flip-flops will undergo a transition from 0 to 1.
Let pij and Lij respectively denote the conditional state transition probability (given that the FSM is in state Si,pij is the probability that the next state is Sj) and the label associated with an edge Si -Sj of a PSTG with NI primary inputs each having a signal probability of Px,x≦NI. Each primary input x in Lij, which causes the state transition to occur, can assume a logic value value(x), from the set {1,0,-}, where `-` represents the don't care condition. Px is the probability that value(x)=1. Hence, (1-Px) denotes the probability that value(x)=0. The condition, value(x)=`-` obviously occurs with a probability of 1. Therefore, the state transition probability pij is given by ##EQU11## If input signal probabilities Pk are unknown, the user can assume that logic values ZERO and ONE are equally likely, and hence Pk =0.5.
If there are Ns states, then the minimum number of flip-flops required for coding is log2 Ns !. It should be noted that if one-hot coding with Ns flip-flops are used, the Hamming distance between any two states are always 2, and hence, an optimum assignment to minimize the number of switching at the present state inputs might not be obtainable. Be sides, one-hot coding also increases the number of present state inputs to the combinational logic of FIG. 1. The average number of switching at the present state inputs to a state machine can be minimized if the state assignment scheme is such that the following activity number is minimized: ##EQU12## The above function represents the summation of all Hamming distances between two adjacent states weighted by the state transition probability. The higher the state transition probability between two states, the lower should be the Hamming distance between those two states.
Due to the complex nature of the activity number γ, for state assignment, simulated annealing was used to solve the problem. First, a random assignment of states with the prescribed number of bits is chosen (Step 2). Next, the activity number γ may be determined for the random assignment (Step 3). Two types of moves are allowed during annealing to create a new assignment possibility (Step 4): interchange the codes of two states, or assign an unassigned code to the state which is randomly picked for exchange. The activity number γ may then be determined for the new assignment possibility (Step 5). The move is accepted (Step 6) if the new assignment decreases γ. If the move increases the value of the activity number, the move is accepted with a probability of ##EQU13## where |δ(γ)| is the absolute value of the change in the activity number, and Temp denotes the annealing temperature. When Temp is high, moves which increases γ are accepted with a higher probability so that the solution does not get stuck at any local minima. As the annealing temperature decreases, the probability of accepting such a move decreases. Steps 4-6 are then repeated (Step 7) until the transition density is minimized.
FIG. 5 shows a state machine which produces an output of ONE whenever a sequence of five ONEs appear, else it outputs a ZERO. The machine was implemented using three D type flip-flops using the two assignment schemes shown in the table. The input signal probability is assumed to be 0.5, and hence, each edge of the state transition graph has a state transition probability of 0.5. For Coding 1, γ, is 10, whereas, for Coding 2, γ is 5.5. The machines can be implemented using 34 transistors and 3 flip-flops and 36 transistors and 3 flip-flops respectively. As will be discussed below, SPICE with random inputs show that the time average power dissipated with the first encoding is more than the second one.
State assignment determines the functionality of combinational logic. The combinational logic is represented by F(I, V), where I is the set of primary inputs, and V represents the present state inputs (refer to FIG. 1). The signal probabilities and transition densities are given for each input ik εI.
Given the combinational logic F(I, V), the signal probabilities and transition densities for the V inputs have to be determined in order to synthesize multi-level combinational logic based on power dissipation measure. The V inputs are the same as U outputs, but delayed by a clock period. Hence, for a steady state stationary companion process, the signal probabilities and the transition densities of V inputs are equal to the corresponding values for the U outputs. After state assignment, the state machine is simulated with different inputs to determine the signal probabilities and transition densities at the present state inputs.
The simulation proceeds as follows. Primary input signals are randomly generated such that the signal probabilities and transition densities conform to given distribution. The state machine is simulated to determine the percentage of time bit vj of the state machine has a logical value of ONE. Similarly, the number of transitions occurring at bit vj of the machine is also determined. The number of transitions divided by the total number of simulations gives transition density at input D(vj). The unit of D(vj) is transitions per clock period. The simulations can be carried out very fast because of the way the primary input signals are generated.
Once the state assignment is optimized, the multi-level combinational logic is synthesized. Preferably, the multilevel logic is optimized for both area and power as described in co-pending U.S. patent application Ser. No. 08/018,984 filed Feb. 18, 1993, assigned to TI and hereby incorporated by reference. Briefly, the combinational logic synthesis finds multiple cube common divisors or single cube common divisors among two or more nodes. A set of kernels are computed for each logic expression. Then the non-trivial intersection among kernels from different functions are formed. While choosing the best intersection, both the reduction in literal count and the reduction in power dissipation measure Φ that will occur if we choose that factor are considered. Both level 0 and higher level kernels are generated. The best N kernel intersections on the basis of literal count reduction are chosen, and among them the one which gives the best trade-off between area and power reduction is selected.
When the best N factors are chosen on the basis of reductions in literal count, the reduction in the power dissipation measure Φ is also calculated. The best factor is chosen by using a saving function S. For the calculation of the reduction in Φ, one implementation would involve putting the factor as a node in the network, subsequently dividing all the nodes for which this new node can be a factor, then calculating Φ, and finally removing the node from the network along with all its effect on the network. Choosing the best factor out of N choices using the above method may be expensive from computational point of view. However, preferably the power dissipation due to transitions at circuit node local to the factor under consideration are computed. This value is used to compute a power savings ΔΦ similar to the area savings ΔA. The total savings is given by ##EQU14## where ##EQU15## represents the fractional change in area and Φ respectively. μdenotes the relative weight factor defined by the user, which reflects the relative importance of the reduction in power dissipation measure with respect to area savings.
The synthesis problem is broken up into two parts--the state assignment problem where the activity number γ is minimized so as to reduce the transition densities at the present state inputs V, and the multilevel combinational logic synthesis proc2ess based on power dissipation measure and area. The state assignment and the subsequent logic synthesis process can get greatly affected if the primary input signal probabilities and transition densities are altered.
The algorithms for state assignment and logic synthesis have been implemented in LISP on an Explorer workstation. Table 1 shows the results of the state assignment scheme according to the preferred embodiment on the MCNC benchmark examples. The number of states, primary inputs, primary outputs, and the number of edges in the state transition graph are shown in the Table. For all primary inputs, a signal probability of 0.5 and a transition density of 0.5 transition per clock cycle were assumed. It should be noted that a different state assignment will be obtained if the input signal probabilities are changed. The state machines were experimented with the .left brkt-top.log2 S.right brkt-top. state bits, which is the minimum number of bits required to code the state machine. Larger number of bits for state assignment will produce more present state inputs, but the complexity of the combinational logic usually reduces. The minimum value of the activity number γmin obtained by the simulated annealing based state assignment is shown in the Table. For comparison γmax is also shown in Table
              TABLE 1
______________________________________
Results on benchmark examples with minimum coding bits
example
       states   input   output
                              edges γmin
                                          γmax
______________________________________
ex1    20       9       19    138   25.5  40.03
ex3    10       2       2     36    16.25 23.25
ex7    10       2       2     36    13.75 21.75
keyb   19       7       2     170   68.1  145.8
sand   32       11      9     184   37.48 57.65
train11
       11       2       1     25    5.5   10.75
opus   10       5       6     22    6.59  13.15
bbtas  6        2       2     24    3.5   8.75
lion9  9        2       1     25    5.0   12.0
bbara  10       4       2     60    3.5   5.8
planet 48       7       19    115   110.81
                                          172.875
______________________________________
The signal probabilities and transition densities at the V inputs to the combinational logic to be used in the multilevel synthesis are determined after state assignment using simulation. 10,000 randomly generated primary inputs (conforming to a given distribution) were simulated. Table 2 shows the results of applying the synthesis algorithm or the preferred embodiment to the MCNC benchmark examples of Table 1. Two types of circuits were synthesized for comparisons. The second and the third column shows the transistor count and the power dissipation measure Φ of the circuits synthesized using the state encoding scheme which produces an activity number of γmin. Similar results for circuits encoded with states which produced γmax as activity number are shown next for comparison. In both cases, the combinational logic was synthesized to minimize power dissipation measure. The results show that the difference in power dissipation measure can be large for most of these circuits. For example, though the increase in transistor count between the two representations of ex1 is 13%, the increase in power dissipation measure is 33%. It should be observed that most of these state machines were incompletely specified. Because the preferred embodiment considers completely specified machines for synthesis, the machines were completely specified by introducing self loops where required to take care of don't care inputs.
              TABLE 2
______________________________________
Synthesis Results
       γmin        γmax
example  transistors
                   Φ     transistors
                                     Φ
______________________________________
ex1      2072      984.4     2380    1465.2
ex3      284       46.4      344     55.3
ex7      304       48.8      404     62.8
keyb     1364      561.4     2424    1170.4
sand     2958      1497.1    3040    1503.4
train11  418       101.3     466     151.3
opus     452       160.1     530     234.2
bbtas    90        20.2      130     55.2
lion9    276       66.9      374     131.1
bbara    290       69.0      342     105.4
planet   2650      2012.0    3226    3854.9
______________________________________
The example state machine of FIG. 5 which outputs a ONE only when a sequence of five ONES appear at the input was synthesized using the two encodings shown in the Figure. Input signal probability of 0.5 and a transition density of 0.5 transitions per unit clock period was assumed. With the same inputs, and 0.8 micron technology the two machines were simulated with 1000 inputs using SPICE. FIG. 6 shows time average power for the two machines. Coding 1 for which γ is higher produced more power dissipation than the one with lower γ.
In conclusion, the synthesis system of the preferred embodiment has been developed to synthesize both finite state machines and combinational logic for low power applications. It tries to minimize the transition density at the internal nodes of a circuit to minimize power dissipation during normal operation. As input signal probabilities and transition densities are considered during the synthesis process, a particular circuit can be synthesized in different ways for different applications which require different types of inputs. For the present state inputs to the combinational circuit of a state machine, simulation was used to determine the signal probabilities and transition densities. log2 S! number of bits were used for state assignment. However, the invention is not limited by the number of bits used for state assignment. The multilevel optimization process extracts kernels such that there is a balance between area and power optimization.
A few preferred embodiments have been described in detail hereinabove. It is to be understood that the scope of the invention also comprehends embodiments different from those described, yet within the scope of the claims.
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.

Claims (14)

What is claimed is:
1. A method for optimizing a finite state machine (FSM) by minimizing a unit number of transitions per unit time (transition density) comprising the steps of:
a. assigning a first state assignment for each of said states, said first state assignment consisting of a Boolean number of given length;
b. determining a first transition density characteristic associated with the first state assignment;
c. assigning a second state assignment, different from said first state assignment for each state of said FSM, said second state assignment consisting of Boolean number of said given length;
d. determining a second transition density characteristic associated with the second state assignment;
e. assigning the first state assignment equal to the second state assignment if second transition density characteristic is less than a predetermined amount greater than said first transition density characteristic;
f. repeating steps c through e until there is no second state assignment having a second transition density characteristic less than said first transition density characteristic.
2. The method of claim 1, further comprising the step of determining a state transition probability for each of a plurality of state transitions, wherein said step of determining said first transition density characteristic incorporates said state transition probabilities.
3. The method of claim 2, wherein said step of determining a first transition density characteristic comprises the steps of:
a. determining the hamming distance for each state transition; and
b. determining y1 for the first state assignments, wherein y1 is the first transition density characteristic.
4. The method of claim 3, wherein said step of determining a second transition density characteristic comprises the steps of:
a. determining the hamming distance for each state transition; and
b. determining y2 for the second state assignments, wherein y2 is the second transition density characteristic.
5. The method of claim 4, wherein the hamming distance is determined according to the following formula:
H(S.sub.i,S.sub.j)=J(S.sub.i ⊕S.sub.j)
6. The method of claim 4, wherein y1 is determined according to the following formula:
γ.sub.1 =Σ p.sub.ij H(S.sub.i,S.sub.j)
7. The method of claim 4, wherein y2 is determined according to the following formula:
γ.sub.2 =Σ p.sub.ij H(S.sub.i,S.sub.j)
8.
8. A method for optimizing state assignments for a finite state machine (FSM) having a plurality of states, comprising the steps of:
a. determining a state transition probability for each of a plurality of state transitions;
b. creating a first state assignment for each of said states, said first state assignment consisting of a number of binary bits;
c. determining the hamming distance for each state transition;
d. determining y1 for the first state assignments, using said state transition probabilities;
e. changing the state assignment for at least one but no more than two states such that no two states have the same state assignment to create a second state assignment for each of said states;
f. determining the hamming distance for each state transition using the second state assignments;
g. determining y2 for the second state assignment;
h. assigning the first state assignment equal to the second state assignment if y2 is less than a predetermined amount greater than y1;
i. repeating steps c through h until there is no second state assignment having a y2 less than y1.
9. The method of claim 8, wherein the hamming distance is determined according to the following formula:
H(S.sub.i,S.sub.j)=J(S.sub.i ⊕S.sub.j)
10. The method of claim 8, wherein y1 is determined according to the following formula:
γ.sub.1 =Σ p.sub.ij H(S.sub.i,S.sub.j)
11.
11. The method of claim 8, wherein y2 is determined according to the following formula:
γ.sub.2 =Σ p.sub.ij H(S.sub.i,S.sub.j)
12. The method of claim 8, wherein the step of changing the state assignment of at least one state comprises the step of interchanging the state assignments of two states.
13. The method of claim 8, wherein the step of changing the state assignment of at least one state comprises the step of assigning an unassigned state assignment to one of said states.
14. A method for optimizing a CMOS circuit having a finite state machine (FSM) and multilevel combinational logic, comprising the steps of:
a. assigning an initial state assignment to each state of said FSM, said initial state assignment consisting of a Boolean number of a given length;
b. modifying said initial state assignments to cream an optimized state assignment for each state that minimizes a unit number of transitions per unit time (transition density), by performing the following steps:
i. creating an intermediate state assignment equal to the initial state assignment;
ii. determining the state transition probability for each transition possibility of each state;
iii. determining a Hamming distance for each transition possibility associated with the intermediate state assignments; and
iv. determining y1 associated with the intermediate state assignments using said state transition probability;
v. determining a temporary state assignment;
vi. determining the Hamming distance for each output possibility using the temporary state assignments;
vii. determining y2 for the temporary state assignment;
viii. assigning the intermediate assignment equal to the temporary assignment if y2 is less than a predetermined amount greater than y1;
ix. repeating steps c through h until there is no temporary assignment having a y2 less than y1; and
x. assigning the optimized state assignment equal to the intermediate state assignment; and
c. optimizing the multilevel combination logic for area and power.
US08/129,816 1993-09-29 1993-09-29 Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations Expired - Lifetime US5515292A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/129,816 US5515292A (en) 1993-09-29 1993-09-29 Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/129,816 US5515292A (en) 1993-09-29 1993-09-29 Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations

Publications (1)

Publication Number Publication Date
US5515292A true US5515292A (en) 1996-05-07

Family

ID=22441728

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/129,816 Expired - Lifetime US5515292A (en) 1993-09-29 1993-09-29 Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations

Country Status (1)

Country Link
US (1) US5515292A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706205A (en) * 1994-09-30 1998-01-06 Kabushiki Kaisha Toshiba Apparatus and method for high-level synthesis of a logic circuit
US5805459A (en) * 1995-04-24 1998-09-08 Texas Instruments Incorporated Method of measuring activity in a digital circuit
US5825644A (en) * 1996-03-04 1998-10-20 Motorola, Inc. Method for encoding a state machine
US6028988A (en) * 1996-11-11 2000-02-22 Nec Corporation System for logic synthesis-for-testability capable of improving testability for an FSM having an asynchronous reset state
US6070258A (en) * 1997-03-07 2000-05-30 Nec Corporation Logic synthesis for testability system which enables improvement in testability and effective selection of center state and logic synthesis method thereof
US6075932A (en) * 1994-06-03 2000-06-13 Synopsys, Inc. Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist
US6442741B1 (en) * 2000-10-06 2002-08-27 Lsi Logic Corporation Method of automatically generating schematic and waveform diagrams for analysis of timing margins and signal skews of relevant logic cells using input signal predictors and transition times
US6628215B2 (en) * 2000-01-27 2003-09-30 Automatic Parallel Design Limited Method and apparatus for binary encoding logic circuits
US20040083011A1 (en) * 2002-10-21 2004-04-29 Abb Schweiz Ag Finite state machine display for operator guidance
US20040139416A1 (en) * 2002-12-05 2004-07-15 Riedel Marcus D. Synthesis of cyclic combinational circuits
US6816827B1 (en) * 1999-10-01 2004-11-09 Nec Corporation Verification method for combinational loop systems
US20050037040A1 (en) * 2003-08-13 2005-02-17 Moshe Arkin Topical compositions of urea and ammonium lactate
US20060253816A1 (en) * 2004-03-12 2006-11-09 Sensory Networks, Inc. Apparatus and Method For Memory Efficient, Programmable, Pattern Matching Finite State Machine Hardware
US20060290378A1 (en) * 2005-06-10 2006-12-28 Azuro (Uk) Limited Estimation of average-case activity for digital state machines
US20060291126A1 (en) * 2005-06-10 2006-12-28 Azuro (Uk) Limited Estimation of average-case activity for circuit elements in a digital circuit
US20090192781A1 (en) * 2008-01-30 2009-07-30 At&T Labs System and method of providing machine translation from a source language to a target language
US20090319842A1 (en) * 2006-09-27 2009-12-24 Japan Science And Technology Agency Generating device, generating method, program and recording medium
US10042965B2 (en) 2016-07-21 2018-08-07 King Fahd University Of Petroleum And Minerals Systems and method for optimizing state encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097151A (en) * 1990-02-16 1992-03-17 U.S. Philips Corporation Sequential finite-state machine circuit and integrated circuit
US5317757A (en) * 1992-02-06 1994-05-31 International Business Machines Corporation System and method for finite state machine processing using action vectors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097151A (en) * 1990-02-16 1992-03-17 U.S. Philips Corporation Sequential finite-state machine circuit and integrated circuit
US5317757A (en) * 1992-02-06 1994-05-31 International Business Machines Corporation System and method for finite state machine processing using action vectors

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
Ghosh et al., "Estimation of Average Switching Activity in Combinational and Sequential Circuits", IEEE 1992, pp. 253-259.
Ghosh et al., Estimation of Average Switching Activity in Combinational and Sequential Circuits , IEEE 1992, pp. 253 259. *
Kaushik Roy and Sharat Prasad, "SYCLOP: Synthesis of CMOS Logig for Low Power Applications", International Conference on Computer Design, Boston, Oct. 11-14, 1992.
Kaushik Roy and Sharat Prasad, SYCLOP: Synthesis of CMOS Logig for Low Power Applications , International Conference on Computer Design, Boston, Oct. 11 14, 1992. *
Nagj, "Transition Density: A Now Measure of Activity in Digital Circuit", IEEE 1992, pp. 310-323.
Nagj, Transition Density: A Now Measure of Activity in Digital Circuit , IEEE 1992, pp. 310 323. *
Pasbt et al., "Experiments on the Synthesis and Testability of Non-Scan Finite State Machines", IEEE 1992, pp. 537-542.
Pasbt et al., Experiments on the Synthesis and Testability of Non Scan Finite State Machines , IEEE 1992, pp. 537 542. *
Srinivas Devadas, et al., "Mustang: State Assignment of Finite State Machines Targeting Multilevel Logic Implementations", IEEE Trans on Computer Aided Design, vol. 7, No. 12, Dec. 1988, pp. 1290-1300.
Srinivas Devadas, et al., Mustang: State Assignment of Finite State Machines Targeting Multilevel Logic Implementations , IEEE Trans on Computer Aided Design, vol. 7, No. 12, Dec. 1988, pp. 1290 1300. *
Villa et al., "Nova: State Assignment of Finite State Machines for Optimal Two-level Logic Implementation", IEEE 1990, pp. 905-924.
Villa et al., Nova: State Assignment of Finite State Machines for Optimal Two level Logic Implementation , IEEE 1990, pp. 905 924. *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075932A (en) * 1994-06-03 2000-06-13 Synopsys, Inc. Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist
US5706205A (en) * 1994-09-30 1998-01-06 Kabushiki Kaisha Toshiba Apparatus and method for high-level synthesis of a logic circuit
US5805459A (en) * 1995-04-24 1998-09-08 Texas Instruments Incorporated Method of measuring activity in a digital circuit
US5825644A (en) * 1996-03-04 1998-10-20 Motorola, Inc. Method for encoding a state machine
US6028988A (en) * 1996-11-11 2000-02-22 Nec Corporation System for logic synthesis-for-testability capable of improving testability for an FSM having an asynchronous reset state
US6070258A (en) * 1997-03-07 2000-05-30 Nec Corporation Logic synthesis for testability system which enables improvement in testability and effective selection of center state and logic synthesis method thereof
US6816827B1 (en) * 1999-10-01 2004-11-09 Nec Corporation Verification method for combinational loop systems
US6628215B2 (en) * 2000-01-27 2003-09-30 Automatic Parallel Design Limited Method and apparatus for binary encoding logic circuits
US6442741B1 (en) * 2000-10-06 2002-08-27 Lsi Logic Corporation Method of automatically generating schematic and waveform diagrams for analysis of timing margins and signal skews of relevant logic cells using input signal predictors and transition times
US20040083011A1 (en) * 2002-10-21 2004-04-29 Abb Schweiz Ag Finite state machine display for operator guidance
US20040139416A1 (en) * 2002-12-05 2004-07-15 Riedel Marcus D. Synthesis of cyclic combinational circuits
US7249341B2 (en) * 2002-12-05 2007-07-24 California Institute Of Technology Synthesis of cyclic combinational circuits
US20050037040A1 (en) * 2003-08-13 2005-02-17 Moshe Arkin Topical compositions of urea and ammonium lactate
US20060253816A1 (en) * 2004-03-12 2006-11-09 Sensory Networks, Inc. Apparatus and Method For Memory Efficient, Programmable, Pattern Matching Finite State Machine Hardware
US7219319B2 (en) * 2004-03-12 2007-05-15 Sensory Networks, Inc. Apparatus and method for generating state transition rules for memory efficient programmable pattern matching finite state machine hardware
US20060291126A1 (en) * 2005-06-10 2006-12-28 Azuro (Uk) Limited Estimation of average-case activity for circuit elements in a digital circuit
US7222039B2 (en) * 2005-06-10 2007-05-22 Azuro (Uk) Limited Estimation of average-case activity for digital state machines
US20060290378A1 (en) * 2005-06-10 2006-12-28 Azuro (Uk) Limited Estimation of average-case activity for digital state machines
US7630851B2 (en) * 2005-06-10 2009-12-08 Azuro (Uk) Limited Estimation of average-case activity for circuit elements in a digital circuit
US20090319842A1 (en) * 2006-09-27 2009-12-24 Japan Science And Technology Agency Generating device, generating method, program and recording medium
US7979765B2 (en) * 2006-09-27 2011-07-12 Japan Science & Technology Agency Generating device, generating method, program and recording medium
US20090192781A1 (en) * 2008-01-30 2009-07-30 At&T Labs System and method of providing machine translation from a source language to a target language
US8849665B2 (en) * 2008-01-30 2014-09-30 At&T Intellectual Property I, L.P. System and method of providing machine translation from a source language to a target language
US10042965B2 (en) 2016-07-21 2018-08-07 King Fahd University Of Petroleum And Minerals Systems and method for optimizing state encoding
US10162923B2 (en) * 2016-07-21 2018-12-25 King Fahd University Of Petroleum And Minerals State assignment method with probabilistic pairwise swap search
US10169512B2 (en) * 2016-07-21 2019-01-01 King Fahd University Of Petroleum And Minerals Computer system for state assignments using a finite state machine

Similar Documents

Publication Publication Date Title
US5515292A (en) Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations
Roy et al. SYCLOP: Synthesis of CMOS logic for low power applications
US6185719B1 (en) Pass-transistor logic circuit and a method of designing thereof
US5940779A (en) Architectural power estimation method and apparatus
US5481469A (en) Automatic power vector generation for sequential circuits
US6628215B2 (en) Method and apparatus for binary encoding logic circuits
JPH0792809B2 (en) A computer-based method for minimizing the total power of timing-limited logic networks.
US5452215A (en) System and method for designing a finite state machine to reduce power dissipation
US5663888A (en) Redesign of sequential circuits to reduce clock period
Koegst et al. State assignment for FSM low power design
Tafertshofer et al. Factored edge-valued binary decision diagrams
Venkataraman et al. GALLOP: genetic algorithm based low power FSM synthesis by simultaneous partitioning and state assignment
Kajstura et al. Low power synthesis of finite state machines—State assignment decomposition algorithm
Mo et al. Whirlpool PLAs: a regular logic structure and their synthesis
Mo et al. PLA-based regular structures and their synthesis
Yuan et al. FSM re-engineering and its application in low power state encoding
Pedram Power estimation and optimization at the logic level
Wolf et al. A kernel-finding state assignment algorithm for multi-level logic
US6301694B1 (en) Hierarchical circuit partitioning using sliding windows
Erba et al. Digital filter design through simulated evolution
Wang et al. State assignment for power and area minimization
US6868535B1 (en) Method and apparatus for optimizing the timing of integrated circuits
Kumthekar et al. A symbolic algorithm for low-power sequential synthesis
Xia et al. Power optimization of finite state machine based on genetic algorithm
Lee et al. Application of evolutionary computation in ECAD problems

Legal Events

Date Code Title Description
AS Assignment

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROY, KAUSHIK;REEL/FRAME:006739/0428

Effective date: 19930924

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PRASAD, SHARAT;REEL/FRAME:006739/0430

Effective date: 19930925

AS Assignment

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ROY, KAUSHIK;PRASAD, SHARAT;REEL/FRAME:006823/0570;SIGNING DATES FROM 19930924 TO 19931209

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12