-
Die
Erfindung betrifft eine Schaltkreis-Anordnung, eine elektronische
Einrichtung, ein elektrisches Gerät und ein Verfahren zum Betreiben
einer Schaltkreis-Anordnung.
-
Flip-Flops
dienen dem Abspeichern von logischen Zuständen beispielsweise in Pipelinestufen
von Mikroprozessoren.
-
Für eine Schaltkreis-Anordnung
mit einer Vielzahl von Flip-Flops,
beispielsweise für
einen Mikroprozessor, ist es wünschenswert,
neben dem herkömmlichen
Betriebsmodus zum Verarbeiten von Daten-Signalen, auf einfache und
verlässliche
Weise die Flip-Flops und Logik, beispielsweise mittels eines so
genannten Scan-Test-Verfahrens, testen zu können.
-
Ausführungsbeispiele
der Erfindung sind in den Figuren dargestellt und werden im Folgenden
näher erläutert.
-
Es
zeigen
-
1 ein
herkömmliches
Master-Slawe-Flip-Flop;
-
2 ein
herkömmliches
gepulstes Flip-Flop;
-
3 ein
anderes gepulstes Flip-Flop;
-
4 ein
elektrisches Gerät
gemäß einem
Ausführungsbeispiel
der Erfindung;
-
5 eine
Mehrzahl von Pipelinestufen mit einer Vielzahl von Flip-Flops gemäß einem
Ausführungsbeispiel
der Erfindung;
-
6 ein
gepulstes Flip-Flop mit Scan-Test-Erweiterung;
-
7 ein
gepulstes Flip-Flop gemäß 3 mit
Scan-Test-Erweiterung;
-
8 eine
Transistor-Anordnung des gepulsten Flip-Flops mit Scan-Test-Erweiterung
gemäß 7;
-
9 ein
gepulstes Flip-Flop mit Scan-Test-Erweiterung gemäß einem
Ausführungsbeispiel
der Erfindung;
-
10 ein
gepulstes Flip-Flop mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel der
Erfindung;
-
11 ein
gepulstes Flip-Flop mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel der
Erfindung;
-
12 eine
schaltungstechnische Realisierung des gepulsten Flip-Flops mit Scan-Test-Erweiterung gemäß 10 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung;
-
13 eine
schaltungstechnische Realisierung des gepulsten Flip-Flops mit Scan-Test-Erweiterung gemäß 11 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung;
-
14 ein
gepulstes Flip-Flop mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel der
Erfindung;
-
15 eine
schaltungstechnische Realisierung des gepulsten Flip-Flops mit Scan-Test-Erweiterung gemäß 14 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung; und
-
16 ein
Verfahren zum Betreiben einer Schaltkreis-Anordnung gemäß einem Ausführungsbeispiel der
Erfindung.
-
In
den Figuren werden identische oder ähnliche Elemente mit identischen
Bezugszeichen versehen, soweit dies zweckmäßig. ist.
-
Im
Rahmen dieser Beschreibung werden die Begriffe "verbunden", "angeschlossen" sowie "gekoppelt" verwendet zum Beschreiben
sowohl einer direkten als auch einer indirekten Verbindung, eines
direkten oder indirekten Anschlusses sowie einer direkten oder indirekten
Kopplung.
-
1 zeigt
ein herkömmliches
Taktsignalflankengesteuertes Flip-Flop 100 mit einem Master-Latch 102 und
einem Slave-Latch 104.
Das Flip-Flop 100 weist einen Daten-Eingang 106,
einen Taktsignal-Eingang 108 und einen Daten-Ausgang 110.
Das Master-Latch 102 weist einen Daten-Eingang 112,
einen Daten-Ausgang 114 sowie
einen Taktsignal-Eingang 116 auf. Das Slawe-Latch 104 weist
ebenfalls einen Daten-Eingang 118, einen Daten-Ausgang 120 sowie
einen Taktsignal-Eingang 122 auf. Ein Eingangsdatum 124 (D),
im Folgenden auch als Eingangs-Daten-Signal 124 bezeichnet,
ist dem Daten-Eingang 112 des Master-Latches 102 zugeführt, das
Ausgangsdatum 126 (QI) des Master-Latches 102 ist
dem Daten-Eingang 118 des Slawe-Latches 104 zugeführt. An
dem Daten-Ausgang 120 des Slawe-Latches 104 ist
das Ausgangsdatum 128 (Q) des Flip-Flops 100 abgreifbar.
-
Dem
Taktsignal-Eingang 116 ist ein Taktsignal 130 (CLK)
zugeführt,
das mittels eines ersten Inverters 132 zu einem ersten
verzögerten
und invertierten Taktsignal 134 (CLK') invertiert und verzögert wird.
Das erste verzögerte
und invertierte Taktsignal 134 wird dem Taktsignal-Eingang 116 des
Master-Latches 102 zugeführt. Ferner wird das erste
verzögerte
und invertierte Taktsignal 134 mittels eines zweiten Inverters 136 zu
einem zweiten verzögerten
und invertierten Taktsignal 138 (CLK'')
invertiert und zusätzlich
verzögert.
Das zweite verzögerte
und invertierte Taktsignal 138 wird dem Taktsignal-Eingang 122 des
Slave-Latches 104 zugeführt.
-
Bei
einer steigenden Taktsignalflanke des Taktsignals 130 wird
das Slave-Latch 104 transparent geschaltet und das Master-Latch 102 wird
verriegelt. Bei einer fallenden Taktsignalflanke des Taktsignals 130 wird
das Master-Latch 102 transparent geschaltet und das Slave-Latch 104 wird
verriegelt. Auf diese Weise wird ein an dem Daten-Eingang 106 des
Flip-Flops 100 anliegendes Eingangsdatum 124 zunächst in
das Master-Latch 102 eingelesen (wenn das Master-Latch 102 transparent
geschaltet ist und das Slave-Latch 104 verriegelt ist)
und dann bei dem nächsten
Flankenwechsel von dem Master-Latch 102 in
das Slave-Latch 104 übertragen,
von welchem das Eingangsdatum 124 dann an dem Daten-Ausgang 110 des
Flip-Flops 100 bereitgestellt
wird.
-
2 zeigt
ein herkömmliches
gepulstes Flip-Flop (auch bezeichnet als pulsgetriggertes Flip-Flop) 200,
welches verglichen mit dem Master-Slave-Flip-Flop 100 aus 1 eine
höhere
Geschwindigkeit aufweist. Das gepulste Flip-Flop 200 weist
einen Pulsgenerator 202 auf, der aus einem an dem Taktsignal-Eingang 204 anliegenden
Flip-Flop-externen Taktsignal 206 (CLK) ein Flip-Flop-internes
Pulssignal 208 (/PULSE) erzeugt.
-
Der
Pulsgenerator 202 weist in diesem Fall drei in Serie miteinander
gekoppelte Inverter (einen ersten Inverter 210, einen zweiten
Inverter 212, einen dritten Inverter 214) auf,
sowie ein Nicht-UND-Gatter (NAND) 216. Das Flip-Flop-externe
Taktsignal 206 wird einem ersten Eingang 218 des
Nicht-ODER- Gatters 216 zugeführt. Ferner
wird das Flip-Flop-externe Taktsignal 206 einem Eingang 220 des
ersten Inverters 210 zugeführt und mittels der drei Inverter 210, 212, 214 jeweils
invertiert und verzögert,
so dass ein einem zweiten Eingang 222 des Nicht-ODER-Gatters 216 zugeführtes invertiertes
und verzögertes
Taktsignal 224 (CLK')
erzeugt wird. Weiterhin weist der Pulsgenerator 202 einen
vierten Inverter 226 auf, dessen Eingang das Flip-Flop-interne Pulssignal 208 empfängt, invertiert
und verzögert
und als invertiertes Flip-Flopinternes Pulssignal 228 (PULSE)
bereitstellt.
-
Ferner
ist in dem gepulsten Flip-Flop 200 ein Transmissions-Gatter (Transmission
Gate) 230 vorgesehen. Einem ersten Steuer-Eingang 232 des
Transmissions-Gatters 230 wird das Flip-Flop-interne Pulssignal 208 zugeführt und
einem zweiten Steuer-Eingang 234 des Transmissions-Gatters 230 wird
das invertierte Flip-Flop-interne Pulssignal 228 zugeführt.
-
Weiterhin
weist das gepulste Flip-Flop 200 einen Daten-Eingang 236 auf,
an dem ein Eingangsdatum 238 (D) (auch bezeichnet als Daten-Signal)
angelegt wird. Das Eingangsdatum 238 wird mittels des Transmissions-Gatters 230 (wenn
dieses entsprechend angesteuert wird) an ein Latch 240 geführt, das
in einer Ausführungsform
als zwei rückgekoppelte
Inverter 242, 244 realisiert ist. Das auf diese
Weise zwischengespeicherte Eingangsdatum 238 wird mittels
eines ebenfalls in dem gepulsten Flip-Flop 200 vorgesehenen
fünften Inverters 246 als
inverses Ausgangsdatum 248 (/Q) an einem Daten-Ausgang 250 bereitgestellt.
-
Das
Transmissions-Gatter 230 wird mittels der zueinander komplementären Steuersignale
(dem Flip-Flop-internen Pulssignal 208 und dem invertierten
Flip-Flop-internen Pulssignal 228) angesteuert, die jeweils
Pulsform aufweisen (beispielsweise einer Pulsdauer in einem Bereich
von ungefähr
50 ps bis ungefähr 200
ps, beispielsweise in einem Bereich von ungefähr 100 ps bis ungefähr 150 ps,
beispielsweise ungefähr 1250
ps (beispielsweise bei einer 180 nm CMOS Technologie). Somit wird
mittels des Flip-Flop-internen Pulssignals 208 und des
invertierten Flip-Flop-internen Pulssignals 228 die Transparenzphase
zwischen dem Daten-Eingang 236 des
gepulsten Flip-Flops 200 und dem Daten-Ausgang 250 des gepulsten Flip-Flops 200 gesteuert.
-
Bei
einem gepulsten Flip-Flop ist üblicherweise
die Halte-Zeit tHOLD relativ lang (beispielsweise in einem Bereich
von ungefähr
80 ps bis ungefähr
130 ps für
CMOS RVT (Regular Voltage threshold) Devices mit einer Versorgungsspannung
von ungefähr
1,32 V in einer 65 nm-Technologie), durch die zeitliche Dauer des
Pulses gegeben und vermindert so die so genannte Race-Immunität, die bei
einem robusten Design größer als
der zu erwartende Taktsignal-Jitter (Clock Jitter) sein sollte.
-
3 zeigt
ein anderes gepulstes Flip-Flop 300.
-
Das
gepulste Flip-Flop 300 weist einen Daten-Eingang 302 auf,
einen Daten-Ausgang 304 (an welchem ein Ausgangssignal 384 (/QI)
bereitgestellt wird), einen ersten Puls-Taktsignal-Eingang 306 zum
Einkoppeln (anders ausgedrückt
Empfangen) eines ersten Puls-Taktsignals 308 (PULSE) sowie
einen zweiten Puls-Taktsignal-Eingang 310 zum Einkoppeln
eines zu dem ersten Puls-Taktsignal 308 komplementären zweiten
Puls-Taktsignals 312 (/PULSE).
-
Weiterhin
weist das gepulste Flip-Flop 300 ein Nicht-UND-Gatter (NAND) 314 auf
mit einem ersten Eingang 316, einem zweiten Eingang 318 und
einem Ausgang 320. Der erste Eingang 316 ist mit
dem Daten-Eingang 302 des gepulsten Flip-Flops 300 gekoppelt,
so dass ein an dem Daten-Eingang 302 anliegendes Eingangsdatum 322 (beispielsweise
ein Logiksignal) dem ersten Eingang 316 des Nicht-UND-Gatters 314 zugeführt wird.
Der zweite Eingang 318 ist mit dem ersten Puls-Taktsignal-Eingang 306 des
gepulsten Flip-Flops 300 gekoppelt, so dass das erste Puls-Taktsignal 308 dem
zweiten Eingang 318 des Nicht-UND-Gatters 314 zugeführt wird.
Das Nicht-UND-Gatter 314 stellt an dem Ausgang 320 ein
Setzsignal 332 (/SET) bereit.
-
Ferner
ist in dem gepulsten Flip-Flop 300 ein Nicht-ODER-Gatter (NOR) 324 vorgesehen
mit einem ersten Eingang 326, einem zweiten Eingang 328 und
einem Ausgang 330. Der erste Eingang 326 ist ebenfalls mit
dem Daten-Eingang 302 des gepulsten Flip-Flops 300 gekoppelt,
so dass das an dem Daten-Eingang 302 anliegende
Eingangsdatum 322 dem ersten Eingang 326 des Nicht-ODER-Gatters 324 zugeführt wird.
Der zweite Eingang 328 des Nicht-ODER-Gatters 324 ist
mit dem zweiten Puls-Taktsignal-Eingang 310 des gepulsten
Flip-Flops 300 gekoppelt, so dass das zweite Puls-Taktsignal 312 dem
zweiten Eingang 328 des Nicht-ODER-Gatters 324 zugeführt wird.
Das Nicht-ODER-Gatter 324 stellt an seinem Ausgang 330 ein
Rücksetzsignal 334 (/RES)
bereit.
-
Das
Setzsignal 332 und das Rücksetzsignal 334 dienen
der Ansteuerung einer Latch-Anordnung 336.
-
Die
Latch-Anordnung 336 weist einen NMOS-Push-Pull-Transistor 338 und
einen PMOS-Push-Pull-Transistor 340 auf. Der NMOS-Push-Pull-Transistor 338 weist
einen Steuer-Anschluss (beispielsweise einen Gate-Anschluss) 342 sowie
eine steuerbare Strecke zwischen einem ersten Source-Drain-Anschluss 344 und
einem zweiten Source-Drain-Anschluss 346 auf. Der PMOS-Push-Pull-Transistor 340 weist
einen Steuer-Anschluss
(beispielsweise einen Gate-Anschluss) 348 sowie eine steuerbare
Strecke zwischen einem ersten Source-Drain-Anschluss 350 und einem zweiten
Source-Drain-Anschluss 352 auf.
-
Zwischen
dem zweiten Source-Drain-Anschluss 352 des PMOS-Push-Pull-Transistors 340 und
dem ersten Source-Drain-Anschluss 344 des
NMOS-Push-Pull-Transistors 338 ist ein Potentialknoten 354 vorgesehen,
an dem ein Eingang 356 eines Inverters 358 angeschlossen
ist. An einem Ausgang 360 des Inverters 358 ist
ein internes Datensignal 362 (QI) (anders ausgedrückt ein
interner Logikzustand) abgreifbar.
-
Ferner
weist die Latch-Anordnung 336 einen NMOS-Halte-Transistor 364 und
einen PMOS-Halte-Transistor 366 auf. Der NMOS-Halte-Transistor 364 weist
einen Steuer-Anschluss (beispielsweise einen Gate-Anschluss) 368 sowie
eine steuerbare Strecke zwischen einem ersten Source-Drain-Anschluss 370 und einem
zweiten Source-Drain-Anschluss 372 auf. Der PMOS-Halte-Transistor 366 weist
einen Steuer-Anschluss
(beispielsweise einen Gate-Anschluss) 374 sowie eine steuerbare
Strecke zwischen einem ersten Source-Drain-Anschluss 376 und einem zweiten
Source-Drain-Anschluss 378 auf.
-
Der
erste Source-Drain-Anschluss 350 des PMOS-Push-Pull-Transistors 340 und
der erste Source-Drain-Anschluss 376 des PMOS-Halte-Transistors 366 sind
mit einem ersten Versorgungspotential-Anschluss 380 gekoppelt,
an welchem ein erstes Versorgungspotential (beispielsweise VDD) 382 angelegt wird.
-
Der
zweite Source-Drain-Anschluss 346 des NMOS-Push-Pull-Transistors 338 und
der erste Source-Drain-Anschluss 370 des NMOS-Halte-Transistors 364 sind
mit einem zweiten Versorgungspotential-Anschluss 386 gekoppelt,
an welchem ein zweites Versorgungspotential (beispielsweise VSS) 388 angelegt wird.
-
Ferner
sind folgende Anschlüsse
mit dem Potentialknoten 354 gekoppelt:
- • der zweite
Source-Drain-Anschluss 352 des PMOS-Push-Pull-Transistors 340,
- • der
erste Source-Drain-Anschluss 344 des NMOS-Push-Pull-Transistors 338,
- • der
zweite Source-Drain-Anschluss 372 des NMOS-Halte-Transistors 364,
und
- • der
zweite Source-Drain-Anschluss 378 des PMOS-Halte-Transistors 366.
-
Das
interne Datensignal 362 (QI) ist an den Steuer-Anschluss 368 des
NMOS-Halte-Transistors 364 sowie an den Steuer-Anschluss 374 des
PMOS-Halte-Transistors 366 geführt.
-
Beispielsweise
bei einer steigenden Taktsignalflanke weist das erste Puls-Taktsignal 308 (PULSE)
einen Signalpuls mit einer vorgegebenen Pulslänge auf. Das zweite Puls-Taktsignal 312 (/PULSE)
ist zu dem ersten Puls-Taktsignal 308 (PULSE) komplementär. Liegt
das Eingangsdatum 322 beispielsweise auf logischem L-Pegel
(Low-Pegel, Niedrig-Pegel) während
des Signalpulses des ersten Puls-Taktsignals 308 (PULSE),
so liefert das Setzsignal 332 (/SET) einen logischen H-Pegel
(High-Pegel, Hoch-Pegel). Damit sperrt der PMOS-Push-Pull-Transistors 340.
Gleichzeitig liegt für
die Dauer der Signalpulsbreite des zweiten Puls-Taktsignals 312 (/PULSE)
das Rücksetzsignal 334 auf
logischem H-Pegel und schaltet somit die steuerbare Strecke des
NMOS-Push-Pull-Transistors 338 leitend. Der Potentialknoten 354 wird
somit auf den Pegel des zweiten Versorgungspotentials (beispielsweise
VSS) 388 gezogen. Dies entspricht
beispielsweise einem logischen L-Pegel
(beispielsweise 0 V). Somit liegt an dem Ausgang 360 des
Inverters 358 ein logischer H-Pegel vor als Logikpegel
des internen Datensignals 362 (QI).
-
Die
Latch-Anordnung 336 speichert mittels der Schleife zwischen
dem Ausgang 360 des Inverters 358 und Gate-Anschluss 368 des
NMOS-Halte-Transistors 364 über den Potentialknoten 354 zum
Eingang 356 des Inverters 358 den Pegel des Eingangsdatums 322,
welcher als Haltepegel an dem Potentialknoten 354 und somit
als Ausgangssignal 384 (/QI) abgreifbar ist.
-
4 zeigt
ein elektrisches Gerät 400 gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Das
elektrische Gerät 400 kann
jedes elektrische Gerät
sein mit einer Schaltkreis-Anordnung, wie sie im Folgenden noch
näher erläutert wird.
In einem Ausführungsbeispiel
ist das elektrische Gerät 400 ein
Computer, beispielsweise ein Personal Computer oder eine Workstation
oder ein tragbarer Computer wie beispielsweise ein Notebook, ein
Laptop, ein Personal Digital Assistant (PDA), etc. In einem anderen
Ausführungsbeispiel
ist das elektrische Gerät 400 eine
Kommunikationseinrichtung, beispielsweise eine Telekommunikationseinrichtung
wie beispielsweise ein Telefon. Die Kommunikationseinrichtung kann
eine mobile Kommunikationseinrichtung sein, beispielsweise ein Schnurlos-Telefon oder eine
Mobilfunk-Kommunikationseinrichtung oder eine WLAN-Kommunikationseinrichtung
oder eine Nahbereich-Funk-Kommunikationseinrichtung
(beispielsweise eine Bluetooth-Kommunikationseinrichtung).
-
In
einem Ausführungsbeispiel
weist das elektrische Gerät 400 einen
integrierten Schaltkreis 402 (als ein Beispiel für eine elektronische
Einrichtung) auf, beispielsweise einen Prozessor, beispielsweise
einen programmierbaren Prozessor, beispielsweise einen Mikroprozessor,
einen digitalen Signalprozessor, einen Mikrocontroller, etc., wobei
der integrierte Schaltkreis 402 eine im Folgenden noch
näher erläuterte Schaltkreis-Anordnung
aufweist.
-
Das
elektrische Gerät 400 weist
zusätzlich
zu weiteren optionalen Komponenten, die aus Gründen der einfacheren Darstellung
hier nicht näher
erläutert
werden beispielsweise eine Anzeigeeinheit (beispielsweise ein Display) 404 und
einen oder mehrere Speicher 406 (beispielsweise einen flüchtigen
Speicher (z. B. einen dynamischen Vielfachzugriffsspeicher (DRAM))
und/oder einen nichtflüchtigen
Speicher (z. B. einen nicht-flüchtigen Vielfachzugriffsspeicher
(NV-RAM), z. B. einen Flash-Speicher (beispielsweise einen Floating Gate-Speicher
oder einen Charge-Trapping-Speicher)) auf. In dem Speicher 406 können Instruktionen
gespeichert sein, die von dem integrierten Schaltkreis 402 ausgeführt werden.
In dem Speicher 406 können
ferner Daten gespeichert werden, die von dem integrierten Schaltkreis 402 bearbeitet
werden. Ferner kann die Anzeigeeinheit 404 die von dem
integrierten Schaltkreis 402 ermittelten Resultate einem
Nutzer des elektrischen Geräts 400 anzeigen.
-
5 zeigt
eine Mehrzahl 500 von Pipelinestufen mit einer Vielzahl
von Flip-Flops gemäß einem
Ausführungsbeispiel
der Erfindung. In einem Ausführungsbeispiel
ist die Pipelinestufe 500 in einem Prozessor (beispielsweise
in einem Mikroprozessor) enthalten, der in dem integrierten Schaltkreis 402 integriert
ist.
-
Die
Pipelinestufe 500 weist Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518 auf
(als ein Ausführungsbeispiel
einer Schaltkreis-Anordnung). Jedes der Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518 weist
einen Daten-Eingang 520, einen Taktsignal-Eingang 522 und
einen Daten-Ausgang 524 auf. Die Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518 werden
mittels ihres jeweiligen Taktsignal-Eingangs 522 mit einem
Taktsignal 554 (CLK) getaktet.
-
An
den Daten-Eingang 520 des ersten Flip-Flops 502 wird
beispielsweise ein Datensignal 526 (D) mit einem logischen
Pegel High (Hoch, beispielsweise in einem Bereich von ungefähr 1 V bis
ungefähr
3 V, beispielsweise in einem Bereich von ungefähr 1,3 V bis ungefähr 2 V,
beispielsweise in einem Bereich von ungefähr 1,5 V bis ungefähr 2 V oder
Low, beispielsweise 0 V) zugeführt.
Das entsprechende Ausgangssignal 528 (Q) steht an dem Daten-Ausgang 524 des
ersten Flip-Flops 502 bereit und wird einem ersten Logik-Schaltkreis 530 einer
Vielzahl von Logik-Schaltkreisen 530, 532, 534, 536, 538, 540, 542, 544, 546 zugeführt. Jeder
der Logik-Schaltkreise 530, 532, 534, 536, 538, 540, 542, 544, 546 weist
einen Eingang 548 und einen Ausgang 550 auf. Das
gemäß dem ersten
Logik-Schaltkreis 530 bearbeitete Ausgangssignal 528 (Q),
im Folgenden auch bezeichnet als Datensignal 552 (DS) wird
dem Daten-Eingang 520 des zweiten Flip-Flops 504 zugeführt, das
ebenfalls mit dem Taktsignal 554 (CLK) getaktet ist, und
ein entsprechendes Ausgangssignal 556 (QS) an dem Daten-Ausgang 524 des
zweiten Flip-Flops 504 bereitstellt.
-
In 5 sind
beispielhaft drei Zweige mit seriell verschalteten Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518 und
Logik-Schaltkreisen 530, 532, 534, 536, 538, 540, 542, 544, 546 dargestellt.
-
Dem
zweiten Zweig wird in einem Ausführungsbeispiel
der Erfindung ein anderes Datensignal 558 (D') und dem dritten
Zweig ein noch anderes Datensignal 560 (D'') zugeführt. Die Logik-Schaltkreise 530, 532, 534, 536, 538, 540, 542, 544, 546 stellen
für die
Daten-Ausgänge 524 der
Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518 zu
treibende Lasten dar. Beispielsweise weisen die Logik-Schaltkreise 530, 532, 534, 536, 538, 540, 542, 544, 546 Kapazitäten auf,
die in 5 beispielhaft als Kondensatoren 562, 564, 566, 568, 570, 572, 574, 576, 578 dargestellt
sind.
-
Im
Rahmen einer Signalverarbeitung treten Signalverzögerungen
aufgrund der Eigenschaften der Flip-Flops 502, 504, 506, 508, 510, 512, 514, 516, 518,
aufgrund der Dauer der Signalverarbeitung in den Logik-Schaltkreisen 530, 532, 534, 536, 538, 540, 542, 544, 546 sowie
in den Verzweigungsbäumen
für das
Taktsignal 554 auf.
-
In
einem Ausführungsbeispiel
der Erfindung ist unter einer Flip-Flop-Verzögerungszeit tCLK-Q 580 zu verstehen
eine Signallaufzeit bzw. Verzögerung
zwischen einer die Transparenzphase des jeweiligen Flip-Flops einleitenden
Taktsignalflanke bis zum Vorliegen des dem jeweiligen Daten-Eingangssignal (d.
h. an dem Daten-Eingang 520 des Flip-Flops anliegenden
Signal) entsprechenden Pegels an dem Daten-Ausgang 522 des Flip-Flops.
In den folgenden Ausführungsbeispielen
wird ohne Einschränkung
der Allgemeingültigkeit davon
ausgegangen, dass jeweils eine steigende Taktsignalflanke den Startpunkt
einer jeweiligen Transparenzphase des jeweiligen Flip-Flops markiert.
-
In
einem Ausführungsbeispiel
der Erfindung ist eine Verarbeitungszeit tLogik 582 eines
jeweiligen Logik-Schaltkreises
von Einfluss auf die Signallaufzeiten.
-
In
einem Ausführungsbeispiel
der Erfindung ist ferner die so genannte Setup-Zeit tSETUP 584 der
jeweiligen Flip-Flops von Bedeutung. In einem Ausführungsbeispiel
der Erfindung ist unter einer Setup-Zeit tSETUP zu verstehen
eine Zeit, die ein Daten-Eingangssignal (d. h. an dem Daten-Eingang 520 des
Flip-Flops anliegenden
Signal) bezüglich
der steigenden Taktsignalflanke des Taktsignals anliegt, damit das
Flip-Flop den Eingangs-Signalpegel erfassen kann und zuverlässig an
dem Daten-Ausgang (z. B. 524) bereitstellt.
-
In
einem Ausführungsbeispiel
der Erfindung ist ferner die so genannte Halte-Zeit tHOLD der
jeweiligen Flip-Flops von Bedeutung. In einem Ausführungsbeispiel
der Erfindung ist unter einer Halte-Zeit tHOLD zu
verstehen eine Zeit, die angibt, wie lange ein Daten-Eingangssignal
(d. h. an dem Daten-Eingang 520 des Flip-Flops anliegenden
Signal) auf dem bei einer steigenden Taktsignalflanke des Taktsignals
vorliegenden logischen Pegel bleiben sollte, damit dieser korrekt
in dem Flip-Flop erfasst und abgespeichert wird.
-
Die
Flip-Flop-Verzögerungszeit
tCLK-Q 580; die Setup-Zeit tSETUP 584 und die Halte-Zeit tHOLD) können
unterschiedliche Werte aufweisen bei Eingangssignalpegelwechseln
von logisch "0" auf logisch "1" (anders ausgedrückt von logisch "Low" auf logisch "High") und von logisch "1" auf logisch "0" (anders
ausgedrückt
von logisch "High" auf logisch "Low").
-
Ferner
können
sich durch Verzögerungen
in den Taktsignalpfaden Versätze
zwischen den steigenden Taktsignalflanken an unterschiedlichen Flip-Flops
ergeben. In der 5 ist dies durch den Block 586 dargestellt,
der einen Zeitversatz tSKEW 588 symbolisiert.
Das sich ergebende versetzte Taktsignal 590 (CLKS) ist
gegenüber
dem Taktsignal 554 (CLK) um die Verzögerungszeit tSKEW 588 verzögert.
-
Üblicherweise
wird die größte Signalverzögerung durch
den jeweiligen Logik-Schaltkreis 530, 532, 534, 536, 538, 540, 542, 544, 546 hervorgerufen,
die logische Tiefen von 20 bis 25 aufweisen. Typische Wert für die Kapazitäten 562, 564, 566, 568, 570, 572, 574, 576, 578 liegen
in einem Bereich von ungefähr
40 fF und 80 fF.
-
Falls
einzelne Logik-Schaltkreise 530, 532, 534, 536, 538, 540, 542, 544, 546 besonders
kurze Signallaufzeiten aufweisen kann es zu Halte-Zeit-Verletzungen
kommen, da das einem nachgeschalteten Flip-Flop zugeführte Datensignal 552 (DS)
bezüglich
der benötigten
Setup-Zeit tSETUP 584 oder Halte-Zeit tHOLD zu
früh einen
Pegelwechsel vollzieht. Um unterschiedliche Verzögerungen durch die Logik-Schaltkreise 530, 532, 534,
in einem Signalzweig zu behandeln, ist es von Vorteil, die Transparenzphase
der Flip-Flops änderbar zu
gestalten. Dies kann gemäß einem
Ausführungsbeispiel
durch eine Änderung
der aus der Taktsignalflanke abgeleiteten Signalpulse erfolgen.
-
Wird
die Pipelinestufe 500 in einem Scan-Test-Betriebsmodus
betrieben, so werden beispielsweise die Ausgangssignale 528 (Q)
des ersten Flip-Flops 502 im ersten Zweig als Eingangssignal 558 (D') dem vierten Flip-Flop 508 des
zweiten Zweiges zugeführt
und das entsprechende Ausgangssignal 592 (Q') des vierten Flip-Flop 508 des
zweiten Zweiges wird als das Eingangssignal 560 (D'') des siebten Flip-Flops 514 des
dritten Zweiges verwendet, usw.
-
Somit
wird anschaulich im Scan-Test-Betriebsmodus aus den Flip-Flops 502, 508, 514 ein
Schieberegister gebildet. An den Daten-Eingang 520 des
ersten Flip-Flops 502 wird dann eine Testsignalfolge eingekoppelt,
die an dem Daten-Ausgang 524 des letzten Flip-Flops der
Schieberegisterkette auslesbar ist. Der entsprechende Signalpfad
ist in 5 als gestrichpunktete Linie 594 (SP)
dargestellt. Mittels des Scan-Test-Betriebsmodus können Fehler
in den Flip-Flops der Schieberegisterkette erkannt werden.
-
Im
Folgenden werden Schaltkreis-Anordnungen beschrieben zur Implementierung
einer Scan-Test-Funktion in Flip-Flops, beispielsweise in hoch-leistungsfähigen Flip-Flops.
In Ausführungsbeispielen
der Erfindung werden Halte-Zeit-Verletzungen
im Scan-Test-Betriebsmodus vermieden.
-
Dies
gewinnt besondere Bedeutung beispielsweise für gepulste Flip-Flops, beispielsweise
gepulste hoch-leistungsfähige
Flip-Flops, da bei solchen Flip-Flops ein Kompromiss eingegangen
wird zwischen kurzen, zum Teil sogar negativen Setup-Zeiten tSETUP und kurzen Flip-Flop-Verzögerungszeiten
tCLK-Q auf der einen Seite und (im Vergleich
mit herkömmlichen
Master-Slave-Latch-Paaren) langen Halte-Zeiten tHOLD auf
der anderen Seite.
-
Üblicherweise
werden gepulste Flip-Flops zur Beschleunigung zeitkritischer Pfade
eingesetzt. Jedoch ist herkömmlich
wegen der langen Halte-Zeiten tHOLD ein
zusätzlicher
Designaufwand erforderlich zum so genannten Halte-Zeit-Fixieren
(Hold time fixing), beispielsweise durch das Einfügen zusätzlicher
Puffer zur Halte-Zeit-Verzögerung.
-
In
einem Ausführungsbeispiel,
bei dem die hochleistungsfähigen
Flip-Flops in den kritischen Pfaden von Embedded-Mikroprozessoren
wie beispielsweise ARM-Mikroprozessoren
oder MIPS-Mikroprozessoren eingesetzt werden, könnten Halte-Zeit-Verletzungen
beispielsweise häufiger
im Scan-Test-Signalpfad auftreten.
-
Gemäß einem
Ausführungsbeispiel
wird dieses Szenario mit einer schaltungstechnischen Lösung adressiert.
-
Gemäß einem
Ausführungsbeispiel
ist ein Flip-Flop bereitgestellt, das in einem hoch-leistungsfähigkeits-Modus
als gepulstes Flip-Flop betrieben wird und in einem Niedrig-Energie-Modus als
herkömmliches Master-Slave-Latch-Paar.
-
Die
im Folgenden beschriebenen Ausführungsbeispiele
eignen sich besonders für
den Einsatz im Semicustom-Designflow.
-
Weiterhin
eignen sich die im Folgenden beschriebenen Ausführungsbeispiele sehr gut für kostensensitive
Niedrig-Energie-Schaltkreis-Anordnungen
und entsprechende elektrische Geräte (wie beispielsweise für einen
Basisband-Funk-IC (integrierter Schaltkreis, Integrated Circuit)
beispielsweise eines Mobilfunk-Kommunikationsendgeräts), da
ein an sich mögliches
Routen eines separaten Scan-Takt-Baumes gemäß Ausführungsbeispielen der Erfindung
nicht erforderlich ist.
-
6 zeigt
ein gepulstes Flip-Flop 600 mit Scan-Test-Erweiterung.
-
Das
gepulste Flip-Flop 600 weist auf einen Puls-Taktsignalgenerator 602,
einen Multiplexer 604, ein Transmissions-Gatter 606,
ein Latch 608 sowie einen Ausgangspuffer 610 (beispielsweise
realisiert als Inverter).
-
Der
Puls-Taktsignalgenerator 602 weist gemäß einem Ausführungsbeispiel
die gleiche Struktur auf wie der Pulsgenerator 202 des
Flip-Flops 200 gemäß 2,
weshalb auf eine erneute detaillierte Beschreibung an dieser Stelle
verzichtet wird. Der Puls-Taktsignalgenerator 602 weist
einen Taktsignal-Eingang 612 auf, an den ein Flip-Flop-externes
Taktsignal 614 (CLK) angelegt wird. Bei Anliegen des Flip-Flop-externen Taktsignals 614 wird
von dem Puls-Taktsignalgenerator 602 ein
Flip-Flop-internes Pulssignal 616 (/PULSE) erzeugt an einem
ersten Puls-Ausgang 618. Ferner wird in diesem Fall von
dem Puls-Taktsignalgenerator 602 ein zu dem Flip-Flop-internen
Pulssignal 616 (/PULSE) komplementäres Komplementär-Pulssignal 620 (PULSE)
erzeugt und an einem zweiten Puls-Ausgang 622 bereitgestellt.
-
Das
Flip-Flop-interne Pulssignal 616 und das Komplementär-Pulssignal 620 werden
als Steuersignale an das Transmissions-Gatter 606 geführt und
Steuern das Sperren oder Durchlassen eines an einem Eingang 624 des
Transmissions-Gatters 606 anliegenden Signals, wie im Zusammenhang
mit 2 beschrieben wurde.
-
Der
Multiplexer 604 weist einen ersten Eingang 626 (der
mit einem Daten-Eingang 628 gekoppelt ist, an dem ein Daten-Signal 630 anliegt),
einen zweiten Eingang 632 (der mit einem Test-Eingang 634 gekoppelt ist,
an dem ein Test-Signal 636 anliegt), einen Steuer-Eingang 638 (an
dem ein Test-Aktivierung-Signal 640 (TE)
anliegt), sowie einen Ausgang 642 auf. Der Ausgang 642 des
Multiplexers 604 ist mit dem Eingang 624 des Transmissions-Gatters 606 gekoppelt.
-
Das
Daten-Signal 630 oder das Test-Signal 636 (anschaulich
der Daten-Eingang 628 oder der Test-Eingang 634)
werden abhängig
von dem Signalzustand des Test-Aktivierung-Signal 640 und
damit abhängig
von dem Zustand des Multiplexers 604 auf das Transmissions-Gatter 606 geschaltet
(beispielsweise für
TE = 1: Scan-Test-Betriebsmodus, d. h. das Test-Signal 636 wird
zu dem Ausgang 642 des Multiplexers 604 geführt; für TE = 0:
Daten-Betriebsmodus (Normal-Betriebsmodus), d. h. das Daten-Signal 630 wird
zu dem Ausgang 642 des Multiplexers 604 geführt).
-
Ein
Ausgang 644 des Transmissions-Gatters 606 ist
mit einem Eingang 646 des Latches 608 gekoppelt.
Dies bedeutet, dass das an dem Ausgang 642 des Multiplexers 604 bereitgestellte
Signal bei entsprechender Ansteuerung durch den Puls-Taktsignalgenerator 602 zu
dem Eingang 646 des Latches 608 geführt wird
(beispielsweise während
der Transparenzphase des Transmissions-Gatters 606 für einen
kurzen Bereich der Taktperiode nach der ansteigenden Taktsignalflanke).
Das an einem Ausgang 648 des Latches 608 bereitgestellte
Signal wird an einen mit dem Ausgang 648 des Latches 608 gekoppelten
Eingang 650 eines Ausgangspuffers 610 geführt, an
dessen Ausgang 652 ein Ausgangssignal 654 (Q)
bereitgestellt wird.
-
Eine
typische Ausführungsform
für eine
Standardzellenbibliothek weist üblicherweise
zur Realisierung mindestens vier Stufen auf, welche die Flip-Flop-Verzögerungszeit
tCLK-Q sowie die Daten-Verzögerungszeit
tData-Q bestimmen.
-
7 zeigt
ein gepulstes Flip-Flop 700 gemäß dem Flip-Flop 300 aus 3 mit
Scan-Test-Erweiterung.
-
Zusätzlich zu
den Komponenten des Flip-Flops 300 ist zur Scan-Test-Erweiterung
bei dem Flip-Flop 700 gemäß 7 noch zwischen
die von dem Nicht-UND-Gatter (NAND) 314 und dem Nicht-ODER-Gatter (NOR) 324 gebildete
Eingangsstufe 702 und den Daten-Eingang 302 bzw.
einen zum Anlegen eines Scan-Test-Signals 704 vorgesehenen Scan-Test-Eingang 706 ein
Multiplexer 708 vorgesehen.
-
Der
Multiplexer 708 weist einen ersten Eingang 710 (der
mit dem Daten-Eingang 302 gekoppelt ist, an dem das Daten-Signal 322 anliegt),
einen zweiten Eingang 712 (der mit dem Scan-Test-Eingang 706 gekoppelt ist,
an dem das Scan-Test-Signal 704 anliegt), einen Steuer-Eingang 714 (an
dem ein Test-Aktivierung-Signal 716 (TE)
anliegt), sowie einen Ausgang 718 auf. Der Ausgang 718 des
Multiplexers 708 ist mit einem Eingang 720 der
Eingangsstufe 702 gekoppelt (genauer, mit dem ersten Eingang 316 des
Nicht-UND-Gatters 314 und mit dem ersten Eingang 326 des
Nicht-Order-Gatters 324).
-
Das
Daten-Signal 322 oder das Scan-Test-Signal 704 (anschaulich
der Daten-Eingang 302 oder der Scan-Test-Eingang 706)
werden abhängig
von dem Signalzustand des Test-Aktivierungs-Signals 716 und
damit abhängig
von dem Zustand des Multiplexers 708 auf die Eingangsstufe 702 geschaltet
(beispielsweise für TE
= 1: Scan-Test-Betriebsmodus, d. h. das Scan-Test-Signal 704 wird
zu dem Ausgang 718 des Multiplexers 708 geführt; für TE = 0:
Daten-Betriebsmodus (Normal-Betriebsmodus),
d. h. das Daten-Signal 322 wird zu dem Ausgang 718 des
Multiplexers 708 geführt).
-
Weiterhin
weist das gepulste Flip-Flop 700 einen Puls-Taktsignalgenerator 722 auf,
der gemäß einem Ausführungsbeispiel
die gleiche Struktur aufweist wie der Pulsgenerator 202 des
Flip-Flops 200 gemäß 2, weshalb
auf eine erneute detaillierte Beschreibung an dieser Stelle verzichtet
wird.
-
Der
Puls-Taktsignalgenerator 722 weist einen Taktsignal-Eingang 724 auf,
an den ein Flip-Flop-externes Taktsignal 726 (CLK) angelegt
wird. Bei Anliegen des Flip-Flop-externen Taktsignals 726 wird
von dem Puls-Taktsignalgenerator 722 ein Flip-Flop-internes
Pulssignal 728 (/PULSE) an einem ersten Puls-Ausgang 730 erzeugt.
Ferner wird in diesem Fall von dem Puls-Taktsignalgenerator 722 ein
zu dem Flip-Flop-internen Pulssignal 728 (/PULSE) komplementäres Komplementär-Pulssignal 732 (PULSE)
erzeugt und an einem zweiten Puls-Ausgang 734 bereitgestellt
und der Eingangsstufe 702 zugeführt (beispielsweise wird das Flip-Flop-interne
Pulssignal 728 (/PULSE) dem zweiten Puls-Taktsignal-Eingang 310 zugeführt und
das Komplementär-Pulssignal 732 (PULSE)
wird beispielsweise dem ersten Puls-Taktsignal-Eingang 306 zugeführt).
-
Das
an dem Daten-Ausgang 304 bereitgestellte Signal wird an
einen mit dem Daten-Ausgang 304 gekoppelten, Eingang 736 eines
Ausgangspuffers 738 geführt,
an dessen Ausgang 740 ein Ausgangssignal 742 (/Q)
bereitgestellt wird.
-
8 zeigt
eine Transistor-Anordnung 800 des gepulsten Flip-Flops 700 mit
Scan-Test-Erweiterung gemäß 7.
-
Der
Multiplexer 708 der Transistor-Anordnung 800 ist
gemäß einer
Ausführungsform
aufgebaut aus einem ersten C2MOS-Latch 802 (gebildet
aus zwei NMOS-Transistoren N10, N11 und zwei PMOS-Transistoren P10,
P11) und einem zweiten C2MOS-Latch 804 (gebildet
aus zwei NMOS-Transistoren N12, N13 und zwei PMOS-Transistoren P12,
P13) und einem mit dem Scan-Test-Eingang 706 gekoppelten
Multiplexer-Eingang-Inverter 806 (gebildet aus einem NMOS-Transistor
N14 und einem PMOS-Transistor P14).
-
Wie
im Zusammenhang mit 7 erläutert wurde wird abhängig von
dem Signalzustand des Test-Aktivierung-Signals 716 und
damit abhängig
von dem Zustand des Multiplexers 708 das Daten-Signal 322 oder das
Scan-Test-Signal 704 durch den Multiplexer 708 an
den Ausgang 718 geführt
und dann an Daten-Eingang 720 der
Eingangsstufe 702 geführt
(beispielsweise für
TE = 1: Scan-Test-Betriebsmodus, d. h. das Scan-Test-Signal 704 wird
zu dem Ausgang 718 des Multiplexers 708 geführt; für TE = 0:
Daten-Betriebsmodus (Normal-Betriebsmodus), d. h. das Daten-Signal 322 wird
zu dem Ausgang 718 des Multiplexers 708 geführt).
-
Die
Eingangsstufe 702 enthält
das Nicht-UND-Gatter 314 (gebildet aus den NMOS-Transistoren
N8, N9 und den PMOS-Transistoren
P8, P9) sowie das Nicht-ODER-Gatter 324 (gebildet aus den
NMOS-Transistoren N6, N7 und den PMOS-Transistoren P6, P7).
-
Das
Setz-/Rücksetz-Latch
(RS-Latch) 336 weist zusätzlich zu den in 3 dargestellten
Komponenten noch einen zwischen die Source-Drain-Strecke des NMOS-Halte-Transistors 364 (N2)
und die Source-Drain-Strecke den PMOS-Halte-Transistor 366 (P2)
geschalteten zusätzlichen
NMOS-Transistor 808 (N4) auf, dessen Gate-Anschluss mit
dem Gate-Anschluss 348 des PMOS-Push-Pull-Transistors 340 (P1)
gekoppelt ist. Der Inverter 358 ist gebildet von einem
NMOS-Transistor N3 und einem PMOS-Transistor P3.
-
Der
Ausgangspuffer 738 ist gebildet von einem NMOS-Transistor
N5 und einem PMOS-Transistor P5.
-
9 zeigt
ein gepulstes Flip-Flop 900 mit Scan-Test-Erweiterung gemäß einem
Ausführungsbeispiel der
Erfindung.
-
Im
Unterschied zu dem Flip-Flop 700 gemäß 7 ist bei
dem gepulsten Flip-Flop 900 gemäß 9 kein Multiplexer
erforderlich.
-
Das
gepulste Flip-Flop 900 weist einen Daten-Eingang 902 auf
(an welchem ein Daten-Signal 904 anliegt), einen Daten-Ausgang 906 (an
welchem ein Ausgangssignal 908 (Q) bereitgestellt wird),
einen Taktsignal-Eingang 910 (an den ein Flip-Flop-externes
Taktsignal 912 (CLK) angelegt wird), einen Scan-Test-Eingang 914 (an
welchem ein Test-Signal 916 anliegt), sowie einen Test-Aktivierung-Eingang 918 (an
dem ein Test-Aktivierung-Signal 920 (TE) anliegt).
-
Weiterhin
weist das Flip-Flop 900 eine Eingangsstufe 922,
ein Latch (auch bezeichnet als Halteglied) (gemäß einem Ausführungsbeispiel
der Erfindung ein Setz-/Rücksetz-Latch
(SR-Latch)) 924, einen Puls-Taktsignalgenerator 926 sowie
einen Ausgangspuffer 928 auf.
-
Im
Unterschied zu dem Flip-Flop 700 gemäß 7 weist
die Eingangsstufe 922 (in einem Ausführungsbeispiel anschaulich
realisiert als aktive Eingangsstufe) bei dem Flip-Flop 900 gemäß 9 zwei
tristate-fähige,
parallel geschaltete Teil-Eingangsstufen 930, 932,
gemäß einem
Ausführungsbeispiel
der Erfindung eine Daten-Eingangsstufe 930 und eine Scan-Test-Eingangsstufe 932 auf,
die beide von dem Puls-Taktsignalgenerator 926 angesteuert
werden. Wie im Folgenden noch näher
erläutert
wird steuern die beiden Teil-Eingangsstufen 930, 932 ihrerseits
das SR-Latch 924 an, um in dieses einen ersten Zustand
(beispielsweise einen Logikzustand "0")
oder einen zweiten Zustand (beispielsweise einen Logikzustand "1") einzuschreiben.
-
Ein
erster Eingang 934 der Daten-Eingangsstufe 930 ist
mit dem Test-Aktivierung-Eingang 918 gekoppelt, ein zweiter
Eingang 936 der Daten-Eingangsstufe 930 ist mit
dem Daten-Eingang 920 gekoppelt
und ein Taktsignal-Eingang 938 der Daten-Eingangsstufe 930 ist
mit einem ersten Puls-Ausgang 940 des Puls-Taktsignalgenerators 926 gekoppelt.
-
Ein
erster Eingang 942 der Scan-Test-Eingangsstufe 932 ist
mit dem Test-Aktivierung-Eingang 918 gekoppelt, ein zweiter
Eingang 944 der Scan-Test-Eingangsstufe 932 ist
mit dem Scan-Test-Eingang 914 gekoppelt
und ein Taktsignal-Eingang 946 der Scan-Test-Eingangsstufe 932 ist
mit einem zweiten Puls-Ausgang 948 des
Puls-Taktsignalgenerators 926 gekoppelt.
-
Ein
erster Ausgang 950 (auch bezeichnet als Setz-Ausgang (D_S))
der Daten-Eingangsstufe 930 ist mit einem ersten Eingang 952 (auch
bezeichnet als Setz-Eingang (S)) des SR-Latches 924 gekoppelt und ein zweiter
Ausgang (auch bezeichnet als Rücksetz-Ausgang
(D_R)) 954 der Daten-Eingangsstufe 930 ist
mit einem zweiten Eingang 956 (auch bezeichnet als Rücksetz-Eingang
(R)) des SR-Latches 924 gekoppelt.
-
Ferner
ist ein erster Ausgang 958 (auch bezeichnet als Setz-Ausgang (S_S)) der
Scan-Test-Eingangsstufe 932 mit dem ersten Eingang 952 (auch
bezeichnet als Setz-Eingang (S)) des SR-Latches 924 gekoppelt und ein
zweiter Ausgang (auch bezeichnet als Rücksetz-Ausgang (S_R)) 960 der
Scan-Test-Eingangsstufe 932 ist
mit dem zweiten Eingang 956 (auch bezeichnet als Rücksetz-Eingang
(R)) des SR-Latches 924 gekoppelt.
-
Ein
Ausgang 962 des SR-Latches 924 ist mit einem Eingang 964 des
Ausgangspuffers 928 gekoppelt.
-
Der
Ausgang 966 des Ausgangspuffers 928 (an dem das
Daten-Ausgangssignal 908 bereitgestellt wird)
ist mit dem Daten-Ausgang 906 gekoppelt.
-
Je
nach Zustand (anders ausgedrückt,
je nach Betriebsmodus des Flip-Flops 900) werden dem Latch 924 unterschiedliche
Signale zugeführt.
-
Befindet
sich das Flip-Flop 900 in einem Scan-Test-Betriebsmodus, in
dem das Flip-Flop (welches beispielsweise in der Pipelinestufe 500 enthalten
ist) 900 gemäß einem
Scan-Test-Verfahren
getestet wird, so befinden sich der erste Ausgang (D_S) 950 der
Daten-Eingangsstufe 930 und der zweite Ausgang (D_R)) 954 der
Daten-Eingangsstufe 930 im Tristate-Zustand (beispielsweise in dem Fall,
dass das Test-Aktivierung-Signal 920 einen
logischen High-Pegel aufweist (TE = 1) und die an dem ersten Ausgang
(S_S) 958 der Scan-Test-Eingangsstufe 932 und
dem zweiten Ausgang (S_R) 960 der Scan-Test-Eingangsstufe 932 bereitgestellten
Signale werden dem ersten Eingang (S) 952 des SR-Latches 924 bzw.
dem zweiten Eingang 956 (R) des SR-Latches 924 zugeführt (anders
ausgedrückt,
es gilt anschaulich: S = S_S bzw. R = S_R).
-
Befindet
sich das Flip-Flop 900 jedoch in einem Normal-Betriebsmodus, in
dem das Flip-Flop 900 in üblicher Weise das anliegende
Daten-Signal 904 verarbeitet, so befinden sich der erste
Ausgang (S_S) 958 der Scan-Test-Eingangsstufe 932 und
der zweite Ausgang (S_R)) 960 der Scan-Test-Eingangsstufe 932 im
Tristate-Zustand (beispielsweise in dem Fall, dass das Test-Aktivierung-Signal 920 einen
logischen Low-Pegel aufweist (TE = 0) und die an dem ersten Ausgang
(D_S) 950 der Daten-Eingangsstufe 930 und dem
zweiten Ausgang (D_R) 954 der Daten-Eingangsstufe 930 bereitgestellten
Signale werden dem ersten Eingang (S) 952 des SR-Latches 924 bzw.
dem zweiten Eingang 956 (R) des SR-Latches 924 zugeführt (anders
ausgedrückt,
es gilt anschaulich: S = D_S bzw. R = D_R).
-
Weiterhin
ist der Test-Aktivierung-Eingang 918 mit einem Test-Eingang 968 des
Puls-Taktsignalgenerators 926 gekoppelt. Der Puls-Taktsignalgenerator 926 wird
von dem ihm mittels des Test-Aktivierung-Eingangs 918 zugeführten Test-Aktivierung-Signals 920 so
gesteuert, dass jeweils geeignete Taktsignale 970, 972 der
Daten-Eingangsstufe 930 bzw. der Scan-Test-Eingangsstufe 932 bereitgestellt
werden, nämlich
ein dem Taktsignal-Eingang 938 der Daten-Eingangsstufe 930 zugeführtes Daten-Taktsignal 970 (CP_D)
und ein dem Taktsignal-Eingang 946 der Scan-Test-Eingangsstufe 932 zugeführtes Scan-Test-Taktsignal 972 (CP_S).
-
Somit
kann aufgrund der Tristate-Fähigkeit
der Daten-Eingangsstufe 930 und
der Scan-Test-Eingangsstufe 932 gemäß einem Ausführungsbeispiel
der Erfindung sowohl der zeitkritische D-Q-Propagationspfad beschleunigt
werden, da der in dem Flip-Flop 700 gemäß 7 noch vorgesehene
Multiplexer 708 entfällt,
als auch die Scan-Test-Eingangsstufe 932 derartig
ausgestaltet werden, dass sich kurze Halte-Zeiten im Test-Betriebsmodus
ergeben.
-
10 zeigt
ein gepulstes Flip-Flop 1000 mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel
der Erfindung.
-
Das
gepulste Flip-Flop 1000 gemäß 10 unterscheidet
sich von dem gepulsten Flip-Flop 900 gemäß 9 vor
allem darin, dass ein modifiziertes Latch 1002 (beispielsweise
ein SR-Latch 1002)
vorgesehen ist, in dem für
den Normal-Betriebsmodus
und in dem Scan-Test-Betriebsmodus unterschiedliche Pfade vorgesehen
sind, wie im Folgenden noch näher
erläutert
wird. Hierfür
weist das Latch 1002 insgesamt vier Eingänge 1004, 1006, 1008, 1010 auf.
Ein erster Daten-Eingang 1004 (auch
bezeichnet als Daten-Setz-Eingang (D_S)) ist mit dem ersten Ausgang 950 der
Daten-Eingangsstufe 930 gekoppelt. Ein zweiter Daten-Eingang 1006 (auch
bezeichnet als Daten-Rücksetz-Eingang
(D_R)) ist mit dem zweiten Ausgang 954 der Daten-Eingangsstufe 930 gekoppelt.
Ein erster Scan-Test-Eingang 1008 (auch
bezeichnet als Scan-Test-Setz-Eingang (S_S)) ist mit dem ersten
Ausgang 958 der Scan-Test-Eingangsstufe 932 gekoppelt.
Ein zweiter Scan-Test-Eingang 1010 (auch bezeichnet als
Scan-Test-Rücksetz-Eingang
(S_R)) ist mit dem zweiten Ausgang 960 der Scan-Test-Eingangsstufe 932 gekoppelt.
-
Somit
wird das Latch 1002 gemäß diesem
Ausführungsbeispiel
der Erfindung durch zwei getrennte Pfade angesteuert, einen ersten
Pfad (D_S, D_R) und einen zweiten Pfad (S_S, S_R). Beide Pfade sind
tristate-fähig
(anders ausgedrückt,
sie können
hochohmig geschaltet werden). Durch dieses Ausführungsbeispiel ist eine verbesserte
Transistoranordnung ermöglicht,
wodurch sich Geschwindigkeitsvorteile für den zeitkritischen Pfad D → (D_S, D_R) → Q ergeben.
-
11 zeigt
ein gepulstes Flip-Flop 1100 mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel
der Erfindung.
-
Das
gepulste Flip-Flop 1100 gemäß 11 unterscheidet
sich von dem gepulsten Flip-Flop 900 gemäß 9 vor
allem darin, dass ein modifiziertes Latch 1102 (beispielsweise
ein SR-Latch 1102)
sowie eine modifizierte Scan-Test-Eingangsstufe 1104 vorgesehen
sind.
-
Das
Latch 1102 weist einen ersten Eingang 1106 (auch
bezeichnet als Setz-Eingang (S)) auf, der mit dem ersten Ausgang 950 der
Daten-Eingangsstufe 930 gekoppelt ist. Ein zweiter Eingang 1108 (auch
bezeichnet als Rücksetz-Eingang
(R)) des Latches 1102 ist mit dem zweiten Ausgang 954 der
Daten-Eingangsstufe 930 gekoppelt. Weiterhin ist noch ein
zusätzlicher
Scan-Test-Eingang 1110 bei dem Latch 1102 vorgesehen. Der
Scan-Test-Eingang 1110 ist mit dem inneren Speicherknoten
des Latches 1102 gekoppelt, wie im Folgenden noch näher erläutert wird.
-
Weiterhin
ist anzumerken, dass in diesem Ausführungsbeispiel die Daten-Eingangsstufe 930 nicht
mit dem Test-Aktivierung-Eingang 918 gekoppelt
ist. Somit ist in der Daten-Eingangsstufe 930 gemäß diesem Ausführungsbeispiel
kein erster Eingang 934 vorgesehen.
-
Ferner
weist die modifizierte Scan-Test-Eingangsstufe 1104 ein
Scan-Master-Latch 1112 sowie ein Scan-Slave-Latch 1114.
Das Scan-Master-Latch 1112 sowie das Scan-Slave-Latch 1114 bilden
anschaulich ein Master-Slave-Latch-Paar mit Scan-Funktionalität. Die Scan-Test-Eingangsstufe 1104 weist
in diesem Ausführungsbeispiel
nur einen Ausgang 1116 auf, der mit dem Scan-Test-Eingang 1110 gekoppelt
ist.
-
Anschaulich
werden gemäß diesem
Ausführungsbeispiel
der Setz-Eingang 1106 und
der Rücksetz-Eingang 1108 des
SR-Latches 1102 direkt mittels der Daten-Eingangsstufe 930 angesteuert.
Die Scan-Test-Funktion ist zweistufig als Master-Slave-Latch-Paar implementiert
und wird mit herkömmlichen Taktsignalen 1118 (CP_S)
(wird an einem Scan-Slave-Latch-Takteingang 1124 des Scan-Slawe-Latches 1114 bereitgestellt)
und 1120 (/CP_S) (wird an einem Scan-Master-Latch-Takteingang 1122 des
Scan-Master-Latches 1112 bereitgestellt,
wobei das Taktsignal 1120 (/CP_S) gemäß einem Ausführungsbeispiel
der Erfindung zu dem Taktsignal 1118 (CP_S) komplementär ist) betrieben,
die von dem Puls-Taktsignalgenerator 926 an dessen zweiten
Puls-Ausgang 948 bereitgestellt
wird. Der Puls-Taktsignalgenerator 926 ist gemäß diesem Ausführungsbeispiel
so eingerichtet, dass die gepulsten Taktsignale (CP_D bzw. /CP_D),
die an dem ersten Puls-Ausgang 940 des Puls-Taktsignalgenerators 926 bereitgestellt
und dem Taktsignal-Eingang 938 der Daten-Eingangsstufe 930 zugeführt werden,
im Test-Betriebsmodus unterdrückt
werden. Hierdurch ist eine implizite Tristate-Fähigkeit
realisiert, durch die die Propagation des an dem Daten-Eingang 902 anliegenden
Daten-Signals 904 in das SR-Latch 1102 verhindert wird.
-
Das
Scan-Slawe-Latch 1114 (anschaulich ein Slawe-Schalter (Slawe
Switch)) ist tristate-fähig
und koppelt den Ausgang des Scan-Master-Latches 1112 während der
Testphase (d. h. in dem Test-Betriebsmodus) auf der ansteigenden
Taktsignalflanke an den inneren Speicherknoten/QI des SR-Latches 1102.
-
Dieses
Flip-Flop 900 weist eine kurze, dreistufige Tiefe im Normal-Betriebsmodus
auf und eröffnet
die Möglichkeit,
die Bestandteile des Master-Slawe-Latch-Paares durch geeignete Transistordimensionierung, Transistoranordnung
und Transistorverschaltung so zu optimieren, dass niedrige Halte-Zeiten im Test-Betriebsmodus
gewährleistet
sind.
-
12 zeigt
eine schaltungstechnische Realisierung des gepulsten Flip-Flops 1000 mit
Scan-Test-Erweiterung gemäß 10 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Dieses
Ausführungsbeispiel
ist besonders für
kleinflächige
Flip-Flops geeignet bzw. für
Flip-Flops mit geringen Anforderungen an die Treiberfähigkeit
(beispielsweise des Puffers 928).
-
Gemäß diesem
Ausführungsbeispiel
wird anschaulich das SR-Latch 1002 jeweils
an beiden Speicherknoten (erster Speicherknoten 1202 und
zweiter Speicherknoten 1204) durch die tristate-fähige Scan-Test-Eingangsstufe 932 und
die tristate-fähige
Daten-Eingangsstufe 930 (welche anschaulich jeweils tristate-fähige Schalter
darstellen) angesteuert.
-
Die
Scan-Test-Eingangsstufe 932 und die Daten-Eingangsstufe 930 sind
als C2MOS-Latches ausgeführt, wobei die Scan-Test-Eingangsstufe 932 gebildet
wird von zwei NMOS-Transistoren N14, N15 und zwei PMOS-Transistoren
P14, P15 und wobei die Daten-Eingangsstufe 930 gebildet
wird von zwei NMOS-Transistoren
N12, N13 und zwei PMOS-Transistoren P12, P13.
-
Vorteil
dieser Anordnung ist die geringe logische Tiefe vom Daten-Eingang 902 (D)
zu dem Daten-Ausgang 906 (Q) dieser Anordnung, die in diesem
Ausführungsbeispiel
nur drei Stufen aufweist und somit trotz der bereitgestellten Scan-Funktionalität eine geringe
D-Q Verzögerungszeit
(D-Q-Delay) bewirkt.
-
Durch
den Test-Aktivierung-Eingang 918 (an dem ein Test-Aktivierung-Signal 920 (TE)
anliegt) und einen zusätzlich
vorgesehenen Invers-Test-Aktivierung-Eingang 1206 (an dem
ein inverses Test-Aktivierung-Signal 1208 (/TE) anliegt)
wird der Zustand des Flip-Flops 1000 festgelegt und die
implizite Tristate-Fähigkeit über eine
Aufspaltung des Ausgangs des Puls-Taktsignalgenerators 926 in
zwei Zweige realisiert. Dies ermöglicht
es, dass im Test-Betriebsmodus (beispielsweise für TE = 1 und /TE = 0) die Ausgangssignale
des Puls-Taktsignalgenerators 926,
nämlich
ein Daten-Ausgangssignal 1210 (PULSE1 = 0) sowie ein inverses
Daten-Ausgangssignal 1212 (PULSE1 = 1) auf konstantem elektrischen
Potential gehalten werden und somit eine Evaluation des Daten-Signals 904 (D)
in der Daten-Eingangsstufe 930 verhindert wird, indem die
Transistoren N12 und P12 der Daten-Eingangsstufe 930 geschlossen
sind. Gleichzeitig werden jedoch ein Test-Ausgangssignal 1214 (PULSE2
= 1) und ein inverses Test-Ausgangssignal 1216 (/PULSE2
= 0) (beispielsweise in Form von Pulsen) erzeugt und hierdurch werden
die Transistoren N14 und P14 der Scan-Test-Eingangsstufe 932 für die Dauer
des Pulses geöffnet.
Auf diese Weise wird das Test-Signal 916 bewertet und in
das SR-Latch 1002 geschrieben. Im Normal-Betriebsmodus
(anders ausgedrückt
im normalen Flip-Flop-Modus), beispielsweise für TE = 0 und /TE = 1, werden
das Test-Ausgangssignal 1214 (PULSE2
= 0) und das inverse Test-Ausgangssignal 1216 (/PULSE2
= 1) unterdrückt
und die Transistoren N14 und P14 der Scan-Test Eingangsstufe 932 werden
gesperrt. Entsprechend werden jedoch das Daten-Ausgangssignal 1210 (PULSE1
= 1) und das inverse Daten-Ausgangssignal 1212 (/PULSE1
= 0) (beispielsweise in Form von Pulsen) erzeugt und hierdurch werden
die Transistoren N12 und P12 der Daten-Eingangsstufe 930 für die Dauer
des Pulses geöffnet.
-
Das
SR-Latch 1002 ist in an sich herkömmlicher Weise von zwei NMOS-Transistoren
N16, N17 und zwei PMOS-Transistoren P16, P17 gebildet, die als zwei
kreuzgekoppelte Inverter miteinander verschaltet sind.
-
Der
Ausgangspuffer 928 wird von einem NMOS-Transistor N18 und
einem PMOS-Transistor P18 gebildet.
-
Der
Puls-Taktsignalgenerator 926 weist drei in Serie miteinander
gekoppelte Inverter (einen ersten Inverter 1218 (gebildet
von den Transistoren N1, P1), einen zweiten Inverter 1220 (gebildet
von den Transistoren N2, P2), einen dritten Inverter 1222 (gebildet
von den Transistoren N3, P3)), die anschaulich eine Verzögerungskette
bilden (in 12 symbolisiert mit einem Pfeil 1224).
Ferner weist der Puls-Taktsignalgenerator 926 ein erstes
Nicht-UND-Gatter 1226 auf (gebildet von den NMOS-Transistoren
N4, N5, N6 und den PMOS-Transistoren P4, P5, P6) (wobei ein Eingang
des ersten Nicht-UND-Gatters 1226 mit dem Test-Aktivierung-Eingang 918 gekoppelt
ist) und ein zweites Nicht-UND-Gatter 1228 (gebildet von
den NMOS-Transistoren N8, N9, N10 und den PMOS-Transistoren P8, P9, P10) auf (wobei
ein Eingang des zweiten Nicht-UND-Gatters 1228 mit dem
Invers-Test-Aktivierung-Eingang 1206 gekoppelt
ist). Ferner sind ein mit dem Ausgang des ersten Nicht-UND-Gatters 1226 gekoppelter
erster Ausgangs-Inverter 1230 (gebildet von den Transistoren
N7, P7) und ein mit dem Ausgang des zweiten Nicht-UND-Gatters 1228 gekoppelter
zweiter Ausgangs-Inverter 1232 (gebildet von den Transistoren
Nil, P11) vorgesehen, die die oben beschriebenen Ausgangssignale
PULSE1 (bzw. /PULSE1) und PULSE2 (bzw. /PULSE2) bereitstellen. An
die Transistoren P4 und N4 bzw. P8, N8 wird das Flip-Flop-externe
Taktsignal 912 (CLK) angelegt. An die Transistoren P6 und
N6 wird das Test-Aktivierung-Signal 920 (TE)
angelegt. An die Transistoren P10 und N10 wird das inverse Test-Aktivierung-Signal 1208 (/TE)
angelegt. An die Transistoren P5 und N5 bzw. P9 und N9 wird ein
invers verzögertes
Taktsignal angelegt, wobei die Verzögerungszeit gegeben ist durch
die Verzögerungskette
(in 12 symbolisiert mit dem Pfeil 1224).
-
13 zeigt
eine schaltungstechnische Realisierung des gepulsten Flip-Flops 1100 mit
Scan-Test-Erweiterung gemäß 11 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Die
im Vergleich zu dem Flip-Flop 800 gemäß 8 vorgenommenen Änderungen
sind beispielsweise auf Transistorbasis in der Scan-Test-Eingangsstufe 1104,
dem Puls-Taktsignalgenerator 926 und der Verbindung der
Scan-Test-Eingangsstufe 1104 mit
dem internen Speicherknoten/QI des SR-Latches 1102 zusehen.
Die Scan-Test-Eingangsstufe 1104 beinhaltet als Eingangsstufe
ein modifiziertes C2MOS-Latch 1302 (z. B. das Scan-Master-Latch 1112)
(gebildet von den Transistoren N19, P19, N20, P20, N21, P21), das
entweder im Normal-Betriebsmodus (beispielsweise für TE = 0)
deaktiviert, d. h. im Tristate-Modus, ist oder im Test-Betriebsmodus (beispielsweise
für TE
= 1) aktiv betrieben wird, da die Transistoren N21, P21 geöffnet sind.
-
Auf
der ansteigenden Taktsignalflanke sampelt (anders ausgedrückt, tastet
ab) das Scan-Master-Latch 1112 und öffnet ein weiteres modifiziertes
C MOS-Latch 1304 (z. B. das Scan-Slave-Latch 1114) (gebildet
von den Transistoren N24, P24, N25, P25, N26, P26).
-
Auf
diese Weise wird der interne Speicherknoten 1306 der Flip-Flop-Stufe
je nach logischem Pegel des an dem Test-Eingang 914 anliegenden Test-Signals 916 auf
das erste Versorgungspotential (z. B. VDD) oder
das zweite Versorgungspotential (z. B. VSS)
gesetzt.
-
Die
Transistoren N14, P14, N16, P16 in dem SR-Latch 1102 bilden
eine Rückkopplung
und speichern das eingeschriebene Datum. Um einen Konflikt mit der
Daten-Eingangsstufe 930 (in diesem Ausführungsbeispiel auch als SET/RESET-Stufe
bezeichnet) zu verhindern werden in diesem Ausführungsbeispiel die Ausgangssignale
PULSE und /PULSE, die an dem ersten Puls-Ausgang 940 des
Puls-Taktsignalgenerators 926 bereitgestellt werden, von
dem Puls-Taktsignalgenerator 926 unterdrückt (d.
h. es gilt z. B. PULSE = 0 und /PULSE = 1). Hierdurch werden die
in dem SR-Latch 1102 ebenfalls vorgesehenen Push-Pull-Transistoren N13,
P13 ausgeschaltet.
-
Die
Pulsunterdrückung
(die einer impliziten Tristate-Fähigkeit
der Daten-Eingangsstufe 930 entspricht) des Puls-Taktsignalgenerators 926 wird
durch das dreifache Nicht-UND-Gatter 1308 (gebildet
von den Transistoren N4, P4, N5, P5, N6, P6) in dem Puls-Taktsignalgenerator 926 realisiert.
Im Test-Betriebsmodus sind aus diesem Grund der Transistor N6 ausgeschaltet
und der Transistor P6 eingeschaltet. Im Normal- Betriebsmodus als gepulstes Flip-Flop
ist der Transistor N6 eingeschaltet und der Transistor P6 ausgeschaltet.
-
Der
Flächenmehraufwand
für eine
Standardzellen-Implementierung
beträgt
verglichen mit dem Flip-Flop 800 gemäß 8 sieben
Transistorfinger. Durch geeignete Dimensionierung der Transistoren
innerhalb der Scan-Test-Eingangsstufe 932 kann
die CLK-Q-Verzögerungszeit
im Test-Betriebsmodus
erhöht
werden. Dies bewirkt im Vergleich zu gepulsten Flip-Flops wesentlich
längere
Halte-Zeiten, so dass die Gefahr von so genannten Races in Pipeline-Strukturen
vermindert wird.
-
Es
ist anzumerken, dass die modifizierten C2MOS-Latches 1302, 1304 der
Scan-Test-Eingangsstufe 932 auch in Transmissions-Gatter überführt werden
können.
Ferner ist eine Mehrfachnutzung der Transistoren N21, P21 möglich, so
dass durch das Umsortieren in den Transistorstapeln der modifizierten
C2MOS-Latches 1302, 1304 der
Scan-Test-Eingangsstufe 932 auf
die Transistoren N26, P26 verzichtet werden kann.
-
14 zeigt
ein gepulstes Flip-Flop 1400 mit Scan-Test-Erweiterung gemäß einem
anderen Ausführungsbeispiel
der Erfindung.
-
Das
Flip-Flop 1400 gemäß 14 weist
einen ähnlichen
Aufbau auf wie das Flip-Flop 1100 gemäß 11, weshalb
im Folgenden nur die Unterschiede zwischen diesen beiden Flip-Flops
beschrieben werden.
-
Das
Flip-Flop 1400 gemäß 14 weist
zusätzlich
einen Multiplexer 1402 auf, der anschaulich zwischen den
zweiten Eingang 944 der Scan-Test-Eingangsstufe 932 und
den Test-Eingang 914 geschaltet
ist.
-
Der
Multiplexer 1402 weist einen mit dem Daten-Eingang 902 gekoppelten
ersten Eingang 1404, einen mit dem Test-Eingang 914 gekoppelten
zweiten Eingang 1406, einen mit dem Test-Aktivierung-Eingang 918 gekoppelten
Steuer-Eingang 1408 sowie einen mit dem zweiten Eingang 944 der
Scan-Test-Eingangsstufe 932 gekoppelten Ausgang 1410 auf.
-
Im
Unterschied zu dem Flip-Flop 1100 gemäß 11 ist
bei dem Flip-Flop 1400 gemäß 14 der Test-Eingang 968 des
Puls-Taktsignalgenerators 926 nicht
mit dem Test-Aktivierung-Eingang 918 gekoppelt (allerdings
weiterhin mit dem zweiten Eingang 944 der Scan-Test-Eingangsstufe 932),
sondern mit einem zusätzlich
vorgesehenen Master-Slave-Aktivierung-Eingang 1412, an dem ein Master-Slave-Aktivierung-Signal (MSE) 1414 anliegt.
-
Auf
diese Weise ist ein Dual-Modus gepulstes Flip-Flop mit Scan-Test-Funktionalität gemäß einem Ausführungsbeispiel
der Erfindung bereitgestellt.
-
Das
Flip-Flop
1400 wird gemäß einem
Ausführungsbeispiel
für höchste Leistungsfähigkeit
als gepulstes Flip-Flop beispielsweise mit negativer Setup-Zeit
betrieben oder als konventionelles Master-Slave-Latch-Paar im Test-Betriebsmodus
und in einem Niedrig-Energie-Betriebsmodus (Low Power-Betriebsmodus). Dies
ist gemäß einem
Ausführungsbeispiel
ermöglicht,
indem die Aktivierung des Master-Slave-Latch-Paares durch das Master-Slave-Aktivierung-Signal
(MSE)
1414 getrennt von dem Test-Betriebsmodus, der mittels
des Test-Aktivierung-Signals
920 gesteuert
wird, erfolgt. Mögliche
Betriebsmodi für
das Flip-Flop
1400 gemäß
14 sind
in der folgenden Tabelle dargestellt:
MSE | TE | Flip-Flop-Modus | Funktion |
0 | 0 | Gepulstes
Flip-Flop | Normal |
1 | 0 | Master-Slave-Latch-Paar | Normal |
0 | 1 | Verboten | Verboten |
1 | 1 | Master-Slave-Latch-Paar | Scan-Test |
-
Im
Betrieb als Master-Slave-Latch-Paar (beispielsweise für MSE =
1) werden die Pulssignale CP_D (bzw. /CP_D) in dem Puls-Taktsignalgenerator 926 unterdrückt (implizite
Tristatefähigkeit).
Je nach Betriebsmodus wird das Flip-Flop 1400 dann beispielsweise
für TE
= 0 als konventionelles Master-Slave-Latch-Paar im
Niedrig-Energie-Betriebsmodus betrieben werden. Hierzu wird das
Daten-Signal 904 durch den Multiplexer 1402, das
Scan-Master-Latch 1112 sowie das Scan-Slave-Latch 1114 in das SR-Latch 1102 propagiert.
Im Test-Betriebsmodus
(beispielsweise für
TE = 1) wird anstelle des Daten-Signals 904 das Test-Signal 916 von dem
Multiplexer 1402 ausgewählt
und durch diesen sowie durch das Scan-Master-Latch 1112 und das Scan-Slave-Latch 1114 in
das SR-Latch 1102 propagiert.
-
Ein
Vorteil dieser Konfiguration ist, dass beispielsweise im Niedrig-Energie-Betriebsmodus
die aktive Leistungsaufnahme des Puls-Taktsignalgenerators 926 und
der Daten-Eingangsstufe 930 eliminiert wird und sich die
Gesamt-Verlustleistung des Flip-Flops 1400, insbesondere
bei niedriger Datenaktivität,
reduziert. Diese Eigenschaft resultiert aus der hohen Energieeffizienz
des Master-Slave-Latch-Paares.
-
15 zeigt
eine schaltungstechnische Realisierung des gepulsten Flip-Flops 1400 mit
Scan-Test-Erweiterung gemäß 14 auf
Transistorebene gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Ein
Unterschied zu der schaltungstechnischen Realisierung des gepulsten
Flip-Flops 1100 gemäß 13 ist
der gemäß diesem
Ausführungsbeispiel
der Erfindung doppelt verwendete Daten-Eingang 902, der sowohl in
der Master-Stufe, d. h. in dem Scan-Master-Latch 1112 der
Scan-Test-Eingangsstufe 1104, verwendet wird, als auch
im Setz/Rücksetz-Pulsgenerator,
beispielsweise der Daten-Eingangsstufe 930, in Form des invertierten
Daten-Eingangssignals/D1 weiterverarbeitet wird.
-
Der
Test-Betriebsmodus wird über
die Zustände
der Transistoren N20, P20, N28, P28 festgelegt. Das invertierte
Master-Slave-Aktivierung-Signal (/MSE = 0) unterdrückt die
Pulsgenerierung im Puls-Taktsignalgenerator 926 (implizite
Tristate-Fähigkeit)
durch die Transistoren N6, P6.
-
16 zeigt
ein Verfahren 1600 zum Betreiben einer Schaltkreis-Anordnung
gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Bei
diesem Verfahren wird davon ausgegangen, dass die Schaltkreis-Anordnung
aufweist eine Scan-Test-Eingangsstufe mit einem Test-Eingang zum
Empfangen eines Test-Signals, wobei die Scan-Test-Eingangsstufe
hochohmig schaltbar ist, eine Daten-Eingangsstufe mit einem Daten-Eingang
zum Empfangen eines Daten-Signals, wobei die Daten-Eingangsstufe
hochohmig schaltbar ist sowie ein mit mindestens einem Ausgang der
Scan-Test-Eingangsstufe und mit mindestens einem Ausgang der Daten-Eingangsstufe
gekoppeltes Latch.
-
Nach
Starten des Verfahrens in 1602 wird in 1604 die
Schaltkreis-Anordnung in einem Scan-Test-Betriebsmodus betrieben
und die Daten-Eingangsstufe wird hochohmig geschaltet, so dass ein
an dem Test-Eingang anliegendes Test-Signal dem Latch zugeführt wird.
-
Alternativ
wird nach Starten des Verfahrens in 1606 die Schaltkreis-Anordnung
in einem Daten-Betriebsmodus betrieben und die Scan-Test-Eingangsstufe
wird hochohmig geschaltet, so dass ein an dem Daten-Eingang anliegendes
Daten-Signal dem Latch zugeführt
wird.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung wird ein erstes Puls-Taktsignal erzeugt zum Betreiben
der Daten-Eingangsstufe und es wird ein zweites Puls-Taktsignal
erzeugt zum Betreiben der Scan-Test-Eingangsstufe.
-
Gemäß einem
anderen Ausführungsbeispiel
der Erfindung wird ein erstes Puls-Taktsignal erzeugt zum Betreiben
der Daten-Eingangsstufe
und es wird ein Taktsignal erzeugt zum flankengesteuerten Betreiben
der Scan-Test-Eingangsstufe.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung werden tristate-fähige
Teil-Eingangsstufen für
den Test-Betriebsmodus
und den Normal-Betriebsmodus eines Flip-Flops über den Daten-Eingang, an dem
das zu verarbeitende Daten-Signal
zugeführt
wird, bereitgestellt. Auf diese Weise wird eine Auftrennung des Scan-Test-Pfades
(Test-Signal zu Latch (beispielsweise SR-Latch)) und des Daten-Eingang-Pfades
(Daten-Signal zu Latch (beispielsweise SR-Latch)) ermöglicht.
Diese Auftrennung ermöglicht
es gemäß einem
Ausführungsbeispiel
der Erfindung, die Schaltungskomponenten der Scan-Test-Erweiterung
so zu verlangsamen, dass eine lange CLK-Q-Verzögerungszeit entsteht. Dies
erhöht
die so genannte Race-Immunität
R (die sich ergibt gemäß folgender
Vorschrift: R = tCLK-Q – tHOLD,
wobei mit tCLK-Q die CLK-Q-Verzögerungszeit
und mit tCLK-Q die Halte-Zeit bezeichnet
werden) von Flip-Flops in kurzen Pfaden wie dem Scan-Test-Pfad, ohne den zeitkritischen
D-Q-Pfad zu verlangsamen.
-
Die
Eigenschaft, dass die Halte-Zeit in einem konventionellen Master-Slave-Latch-Paar
sehr kurz ist (beispielsweise in einem Bereich von ungefähr 10 ps
bis ungefähr
30 ps für
CMOS RVT (Regular Voltage threshold) Devices mit einer Versorgungsspannung
von ungefähr
1,32 V in einer 65 nm-Technologie)
und damit gilt R >> 0 ps, wird in einem
Ausführungsbeispiel
der Erfindung insofern ausgenutzt, als dass die oben erwähnte Trennung
der tristate-fähigen
Pfade Scan-Test-Pfad und Dateneingangs-Pfad es ermöglicht,
das Flip-Flop als Master-Slave-Latch-Paar zu betreiben und so von
der erhöhten
Race-Immunität
zu profitieren. Das Flip-Flop besitzt in diesem Sinne eine Dual-Modus-Fähigkeit,
die in einem Ausführungsbeispiel
der Erfindung (beispielsweise in dem Flip-Flop 1400 gemäß 14)
zur Reduktion des aktiven Leistungsverbrauchs ausgenutzt wird.
-
Optional
kann in den Ausführungsbeispielen
die Verlangsamung der CLK-Q-Zeit tCLK-Q im
Master-Slawe-Modus durch entsprechende Transistordimensionierungen
oder durch den Einsatz von Hoch-Schwellenspannung-Transistoren (High-Vt-Transistoren)
oder Hoch-Schwellenspannung/Mittlere Gateoxiddicke-Transistoren
(High-Vt/Medium GOX-Transistoren) optimiert
werden.
-
Es
ist darauf hinzuweisen, dass in einem Ausführungsbeispiel der Erfindung
der Wechsel des Betriebsmodus dynamisch innerhalb einer Taktperiode
erfolgen kann, indem beispielsweise das Master-Slawe-Aktivierung-Signal
(MSE) 1414 entsprechend der oben beschriebenen Tabelle
gesetzt wird.
-
In
alternativen Ausführungsbeispielen
werden in den obigen Schaltkreis-Anordnungen sowohl bei steigenden
Taktsignalflanken als auch bei fallenden Taktsignalflanken Signalpulse
erzeugt und auf diese Weise ist jeweils ein Doppel-flankengetriggertes
(double-edge-triggered) Flip-Flop bereitgestellt.
-
Obwohl
die Erfindung vor allem im Zusammenhang mit spezifischen Ausführungsbeispielen
gezeigt und beschrieben worden ist, sollte es von denjenigen mit
dem Fachgebiet vertrauten Personen verstanden werden, dass vielfältige Änderungen
der Ausgestaltung und der Details daran vorgenommen werden können, ohne
vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden
Ansprüche
definiert wird, abzuweichen. Der Bereich der Erfindung wird daher
durch die angefügten
Ansprüche
bestimmt, und es ist beabsichtigt, dass sämtliche Veränderungen, welche in Reichweite
der Bedeutung und des Äquivalenzbereichs
der Ansprüche
liegen, von den Ansprüchen
umfasst werden.