Forum: FPGA, VHDL & Co. ISE findet Entity nicht


von Lars K. (xunum)


Lesenswert?

Hallo,

ich arbeite gerade in einem Projekt mit ISE und dem XPS. Ich möchte 
gerne eine VHDL komponente als Peripheral einbinden, das Erstellen der 
Vorlagendateien funktioniert auch ganz gut. nun muss man in der 
user-logic.vhd, die durch den Wizard im XPS erstellt wird, die eigene 
Komponente einbinden.
Das mache ich über eine component Deklaration und spätere 
Instanziierung. Im ISE erscheint die komponente und entsprechende vhd 
Datei auch als eingebunden, während der Synthese erhalte ich allerdings 
folgende Warnung:

WARNING:Xst:2211 - ".../user_logic.vhd" line 298: Instantiating black 
box module <meine_komponente>.

Das hier habe ich bereits gefunden: 
Beitrag "Xilinx ISE XST Probleme"

Jedoch hilft mir der Satz "Ist nur ne Warnung, nicht drauf reagieren" 
nicht weiter, genauso wenig habe ich ein Schematic verwendet. Aus irgend 
einem Grund wird augenscheinlich die Entity nicht gefunden. Korrekt 
benannt ist die Entity in der Component deklaration auf jeden Fall.

Ich bin inzwischen mit meinem Latein am Ende.

Grüße

Xunum

von Bernd G. (Gast)


Lesenswert?

Versuch doch mal rein spaßeshalber, aus Deiner VHDL-Komponente ein 
Symbol (schematic) erstellen zu lassen, daß Du dann genauso spaßeshalber 
auf ein leeres schematic ablegst. Bei mir hat das schon mal geholfen, 
war allerdings in der Version 7.xy

Ansonsten ist es richtig: die Warnung mit "Black-Box" erscheint auch bei 
zweifelsfrei richtigen Instantiierungen von Komponenten aus dem 
Core-Generator.

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Hallo,

wahrscheinlich stimmen die Ein- und Ausgänge deiner Instanz nicht mit 
denen deiner Entity überein. Darum wäre ein Stück Code im Posting 
hilfreich. Ähnliche Probleme habe ich u.U. bei Instanzierungen der Art

    mcom_identify_device_ec : entity work.com_identify_device_ec
        port map (
            sclk           => sclk,
            ...);

wenn die Komponente nur als Netzliste vorliegt.

Tom

von Lars K. (xunum)


Lesenswert?

Das mit dem Schematic werde ich gleich mal testen.
Wenn ich die Komponente so einbinde führt sie im XPS während der 
Synthese ebenfalls zu Fehlern, die auf die Komponente zurück zu führen 
sind und auf einen Instantiierungsfehler hinweisen.

ich werde gleich mal schauen, ob ich ein Teil Code hier posten kann. Die 
Ports habe ich aber auch schon direkt einfach kopiert, die Portlisten 
sollten also gleich sein, das werde ich aber direkt nochmal nachprüfen.

Das einzige was ich nocht nicht ausgiebig getestet habe, ist das 
konfigurieren der Component, allerdings ist das normalerweise auch nicht 
nötig.

von Christian K. (morpheus421)


Lesenswert?

Hallo Lars,

mir ist noch nicht ganz klar, was du vor hast. Du hast ein Projekt im 
xps in die ISE importiert und willst nun eine Component einbauen? Greift 
diese auf interne Signale des XPS-Projects zu? Also hängst sie am 
internen Bus? Oder soll die Component quasi neben dem XPS_Projekt 
einfach nur im selben FPGA untergebracht werden? Denn nach meinem 
Kenntnisstand wären dann zwei unterschiedliche Methoden notwendig, deine 
User-logic einzubinden.

Gruß

von Lars K. (xunum)


Lesenswert?

Moin,

wir haben das Problem inzwischen gefunden, uns ist mal aufgefallen, dass 
durch das Tool definiert wird, welche Datei in welcher Library ist und 
man das nicht durch herumschieben auf der Festplatte verändern kann, 
dementsprechend konnte auch keine Entity gefunden werden. Wir haben 
inzwischen in ISE die Library korrekt definiert und nun funktioniert das 
auch.

Also Warnung bei eigenen Designs die nicht als Netlist, sondern als VHDL 
vorliegen nicht ignorieren.

Die Peripheral soll auf den internen OPB Bus zugreifen. Dementsprechend 
haben wir im XPS eine Vorlage für eine solche Peripheral in der 
Schnittstellen usw. definiert werden erstellt. Diese Vorlage enthält 
schon eine "user_logic" in die, am besten als "Component", unser Design 
eingebunden werden sollte.

von Christian K. (morpheus421)


Lesenswert?

wäre dann mein nächster Tip gewesen §;o) aber wenn alles läuft ist es ja 
bestens

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.