Forum: FPGA, VHDL & Co. inout in ise und edk


von guest (Gast)


Lesenswert?

Hallo,

ich habe zur Zeit Probleme einen IP core in das edk einzubinden, indem
eines der Toplevel Signale ein inout ist.
Die "user_logic.vhd" instanziiert meine Komponente, die den 
angesprochenen inout als Schnittstelle besitzt. Dieses inout Signal wird 
dann einfach herausgeführt bzw. als externes Signal bereitgestellt, 
sodas es im edk beim Reiter "Ports" verwendet werden kann.
Die Steuerung des inouts, also wann hochohmig geschaltet wird und die 
Zuweisungen des IO, finden innerhalb meiner Komponente statt.
Soweit alles im Lot. Beim synthetisieren des ganzen gibts jedoch 
folgendes Problem:

Port <io_I> of instance <controller_0> does not exist in definition 
<controller>. Please compare the definition of block <controller> to its 
component declaration to detect the mismatch.
Port <io_O> of instance.....siehe darüber..
Port <io_T> of instance.....siehe darüber..

Wie mach ich der Synthese klar, dass I, O und T innerhalb meiner eigenen 
Komponente stecken? Oder muss ich zwangsweise I,O,T aus meiner 
Komponente herausführen und in der user_logic, oder gar darüber 
liegenden Ebene, einen IOBUF einsetzen?

Instanziiere ich beispielsweise diese Komponente manuell in ISE, wird 
automatisch der IOBUF bei der Synthese eingesetzt und das ganze 
Konstrukt läuft wie gewünscht. Warum haut das bei der Nutzung des edk 
nicht hin?

von Duke Scarring (Gast)


Lesenswert?

guest schrieb:
> Oder muss ich zwangsweise I,O,T aus meiner
> Komponente herausführen und in der user_logic, oder gar darüber
> liegenden Ebene, einen IOBUF einsetzen?
So mache ich das zumindest, auch wenn ich kein EDK verwende.
IO-Buffer werden nur im top-Level instanziiert oder aus der Beschreibung 
abgeleitet (Tristate und nicht differentielle Ports).

Duke

von guest (Gast)


Lesenswert?

> IO-Buffer werden nur im top-Level instanziiert oder aus der Beschreibung
> abgeleitet

Danke, das ist doch mal eine Aussage.

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.