"globale" Signale in VHDL

Gast #663775
Lesenswert?

Oh ja ich hab mich etwas falsch ausgedrueckt!
Ich habe zwei Prozeduren. Die erste Prozedur (proc_a) diese bekommt 1 
Konstante und 2 Signale ubergeben.
Die zweite bekommt nur eine Konstante uebergeben und soll proc_b mit 
dieser konstante und den signalen sign1 und sign2 aufrufen.

Beim compilieren bekomme ich die Meldung das die Signale von diesem 
Unterprogramm nicht getrieben werden koennen.

Ich hier mal ein Beispiel.


Signaldeklaration:
-----------------------------------------------------------
signal sign1 : integer;
signal sign2 : integer;
-----------------------------------------------------------



Prozedurdeklaration:
-----------------------------------------------------------
procedure proc_a (constant c_1 : in integer;
                  signal s1 : out integer;
                  signal s2 : out integer   ) is
begin
  s1 <= c_1;
  s2 <= 2*c_1;
end proc_a;

procedure proc_b (constant c_2 : in integer) is
begin
  proc_a(c_2, sign1, sign2)
end proc_b;
-----------------------------------------------------------
Gast #665764
Lesenswert?

sign_1/2 sind in proc_b nicht bekannt, des geht so also nicht - mußt 
halt auch über die Parameterliste gehen
Falls Du nur 'Verhaltenskode' schreibst, könntest Du die Signale in 
einem Package deklarieren, dann sind sie überall bekannt. Daraus lässt 
sich aber keine HW synthetisieren!

Gruß
  P.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren