如何在控制台上打印matrix_a(1,1)?我评论的报告命令不起作用。
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ent is
end ent;
architecture Behavioral of ent is
type my_matrix is array(integer range 0 to 3, integer range 0 to 3) of integer;
signal matrix_a : my_matrix;
begin
matrix_a(1,1) <= 4;
--report "signal signal_d is " & integer'image((matrix_a(1,1)));
end Behavioral;
答案 0 :(得分:0)
您希望report
什么时候开始运行?
您已将其放置在架构的并发语句区域中:所有内容都是有效的进程,根据特定规则进行调度;例如,并发赋值matrix_a(1,1) <= 4;
将在启动时运行一次,并且每当其任何值发生更改时(即永远不会再次,因为它们都是文字常量)。
但是没有什么可以制作&#34;报告&#34;运行
现在,如果您在一个过程中明确地嵌入它,对matrix_a
中的更改很敏感,那么它将在start和matrix_a更改时运行。因此,请尝试使用此代替注释行:
process (matrix_a) is -- this list controls the process running
begin
report "signal signal_d is " & integer'image(matrix_a(1,1));
end process;