mikrocontroller.net

Forum: FPGA, VHDL & Co. Procedure überladen


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht weiß ja jemand, wie man das behebt: Ich schreibe ein package 
für meine Testbench. In diesem gibt es eine procedure read_register, 
Deklaration so
  procedure read_register (
    constant regindex : in  integer range 0 to 63;
    signal value      : out std_logic_vector);

Ich möchte dieselbe procedure aber auch mit einer variable für "value" 
aufrufen können. Hier scheitere ich, wenn ich eine zweite procedure 
derart schreibe:
  procedure read_register (
    constant regindex : in  integer range 0 to 63;
    variable value    : out std_logic_vector);

dann beschwert sich Modelsim über eine doppelte Deklaration. Lasse ich 
nur eine der beiden Varianten einkommentiert funktioniert die jeweils 
andere nicht.

Erleuchtet mich bitte, wie macht man sowas richtig?

lg
Matthias

Autor: Iulius Caesar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias schrieb:
> variable value    : out std_logic_vector);
Mir fällt nur auf, dass dein vector dimensionslos ist, aber ich bin auch 
noch ein Anfänger ;-)

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, aber das macht keine Probleme. Irgendwo bei den Procedures oder 
Functions gibt es die Forderung der Sprache, dass nur ein "Unconstrained 
Array" Typ erlaubt ist (ich bilde mir eine beim Rückgabewert einer 
Function), darum habe ich mir das so angewöhnt.

lg
Matthias

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.