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.