Forum: FPGA, VHDL & Co. Wie text in VHDL deklarieren ?


von Gast (Gast)


Lesenswert?

Ich brauche eine Variable vom Typ Text / String, die ich einem Report 
übergeben kann. Diese wird an verschiedenen Stellen im Code gesetzt. Die 
Deklaration läuft aber schief:

Wie mache ich das ?

Ich habe das so :

variable Meldung :  string := "Start";

später will ich dann sowas schreiben :

Meldung := "blahblahblah";

Wenn der Report dann abfragt, sieht er die neue Meldung.

Mit filenamen kann ich das :

ENTITY PRINTER IS   GENERIC (printfile :  string := 
"printfiles\init.pst");

Was ist denn hier der String? Eine Variable, dachte ich. (?)

von Gast (Gast)


Lesenswert?

Es geht- wie gesagt - um die Deklaration. Die geht schief. Ist das 
überhaupt eine Variable?

von Reto (Gast)


Lesenswert?

Text ist eben Text und keine Variable, oder was meinst Du ?

von Matthias F. (flint)


Lesenswert?

Vielleicht ist es eine constant?

von Matthias F. (flint)


Lesenswert?

P.S.: Wenigstens der generic-Parameter. Das habe ich übrigens auch so 
und habe die Strings auch verwendet, um damit I/O-Files für die 
Testbench zu bezeichnen, was keine Probleme bereitete.

von gast (Gast)


Lesenswert?

Einer Constant kann ich aber doch keinen Wert zuweisen...

Es muss doch irgendwie gehen, eine Zeichenkette zu deklarieren und im 
Code dynamisch zuzusweisen.

Es muss nicht synthestierbar sein ...

von Matthias F. (flint)


Lesenswert?

Ich habe eigentlich keine Ahnung, was das Problem ist, die Fehlermeldung 
schreibst du leider hier nirgendwo.

Ich hab jetzt viel mit dem Typ line gearbeitet, dass ist ein access auf 
einen string. Damit hatte ich keine Probleme, wenn ein neuer string 
zugewiesen werden soll dann wird einfach der alte deallokiert und ein 
neuer angelegt.

von A. F. (chefdesigner)


Lesenswert?

Line ist aber auch nichts anderes als ein Char-Array, so wie TEXT.

von Matthias F. (flint)


Lesenswert?

Das ist mir schon klar aber wenn man einen string hat, kann man nicht 
zur Laufzeit die Größe ändern. Das möchte man aber für File I/O zb gerne 
mal machen.

von Heini (Gast)


Lesenswert?

Wieso muss man zur Laufzeit die Größe ändern?

von Achim (Gast)


Lesenswert?

Hallo,


variable text : string (1 to 7);

so vielleicht?

Gruß

Achim

von Gast (Gast)


Lesenswert?

Yepp! Geht! Danke!

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.