inout in ise und edk

Gast #2236816
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?
Gast #2236864
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

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