Bei FPGA spricht man immer von Skew-frei etc. Was sind genau die möglichen Folgen eines Skew ? Und warum ist das so gefährlich ? Danke
Skew ist der Laufzeitunterschied den ein Signal erfaehrt, wenn es gleichzeitig ueber verschiedene Verbindungen gefuehrt wird. Skew ergibt sich durch Gatterlaufzeiten, Verbindungs- und Leiterbahnlaengen. Je hoeher die Signalfrequenz ist, desto mehr macht sich der Skew bemerkbar. Bei 1Mhz (=1uSec) ist eine Verzoegerung um sagen wir mal 10nSec nicht erheblich. Bei 100Mhz waehre das aber schon ein ganze Periodenlaenge. Aus diesem Grund gibt es bei FPGAs die Moeglichkeit, Signallaufzeiten aufeinander abzustimmen, um an der Port gleichschnelle Signale zu kriegen.
Ergänzung Skew Taktnetzwerke: Taktnetzwerke werden wegen dem Skew als sogenannte clocktrees (Takt-Bäume) ausgeführt. Bei diesem "Baum" sind alle Äste gleichlang, so dass der Takt, dessen Urprung in der Taktwurzel liegt, die gleiche Laufzeit hat. Das garantiert einen synchronen Betrieb und erleichtert die Rechenarbeit für das Place und Route Tool. Beispiel: Takt 100 Mhz, Takteingang FF1 sieht nach 1 ns die Taktflanke, FF2 nach 2ns. Ein Signal von Q Aisgang FF1 das zum Zeitpunkt t1: 1ns aktiv wird, muss zum Zeitpunkt t2 = 12 ns (t1 +Periode +skew) am dateneingang D von FF2 anliegen, hat also 11 ns Zeit. (setup-,clock to putput und sonstige zeiten nicht betrachtet). Hier hilft Dir der skew. Dagegen muss ein Signal von FF2 zu FF1 zum spätestens Zeitpunkt t2=11ns eintreffen, da aber t1 = 2ns für FF2 ist hat es nur 9 ns Zeit. Und das für die selbe Strecke (t1 +Periode - skew) . Xilinx tools vor der ISE 5 (?) haben den skew nicht für jeder Strecke betrachtet, hier würde also im Beispiel der gesamte FPGA auf 9ns Periode gereoutet werden müssen, obwohl die Taktperiode 10 ns beträgt. Skew kostet also Taktfrequenz. Die neueren Tools berechnen den Skew mitein, dafür brauchen sie aber länger. Im Beispiel würde das Routing auf 11ns getrimmt werden, wenn es kein Signal zw. FF2 und FF1 gibt. Oder die FF's werden so plaziert, das die die Signale untereinander austauschen an Pinkte des clocktrees mit geringen skew zueinander angeschlossen werden. In den FPGA's gibt es wegen dem clock skew besondere Netzwerke mit geringen Skew und besondere Takteingangspins die auf dieses Netzwerk führen. Für hohe Frequenzen und eigentlich immer nur diese Pins für Takte verwenden.
> In den FPGA's gibt es wegen dem clock skew besondere Netzwerke mit > geringen Skew und besondere Takteingangspins die auf dieses Netzwerk > führen. Für hohe Frequenzen und eigentlich immer nur diese Pins für > Takte verwenden. Das Xilinx-Routing-Tool verweigert sogar das Routen von clocks auf nicht-clock-Eingänge!
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.