如下代码:
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。这样说对吗。麻烦大虾帮帮忙~