VHDL - init std_logic_vector-array aus der HEX-Datei

Habe ich einfach "RAM" implementiert:

type memory_array is array(31 downto 0) of std_logic_vector(7 downto 0);
signal ram : memory_array;

Möchte ich init Inhalt es ist, aus der HEX-Datei. Ich Frage mich nach dem Lesen der Datei wie:

ram_init: process
    file file_ptr : text;
    variable line_text : string(1 to 14);
    variable line_num : line;
    variable lines_read : integer := 0;
    variable char : character;
    variable tmp_hexnum : string(1 to 2);
begin
    file_open(file_ptr,"../RAM.HEX",READ_MODE);
    while (not endfile(file_ptr)) loop
        readline (file_ptr,line_num);
        READ (line_num,line_text);
        if (lines_read < 32) then
            tmp_hexnum := line_text(10 to 11);
            -- ram(lines_read) <= tmp_hexnum;
            lines_read := lines_read + 1;
            wait for 10 ns;
        end if;
    end loop;
    file_close(file_ptr);
    wait;
end process;

Das problem ist (wenn der oben gezeigte code würde arbeiten, die ich gar nicht wissen), wie konvertiert man die tmp_hexnum string std_logic_vector.

Bitte haben Sie Geduld mit mir, VHDL-Anfänger.

  • Welche hardware-Plattform Sie verwenden möchten? Wenn es um die Speicher-Initialisierung, die zugrunde liegende hardware ist mindestens genauso wichtig wie der VHDL-code.
InformationsquelleAutor Mikk | 2013-11-23
Schreibe einen Kommentar