Circuit Lake

Electronic Project and Circuit Collection

Generic Finite State Machine Interpreter

02/08/2012 Category: Control, Interfacing, Microcontroller, Miscellaneous, Project, Renesas

A Finite State Machine (FSM) is a versatile mechanism to implement sequential digital circuits. This project implements any desired FSM using the Renesas microcontroller instead of flip-flops and logic gates.

The system has a PC based GUI interface where the user can represent the required FSM using a simple State Transition table or a State Transition Diagram. The Renesas Evaluation board runs a generic FSM Interpreter that allows any desired FSM to be executed after the user downloads the state table from the PC to the control program on the Renesas board using a standard RS-232 port.

Generic FSM Interpreter DIY project

The FSM Interpreter as currently implemented on the M16 Evaluation board offers up to 4 inputs, up to 4 outputs and up to 16 maximum states. The interpreter allows the user to choose a Mealy or a Moore State machine model. The user can also select an appropriate clock signal to transition from one state of the FSM to another. The M16 has enough resources to suitably augment the FSM interpreter to allow more inputs, outputs as well as states.

Generic Finite State Machine Interpreter Block Diagram

This FSM interpreter can not only be used as an educational tool, but can be used for quickly implementing a real life solution. Illustrative examples show a tail lights controller for a car, a Stepper Motor Sequencer as well as a Dice player.