if(cnt<b"0000_1010")then sum<=sum+tem_dat,累加和个数
时间:10-02
整理:3721RD
点击:
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;
-------------------------------------
请高手帮忙,
小弟是在看不出错误在那?
谢谢
代码如下:
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;
-------------------------------------
请高手帮忙,
小弟是在看不出错误在那?
谢谢
自己顶
都没人说话:(
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢
谁有Advanced FPGA Design中文版,给传一份好吗?谢谢