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
我没仔细看,不过不是顺序执行, 是结果最后一起出来

【vhdl】while loop循环语句的问题
VHDL综合器不支持无法事先确定循环次数的LOOP语句。因此,while loop循环语句不可综合。如果你用的开发环境是编译与综合集成在一起的话,则不要用while loop循环语句。改成FOR num IN ? DOWNTO 0 LOOP的形式。

VHDL LOOP循环问题
因为loop中计数值的数据类型必须是“变量”。应该把num_r,num_g,num_b的数据类型改为变量。虽然可能楼主看不到。

vhdl loop 循环 如果起始值大于终止值
在VHDL中,如果LOOP语句中起始值大于终止值,应当采用"起始值 DOAWNTO 终止值"的表示形式,否则不会仿真循环体中的语句。

vhdl中for loop的问题
在每个clk的上升沿,如果ena='1'的话,for循环体都会被仿真4次,Q(3)~Q(0)都会被赋值为'1'。

关于VHDL元件例化语句port map语法报错的问题
VHDL里面的循环只能用在process里面吧,因为loop循环是顺序语句,顺序语句是用在进程里面的 你可以在toubi中设一个使能端口,然后在进程里面循环,通过控制使能端口来控制toubi的使用,,,

在VHDL中,语句”FOR I IN 0 TO 7 LOOP ”定义循环次数为几次。
8次

关于VHDL元件例化语句port map语法报错的问题
十进制计数、器蜂鸣报警模块、译码器模块、数据选择模块、六进制计数器。。。我是想说,这些计数器和模块FPGA元件库中是没有的,这些计数器和模块你必须先设计,即设计文件或实体,再将这些预先设计好的设计实体定义为一个元件,然后才例化

vhdl中while-loop语句实现奇偶校验时其中有条语句如何解释tmp:=tmp...
假设当i=1的时候,a(1)=1,则有temp:=temp xor a(1):=1 xor 1:=0;此时temp=0;当i=2的时候,a(2)=1,则有temp:=temp xor a(2):=0 xor 1:=1;此时temp=1;……依次类推。

使用VHDL用while语句对一个8位二进制数中值为1的位进行计数
比较直接的方法,8个bit相加,结果即为1的个数。向量较长时,可用LOOP语句循环实现

vhdl loop循环
不管你这样For i in 2 downto 0 loop写还是For i in 0 to 2 loop写loop中的循环变量i都是从0-2。我想问下可能有C(4)吗?0到2,加1的可能怕没有4吧

相似回答