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:
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.