mikrocontroller.net

Forum: FPGA, VHDL & Co. FIFO in EDK benutzen


Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1)Ich erzeuge einen FIFO mit dem Core generator. dieser liefert mir 
dateien. wie kann ich diese jetzt zu einem ip core den ich in EDK 
einfügen kann zusammenfügen.

2) Wie benutze ich den Fifo anschließend es gibt ja ?kein Datasheet? 
dafür. Ist das ohen VHDL kenntnisse überhaupt möglich.

Autor: Duke Scarring (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
zu 1.
Ich habe noch nicht viel mit dem EDK gemacht, aber da der FIFO keine 
direkten Busschnittstellen (PLB/OPB) hat, würde ich vermuten, das man 
das nicht so einfach ohne Wrapper verbinden/verwenden kann.

Wofür brauchst Du denn den FIFO?

zu 2.
Im Coregenerator gibt es auch die Datenblätter zu den Cores (siehe 
Anhang.)

Duke

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne einen der "EDK" Busse geht das erst mal nicht wirklich, jedenfalls 
wenn du den FIFO mit dem Prozessorsystem verbinden willst. Wieso nimmst 
du nicht den XPS Local Link Fifo?

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In EDK kann man per Wizard ein Template erzeugen was den FIFO mit dem 
PLB bus verbindet meine frage zielt darauf ab wie ich dieses template 
mit den Dateien vom Coregenerator verbinde. Ziel ist es im FIFO 
ergebnisdaten zu speichern und nach einen Interrupt diese per Ethernet 
an den PC zusenden.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann ich den xps local link fifo auch für anwendungen abseits von den 
ethernet anwendungen nutzen?

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du schon mal ein Template erstellt hast:

1. Ueber drop down Menu "Hardware -> Create or Import Peripheral"
2. Auf der naechste Seite waehlst du "Import existing peripheral"
3. Dann ein paar Seiten danach kannst du die VHDL Dateien einfügen
4. Noch ein paar Seiten danach kannst du auch NGC Listen 
einfügen(wichtig ist dass du auch der Hacken auf "Source File Types" 
Netlist und auch VHDL gesetzt hast)

Dann FIFO musst du in USER_LOGIC.vhd instanzieren.

Hier findest du auch weitere information(Die Unterlagen sind alt, aber 
alles ist ähnlich geblieben )


Gruss,
Valentin

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, das mit dem Wizzard geht natürlich, aber um den FIFO an das 
restliche System zu hängen benötigt man natürlich ein Bus-Interface. Da 
kann man sich einen PLB-Slave schreiben, oder ein LocalLink Target oder 
sehr einfach gehts auch mit dem FSL, das ist im Prinzip eine einfache 
FIFO-Schnittstelle. Aber die ist nicht direkt mit dem MPMC DMA-fähig.

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um das IP Core an das MPMC Core anzubinden kann man z.B. das NPI 
Interface benutzen. Das ist im MPMC Datenblatt sehr gut erklärt. Es gibt 
auch ein Beispiel direkt von Xilinx, einfach anzupassen und zu vestehen.

Gruss,
Valentin

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valko S. schrieb:
> Dann FIFO musst du in USER_LOGIC.vhd instanzieren.

ich habe über den Wizard eine PLB Busverbindung.
Muss ich die vom FIFOGenerator erstellten dateien noch anpassen oder kan 
ich diese direkt benutzen das ist mir gerade nicht so ganz klar. und 
wenn nein was muss ich dort anpassen ich habe leider kaum ahnung von 
VHDL.

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

CoreGenerator erstellt ein Wrapper für das FIFO, die kannst du dir 
anschauen.
Dann muss dur in user_logic.vhd das FIFO als Komponent deklarieren und 
dann auch instanzieren. im Netz gibt es viele Beispiele wie mein ein 
Komponent anbindet.

Gruss,
Valentin

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verstehe ich das richtig das mit de rgenerator nur eine anbindung 
erstellt aber ich das eigentliche speicher usw noch selbst in vhdl 
erstellen muss?

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mit dem "Create Peripheral" werden in EDK Templates die die Busanbindung 
und Registerabeschreibung(wenn Register vorhanden sind) vorgeben. Die 
eigentliche IP Logik sollte man dann noch selber ergänzen.

Wenn du aber die XPS Local Link FIFO, wie schon supachris vorgeschlagen 
hat, verwenden würdest, sparst du dir das ganze.

Welche Lösung für dein Projekt am besten passt musst du natürlich wissen 
:)

Gruss,
Valentin

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du so gut wie keine Ahnung von VHDL hast, solltest du 
vielleicht wirklich den FSL FIFO zunächst mal benutzen. Der hat auf der 
einen Seite den PLB, damit kannst du vom MicroBlaze/PowerPC aus drauf zu 
greifen. Auf der anderen Seite hat er ein simples FIFO-Interface für 
jede Richtung (FSL). Da gibts dann die typischen Steuersignale wie WE, 
RE, Exist, Full....und den FIFO kannst du dann problemlos von einer 
externen Logik beschreiben und lesen. Mit dem Core-Generator der ISE ist 
das alles sehr viel komplexer. Denn dann musst du einen PLB-Slave oder 
LocalLink Target oder NPI schreiben, und ohne VHDL wird das nix. Denn 
der Wizzard stellt dir lediglich das grobe Gerüst für die Anbindung an 
PLB usw. zur Verfügung. Die "Intelligenz" musst du selbst schreiben.
Also nimm erst mal den FSL-FIFO.

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.