Halbleitertechnologie von A bis Z

Alles über Halbleiter und die Waferfertigung

1. Latches und Flip-Flops

Ein Latch ist ein pegelgesteuertes Speicherelement: Solange das Taktsignal (bzw. ein Enable-Signal) aktiv ist, folgt der Ausgang unmittelbar dem Eingang (transparenter Zustand); wechselt das Taktsignal in den inaktiven Zustand, wird der zuletzt anliegende Wert eingefroren. Ein einfaches D-Latch lässt sich aus zwei rückgekoppelten Invertern aufbauen, deren Rückkopplungspfad über ein Transmission Gate geschlossen und geöffnet wird; in modernen Standardzellenbibliotheken benötigt ein solches Latch typischerweise 6 bis 8 Transistoren.

Ein Flip-Flop dagegen ist flankengesteuert: Der gespeicherte Wert ändert sich nur zum Zeitpunkt der steigenden oder fallenden Taktflanke. Das gebräuchlichste CMOS-Flip-Flop ist das Master-Slave-Flip-Flop, bei dem zwei gegenphasig getaktete Latches hintereinandergeschaltet werden – das Master-Latch übernimmt den Eingang, während der Takt low ist, das Slave-Latch übernimmt den Wert des Master-Latch bei steigender Flanke und hält ihn während der restlichen Taktperiode. Durch diese Kaskadierung ist zu jedem Zeitpunkt höchstens eines der beiden Latches transparent, wodurch ein direktes Durchschalten von Eingang zu Ausgang innerhalb einer Taktperiode verhindert wird. Ein solches Master-Slave-Flip-Flop besteht typischerweise aus rund 20 bis 24 Transistoren; moderne Prozessor-Dies enthalten mehrere hundert Millionen bis über eine Milliarde solcher Flip-Flops.

2. Der Taktbaum

In einer synchronen Schaltung müssen alle Flip-Flops ein gemeinsames Taktsignal erhalten, das über Zehntausende bis Millionen von Gattern annähernd gleichzeitig ankommen muss. Da eine einzelne Taktquelle die parasitäre Kapazität aller angeschlossenen Flip-Flops nicht treiben kann, wird der Takt über einen Taktbaum (Clock Tree) verteilt: eine Hierarchie aus meist 5 bis 8 Pufferstufen, die das Signal stufenweise verstärken und auf immer mehr Endpunkte auffächern.

Die zeitliche Differenz, mit der der Takt an unterschiedlichen Flip-Flops ankommt, wird als Taktversatz (Clock Skew) bezeichnet und entsteht durch unterschiedlich lange Leitungswege und Pufferketten; in gut optimierten Designs wird der Skew üblicherweise auf 2 bis 5 % der Taktperiode begrenzt. Bei einem symmetrischen Taktbaum wie dem H-Baum (H-Tree) ist die Leitungslänge von der Wurzel zu jedem Endpunkt bewusst identisch gehalten, um den Skew zu minimieren. Da Taktleitungen und ihre Puffer allein 20 bis 30 % der gesamten dynamischen Verlustleistung eines digitalen Chips beanspruchen können, gehört die Optimierung des Taktbaums (Clock Tree Synthesis) zu den aufwendigsten Schritten im digitalen Backend-Design.

3. Asynchrone Steuereingänge und Scan-Flip-Flops

Neben dem getakteten Dateneingang besitzen die meisten Flip-Flops zusätzliche, asynchron wirkende Steuereingänge zum Setzen (Set) oder Rücksetzen (Reset) des gespeicherten Werts, die unabhängig von der Taktflanke sofort wirken und beispielsweise beim Einschalten der Schaltung einen definierten Anfangszustand erzwingen.

Für den Produktionstest werden reguläre Flip-Flops häufig durch Scan-Flip-Flops ersetzt, die einen zusätzlichen Dateneingang und einen Auswahlmultiplexer besitzen und dadurch nur etwa 5 bis 10 % mehr Fläche als ein regulärer Flip-Flop benötigen. Im Testmodus werden alle Scan-Flip-Flops eines Chips zu einer oder mehreren langen Schieberegisterketten (Scan Chains) mit oft mehreren tausend Elementen pro Kette verbunden, über die sich beliebige Testmuster einspeisen und die resultierenden Zustände wieder auslesen lassen. Dieses als Design for Test (DFT) bezeichnete Vorgehen erreicht bei modernen Designs typischerweise Fehlerabdeckungen (Fault Coverage) von über 98 % und macht damit auch tief im Inneren eines Chips liegende Logikzustände von außen beobacht- und steuerbar, ohne dass dafür zusätzliche Testpins erforderlich wären.