Hallo Leute, da ich hier neu erscheine, kurz etwas zu mir: Bin ausgebildete Informationselektronikerin, gelernt bei der DB; seit 2002 entwickele ich µP-Systeme (meist 8051-Core) und programmiere diese auch; in den letzten Wochen habe ich die Aufgabe, µP-Systeme auf einen FPGA (Spartan 3) zu implementieren. Jetzt arbeite ich mit der Xilinx-ISE, V 10.1.03 (nt) und dem "Spartan-3A FPGA Starter Kit" von Digilent. Seit einer Woche versuche ich, die "boarddemo.v zum Laufen zu bringen. Dazu habe ich das ZIP-File "s3ask_demo.zip" von der Xilinx-Seite runtergeladen und in ein Verzeichnis entpackt. Die fehlenden PicoBlaze-Beschreibungen (in Verilog, wie im "readme.txt" aufgezählt) ebenfalls. Problem: Beim "Implement Design" aus der ISE bekomme ich die Fehler ERROR:NgdBuild:604 - logical block 'pol2rect_inst/angle_inst' with type ERROR:NgdBuild:604 - logical block 'picotune_inst/pcm_fifo_inst' with type Diese Fehler erscheinen nicht, wenn ich das Batch-File ..\demo\implement\implement.bat starte. Bin etwas hilflos und drehe mich im Kreise. Bei der Foren-Suche konnte ich leider keinen Beitrag dazu finden. Hat jemand die gleichen Erfahrungen gemacht und kommte das Problem lösen? Vielen Dank für die Hilfe, viele Grüße Petra
Als erstes solltest du dir mal die komplette Fehlermeldung anschauen, die steht im Report - Wenn du "warnings" oder "errors" auswaehlst, wird leider immer nur die erste Zeile der Meldung angezeigt, was wie hier ziemlich unverstaendlichen Kram ergibt.
Hallo Jan, danke für den Hinweis. Auch die vollständige Fehlermeldung (s.u.) hilft mir nicht weiter. Vor allem erstaunt mich, dass der Prozess aus dem "implement.bat" durchläuft, wenn auch mit über 400 Warnings. Der Bit-File funktioniert aber offensichtlich mit allen Funktionen. Überprüft habe ich das durch Veränderung der auf dem LCD-Display ausgegebenen Texte. Auch muß doch schon mal jemand versucht haben, als ersten Schritt die Boarddemo zu testen? Lief das denn ohne Probleme? Vielen Dank, viele Grüße Petra ERROR:NgdBuild:604 - logical block 'pol2rect_inst/angle_inst' with type 'angle_lut' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, or the misspelling of a type name. Symbol 'angle_lut' is not supported in target 'aspartan3a'. ERROR:NgdBuild:604 - logical block 'picotune_inst/pcm_fifo_inst' with type 'pcm_fifo' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, or the misspelling of a type name. Symbol 'pcm_fifo' is not supported in target 'aspartan3a'.
In deinem Projekt fehlen einfach die Dateien, die angle_lut und pcm_fifo enthalten. Das sollten .vhd- oder .ngc-Dateien sein. Einfach einbinden und das Problem sollte behoben sein. implement.bat wird wohl eine eigene Projekt-Datei verwenden, in der diese Dateien aufgefuehrt sind.
@Petra: Außerdem würde ich das Target-Device (Ziel-FPGA) nochmal prüfen: 'aspartan3a' steht m.E. für die Automotive-Version. Duke
danke für die Anregungen. >In deinem Projekt fehlen einfach die Dateien Diese sind vollständig. Fehlende Dateien würden im ISE Source-Fenster auch mit einem roten Fragezeichen markiert werden. In den Log-Dateien (vom Batch wie von ISE) werden alle Dateien vollständig aufgeführt. >Außerdem würde ich das Target-Device (Ziel-FPGA) nochmal prüfen: Ja, da ist beim n-ten Mal Aufziehen des Projekts der falsche reingerutscht. Behoben aber der Fehler bleibt. Bei Vergleich der Log-Files fiel mir auf, dass im Log des Batch und der ISE unter "Synthesizing Unit <picotune>." in einem Kasten ein paar Zeilen drunter verschiedene Einträge stehen stehen: ... | Power Up State | 00 | Encoding | automatic im ISE.log : | Implementation | LUT im Batch.log : | Implementation | automatic ... Ich vermute der Prozess wird mit verschiedenen Parametern aufgerufen. Nur wo sind diese einzustellen? Viele Grüße Petra
Petra K. wrote: > danke für die Anregungen. > >>In deinem Projekt fehlen einfach die Dateien > Diese sind vollständig. Fehlende Dateien würden im ISE Source-Fenster > auch mit einem roten Fragezeichen markiert werden. > In den Log-Dateien (vom Batch wie von ISE) werden alle Dateien > vollständig aufgeführt. Auch die "angle_lut" und "pcm_fifo" ? Wenn ja, was sind das für Dateien? Eventuell vom Core-Generator erzeugt, und durch ein Project Clean sind nur die VHDL-Wrapper übrig gebliegen, die NGC-Dateien aber verschwunden? Schau mal, ob da eine CoreGen Projektdatei bei ist, mit der kannst du die wieder herstellen.
>Auch die "angle_lut" und "pcm_fifo" ? Wenn ja, was sind das für Dateien?
Diese Dateien finden sich im Unterverzeichnis des "boarddemo"-Projekts
"core_gen", und sind jeweils als .v .ngc und .xco vorhanden.
Und starte ich den im Demo-Projekt mitgelieferten "implement.bat" dann
läuft die Impelementierung ja auch durch, also denke ich es ist alles
vorhanden. Nur über die ISE funktioniert es nicht.
Vielen Dank, viele Grüße
Petra
Vielleicht der Library Search Path bei ISE nicht eingestellt? Da muss der Pfad zu den Dateien drin stehen, wenn die nicht direkt im Projektverzeichnis sind.
Hallo Christian, ein naheliegender Gedanke, allerdings spricht dagegen, dass die vermeintlich fehlenden Dateien tatsächlich im Projekt-Verzeichnis sind und die Pfade auch richtig angezeigt werden, z.B. über die ISE "Menü/Project/Toggle Path". Auch werden sie über die ISE im Source-Fenster nicht als fehlend (rotes Fragezeichen) markiert. Im Log-File tauchen sie ja ebenfalls auf. Danke, viele Grüße Petra P.S. Ähem - konnte keine Stelle in der ISE finden, wo ich einen "Library Search Path" einstellen kann ...
Naja, das ISE zeigt nur den VHDL-Wrapper bzw. das XCO File direkt an. Das NGC wird nicht als fehlend markiert, auch wenn´s nicht da ist. Kann aber nur da an dieser Ecke zu suchen sein, denn die Fehlermeldung ist eindeutig: Es wird die Netzliste der cores benötigt, die nicht vorhanden ist, zumindest ist der ISE die Position nicht bekannt. Den Search Path kann man bei Synthese bzw. Implement Options einstellen (rechte Maustaste auf den Process Explorer -> Implement Design und dann Properties).
Hallo Christian, Deine Vermutung ist richtig, es fehlen die ngc-Dateien. Mit Hilfe von Filemon (aus Sysinternals) habe ich gesehen, dass sie in einem Pfad gesucht werden, in dem sie nicht liegen. Die Kopie der beiden *.ngc dorthin ließ die Implementierung jetzt durchlaufen. Allerdings funktioniert das Bit-File nicht. Das über den Batch erzeugte läuft nach wie vor. Ich denke, ich bzw. wir haben uns nun genug damit rumgeärgert. Zwar schade, dass es (vorerst) keine Lösung gibt, es lohnt aber den Aufwand nicht. Nur dumm wenn irgend wann mal der nächste damit aufbrummt. Es wäre sicherlich sinnvoll, hier so eine Art Tutorials für diese ersten Schritte zu hinterlegen. Ein Wiki gibt es ja schon. Falls ich mit meinem anderem Thread hier im Forun zum Erfolg komme, werde ich es damit versuchen. Vielen Dank an alle Beteiligten und Mitdenker, liebe Grüße Petra
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.