unterschiedlicher Takt NIOS <-AVALON-> Logik

Gast #1306711
Lesenswert?

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.
Gast #1307402
Lesenswert?

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.
Gast #1309607
Lesenswert?

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.
Gast #1310115
Lesenswert?

> 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

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