VHDL: Record in entity nutzen

Gast #3373020
Lesenswert?

Moin,

ich hab da mal ne Frage ob es eine Möglichkeit gibt, bequem Records 
(oder andere selbst definierte Datentypen) in den Ports einer entity zu 
nutzen. Der Datentyp muss ja dem Modul, welches die entity instantiieren 
möchte, bekannt sein. Eine Möglichkeit wäre also den Datentyp in ein 
Package zu stecken, und dieses Package in beiden Dateien einzubinden. Um 
mal die Möglichkeiten von VHDL genauer auszukundschaften stellt sich mir 
jetzt die Frage: Geht das nicht auch ohne extra Package? Es sind ja auch 
Deklarationen in einer entity erlaubt:
1
  entity blubber is
2
    Port(
3
      A : out MyType_T
4
    );
5
    type MyType_T is std_logic;
6
  end blubber;

Leider tut das nicht das gewünschte. An der Stelle wo der Port 
deklariert ist, ist der Type leider noch nicht sichtbar.

Fällt noch jemanden was ein, wie das funktioniert, oder was man 
ausprobieren könnte?

Gruß,
Waldi
Gast #3373340
Lesenswert?

Ähm, ja, ok, danke, dass du mir gezeigt hast, dass man Links ium Forum 
benutzen kann. Das war aber gar nicht meine Frage ;-)

Nee, mal ernsthaft: So weit ich das sehe benutzt Guru Geißler auch ein 
Package um die Typdefinition unterzubringen. Insofern: Was möchtest du 
mir mit den beiden Links sagen, foo?
Gast #3374701
Lesenswert?

Ok, scheint also nicht zu gehen.


Fällt jemandem eine sinnvolle Nutzung des Deklarationsbereichs in der 
Entity ein? Bzw. wo ist der unterschied, ob ich etwas in der Entity oder 
in der Architecture deklariere?
Gast #3374798
Lesenswert?

port() ist doch eine Schnittstellenbeschreibung und da haben 
Type-Deklrationen, würde ich meinen, nichts zu suchen. Das Übergeordnete 
Modul muss doch ebenfalls diesen Type kennen. Dort müsste die 
Type-Deklaration ebenfalls vorgenommen werden und darüber dann auch. Ich 
würde sowas in work packen.

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