zoukankan      html  css  js  c++  java
  • 状态机跑飞的解决办法

          近期调试程序,对状态机的逻辑梳理没什么问题,但是实际运行时,总感觉状态机不是按照设定逻辑跳转运行,甚至出现了,没有A条件符合的情况,也跳转到只能条件A才能进入的状态机。

          以前不相信FPGA的状态机也会有跑飞的情况,用 Modelsim 仿真和用 State Machine Viewer查看发现确实是跑飞了。

          从夏宇闻老师那里搜到跑飞的可能原因:

          两种可能:

           (1)状态机的输入信号与本地时钟不同步,出现了冒险竞争现象,造成状态机死锁。
           (2)状态机综合后没有生成一旦进入非有效状态便立即复位,然后进入某个有效状态的电路。
         解决办法:

           (1)把外部引入的异步输入信号,做同步处理,作为本状态机的输入。
           (2)用综合指令或者约束,强行规定综合后必须生成一旦进入非有效状态便立即复位随即进入有效状态的电路。

           输入信号是指除了从当前状态反馈信号以外的信号,即从状态机外部输入的信号。
    是否会产生一旦进入非有效状态立即进行强制复位的电路,并不会因为你在状态机中加入when others=> state1 综合后就一定生成这样的电路。若想生成这样的电路,必须在综合时要通过综合指令(约束)命令综合器强制生成,才会生成的。

    原文链接:https://blog.csdn.net/xiaoxiao_rabbit/article/details/102751545

  • 相关阅读:
    ABP官方文档翻译 3.4 领域服务
    ABP官方文档翻译 3.3 仓储
    ABP官方文档翻译 3.2 值对象
    ABP官方文档翻译 3.1 实体
    ABP官方文档翻译 2.7 对象到对象的映射
    ABP官方文档翻译 2.6 定时
    bootstrap 源码中部分不了解的css属性
    vue 父组件调用子组件事件/子组件调用父组件方法
    js性能优化问题学习笔记
    js递归性能影响及解决方案
  • 原文地址:https://www.cnblogs.com/571328401-/p/12629661.html
Copyright © 2011-2022 走看看