Forum: FPGA, VHDL & Co. Xilinx AXI4 clock converter schweigt


von vancouver (Gast)


Angehängte Dateien:

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?

von vancouver (Gast)


Lesenswert?

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.

von Tim (Gast)


Lesenswert?

Kenn ich. Und das Validate sagt nix

von vancouver (Gast)


Lesenswert?

Tim schrieb:
> Und das Validate sagt nix

Dafür kommt bei der Synthese des IP eine Warning, dass die Resets an 
beiden AXI-Bussen nicht angeschlossen sind. Die kommt auch jetzt noch.

von Duke Scarring (Gast)


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

von vancouver (Gast)


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.

von Duke Scarring (Gast)


Lesenswert?

vancouver schrieb:
> Wenn man den Takt ändert, ändern sich dann nicht auch
> die ganzen Timings am DDR-Interface
Ja, aber DDR- bzw. DDR3-RAM läßt sich nicht nur mit einer festen 
Frequenz betreiben.

Duke

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.