Xilinx AXI4 clock converter schweigt

Gast #7223326
Hallo,

ich will auf einem Arty-A7-100 Board den DDR3-Speicher an mein 
Userdesign anbinden. Dazu habe ich mit dem MiG7 einen DDR3-Controller 
mit den Boardspecs von Digilent erzeugt. Das Interface zu meinem 
User-Design ist AXI4 (32bit).

Da mein Design mit max. 50MHz läuft und das Userside-Interface des 
DDR3-Controllers (nach meinem Verständnis) mit 83Mhz, habe ich einen 
axi_clock_converter-IP dazwischen gehängt und für asynchrone clocks 
konfguriert. Blockdesign siehe Anhang.

Der DDR3-Controller lässt sich aber nicht ansprechen. Eine Analyse mit 
einem ILA ergab, dass auf der Userdesign-Seite des Clock-Converters z.B. 
das write-Request auf dem AXI-Bus aus meinem Design ankommt, aber nicht 
auf die andere Seite weitergeleitet wird. Auf der DDR-Controller-Seite 
des Clock-Converters herrscht völliges Schweigen. AR_READY und AW_READY 
sind dauerhaft 1, alles andere ist 0.

Mit einem zweiten ILA habe ich das Locked-Bit der Controller-internene 
MMCM nachgemessen, ebenso alle Reset-Signale, und das ist alles in 
Ordung. Die MMCM ist gelocked (daraus schließe ich, dass der UI-Clock 
des Controllers läuft), es hängt nichts dauerhaft im Reset und die 
Kalibrierung des DDR ist auch abgeschlossen.

Soweit ich das verstehe, muss das Problem beim AXI-Clock-Converter 
liegen. Der gibt nichts von der User- und die DDR-Clockdomain weiter. 
Die Dokumenation zu dem Teil besteht aus ein paar Zeilen in irgeneinem 
Product Guide.

Hat jemand eine Idee, was hier schiefläuft?
Angehängte Dateien:
Gast #7223352
F**** Bull***... Eine Minute nachdem ich den Post abgesetzt habe fiel 
mir auf, dass ich den Slave-Reset am Clock-Converter nicht angeschlossen 
hatte...

Jetzt tut's.
Gast #7231408
vancouver schrieb:
> Da mein Design mit max. 50MHz läuft und das Userside-Interface des
> DDR3-Controllers (nach meinem Verständnis) mit 83Mhz
Läßt sich die Frequenz vom DDR3-AXI-Controller nicht auch etwas 
drosseln, so das er 'nativ' mit 50 MHz klar kommt? Dann könnte man auf 
den Clock-Converter verzichten.

Duke
Gast #7232609
Ich weiß nicht. Wenn man den Takt ändert, ändern sich dann nicht auch 
die ganzen Timings am DDR-Interface? Die ganzen Zeitkonstanten sind ja 
im Boardsupport-Package vorgegeben, und die müssten dann doch alle 
angepasst werden, oder? Und irgendwo in der MIG-Doku steht, dass die 
Frequenz am AXI-Interface des Controllers immer 1/4 des DDR-Taktes ist, 
d.h. man kann anscheinend nicht das AXI-Interface runtertakten und den 
DDR-Clock beibehalten.

Allerdings verwende ich zum ersten mal den Xilinx-MIG. Vielleicht geht 
das doch irgendwie.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.