状态机
参考文献:《轻松成为设计高手——Verilog HDL实用精解》
状态机不仅是一种时序设计方法,更是一种思想方式!
状态机的本质是对具有逻辑顺序或者时序规律的事件的描述方法。
因此,状态机不仅可以用于时序逻辑电路的设计,凡是具有明显逻辑顺序或时序顺序的电路都可以用状态机方法设计。
状态机的表达规范成熟,因此很多复杂设计都可以使用状态机的思路。大胆使用,小心求证!
逻辑设计涉及的状态机是有限状态机(FSM,Finite State Machine)
何时使用状态机设计?
从状态变量入手。如果一个电路具有时序或逻辑顺序,就可以梳理出这个电路所处的不同状态;对每个状态分析其输入、状态转移、输出。
或者从输出入手。从输出回溯状态。
状态机的基本概念
基本要素:状态、输出、输入
状态:逻辑或者时序通过状态进行划分。
输出:某个状态下特定发生的事件。
输入:进入某个状态的条件。有的状态机没有输入条件。
Moore型和Mealy型状态机
Moore型状态机的输出仅与状态有关,而与输入无关。
Mealy型状态机的输出不仅依赖于当前状态,还取决于当前状态的输入条件。
RTL级FSM的评判标准
- 安全稳定:不会进入死循环、不会进入未知状