共1条
1/1 1 跳转至页
请教大虾

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 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |