状态机和组合逻辑的冒险竞争浅析.docx
《状态机和组合逻辑的冒险竞争浅析.docx》由会员分享,可在线阅读,更多相关《状态机和组合逻辑的冒险竞争浅析.docx(10页珍藏版)》请在第一文库网上搜索。
1、状态机和组合逻辑的冒险竞争浅析NingHeChuan(宁河川)前言:状态机大法好,状态机几乎可以实现一切时序逻辑电路。有限状态机(Fini拄StateMachine,FSM),根据状态机的输出是否与输入有关,可分为Mo2ie型状态机和MeaIy型状态机。MOOre型状态机输出仅仅与现态有关和Mea1y型状态机不仅与现态有关,也与输入有关,所以会受到输入的干扰,可能会产生毛刺(GIith)的现象,所以我们通常使用的是MOore型状态机。状态机的编码,二进制编码(Binary),格雷码编码(Gray-code),独热码(One-hot)。不同的编码方式是防止在状态转移中发生突变,使得状态转移更为稳
2、定,系统更加可靠,但是通常情况下我们直接采用的是二进制进行编码,除非系统对稳定性和状态编码有特殊要求。状态机的描述,一段式、二段式、三段式。一段式状态机,将组合逻辑和时序逻辑混合在一起,这样的写法对于逻辑简单的状态机来说还是可以使用的,但是对于复杂的逻辑就不也荐了,如果状态复杂也会容易出错,而且一个a1ways块中信号太多也不利于维护和修改。状态参数声明parameterSO-4b0000,S1=4,b0001,s2=4b0010;/FSMonesegmentreg3:0state;a1ways(posedgee1kornegedgerstn)beginif(!rst_n)state=SO;e
3、1sebegincase(state)SO:SI:S2:defau1t:endcaseendend两段式状态机也是一种常用的写法,它把组合逻辑和时序逻辑区分出来,第一段负责状态的转移,第二段是组合逻辑赋值,但是这种写法的缺点是,组合逻辑较容易产生毛刺等常见问题,关于组合逻辑较容易产生毛刺原因,下文会提到。状态参数声明parameterSO=4,b0000,S1=4ib0001,s2=4,b0010;/FSMtwosegmentreg3:0pre_state;reg3:0next_state;/FSMonea1ways(posedgee1kornegedgerst_n)beginif(!rst_
4、n)pre_state=SO;e1sepre_state二next_state;end/FSMtwoa1ways(*)begincase(pre_state)SO:SI:S2:defau1t:;enc1caseend三段式状态机就可以较好的解决一段二段的不足,我也是比较推荐的写法,第一段采用时序逻辑负责状态转移,第二段组合逻辑负责数据赋值,第三段时序逻辑负责输出,代码层次清晰,容易维护,时序逻辑的输出解决了两段式写法中组合逻辑的毛刺问题。但是资源消耗会多一些,此外,三段式从输入到输出会比一段式和二段式延迟一个时鲤周期。在书写状态机的时候,一定要事先设计好状态转移图,将所有的状态都考虑到,避免状
5、态进入死循环,或者跳到偏离态。状态参数声明parameterSO=4ib0000,S1=4b0001,s2=4b0010;/FSMthreesegment/FSMonea1ways(posedgee1kornegedgerstif(!rst_n)pre_state=SO;e1sepre_state二next_state;end/FSMtwoa1ways(*)begincase(pre_state)SO:SI:S2:defau1t:;endcaseend/FSMthree_n)begin_n)begina1ways(posedgee1kornegedgerstif(!rstn)dout二b;e1
6、sebegincase(pre_state)SO:SI:S2:defau1t:;endcaseendend如下图,我通过一个实例来说明一下状态机的使用。下面是一个序列检测状态转移图,检测是的使I1O1这个序列,我们给这个序列的检测序列是II1O11101这一串数据。在这个序列检测器中,我们允许使用重复位。也就是说,前一个“1101”最后一位的1可以作为后一个“1101”序列的起始位。如果不允许重复为位,只需要将S4到S2的转移替换成S4到S1即可。首先,从输出状态SO开始检测,当SO检测到1时跳到Sb否则跳回so,S1检测到1状态跳到S2,否则跳回SO,S2检测到0状态跳到S3,否则还停留在S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态机 组合 逻辑 冒险 竞争 浅析