PatentDe  


Dokumentenidentifikation DE102005049232A1 26.04.2007
Titel Integrierter Schaltkreis und Verfahren zum Betreiben eines integrierten Schaltkreises
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Henzler, Stephan, 81667 München, DE;
Eireiner, Matthias, 80799 München, DE;
Schmitt-Landsiedel, Doris, 85521 Ottobrunn, DE;
Georgakos, Georg, 85447 Fraunberg, DE;
Pacha, Christian, 81739 München, DE;
Berthold, Jörg, 81675 München, DE
Vertreter Viering, Jentschura & Partner, 80538 München
DE-Anmeldedatum 14.10.2005
DE-Aktenzeichen 102005049232
Offenlegungstag 26.04.2007
Veröffentlichungstag im Patentblatt 26.04.2007
IPC-Hauptklasse H01L 23/58(2006.01)A, F, I, 20051014, B, H, DE
Zusammenfassung Der Schaltkreis weist ein erstes Daten-Halteglied zu diesem parallel geschalteten zweiten Daten-Halteglied auf, wobei das zweite Daten-Halteglied eine längere Setup-Zeit aufweist als das erste Daten-Halteglied.

Beschreibung[de]

Die Erfindung betrifft einen integrierten Schaltkreis sowie ein Verfahren zum Betreiben eines integrierten Schaltkreises.

Bei einem integrierten Datenverarbeitungs-Schaltkreis ist die Reduktion der erzeugten Verlustleistung im Rahmen der Datenverarbeitung eine der wesentlichen Herausforderungen im modernen System-on-Chip-Design. Um alle Verlustleistungs-Beiträge, d.h. sowohl dynamische Verlustleistungs-Beiträge als auch Leckstromverlust-Beiträge, so klein wie möglich zu halten ist es oftmals wünschenswert, den integrierten Datenverarbeitungs-Schaltkreis mit der kleinstmöglichen Versorgungsspannung zu betreiben, bei der die gewünschte Funktionalität, beispielsweise hinsichtlich der gegebenen Timing-Anforderungen, noch gewährleistet ist.

Die Variationen von Technologie-Parametern gewinnen in modernen Prozesstechnologien zur Herstellung von integrierten Datenverarbeitungs-Schaltkreisen zunehmend an Bedeutung. Diese oftmals fertigungsbedingten Schwankungen der Technologieparameter aktiver integrierter Bauelemente und passiver integrierter Bauelemente, einschließlich von parasitären Effekten, bilden sich in Variationen von Designparametern höherer Abstraktionsebenen ab, wie beispielsweise in Variationen von Signalverzögerungen (Delay) oder Leckstrom. Die Variationen der Technologieparameter bei der Herstellung eines integrierten Datenverarbeitungs-Schaltkreises weisen üblicherweise globale Anteile und lokale Anteile auf, d.h. es gibt Abweichungen, welche den gesamten Chip, d.h. den gesamten integrierten Datenverarbeitungs-Schaltkreis, betreffen, aber auch Streuungen nominal gleicher Eigenschaften untereinander innerhalb des Chips.

Neben den Variationen von Technologieparametern gibt es auch Schwankungen von Performancegrößen, die beispielsweise durch Schwankungen in der Versorgungsspannung, beispielsweise durch Strom-Widerstands-Abfall (IR-Drop) oder durch Nebensprechen (Cross-Talk) verursacht werden. Diese Effekte sind an sich deterministisch, können aber aufgrund der zugrunde liegenden Komplexität und/oder Abbildung in entsprechenden Designtools nicht derart behandelt werden. Stattdessen werden sie üblicherweise wie statistische Schwankungen betrachtet und modelliert.

Die Anzahl statistisch signifikant schwankenden Technologieparametern ist in den letzten Technologiegenerationen immer größer geworden und die Schwankungsbreiten haben zugenommen. Schwankungen treten beispielsweise bei einem Feldeffekttransistor auf in dessen Weite (W), Länge (L), in der Dicke des Oxids (tox), in dessen Schwellenspannung (Vth) oder auch in dessen Kanalmobilität (&mgr;). Bei zu erzeugenden Leiterbahnen (Interconnects) treten Schwankungen beispielsweise in deren Weite (W), Dicke (D), deren Schichtwiderstand (&rgr;), deren Koppelkapazitäten (C) und deren Induktivitäten (L) auf. Auch sind Schwankungen in der Betriebsumgebung zu berücksichtigen, beispielsweise Schwankungen in der Versorgungsspannung (VDD), in der herrschenden Temperatur (T), im vorliegenden Rauschen, in der vorliegenden externen Strahlung, im Betriebsmodus, in der Aktivität, in der Anwendung, etc.

Worst Case-Analysen und Corner-Analysen sind sehr pessimistisch ausgelegt, so dass sich das Designfenster zunehmend schließt, wenn man für jede der schwankenden Größen separat einen Vorhalt beispielsweise für die Betriebsspannung vorsieht. Die statistische statische Timing-Analyse (SSTA) berücksichtigt die Verteilungsfunktion der einzelnen streuenden Technologieparameter und liefert daher deutlich realistischere Ergebnisse als konservative Ansätze. Die Auswirkungen einer solchen statistischen statischen Timing-Analyse liegen hauptsächlich in einer besseren Modellierung der Verteilung, was zu einer verbesserten Ausbeute (Yield) führt. Wirklich aussagekräftig und tragfähig wird ein statistischer Ansatz jedoch erst dann, wenn er mit adaptiven Schaltungskonzepten kombiniert wird.

Adaptive Spannungsversorgungen sind bewährt und beispielsweise in [1] und [2] beschrieben. Wesentlich ist bei der adaptiven Spannungsversorgung, wie die Variationen charakterisiert werden, d.h. wie erkannt wird, ob ein Chip zu schnell oder zu langsam ist.

Gemäß der in [1] und [2] beschriebenen Vorgehensweise wird zu diesem Zweck ein so genannter On-Chip Geschwindigkeitsmonitor (Speed Monitor) verwendet, mittels dessen bestimmt wird, ob die geforderte Schaltgeschwindigkeit in dem Schaltkreis erreicht wird oder nicht. Dazu wird ein so genannter überkritischer Pfad nachgebildet und geprüft, ob ein Signal während eines Systemzyklus durch den überkritischen Pfad laufen kann. Alternativ kann die Frequenz eines Ringoszillators gemessen werden. Der Nachteil dieser Lösung ist beispielsweise darin zu sehen, dass ein Geschwindigkeitsmonitor nur globale Variationen abbilden kann. Lokalen Variationen, die zunehmend an Bedeutung gewinnen, kann mit einem Geschwindigkeitsmonitor nicht begegnet werden. Aus diesen Grund muss bei den in [1] und [2] beschriebenen Verfahren trotz des Einsatzes eines Geschwindigkeitsmonitors eine erhebliche Sicherheitsspanne eingebaut werden im Rahmen des Designs der Schaltkreise, da kritische Pfade an andere Stellen des Chips eventuell entgegengesetzten (lokalen) Variationen unterliegen. Selbst bei Verwendung sehr vieler verteilter Geschwindigkeitsmonitore können lokale Schwankungen nicht erfasst werden. Solche Verfahren können selbst mit erheblichem Overhead nicht garantieren, dass das Timing in benachbarten kritischen Pfaden sicher eingehalten wird.

In [3] und [4] ist ein Schaltungskonzept beschrieben, welches auch als Razor-Konzept bezeichnet wird, mittels welchem sowohl globale Schwankungen als auch lokale Schwankungen abgebildet werden können. Ist eine Logikschaltung geringfügig zu langsam, kommt es im synchronen Schaltungsdesign zu einer Setup-Verletzung in dem Flip-Flop, an dem der zu langsame Pfad endet. Wie in [3] beschrieben ist es die grundlegende Idee bei dem Razor-Konzept, kurz nach der regulären Taktflanke das Eingangssignal des Flip-Flops mit Hilfe eines parallelen Latches/Flip-Flops nochmals abzutasten. Da der Takt von diesem Flip-Flop verzögert ist, das Signal also erst später abgetastet wird, ist das Signal dieses Flip-Flops mit höherer Wahrscheinlichkeit gültig. Vergleicht man die Ausgangssignale des regulären Flip-Flops und des verzögerten Flip-Flops kann man erkennen, ob ein Timingfehler aufgetreten ist. In diesem Fall kann die Signalverarbeitung gestoppt werden und die fehlerhafte Operation wiederholt werden. Die Fehlerrate wird verwendet, um einen Systemparameter wie die Betriebsspannung des Schaltkreises zu regeln beziehungsweise einzustellen. Ein Nachteil dieses Konzepts ist beispielsweise darin zu sehen, dass eine Fehlerrate von größer als Null erforderlich ist, d.h. es werden tatsächlich Fehler auftreten, die dann korrigiert werden müssen. Insbesondere in einer Echtzeitanwendung kann dies nicht toleriert werden, vor allem weil nicht mit Sicherheit gewährleistet werden kann, wie viele dieser Fehler in einem Zeitintervall tatsächlich auftreten. Bei einer Echtzeitanwendung wie beispielsweise dem Abarbeiten eines Protokoll-Stapels (Protocol Stack) in einem Mobilfunktelefon muss die Ausführungszeit aufgrund der fest definierten Latenzzeiten jederzeit determinierbar sein. Wird in dem ursprünglichen Razor-Konzept ein Fehler detektiert, so müssen beispielsweise eine oder mehrere Instruktionen erneut ausgeführt werden und der gesamte Ablauf des Programms wird verzögert. Darüber hinaus erfordert die Fehlerkorrektur zusätzliche Energie.

Weiterhin sind in [5] Verfahren zum Ermitteln kritischer Pfade in einem integrierten Datenverarbeitungs-Schaltkreis beschrieben.

Der Erfindung liegt das Problem zugrunde, eine alternative Möglichkeit zur Verbesserung der Charakterisierung eines integrierten Schaltkreises bereitzustellen.

Das Problem wird durch einen integrierten Schaltkreis sowie durch ein Verfahren zum Betreiben eines integrierten Schaltkreises mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.

Ein integrierter Schaltkreis, beispielsweise ein erstes integrierter Datenverarbeitungs-Schaltkreis, weist mindestens ein Daten-Halteglied auf zum Halten von Daten, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist. Ferner weist der integrierte Schaltkreis mindestens ein zweites Daten-Halteglied zum Halten der Daten auf, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist. Das mindestens eine zweite Daten-Halteglied ist zu dem mindestens einen ersten Daten-Halteglied parallel geschaltet. Das mindestens eine zweite Daten-Halteglied ist derart eingerichtet oder wird derart über seinen Daten-Eingang angesteuert, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.

Bei einem Verfahren zum Betreiben eines integrierten Schaltkreises, beispielsweise eines integrierten Datenverarbeitungs-Schaltkreises, werden Daten mindestens einem ersten Daten-Halteglied zum Halten der Daten zugeführt, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist. Ferner werden die Daten mindestens einem zweiten Daten-Halteglied zum Halten der Daten zugeführt, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist. Das mindestens eine zweite Daten-Halteglied ist zu dem mindesten einen ersten Daten-Halteglied parallel geschaltet und das zweite Daten-Halteglied wird derart eingerichtet oder derart über seinen Daten-Eingang angesteuert, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.

Anschaulich ist ein Aspekt der Erfindung beispielsweise darin zu sehen, dass zwar wie auch gemäß [3] ein zweites Latch/Flip-Flop, allgemein ein zweites Daten-Halteglied verwendet wird, welches zu dem eigentlichen regulären Flip-Flop, allgemein dem ersten Daten-Halteglied, parallel geschaltet ist, jedoch wird gemäß [3] der Takt verzögert an das zweite Daten-Halteglied angelegt und gemäß einem Aspekt der Erfindung wird keiner der Takte verzögert, es werden beispielsweise beide Daten-Halteglieder, also beispielsweise beide Flip-Flops, mit demselben Taktsignal versorgt. Die Setup-Zeit des zweiten Daten-Haltegliedes, allgemein des parallel geschalteten Daten-Haltegliedes, beispielsweise des Flip-Flops, wird durch eine entsprechende Maßnahme künstlich verzögert, beispielsweise durch eine Degenerierung des zweiten Daten-Haltegliedes gegenüber dem ersten Daten-Halteglied hinsichtlich der Setup-Zeit oder durch eine entsprechende Verzögerung des Datensignals auf dem Datenpfad vor dem Zuführen des Datensignals; allgemein der Daten, an den Daten-Eingang des mindestens einen zweiten Daten-Haltegliedes.

