P0-Logisim简单部件与有限状态机
2024-09-18 05:14:02
#自学了6week,pre都挂了,做了做P0课下测试,觉得自己对有限状态机概念的的理解,特别是牵扯到时序还是很模糊;状态的抽象也不够熟练;logisim和Verilog的实现也存在问题。网上针对性的logisim题目似乎很少,博主害怕P0挂了,于是做一做学习笔记,分享一下对于有限状态机的一些理解,如有不对的地方烦请指正。发现错误我也会及时更新。
Logisim中的FSM(P0.L0.Q4)
状态的抽象:
应当注意当前状态/次态和输入是不一样的,不要混为一谈,抽象状态时需要确定是否包含了所有的状态且状态转移图没有逻辑错误;如错误,则重新选取新的状态。至于如何用更少的位数抽象出状态则可能需要多多做题总结了。
比如这道题状态是已输入的最后两位字符(总共四位2进制),Sed【3:0】和S【3:0】,
确定好状态和输入就可以利用logisim构建状态转移组合逻辑块了,同理可用logisim构建输出组合逻辑块
关于mealy型和Moore型时序问题
有限状态机的逻辑结构相信大家都很清楚,不清楚的可以网上自寻寻找资源或见cscore教程有限状态机,但这里有一点我想要谈一谈:
输入和当前状态对应当前输出 在一个时间周期内,输入和当前状态对应当前输出。我认为可以想象,输入信号在一个时钟周期的开区间是稳定不变的,只有在时钟边沿才算作新的输出,就相当于外部信号是用寄存器存储的(Verilog中的reg类型)
笔者太菜了,之前一直没想明白,导致构建Mealy型时总是在输出组合逻辑块纠结是否再加一个寄存器来稳定输出,当然我之前想法是错误的。
最新文章
- PHP常用数组函数介绍
- Invert Binary Tree
- 升级java8---from centos
- myeclipse工程当中的.classpath 和.project文件什么作用?
- Pyqt QSplashScreen启动画面
- SparkContext源码阅读
- ACM题目————食物链
- controller 监控Unix性能信息
- SQL常用方法整理
- labview图形和图表的类型
- 原生应用native、Web应用、混合应用hybrid:3者的优缺点解析
- 安卓OKhttp请求封装
- 转 intValue()的用法
- LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程
- Python -- 连接数据库SqlServer
- POJ 2771 Guardian of Decency(最大独立集数=顶点数-最大匹配数)
- Android开发环境内容汇总
- 【Pyton】【小甲鱼】爬虫4-XXOO
- Java初始化块的作用
- grafana设置Alert阈值和邮件报警