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


von hans (Gast)


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.

von Duke Scarring (Gast)


Angehängte Dateien:

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

von Christian R. (supachris)


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?

von hans (Gast)


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.

von hans (Gast)


Lesenswert?

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

von Valko Z. (hydravliska)


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

von Valko Z. (hydravliska)


Lesenswert?


von Christian R. (supachris)


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.

von Valko Z. (hydravliska)


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

von hans (Gast)


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.

von Valko Z. (hydravliska)


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

von hans (Gast)


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?

von Valko Z. (hydravliska)


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

von Christian R. (supachris)


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.

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.