Somit betrifft ein Aspekt der Erfindung ein adaptives Schaltungskonzept, welches es erlaubt zu erkennen, wie sich vorhandene Variationen auf die Performance des betrachteten Chips und damit der betrachteten Realisierung aus dem multidimensionalen Zufallsprozess auswirken und mit dieser Information Systemparameter nachzustellen, um die Performance-Spezifikation wieder einzuhalten. Dies ist insbesondere der Fall bei der Anwendung der Erfindung auf einen Datenverarbeitungs-Schaltkreis mit kritischen Datenpfaden und einer Optimierung von Betriebsparametern, auch bezeichnet als Systemparameter. Als Systemparameter wird beispielsweise die Betriebsspannung verwendet, alternativ beispielsweise die Taktfrequenz, mit der die Daten-Halteglieder und/oder die Logikschaltungen, welche üblicherweise in den integrierten Datenverarbeitungs-Schaltkreis ebenfalls enthalten sind, getaktet werden.

Gemäß dem Schaltungskonzept gemäß einem Aspekt der Erfindung werden sowohl globale Schwankungen als auch lokale Schwankungen egal welchem Ursprungs berücksichtigt.

Ein zusätzlicher Vorteil der Erfindung ist beispielsweise darin zu sehen, dass es nicht erforderlich ist, dass ein Fehler in der Datenverarbeitung tatsächlich auftreten muss. Damit ist die Erfindung insbesondere geeignet für Echtzeitanwendungen, beispielsweise in einem Mobilfunktelefon im Rahmen der Abarbeitung eines Protokoll-Stapels, beispielsweise gemäß GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), CDMA 2000 (Code Division Multiple Access 2000), FOMA (Freedom of Mobile Multimedia Access), etc., allgemein gemäß einem Mobilfunk-Kommunikationsstandard der zweiten oder dritten Generation, beispielsweise gemäß einem Mobilfunk-Kommunikationsstandard gemäß 3GPP (3rd Generation Partnership Project) oder 3GPP2 (3rd Generation Partnership Project 2).

Beispielhafte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen. Die im Folgenden beschriebenen Ausgestaltungen betreffen sowohl den integrierten Schaltkreis als auch, soweit sinnvoll, das Verfahren zum Betreiben des integrierten Schaltkreises.

Das mindestens eine erste Daten-Halteglied und das mindestens eine zweite Daten-Halteglied können mit demselben Taktsignal gekoppelt sein und damit mit demselben Taktsignal angesteuert werden.

Ferner kann das mindestens eine erste Daten-Halteglied und das mindestens eine zweite Daten-Halteglied ein Daten-Halteglied aus der folgenden Menge von Daten-Haltegliedern sein:

  • • ein nicht-flüchtiges Speicherelement, oder
  • • ein Flip-Flop, insbesondere ein zustandsgesteuertes Flip-Flop oder taktflankengesteuertes Flip-Flop, beispielsweise ein D-Flip-Flop, ein RS-Flip-Flop oder ein JK-Flip-Flop.

Ferner kann ein dem ersten Daten-Halteglied und dem zweiten Daten-Halteglied nachgeschalteter Komparator zum Vergleich des Ausgangssignals des mindestens einen ersten Daten-Haltegliedes mit dem Ausgangssignal des mindestens einen zweiten Daten-Haltegliedes vorgesehen sein, wobei der Komparator ein Vergleichsergebnis über den Vergleich der beiden Ausgangssignale bereitstellt. Somit ist beispielsweise der Komparator mit einem ersten Eingang des Komparators mit einem Ausgang des mindestens einen ersten Daten-Haltegliedes und mit einem zweiten Eingang des Komparators mit einem Ausgang des mindestens einen zweiten Daten-Haltegliedes gekoppelt, so dass die beiden Ausgangssignale dem Komparator zuführbar sind. In dem Komparator werden die beiden Ausgangssignale miteinander verglichen und das Ausgangssignal des Komparators, welches an dem Ausgang des Komparators bereitgestellt wird, stellt das Vergleichsergebnis-Signal dar.

Anschaulich ist somit allgemein das Ausgangssignal des mindestens einen ersten Daten-Haltegliedes mit dem Ausgangssignal des mindestens einen zweiten Daten-Haltegliedes verglichen, womit ein Vergleichsergebnis-Signal erzeugt wird.

Der Komparator kann als ein eine Exklusiv-ODER-Logikfunktion (XOR) bereitstellender Komparator eingerichtet sein, wenn beispielsweise eine geradzahlige Anzahl von Invertern dem zweiten Daten-Halteglied vorgeschaltet ist beispielsweise zur zeitlichen Verzögerung des Datensignals vor dessen Zuführung zu dem zweiten Daten-Halteglied. Alternativ kann der Komparator jedoch beispielsweise als ein eine Nicht-Exklusiv-ODER-Logikfunktion (NXOR) bereitstellender Komparator eingerichtet sein, wenn beispielsweise eine ungeradzahlige Anzahl von Invertern dem zweiten Daten-Halteglied vorgeschaltet ist beispielsweise zur zeitlichen Verzögerung des Datensignals vor dessen Zuführung zu dem zweiten Daten-Halteglied. Somit können sowohl eine geradzahlige als auch eine ungeradzahlige Anzahl von Invertern dem zweiten Daten-Halteglied vorgeschaltet sein.

Ferner kann der integrierte Schaltkreis eine Steuerungseinheit zum Steuern von mindestens einem Betriebsparameter aufweisen, gemäß dem der integrierte Schaltkreis betrieben wird.

Gemäß einer Ausgestaltung der Erfindung ist die Steuerungseinheit zum Steuern von mindestens einem der folgenden Betriebsparameter eingerichtet:

  • • einer Betriebsspannung, mit der zumindest ein Teil des integrierten Schaltkreises betrieben wird,
  • • einer Betriebsfrequenz, mit der zumindest ein Teil des integrierten Schaltkreises betrieben wird,
  • • eine Body-Spannung, welche an den Body des integrierten Schaltkreises angelegt wird,
  • • der Temperatur, bei welcher zumindest ein Teil des integrierten Schaltkreises betrieben wird.

Die Steuerungseinheit kann mit dem Komparator gekoppelt sein und die Steuerungseinheit kann eingerichtet sein zum Steuern des mindestens einen Betriebsparameters gemäß dem Vergleichsergebnis-Signal.

Auf diese Weise ist es ermöglicht, dass die Betriebsparameter, beispielsweise die Betriebsspannung oder die Betriebsfrequenz des integrierten Schaltkreises unter Berücksichtigung von lokalen und globalen Schwankungen des Herstellungsprozesses des integrierten Schaltkreises optimiert angesteuert werden, so dass beispielsweise das Design-Fenster, in welchem der integrierte Schaltkreis zufällig betrieben werden kann, weiter verkleinert werden kann. Anschaulich erfolgt eine bessere Charakterisierung des integrierten Schaltkreises, ohne dass es erforderlich ist, dass ein Fehler in dem Datenpfad, welcher zu dem ersten Daten-Halteglied führt, auftreten muss.

Der integrierte Schaltkreis kann eine Mehrzahl von Datenverarbeitungspfaden aufweisen, wobei in jedem Datenverarbeitungspfad diesem jeweils zugeführte Eingangsdaten verarbeitet werden zu Ausgangsdaten, wobei jeder Datenverarbeitungspfad aufweist:

  • • mindestens einen Datenpfad-Eingang zum Zuführen der Eingangs-Daten,
  • • mindestens eine Datenverarbeitungslogik zum Verarbeiten der zugeführten Eingangsdaten,
  • • mindestens ein erstes Daten-Halteglied zum Halten der mittels der Datenverarbeitungslogik verarbeiteten Daten, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist und wobei das mindestens eine erste Daten-Halteglied mindestens ein erstes Datenpfad-Ausgangssignal bereitstellt,
  • • mindestens ein zweites Daten-Halteglied zum Halten der mittels der Datenverarbeitungslogik verarbeiteten Daten, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist, und wobei das mindestens eine zweite Daten-Halteglied mindestens ein zweites Datenpfad-Ausgangssignal bereitstellt,
  • • wobei das mindestens eine zweite Daten-Halteglied zu dem mindestens einen ersten Daten-Halteglied parallel geschaltet ist,
  • • wobei das zweite Daten-Halteglied derart eingerichtet oder derart über dessen Daten-Eingang angesteuert wird, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.

Anschaulich weist somit der integrierte Schaltkreis eine Mehrzahl, beispielsweise eine Vielzahl von Datenpfaden auf, wobei beispielsweise ein Datenverarbeitungspfad der Datenverarbeitungspfade oder einige Datenverarbeitungspfade der Datenverarbeitungspfade hinsichtlich des Timing-Verhaltens kritisch sind, wobei diese Datenpfade im Folgenden auch als kritische Pfade bezeichnet werden. Mittels dieser Ausgestaltung der Erfindung ist es somit auf einfache Weise ermöglicht, kritische Pfade, welche mittels der Daten-Halteglieder „abgesichert" werden, hinsichtlich des Timing-Verhaltens sicher auszugestalten und dahingehend zu optimieren, dass sie mit einer jeweils minimierten Betriebsspannung bei immer noch gewährleistetem Timing-Verhalten angesteuert werden können.

Zum weiteren Energiesparen ist es gemäß einer Ausgestaltung der Erfindung vorgesehen, dass der integrierte Schaltkreis ein Abschaltelement aufweist, welches mit dem zweiten Daten-Halteglied derart gekoppelt ist, dass es dieses unabhängig von dem ersten Daten-Halteglied abschalten kann.

Weiterhin kann das Abschaltelement derart dimensioniert sein, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit. Dies wird beispielsweise dadurch ermöglicht, dass ein dem zweiten Daten-Halteglied die Betriebsspannung zuführendes Abschaltelement, beispielsweise ein Transistor, beispielsweise ein Feldeffekttransistor, derart dimensioniert ist, dass an diesem ein erhöhter Anteil der Betriebsspannung abfällt, beispielsweise dadurch, dass das Abschaltelement einen erhöhten elektrischen Widerstand aufweist, so dass das zweite Daten-Halteglied mit einer gegenüber dem ersten Daten-Halteglied reduzierten Betriebsspannung betrieben wird, wodurch erreicht wird, dass das zweite Daten-Halteglied eine längere Setup-Zeit aufweist als das erste Daten-Halteglied.

Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass dem Daten-Eingang des zweiten Daten-Haltegliedes ein Verzögerungselement vorgeschaltet ist zum Verzögern der dem Daten-Eingang des zweiten Daten-Haltegliedes zugeführten Daten gegenüber den dem ersten Daten-Halteglied zugeführten Daten. Das Verzögerungselement kann in seiner Verzögerungseigenschaft veränderbar ausgebildet sein. Gemäß einer Ausgestaltung der Erfindung weist das Verzögerungselement mindestens einen Inverter auf, gemäß einer anderen Ausgestaltung der Erfindung mindestens zwei in Serie geschaltete Inverter.

Gemäß noch einer anderen Ausgestaltung der Erfindung kann es vorgesehen sein, dass der Daten-Eingang des zweiten Daten-Haltegliedes mit dem Ausgang des ersten Inverters des ersten Daten-Haltegliedes gekoppelt ist. Damit wirkt anschaulich ein ohnehin in dem ersten Daten-Halteglied schon vorhandenes Element, nämlich der Eingangs-Inverter des ersten Daten-Haltegliedes als Verzögerungselement für die Daten, welche dem Daten-Eingang des zweiten Daten-Haltegliedes zugeführt werden. Gemäß dieser Ausgestaltung der Erfindung ist noch nicht einmal ein zusätzliches Verzögerungselement in dem Schaltkreis erforderlich. Ein weiterer Vorteil dieser Ausgestaltung der Erfindung kann darin gesehen werden, dass dadurch lokale Schwankungen, die in den beiden Haltegliedern auftreten können, mit erfasst werden und so das zweite Halteglied sicher nach dem ersten Halteglied das Datensignal sieht. Denn durch lokale Schwankungen ist es möglich, dass der Dateneingangsinverter des parallelen Flip-Flops sehr viel schneller als der des regulären Flip-Flops ist und so die Delay-Degradation egalisiert wird.

Gemäß einer anderen Ausgestaltung der Erfindung ist eine veränderbare Kapazität in dem integrierten Datenverarbeitungs-Schaltkreis zusätzlich vorgesehen, welche zwischen die mindestens zwei in Serie geschalteten Inverter geschaltet ist.

Weiterhin kann das Verzögerungselement ein zwischen die mindestens zwei in Serie geschalteten Inverter geschaltetes Transmissionsgatter aufweisen, allgemein einen beliebigen Schalter. Wie oben beschrieben können eine beliebige Anzahl von Invertern dem zweiten Daten-Halteglied vorgeschaltet sein, wobei bei einer geradzahligen Anzahl von vorgeschalteten Invertern der Komparator eine XOR-Funktion bereitstellt und bei einer ungeradzahligen Anzahl von vorgeschalteten Invertern der Komparator eine Nicht-XOR-Funktion bereitstellt.

