ICE 发表于 2010-6-26 01:11:53

毛刺引起状态机的死掉,大家帮说说原因!!!

本帖最后由 fpgaw 于 2010-11-18 16:13 编辑

例如:
sin位输入信号,可能有毛刺。这中情况下 状态机就会死掉。
process(rst,clk)
begin
if rst = '1' then
st <=idle;
elsif clk'event and clk = '1' then
case st is
when idle =>
    if sin = '1'then
   st <= s1;
    end if;
when s1 =>
    st <= idle;
end case;
end if ;
end process;

UFP 发表于 2010-6-26 02:14:15

死掉是什么意思?<br>
是没有进入到预定的状态<br>
还是进入了一个没有预定的状态

longt 发表于 2010-6-26 02:36:22

应该是没有进入预定的状态

usb 发表于 2010-6-26 03:41:52

那就只能去毛刺了

FFT 发表于 2010-6-26 04:01:21

去了就好了,但我是想知道为什么这毛刺会引起状态机死呢?

FFT 发表于 2010-6-26 04:52:42

"可能有毛刺"<br>
楼主难道对你的输入信号对不了解吗?

ICE 发表于 2010-6-26 06:45:40

这个不难理解吧<br>
有毛刺的情况下就会导致状态转换的条件不能成立<br>
那当然就会出现你所谓的&ldquo;死掉&rdquo;

interi 发表于 2010-6-26 07:12:02

我的输入信号sin不是一个一般的脉冲信号,他有效时间很长的<br>
他的无效是在状态机里的程序控制的。肯定不是因为采样采不到。

UFO 发表于 2010-6-26 07:30:02

我说的死掉,是指状态机在不进行复位的情况下,不管SIN信号是什么情况都不会继续跑的

AAT 发表于 2010-6-26 07:59:31

从数字电路理论来说,状态机的死掉就是在条件的驱使下进入了一个永远不能出去的状态
页: [1] 2
查看完整版本: 毛刺引起状态机的死掉,大家帮说说原因!!!