Modelsim Fehlermeldung: Unknown expanded name

OP #1658192
Lesenswert?
• ▲
▼
Ich stehe vor einem Rätsel, warum Modelsim mir folgenden Fehler anzeigt:
1
# ** Error: my_module.vhd(123): Unknown expanded name
Dieser weitst auf folgende Zeile:
1
my_sl_en <= work.my_lib.ENABLED;
1
Die Bibliothek ist in my_module wie folgt eingebunden:
2
library work;
3
use work.my_lib.all;
In der Library selbst sehe ich auch keinen Fehler
1
library ieee;
2
use ieee.std_logic_1164.all;
3
package my_lib is
4
   constant ENABLED : std_logic := '1';
5
end my_lib;
In anderen Modulen nutze ich dies ebenfalls in der Art und es führt zu 
keinen Problemen. Die Bibliothek muss ich mit einbeziehen, da die 
Konstante in weiteren Bibliotheken vorhanden ist.

Hat jemand eine Idee was da falsch sein könnte?
OP #1658265
Lesenswert?
• ▲
▼
> Hast du das Package "my_lib" kompiliert ?

ja, und auch vor my_module und ohne Fehler.

Wenn ich die Bibliothek weg lasse, also so:
1
my_sl_en <= ENABLED;
dann bringt er erwartungsgemäß folgenden Fehler:
1
# ** Error: my_module.vhd(123): (vcom-1078) Identifier "enabled" is not directly visible.
2
#    Potentially visible declarations are:
3
#         work.my_lib.enabled (constant)
4
#         work.my_other_lib.enabled (constant)
Also muss das doch eigentlich kennen (und können).
OP #1658708
Lesenswert?
• ▲
▼
Ich sehe gerade, dass ich noch ein Zeile der Fehlermeldung unterschlagen 
habe. Die vollständige Fehlermeldung lautet:
1
# ** Error: my_module.vhd(123): Unknown expanded name
2
# ** Error: my_module.vhd(123): Selected name is type (error); expecting type ieee.std_logic_1164.std_logic.
Leider bringt mich das aber auch nicht weiter. In meiner Bibliothek ist 
die Konstante "ENABLED" doch vom Typ "std_logic".
#1664503
Lesenswert?
• ▲
▼
Lothar Miller schrieb:
> Und wie passt das damit zusammen:
>>>> Dieser weist auf folgende Zeile:
>>>> my_sl_en <= work.my_lib.ENABLED;

Der expandierte Name ist dann "das_signal_namens_work.my_lib.ENABLED", 
was natuerlich nicht existiert. Signale haben beim Expandieren scheinbar 
vorrang vor libs und in unseren Faellen gab es beides :-/
OP #1664914
Lesenswert?
• ▲
▼
Nabil Sayegh schrieb:
> Signale haben beim Expandieren scheinbar
> vorrang vor libs und in unseren Faellen gab es beides :-/

Genau.

> Und wie passt das damit zusammen:

Wenn ich das Signal "work" vom Typ als record deklariere, dann könnte es 
ja das Signal work.my_lib.ENABLED geben.
Gelernt habe ich daraus, dass "work" als Signalname denkbar ungeeignet 
ist. Das sollte man fast zu den reservierten Wörter bei VHDL mit dazu 
nehmen.

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