Hallo zusammen, ich möchte in einer Testbench eine Binärdatei einlesen und die Daten an mein VHDL Design weiterreichen. Genauser gesagt: ich habe einen DVB Transportstream als Datei vorliegen und möchte diesen byteweise auslesen. Textdateien hab ich schon eingelesen und das funktioniert auch ohne Probleme. Zu Binärdateien habe ich (noch) nicht brauchbaren gefunden. Hat jemand schonmal so was gemacht? Gruß Jörn
Hab ne Lösung gefunden: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.STD_LOGIC_TEXTIO.ALL; USE STD.TEXTIO.ALL; entity tb_test is end tb_test; architecture Behavioral of tb_test is COMPONENT test PORT ( data_in: in std_logic_vector( 7 downto 0); data_out: in std_logic_vector( 7 downto 0) ); end component; signal data_in,data_out : std_logic_vector(7 DOWNTO 0); begin UUT: test PORT MAP( data_in => data_in, data_out => data_out ); tb_data: process type characterFile_Typ is file of character; file f: characterFile_Typ open read_mode is "football.ts"; variable c:character; begin -- init data_in<=x"00"; while not endfile(f) loop Read( f=>f, value=>c); data_in <= CONV_STD_LOGIC_VECTOR(character'pos(c),8); wait for 10 ns; end loop; wait; end process; end;
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.