状态机和时序图

第一部分:状态机
1、认识状态机
对象:静态属性(Property)和动态行为(Event)(怎么感觉有点像程序里面面向对象的概念)。
状态:是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件的条件(condition)或状况(situation)。
状态机 图 通过对类 对象的生存周期建立模型 来描述对象随时间变化的动态行为,也可以用来描述用例、协作和方法的动态行为,它是展示状态与状态转换的图。
状态机 是一个对象所有可能生命历程的 模型。 描述对象的一种方式。
状态的一大特性就是转换,状态不是孤立的,换句话说,状态是变化的,是会互相转化的。
状态转换 是指两个状态之间、两个活动之间或者一个活动和一个状态之间的关系。
两个状态转换的原则:
(1)转换本身的逻辑性—并非所有的状态之间都可以任意转换
(2)转换的外界因素—转换时需要一个外因
举例:小人跑动(move)、小人站立静止(stand)、小人在空中坠落(falling)
第二部分:时序图
时序图 反映了模块的 输入输出信号随 时间变化 的情况。可以帮助理解模块的功能,直接反映信号的变化 及相互关系。
时序图的“先天缺陷”:
1、要将模块的所有功能描述出来,时序图要把输入信号和输出信号的所有可能状态都反映出来,这样需要时序图的周期个数尽可能多些,输入信号的变化尽可能多些。
2、时序图一般辅助理解模块的功能,模块一般需要文字性或状态机的功能描述(看来只是一张时序图还是不够的)。
3、时序图不便于HDL的实现 so >>>>>>>>>>>>>>>> 状态机(Medium) >>>>>>>>>>>>>>>>>> HDL
第三部分:关系(转换)
时序图 到状态机,一般要求时序图反映了所有输入和输出随时间变化的情况。
在这里插入图片描述
在这里插入图片描述
从上面两张时序图中可以分析出,静态RAM的读写时序都分成三个部分:Setup、Strobe、Hold。
读写接口信号:EM_CS、EM_A、EM_D、EM_OE、EM_WE、EM_RW,随时间也有不同的变化。 这样可以把读写时序分成 5 个状态:Setup、Read、Write、Hold 、Idle。
Idle状态:不读也不写,EM_CS为无效。
Setup状态:EM_CS有效,EM_RW分别为读、写,EM_WE和EM_OE无效。
Read状态:EM_OE有效,EM_WE无效。
Write状态:EM_WE有效,EM_OE无效。
Hold状态:EM_WE和EM_OE均为无效。
确定状态转移条件,这里用到计数器,Setup和Hold均为2个clk,而Read和Write均为3个clk,从Idle到Setup,需要使EM_CS有效。
经以上分析,静态RAM的读写时序状态机如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值