Im digitalen elektronischen Design ist eine Clock Domain Crossing (CDC) oder einfach Clock Crossing das Durchlaufen eines Signals in einer synchronen digitalen Schaltung von einer Clock Domain in eine andere. Wenn ein Signal nicht lang genug ist und nicht registriert wird, kann es an der eingehenden Taktgrenze asynchron erscheinen.
Ein synchrones System besteht aus einem einzigen elektronischen Oszillator, der ein Taktsignal erzeugt, und seiner Taktdomäne — den Speicherelementen, die direkt von diesem Signal dieses Oszillators getaktet werden, und der Kombinationslogik, die an die Ausgänge dieser Speicherelemente angeschlossen ist.
Wegen Lichtgeschwindigkeitsverzögerungen, Timing-Skew usw. Die Größe einer Taktdomäne in einem solchen synchronen System ist umgekehrt proportional zur Frequenz der Uhr. In frühen Computern lief typischerweise die gesamte digitale Logik in einer einzigen Taktdomäne. Wegen des Übertragungsleitungsverlustes und der Verzerrung ist es schwierig, digitale Signale über 66 MHz auf Standard-PCB-Leiterbahnen zu übertragen (das Taktsignal ist die höchste Frequenz in einem synchronen digitalen System), CPUs, die schneller als diese Geschwindigkeit laufen, sind ausnahmslos Single-Chip-CPUs mit einem Phase-Locked Loop (PLL) oder einem anderen On-Chip-Oszillator, der die schnellsten Signale auf dem Chip hält. Zuerst lief jeder CPU-Chip in seiner eigenen Taktdomäne, und der Rest der digitalen Logik des Computers lief in einer anderen langsameren Taktdomäne. Einige moderne CPUs haben eine so hohe Taktrate, dass Designer gezwungen sind, mehrere verschiedene Taktdomänen auf einem einzigen CPU-Chip zu erstellen.
Verschiedene Taktdomänen haben Takte, die eine andere Frequenz, eine andere Phase (entweder aufgrund einer unterschiedlichen Taktlatenz oder einer anderen Taktquelle) oder beides haben. In beiden Fällen kann man sich nicht auf die Beziehung zwischen den Taktflanken in den beiden Domänen verlassen.
Das Synchronisieren eines einzelnen Bitsignals mit einer Taktdomäne mit einer höheren Frequenz kann erreicht werden, indem das Signal durch ein Flip-Flop registriert wird, das von der Quelldomäne getaktet wird, wodurch das Signal lange genug gehalten wird, um von der mit höherer Frequenz getakteten Zieldomäne erkannt zu werden.
Um Probleme mit der Metastabilität in der Zieldomäne zu vermeiden, sind mindestens 2 Stufen von Re-Synchronisations-Flip-Flops in der Zieldomäne enthalten.
Das Synchronisieren eines einzelnen Bitsignals, das mit einer langsameren Frequenz in die Taktdomäne gelangt, ist umständlicher. Dies erfordert typischerweise ein Register in jeder Taktdomäne mit einer Form der Rückkopplung von der Zieldomäne zur Quelldomäne, was anzeigt, dass das Signal erkannt wurde.
In einigen Fällen kann das Clock-Gating zu zwei Clock-Domänen führen, bei denen die „langsamere“ Domäne von einer Sekunde zur nächsten wechselt.