如何评估vhdl中循环的索引

how to evaluate the index of a loop in vhdl

假设我有一个循环:

for j in 0 to 9 loop
  if  j <= natutalValue then
    -- do stuff;
  end if ;
end loop;

当我以这种方式编写代码时,编译器对此并不满意。

我的问题:我可以评价 NATURAL 吗?

您的代码不是 Minimal, Complete, and Verifiable example,缺少 NatutalValue 的声明。

填空:

entity evaluate is
end entity;

architecture foo of evaluate is
    constant natutalValue:  integer := 4;
begin
    process 
    begin
        for j in 0 to 9 loop
            if j <= natutalValue then
                report "j = " &integer'image(j) &" do stuff";
            end if;
        end loop;
        wait;
    end process;
end architecture;

Macbook: ghdl -a evaluate.vhdl
Macbook: ghdl -e evaluate
Macbook: ghdl -r evaluate
evaluate.vhdl:11:17:@0ms:(report note): j = 0 do stuff
evaluate.vhdl:11:17:@0ms:(report note): j = 1 do stuff
evaluate.vhdl:11:17:@0ms:(report note): j = 2 do stuff
evaluate.vhdl:11:17:@0ms:(report note): j = 3 do stuff
evaluate.vhdl:11:17:@0ms:(report note): j = 4 do stuff

并且有效。这表示问题出在您没有向我们展示的东西上。