Forum: FPGA, VHDL & Co. Synchronisierung zweir Daten-/Timingdomänen


von Mathias (Gast)


Lesenswert?

Hallo zusammen

Ich habe ein generelles Verständnissproblem bezüglich der Clock-Domains 
innerhalb eines FPGA, bzw. wie man damit umgeht. Eines vorweg, ich 
arbeite mich gerade erst in die Thematik VHDL/FPGA ein.

Bsp:
Man hat eine externe Signalquelle, die kontinuierlich digitale Daten zum 
FPGA Sendet mit einem Takt C1 und einen DDR2 Controller im FPGA, der mit 
der Frequenz C2 betrieben wird (Habe gelesen, 133MHz wäre realistisch), 
der diese Daten speichern soll und an einen anderen Process übergeben 
soll.

Wie würde man diese 2 Clock-Domains zusammenführen? Ein FiFo? Hier 
verstehe ich aber nicht, wie man das mit den 2 verschiedenen Clocks in 
den Fifo integriert. Oder gibt es hier eine ganz andere Technik?

Grüß
Mathias

von Jan M. (mueschel)


Lesenswert?

Genau, hier benutzt man einen FIFO mit zwei unabhängigen Takten. Selbst 
schreiben ist hier ziemlich aufwändig, da man ja die verschiedenen 
Zähler auch über die Taktgrenzen hinweg sychronisieren muss. Deshalb 
nimmt man meist den core-Generator des jeweiligen Herstellers um einen 
solchen FIFO zu erzeugen.

Wenn dich die Details der Synchronisierung interessieren, es gibt von 
Xilinx eine Application note zu dem Thema, inklusive komplettem 
Quellcode.

von Matthias (Gast)


Lesenswert?

Hallo!
bin gerade auf deinen Beitrag gestoßen. Und zufällig ist das genau das 
Problem dass mir heute in den Sinn gekommen ist.
Hast du zufällig gerade einen Link zu der Application note?
Wäre super, dann muss ich mich nicht durch die Xilinx Seite wühlen.

Vielen Dank schon mal!

von Mathias (Gast)


Lesenswert?

Hallo

hier der Link zu der xapp
http://www.xilinx.com/support/documentation/application_notes/xapp051.pdf

Zusätzlich habe ich mir dann noch einen solchen FiFo erstellen lassen 
(bzw. ich hab mir nen Source im Netz gefunden) mittels CoreGen und mich 
durch den Sourcecode gewühlt. So was selber zuschreiben wäre zwar eine 
gute Übung gewesen, aber das hätte den Aufwand wohl nicht 
gerechtfertigt.

Gruß
Der Mathias von ganz oben :)

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.