Extended finite-state machine explained

In a conventional finite state machine, the transition is associated with a set of input Boolean 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” 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[1] as a 7-tuple

M=(I,O,S,D,F,U,T)

where

D1 x \ldots x Dn

,

fi:D\{0,1\}

,

ui:DD

,

T:S x F x IS x U x O

Structure

EFSM Architecture: An EFSM model consists of the following three major combinational blocks (and a few registers).

The cycle behavior of an EFSM can be divided into three steps:

  1. In E-block, evaluate all trigger conditions.
  2. In FSM-block, compute the next state & the signals controlling A-block.
  3. In A-block, perform the necessary data operations and data movements.

See also

References

  1. K-T . Cheng . Krishnakumar, A.S. . Automatic Functional Test Generation Using The Extended Finite State Machine Model . International Design Automation Conference (DAC) . ACM . 86–91 . 1993 .