-
STAND DER TECHNIK
-
In der Elektronik ist ein Flipflop eine Schaltung, die zwei stabile Zustände hat und zum Speichern von digitalen Informationen verwendet werden kann. Flipflops sind ein grundlegender Baustein von digitalen Elektroniksystemen und werden dazu verwendet, Daten in Computern, Kommunikationen und vielen anderen Arten von Systemen zu speichern. Ein Flipflop umfasst einen Eingangsanschluss, an dem Daten, die gespeichert werden sollen, empfangen werden, und einen Ausgangsanschluss, an dem Daten, die im Flipflop gespeichert sind, abgegeben werden.
-
Ein Flipflop speichert normalerweise ein einzelnes Bit (binäres Digit) von Daten, wie durch zwei verschiedene Zustände belegt. Einer seiner zwei Zustände repräsentiert eine „eins“, und der andere repräsentiert eine „null“. Daher erzeugt das Ausgabeterminal des Flipflops ein Signal, das zwischen dem Zustand „eins“ und dem Zustand „null“ in einer Weise hin und herspringt, die von den Eingangsdaten und dem Taktsignal abhängt, dass dem Flipflop zugeführt wird. Flipflops können für jede Anzahl von Anwendungen in elektronischen Schaltungen verwendet werden, wie zum Beispiel Zählen von Impulsen, Speichern von Datenwerten und/oder Synchronisieren von zeitlich variabel festgelegten Eingangssignalen mit einem Referenzzeitsignal.
-
Stand der Technik zum Gegenstand der Erfindung ist beispielsweise zu finden in
US 2016 / 0 097 811 A1 .
-
Die Erfindung sieht ein Flipflop mit Anordnung als integriertes Schaltungslayout auf einem Flipflopbereich eines Halbleitersubstrats gemäß Anspruch 1, eine integrierte Flipflop-Schaltung gemäß Anspruch 10 und eine integrierte Flipflop-Schaltung gemäß Anspruch 14 vor. Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
-
Figurenliste
-
Aspekte der vorliegenden Offenbarung sind am besten aus der folgenden detaillierten Beschreibung zu verstehen, wenn sie zusammen mit den begleitenden Zeichnungen gelesen wird. Es ist anzumerken, dass gemäß der gängigen Praxis in der Industrie verschiedene Merkmale nicht maßstabsgerecht gezeichnet werden. Tatsächlich können die Dimensionen der verschiedenen Merkmale willkürlich im Interesser der Klarheit der Diskussion vergrößert oder verkleinert werden.
- 1A illustriert eine schematische Ansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 1B illustriert ein Blockdiagramm von Funktionsblöcken, die ein Scan-Flipflop gemäß einigen Ausführungsformen der vorliegenden Offenbarung ausmachen.
- 1C illustriert ein Beispiel für eine detaillierte schematische Ansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 2 illustriert eine weitere detaillierte schematische Darstellung eines Scan-Flipflops, bei dem die Funktionsblöcke neu markiert worden sind gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 3 illustriert eine Grundplanungs- oder Layoutansicht Ansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 4 illustriert eine Grundplanungs- oder Teillayoutansicht einer Serie von sechs Scan-Flipflops von 3, die gemäß einigen Ausführungsformen der vorliegenden Offenbarung angeordnet sind.
- Die 5A-5D illustrieren eine detailliertere Grundplanungs- oder Layoutansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 6 illustriert eine weitere Grundplanungs- oder Layoutansicht Ansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 7 illustriert eine Grundplanungs- oder Layoutansicht einer Serie von sechs Scan-Flipflops von 6, die gemäß einigen Ausführungsformen der vorliegenden Offenbarung angeordnet sind.
- 8 illustriert eine Grundplanungs- oder Layoutansicht einer Serie von sechs Scan-Flipflops von 6, die gemäß einigen Ausführungsformen der vorliegenden Offenbarung angeordnet sind.
- 9 illustriert eine weitere Grundplanungs- oder Layoutansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 10 illustriert eine Grundplanungs- oder Layoutansicht eine Serie von 4 Scan-Flipflops von 9, die gemäß einigen Ausführungsformen der vorliegenden Offenbarung angeordnet sind.
- 11 illustriert eine Grundplanungs- oder Layoutansicht eines Scan-Flipflops gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele für das Realisieren verschiedener Funktionen der vorgesehenen Thematik bereit. Speziell Beispiele von Komponenten und Anordnungen werden unten beschrieben, um die vorliegende Offenbarung zu vereinfachen. Das sind natürlich nur Beispiele, und sie sollen nicht als Einschränkung verstanden werden. Zum Beispiel kann die Bildung eines ersten Merkmals über oder auf einem zweiten Merkmal in der Beschreibung, die folgt, Ausführungsformen umfassen, in denen das erste und zweite Merkmal in direktem Kontakt gebildet sind, und können aus Ausführungsformen umfassen, in denen zusätzliche Merkmale zwischen dem ersten und zweiten Merkmal gebildet sein können, derart dass das erste und zweite Merkmal nicht in direktem Kontakt sind. Außerdem kann die vorliegende Offenbarung Bezugszahlen und/oder -buchstaben in den verschiedenen Beispielen wiederholen. Diese Wiederholung dient der Einfachheit und Klarheit und diktiert nicht allein eine Beziehung zwischen den verschiedenen Ausführungsformen und/oder diskutierten Konfigurationen.
-
Räumlich bezogene Begriffe, wie z.B. „unterhalb“, „unter“, „über“, „niedriger“, „oben“ und „oberer“ und dergleichen, können hierin zur leichteren Beschreibung verwendet werden, um ein Element oder Merkmalsbeziehung zu einem anderen Element oder Elementen oder Merkmal(en) zu beschreiben, wie in den Figuren illustriert. Die räumlichen relativen Begriffe sollen verschiedene Orientierungen der im Gebrauch oder Betrieb befindlichen Vorrichtung zusätzlich zur Orientierung umfassen, die in den Figuren dargestellt wird. Die Vorrichtung kann anders orientiert sein (um 90 Grad gedreht oder in anderen Orientierungen), und die räumlichen relativen Deskriptoren können hierin dementsprechend interpretiert werden.
-
Flipflops werden im großen Umfang in digitalen Schaltungen verwendet und werden durch aufbauen von aufeinanderfolgenden Halbleiterschichten, Metallschichten und/oder isolierte Schichten übereinander hergestellt. Diese Schichten werden nacheinander unter Verwendung von Fotolithografie strukturiert, um äußerst kleine Schalkreismerkmale zu bilden, die gemeinsam Flipflops und andere Elemente auf einer integrierten Schaltung (IC) aufbauen. Einige der Schichten bilden aktive Vorrichtungsmerkmale im Halbleitersubstrat, während andere Schichten Metall-Zwischenkontakte herstellen, die die aktiven Vorrichtungsmerkmale miteinander verbinden. Die strukturierten Schichten werden zusammenfassend als „Layout“ für die IC bezeichnet. Während der fotolithografischen Strukturierung einer Schicht wird eine Maske über der Schicht gebildet, und Teile der Schicht können auf der Basis der Maske selektiv entfernt werden, um eine gewünschte Struktur für die Schicht herzustellen. Leider sind Masken teuer, und es ist im Allgemeinen wünschenswert, die Zahl der Masken zu begrenzen, um die Herstellungskosten zu begrenzen. Es ist auch wünschenswert, zu versuchen, die Fläche oder den „Fußabdruck“ der Schaltung zu verkleinern, da dies ermöglicht, dass mehr ICs auf einem einzelnen Halbleiterwafer hergestellt werden, was dementsprechend die Herstellungskosten reduziert.
-
Herkömmliche Flipflop-Layouts erfordern eine große Zahl von Masken, erhebliche Fläche und eine beträchtliche Menge an Routenführung. Die Routenführung kann zu einer großen Zahl von Masken beitragen und kann die Fläche ausweiten, die durch den Chip verbraucht wird, und kann auch zu einer großen Kapazitanz führen, die zu langsameren Schaltvorgängen für das Flipflop führt. Die vorliegende Offenbarung liefert eine Reihe von verbesserten Flipflop-Layouts. In diesen Layouts sind die Transistoren des Flipflop-Layouts in mehrere Teilblöcke gruppiert, die in einer effizienten Weise angeordnet sind, um die Routenführungs- und Flächenprobleme zu begrenzen. Durch Segmentieren des Flipflops in mehrere gut abgegrenzte Stücke und dann Anordnen dieser Stücke gemäß vorgegebenen Layoutplänen auf der integrierten Schaltung weisen die offenbarten Flipflops eine reduzierte Fläche und Routenführung und entsprechend reduzierte Herstellungskosten und verbesserte Schaltzeiten auf.
-
1A zeigt ein Blockdiagramm eines Scan-Flipflops 100, welches einen Scan-Multiplexer 101 und ein Flipflop 103 enthält, gemäß einigen Ausführungsformen. Das Scan-Flipflop 100 enthält zwei Dateneingänge - nämlich einen Scan-Dateneingang (SI) 116 und einen „normalen“ Dateneingang (D) 118. SI 116 kann ein Testvektorsignal liefern, wie zum Beispiel beim Built-In-Self-Test (BIST)-Scanning oder zum Beispiel Grenztestscanning, und D 118 kann tatsächliche Anwendungsdaten statt Testdaten liefern. Ein Scan-Nable-(SE)-Signal bestimmt, ob SI oder D gewählt wird. Wenn zum Beispiel SE 120 aktiviert ist (zum Beispiel ist SE auf eine logische „1“ gesetzt), läuft der Scan-Multiplexer 101 SI 116 durch zum Multiplexer-Ausgang 122. Wenn andererseits SE 120 deaktiviert ist (zum Beispiel ist SE auf eine logische „0“ gesetzt), läuft der Scan-Multiplexer 101 D 118 durch zum Multiplexer-Ausgang 122.
-
Das Flipflop 103 hat einen Eingabeanschluss, der mit dem Multiplexer-Ausgang 122 verbunden ist, und liefert ein Ausgabedatensignal (Q) am Flipflop-Ausgabeanschluss 124. Das Ausgabedatensignal Q basiert auf dem aktuellen Zustand, der im Flipflop 103 gespeichert ist, dem gewählten Daten-(SD)-Signal auf 122 und dem CLK-Signal 126. Das Ausgabedatensignal Q schaltet zwischen einem Zustand „eins“ und einem Zustand „null“ in einer Weise hin und her, die vom SD-Signal 122 und dem CLK-Signal 126 abhängt. Im Allgemeinen setzt das Flipflop 103 die Ausgabe seines aktuell gespeicherten Zustandes als Ausgabedaten Q fort, bis das CLK-Signal 126 eine ansteigende und/oder fallende Flanke aufweist (ungeachtet der Änderungen im SD-Signal 122). Wenn das CLK-Signal 126 eine ansteigende und/oder fallende Flanke aufweist, „speichert“ das Flipflop 103 nur dann den aktuellen Zustand des SD-Signals 122 und liefert diesen Zustand an den Datenausgang (Q). Wenn zum Beispiel das Flipflop 103 anfänglich einen „i“-Zustand speichert, solange das CLK-Signal 126 nicht von einem logischen Tief zu einem logischen Hoch läuft (und/oder umgekehrt), liefert das Flipflop 103 weiterhin einen „i“-Zustand am Flipflop-Ausgabeanschluss 124, selbst wenn das SD-Signal 122 in einen null-Zustand überwechselt. Daher behält das Flipflop 103 den „i“-Zustand, der gespeichert ist, bis der CLK 126 den Zustand ändert. Wenn eine „1“ immer noch im SD-Signal am Multiplexer-Ausgang 122 vorhanden ist, wenn CLK 126 den Zustand ändert, speichert das Flipflop 103 wieder den „1“-Zustand für einen weiteren Taktzyklus. Wenn im Gegensatz dazu ein „0“-Zustand bei SD 122 vorhanden ist, wenn CLK 126 den Zustand ändert, speichert das Flipflop den „o“-Zustand für den folgenden Taktzyklus und gibt daher eine „0“ am Flipflop-Ausgabeanschluss 124 aus.
-
Wie in 1B dargestellt, kann das Scan-Flipflop 100 einen Scan-Multiplexer 101 und das Flipflop 103 enthalten, welches mehrere Funktionsblöcke umfassen kann. Dieser Scan-Multiplexer 101 kann Scan-Multiplex-Eingabeschaltung 102 und einen Scan-Freigabeinverter 114 enthalten, während das Flipflop 103 Masterlatch- Schaltungen 104, Slavelatch-Schaltungen 106, Datenausgabeschaltungen 108, einen ersten Taktinverter 110 und einen zweiten Taktinverter 112 umfassen kann. Die Scan-Multiplex-Eingabeschaltung 102 empfängt 2 Datensignale - ein SI-Signal und ein D-Signal - sowie ein Scan-Aktivierungs-(SE)-Signal und ein Scan-Aktivierungs-Balkensignal (seb), welches vom Scannen-Aktivierungsinverter 114 erhalten wird. Ein Ausgang der Scan-Multiplex-Eingabeschaltung 102 ist mit einem Eingang der Masterlatch-Schaltung 104 verbunden. Die Masterlatch-Schaltung 104 und die Slavelatch-Schaltung 106 sind oft kreuzgekoppelt, um einen Datenzustand in einer wechselseitig verstärkenden Weise zu speichern, und jede empfängt ein Takt-Balkensignal (clkb) und ein Takt-Balken-Balken-(clkbb)-Signal. Die Signale clkb und clkbb beruhen auf dem CLK-Signal 126 und werden durch erste und zweite Taktinverter 110, bzw. 112 geliefert und sind die invertierten Versionen voneinander mit einer leichten Verzögerung zwischen ihnen. Die Datenausgabeschaltung 108 hat einen Eingang, der mit einem Ausgang der Slavelatch-Schaltung 106 verbunden ist und ein Daten-aus-Signal (Q) am Flipflop-Ausgabeanschluss 124 liefert. Jeder dieser Funktionsblöcke kann verschiedene Formen annehmen, abhängig von der Implementierung. Was auch immer die genaue Implementierung für diese verschiedenen Funktionsblöcke ist, findet die vorliegende Offenbarung eine Wertschätzung durch Aufteilen der Transistoren dieser Funktionsblöcke in getrennte Bereiche eines Flipflop-Layouts; die Siliziumfläche, Anzahl von Masken und/oder Routenführung, die für das Scannen-Flipflop 100 erforderlich sind, können reduziert werden, wodurch die Herstellung rationalisiert wird und Kosten, die mit der Schaltungsherstellung verbunden sind, reduziert werden.
-
1C zeigt eine detailliertere schematische Darstellung eines beispielhaften Scan-Flipflops 100. Wie in 1C gezeigt, besteht das Scan-Flipflop 100 aus 32 Transistoren, die mit M1, M2, M2, M4, ..., M32 gekennzeichnet sind. Spezieller gesagt, sind die ersten zehn Transistoren M1, M2, ..., M10 betriebsmäßig angeschlossen, um eine Scan-Multiplex-Eingabeschaltung 102 zu bilden. Die Transistoren M11, M12, ..., M18 sind betriebsmäßig angeschlossen, um die Masterlatch-Schaltung 104 zu bilden. Die Masterlatch-Schaltung 104 umfasst einen ersten Satz von kreuzgekoppelten Invertern 105, wobei M11, M12 einen ersten Inverter bilden und die Transistoren M13-M16 einen zweiten Inverter bilden, der auf der Basis von clkb und clkbb selektiv aktiviert wird. Ein Übertragungsgate M17, M18 verbindet die Masterlatch-Schaltung 104 mit der Slavelatch-Schaltung 106. Die Transistoren M19, M20, ..., M24 sind betriebsmäßig angeschlossen, um die Slavelatch-Schaltung 106 zu bilden. Die Slavelatch-Schaltung 106 umfasst einen zweiten Satz von kreuzgekoppelten Invertern 107, wobei die Transistoren M19, M20 einen dritten Inverter bilden und die Transistoren M13-M16 einen vierten Inverter bilden, der auf der Basis von clkb und clkbb selektiv aktiviert wird. Die Daten-aus-Schaltung 108 umfasst einen fünften Inverter, der aus den Transistoren M25, M26 besteht, und invertiert die Ausgabe der Slavelatch-Schaltung 106 derart, dass die Ausgabe Q dieselbe Polarität hat (das heißt, nicht invertiert ist) in Bezug auf die ursprünglichen Dateneingaben D und SI. Die Transistoren M27, M28 machen den ersten Taktinverter 110 aus; die Transistoren M29, M30 machen einen zweiten Taktinverter 112 aus; und die Transistoren M31, M32 machen den ScanAktivierungsinverter 114 aus. Wie bei dem Beispiel von 1B, kann die Beispielschaltung von 1C verschiedene Formen annehmen und schränkt in keinerlei Weise die vorliegende Offenbarung ein.
-
Wie in 2 gezeigt, können in einigen Ausführungsformen der vorliegenden Offenbarung die Funktionsblöcke, die in 1C dargestellt sind, neu gezeichnet werden, sodass sie der Scan-Multiplex-Eingangsschaltung 202, der Master-Latch-Schaltung 204, der Slave-Latch-Schaltung 206, Daten-aus-Schaltung 208, dem ersten Taktinverter 210, dem zweiten Taktinverter 212 und dem Scannen-Aktivierungsinverter 214 entsprechen. Daher enthält in der Ausführungsform von 2 die Scan-Multiplex-Eingangsschaltung 202 nun die Transistoren M1-M8; die Master-Latch-Schaltung 204 umfasst die Transistoren M9, M10, M13, M14, M15, M16; die Slave-Latch-Schaltung 106 enthält die Transistoren M11, M12, M17, M18, M21, M22, M23, M24; und die Daten-aus-Schaltung 208 enthält jetzt M19, M20, M25, M26.
-
3 illustriert einige Ausführungsformen eines Layout-Diagramms für Transistoren innerhalb eines integrierten Schaltungslayouts 300, um ein Scan-Flipflop (zum Beispiel Scan-Flipflop 200 von 2) zu implementieren. Die Funktionen des Layouts 300 sind in einem Flipflop-Bereich eines Halbleitersubstrats angeordnet, wobei der Flipflop-Bereich durch einen Flipflop-Perimeter 301 umschrieben wird, welcher in einigen Ausführungsformen rechteckig ist. Innerhalb dieses Flipflop-Perimeters 301 werden die Transistoren des Flipflops auf einen Scan-Multiplex-Perimeter 303, einen Master-Latch-Perimeter 305, einen Slave-Latch-Perimeter 307, einen Daten-aus-Perimeter 309, einen ersten Taktinverter-Perimeter 311, einen zweiten Taktinverter-Perimeter 313 und einen Scanaktivierungs-(SE)-Inverter-Perimeter 315 aufgeteilt. Der Scan-Multiplex-Perimeter 303 umgibt die Transistoren der Scan-Multiplex-Eingangsschaltung 302 (zum Beispiel Scan-Multiplex-Eingangsschaltung 202, 2). Der Master-Latch-Perimeter 305 umgibt die Transistoren der Master-Latch-Schaltung 304 (zum Beispiel die Master-Latch-Schaltung 204, 2). Der Slave-Latch-Perimeter 307 umgibt die Transistoren der Slave-Latch-Schaltung 306 (zum Beispiel die Slave-Latch-Schaltung 206, 2). Der Daten-aus-Perimeter 309 umgibt die Transistoren der Daten-aus-Schaltung 308 (zum Beispiel die Daten-aus-Schaltung 208, 2). Der erste Taktinverter-Perimeter 311 umgibt Transistoren der ersten Taktinverter-Schaltung 310 (zum Beispiel den ersten Taktinverter 210, 2), ein zweiter Taktinverter-Perimeter 313 umgibt Transistoren einer zweiten Taktinverter-Schaltung 312 (zum Beispiel den zweiten Taktinverter 212, 2), und der SE-Inverter-Perimeter 315 umgibt die Transistoren der-Aktivierungsinverter-Schaltung 314 (zum Beispiel den Scanaktivierungsinverter 214, 2). Diese Perimeter 303 bis 315 überlappen sich normalerweise nicht. In einigen Ausführungsformen ist jeder dieser Perimeter 303 bis 315 rechteckig, was bedeutet, dass sie vier gerade Seiten haben (gleich oder ungleich in der Länge) und vier rechte Winkel.
-
Die Daten fließen im Allgemeinen durch dieses Layout 300, wie durch den Datenwegpfeil 320 gezeigt. Daher kommen die Daten, wie zum Beispiel SI- und D-Datensignale, an der Scan-Multiplex-Eingangsschaltung 302 an, nachdem die Scan-Multiplex-Eingangsschaltung 302 eines der Datensignale gewählt hat, schickt die Scan-Multiplex-Eingangsschaltung 302 die ausgewählten Daten zur Master-Latch-Schaltung 304. Die Master-Latch-Schaltung 304 und die Slave-Latch-Schaltung 306 speichern dann die gewählten Datenzustand bei einer ansteigenden und/oder fallenden Flanke der Taktsignale clkb bzw. clkbb, die durch die erste Taktinverterschaltung 310 bzw. die zweite Taktinverterschaltung 312 bereitgestellt werden.
-
In der Ausführungsform von 3 hat der Scan-Multiplex-Eingangsperimeter 303 eine erste Scan-Multiplex-Eingangskante 322, die gegen eine erste Master-Latch-Kante 324 des Master-Latch-Perimeters 305 grenzt. Der Slave-Latch-Perimeter 307 hat eine erste Slave-Latch-Kante 326, die an eine zweite Master-Latch-Kante 328 des Master-Latch-Perimeters 305 grenzt. In der Ausführungsform von 3 sind die erste Master-Latch-Kante 324 und die zweite Master-Latch-Kante 328 senkrecht zueinander. Der Scan-Multiplex-Eingabeperimeter 303 hat eine zweite Scan-Multiplex-Eingabekante 330, die an eine Oberkante 322 des Daten-aus-Perimeters 309 sowie eine obere Kante 334 des SE-Inverter-Perimeters 315 grenzt. Der Master-Latch-Perimeter 305 hat eine dritte Master-Latch-Kante 336 die an eine Seitenkante des ersten Taktinverter-Perimeters 311 grenzt. Der Slave-Latch-Perimeter 307 hat eine zweite Slave-Latch-Kante 338, die an eine Kante 340 der Daten-aus-Schaltung 308 grenzt, und hat eine dritte Slave-Latch-Kante 342, die an eine Kante des zweiten Taktinverter-Perimeters 313 grenzt. Dieses gut strukturierte Grundlayout 300 kann die Routenführung reduzieren.
-
Eine Serie von Flipflops, die jeweils ausgelegt sind, wie in 3 dargestellt, kann in einem Feld als Teil einer Scan-Kette, eines Schieberegisters oder einer anderen Schaltung angeordnet sein. 4 illustriert ein Beispiel, wo 6 Scan-Flipflops in Reihe zueinander angeordnet sind, daher ist ein Ausgang eines Flipflops mit einem Eingang des nächsten Flipflops verbunden. Daher illustriert 4 ein erstes Scan-Flipflop 402, ein zweites Scan-Flipflop 404, drittes Scan-Flipflop 406, viertes Scan-Flipflop 408, fünftes Scan-Flipflop 410 und ein sechstes Scan-Flipflop 412, die in Reihe zueinander angeordnet sind. Die Pfeile 404 zeigen, wie Ausgaben der vorhergehenden jeweiligen Flipflops mit Eingaben der jeweiligen folgenden Flipflops verbunden werden. Die Flipflops sind so angeordnet, dass sie Kanten haben, die direkt aneinandergrenzen, um für ein kompaktes Layout zu sorgen, erste und zweite Taktinverterschaltungen 310, 312 werden zwischen den Flipflops geteilt. Die ersten und zweiten Taktinverterschaltungen 310, 312 sind zwischen einer ersten Säule von Flipflops und einer zweiten Säule von Flipflops angeordnet. Die ersten und zweiten Taktinverterschaltungen 310, 312, die auf einer Linie liegen, die sich in einer ersten Richtung 420 erstreckt, trennen benachbarte Säulen von Flipflops. Die erste Taktinverterschaltung 310 empfängt ein Taktsignal und liefert ein Taktbalkensignal auf einer ersten Taktleitung 422 an die Flipflops. Die erste Taktleitung 422 erstreckt sich in einer zweiten Richtung 424, die senkrecht zur ersten Richtung 420 ist. Die zweite Taktinverterschaltung 312 empfängt ein Taktbalkensignal und liefert ein Taktbalken-Balkensignal auf einer zweiten Taktleitung 426 an die Flipflops.
-
Ein Vorteil des Layouts von 4 (und einigen anderen Ausführungsformen, die hierin illustriert werden) ist, dass es nur ein Taktsignal pro Reihe von Teilzellen gibt, was zu weniger Kopplung und besserer Leistung führt. Zum Beispiel ist für die oberste Reihe von Flipflops 406, 408 das clkb-Signal das einzige Taktsignal für eine erste Reihe von Teilzellen (Blöcke 302 und 304), während das clkbb-Signal das einzige Taktsignal für eine zweite Reihe von Teilzellen (Blöcke 306, 308, 314) ist. Außerdem sind die Zellen so ausgerichtet worden, dass sie die clkb/clkbb-Routenführung begrenzen, wie jetzt detaillierter in Bezug auf 5A beschrieben wird.
-
Die 5A-5D zeigen mehrere Ansichten eines Teils eines Layouts 500, das ein detaillierteres Beispiel dafür zeigt, wie die 32 Transistoren M1, M2, ..., M32 des Scan-Flipflops 200 von 2 als ein IC-Layout 500 auf einem Halbleitersubstrat angeordnet werden können. Aus Gründen der Klarheit zeigen die 5A-5C verschiedene Schichten, die innerhalb des Layouts als separate Zeichnungen enthalten sind, obwohl es zu erkennen ist, dass das endgültige Layout normalerweise alle Schichten von 5A-5C enthalten wird (sowie in vielen Fällen andere Schichten), wie zum Beispiel in 5D gezeigt, die die Überlagerung der Schichten der 5A-5C zeigt.
-
5A ist mit dem Grundlayout von 3 vereinbar, begrenzt aber das Grundlayout von 3 in keinerlei Hinsicht. Das Layout 500 umfasst aktive n-Typ-Bereiche 502 und aktive p-Typ-Bereiche 504. Gatestrukturen 506, die normalerweise aus dotiertem Polysilizium oder Metall hergestellt werden, erstrecken sich über die aktiven Bereiche 502, 504 und bedecken Kanalbereiche in einem Halbleitersubstrat, wobei die Kanalregionen einen Dotierungstyp haben, der entgegengesetzt zu dem der umgebenden aktiven Bereiche 102, 504 ist. Aus Gründen der Einfachheit werden nur drei Gatestrukturen 506 markiert. Wie in dem Layout 500 von 5A gezeigt, sind die verschiedenen Funktionsblöcke (202 bis 214), die in 2 dargestellt sind, jeweils auf ihre eigenen nicht überlappenden Bereiche beschränkt, was die Routenführung vereinfacht und die Fläche reduziert. Bemerkenswert ist, dass die Vorrichtungen, die Taktsignale clkb, clkbb empfangen, so angeordnet worden sind, dass sie vollständig in den rechten Teil dieses Layouts fallen, um die Taktroutenführung zu reduzieren. Daher sind die Transistoren M9, M10, M15, M16, M17, M18, M23, M24, M27, M28, M29 und M30 alle in enger Nähe gruppiert worden. In dem illustrierten Layout sind diese Vorrichtungen in annähernd einer Hälfte der Zellbreite angeordnet, in anderen Ausführungsformen jedoch könnten die Vorrichtungen in annähernd zwei Dritteln der Zellbreite oder in weniger als einer Hälfte der Zellbreite angeordnet werden. Durch Gruppieren dieser Vorrichtungen kann die Länge der Taktleitungen reduziert werden, was dabei hilft, die Kapazitanz zu begrenzen, und was die Betriebsgeschwindigkeit der Vorrichtung verbessert. Eine Querschnittsansicht 550 für den Transistor M8 wird in der Nähe der des oberen Endes von 5A illustriert, um ein Beispiel dafür zu zeigen, wie eine Gatestruktur 506 sich über einen aktiven Bereich 502 erstrecken und einen Kanalbereich 510 in einem Halbleitersubstrat 512 abdecken kann. Ein Gatedielektrikum 514, wie zum Beispiel ein Gatedielektrikum mit hohem k-Wert, trennt die Gatestruktur 506 vom Kanalbereich 510.
-
5B stellt das Layout 500 dar, bei dem zusätzliche Schichten zum Layout von 5A hinzugefügt wurden. 5B zeigt wieder ein Beispiel dafür, wie die 32 Transistoren M1, M2, ..., M32 angeordnet werden können. In 5B liegt eine Metall 0-Schicht (Metal0) über aktiven Bereichen 502, 504 und ist aus Segmenten aufgebaut, die im Allgemeinen senkrecht zur den aktiven Bereichen verlaufen. Eine Metall 1-Schicht (Metall) ist über der Metal0-Schicht und über der Gatestruktur 506 aufgeschichtet, und ist aus Segmenten hergestellt, die im allgemeinen parallel zu den aktiven Bereichen und senkrecht zu den Metal0-Segmenten verlaufen. Erste Kontakte 516 erstrecken sich vertikal zwischen dem Metalo- und Metall-Segment, um das Metalo- und Metall-Segment miteinander ohmsch zu verbinden. Aus Gründen der Einfachheit ist nur ein erster Kontakt 516 in der Layoutansicht von 5B markiert. Zweite Kontakte 518 erstrecken sich vertikal zwischen den Metall-Segmenten und Gatestrukturen, um die Metall-Segmente und die Gatestruktur 506 miteinander ohmsch zu verbinden. Aus Gründen der Einfachheit ist nur ein zweiter Kontakt 518 in der Layoutansicht von 5B markiert. Wie in der Querschnittsansicht 550 für Transistor M8 in der Nähe der Oberseite von 5B gezeigt, erstreckt sich die Metalo-Schicht über den aktiven Bereich 502, und die Metall-Schicht erstreckt sich über die Metalo-Schicht. Erste Kontakte 516 erstrecken sich vertikal zwischen den Metalo- und MetallSchichten, während zweite Kontakte sich vertikal zwischen der Metall-Schicht und den Gatestrukturen 506 erstrecken.
-
In 5C liegt eine Metal2-Schicht (Metal2) über der Metall-Schicht (Metall). Die Metal2-Schicht besteht aus Segmenten, die im Allgemeinen senkrecht zu den Metall-Segmenten verlaufen. Dritte Kontakte 520 erstrecken sich vertikal zwischen den Metall- und Metal2-Segmenten, um die Metall- und Metal2-Segmente miteinander ohmsch zu verbinden. Aus Gründen der Einfachheit ist nur ein dritter Kontakt 520 in der Layoutansicht von 5C markiert. Wie in der Querschnittsansicht 550 für Transistor M8 in der Nähe der Oberseite von 5C gezeigt, erstreckt sich die Metal2-Schicht über die Metall-Schicht, und die dritten Kontakte 520 erstrecken sich vertikal zwischen den Metal2- und MetallSchichten.
-
5D zeigt eine Überlagerung der Schichten, die vorher in den 5A-5C illustriert wurden..
-
6 stellt ein alternatives Layout-Diagramm 600 für Transistoren innerhalb eines integrierten Schaltungslayouts 600 bereit, um ein Scan-Flipflop (zum Beispiel Scan-Flipflop 200 in 2) gemäß einigen Ausführungsformen zu implementieren. Die Merkmale des Layouts sind wieder in einem Flipflop-Bereich eines Halbleitersubstrats angeordnet, wobei der Flipflop-Bereich durch einen Flipflop-Perimeter 601 umschrieben wird. Innerhalb dieses Flipflop-Perimeters 601 sind die Transistoren des Flipflops zu einer Scan-Multiplex-Eingangsschaltung 602, Master-Latch-Schaltung 604, Slave-Latch-Schaltung 606, Daten-aus-Schaltung 608 der ersten Taktinverterschaltung 610, zweiten Taktinverterschaltung 612 und der Scan-Aktivierungs-Inverter Schaltung 614 organisiert.
-
Obwohl 3 eine Ausführungsform eines Layouts 300 illustrierte, wo die erste Master-Latch-Kante 324 und die zweite Master-Latch-Kante 328 (die der Scan-Multiplex-Eingangsschaltung 302 bzw. der Slave-Latch-Schaltung 306 entsprechen) senkrecht zueinander sind, stellt 6 ein alternatives Beispiel dar, wo eine erste Master-Latch-Kante 616 (die der Scan-Multiplex-Eingangsschaltung 602 entspricht) und die zweite Master-Latch-Kante 618 (die der Slave-Latch-Schaltung 606 entspricht) parallel zueinander sind, derart dass die Scan-Multiplex-Eingangsschaltung 602 und die Slave-Latch-Schaltung 606 auf entgegengesetzten Seiten der Master-Latch-Schaltung 604 sind.
-
Die Daten fließen im Allgemeinen durch dieses Layout, wie durch den Datenwegpfeil 620 gezeigt. Daher kommen die Daten, wie zum Beispiel SI- und D-Datensignale, an der Scan-Multiplex-Eingabeschaltung 602 an, und nachdem die Scan-Multiplex-Eingangsschaltung 602 eines der Datensignale gewählt hat, schickt die Scan-Multiplex-Eingangsschaltung 602 die ausgewählten Daten zur Master-Latch-Schaltung 604. Die Master-Latch-Schaltung 604 und die Slave-Latch-Schaltung 606 speichern dann den gewählten Datenzustand bei einer ansteigenden und/oder fallenden Flanke der Taktsignale clkb bzw. clkbb, die durch die erste Taktinverterschaltung 610 bzw. die zweite Taktinverterschaltung 612 bereitgestellt werden.
-
In der Ausführungsform von 6 hat die Scan-Multiplex-Eingangsschaltung 602 eine erste Scan-Multiplex-Eingabekante 122, die an die erste Master-Latch-Kante 616 grenzt. Die Slave-Latch-Schaltung 606 hat eine erste Slave-Latch-Kante, die an die zweite Master-Latch-Kante 618 grenzt. In der Ausführungsform von 6 sind die erste Master-Latch-Kante 616 und die zweite Master-Latch-Kante 618 parallel zueinander. Die Slave-Latch-Schaltung 606 hat eine zweite Slave-Latch-Kante 624, die an eine untere Kante der Daten-aus-Schaltung 608 grenzt, und hat eine Seitenkante 626, die an die erste Taktinverterschaltung 610 grenzt. Die Master-Latch-Schaltung hat eine Seitenkante 628, die an die zweite Taktinverterschaltung 612 grenzt. Die Scan-Multiplex-Eingangsschaltung 602 hat eine Seitenkante 630, die an die SE-Inverterschaltung 614 grenzt.
-
7 illustriert ein Beispiel, wo 6 Scan-Flipflops in Reihe zueinander angeordnet sind, daher ist ein Ausgang eines Flipflops mit einem Eingang des nächsten Flipflops verbunden. Daher illustriert 7 ein erstes Scan-Flipflop 702, ein zweites Scan-Flipflop 704, drittes Scan-Flipflop 706, viertes Scan-Flipflop 708, fünftes Scan-Flipflop 710 und ein sechstes Scan-Flipflop 712, die in Reihe zueinander angeordnet sind. Die Flipflops sind so angeordnet, dass sie Kanten haben, die direkt aneinandergrenzen, um für ein kompaktes Layout zu sorgen. Die erste und zweite Taktinverterschaltung 610, 612 und die Scan-Aktivierungs-Inverterschaltung 614 sind zwischen benachbarten Flipflops 706, 708 angeordnet.
-
8 illustriert ein weiteres Beispiel, wo 6 Scan-Flipflops, die nach 6 gestaltet sind, in Reihe zueinander angeordnet sind, daher ist ein Ausgang eines Flipflops mit einem Eingang des nächsten Flipflops verbunden. Verglichen mit 7, ist 8 insofern anders, als die Flipflops in 8 in einem zusammenhängenden Block angeordnet sind, und die erste und zweite Taktinverterschaltung 610, 612 und die Auswahl-Aktivierungs-Inverterschaltung 614 sind entlang einer peripheren Kante des zusammenhängenden Blocks angeordnet, wobei die Flipflops nur auf einer Seite des zusammenhängenden Blocks und Flipflops angeordnet sind. Dadurch, dass keine Flipflops auf der anderen Seite der ersten und zweiten Takt Inverterschaltung 610, 612 und der Auswahl-Aktivierungs-Inverterschaltung 614 vorhanden sind, kann die Routenführung reduziert werden.
-
9 stellt ein alternatives Layout-Diagramm 900 für Transistoren innerhalb eines integrierten Schaltungslayouts 900 bereit, um ein Scan-Flipflop (zum Beispiel Scan-Flipflop 200 in 2) gemäß einigen Ausführungsformen zu implementieren. Die Merkmale des Layouts sind wieder in einem Flipflop-Bereich eines Halbleitersubstrats angeordnet, wobei der Flipflop-Bereich durch einen Flipflop-Perimeter 901 umschrieben wird. Innerhalb dieses Flipflop-Perimeters 901 sind die Transistoren des Flipflops zu einer Scan-Multiplex-Eingangsschaltung 902, Master-Latch-Schaltung 904, Slave-Latch-Schaltung 906, Daten-aus-Schaltung 908 der ersten Taktinverterschaltung 910, zweiten Taktinverterschaltung 912 und der Scan-Aktivierungs-Inverterschaltung 914 organisiert. Die Slave-Latch-Schaltung 906 und die Master-Latch-Schaltung 904 sind so angeordnet, dass sie zwischen der Scan-Multiplex-Eingangsschaltung 902 und der Daten-aus-Schaltung 908 angeordnet sind. Die Slave-Latch-Schaltung 906 und die Master-Latch-Schaltung erstrecken sich im allgemeinen parallel zueinander und können kongruent sein, derart, dass die Scan-Multiplex-Eingangsschaltung 902 und die Daten-aus-Schaltung 908 durch die Master- und Slave-Latch-Schaltungen 904, 906 getrennt werden.
-
Die Daten fließen im Allgemeinen durch dieses Layout, wie durch den Datenwegpfeil 920 gezeigt. Daher kommen die Daten, wie zum Beispiel SI- und D-Datensignale, an der Scan-Multiplex-Eingabeschaltung 902 an, und nachdem die Scan-Multiplex-Eingangsschaltung 902 eines der Datensignale gewählt hat, schickt die Scan-Multiplex-Eingangsschaltung 902 die ausgewählten Daten zur Master-Latch-Schaltung 904. Die Master-Latch-Schaltung 904 und die Slave-Latch-Schaltung 906 speichern dann den gewählten Datenzustand bei einer ansteigenden und/oder fallenden Flanke der Taktsignale clkb bzw. clkbb, die durch die erste Taktinverterschaltung 910 bzw. die zweite Taktinverterschaltung 912 bereitgestellt werden.
-
10 illustriert ein Beispiel, wo 4 Scan-Flipflops, wie gemäß 9 ausgelegt, in Reihe zueinander angeordnet sind, daher ist ein Ausgang eines Flipflops mit einem Eingang des nächsten Flipflops verbunden. Daher illustriert 10 ein erstes Scan-Flipflop 1002, ein zweites Scan-Flipflop 1004, drittes Scan-Flipflop 1006, viertes Scan-Flipflop 1008, die in Reihe zueinander angeordnet sind. Die Flipflops sind so angeordnet, dass sie Kanten haben, die direkt aneinandergrenzen, um für ein kompaktes Layout zu sorgen. Die erste und zweite Taktinverterschaltung 910, 912 und die Scan-Aktivierungs-Inverterschaltung 914 sind entlang einer peripheren Kante eines äußersten Flipflops 1008 angeordnet. Die erste und zweite Taktinverterschaltung 910, 912 und die Scan-Aktivierungs-Inverterschaltung 914 können alternativ zwischen benachbarten Flipflops, analog wie in 7 illustriert, angeordnet sein. Der Datenfluss wird allgemein durch die Pfeile 1010 illustriert.
-
11 zeigt eine weitere Layoutansicht 1100, die so markiert ist, sodass sie den Funktionsblöcken von 1C entspricht. Es ist zu erkennen, dass in einigen Ausführungsformen das Layout von 11 das Layout von 5A ist (so wie die schematische Darstellung von 1C vollständig äquivalent zur schematischen Darstellung von 2 ist), außer dass die Transistoren M1-M32 in verschiedene Funktionsblöcke getrennt sind. Während zum Beispiel die schematische Darstellung von 2 die Master-Latch-Schaltung 204 (Transistoren M9, M10, M13-M16) und die Slave-Latch-Schaltung 206 (Transistoren M11, M12, M17, M18, M21-M24) umfasst, umfasst das Layout 1100 von 11 die Masterlatch-Schaltung (Transistoren M11-M18) und die Slavelatch-Schaltung (M19-M24), die wieder die verschiedenen Aufteilungen zwischen 1C und 2 widerspiegeln. Daher kann das aktuelle Konzept in einigen Ausführungsformen im Hinblick auf Master- und Slave-Latch-Schaltung beschrieben werden (bei der Latchs nicht notwendigerweise einen Datenzustand speichern), während in anderen Ausführungsformen mit Bezug auf Master- und Slavelatch-Schaltung beschrieben werden können (wo Latches die Fähigkeit haben, Datenzustände zu speichern).
-
Es ist zu erkennen dass in dieser schriftlichen Beschreibung sowie in den Ansprüchen unten, die Begriffe „erster“, „zweiter“ , „dritter“ usw. lediglich allgemeine Identifikationen sind, die zur leichteren Beschreibung verwendet werden, um zwischen verschiedenen Elementen einer Figur oder einer Serie von Figuren zu unterscheiden. In sich und von selbst implizieren diese Begriffe keine zeitliche Ordnung oder strukturelle Nähe für diese Elemente und sind nicht dafür vorgesehen, die entsprechenden Elemente in verschiedenen illustrierten Ausführungsformen und/oder nicht illustrierten Ausführungsformen zu beschreiben. Zum Beispiel kann „eine erste dielektrische Schicht“, die in Verbindung mit einem ersten Bild beschrieben wird, nicht notwendigerweise einer „ersten dielektrischen Schicht“ entsprechen, die in Verbindung mit einer zweiten Figur beschrieben wird (zum Beispiel, und kann sogar einer „zweiten dialektischen Schicht“ in der zweiten Figur entsprechen) und braucht nicht notwendigerweise einer „ersten dielektrischen Schicht“ in einer nicht illustrierten Ausführungsform zu entsprechen.
-
Das Vorhergehende umreißt Merkmale von mehreren Ausführungsformen, so dass die Fachleute auf diesem Gebiet die Erscheinungsformen der vorliegenden Offenbarung besser verstehen können. Die Fachleute auf diesem Gebiet werden erkennen, dass sie die vorliegende Offenbarung ohne weiteres für den Entwurf oder das Modifizieren anderer Prozesse und Strukturen zum Verfolgen derselben Zwecke und/oder Erreichen derselben Vorteile der Ausführungsformen nutzen können, die hierin beschrieben werden. Die Fachleute auf diesem Gebiet sollten auch erkennen, dass solche äquivalenten Konstruktionen nicht vom Geist und dem Geltungsbereich der vorliegenden Offenbarung abweichen und dass sie verschiedene Modifizierungen hierin vornehmen können, ohne vom Geist und dem Geltungsbereich der vorliegenden Offenbarung abzuweichen.