这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 请教大虾

共1条 1/1 1 跳转至

请教大虾

菜鸟
2005-09-06 20:53:03     打赏
architecture behav of test1 is type my_state is(state1,state2); signal p_state,n_state:my_state; signal n:integer range 0 to 10; begin process(p_state,hf1) begin case p_state is when state1 => n<=0; dataout<="00000000"; if(hf1='0') then n_state<=state2; else n_state<=state1; end if; when state2 => dataout<=datain1; n<= n + 1; if(n = 10) then n_state<=state1; else n_state<=state2; end if; when others => null; end case; end process; process(rst,clk) begin if(rst='1') then p_state<=state1; elsif(clk='1' and clk'event) then p_state<=n_state; end if; end process; end behav; 本意想在状态为state2时,把10个输入送给输出,然后又回到state1 结果仿真的时候,发现在state2情况下,n并不是在每个时钟 的上升沿递增,而是一系列很乱的数字,象毛刺似的,状态也就一直 处于state2下,但小弟我实在看不出程序哪儿有问题,请教大虾 我用的是max+plus2 10.0版本 谢谢



关键词: 请教     大虾    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]