状态机 Verilog

本文介绍了状态机作为逻辑模型的应用,以串行输入二进制序列判断能否被3整除为例,阐述了状态转移表和状态转移图在设计中的作用。状态机分为Moore和Mealy两类,状态编码方式包括二进制、格雷码和独热码。文中推荐使用三段式状态机,以避免组合逻辑输出的毛刺,但强调根据实际逻辑复杂度选择两段式或三段式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

状态机是一个抽象的逻辑模型,首先举例说明如何将抽象问题具体化。

例 : 串行输入一个二进制bit序列,先输入的为高位,实时监测其表示的二进制数据是否能被3整除。

进一步,我们把它写成简介的状态转换表:

对应绘制状态转移图 

 

有了状态转移图是不是写代码就很明了?在碰到复杂的状态处理时,就可以按照上面方法来处理。

        在创建状态机抽象建模时有3个要素需要分析,一是状态的定义,二是状态跳转条件,三是输入与输出。
状态定义是最关键的,状态是控制流程中的节点。状态间具有互斥性,也就是同一时刻状态机仅可能具有一个状态。通常,状态跳转由输入决定。

      根据输出的决定因素,状态机可分为两类,

第一类,若输出只和状态有关而与输入无关,则称为Moore状态机

第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机

状态编码方式对状态机也是有影响的,最主要体现在布局布线上。通常采用的是二进制编码,格雷码,独热码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值