Hallo, ich steuere über den Avalon-Bus vom NIOS aus meine VHDL-Logik an und lese darüber auch wieder Werte über den Avalon-Bus in den NIOS zurück (Studienarbeit). Die selbstgeschriebene Logik läuft mit einem Takt von 25MHz, der NIOS hingegen mit 100MHz, die Taktsignale werden innerhalb einer PLL generiert (fester Bezug zueinander). Die Werte an meine Logik zu senden stellt kein Problem dar, da über einen Dual-Clock-Speicher verbunden. Meine Frage betrifft allerdings, ob ich problemlos einen 32-Bit-Wert wieder zurücklesen kann, d.h. prüft Quartus automatisch, ob es zu einer Timing-Verletzung kommen würde oder sollte ich durch Oversampling noch vor der Übergabe an den Bus mich selbst darum kümmern? Eine Warnmeldung erhalte ich nicht und leider habe ich bei den Altera-Dokumenten keine ähnliche Problemstellung gefunden. Würde mich freuen, wenn mir jemand mit mehr Erfahrung eine Tipp geben könnte.
Q prüft das, aber genau das ist das Problem - er wird meckern. Die PLL behebt das Problem 25:100 nicht, sondern erzeugt es, da die beiden Takte nicht in Phase sind. Du solltest einen asynchronen-FIFO zum Streaming-Interface nutzen - in beide Richtungen.
Fügt die AVALON-Switch-Matrix nicht automatisch eine Synchronisation zwischen verschieden getakteten Busteilnehmern ein?
Hallo, ich habe mich nun für die Variante der Überabtastung entschieden, das Signal wird dazu mit dem 4x schnelleren Takt in zwei hintereinander geschaltene D-FFs eingelesen. Liegt an den Ausgängen beider FFs das gleiche Ergebnis, so wird es als gültig gewertet (Enable an einem 3 FF, Dateneingang mit Datenausgang des zweiten FFs). Der SOPC-Builder in Quartus bietet allerdings auch eine FIFO-basierte Lösung als Clock-Crossing-Bridge an.
> Der SOPC-Builder in Quartus bietet allerdings auch eine FIFO-basierte > Lösung als Clock-Crossing-Bridge an. Dann würde ich diese nehmen. Es gibt ungefähr 100 Möglichkeiten beim Clock-Domain-Crossing was falsch zu machen. Und eine es richtig zu machen: ein asychrones FIFO mit Gray-Countern für die Schreib- und Leseposition. Duke
Es geht auch ohne Gray-Counter, allerdings sind die in den standardmässigen FIFOs vom Megawizzard so fertig drin, meine ich.
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.