type wave_table_t is array (0 to SIZE-1) of bit_vector (DAT_W-1 downto 0);
- function init_table_from_file (file_name : string) return wave_table_t is
+ impure function init_table_from_file (file_name : string) return wave_table_t is
file table_file : text open read_mode is file_name;
variable file_line : line;
variable table : wave_table_t;
begin
for i in wave_table_t'range loop
readline(table_file, file_line);
+
+ if endfile(table_file) then
+ file_close(table_file);
+ file_open(table_file, file_name, read_mode);
+
+ readline(table_file, file_line);
+ end if;
+
read(file_line, table(i));
end loop;