Extended Finite-state Machine
   HOME

TheInfoList



OR:

In a conventional
finite-state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
, the transition is associated with a set of input
Boolean Any kind of logic, function, expression, or theory based on the work of George Boole is considered Boolean. Related to this, "Boolean" may refer to: * Boolean data type, a form of data with only two possible values (usually "true" and "false" ...
conditions and a set of output Boolean functions. In an extended finite-state machine (EFSM) model, the transition can be expressed by an “
if statement In computer science, conditionals (that is, conditional statements, conditional expressions and conditional constructs) are programming language constructs that perform different computations or actions or return different values depending on t ...
” consisting of a set of trigger conditions. If trigger conditions are all satisfied, the transition is fired, bringing the machine from the current state to the next state and performing the specified data operations.


Definition

An EFSM is defined as a 7-tuple M=(I,O,S,D,F,U,T) where * S is a set of symbolic states, * I is a set of input symbols, * O is a set of output symbols, * D is an n-dimensional
linear space In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called ''vectors'', can be added together and multiplied ("scaled") by numbers called ''scalars''. The operations of vector addition and sc ...
D_1 \times \ldots \times D_n, * F is a set of ''enabling functions'' f_i : D \rightarrow \{0,1\}, * U is a set of ''update functions'' u_i : D \rightarrow D, * T is a transition relation, T : S \times F \times I \rightarrow S \times U \times O


Structure

EFSM Architecture: An EFSM model consists of the following three major combinational blocks (and a few registers). * FSM-block: A conventional finite-state machine realizing the state transition graphs of the EFSM model. * A-block: an arithmetic block for performing the data operation associated with each transition. The operation of this block is regulated by the output signals of the FSM block. * E-block: A block for evaluating the trigger conditions associated with each transition. The input signals to this block are the data variables, while the output is a set of
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two values (0 and 1) for each digit * Binary function, a function that takes two arguments * Binary operation, a mathematical op ...
signals taken for input by the FSM-block. Information about redundant computation is extracted by analyzing the interactions among the three basic blocks. Using this information, certain input operands of the
arithmetic Arithmetic is an elementary branch of mathematics that deals with numerical operations like addition, subtraction, multiplication, and division. In a wider sense, it also includes exponentiation, extraction of roots, and taking logarithms. ...
block and
evaluation In common usage, evaluation is a systematic determination and assessment of a subject's merit, worth and significance, using criteria governed by a set of Standardization, standards. It can assist an organization, program, design, project or any o ...
block can be frozen through input gating under specific run time conditions to reduce the unnecessary switching in the design. At the architecture level, if each trigger evaluation & data operation is regarded as an atomic action, then the EFSM implies an almost lowest-power implementation. The cycle behavior of an EFSM can be divided into three steps: # In E-block, evaluate all trigger conditions. # In FSM-block, compute the next state & the signals controlling A-block. # In A-block, perform the necessary data operations and data movements.


See also

*
Abstract state machine In computer science, an abstract state machine (ASM) is a state machine operating on state (computer science), states that are arbitrary data structures (mathematical structure, structure in the sense of mathematical logic, that is a nonempty Set ...


References

Models of computation Formal methods Theory of computation