Datei schreiben - und zwar nicht als Text

OP #6474929
Lesenswert?

Moin,
ich habe in der Simulation SLVs und möchte die 1:1 binär in eine Datei 
schreiben. Das sind ziemlich viele, die sollen also einfach nacheinander 
in der Datei stehen.

Jetzt habe ich das so probiert:
1
signal daten: std_logic_vector(7 downto 0):=(others => '0');
2
type slv_file is file of std_logic_vector(7 downto 0);
3
file datenfile: slv_file open write_mode is "Datei.bin";

Und dann im getakteten Prozess:
1
write(datenfile, daten);

Die Datei wird auch geschrieben, aber sie enthält nicht den SLV daten 
sondern andere Werte die ich mir nicht erklären kann. Eigentlich nur 
x"02" und x"03".
Eine Fehlermeldung bekomme ich ebenfalls nicht.
Tja, woran könnte das liegen und wie mache ich das richtig?

Vielen Dank!
OP #6475311
Lesenswert?

So, geht, aber nicht direkt als SLV sondern als character.
1
signal daten: std_logic_vector(7 downto 0):=(others => '0');
2
type slv_file is file of character;
3
file bytefile: slv_file open write_mode is "UART.bin";

Und im Prozess dann:
1
write(bytefile, character'val(to_integer(unsigned(daten))));

Danke René D. Beitrag "Re: std_logic_vector nach character konvertieren/umwandeln"
Dafür braucht es dann auch kein
use std.textio.all;
oder/und
use IEEE.std_logic_textio.all;

Aber es geht weiter, was wenn ich zusätzlich in der selben Testbench 
auch noch Text schreiben will? Dann brauche ich ja auch noch TextIO und 
das definiert ja write vielleicht anders?!

Funktioniert wunderbar, auch mit eingebundenem TextIO funktioniert das 
oben und ich kann wunderbar character schreiben ohne Zeilenumbruch oder 
so weil kein Text und gleichzeitig mit TextIO werden Zeilen geschrieben 
als Text.
(Firma: www.elpra.de) Persönliche Seite #6475603
Lesenswert?

Gustl B. schrieb:
> Genau, ich dachte das müsste ich hier machen, muss ich aber nicht.
> Warum verstehe ich nicht. Das write() ist einmal Zeile, Daten und einmal
> Datei, Zeile.
> Aber egal, funktioniert.

Das liegt daran, dass VHDL das ueberladen von Funktionen erlaubt.

Ich kann nur empfehlen mal von Peter Ashenden das Buch "The Designer's 
Guide to VHDL - Third Edition" zu besorgen, zu lesen und zu verstehen. 
Kostet vll. 50€, aber die sind wirklich gut investiert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren