|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
if(cnt<b"0000_1010")then sum<=sum+tem_dat语句却做了前11个的累加和
代码如下:
cal_p:process(clk,ena,sop,cnt,tem_dat,sum)
begin
if(clk'event and clk='1')then
if(ena='0')then --清零
sum<=(others=>'0');
end if;
if(ena='1')then --置数累加
if(sop='1')then
sum<=tem_dat;
elsif(cnt<b"0000_1010")then //此条件,应该只做cnt=0,1,~,9时。
sum<=sum+tem_dat; //前10个tem_dat的累加(理论上只做到包含cnt=9)
end if; //实际仿真却发现累加作了11个tem_dat(即,包含cnt=10)
end if;
end if;
-- if(ena='1')then --保持,可以省略
-- if(cnt>=b"0000_1010")then
-- sum<=sum;
-- end if;
-- end if;
end process cal_p;
-------------------------------------
请高手帮忙,
小弟是在看不出错误在那?
谢谢 |
|