Die Erfindung ist anwendbar beispielsweise auf Signalprozessoren, auf Speichereinrichtungen (in diesem Fall beispielsweise zum schnellen Auslesen von in einem Speicherzellen-Array gespeicherten Informationen) oder von Pipeline-Strukturen mit mehreren nacheinander geschalteten Datenpfaden, wobei jeweils eine Verarbeitungslogik, ein an dem Ausgang der Verarbeitungslogik vorgesehenes Daten-Halteglied, eine an dem Ausgang des Daten-Haltegliedes eine entsprechend nachgeschaltete Verarbeitungslogik, ein an dem Ausgang der nachfolgenden Verarbeitungslogik geschaltetes Daten-Halteglied beziehungsweise eine Mehrzahl von parallel geschalteten Daten-Haltegliedern, etc., vorgesehen ist.

Anschaulich kann ein Aspekt der Erfindung darin gesehen werden, dass in den Daten-Haltegliedern, beispielsweise in Flip-Flops in kritischen Datenpfaden parallel zum eigentlichen signalführenden Daten-Halteglied (beispielsweise Flip-Flop) ein weiteres Daten-Halteglied (beispielsweise ein zusätzliches Flip-Flop) implementiert wird, das gegenüber dem ersten Daten-Halteglied eine vergrößerte, d.h. längere Setup-Zeit aufweist. Wenn das Timing anfängt kritisch zu werden, beispielsweise während des Absenkens der Betriebsspannung (auch bezeichnet als Versorgungsspannung) zum Betreiben des integrierten Datenverarbeitungs-Schaltkreises, dann wird zuerst das parallel geschaltete Daten-Halteglied (beispielsweise das parallel geschaltete Flip-Flop) eine Timing-Verletzung sehen beziehungsweise erkennen. Anders ausgedrückt wird in diesem Fall zuerst das parallel geschaltete Daten-Halteglied eine Timing-Verletzung erfahren. Erst bei weiterer Verschlechterung der Betriebsbedingungen, beispielsweise bei weiterem Abfall der Versorgungsspannung, wird auch das reguläre Daten-Halteglied ( beispielsweise das reguläre Flip-Flop) ausfallen. Es ist somit gemäß einem Aspekt der Erfindung möglich, durch Vergleichen der beiden Daten-Halteglieder-Ausgangssignale (beispielsweise Flip-Flop-Ausgangssignale) zu erkennen, wann das Timing anfängt, kritisch zu werden und damit die Betriebsparameter des betrachteten Chips einzustellen (zu tunen), um einer weiteren Timing-Verschlechterung entgegenzuwirken. Es ist für das oben beschriebene Schaltungskonzept unerheblich, ob dieser Tuning-Prozess einmal bei der Systemkonfiguration oder ständig in einer kontinuierlichen Regelschleife oder in einer diskontinuierlichen Regelschleife erfolgt.

Gemäß noch einer anderen Ausgestaltung der Erfindung kann es vorgesehen sein, dass der Parallelzweig, mittels welchem das Datensignal dem zweiten Daten-Halteglied zugeführt wird, vor dem ersten Inverter des "regulären" Signalpfades, d.h. dem Datensignalpfad des ersten Daten-Haltegliedes, abzweigt, so dass die Datensignalverzögerung vollständig unabhängig von der Datensignalausbreitung in dem Datensignalpfad des ersten Daten-Haltegliedes erfolgt. Anders ausgedrückt bedeutet dies, dass der Abzweig-Knoten, von welchem das Datensignal in den Parallelzweig und damit zu dem zweiten Daten-Halteglied geführt wird, vor dem ersten Inverter des "regulären" Signalpfades, beispielsweise vor dem ersten Inverter der Master-Stufe des ersten Daten-Haltegliedes angeordnet ist.

Gegenüber den Konzepten gemäß dem Stand der Technik werden gemäß dem oben beschriebenen Schaltkreis sowohl globale Schwankungen als auch lokale Schwankungen berücksichtigt. Fehler sind für das Funktionsprinzip nicht erforderlich und treten nicht auf, da bereits vor dem absoluten Limit die Grenze erkannt wird und gegengesteuert werden kann.

Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.

Es zeigen

1 einen integrierten Datenverarbeitungs-Schaltkreis gemäß einem Ausführungsbeispiel der Erfindung;

2 einen Flip-Flop-Schaltkreis gemäß einem ersten Ausführungsbeispiel der Erfindung;

3 ein Diagramm, in dem zwei unterschiedliche Setup-Charakteristika des Flip-Flop-Schaltkreises, welcher in 2 gezeigt ist, dargestellt ist;

4 ein erstes Diagramm, in dem eine Verringerung der Betriebsspannung des integrierten Datenverarbeitungs-Schaltkreises und das dabei erzeugte Fehlersignal dargestellt sind;

5 ein zweites Diagramm, in dem das Absenken der Betriebsspannung des integrierten Datenverarbeitungs-Schaltkreises sowie das dabei erzeugte Fehlersignal dargestellt sind;

6 einen Flip-Flop-Schaltkreis gemäß einem zweiten Ausführungsbeispiel der Erfindung;

7 eine Realisierung des in 6 dargestellten Flip-Flop-Schaltkreises auf Gatterebene;

8 einen Flip-Flop-Schaltkreis gemäß einem dritten Ausführungsbeispiel der Erfindung auf Gatterebene;

9 einen Flip-Flop-Schaltkreis gemäß einem vierten Ausführungsbeispiel der Erfindung auf Gatterebene;

10 einen Flip-Flop-Schaltkreis gemäß einem fünften Ausführungsbeispiel der Erfindung auf Gatterebene;

11 einen Flip-Flop-Schaltkreis gemäß einem sechsten Ausführungsbeispiel der Erfindung auf Gatterebene;

12 eine alternative Realisierung des Verzögerungselements;

13 eine weitere alternative Realisierung des Verzögerungselements;

14 ein Ablaufdiagramm, in dem ein Regler-Algorithmus zum Regeln eines Betriebsparameters gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;

15 ein Blockdiagramm eines Versorgungsspannungs-Regelungs-Schaltkreises gemäß einem Ausführungsbeispiel der Erfindung;

16 ein Ablaufdiagramm, in dem ein alternativer Algorithmus zum Auswählen eines Betriebsparameters gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;

17 ein Blockdiagramm eines Schaltkreises mit wertkontinuierlicher Regelung der Betriebsspannung;

18 ein Blockdiagramm eines Schaltkreises mit wertdiskreter Regelung der Betriebsspannung;

19 ein Blockschaltbild einer Schaltkreis-Testanordnung gemäß einer ersten Ausführungsform der Erfindung;

20 einen Datenverarbeitungs-Schaltkreis gemäß einem anderen Ausführungsbeispiel der Erfindung; und

21 eine Realisierung des in 6 dargestellten Flip-Flop-Schaltkreises auf Gatterebene gemäß einer anderen Ausgestaltung der Erfindung.

In den Figuren werden für gleiche oder ähnliche Elemente, soweit sinnvoll, gleiche oder identische Bezugszeichen verwendet.

1 zeigt einen integrierten Datenverarbeitungs-Schaltkreis 100 gemäß einem ersten Ausführungsbeispiel der Erfindung.

Der integrierte Datenverarbeitungs-Schaltkreis 100 weist eine Vielzahl von Datenverarbeitungspfaden 101, 102, 103, 104 auf, allgemein eine Anzahl von n von Datenverarbeitungspfaden, wobei n eine natürliche Zahl größer oder gleich 1 ist.

Jedem Datenverarbeitungspfad 101, 102, 103, 104 werden jeweilige von dem Datenverarbeitungspfad 101, 102, 103, 104 zu verarbeitende Daten 105, 106, 107, 108 zugeführt, wobei die Daten 105, 106, 107, 108 zunächst einer jeweiligen ersten Datenverarbeitungslogik-Einheit 109, 110, 111, 112 zugeführt werden, wobei die erste Datenverarbeitungslogik-Einheit 109, 110, 111, 112 jeweils, gegebenenfalls auch unterschiedliche, Logik-Funktionen mittels einer Mehrzahl oder Vielzahl von Logikgattern realisiert.

Die mittels der jeweiligen ersten Datenverarbeitungslogik-Einheit 109, 110, 111, 112 verarbeiteten Daten werden einem jeweiligen ersten Flip-Flop-Schaltkreis 113, 114, 115, 116 zugeführt, dessen Aufbau im Folgenden näher erläutert wird.

Die mittels des jeweiligen ersten Flip-Flop-Schaltkreises 113, 114, 115, 116 gehaltenen Daten werden ausgangsseitig einer jeweiligen zweiten Datenverarbeitungslogik-Einheit 117, 118, 119, 120 zugeführt, wobei die Daten in der jeweiligen zweiten Datenverarbeitungslogik-Einheit 117, 118, 119, 120 entsprechend einer vorgebbaren Funktionalität, realisiert wiederum mittels einer entsprechenden Anzahl vorgegeben verschalteter Logikgatter realisiert sind. Die zweiten Datenverarbeitungslogik-Einheiten 117, 118, 119, 120 der unterschiedlichen Datenverarbeitungspfade 101, 102, 103, 104 können ebenso wie die ersten Datenverarbeitungslogik-Einheiten 109, 110, 111, 112 der unterschiedlichen Datenverarbeitungspfade 101, 102, 103, 104 unterschiedlich ausgestaltet sein.

Nach der Logikverarbeitung in der jeweiligen zweiten Datenverarbeitungslogik-Einheit 117, 118, 119, 120 werden die verarbeiteten Daten einem jeweiligen zweiten Flip-Flop-Schaltkreis 121, 122, 123, 124 zugeführt, welche den gleichen Aufbau aufweisen wie der jeweilige erste Flip-Flop-Schaltkreis 113, 114, 115, 116.

Dieser Aufbau einer jeweiligen Datenverarbeitungslogik und einem ausgangsseitig einer jeweiligen Datenverarbeitungslogik-Einheit nachgeschalteten Flip-Flop-Schaltkreis ist in beliebiger Wiederholung in einem Datenverarbeitungspfad vorgesehen, so sind beispielsweise eine beliebige Anzahl von m Datenverarbeitungslogik-Einheiten und dieser jeweils nachgeschalteten Flip-Flop-Schaltkreise in einem Datenverarbeitungspfad 101, 102, 103, 104 vorgesehen, wobei m eine beliebige natürliche Zahl größer als 1 ist.

Gemäß dem Ausführungsbeispiel in 1 ist dem jeweiligen zweiten Flip-Flop-Schaltkreis 121, 122, 123, 124 eine jeweilige dritte Datenverarbeitungslogik-Einheit 125, 126, 127, 128 vorgesehen, welche ebenfalls mittels Logikgatter realisierte vorgegebene Funktionen implementieren. Die dritten Datenverarbeitungslogik-Einheiten 125, 126, 127, 128 unterschiedlicher Datenverarbeitungspfade 101, 102, 103, 104 können ebenfalls unterschiedlich ausgestaltet sein.

Ausgangsseitig, d.h. der jeweiligen dritten Datenverarbeitungslogik 102, 102, 103, 104 nachgeschaltet, sind dritte Flip-Flop-Schaltkreise 129, 130, 131, 132 vorgesehen.

Die mittels der dritten Flip-Flop-Schaltkreise 129, 130, 131, 132 bereitgestellten Ausgangssignale werden in beliebig vorgebbarer Weise weiterverarbeitet, beispielsweise mittels eines Mikroprozessors 133 oder mittels eines digitalen Signalprozessors, etc.

Ferner weist ein jeder Flip-Flop-Schaltkreis des integrierten Datenverarbeitungs-Schaltkreises 100 einen jeweiligen Fehlersignal-Ausgang 134 auf, an welchem gegebenenfalls ein Fehlersignal bereitgestellt wird. Der Fehlersignal-Ausgang ist jeweils mit einem Eingang einer ebenfalls bereitgestellten Reglereinheit 135 gekoppelt, welcher die Fehlersignale aufnimmt und abhängig von den Fehlersignalen, wie im Folgenden noch näher erläutert wird, Betriebsparameter, beispielsweise in diesem Fall die verwendete Taktfrequenz oder die Betriebsspannung, mit der der integrierte Datenverarbeitungs-Schaltkreis 100 betrieben wird, geregelt wird. Die Reglereinheit 135 ist ausgangsseitig mit einem Taktgenerator 136 gekoppelt, welcher ein erstes Taktsignal zum Takten der Flip-Flop-Schaltkreise bereitstellt. Der Taktgenerator 136 ist ausgangsseitig mit einem jeweiligen Takt-Eingang des jeweiligen Flip-Flop-Schaltkreises gekoppelt, wie im Folgenden noch näher erläutert wird. Alternativ oder zusätzlich kann ein zweiter Taktgenerator vorgesehen sein oder auch der Taktgenerator 136 selbst vorgesehen sein zum Bereitstellen eines Taktsignals zum Takten der Datenverarbeitungslogik-Einheiten, wobei vorgesehen sein kann, dass die Datenverarbeitungslogik-Einheiten mit demselben Taktsignal oder mit unterschiedlichen Taktsignalen getaktet werden wie der jeweilige Flip-Flop-Schaltkreis.

