Forum: FPGA, VHDL & Co. ERROR:NgdBuild:604 in der ISE, implement-Batch läuft!


von Petra K. (petra)


Lesenswert?

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

von Jan M. (mueschel)


Lesenswert?

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.

von Petra K. (petra)


Lesenswert?

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'.

von Jan M. (mueschel)


Lesenswert?

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.

von Duke Scarring (Gast)


Lesenswert?

@Petra:

Außerdem würde ich das Target-Device (Ziel-FPGA) nochmal prüfen: 
'aspartan3a' steht m.E. für die Automotive-Version.

Duke

von Petra K. (petra)


Lesenswert?

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

von Christian R. (supachris)


Lesenswert?

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.

von Petra K. (petra)


Lesenswert?

>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

von Christian R. (supachris)


Lesenswert?

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.

von Petra K. (petra)


Lesenswert?

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 ...

von Christian R. (supachris)


Lesenswert?

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).

von Petra K. (petra)


Lesenswert?

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
Noch kein Account? Hier anmelden.