在modelsim中的VHDL测试台中没有检测到endfile,测试台只是不确定地重复它



我写了一个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

在过程结束时。

相关内容

最新更新