mikrocontroller.net

Forum: FPGA, VHDL & Co. ZYNQ: AXI Lite Master Periph um in den DRAM zu schreiben


Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallöle.
Bisher hab ich schon einige eigene AXI Slaves geschrieben, die dann vom 
ARM Kern des ZYNQ benutzt werden konnten. Lief auch immer wunderbar.
Nun diesmal soll auch die andere Richtung möglich sein, der IP braucht 
8MB RAM und die sollen aus dem DRAM abgezwickt werden.
Also habe ich mir zum Testen ersteinmal im XPS 14.7 eine IP geklickt und 
den AXI Master aktiviert und dazu noch Test C Code generieren lassen.

Die so zusammengeklickte IP besitzt zum Testen auch gleich ein paar 
Register mit denen ein AXI Lite Master angesprochen werden kann und der 
Xilinx Testcode liest und schreibt dann auch gleich 4 Byte aus/ins DRAM.
(Die IP hat also 2 AXI Anschlüsse, Master und Slave)

Basieren tut das Ganze auf dem "zybo_base_system", also da ist der PS7 
drinne, eine VGA/HDMI Grafikausgabe sowie AXI Slaves für die Taster und 
LEDs.
Darein hab ich dann meine Test IP eingebaut und das Ganze funktioniert 
nicht.

Der Xilinx Testcode (SP2_ZYNQ_WRAPPER_SelfTest) läuft zwar durch, aber 
es wird nicht in den RAM geschrieben, es kommt die Ausgabe, dass SRC und 
DST Buffer ungleich sind.
Die Basisadresse stimmt aber.

Dann dacht ich, dass der Fehler daran liegt, dass der AXI Interconnect 
mit den beiden Grafikmastern und meinem AXI Master am High Performance 
Anschluss des PS7 hängt und der war auf 64Bit gestellt. Mein AXI Master 
hat aber nur 32Bit.
Also meine IP an den General Purpose gehangen mit 32Bit und das alleine.

Ja jetzt geht garnichts mehr, er hängt bei "start user logic master 
module to send one word to the destination"
(Z.118 in sp2_zynq_wrapper_selftest.c).

Meine eingebaute Debugausgabe welche das Statusregister abfragt kommt 
auch nicht mehr.
Der ganze AXI Bus scheint zu hängen?

Hat da wer ne Idee wieso schon das Beispiel nicht funktioniert?

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat hier noch keiner mit dem ZYNQ gespielt?

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mw E. schrieb:
> Also meine IP an den General Purpose gehangen mit 32Bit und das alleine.

Ich mag mich daran erinnern, dass der 7000er Zynq nicht alle AXI Busse 
mit dem DRAM controller verbunden hat. Am General Purpose AXI wird es 
darum wohl nicht gehen.

Im Vivado sieht man das auch im Zynq GUI, dass da kein Pfeil dazwischen 
ist.

Im UG1165 Kapitel 5 gibt es ein Tutorial um einen AXI Master mit dem 
DRAM Daten austauschen zu lassen.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die General Purpose AXI Anschlüsse gehen zum Central Interconnect und 
von dort gehts auch zum DRAM Controller.
Auch mit dem High Performance Anschluss hab ichs zwischenzeitlich schon 
versucht, da hängt dann auch alles komplett.
Bild: 
https://xlnx.i.lithium.com/t5/image/serverpage/image-id/9509iFD7EF1D29F6BE4C4/image-size/original?v=mpbl-1&px=-1

Das UG1165 mit dem CDMA werd ich am Wochenende mal durchgehen.

Ich hab auch grade gesehen, dass es nen Chipscope Block gibt, der aufm 
AXI lauschen kann, den sollt ich mal einbauen.

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IMHO ist AXI_HP die richtige Wahl fürs Interface. Check mal Kapitel 10 
S. 204 im Zynq Book 
https://is.muni.cz/el/1433/jaro2015/PV191/um/The_Zynq_Book_ebook.pdf

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.

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