如何评估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
并且有效。这表示问题出在您没有向我们展示的东西上。
假设我有一个循环:
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
并且有效。这表示问题出在您没有向我们展示的东西上。