mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx DMA Controller und eigener IP Core


Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich entwickel gerade einen eigenen IP Core, der später am PLB hängt, 
welcher wiederum mit einem Microblaze und einem DMA Controller verbunden 
ist. Mein IP Core ist dabei ein Slave und hat einen Write Fifo.
Jetzt zur Frage:
Kann der DMA Controller direkt was ins Fifo meines IPCores schreiben? 
Wenn ja, merkt der DMA Controller selbstständig, wenn der Fifo meines IP 
Cores voll ist und wartet dann bis wieder Platz ist, oder kommt es dann 
zu einem Fehler?

Gruß,

Christoph

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für ein DMA-Controller? Der MPMC? Wenn ja, musst du dir mal das 
Dokument für das Local Link Interface bei Xilinx runter laden. Das ist 
eine bidirektionale DMA-FIFO Schnittstelle. Darüber kommuniziert 
beispielsweise der TEMAC mit dem DMA-Controller. Ist aber leider nicht 
ganz so trivial zu implementieren, vor allem, wenn der noch Bus-Matching 
machen soll. Die DMA Geschichten bei Xilinx sind etwas aufwendig, dann 
gibts noch den XCL, Xilinx Cache Link, das ist im Prinzip ein FSL Bus, 
allerdings kann der nur als Cache dienen. Alle anderen DMA Interfaces 
sind meines Wissens nicht direkt FIFO-basiert.

Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde ganz gerne den XPS Central DMA Controller benutzen. 
Meinst du diesen mit dem MPMC?
Wenn nicht, wie sieht es mit diesem aus, wenn ich auf den FIFO meines IP 
Cores schreibe? Bemerkt der DMA Controller, wenn der Fifo voll is und 
wartet mit dem Transfer, bis wieder Platz ist?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahso, der kleine DMA-Controller. Da muss ich dann mal schauen, was der 
überhaupt für Interfaces hat. Wenn du aber ein Interface nachbaust, was 
FIFO basiert ist, dann merkt der das.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab mir mal den XPS Central DMA angeschaut. So wie es aussieht, 
arbeitet der mit dem FSL Bus (Die MCH Channels). Das ist ein sehr 
simpler FIFO-Bus, das ist problemlos zu implementieren. Und der DMA 
Controller kümmert sich dann um die Steuersignale und wartet auch auf 
die Daten oder wirft dir einen Fehler, wenn die nicht in bestimmter Zeit 
verfügbar sind. So macht es zumindest der MPMC meines Wissens.

Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, danke erstmal, ich werde den nächste Woche mal für meinen IP Core 
testen, melde mich dann nochmal, obs geklappt hat

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.