毛刺引起状态机的死掉,大家帮说说原因!!!
本帖最后由 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; 死掉是什么意思?<br>
是没有进入到预定的状态<br>
还是进入了一个没有预定的状态 应该是没有进入预定的状态 那就只能去毛刺了 去了就好了,但我是想知道为什么这毛刺会引起状态机死呢? "可能有毛刺"<br>
楼主难道对你的输入信号对不了解吗? 这个不难理解吧<br>
有毛刺的情况下就会导致状态转换的条件不能成立<br>
那当然就会出现你所谓的“死掉” 我的输入信号sin不是一个一般的脉冲信号,他有效时间很长的<br>
他的无效是在状态机里的程序控制的。肯定不是因为采样采不到。 我说的死掉,是指状态机在不进行复位的情况下,不管SIN信号是什么情况都不会继续跑的 从数字电路理论来说,状态机的死掉就是在条件的驱使下进入了一个永远不能出去的状态
页:
[1]
2