说我有一个循环:
for j in 0 to 9 loop
if j <= natutalValue then
-- do stuff;
end if ;
end loop;
当我以这种方式编写代码时,编译器对它不满意。
我的问题:我可以评估自然吗?
答案 0 :(得分:2)
您的代码不是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 evaluation.vhdl
Macbook:ghdl -e评估
Macbook:ghdl -r评价
evaluate.vhdl:11:17:@ 0ms :(报告说明):j = 0做东西
evaluate.vhdl:11:17:@ 0ms :(报告说明):j = 1做东西
evaluate.vhdl:11:17:@ 0ms :(报告说明):j = 2做东西
evaluate.vhdl:11:17:@ 0ms :(报告说明):j = 3做东西
evaluate.vhdl:11:17:@ 0ms :(报告说明):j = 4做东西
它有效。这说明问题出在你没有告诉我们的事情上。