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
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.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.