Es wird angenommen, dass die Datenverarbeitungspfade 101, 102, 103, 104 hinsichtlich des Timing-Verhaltens kritisch sind. Somit stellen die Datenverarbeitungspfade 101, 102, 103, 104 in dem integrierten Datenverarbeitungs-Schaltkreis so genannte kritische Pfade dar, welche beispielsweise gemäß einem der in [5] beschriebenen Verfahren ermittelt werden. Es ist darauf hinzuweisen, dass beliebige, auch nicht-kritische Pfade in dem Datenverarbeitungs-Schaltkreis 100 vorgesehen sein können. In den nicht-kritischen Pfaden ist der im Folgenden im Detail beschriebene jeweilige Flip-Flop-Schaltkreis nicht erforderlich und es kann ein einfacher Flip-Flop-Schaltkreis mit einem einzelnen regulären Flip-Flop als Flip-Flop-Schaltkreis vorgesehen sein.

Ist ein jeweiliger Datenverarbeitungspfad 101, 102, 103, 104 als kritisch anzusehen, so ist der Flip-Flop-Schaltkreis eingerichtet, wie im Folgenden im Detail erläutert.

2 zeigt einen Flip-Flop-Schaltkreis 113 zur Absicherung eines jeweiligen kritischen Pfades bzw. einer Datenverarbeitungslogik-Einheit eines jeweiligen kritischen Pfades im Detail.

Beispielhaft wird der erste Flip-Flop-Schaltkreis 113 beschrieben, obwohl die anderen Flip-Flop-Schaltkreise zur Absicherung eines kritischen Pfades bzw. einer Datenverarbeitungslogik-Einheit eines jeweiligen kritischen Pfades in gleicher Weise ausgestaltet sind.

Der erste Flip-Flop-Schaltkreis 113 ist, wie oben erläutert wurde, der ersten Datenverarbeitungslogik-Einheit 109 nachgeschaltet und empfängt das Datensignal, welches von der ersten Datenverarbeitungslogik 109 erzeugt wird. Der erste Flip-Flop-Schaltkreis 113 weist ein erstes zustandsgesteuertes D-Flip-Flop 201 auf, sowie ein zu dem ersten zustandsgesteuerten D-Flip-Flop 201 parallel geschaltetes zustandsgesteuertes zweites D-Flip-Flop 202. Ferner ist ein Komparator 203 vorgesehen.

Der Daten-Eingang 204 des ersten D-Flip-Flops 201 ist mit dem Daten-Ausgang der ersten Datenverarbeitungslogik-Einheit 109 gekoppelt, so dass das mittels der ersten Datenverarbeitungslogik-Einheit 109 verarbeitete Datensignal 105 dem Daten-Eingang 204 des ersten D-Flip-Flops 201 zugeführt wird. Ferner ist mit dem Daten-Ausgang der ersten Datenverarbeitungslogik 109 der Daten-Eingang 205 des zweiten D-Flip-Flops 202 gekoppelt, so dass das Datensignal, welches von der ersten Datenverarbeitungslogik-Einheit 109 bereitgestellt wird, ebenso dem zweiten D-Flip-Flop 202 zugeführt wird, und dabei dessen Daten-Eingang 205.

Das erste D-Flip-Flop 201 weist ferner einen Takt-Eingang 206, welcher mit dem Taktgenerator 136 gekoppelt ist, so dass das Taktsignal dem Takt-Eingang 206 des ersten D-Flip-Flops zugeführt wird. Das zweite D-Flip-Flop 202 weist ebenfalls einen Takt-Eingang 207 auf, welcher ebenso mit dem Taktgenerator 136 gekoppelt ist, so dass das Taktsignal, welches dem ersten D-Flip-Flop 201 zugeführt wird, in gleicher Weise dem Takt-Eingang 207 des zweiten D-Flip-Flops 202 zugeführt wird. Somit werden beide D-Flip-Flops 201, 202 mittels desselben Taktsignals getaktet. Weiterhin weist das erste D-Flip-Flop 201 einen Daten-Ausgang 208 auf, welcher mit einem ersten Eingang 209 des Komparators 203 gekoppelt ist sowie mit einem Daten-Ausgang 210 des Flip-Flop-Schaltkreises 113. An dem Daten-Ausgang 208 des ersten D-Flip-Flops 201 wird das Daten-Ausgangssignal des ersten D-Flip-Flops 201 bereitgestellt.

Das zweite D-Flip-Flop 202 weist ebenfalls einen Daten-Ausgang 211 auf, an welchem dessen Daten-Ausgangssignal bereitgestellt wird. Der Daten-Ausgang 211 des zweiten D-Flip-Flops 202 ist mit einem zweiten Eingang 212 des Komparators 203 gekoppelt. Der Komparator 203 vergleicht somit die beiden Daten-Ausgangssignale der beiden D-Flip-Flops 201, 202 miteinander und erzeugt ein Vergleichsergebnis-Signal, im Folgenden auch bezeichnet als Fehlersignal, welches an einem Ausgang 213 des Komparators 203 bereitgestellt wird, wobei der Ausgang 213 des Komparators 203, wie oben beschrieben ist, den Fehlerausgang des Flip-Flop-Schaltkreises 113 darstellt und mit dem Regler-Schaltkreis 135 gekoppelt ist.

Das zweite D-Flip-Flop 202 weist gegenüber dem ersten D-Flip-Flop 201 eine künstlich verschlechterte Setup-Zeit, anders ausgedrückt eine künstlich verlängerte Setup-Zeit, auf. Beide D-Flip-Flops 201, 202 werden, wie oben beschrieben, mit denselben Datensignalen und Taktsignalen versorgt. Mittels des Komparators 203 wird ein Vergleich der Ausgangssignale der beiden D-Flip-Flops 201, 202 angezeigt, womit angezeigt wird, ob die Datenübernahme in beide D-Flip-Flops 201, 202 geklappt hat oder nicht. Fällt das parallel geschaltete zweite D-Flip-Flop 202 aus, so ist dies für den Systemlevel ein Indiz, dass das Timing kritisch wird und die Betriebsspannung nicht weiter abgesenkt werden darf.

In einer bevorzugten Ausführungsform wird der Vergleich der beiden Ausgangssignale der D-Flip-Flops 201, 202 synchron während der Taktphase CP = 0 durchgeführt. Auf dieser Weise wird der Einfluss von so genannten Glitches, die aufgrund der verschiedenen Signallaufzeit durch die beiden D-Flip-Flops 201, 202 entstehen können, vermieden.

Wird die Betriebsspannung langsam abgesenkt, wird als erstes das neue parallel geschaltete zweite D-Flip-Flop 202 ausfallen, während das reguläre erste D-Flip-Flop 201 noch funktioniert. Dies ist dadurch begründet, das bei kritisch werdendem Timing das zweite D-Flip-Flop 202 zuerst eine Setup-Verletzung sieht beziehungsweise erkennt.

3 zeigt in einem Diagramm 300 Setup-Charakteristika für das reguläre erste D-Flip-Flop 201 und das parallel geschaltete zweite D-Flip-Flop 202 mit verlängerter Setup-Zeit. Der Komparator 203, welcher den beiden D-Flip-Flops 201, 202 nachgeschaltet ist, erkennt, dass das Timing kritisch zu werden droht und kann das an das System, beispielsweise eine Testanordnung, melden, beispielsweise indem das Fehlersignal auf den logischen Wert 1 gesetzt wird, damit die Betriebsspannung nicht weiter abgesenkt wird.

Im Detail zeigt das Diagramm 300 aufgetragen über der Setup-Zeit-Achse 301 die Takt-zu-Ausgangssignal(Q)-Verzögerungs-Achse 302. Ferner ist dargestellt eine erste Kennlinie 303, welche das Zeitverhalten des ersten D-Flip-Flops 201 darstellt sowie eine zweite Kennlinie 304, welche das Zeitverhalten des zweiten D-Flip-Flops 102 darstellt. Es ist zu erkennen, dass das parallel geschaltete zweite D-Flip-Flop 202 derart eingerichtet ist oder angesteuert wird, dass es früher ausfallen wird und dadurch eine drohende Timing-Verletzung rechtzeitig anzeigen wird.

Das parallel geschaltete zweite D-Flip-Flop 202 unterstützt somit den Einstellungsprozess geschwindigkeits-relevanter Systemparameter, beispielsweise der Betriebsspannung und/oder der Taktfrequenz, indem es signalisiert, wann die echten kritischen Pfade timing-kritisch werden. Ein wichtiges Unterscheidungsmerkmal zum Stand der Technik ist hierbei, dass wirklich die kritischen Pfade selbst als Indikator verwendet werden, so dass im Gegensatz zu Monitorkonzepten alle lokalen Effekte wie lokale Parametervariationen oder Spannungseinbrüche mit berücksichtigt werden, insbesondere bei Vollgeschwindigkeit-Tests (Full-Speed-Tests). Eingesetzt werden kann das jeweils parallel geschaltete zweite Flip-Flop bei Verfahren, die die Spannung eines betrachteten Blocks entweder in kleinen quasikontinierlichen Schritten auf den idealen Wert regeln oder aber zwischen diskreten Betriebsspannungswerten umschalten, wie im Folgenden noch näher erläutert wird.

Diese Einstellung findet gemäß einer bevorzugten Ausführungsform während des Tests des Chips oder nach dem Einschalten während eines Built-in-Self-Tests und des Konfigurationsmodus statt.

Der Ausdruck „Test" kann sich somit in diesem Zusammenhang entweder auf einen externen Tester beispielsweise nach der Herstellung des Chips oder auf einen integrierten Tester, d.h. einen Test-Schaltkreis, welcher in dem Chip selbst integriert ist, beziehen.

Gemäß einer alternativen Ausführungsform werden der Testvorgang und der Konfigurationsvorgang in bestimmten periodischen oder aperiodischen Intervallen erneut durchgeführt.

Kontinuierliche Regelstrategien sind in alternativen Ausführungsformen ebenfalls vorgesehen, wie im Folgenden noch näher erläutert wird.

Es ist anzumerken, dass während der Testphase, d.h. der Phase, in der ein Geschwindigkeitstest durchgeführt wird und die idealen Spannungswerte festgelegt werden, auch wirklich die kritische Pfade des Datenverarbeitungs-Schaltkreises 100 sensibilisiert und getriggert werden. Am einfachsten ist dies möglich, wenn zu bestimmten Testphasen und Charakterisierungsphasen, d.h. beispielsweise nach dem Einschalten oder nach bestimmten vorgegebenen Intervallen aktiv die kritischen Pfade sensibilisiert und angestoßen werden. Danach kann das parallel geschaltete zweite Flip-Flop 202 jeweils abgeschaltet werden, um erzeugte Verlustleistung einzusparen. Alternativ können alle parallel geschalteten zweiten Flip-Flops 202 oder auch nur ein Teil davon eingeschaltet bleiben, um in der Funktion eines Monitors zu überwachen, ob sich die Betriebsbedingungen verschlechtert haben, beispielsweise aufgrund einer Temperaturänderung. Zeigt ein Flip-Flop oder zeigen mehrere Flip-Flops ein kritisch werdendes Timing an, kann dadurch der Konfigurationsmodus wieder angestoßen werden, der die einzelnen Blöcke wieder testet und auf den optimalen Spannungswert legt.

Das Ermitteln der kritischen Pfade wird gemäß diesen Ausführungsformen der Erfindung durchgeführt, wie beispielsweise in [5] beschrieben.

In einer im Folgenden ebenfalls beschriebenen alternativen Ausführungsform ist es vorgesehen, die Regelung während des Betriebs des Systems durchzuführen. Hierbei sollte sicher gestellt sein, dass hinreichend oft ein kritischer Pfad schaltet und somit wirklich das kritische Timing für die Regelung benutzt wird. Dies kann dadurch erreicht werden, dass entweder regelmäßig kritische Pfade aktiv getriggert werden, oder aber dass eine Logik-Einheit ermittelt, ob ein kritischer Pfad sensibilisiert worden ist oder nicht. Das Ausgangssignal dieser Logik-Einheit kann dann mit dem Fehlersignal verknüpft und für die Steuerung des Reglers verwendet werden.

Die Versorgung eines Schaltungsblocks mit diskreten Versorgungsspannungswerten mittels Umschaltens zwischen verschiedenen Betriebsspannungen ist auch auf kleinere Schaltungsblöcke anwendbar, so dass das Verfahren sehr feingranular angewendet werden kann. Auf diese Weise kann besser auf lokale Streuungen eingegangen werden als bei globalen Regelstrategien. Außerdem ist eine logische ODER-Verknüpfung der einzelnen Fehlersignale einfacher durchführbar, da sie lokal durchführbar ist.

Die Pegelwandlung kann beispielsweise zeiteffizient und energieeffizient mittels semi-dynamischer Levelshifter-Flip-Flops erfolgen, da aufgrund des Schaltungskonzepts gemäß den Ausführungsformen der Erfindung die Spannungszuordnung ohnehin für ganze Datenverarbeitungspfade erfolgt. Ist die Spannungsdifferenz gering, beispielsweise kleiner als 150 mV, kann gegebenenfalls auf einen Levelshifter verzichtet werden. In diesem Fall ist High-Threshold-Gate an der jeweiligen Spannungsschnittstelle vorteilhaft. Die Zuweisung zu diskreten Spannungswerten kann mittels Power-Switches, anders ausgedrückt mittels Leistungsschaltern, erfolgen, die auch dazu benutzt werden können, den Schaltungsblock in einem Standby-Zustand von der Versorgungsspannung zu trennen.

