www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Fifo in IP-Core einbauen


Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich habe ein VHDL-Model erstellt mit ISE8.2.
Es lässt sich synthetisieren und auch ein
Programming-File läst sich erstellen.

Das VHDL-Modell greift auf einen asynchronen FIFO
zu, Versionsnummer 6.2, den ich im ISE -
New Source - IP(Coregen & Architecture Wizard)
ausgewählt habe. Und genau das ist das Problem im EDK.

Das Modell wurde von mir in Modelsim getestet.
Auch die Post-Place & Route-Simualtion
wurde durchgeführt. Alles funktionierte bestens.

Dieses Model habe ich mittels EDK-Wizard nun an den OPB-Bus
gehängt. Ich habe das schon ein paar Mal gemacht,
nur hatte ich bis dato immer nur eigene VHDL-Files beim
Import eingebunden.
Zusätzlich baue ich das File: FIFO.vhd ein, das ja meiner
Meinung nach den FIFO repräsentieren soll. Das File könnt
ihr euch herunterladen. In diesem File befindet sich eine
Configuration Specification

Dann habe ich den fertigen IP-Core in das Mikrocontrollersystem
reingezogen und versuchte mit einem Update-Bitstream
das System zu erstellen.
Leider erhielt ich folgenden Fehler:

ERROR:NgdBuild:604 - logical block
   'kameraeinheit_fifo_0/kameraeinheit_fifo_0/USER_LOGIC_I/kamera1/your_ins 
tance
   _name' with type '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 'fifo' is not supported in target 'virtex4'.
WARNING:NgdBuild:478 - clock net debug_module/bscan_drck1 with clock 
driver
   debug_module/debug_module/BUFG_DRCK1 drives no clock pins

Partition Implementation Status

-------------------------------

  No Partitions were found in this design.

-------------------------------

NGDBUILD Design Results Summary:
  Number of errors:     1
  Number of warnings:  68


One or more errors were found during NGDBUILD.  No NGD file will be 
written.

Writing NGDBUILD log file "System.bld"...
ERROR:Xflow - Program ngdbuild returned error code 2. Aborting flow 
execution...




Wie kann ich dem EDK den FIFO beibringen?

Danke für eure Ratschläge.

Tschüss
Martin

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das FIFO.vhd File soll man eben nicht einbinden, da es nur für die 
Simulation bestimmt ist.
Normalerweise sollte FIFO.ngc vom Core-Generator generiert werden, 
dieses wird meist automatisch eingebunden. Dazu muß es in das aktuelle 
Verzeichnis.

Klaus

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Klaus!

Was ist das aktuelle Verzeichnis?
Wo muss ich das ngc-File reinkopieren?
Wenn ich es direkt in das EDK-Verzeichnis reinkopiere,
dann erscheint dieselbe Fehlermeldung.

Tschüss
Martin

Autor: FPGA Spezialist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich produziert der IWZ doch ein XCO-file oder? Dieses 
referenziert man in einem übergeordnete HDL und bindet es ein. Ist da 
für das EDK anders zu verfahren ?

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin

Martin wrote:
> Hallo Klaus!
>
> Was ist das aktuelle Verzeichnis?
> Wo muss ich das ngc-File reinkopieren?
> Wenn ich es direkt in das EDK-Verzeichnis reinkopiere,
> dann erscheint dieselbe Fehlermeldung.
>
> Tschüss
> Martin

aktuelles verzeichnis ist das in dem XST und folgende die erzeugten 
Dateien hinterlässt. Am besten die kopierts das ngc vom FIFO in das 
Verzecihnis mit einer *.bld Datei. Die BLD Datei ist das Log-file von 
ngdbuild. Ebenso sollte
eine *.syr datei in dem aktuellen Verzecihnis liegen.

Natürlich kannst du auch den Suchpfad für ngc dateien erweitern und das 
Verzeichnis in dem das Fifo.ngc liegt einschliessen (spart das Kopieren 
des fifo.ngc). Diese Einstellung machst du in dem ISE Prozeß-Fenster -> 
implement design -> Translate -> Process Properties -> Macro Searchpath

MfG
FPGAküchle

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo FPGAküchle!

Erstmal danke für all eure Antworten.
Das mit dem Hineinkopieren hat funktioniert.
Wenn ich die *.ngc-Datei in das "Implementation"-Verzeichnis
kopiere funktionierts.

Nur, wenn ich z.B. die Hardware neu generieren will, weil
sich z.B. der IP-Core geändert hat, dann muss ich die Hardware
neu erstellen. Dazu klicke ich auf den Menüpunkt "Clean Hardware"
Damit löscht mir das Tool das gesamte Verzeichnis und
ich müsste die *.ngc-Datei wieder reinkopieren.

Deshalb wäre es wichtig den Suchpfad zu erweitern. Du
hast mir das schon das letzte Mal erklärt:
--Natürlich kannst du auch den Suchpfad für ngc dateien erweitern und 
das
--Verzeichnis in dem das Fifo.ngc liegt einschliessen (spart das 
Kopieren
--des fifo.ngc). Diese Einstellung machst du in dem ISE Prozeß-Fenster 
->
--implement design -> Translate -> Process Properties -> Macro 
Searchpath

Wo ist das ISE Prozess-Fenster zu finden?

Danke für deine Antwort.

Tschüss
Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo FPGAküchle!

Ich weiß schon, du redest vom ISE.
Dort gibt es diesen Punkt.

Aber ich verwende für die Synthese das EDK(XPS8.2I), weil
der IP-Core am Prozessor hängt.
In diesem Tool habe ich nichts gefunden.


Tschüss
Martin

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
du musst das ngc File in einen speziellen Ordner kopieren, in dem alle 
"fertigen" zugehörigen IP Cores liegen. Also nicht in den Ordner mit den 
.vhd Files sondern noch einen extra parallel, mit dem Namen netlist.
Die Datei muss dann im Gegensatz zu den .vhd Dateien nicht in das .poa 
File eingetragen werden, sondern in ein sogenannes Black Box Definition 
File (.bbd). Du legst also ipcorename.bbd an (im gleichen ordner wie das 
.poa, also data) und schreibst rein:
FILES
fifo.ngc

Damit XPS weiß, dass es nicht nur die VHDL Dateien bearbeiten muss, 
sondern auch vorgefertigte Netzlisten einbinden soll, musst du noch das 
.mpd File deines Peripheriekomponente anpassen. Dort sollte stehen:
OPTION style = MIX statt OPTION style = HDL

Zusammenfassend solltest du also folgende Unterverzeichnisse innerhalb 
von pcores/deinekomponente haben:
data : enthält .mpd, .poa und .bbd Dateien
hdl/vhdl : enthält VHDL Quelldateien
netlist : enthält .ngc Netzlisten

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, fast vergessen, für genaue Informationen zum Aufbau der Dateien 
schaust du am besten ins Platform Specification Format Reference Manual 
bei Xilinx:
http://www.xilinx.com/ise/embedded/psf_rm.pdf

Autor: Martin Sch. (mar6306011)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias!

Danke für deine großartige Beschreibung. Ich habs geschafft.
Es funktioniert genauso wie du beschrieben hast.
Vielen Dank.

Tschüss
Martin

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.