我写了一个VHDL代码,应该在文件中循环并关闭文件,在文件结束并关闭文件后停止,但它只是无限期地循环读取文件
FILE f : TEXT;
constant filename : string :="input.txt";
VARIABLE L : LINE;
variable al : integer ;
variable opcode_str : string(5 downto 1);
variable comma : character;
begin
File_Open (f,FILENAME, read_mode);
while not endfile(f) loop
readline (f, l);
read(l, opcode_str);
read(l, comma);
read(l, Al);
op_code<= read_opcode(opcode_str);
w_tb <=std_logic_vector(to_unsigned(Al, w_tb'length));
wait for 10 ns;
end loop;
File_Close (f);
end process
您的流程在流程末尾没有wait
语句。所有没有敏感度列表的进程都是无限循环。
只需添加声明
wait; -- waits forever
在过程结束时。