Die Ausführungsformen der Erfindung können in Systemen eingesetzt werden, die verschiedene Performance-Modi aufweisen.

In diesem Fall ist es vorteilhaft, wenn die Delay-Verlängerung adaptiv ausgeführt wird. Im Folgenden werden einige Realisierungsformen näher erläutert. Prinzipiell ist anzumerken, dass die Anzahl von der Setup-Zeit nach an sich bekannten Verfahren diskret (schaltbare Kapazitäten, verschiedene Stufenzahl von Verzögerungselementen, etc.) oder kontinuierlich (steuerbarer Passgate-Widerstand, steuerbarer Lastkapazität, etc.) erfolgen kann.

Die Verknüpfung der Fehlersignale kann auf verschiedene Weise erfolgen. Eine einfache Möglichkeit ist eine logische ODER-Verknüpfung der einzelnen Signale, um ein Gesamtfehlersignal zu erzeugen. In diesem Fall ist es vorteilhaft, die Exklusiv-ODER-Funktion aus dem zweiten, parallel geschalteten Flip-Flop in dem Flip-Flop-Schaltkreis und die einzelnen ODER-Funktionen in einem Wired-ODER-Gatter zusammenzufassen. Alternativ ist es möglich, die Fehlersignale zu zählen und damit ein Maß zu erzeugen, wie kritisch das Timing bei der aktuell zugewiesenen Spannung ist.

Zusammenfassend ist ein Vorteil der Ausführungsformen der Erfindung gegenüber dem Stand der Technik darin zu sehen, dass bei den Ausführungsformen keine Fehler auftreten beziehungsweise für die Funktion des Verfahrens erforderlich sind. Eine Verlängerung des kritischen Pfades oder der Hold-Time-Anforderung tritt bei den Ausführungsformen der Erfindung ebenfalls nicht auf.

Der Overhead der Ausführungsform der Erfindung ist tolerabel, da die beschriebenen parallel geschalteten zweiten Flip-Flops nur an dem Ende von kritischen Pfaden eingesetzt werden müssen.

Das in 2 dargestellte zweite D-Flip-Flop 202 ist hinsichtlich der Setup-Zeit gegenüber dem ersten D-Flip-Flop 201 degeneriert, so dass es eine gegenüber dem ersten D-Flip-Flop 201 längere Setup-Zeit aufweist.

4 zeigt in einem Diagramm 400 eine linear absinkende Betriebsspannung (im Folgenden auch bezeichnet als Versorgungsspannung) 401 aufgetragen in einem Koordinatensystem mit einer Zeit-Achse 402 und einer Spannungs-Achse 403. Ferner ist ein Fehlersignal 404 des ersten D-Flip-Flop 201 in 4 dargestellt. Ab einer Grenzspannung 405 treten Fehler in dem ersten D-Flip-Flop 201 auf, so dass ein weiteres Absenken der Spannung unter die Grenzspannung 405 nicht erfolgen darf.

Wie in einem zweiten Diagramm 500 in 5 dargestellt ist, in welchem entlang einer ersten Achse ebenfalls die Zeit 501 aufgetragen ist und entlang einer zweiten Achse die elektrische Spannung, ist ebenfalls die Betriebsspannung 503 linear absinkend dargestellt sowie ein Auftreten des Fehlersignals 504 des zweiten Flip-Flops 202. Wie in 5dargestellt ist, wird, wenn die Betriebsspannung 503 abgesenkt wird oder wenn sich ein anderer Performancerelevanter Betriebsparameter verschlechtert, wird als erstes das parallel geschaltete zweite Flip-Flop 202 ausfallen und ein entsprechendes Fehlersignal 504 erzeugen. Wie dargestellt wird dadurch das Fehlersignal 504 generiert. Sinkt die Betriebsspannung 503 weiter ab werden beide Flip-Flops 201, 202 ausfallen. In diesem Fall wird im Allgemeinen kein Fehlersignal mehr generiert. Bei der Einstellung der optimalen Betriebsspannung, vorzugsweise beim Test oder beim Starten des Schaltkreises, wird üblicherweise anschließend noch sichergestellt, dass die Spannung nicht ungewollt zu niedrig gewählt worden ist und dies durch den Ausfall beider Flip-Flops 201, 202 und somit fehlendes Fehlersignal übersehen worden ist. Zu diesem Zweck kann beispielsweise kurzzeitig die Taktfrequenz des Systems leicht abgesenkt werden. Beim Absenken der Taktfrequenz setzt als erstes die Funktion des ursprünglichen Flip-Flops, d.h. des ersten D-Flip-Flops 201 wieder ein, während das parallel geschaltete zweite D-Flip-Flop 202 noch nicht funktioniert. Dadurch wird ein Fehlersignal generiert, das anzeigt, dass der zuvor beschriebene Fehler aufgetreten ist.

Alternativ kann zum Ermitteln eines Fehlers, wenn gewünscht, ein zusätzliches Flip-Flop parallel geschaltet werden und mit einem verzögerten Taktsignal angesteuert werden, wie es beispielsweise in [3] beschrieben ist.

6 zeigt einen Flip-Flop-Schaltkreis 600 gemäß einem zweiten Ausführungsbeispiel der Erfindung, wobei der grundsätzliche Aufbau ähnlich ist wie bei dem Flip-Flop-Schaltkreis 113, welcher in 2 dargestellt ist.

Im Unterschied zu den in 2 dargestellten Flip-Flop-Schaltkreis 113 weist der Flip-Flop-Schaltkreis 600 gemäß dieser alternativer Ausführungsform der Erfindung ein parallel geschaltetes zweites D-Flip-Flop 601 auf, welches gegenüber dem ersten D-Flip-Flop 201 nicht degeneriert ist und somit an sich die gleichen Eigenschaften hinsichtlich des Zeitverhaltens aufweist wie das erste D-Flip-Flop 201.

Weiterhin ist ein Verzögerungselement 602 zwischen die Datenverarbeitungslogik 109 und den Daten-Eingang 603 des zweiten D-Flip-Flops 601 geschaltet zum zeitlichen Verzögern des zugeführten Datensignals. Somit werden den beiden D-Flip-Flops 201, 601 zwar dieselben Daten zugeführt, dem zweiten D-Flip-Flop 601 jedoch zeitlich verzögert gemäß der zeitlichen Verzögerung, welche durch das Verzögerungselement 602 bereitgestellt bzw. vorgegeben wird. Somit wird anschaulich in diesem Fall die Setup-Zeit des parallel geschalteten zweiten D-Flip-Flops 601 durch eine Verzögerung des zugeführten Datensignals erhöht.

Aufgrund der unterschiedlichen Setup-Zeiten haben die beiden parallel geschalteten Flip-Flops 210, 601 auch unterschiedliche Takt-Ausgangssignal (Q)-Delays, so dass beim Vergleich der beiden Ausgangssignale, welche an dem Daten-Ausgang 208 des ersten D-Flip-Flops 201 beziehungsweise an dem Daten-Ausgang 604 des zweiten D-Flip-Flops 601 bereitgestellt werden, transiente Fehlschaltungen auftreten können, welche auch als Glitches bezeichnet werden. Diese können beispielsweise einen Spannungsregler stören.

Aus diesem Grund sollten gemäß dieser Ausführungsform der Erfindung die beiden Ausgangssignale nicht direkt nach einer steigenden Taktflanke verglichen werden, sondern etwas später, wenn mit Sicherheit beide Ausgangssignale gültig sind. Erreicht werden kann dies durch zusätzliche Verzögerungselemente oder aber in einer bevorzugten Ausführungsform durch Vergleich der Ausgangssignale während der Taktphase CP = 0. Während dieser Taktphase sind beide Ausgänge sicher gültig und der Vergleich wird synchron von dem Taktsignal gesteuert. Dies macht den Vergleich unempfindlich gegenüber Variationen. Es ist darauf hinzuweisen, dass der Taktgenerator 136 gemäß diesem Ausführungsbeispiel der Erfindung ebenfalls mit dem Takt-Eingang 605 des zweiten D-Flip-Flops 601 gekoppelt ist.

Die weiteren Elemente in dem Flip-Flop-Schaltkreis 600 entsprechen den Elementen in dem Flip-Flop-Schaltkreis 113, wie er in 2 dargestellt ist, weshalb auf eine erneute Beschreibung verzichtet wird.

7 zeigt eine Realisierung eines Flip-Flop-Schaltkreises 700 auf Gatterebene.

Mit der Datenverarbeitungslogik 109 ist ein dieser nachgeschalteter erster Inverter 701 vorgesehen, der ausgangsseitig mit einem ersten Transmissionsgatter 702 sowie mit einem zweiten Transmissionsgatter 703 verbunden ist, wobei die beiden Transmissionsgatter 702, 703 von dem von dem Taktgenerator 136 erzeugten Taktsignal CP bzw. /CP angesteuert wird. Dem ersten Transmissionsgatter 701 nachgeschaltet ist ein zweiter Inverter 704 des Master-Latches, welcher ausgangsseitig mit dem Slave Latch 705 des ersten D-Flip-Flops 201 gekoppelt ist. Weiterhin ist ein erster Transistor-Schaltkreis 706 zu dem zweiten Inverter 704 parallel geschaltet, wobei der erste Transistor-Schaltkreis 706 eine zwischen ein Betriebspotenzial 707 und das Massepotenzial 708 geschaltete Serienschaltung von vier MOS-Transistoren, genauer einen ersten PMOS-Feldeffekttransistor 709 und einen in Serie damit geschalteten zweiten PMOS-Feldeffekttransistor 710 aufweist, welcher seinerseits in Serie geschaltet ist mit einem zweiten NMOS-Feldeffekttransistor 711 und einem mit Masse gekoppelten ersten NMOS-Feldeffekttransistor 712.

Der erste PMOS-Feldeffekttransistor 709 und der erste NMOS-Feldeffekttransistor 712 sind mittels ihrer jeweiligen Gate-Anschlüsse miteinander und mit dem Ausgang des zweiten Inverters 704 gekoppelt sowie mit dem Eingang des Slave Latches des ersten D-Flip-Flops 201.

Ferner sind ein erster Source-Drain-Bereich des zweiten PMOS-Feldeffekttransistors 710 und ein erster Source-Drain-Bereich des zweiten NMOS-Feldeffekttransistors 711 miteinander gekoppelt und ferner mit dem Eingang des zweiten Inverters 704 sowie mit dem Ausgang des ersten Transmissionsgatters 702.

Der Gate-Anschluss von dem zweiten PMOS-Feldeffekttransistor 710 ist angeschlossen an das invertierte Taktsignal/CP und dem zweiten NMOS-Feldeffekttransistor 711 wird an dessen Gate-Anschluss das Taktsignal CP selbst zugeführt.

Ferner ist dem zweiten Transmissionsgatter 703 nachgeschaltet das Verzögerungselement 713, welches gemäß dieser Ausführungsform der Erfindung einen dritten Inverter 714 und einen vierten Inverter 715 aufweist. Dem Verzögerungselement 713 nachgeschaltet ist ein fünfter Inverter 716, welcher an den Daten-Eingang des Slave Latches 717 des zweiten D-Flip-Flops 601 gekoppelt ist.

Ferner ist zu dem fünften Inverter 716 parallel geschaltet ein zweiter Transistor-Schaltkreis 718, welche den gleichen Aufbau hat wie die erste Transistor-Serienschaltung 706.

Grundsätzlich sind zwei Betriebsmodi vorgesehen, wobei für den Fall, dass die Versorgungsspannung des integrierten Datenverarbeitungs-Schaltkreises 100 auch in dessen Betrieb ständig kontinuierlich geregelt werden soll (adaptive Spannungsskalierung, Adaptive Voltage Scaling), das parallel geschaltete zweite D-Flip-Flop 601 ebenfalls ständig aktiv betrieben.

Wird das Verfahren jedoch nur zur Einstellung einer geeigneten Betriebsspannung der diversen Betriebsmodi während einer Initialisierungsphase verwendet, dann kann das parallel geschaltete Flip-Flop 202, 601 im Normalbetrieb auch abgeschaltet werden, um Verlustleistung zu sparen.

In einer alternativen Ausführungsform der Erfindung kann ein kleiner Teil des parallel geschalteten zweiten D-Flip-Flops 201, 601 dennoch eingeschaltet bleiben, um zu überwachen, ob sich die Betriebsbedingungen gegebenenfalls geändert haben, womit wiederum eine Monitorfunktion bereitgestellt wird.

In einer alternativen Ausgestaltung der Erfindung ist es vorgesehen, dass die Delay-Degradation realisiert wird unter Verwendung einer zweiten Versorgungsspannungs-Zuführung, welche unabhängig ist von der Versorgungsspannung des regulären Datensignalpfades, welcher das erste D-Flip-Flop 201 enthält.

8 zeigt als ein Beispiel einer solchen separaten Spannungsversorgung des parallel geschalteten Datensignalpfades, welcher das zweite D-Flip-Flop 202 enthält, einen Flip-Flop-Schaltkreis 800 gemäß einer weiteren alternativen Ausführungsform der Erfindung, wobei der Flip-Flop-Schaltkreis 800 dem Flip-Flop-Schaltkreis 700 gemäß 7 entspricht mit dem Unterschied, dass mindestens ein Abschalt-Transistor 801 vorgesehen ist zum Abschalten der Schaltungskomponenten des dem regulären Datensignalpfad, welcher das erste D-Flip-Flop 201 enthält, parallel geschalteten Datensignalpfad, wobei der Abschalt-Transistor 801 die Komponenten des parallel geschalteten Datensignalpfad selektiv individuell aktivieren beziehungsweise deaktivieren kann. Die abschaltbaren Komponenten 802 sind gemäß dieser Ausführungsform das zweite Transmissionsgatter 703, das Verzögerungselement 713, der fünfte Inverter 716, der zweite Transistor-Schaltkreis 718 und das Slave Latch des zweiten D-Flip-Flops 601 sowie der Komparator 203.

Der Abschalttransistor 801 als Abschaltelement ist zwischen das Versorgungspotenzial 707 und die abzuschaltenden Komponenten 802 gekoppelt, wobei der Abschalttransistor von einem Abschaltsignal 803 an dessen Gate-Anschluss angesteuert wird, mit dem angezeigt wird, ob es sich bei dem Betriebsmodus um einen Charakterisierungs-Betriebsmodus des Schaltkreises oder um den Normalbetriebsmodus des Schaltkreises handelt. Handelt es sich um eine Charakterisierung um den Charakterisierungs-Betriebsmodus, so wird der als PMOS-Feldeffekttransistor ausgebildete Abschalttransistor 801 geöffnet, so dass die Komponenten des Parallelpfades mit Energie versorgt werden, im Normalbetrieb wird der Abschalttransistor 801 deaktiviert, so dass die Komponenten 802 nicht mit Energie versorgt werden.

In einer nicht dargestellten anderen alternativen Ausführungsform ist es vorgesehen, das Verzögerungselement 713 zu ersetzen, indem der Abschalttransistor 801 so klein dimensioniert wird, dass an dem Abschalttransistor 801 so viel elektrische Spannung von der Betriebsspannung 706 abfällt, dass die Setup-Zeit des zweiten D-Flip-Flops 601 ausreichend verlängert wird, um die gewünschte Funktionalität zu erreichen. Dies wird beispielsweise erreicht durch Erhöhen des entsprechenden elektrischen Widerstandes, welcher durch den Abschalttransistor 801 gebildet wird.

Allgemein können unterschiedliche Abschaltverfahren zum Abschalten des parallel geschalteten zweiten D-Flip-Flops 201, 601 beziehungsweise der zusätzlichen Komponenten in dem Parallel-Datenpfad vorgesehen sein, beispielsweise ein Abriegeln des Eingangs und des Ausgangs des parallel geschalteten zweiten D-Flip-Flops 201, 601 mittels C2MOS-Inverter, Tristate-Buffer, Transmissionsgatter, etc., alternativ ein Takt-Gating und ein Power-Gating. Auch Kombinationen dieser Techniken sind in alternativen Ausführungsformen der Erfindung vorgesehen.

Weiterhin ist ein drittes Transmissionsgatter 804 zwischen den Ausgang des ersten D-Flip-Flops 201 und den ersten Eingang 209 des Komparators 203 geschaltet, wobei das dritte Transmissionsgatter 804 geschaltet wird mittels des Abschaltsignals 803.

9 zeigt einen weiteren Flip-Flop-Schaltkreis 900, welcher ähnlich aufgebaut wie der Flip-Flop-Schaltkreis 700 in 7, wobei das erste D-Flip-Flop 201 eine verstärkte Contention aufweist, wodurch die Vergrößerung des Setup-Zeit in dem zweiten D-Flip-Flop 601 erzielt wird.

So ist dem Parallel-Pfad des Flip-Flop-Schaltkreises 900 dem zweiten Transmissionsgatter 703 ein sechster Inverter 901 vorgesehen und parallel dazu rückgekoppelt ein siebter Inverter 902. Auf zusätzliche Verzögerungselemente ist in dieser Ausführungsform verzichtet.

10 zeigt eine weitere alternative Ausgestaltung eines Flip-Flop-Schaltkreises 1000, bei dem das Verzögerungselement 708 dem zweiten Transmissionsgatter 703 vorgeschaltet ist. Sonst weist der Flip-Flop-Schaltkreis 1000 gemäß 10 den gleichen Aufbau auf wie der Flip-Flop-Schaltkreis 700 gemäß 7.

11 zeigt eine weitere alternative Ausgestaltung eines Flip-Flop-Schaltkreises 1100, bei dem das Verzögerungselement weggelassen ist.

In diesem Ausführungsbeispiel ist der Ausgang des zweiten Inverters 704 zusätzlich gekoppelt mit dem Eingang des zweiten Transmissionsgatters 703, womit die gewünschte Verzögerung des Datensignals und damit die gewünschte Setup-Zeit-Verlängerung in dem zweiten D-Flip-Flop 201, 601 erreicht wird. Sonst weist der Flip-Flop-Schaltkreis 1100 gemäß 11 den gleichen Aufbau auf wie der Flip-Flop-Schaltkreis 700 gemäß 7.

In einem nicht dargestellten Ausführungsbeispiel kann in Erweiterung des Flip-Flop-Schaltkreises 1100 gemäß 11 das Verzögerungselement vorgesehen sein, in welchem Fall der Ausgang des zweiten Inverters 704 zusätzlich gekoppelt mit dem Eingang des Verzögerungselements gekoppelt ist.

12 zeigt eine alternative Ausgestaltung des Verzögerungselements 1200, wobei zwischen die beiden in Serie geschalteten Inverter 714, 715 eine veränderbare Kapazität (abstimmbare Kapazität) 1201 geschaltet ist. Durch die Verwendung der abstimmbaren Kapazität 1201 kann die Setup-Zeit des parallel geschalteten zweiten D-Flip-Flops 601 einstellbar gemacht werden. Auf diese Weise erreicht man ebenfalls eine Anpassung des Verfahrens an verschiedene Betriebsmodi.

13 zeigt noch eine weitere alternative Ausgestaltung des Verzögerungselements 1300, wobei zwischen den zweiten Inverter 714, und den dritten Inverter 715 ein viertes Transmissionsgatter 1301 geschaltet ist, dessen erster Steuereingang an das Betriebspotenzial VDD 1302 gekoppelt ist und dessen zweiter Steuereingang auf ein zweites Betriebspotenzial VSS 1203 geschaltet ist. Durch Abstimmen, anders ausgedrückt durch Tunen der abstimmbaren Kapazität 1201 oder des Steuersignals für das vierte Transmissionsgatter 1301 kann die Setup-Zeit für das zweite D-Flip-Flop 601 adaptiert werden.

14 zeigt in einem Ablaufdiagramm 1400 ein Verfahren zum Regeln eines Betriebsparameters des integrierten Datenverarbeitungs-Schaltkreises 100, gemäß dieser Ausführungsform zum Regeln der Versorgungsspannung auf einen minimal zulässigen Wert, bei dem trotz der relativ geringen Versorgungsspannung noch keine Fehler innerhalb des integrierten Datenverarbeitungs-Schaltkreises 100 auftreten.

Dieses Verfahren wird beispielsweise während des Tests oder dem Initialisierungsprozess durchgeführt.

Nach Starten des Systems (Schritt 1401) wird die Betriebsspannung auf den üblicherweise maximalen Wert gesetzt (Schritt 1402) und der Testmodus wird gestartet (Schritt 1403). Es wird in einem nachfolgenden Schritt der Wert der Betriebsspannung (VDD) reduziert (Schritt 1404) und es wird überprüft, ob gemäß den oben beschriebenen Flip-Flop-Schaltkreisen ein Fehler in dem jeweiligen Datenverarbeitungspfad 101, 102, 103, 104 vorhergesagt wird (Schritt 1405). Ist dies nicht der Fall, so wird das Verfahren in Schritt 1404 fortgeführt und die Betriebsspannung VDD wird weiter reduziert. Wird jedoch in dem Prüfschritt 1405 festgestellt, dass ein Fehler prognostiziert wird, wobei anzumerken ist, dass in diesem Fall noch kein Fehler aufgetreten ist, wird der Wert der Betriebsspannung VDD wieder ein wenig erhöht (Schritt 1406) und das Verfahren wird fortgeführt in dem Prüfschritt 1305, d.h. es wird solange der Wert der Betriebsspannung VDD weiter erhöht, bis in dem Prüfschritt 1405 wiederum festgestellt wird, dass kein Fehler in dem integrierten Datenverarbeitungs-Schaltkreis 100 auftreten wird.

15 zeigt in einem Blockdiagramm 1500 die einzelnen Elemente zur Regelung der Betriebsspannung, anders ausgedrückt der Vorsorgungsspannung. Für jeden Flip-Flop-Schaltkreis beziehungsweise dessen vorgeschaltete Datenverarbeitungslogik-Einheit 1501, die bei einer vorgegebenen, von dem Taktgenerator 136 vorgegebene Taktfrequenz f betrieben wird, wird ermittelt, ob ein Fehlersignal 1502 erzeugt wird. Ist dies der Fall, so wird das erzeugte Fehlersignal 1502 digital/analog gewandelt in einem Digital/Analog-Wandler 1503 und das analog-gewandelte Fehlersignal 1504 wird einem 1/s-Regler 1505, d.h. einem Differential-Regler, zugeführt, welcher eine analoge Regelgröße 1506 erzeugt und diese einem Spannungswandler 1507zuführt, welcher abhängig von dem Reglersignal 1506 die Betriebsspannung VDD 1508 der jeweiligen Datenverarbeitungslogik-Einheit 1501 bereitstellt.

Die Regelung kann beispielsweise permanent, d.h. kontinuierlich erfolgen (Adaptive Supply Scaling) oder in einer alternativen Ausführungsform nur während bestimmter vorgebbarer Initialisierungsprozesse oder Konfigurationsprozesse.

16 zeigt in einem anderen Ablaufdiagramm 1600 eine alternative Möglichkeit zum Einstellen der Versorgungsspannung VDD, allgemein eines beliebigen Betriebsparameters zum Betreiben des integrierten Datenverarbeitungs-Schaltkreises.

Gemäß diesem Verfahren wird nach Hochfahren des Systems (Schritt 1601) der Wert der Versorgungsspannung VDD auf einen üblichen maximalen Wert gesetzt (Schritt 1602) und der Test-Betriebsmodus wird gestartet (Schritt 1603).

Es wird in einem nachfolgenden Schritt auf einen diskontinuierlichen vorgegebenen niedrigeren Versorgungsspannungswert geschaltet (Schritt 1604) und es wird überprüft, ob gemäß den Angaben des jeweiligen Flip-Flop-Schaltkreises ein Fehler zu erwarten ist beziehungsweise ein Fehler vorhergesagt wird (Prüfschritt 1605).

Ist dies nicht der Fall, so wird das Verfahren in Schritt 1604 fortgeführt, in welchem auf eine wiederum niedrigere Betriebsversorgungs-Spannungswertstufe geschaltet wird (Schritt 1604).

Wird jedoch in dem Prüfschritt 1605 ermittelt, dass ein Fehler vorhergesagt wird, so wird in einem nachfolgenden Schritt (Schritt 1606) auf den nächst höheren diskontinuierlichen Versorgungsspannungswert geschaltet und es wird das Verfahren in den Prüfschritt 1605 fortgeführt.

Somit wird in diesem Verfahren aus einer diskreten Menge verfügbarer Optionen, d.h. aus einer diskreten Menge vorgebbarer zu verwendender Versorgungsspannungswerte ein Versorgungsspannungswert ausgewählt und jeweils überprüft, ob ein Fehler zu erwarten ist oder nicht und wenn dies nicht der Fall ist, wird der nächst niedrigere Versorgungsspannungswert ausgewählt. Wird ein Fehler prognostiziert, so wird der jeweils nächst höhere Versorgungsspannungswert ausgewählt und dem jeweiligen Datenverarbeitungs-Schaltkreis zugeführt.

17 zeigt in einem Blockdiagramm 1700 eine Tester-Anordnung mit dem zu testenden integrierten Schaltkreis 1701, welcher ausgestaltet ist beispielsweise gemäß dem integrierten Schaltkreis 100 aus 1, einem Testmustergenerator 1702, einer Evaluierungseinheit 1703 sowie einem Spannungsregler 1704.

