Skip to content
Snippets Groups Projects
Commit e3d24fca authored by Dimitris Lampridis's avatar Dimitris Lampridis
Browse files

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

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 c01bc0e1
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment