Commit bdc63b2a authored by Dimitris Lampridis's avatar Dimitris Lampridis

genrams: when pre-loading a RAM with an init file, assert that the file size is…

genrams: when pre-loading a RAM with an init file, assert that the file size is not bigger than the size of the memory it is written to
parent aeee595d
......@@ -134,6 +134,10 @@ package body memory_loader_pkg is
end loop;
end loop;
if not endfile(f_in) then
report "f_load_mem_from_file(): file '"&file_name&"' is bigger than available memory" severity FAILURE;
end if;
file_close(f_in);
return mem;
end f_load_mem_from_file;
......@@ -173,6 +177,10 @@ package body memory_loader_pkg is
mem(I) := to_stdlogicvector(tmp_bv);
end loop;
if not endfile(f_in) then
report "f_load_mem_from_file(): file '"&file_name&"' is bigger than available memory" severity FAILURE;
end if;
file_close(f_in);
return mem;
end f_load_mem32_from_file;
......@@ -210,6 +218,10 @@ package body memory_loader_pkg is
mem(I) := to_stdlogicvector(tmp_bv);
end loop;
if not endfile(f_in) then
report "f_load_mem_from_file(): file '"&file_name&"' is bigger than available memory" severity FAILURE;
end if;
file_close(f_in);
return mem;
end f_load_mem16_from_file;
......@@ -247,6 +259,10 @@ package body memory_loader_pkg is
mem(I) := to_stdlogicvector(tmp_bv);
end loop;
if not endfile(f_in) then
report "f_load_mem_from_file(): file '"&file_name&"' is bigger than available memory" severity FAILURE;
end if;
file_close(f_in);
return mem;
end f_load_mem8_from_file;
......@@ -287,6 +303,10 @@ package body memory_loader_pkg is
mem(I) := to_stdlogicvector( tmp_bv((byte_idx+1)*8-1 downto byte_idx*8) );
end loop;
if not endfile(f_in) then
report "f_load_mem_from_file(): file '"&file_name&"' is bigger than available memory" severity FAILURE;
end if;
file_close(f_in);
return mem;
end f_load_mem32_from_file_split;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment