Extended finite-state machine - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for Extended finite-state machine.

Extended finite-state machine

From Wikipedia, the free encyclopedia

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: article should take Finite-state machine as its base for an article, featuring a more cohesive lead, feature an example, concept and vocabulary... Please help improve this article if you can. (February 2013) (Learn how and when to remove this template message) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Extended finite-state machine" – news · newspapers · books · scholar · JSTOR (February 2013) (Learn how and when to remove this template message) This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (February 2013) (Learn how and when to remove this template message) (Learn how and when to remove this template message)

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.


An EFSM is defined[1] as a 7-tuple 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 ,
  • F is a set of enabling functions ,
  • U is a set of update functions ,
  • T is a transition relation,


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 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 block and evaluation 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:

  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

Abstract state machine Extended finite state machines


  1. ^ Cheng, K-T; Krishnakumar, A.S. (1993). "Automatic Functional Test Generation Using The Extended Finite State Machine Model". International Design Automation Conference (DAC). ACM. pp. 86–91.
{{bottomLinkPreText}} {{bottomLinkText}}
Extended finite-state machine
Listen to this article