14.1  –  ISIM  – 嵌套循环语句行为不正确-Altera-Intel社区-FPGA CPLD-ChipDebug

14.1 – ISIM – 嵌套循环语句行为不正确

描述

我的代码包含以下内容:

ladder2:为0到14的i生成开始
过程(clk,rst)开始
如果rst =’1’那么
– xin(i + 1,3)<=“00”&x“000”;
– xin(i + 1,2)<=“00”&x“000”;
– xin(i + 1,1)<=“00”&x“000”;
– xin(i + 1,0)<=“00”&x“000”;
LADD:
对于0到3循环中的j
xin(i + 1,j)<=“00”&x“000”;
结束循环;

注释掉的行有效,但是它们下面的循环执行但是没有按预期运行。

问题是由于循环和生成具有不同行为的语句。

以下是实现此行为的替代方法:

ladder2:为0到14的i生成开始
gen1:对于0到3的j生成开始
过程(clk,rst)开始
如果rst =’1’那么
xin(i + 1,j)<=“00”&x“000”;
elsif rising_edge(clk)然后
xin(i + 1,?)<= xin(i,j);
万一;
结束过程;
结束生成;
结束生成;

请登录后发表评论

    没有回复内容