Bien le bonjour !
Je code actuellement en VHDL avec la version étudiante de ModelSim 10.4a et
je dois lire dans un fichier contenant plusieurs plusieurs ligne du type :
:0600000002008D02004029
:030023000200597F
:10004000C0E0C2A8C29075A002C2B 700AB80D2B710
:10005000D290D0E0C289D2A832C2B 5209928C0E09F
:10006000E599C298B40205782B020 079B600030224
:100070000079B85D0302007908F6B 40304D2007871
c'est de l'hexadécimal.
j'aimerais convertir ces lignes en bit par exemple '0' => '0000', '1' => '0001' etc...
Mais je n'arrive pas à récupérer chaque caractère séparément.
Mon code pour récupérer la ligne:
Je pense que la fonction read ne récupère que la ligne. Je ne sais pas si il existe une fonctionCode:architecture sim of mc87c51_rom is type rom_type is array (65535 downto 0) of bit_vector(3 downto 0); signal s_init : boolean := false; begin p_read : process (clk, reset, rom_adr_i) variable i : integer; variable v_line : line; variable res: rom_type; file f_initfile : text is in c_init_file; begin if (not s_init) then i := 0; while ((not endfile(f_initfile))) loop readline(f_initfile,v_line); read(v_line,res(i)); end loop; s_init <= true; end if; end process p_read; end sim;
qui permet de récupérer seulement un caractère. Merci.
KP.
-----