找回密码
 注册
关于网站域名变更的通知
查看: 266|回复: 1
打印 上一主题 下一主题

状态机的描述方法之状态机的描述方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-6-13 10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
讲了状态机的状态编码是用格雷码还是独热码的问题,以及两者之间的优劣。状态机的描述方式采用的是一段式描述方式,也就是将整个状态机全部写到一个always模块中去。
7 D& O( {0 ~+ S$ G& J; J# X4 r4 |- S. O  c' b$ k( G
0 t6 i& m+ ]/ _
这篇博文仍用上篇博文的案例,说说状态机的描述方法。一段式的描述方法、二段式以及三段式,并比较三者之间的功能仿真情况,最后真心吐露这个案例的状态转移图的疑问?不能把有问题的地方回避,我想我不要做这样的人。
+ q. x) N2 G# D# X- T2 q
0 e) U) A, a3 s

0 d) P) I0 N' d. }7 h首先看看状态机的描述方法,和编码方式,这两段描述借鉴:基于Verilog HDL的有限状态机,人家说的不错,我也懒着码字了。1 P7 ~& @7 n( Y

% o: f- O) I  A4 K! V

( `2 g1 F* a, @: t" p2 f2 Q状态机的描述方法& V* h1 h- x, p2 I9 x1 Z( T
* Z3 q, q& V: ~. V% ~2 k) U! z
  G, [0 I6 v! j/ c
状态机的描述方法多种多样,将整个状态机写到1个always 模块里,在该模块中既描述状态转移,又描述状态的输入和输出,这种写法一般被称为一段式FSM 描述方法;
1 E1 M* Y* P0 Y; C0 b5 M
+ U- I4 e1 `: D* V

, {; u4 ~8 H6 P& Y6 J* h2 X" E还有一种写法是使用两个always模块,其中一个always 模块采用同步时序的方式描述状态转移,而另一个模块采用组合逻辑的方式判断状态转移条件,描述状态转移规律,这种写法被称为两段式FSM 描述方法;
! w8 D# H+ \% |0 i! R( ]. r/ m( e5 {$ {0 d  e! p# H$ N

4 K$ Q# g2 @8 l; c* u0 p还有一种写法是在两段式描述方法的基础上发展而来的,这种写法使用3 个always模块,一个always 模块采用同步时序的方式描述状态转移,一个采用组合逻辑的方式判断状态转移条件,描述状态转移规律,第三个always 模块使用同步时序电路描述每个状态的输出,这种写法称为三段式写法。- m0 Q/ q4 w7 v" Q

9 S& V2 d. P$ A' T2 E# N9 q9 ~

: w7 U8 B% V6 N; x4 N" O
  q$ G6 u. W" u0 _/ x/ d
9 ?. n- t, {6 @( m: B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 23:33 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表