Print this page Print this page

State Machines

Mark A. Strain, PE


Course Outline

An electronic lock, a vending machine, a subway turnstile, a control panel for a microwave oven, a spell checker, a text search application, and the core of a microprocessor all embody a common element. Their behavior can be modeled using a finite state machine. A state machine is a model used in a design to visualize the effects of a sequence of inputs on the state of the system and its output. The behavior of the system is predetermined from its design. A state machine is one of the most common building blocks of modern digital systems.

This course includes a multiple-choice quiz at the end, which is designed to enhance the understanding of the course materials.

Learning Objective

At the conclusion of this course the student will learn:

Intended Audience

This course is intended for all engineers.

Benefit to Attendees

Attendee of this course will be able to understand the basics of state machines.

Course Introduction

An electronic lock, a vending machine, a subway turnstile, a control panel for a microwave oven, a spell checker, a text search application, and the core of a microprocessor all embody a common element. Their behavior can be modeled using a finite state machine. Inputs to the system from the real world may affect the state of the system and possibly the output of the system. The behavior of the system is predetermined from its design. All possible outputs and states are designed into the system given any possible input. Therefore, the system is very predictable (assuming all possible state/input/output combinations have been designed into the system). A state machine is one of the most common building blocks of modern digital systems.

Course Content

This course is in the following PDF document:

State Machines

Please click on the above underlined hypertext to view, download or print the document for your study. Because of the large file size, we recommend that you first save the file to your computer by right clicking the mouse and choosing "Save Target As ...", and then open the file in Adobe Acrobat Reader. If you still experience any difficulty in downloading or opening this file, you may need to close some applications or reboot your computer to free up some memory.

Course Summary

A state machine is a model used to describe the behavior of a real world system. State machines are used to solve a large number of problems. They are used to model the behavior of various types of devices such as electronic control devices, parsing of communications protocols and programs that perform text or pattern searches.
State machines may be described using a state diagram and a state table. A state diagram is composed of states, inputs, outputs and transitions between states. A state table describes a state machine with the present state and input on the left and the next state and output on the right.
State machines may be implemented using either a hardware architecture or a software architecture. The advantage of a hardware implementation is that it operates very fast, but it is difficult to modify and usually requires more circuit board space. The advantage of a software implementation is that it is easier to design and modify, but can be slower than the hardware equivalent.

Quiz

Once you finish studying the above course content, you need to take a quiz to obtain the PDH credits.


DISCLAIMER: The materials contained in the online course are not intended as a representation or warranty on the part of PDH Center or any other person/organization named herein. The materials are for general information only. They are not a substitute for competent professional advice. Application of this information to a specific project should be reviewed by a registered architect and/or professional engineer/surveyor. Anyone making use of the information set forth herein does so at their own risk and assumes any and all resulting liability arising therefrom.