打印

关于状态机状态跳转异常的问题

[复制链接]
5002|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fxwang|  楼主 | 2007-6-16 23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在使用状态机时遇到了一个问题,状态机会不时跳过一些状态执行,或停在一个状态不动。这些情况都是在下载后遇到的,在仿真时并没遇见(也可能是仿真不全)。在状态机跳转条件中有一个FIFO输出的满信号。如果将该信号强制有效,整个状态机工作都十分正常。一旦采用FIFO输出信号,状态机在工作一段时间后就会出错。
    这个状态机基本是按照摩尔状态机来写的,有部分输出状态返回输入逻辑作为一些状态跳转的条件。状态机编码使用独热码。状态数量不超过20个。
    我想请教各位,状态机在什么情况下会出现这样的问题。状态机是如何停在一个不会停止的状态(向下一状态跳转没有条件的状态)上的。借此也希望大家能说说对状态机稳定性的看法。

相关帖子

沙发
zhang123| | 2007-6-17 07:50 | 只看该作者

那你fifo输出的形成是不是有不确定性。

使用特权

评论回复
板凳
fxwang|  楼主 | 2007-6-17 11:35 | 只看该作者

回复zhang123

是的,FIFO何时写满对于状态机来将是未知的。

使用特权

评论回复
地板
wd0109| | 2007-7-3 08:36 | 只看该作者

re

你的状态机里面有输出再引回输入逻辑。如果你的输出有引入锁存器,很可能导致你状态混乱。看看RTL,仔细分析一下程序应该能找到问题根源的。

使用特权

评论回复
5
wesaman| | 2007-7-3 19:55 | 只看该作者

同步

我好像也遇到过类似问题,建议用同步状态机。状态机的输入最好也与之同步

使用特权

评论回复
6
fxwang|  楼主 | 2007-7-22 02:42 | 只看该作者

我也认为是同步问题

我用同步的方式确实解决了问题,但对产生的具体原因不太清楚。状态机跳转也是时钟边沿采样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