我正在尝试从一个文件中读取一个矩阵,它包含一个灰度图像像素的颜色。在此之后,我必须将读取的数据放入一个寄存器中,并对其执行一些操作。当我试图模拟我的代码时,数据在" data“信号中可以正常读取,但当我试图存储一个元素时,我读取了"test”信号,并将其显示在"last_elem“输出中,它显示为-2147483648。我做错了什么?为什么我无法访问我读取的数据?
entity Main is
Port(
rstb:in std_logic;
clk:in std_logic;
row:out integer;
col:out integer;
last_elem:out integer
);
end Main;
architecture Behavioral of Main is
type matrixData is array(0 to 240, 0 to 217) of integer;
signal data:matrixData;
signal test:integer;
begin
process(clk)
file read_file:text;
VARIABLE file_line:LINE;
VARIABLE row_counter:INTEGER:=0;
variable rows:integer;
variable cols:integer;
variable read_value:integer;
begin
file_open(read_file, "D:\Faculta\An 3 Sem 2\SCS\image.txt", read_mode);
readline(read_file,file_line);
read(file_line, rows);
read(file_line, cols);
row<=rows;
col<=cols;
for i in 0 to rows-1 loop
readline(read_file,file_line);
for j in 0 to cols-1 loop
read(file_line, read_value);
data(i,j)<=read_value;
end loop;
end loop;
test<=data(0,0);
last_elem<=test;
file_close(read_file);
end process;
end Behavioral;https://stackoverflow.com/questions/55784261
复制相似问题