当前位置:首页 > 新闻资讯 > FPGA之家动态 >

FPGA学习-如何写好状态机

时间:2024-07-30      来源:网络搜集 关于我们 0

状态机的基本概念

1-1 状态机是一种思想方法

1、状态机的本质就是对具有逻辑顺序时序规律事件的一种描述方法。

这个论断的最重要的两个词就是“逻辑顺序”和“时序规律”,这两点就是状态机所要描述的核心和强项,换言之,所有具有逻辑顺序和时序规律的事情都适合用状态机描述。

状态机基本要素与分类

状态机的基本要素有 3 个:状态、输出和输入。

1-1 状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。 比如:设计伪随机码发生器时,可以用移位寄存器序列作为状态;在设计电机控制电路时,可以以电机的不同转速作为状态;在设计通信系统时,可以用信令的状态作为状态变量等。

1-2 输出:输出指在某一个状态时特定发生的事件。如设计电机控制电路中,如 果电机转速过高,则输出为转速过高报警,也可以伴随减速指令或降温措施等。

1-3 输入:指状态机中进入每个状态的条件,有的状态机没有输入条件,其中的 状态转移较为简单,有的状态机有输入条件,当某个输入条件存在时才能转移到相应的状态。

状态机的基本描述方式

1-1 状态转移图;

1-2 状态转移列表;

1-3 HDL 语言描述状态机;

如何写好状态机

什么是 RTL级好的FSM描述

好的RTL 级FSM 的评判标准如下:

1-1 FSM 要安全,稳定性高。

所谓 FSM 安全是指FSM 不会进入死循环,特别是不会进入非预知的状态, 而且由于某些扰动进入非设计状态,也能很快的恢复到正常的状态循环中来。这里面有两层含义,第一:要求该FSM 的综合实现结果无毛刺等异常扰动;第二: 要求状态机要完备,即使收到异常扰动进入非设计状态,也能很快恢复到正常状态。

1-2 FSM 速度快,满足设计的频率要求。

任何 RTL 设计都应该满足设计的频率要求。

1-3 FSM 面积小,满足设计的面积要求。

同理任何 RTL 设计都应该满足设计的面积要求。

1-4 FSM 设计要清晰易懂、易维护。

不规范的 FSM 写法很难让其他人解读,甚至过一段时间后设计者也发现很难维护。

RTL级状态机描述常用语法

一,推荐的状态机描述方法

• 一段式状态机描述方法(应该避免的写法);

• 两段式状态机描述方法(推荐写法);

状态机的二段式描述


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言