Forum: FPGA, VHDL & Co. Skew


von Thomas Petrulat (Gast)


Lesenswert?

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

von The Daz (Gast)


Lesenswert?

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.

von Thomas Pototschnig (Gast)


Lesenswert?

abo

von FPGAküchle (Gast)


Lesenswert?

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.

von Thomas Pototschnig (Gast)


Lesenswert?

> 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!

von Tom (Gast)


Lesenswert?

Sehr interessantes Thema...

Deshalb auch mal ein abo

Gruß
Tom

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.