Forum: FPGA, VHDL & Co. Procedure überladen


von Matthias (Gast)


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
1
  procedure read_register (
2
    constant regindex : in  integer range 0 to 63;
3
    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:
1
  procedure read_register (
2
    constant regindex : in  integer range 0 to 63;
3
    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

von Iulius Caesar (Gast)


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 ;-)

von Matthias (Gast)


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

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.