01.三段式状态机写的有问题,导致状态机跳变,里面的key_mid赋值存在互斥情况。
02.一般第二段只有状态机跳变,赋值操作放在第三段。
03.我把999999改成"patameter NUM=99",这样仿真运行4us即可。
04.sys_rst_n相关的逻辑可以忽略掉,不影响系统功能。
01.三段式状态机写的有问题,导致状态机跳变,里面的key_mid赋值存在互斥情况。
02.一般第二段只有状态机跳变,赋值操作放在第三段。
03.我把999999改成"patameter NUM=99",这样仿真运行4us即可。
04.sys_rst_n相关的逻辑可以忽略掉,不影响系统功能。
4
1
举报
-
卿小小_9e6:
没有使用你的仿真代码验证,自己试一下(注意sys_rst的处理)。
-
何格
回复
卿小小_9e6:
第一次写三段式状态机所以有很多问题,我昨天将状态转换那里的敏感信号改成组合逻辑就成功了。然后昨晚上我上网搜了一些资料,发现三段式状态机的状态转换那个模块都是组合逻辑。这点我就不是很明白为什么不能用时序逻辑。还有就是谢谢你的解答。
-
卿小小_9e6
回复
何格:
简单来讲,状态机的跃迁/跳变尽量不影响逻辑状态的运行,所以第二段推荐组合逻辑。
如果想用时序逻辑,也可以实现,只不过正常的逻辑运行可能会滞后1~N个时钟周期。
-