在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3909|回复: 7

[讨论] 状态机缺点是什么?

[复制链接]
发表于 2017-5-3 10:08:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
看见的资料都是是说状态机的有点的,但是状态机真的是没有缺点吗?
发表于 2017-5-3 10:19:19 | 显示全部楼层
问题很新颖,我不知道,坐等大神科普
发表于 2017-5-3 14:19:39 | 显示全部楼层
状态机速度慢。因为组合逻辑弄出多bit的next_state。即使采用one-hot编码,也改变不了多少。很多高速流水的情形,都不适合状态机。
 楼主| 发表于 2017-5-3 16:58:40 | 显示全部楼层
回复 3# whz7783478

哦,速度限制
发表于 2017-5-4 22:55:25 | 显示全部楼层
本帖最后由 Timme 于 2017-5-4 23:01 编辑

状态机的本质是信息压缩,把状态空间里的区域进行划分,压缩成若干比特来表示它们。

对于适合压缩的状态空间,使用状态机具有分割与征服(Divide & Conquer)的优点。但对于不适合压缩的状态空间,就不适合使用状态机。这就是状态机的缺点。

比如做一个16'b1000111010011010的输入密钥检测,它的状态空间是2^16,而且不容易清晰划分,所以要把它压缩成几个比特的状态机,会非常复杂而且代码容易写错。如果直接用16个移位寄存器(不压缩),就很清晰而且代码不可能写错。

事实上,适合使用“纯”状态机的场合其实非常少。即,很多场合过量使用状态机(进行过度压缩)很容易产生Buggy的代码。
发表于 2017-5-5 09:35:24 | 显示全部楼层
很想知道这些都从哪看到的!
发表于 2017-5-5 10:30:48 | 显示全部楼层
也想知道这些都从哪看到的
发表于 2017-5-6 01:32:55 | 显示全部楼层
state machine这个词在设计上包含三层意思: 一是state indicator,即标明一个状态。 二是flow control based on states,即用状态的跳转去做控制。三,也是最关键的一点,独立的STM基本都是串行运转的。
缺点来自于第三点:
【1】 parallel 和 pipeline 的arch不适合使用通常的STM,更合适的是所谓 “parallel state trigger machine”
【2】 会导致设计的flexibility和portability比较差,因为必须“按部就班”

因此使用STM的地方通常是提取出来的“串行度”比较高的design或sub-design
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-17 03:18 , Processed in 0.021008 second(s), 6 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表