Forum: FPGA, VHDL & Co. VHDL: Record in entity nutzen


von Waldi (Gast)


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

von foo (Gast)


Lesenswert?


von Waldi (Gast)


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?

von Heinrich H. (Firma: Ich.AG) (hhanff)


Lesenswert?

Waldi schrieb:

> jetzt die Frage: Geht das nicht auch ohne extra Package? Es sind ja auch


Ist mir nicht bekannt.

von HalloMalloPallo_HMP (Gast)


Lesenswert?

foo schrieb:
> http://www.gaisler.com/doc/vhdl2proc.pdf
> http://www.gaisler.com/doc/structdes.pdf

Danke für nichts! Die Gaisler-Methode ist der Dienstleister unter den 
VHDL-Entwicklungsansätzen ;-)

von bar (Gast)


Lesenswert?

HalloMalloPallo_HMP schrieb:
> Danke für nichts! Die Gaisler-Methode ist der Dienstleister unter den
> VHDL-Entwicklungsansätzen ;-)

Richtig angewendet ist sie der Porsche unter den 
VHDL-Entwicklungsansätzen!

von Waldi (Gast)


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?

von Mario (Gast)


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.

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.