三段式状态机_对数字电路中状态机设计抽象层面的思考

没有什么控制逻辑是一个状态机解决不了的,如果不行,那就来两个。

检测序列是面试官最爱的状态机题目了,不啰嗦了。甚至有个变形的题目:如果判断一个不停输入的序列是否可以被某个数整除?本质还是状态转换,只是这时候状态不是序列组合而是模几的一个状态,通过下一个数x2或x2+1转到下一个状态。

状态机在数字逻辑电路设计中的作用怎么强调都不为过。关于状态机的参考资料也一抓一大把,不再赘述。今天我来谈谈对数字电路中状态机设计抽象层面的思考。抽象的层次够了,万物皆可比较。 顺带提一句,《可重构计算》里把ASIC归入冯诺伊曼体系的一个特例,我认为是没有问题的。确实,抽象到一定级别了,ASIC和CPU其实是一回事,硬件和软件的界限也没那么明显。

什么时候用状态机?当我需要一个控制信号,这个信号并不能直接根据当前的输入得到,而后面要输出这个控制信号又得依赖以前的状态。显然,一个状态机至少有两个状态(为什么?一个状态的话就没有状态转移,任何控制信号均直接依赖输入可得)。

比如说,简单的valid, ready握手。假设我要转发某个数据接收电路里产生的数据,为了不造成上游的堵塞,我先把它接收下来(即给上游ready),然后需要传给下游的电路,这就是一个简单的转发器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值