You are here

AN62510 - Implementing State Machines with PSoC® 3, PSoC 4, and PSoC 5LP | Cypress Semiconductor

AN62510 - Implementing State Machines with PSoC® 3, PSoC 4, and PSoC 5LP

Last Updated: 
May 25, 2017
Version: 
*F
This application note explains implementation of state machines using the PSoC® 3/PSoC 4/PSoC 5LP family of devices. Mealy and Moore state machine implementations are shown with associated projects.

Introduction

State machines are commonly used to implement decision making algorithms. State machines are used in applications where distinguishable states exist. A finite state machine (FSM) is based on the idea that a given system has a finite number of states.

This application note shows you how to implement both Mealy and Moore state machines using the Look Up Table (LUT) component in PSoC Creator™. Example projects are included.

The following table indicates the PSoC devices, PSoC Creator versions, compilers, and development kits that will work with this application note project:

Project Device PSoC Creator
Version
Development Kit
CY8CKIT-xxx
Architecture Silicon
Revision
V2.2 SP1
or higher
V2.1 SP1
/2.1
001
DVK
030/050
DVK
042 Pioneer DVK
AN62510.zip PSoC3 Prod YES NO YES YES* N/A
PSoC4 Prod YES NO YES N/A YES**
PSoC5LP Prod YES NO YES YES* N/A
AN62510_Archive.zip PSoC3 ES2, ES3, Prod NO YES YES YES* N/A
PSoC5 ES1, Prod NO YES YES YES* N/A

* Refer to Migrating CY8CKIT-001 DVK project to CY8CKIT 030/ 050.
** The project can be easily adapted to this DVK.

Notes:

  1. For PSoC 5 project and related document, please download file AN62510_Archive.zip.

Projects associated with this application note can be downloaded from the ‘Related Files’ section below. For your convenience, we have provided projects that are compatible with the two most recent versions of PSoC Creator:

  • AN62510.zip is used with PSoC Creator 2.2 SP1
  • AN62510_Archive.zip is used with PSoC Creator 2.1 SP1/2.1

The project’s default settings may not be compatible with your device or kit, and you may need to change your project settings. For more information, see: