Finite-state machine with datapath
This article does not cite any sources. (December 2013) (Learn how and when to remove this template message)
FSMDs are essentially sequential programs in which statements have been scheduled into states, thus resulting in more complex state diagrams.
Here, a program is converted into a complex state diagram in which states and arcs may include arithmetic expressions, and those expressions may use external inputs and outputs as well as variables.
FSMs do not use variables or arithmetic operations/conditions, thus FSMDs are more powerful than FSMs.
The FSMD level of abstraction is often referred to as the register-transfer level.
An FSMD is equivalent to a Turing machine in power.