Xilinx AXI4 clock converter schweigt

Gast #7223326
Lesenswert?

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 #7231408
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren