vhdl loop循环

如下代码:
Load : process
Begin
Wait until clk='1';
If (load_x = '0') then
C(3)<=c_in;
For i in 2 downto 0 loop
C(i) <=C (i+1);
End loop;
为什么这样写了之后,仿真结果:假设c_in=7,之前C(0)到C(4)均为零。仿真完结果是C(4)=7,C(3)到C(0)为零。为什么而不是C(0)到C(4)都为7。进程内部是顺序执行吧? For i in 2 downto 0 loop和 For i in 0 to 2 loop。第一句是I从2到0顺序变化执行的吧,第二句式从0到2。这样说对吗。麻烦大虾帮帮忙~

不管你这样For i in 2 downto 0 loop写还是For i in 0 to 2 loop写loop中的循环变量i都是从0-2。我想问下可能有C(4)吗?0到2,加1的可能怕没有4吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-18
我没仔细看,不过不是顺序执行, 是结果最后一起出来
相似回答