www.mikrocontroller.net

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


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. (?)

Autor: Gast (Gast)
Datum:

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

Autor: Reto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Text ist eben Text und keine Variable, oder was meinst Du ?

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist es eine constant?

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas F. (chefdesigner)
Datum:

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

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Heini (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso muss man zur Laufzeit die Größe ändern?

Autor: Achim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


variable text : string (1 to 7);

so vielleicht?

Gruß

Achim

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yepp! Geht! Danke!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.