Der Testmustergenerator 1700 erzeugt Testmuster zum Testen des integrierten Schaltkreises 1701 und führt die Testmuster 1705 dem integrierten Schaltkreis 1701 zu. Test-Ergebnissignale 1706 werden von dem integrierten Schaltkreis 1701 erzeugt und der Evaluierungseinheit 1703 zugeführt und dort ausgewertet. Entsprechend der Test-Auswertung und einem in diesem Rahmen von der Evaluierungseinheit 1703 erzeugten Test-Auswertungssignal 1707, welches dem Spannungsregler 1704 zugeführt wird, wird mittels des Spannungsreglers 1704 die dem integrierten Schaltkreis 1701 zugeführte Spannung 1708 geregelt. Dies erfolgt beispielsweise während einer Konfigurationsphase. Die Testmuster 1705 sind üblicherweise hinsichtlich des Timings des integrierten Schaltkreises 1701 kritische Testmuster.

18 zeigt eine alternative Tester-Anordnung 1800, welche sich von der Testanordnung 1700 insbesondere darin unterscheidet, dass eine Mehrzahl, gemäß diesem Ausführungsbeispiel der Erfindung drei unterschiedliche Versorgungsspannungsquellen 1801, 1802, 1803 vorgesehen sind, wobei die erste Versorgungsspannungsquelle 1801 eine erste Versorgungsspannung VDD,1, die zweite Versorgungsspannungsquelle 1802 eine zweite Versorgungsspannung VDD,2 sowie die dritte Versorgungsspannungsquelle 1803 eine dritte Versorgungsspannung VDD,n bereitstellt.

Allgemein sind eine beliebige Anzahl von Versorgungsspannungsquellen und von diesen bereitgestellte unterschiedliche Versorgungsspannungen vorgesehen. Auf diese Weise ist es möglich, unterschiedliche Betriebsspannungswerte diskret zuzuordnen. Die jeweiligen Versorgungsspannungsquellen 1801, 1802, 1803 werden mittels entsprechender Zuschalteelemente, gemäß diesem Ausführungsbeispiel realisiert als Leistungsschalter 1804, 1805, 1806, gesteuert mittels entsprechender Steuersignale, ausgewählt und dem integrierten Schaltkreis 1701 zugeführt.

Während einer Konfigurationsphase werden auch gemäß dieser Ausführungsform der Erfindung zeitkritische Testmuster 1705 an den jeweiligen Block beziehungsweise an den integrierten Schaltkreis 1701 angelegt, die Fehlersignale 1706 der Flip-Flop-Schaltkreise werden ausgewertet und die ideale, optimierte Versorgungsspannung wird aus der Vielzahl vorgegebener Werte diskreter Versorgungsspannungen ausgewählt. Die Leistungsschalter 1804, 1805, 1806 können im Standby-Modus zudem verwendet werden, um den Schaltungsblock, d.h. den integrierten Schaltkreis 1701 von der Versorgungsspannung zu trennen, d.h. zu isolieren und dadurch den Leckstrom der Gesamtschaltung zu reduzieren.

Um bei n Leistungsschaltern 1804, 1805, 1806 eine Flächenerhöhung (es werden ungefähr n·5% der Chipfläche benötigt) zu vermeiden, kann während des Tests die Versorgungsspannung VDD auf den entsprechenden minimalen möglichen Spannungswert gesenkt werden und beispielsweise auf den Chip, d.h. beispielsweise auf den integrierten Schaltkreis 1701 durch entsprechendes Programmieren von elektrischen Durchbrennsicherungen (Electronic Fuses) oder Laser-Fuses gespeichert werden.

19 zeigt eine weitere alternative Tester-Anordnung 1900 mit einer Electronic Fuse-Steuerungseinheit 1901, welche in dem elektronischen Schaltkreis 1701 elektrische Durchbrennsicherungen 1902 in Antwort auf die Steuersignale der Evaluierungseinheit 1703 durchbrennt.

Mittels Anlegens von geeigneten Eingangssignalen werden die kritischen Phade sensibilisiert, beispielsweise mittels der von dem Testmustergenerator 1702 erzeugten Signale 1705 und danach die Pegel der betreffenden Exklusiv-ODER-Gatter überprüft. Die Spannung 1708 wird dabei von einem Maximalwert sukzessive auf den Wert reduziert, bei dem ein Fehler auftritt beziehungsweise ein Fehler prognostiziert wird. Der auf diese Weise festgestellte Spannungswert 1708 wird beispielsweise mittels Konfigurations-Fuses 1902 im Schaltungsblock 1701 niedergelegt. Bei einem späteren Einsatz liefert der Schaltungsblock 1701 diesen Wert an den Spannungsgenerator 1704, der sich üblicherweise auf einem eigenen Chip befindet (auch bezeichnet als Powerchip). Dieser Vorgang kann für alle Betriebsmodi zur Feststellung der jeweils erforderlichen Mindestspannung durchgeführt werden.

Gemäß diesen Ausführungsformen der Erfindung erreichte verbesserte Charakterisierung der tatsächlichen Chipeigenschaften, anders ausgedrückt der Eigenschaften des integrierten Schaltkreises kann der Vorhalt der Betriebsspannung beziehungsweise der Versorgungsspannung reduziert werden. Auf diese Weise wird wirklich nur die Spannung verwendet, die für die Gewährleistung der Funktionalität des integrierten Schaltkreises erforderlich ist. Die Mehrzahl aller Chips verbraucht dadurch deutlich weniger Leistung, so dass auch strengerer Power-Spezifikationen eingehalten werden können. Sehr langsame Chips können durch das Verfahren mit einer erhöhten Versorgungsspannung versorgt und dadurch derart beschleunigt werden, dass sie noch als funktional zulässig angeboten und verkauft werden können.

Ohne dieses adaptive Verfahren wäre dies nicht möglich, da eine erhöhte Spannung ohnehin sehr schnelle Exemplare der integrierten Schaltkreise aus der Power-Spezifikation schieben würde.

Bei zu langsamen Chips beziehungsweise integrierten Schaltkreisen passiert dies durch eine Spannungserhöhung normalerweise nicht, da diese nicht nur langsam, sondern auch leckstromarm sind.

20 zeigt einen Speicher-Schaltkreis 2000, welcher ein Array von Speicherzellen 2001 aufweist. In diesem Beispiel sind ohne Einschränkung der Allgemeingültigkeit lediglich drei Zeilen von Speicherzellen 2001 dargestellt, aber es können eine beliebige Anzahl von Zeilen und Spalten in dem Speicherzellen-Array vorgesehen sein.

Im Normalbetrieb der Speicherzellenanordnung 2000 wird von einem Decoder 2002 eine Speicheradresse empfangen, mit welcher die Adresse einer Speicherzelle 2001, auf welche zugegriffen werden soll, angegeben wird und diese Speicheradresse wird decodiert derart, dass eine der Wortleitungen 2003 aktiviert wird. Die Wortleitungen 2003 dienen zum Koppeln der Speicherzellen 2001 derjenigen Leitung mit den jeweiligen Bitleitungs-Paaren 2004.

Abhängig davon ob ein Bit in der jeweiligen Speicherzelle 2001 gespeichert ist oder nicht, wird eine Veränderung in dem elektrischen Stromfluss in den Bitleitungen des jeweiligen Bitleitungspaares 2004 verursacht, wobei der durch die Bitleitungen fließende Strom von einem an die Bitleitungen angeschlossenen Stromerfass-Verstärker 2005 (Sense Amplifier) erfasst wird. Der Ausgang des Stromerfass-Verstärkers 2005 wird in dem ersten D-Flip-Flop 201 gespeichert ebenso wie in dem parallel gespeicherten zweiten D-Flip-Flop 601.

Der vorgesehene Komparator 203, der dem Sense Amplifier 1906 nachgeschalteten Flip-Flop-Schaltkreis nachgeschaltet ist, dient zum Vergleichen, ob das von dem Sense Amplifier 2005 erfasste Signal korrekt erfasst wurde.

Ist dies der Fall, so wird mittels eines an dem Ausgang des Komparators 203 angeschlossenen Multiplexers 2006 das erfasste und in dem ersten D-Flip-Flop 201 gespeicherte ausgelesene Speicherzelle-Stromsignal ausgegeben.

21 zeigt eine weitere Realisierung eines Flip-Flop-Schaltkreises 2100 auf Gatterebene. Der Flip-Flop-Schaltkreis 2100 entspricht dem Flip-Flop-Schaltkreis 700 gemäß 7 mit dem Unterschied, dass der Parallelzweig, mittels welchem das Datensignal dem zweiten Daten-Halteglied zugeführt wird, vor dem ersten Inverter 701 des "regulären" Signalpfades, d.h. dem Datensignalpfad des ersten Daten-Haltegliedes, abzweigt, so dass die Datensignalverzögerung vollständig unabhängig von der Datensignalausbreitung in dem Datensignalpfad des ersten Daten-Haltegliedes erfolgt. Anders ausgedrückt bedeutet dies, dass der Abzweig-Knoten, von welchem das Datensignal in den Parallelzweig und damit zu dem zweiten Daten-Halteglied geführt wird, vor dem ersten Inverter 701 des "regulären" Signalpfades, beispielsweise vor dem ersten Inverter der Master-Stufe des ersten Daten-Haltegliedes angeordnet ist.

Die Abzweigung des Parallelzweigs, mittels welchem das Datensignal dem zweiten Daten-Halteglied zugeführt wird, vor dem ersten Inverter 701 kann in alternativen Ausgestaltungen der Erfindung auch auf die Schaltkreise gemäß den 8, 9, 10, 11 angewendet werden.

Die Erfindung kann in beliebigen Datenverarbeitungs-Schaltkreisen beispielsweise mit einer beliebigen Pipeline-Struktur eingesetzt werden.

Insbesondere eignet sich die Erfindung zum Einsatz von Echtzeit-Anwendungsgebieten, beispielsweise im Bereich von Signalprozessoren.

Es ist anzumerken, dass die oben beschriebenen Realisierungen in beliebiger Weise, soweit sinnvoll, miteinander zu kombinieren.

In diesem Dokument sind folgende Veröffentlichungen zitiert:

  • [1] Tschanz et al., Effectiveness of Adaptive Supply Voltage and Body Bias for Reducing Impact of Parameter Variations in Low-Power and High-Performance Microprocessors, Journal of Solid State Circuits, Vol. 38, Nr. 5, 2003;
  • [2] Tschanz et al., Adaptive Body Bias for Reducing Impact of Die-to-Die Parameter Variations on Microprocessor Frequency and Leakage, International Solid State Circuits Conference, 2002;
  • [3] WO 2004/084070 A1;
  • [4] D. Ernst et al., Razor: A Low-Power Pipeline Based on Circuit-Level Timing Speculation, Proceedings of the 36th International Symposium on Microarchitecture, 2003;
  • [5] H. Yalcin et al., Hierachical Timing Analysis Using Conditional Delays, Digest of Technical Papers of International Conference on Computer-Aided Design, 1995.

