In VHDL - 从 HEX 文件初始化 std_logic_vector 数组 https://stackoverflow.com/questions/20164216/vhdl-init-std-logic-vector-array-from-hex-file/我几乎已经从 HEX 文件解决了 RAM 初始化问题。但从文件中读取似乎不起作用。
function ram_init(filename : string) return memory_array is
variable temp : memory_array;
file file_ptr : text;
variable line_line : line;
variable line_text : string(1 to 14);
variable tmp_hexnum : string(1 to 2);
variable lines_read : integer := 0;
begin
file_open(file_ptr,filename,READ_MODE);
while (lines_read < 32 and not endfile(file_ptr)) loop
readline (file_ptr,line_line);
read (line_line,line_text);
tmp_hexnum := line_text(10 to 11);
temp(lines_read) := hex_to_bin(tmp_hexnum);
lines_read := lines_read + 1;
end loop;
file_close(file_ptr);
return temp;
end function;
signal ram : memory_array := ram_init(filename=>"../RAM.HEX");
如果我将 tmp_hexnum 设置为例如“0A”,可以,但是从文件读取不会填满 RAM。
您能帮我检查一下文件部分吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)