|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Finite state machines |
|
|
|
|
|
|
|
Finite state machine
(FSM) with output |
|
|
|
|
Q, a set of states |
|
|
|
|
|
S, a single state which
is an element of Q. This is the start state. |
|
|
|
Sigma, the input alphabet |
|
|
|
|
|
Pi, the output alphabet |
|
|
|
|
delta, a transition function that maps a state
and a letter from the input alphabet, |
|
|
|
to a state and a letter
from the output alphabet |
|
|
Primary differences with
FSA: |
|
|
|
|
|
|
No final state |
|
|
|
|
|
|
Transition function
generates output as well as determining next state |
|
|
|
Purpose is not to
recognize strings, but to generate set of outputs |
|
|
|
|
|
Describes how inputs and
current state generate outputs |
|
|
|
|
For circuits: |
|
|
|
|
|
|
Input alphabet: set of
k-bit strings |
|
|
|
|
|
|
Output alphabet: set of
m-bit strings |
|
|
|
|
Transitions from a given
state must be: |
|
|
|
|
|
|
Mutually exclusive: only
1 choice for any single input value |
|
|
|
|
|
Exhaustive: all possible
inputs have a transition |
|
|
|
|
|
"Nothing
happens": remain in same state |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|