100
Datenverarbeitungs-Schaltkreis
101
Datenverarbeitungspfad
102
Datenverarbeitungspfad
103
Datenverarbeitungspfad
104
Datenverarbeitungspfad
105
erste Daten
106
zweite Daten
107
dritte Daten
108
vierte Daten
109
erste Datenverarbeitungslogik-Einheit
110
erste Datenverarbeitungslogik-Einheit
111
erste Datenverarbeitungslogik-Einheit
112
erste Datenverarbeitungslogik-Einheit
113
erster Flip-Flop-Schaltkreis
114
erster Flip-Flop-Schaltkreis
115
erster Flip-Flop-Schaltkreis
116
erster Flip-Flop-Schaltkreis
117
zweite Datenverarbeitungslogik-Einheit
118
zweite Datenverarbeitungslogik-Einheit
119
zweite Datenverarbeitungslogik-Einheit
120
zweite Datenverarbeitungslogik-Einheit
121
zweiter Flip-Flop-Schaltkreis
122
zweiter Flip-Flop-Schaltkreis
123
zweiter Flip-Flop-Schaltkreis
124
zweiter Flip-Flop-Schaltkreis
125
dritte Datenverarbeitungslogik-Einheit
126
dritte Datenverarbeitungslogik-Einheit
127
dritte Datenverarbeitungslogik-Einheit
128
dritte Datenverarbeitungslogik-Einheit
129
dritter Flip-Flop-Schaltkreis
130
dritter Flip-Flop-Schaltkreis
131
dritter Flip-Flop-Schaltkreis
132
dritter Flip-Flop-Schaltkreis
133
Mikroprozessor
134
Fehlersignal-Ausgang
135
Reglereinheit
136
Taktgenerator
201
erstes D-Flip-Flop
202
zweites D-Flip-Flop
203
Komparator
204
Daten-Eingang erstes Daten-Flip-Flop
205
Daten-Eingang zweites D-Flip-Flop
206
Takt-Eingang erstes D-Flip-Flop
207
Takt-Eingang zweites D-Flip-Flop
208
Datenausgang erstes D-Flip-Flop
209
erster Eingangkomparator
210
Datenausgang-Flip-Flop-Schaltkreis
211
Datenausgang zweites D-Flip-Flop
212
zweiter Eingangkomparator
213
Fehlersignal-Ausgang Flip-Flop-Schaltkreis
300
Diagramm
301
Zeit-Achse
302
Takt-zu-Ausgangssignal-Verzögerung
303
Kennlinie erstes D-Flip-Flop
304
Kennlinie zweites D-Flip-Flop
400
Diagramm
401
Versorgungsspannungs-Verlauf
402
Zeit-Achse
403
Spannungs-Achse
404
Fehlersignal
405
Grenzspannung
500
Diagramm
501
Zeit-Achse
502
Spannungs-Achse
503
Versorgungsspannung
504
Fehlersignal
600
Flip-Flop-Schaltkreis
601
zweites D-Flip-Flop
602
Verzögerungselement
603
Daten-Eingang zweites D-Flip-Flop
604
Datenausgang zweites D-Flip-Flop
605
Takt-Eingang zweites Daten-Flip-Flop
700
Flip-Flop-Schaltkreis
701
erster Inverter
702
erstes Transmissionsgatter
703
zweites Transmissionsgatter
704
zweiter Inverter
705
Slave Latch erstes D-Flip-Flop
706
erster Transistor-Schaltkreis
707
Versorgungspotenzial
708
Massepotenzial
709
erster PMOS-Feldeffekttransistor
710
zweiter PMOS-Feldeffekttransistor
711
zweiter NMOS-Feldeffekttransistor
712
erster NMOS-Feldeffekttransistor
713
Verzögerungselement
714
dritter Inverter
715
vierter Inverter
716
fünfter Inverter
717
Slave Latch zweites D-Flip-Flop
718
zweiter Transistor-Schaltkreis
800
Flip-Flop-Schaltkreis
801
Abschalttransistor
802
Komponenten-Parallelpfad
803
Abschaltsignal
804
drittes Transmissionsgatter
900
Flip-Flop-Schaltkreis
901
sechster Inverter
902
siebter Inverter
1000
Flip-Flop-Schaltkreis
1100
Flip-Flop-Schaltkreis
1200
Verzögerungselement
1201
abstimmbare Kapazität
1300
Verzögerungselement
1301
viertes Transmissionsgatter
1302
erstes Bezugspotential
1303
zweites Bezugspotential
1400
Ablaufdiagramm
1401
Starten System
1402
Setzen Versorgungsspannung auf maximalen Wert
1403
Starten Testmodus
1404
Reduzierung Versorgungsspannung
1405
Wird Fehler vorhergesagt?
1406
Erhöhen Versorgungsspannung
1500
Reglerschaltung
1501
integrierter Schaltkreis
1502
Fehlersignal
1503
Digital/Analog-Wandler
1504
analog-gewandeltes Fehlersignal
1505
Regler-Einheit
1506
Regelsignal
1507
Spannungswandler
1508
Versorgungsspannung
1600
Ablaufdiagramm
1601
Starten des Systems
1602
Setzen Vorsorgungsspannung auf maximalen Wert
1603
Starten Testmodus
1604
Schalten auf niedrigere Versorgungsspannung
1605
Wird Fehler vorgesagt?
1606
Schalten auf höhere Versorgungsspannung
1700
Tester-Anordnung
1701
integrierter Schaltkreis
1702
Testmustergenerator
1703
Evaluierungs-Einheit
1704
Spannungsregler
1705
Testmuster-Signal
1706
Test-Ergebnissignal
1707
Evaluierungs-Ergebnissignal
1708
Versorgungsspannung
1800
Tester-Anordnung
1801
erste Versorgungsspannungsquelle
1802
zweite Versorgungsspannungsquelle
1803
dritte Versorgungsspannungsquelle
1804
erster Leistungsschalter
1805
zweiter Leistungsschalter
1806
dritter Leistungsschalter
1900
Tester-Anordnung
1901
Electronic-Fuse-Steuerungseinheit
1902
Electronic Fuses
2000
Speicherzellenanordnung
2001
Speicherzelle
2002
Decoder
2003
Wortleitung
2004
Bitleitung
2005
Stromerfass-Verstärker
2006
Multiplexer
2100
Flip-Flop-Schaltkreis


Anspruch[de]
Integrierter Schaltkreis,

• mit mindestens einem ersten Daten-Halteglied zum Halten der Daten, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist,

• mit mindestens einem zweiten Daten-Halteglied zum Halten der Daten, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist,

• wobei das mindestens eine zweite Daten-Halteglied zu dem mindestens einen ersten Daten-Halteglied parallel geschaltet ist, und

• wobei das zweite Daten-Halteglied derart eingerichtet ist oder derart über seinen Daten-Eingang angesteuert wird, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.
Integrierter Schaltkreis gemäß Anspruch 1, eingerichtet als integrierter Datenverarbeitungs-Schaltkreis. Integrierter Schaltkreis gemäß Anspruch 1 oder 2, wobei das mindestens eine erste Daten-Halteglied und das mindestens eine zweite Daten-Halteglied mit demselben Taktsignal gekoppelt sind. Integrierter Schaltkreis gemäß einem der Ansprüche 1 bis 3,

wobei das mindestens eine erste Daten-Halteglied und das mindestens eine zweite Daten-Halteglied ein Daten-Halteglied aus der folgenden Menge von Daten-Haltegliedern ist:

• ein nicht-flüchtiges Speicherelement, oder

• ein Flip-Flop, insbesondere ein zustandsgesteuertes Flip-Flop oder ein taktflankengesteuerten Flip-Flop.
Integrierter Schaltkreis gemäß einem der Ansprüche 1 bis 4, mit einem dem ersten Daten-Halteglied und dem zweiten Daten-Halteglied nachgeschalteten Komparator zum Vergleichen des Ausgangssignals des mindestens einen ersten Daten-Haltegliedes mit dem Ausgangssignal des mindestens einen zweiten Daten-Haltegliedes, wobei der Komparator ein Vergleichsergebnis-Signal bereitstellt. Integrierter Schaltkreis gemäß Anspruch 5, mit einer Steuerungseinheit zum Steuern von mindestens einem Betriebsparameter, gemäß dem der integrierte Datenverarbeitungs-Schaltkreis betrieben wird. Integrierter Schaltkreis gemäß Anspruch 6,

wobei die Steuerungseinheit zum Steuern von mindestens einem der folgenden Betriebsparameter eingerichtet ist:

• einer Betriebsspannung, mit der zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird,

• einer Betriebsfrequenz, mit der zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird,

• einer Body-Spannung, welche an den Body des integrierten Datenverarbeitungs-Schaltkreises angelegt wird,

• der Temperatur, bei welcher zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird.
Integrierter Schaltkreis gemäß Anspruch 6 oder 7, wobei die Steuerungseinheit mit dem Komparator gekoppelt ist. Integrierter Schaltkreis gemäß Anspruch 8, wobei die Steuerungseinheit eingerichtet ist zum Steuern des mindestens einen Betriebsparameters gemäß dem Vergleichsergebnis-Signal. Integrierter Schaltkreis gemäß einem der Ansprüche 1 bis 9,

mit einer Mehrzahl von Datenverarbeitungspfaden, wobei in jedem Datenverarbeitungspfad diesem jeweils zugeführte Eingangs-Daten verarbeitet werden zu Ausgangsdaten, wobei jeder Datenverarbeitungspfad aufweist:

• mindestens einen Datenpfad-Eingang zum Zuführen der Eingangs-Daten,

• mindestens eine Datenverarbeitungslogik zum Verarbeiten der zugeführten Eingangs-Daten,

• mindestens ein erstes Daten-Halteglied zum Halten der mittels der Datenverarbeitungslogik verarbeiteten Daten, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist, und wobei das mindestens eine erste Daten-Halteglied mindestens ein erstes Datenpfad-Ausgangssignal bereitstellt,

• mindestens ein zweites Daten-Halteglied zum Halten der mittels der Datenverarbeitungslogik verarbeiteten Daten, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist, und wobei das mindestens eine zweite Daten-Halteglied mindestens ein zweites Datenpfad-Ausgangssignal bereitstellt,

• wobei das mindestens eine zweite Daten-Halteglied zu dem mindestens einen ersten Daten-Halteglied parallel geschaltet ist,

• wobei das zweite Daten-Halteglied derart eingerichtet ist oder derart über den Daten-Eingang angesteuert wird, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.
Integrierter Schaltkreis gemäß einem der Ansprüche 1 bis 10, mit einem Abschaltelement, welches mit dem zweiten Daten-Halteglied derart gekoppelt ist, dass es dieses unabhängig von dem ersten Daten-Halteglied abschalten kann. Integrierter Schaltkreis gemäß Anspruch 11, wobei das Abschaltelement derart dimensioniert ist, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit. Integrierter Schaltkreis gemäß Anspruch einem der Ansprüche 1 bis 12, mit einem dem Daten-Eingang des zweiten Daten-Haltegliedes vorgeschalteten Verzögerungselement zum Verzögern der dem Daten-Eingang des zweiten Daten-Haltegliedes zugeführten Daten gegenüber den dem ersten Daten-Halteglied zugeführten Daten. Integrierter Schaltkreis gemäß Anspruch einem der Ansprüche 1 bis 13, wobei das Verzögerungselement in seiner Verzögerungseigenschaft veränderbar ausgebildet ist. Integrierter Schaltkreis gemäß Anspruch einem der Ansprüche 1 bis 13, wobei das Verzögerungselement mindestens einen Inverter aufweist. Integrierter Schaltkreis gemäß Anspruch 15, wobei das Verzögerungselement mindestens zwei in Serie geschaltete Inverter aufweist. Integrierter Schaltkreis gemäß Anspruch 16, wobei das Verzögerungselement eine zwischen die mindestens zwei in Serie geschalteten Inverter geschaltete veränderbare Kapazität aufweist. Integrierter Schaltkreis gemäß Anspruch 16 oder 17, wobei das Verzögerungselement ein zwischen die mindestens zwei in Serie geschalteten Inverter geschaltetes Transmissionsgatter aufweist. Verfahren zum Betreiben eines integrierten Schaltkreises,

• bei dem Daten mindestens einem ersten Daten-Halteglied zum Halten der Daten zugeführt werden, wobei das mindestens eine erste Daten-Halteglied eine erste Setup-Zeit aufweist,

• bei dem die Daten mindestens einem zweiten Daten-Halteglied zum Halten der Daten zugeführt werden, wobei das mindestens eine zweite Daten-Halteglied eine zweite Setup-Zeit aufweist,

• wobei das mindestens eine zweite Daten-Halteglied zu dem mindestens einen ersten Daten-Halteglied parallel geschaltet ist, und

• wobei das zweite Daten-Halteglied derart eingerichtet ist oder derart über seinen Daten-Eingang angesteuert wird, dass die zweite Setup-Zeit länger ist als die erste Setup-Zeit.
Verfahren gemäß Anspruch 19, wobei dem mindestens einen ersten Daten-Halteglied und dem mindestens einen zweiten Daten-Halteglied dasselbe Taktsignal zugeführt wird. Verfahren gemäß Anspruch 19 oder 20,

wobei als das mindestens eine erste Daten-Halteglied und als das mindestens eine zweite Daten-Halteglied ein Daten-Halteglied aus der folgenden Menge von Daten-Haltegliedern ist:

• ein nicht-flüchtiges Speicherelement, oder

• ein Flip-Flop, insbesondere ein zustandsgesteuertes Flip-Flop oder ein taktflankengesteuerten Flip-Flop.
Verfahren gemäß einem der Ansprüche 19 bis 21, bei dem das Ausgangssignal des mindestens einen ersten Daten-Haltegliedes mit dem Ausgangssignal des mindestens einen zweiten Daten-Haltegliedes verglichen wird, womit ein Vergleichsergebnis-Signal erzeugt wird. Verfahren gemäß Anspruch 22,

wobei der integrierte Datenverarbeitungs-Schaltkreis unter Verwendung mindestens einem der folgenden Betriebsparameter gesteuert wird:

• einer Betriebsspannung, mit der zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird,

• einer Betriebsfrequenz, mit der zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird,

• einer Body-Spannung, welche an den Body des integrierten Datenverarbeitungs-Schaltkreises angelegt wird,

• der Temperatur, bei welcher zumindest ein Teil des integrierten Datenverarbeitungs-Schaltkreises betrieben wird.
Verfahren gemäß Anspruch 22 und 23, wobei der integrierte Datenverarbeitungs-Schaltkreis abhängig von dem Vergleichsergebnis-Signal gesteuert wird. Verfahren gemäß einem der Ansprüche 19 bis 24,

• bei dem das zweite Daten-Halteglied im Testbetrieb des integrierten Datenverarbeitungs-Schaltkreises abgeschaltet wird.

• bei dem das zweite Daten-Halteglied im Normalbetrieb des integrierten Datenverarbeitungs-Schaltkreises abgeschaltet wird.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com