www.mikrocontroller.net

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

Autor: Gast (Gast)
Datum: 25.04.2008 14:38

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: 25.04.2008 14:47

Es geht- wie gesagt - um die Deklaration. Die geht schief. Ist das
überhaupt eine Variable?
Autor: Reto (Gast)
Datum: 26.04.2008 20:37

Text ist eben Text und keine Variable, oder was meinst Du ?
Autor: Matthias F. (flint)
Datum: 28.04.2008 14:01

Vielleicht ist es eine constant?
Autor: Matthias F. (flint)
Datum: 28.04.2008 14:03

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: 29.04.2008 13:08

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: 29.04.2008 13:49

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 Fischer (chefdesigner)
Datum: 01.05.2008 13:42

Line ist aber auch nichts anderes als ein Char-Array, so wie TEXT.
Autor: Matthias F. (flint)
Datum: 02.05.2008 09:40

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: 02.05.2008 23:49

Wieso muss man zur Laufzeit die Größe ändern?
Autor: Achim (Gast)
Datum: 05.05.2008 11:16

Hallo,


variable text : string (1 to 7);

so vielleicht?

Gruß

Achim
Autor: Gast (Gast)
Datum: 06.05.2008 14:50

Yepp! Geht! Danke!

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net