DLL
Abkürzung für delay-locked loop.
DLL: Schaltung, die einen Ausgangstakt mit einem Eingangstakt synchronisiert
Eine Delay-Locked Loop ist eine Rückkopplungsschaltung, die die Phasendifferenz zwischen einem Referenztakt und einer verzögerten Kopie davon misst und dann diese Verzögerung so lange anpasst, bis die beiden Signale ausgerichtet sind. Im Gegensatz zu einer Phase-Locked Loop, die die Frequenz vervielfacht, hält eine DLL die Ausgabefrequenz identisch mit der Eingabefrequenz und korrigiert gleichzeitig die Phasenverzögerung, die sich durch Signalleitungen und Logikgatter ansammelt. Die Schaltung tastet kontinuierlich beide Signale ab und steuert ein spannungs- oder stromgesteuertes Element (eine Verzögerungsleitung aus Invertern oder anderen Logikstufen) an, um den Skew zu minimieren.
DLLs sind grundlegend für synchrone Speicherschnittstellen. In DRAM- und GDDR-Chips richtet die DLL das interne Taktraster nach der externen Taktflanke aus und stellt sicher, dass Daten zu präzisen Zeitpunkten abgetastet und ausgegeben werden. Ohne DLL-Korrektur würde die natürliche Verzögerung durch das Silizium vom Bonding-Pad zum Kern zu Timing-Fehlern führen. Eine typische DLL muss sich beim Hochfahren innerhalb weniger hundert Taktzyklen arretieren und Drift durch Temperaturschwankungen und Spannungsabfälle über den Chip hinweg nachverfolgen.
Arretierungsverhalten und Bandbreite
Die DLL-Schleife hat ein charakteristisches Arretierungsverhalten und Einschwingverhalten. Eine langsame Schleife hat geringe Bandbreite und folgt langsam, unterdrückt aber hochfrequentes Rauschen sehr gut. Eine schnelle Schleife arretiert schnell, kann aber überziehen oder oszillieren. Die meisten produktiven DLLs nutzen ein proportional-integrales Regelgesetz, um Geschwindigkeit und Stabilität auszugleichen. Die Verzögerungsleitung selbst ist die kritische Komponente: Sie muss feine Granularität (kleine Schritte zwischen Verzögerungsstufen) haben, geringe Empfindlichkeit gegenüber Spannungs- und Temperaturschwankungen aufweisen und einen ausreichend großen Verzögerungsbereich abdecken, um Prozessstreuung und Versorgungsspannungs-Transienten zu kompensieren.
Typische Fehlermodi sind: False Lock, bei dem sich die DLL auf einer Harmonischen oder Subharmonischen des Eingangstakts arretiert und stabil erscheint, aber tatsächlich um ein Vielfaches der Taktperiode phasenverschoben ist; Lock Loss, wenn Temperatur- oder Versorgungsspannungsänderungen die Nachverfolgungsbandbreite der Schleife überschreiten; und Deadlock, bei dem die Schleife kein Gleichgewicht erreichen kann und oszilliert. DLL-Designs enthalten häufig Lock-Detektor, die überprüfen, dass der Phasenfehler klein ist, bevor sie Lock als gültig deklarieren.
DLLs unterscheiden sich von Phase-Locked Loops hauptsächlich durch ihr spannungsgeregeltes Verzögerungselement anstelle eines spannungsgeregelten Oszillators. Dies macht sie einfacher zu integrieren, schneller zu arretieren und toleranter gegenüber Versorgungsrauschen, da sie keine Frequenzerzeugung haben, die destabilisiert werden kann. Sie sind Standard in High-Speed-DRAM, DDR-Schnittstellen und synchronen SRAMs und werden auch in programmierbaren Logikbausteinen und ASICs verwendet, um Takte mit minimalem Skew über große Blöcke zu verteilen.