有限状态机(FiniteStateMachine)是一种时序机,它源自于人们将一个复杂的问题分割成多个简单的部分来处理的思想。状态机通过时钟驱动下的有多个状态,以及状态之间的跳转规则来实现复杂的逻辑,一旦当前的状态确定,也就明确了相关的输入输出。有限状态机主要分为两个类型:第一类,如果输出只和当前状态有关而和输入无关,称之为Moore状态机;第二类,输出不仅和当前状态有关也和输入有关,称之为Melay型状态机。本节将主要介绍这两类状态机、状态编码以及使用VHDL和Verilog语言描述的设计范例。