Forum: FPGA, VHDL & Co. file read typ std_ulogic_vector erzeugen?


von Mike K. (1tester)


Lesenswert?

Hallo

Ich habe versucht das einlesen eines Files in ein Rom zum realisieren 
und habe dazu den VHDL code vom Designer guide benutzt (16.1)

Hier wird ein file vom typ std_ulogic_vector(0 to data'length) definiert 
aber wie sieht so ein File aus das ich dann ohne Probleme einlesen kann?

lg Michael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike K. schrieb:
> wie sieht so ein File aus das ich dann ohne Probleme einlesen kann?
Da sollte man erst mal
> den VHDL code vom Designer guide
vorliegen haben...

von abc (Gast)


Lesenswert?

Am einfachsten ist doch immernoch das einlesen von Strings...
1
library IEEE;
2
use IEEE.std_logic_1164.all;  
3
use IEEE.numeric_std.all;
4
use IEEE.std_logic_textio.all;   
5
6
library STD;
7
use STD.textio.all;  
8
9
...
10
11
process
12
13
   variable fstatus    : FILE_OPEN_STATUS;
14
   file input_file     : text;
15
   variable LineIn     : line := null;
16
   variable int        : integer := 0;
17
18
begin
19
20
   file_open(fstatus, input_file, "filename.end", read_mode);
21
22
   while not endfile(input_file) loop
23
      readline (input_file,LineIn);
24
      -- ggf umwandlung zu integer
25
      Read(LineIn, int);
26
      -- Aktionen, z.b. konvertieren zu stdlogicvector und speichern in erwähntes ROM
27
   end loop;
28
29
end process;


hier kann man dann ganz einfach die zu ladenden Werte als Integer 
untereinander in eine Textdatei schreiben. Fertig.

von Mike K. (1tester)


Lesenswert?

Lothar Miller schrieb:
> Da sollte man erst mal
>
>> den VHDL code vom Designer guide
>
> vorliegen haben...

Sorry wollte nicht Designer guide code 1 zu 1 hier hinein copieren.


Thx abc, funktioniert!

Irgendjemand wie ich Angebe das die Umwandlung hex is?

lg Michael

von abc (Gast)


Lesenswert?

Willst du hex zahlen einlesen?

Dann versuchs mal mit hread...ist aber ziemlich anfällig, die Anzahl 
Stellen muss ziemlich genau auf den Zielvektor passen.

Würde ich wann immer möglich nicht einsetzen.

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
Noch kein Account? Hier anmelden.