DE102019220472A1 - Synchronvorrichtung mit Schlupfschutzschaltung - Google Patents

Synchronvorrichtung mit Schlupfschutzschaltung Download PDF

Info

Publication number
DE102019220472A1
DE102019220472A1 DE102019220472.4A DE102019220472A DE102019220472A1 DE 102019220472 A1 DE102019220472 A1 DE 102019220472A1 DE 102019220472 A DE102019220472 A DE 102019220472A DE 102019220472 A1 DE102019220472 A1 DE 102019220472A1
Authority
DE
Germany
Prior art keywords
input
signal
output
latch
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019220472.4A
Other languages
English (en)
Inventor
Mathieu Louvat
Lionel JURE
Vincent Huard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolphin Design Sas
Original Assignee
Dolphin Design Sas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolphin Design Sas filed Critical Dolphin Design Sas
Publication of DE102019220472A1 publication Critical patent/DE102019220472A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/30Marginal testing, e.g. by varying supply voltage
    • G01R31/3016Delay or race condition test, e.g. race hazard test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/01Modifications for accelerating switching
    • H03K19/017Modifications for accelerating switching in field-effect transistor circuits
    • H03K19/01728Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich auf eine Synchronvorrichtung, die Folgendes aufweist: einen ersten Latch (206) mit einem Dateneingang, der ein Dateneingangssignal (LD1) empfängt und, und das konfiguriert ist, das Dateneingangssignal (LD1) während eines ersten Zustands eines ersten Taktsignals (CP') zu speichern; und eine Schlupfschutzschaltung, die Folgendes aufweist: ein Verzögerungselement (214), das einen Eingang hat, der mit dem Dateneingang des ersten Latch (206) verbunden ist, und das konfiguriert ist zum Erzeugen, an seinem Ausgang, eines verzögerten Datensignals (PG1); eine Zelle mit Gate gesteuertem Eingang (216), die einen Eingang hat, der mit einem Ausgang des Verzögerungselements (214) gekoppelt ist, wobei die Zelle mit Gate gesteuertem Eingang (216) konfiguriert ist zum Durchleiten des verzögerten Datensignals (PG1) während des ersten Zustands des ersten Taktsignals (CP'); und einen Komparator (218), der einen ersten Eingang hat, der mit einem Datenausgang des ersten Latch (206) verbunden ist, und der einen zweiten Eingang hat, der mit einem Ausgang der Zelle mit Gate gesteuertem Eingang (216) gekoppelt ist.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Gebiet der integrierten Schaltkreise und insbesondere auf eine Synchronvorrichtung mit einer Schlupfschutzschaltung.
  • Technischer Hintergrund
  • Es wurde vorgeschlagen, die Leistung von Schaltungen zu verbessern und/oder den Energieverbrauch zu reduzieren, indem Taktfrequenzen und/oder Versorgungsspannungen, die an Bereiche integrierter Schaltungen geliefert werden, angepasst werden. Ab einem bestimmten Betriebspunkt, der einer Taktfrequenz und einem Versorgungsspannungslimit entspricht, wird die Schaltung jedoch nicht mehr korrekt funktionieren.
  • Insbesondere wird eine integrierte Schaltung nicht mehr korrekt funktionieren, wenn eines oder mehrere ihrer Synchronvorrichtungen Timing-Verletzungen ausgesetzt sind. Synchronvorrichtungen beinhalten Register, Flip-Flops, Speicher und Latches. Solche Bauelemente sind im Allgemeinen durch eine Setup-Zeit tS gekennzeichnet, die eingehalten werden sollte, um Stabilität zu gewährleisten. Die Setup-Zeit tS definiert eine Zeitspanne vor einer signifikanten Taktflanke, in der sich die Eingangsdaten der Synchronvorrichtung nicht ändern sollten. Bei Nichteinhaltung der Setup-Zeit tritt eine Timing-Verletzung auf.
  • Eine statische Timing-Analyse eines integrierten Schaltungsdesigns kann einen oder mehrere kritische Übertragungswege identifizieren, d.h. die Übertragungswege mit den längsten Ausbreitungsverzögerungen zwischen zwei synchronen Bauelementen in der Schaltung. Die Ausbreitungsverzögerungen auf diesen kritischen Übertragungspfaden werden im Allgemeinen zur Bestimmung der maximal zulässigen Taktfrequenz der Schaltung verwendet.
  • Eine Veröffentlichung von Y. Kanitake et al. mit dem Titel „Possibilities to Miss Predicting Timing Errors in Canary Flip-flops“, IEEE, 7. Januar 2011, schlägt Lösungen zur Verbesserung der Leistung von Schaltungen vor, indem Detektionsschaltungen in eine integrierte Schaltung integriert werden, wobei die Detektionsschaltungen detektieren, wenn Timing-Verletzungen auftreten, so dass die Höhe der Versorgungsspannung entsprechend angepasst werden kann.
  • Eine Art von Detektionsschaltung, die zur Detektion möglicher Timing-Verletzungen vorgeschlagen wurde, ist ein Schlupfwächter. Eine solche Vorrichtung bestimmt, wann die Schlupfzeit, definiert als die Zeitspanne vor dem Auftreten einer Timing-Verletzung, unter einen bestimmten Schwellenwert fällt.
  • Bestehende Schlupfwächter-Schaltungsentwürfe neigen dazu, eine relativ große Oberfläche zu haben, oder leiden unter anderen Nachteilen. Es besteht daher ein Bedarf an einer neuartigen Schlupfschutzschaltung, die eine relativ kleine Oberfläche hat und/oder andere Vorteile gegenüber bestehenden Lösungen bietet.
  • Offenbarung der Erfindung
  • Es ist ein Ziel von Ausführungsformen der vorliegenden Offenbarung, zumindest teilweise auf ein oder mehrere Bedürfnisse im Stand der Technik einzugehen.
  • Gemäß einer Ausführungsform ist eine Synchronvorrichtung vorgesehen, die Folgendes aufweist: ein erstes Latch mit einem Dateneingang, der ein Dateneingangssignal empfängt, wobei das erste Latch konfiguriert ist, das Dateneingangssignal während eines ersten Zustands eines ersten Taktsignals zu speichern; und eine Schlupfschutzschaltung, die Folgendes aufweist: ein Verzögerungselement, das einen Eingang hat, der mit dem Dateneingang des ersten Latch verbunden ist, und das konfiguriert ist zum Erzeugen, an seinem Ausgang, eines verzögerten Datensignals; eine Zelle mit Gate gesteuertem Eingang, die einen Eingang hat, der mit einem Ausgang des Verzögerungselements gekoppelt ist, wobei die Zelle mit Gate gesteuertem Eingang konfiguriert ist zum Durchleiten des verzögerten Datensignals während des ersten Zustands des ersten Taktsignals; und einen Komparator, der einen ersten Eingang hat, der mit einem Datenausgang des ersten Latch verbunden ist, und der einen zweiten Eingang hat, der mit einem Ausgang der Zelle mit Gate gesteuertem Eingang gekoppelt ist.
  • Gemäß einer Ausführungsform ist der Eingang des Verzögerungselements mit dem Dateneingang des ersten Latch verbunden.
  • Gemäß einer Ausführungsform weist die Synchronvorrichtung ferner ein weiteres Latch auf, das einen Dateneingang hat, der mit einem Ausgang des Komparators gekoppelt ist, wobei das weitere Latch konfiguriert ist zum Speichern eines Ausgangssignals des Komparators während eines zweiten Zustands des ersten Taktsignals.
  • Gemäß einer Ausführungsform ist das weitere Latch konfiguriert, um ein zweites Taktsignal zu empfangen, das dem Inversen des ersten Taktsignals entspricht.
  • Gemäß einer Ausführungsform weist die Synchronvorrichtung außerdem ein weiteres logisches Gatter auf, um einen Eingang des Komparators während einer Testphase der Schlupfschutzschaltung in einen High- oder Low-Zustand zu zwingen.
  • Gemäß einer Ausführungsform ist das logische Gatter ein UND-Gatter oder ein NAND-Gatter.
  • Gemäß einer Ausführungsform ist der Komparator ein XOR-Gatter oder ein XNOR-Gatter.
  • Gemäß einer Ausführungsform, weist die Zelle mit Gate gesteuertem Eingang wenigstens einen ersten Transistor auf, der den Eingang der Zelle mit Gate gesteuertem Eingang mit einem Ausgang der Zelle mit Gate gesteuertem Eingang verbindet, wobei der wenigstens eine Transistor basierend auf dem ersten Taktsignal gesteuert wird.
  • Gemäß einer Ausführungsform weist die Zelle mit Gate gesteuertem Eingang ein Durchlassgatter auf.
  • Gemäß einer Ausführungsform weist die Zelle mit Gate gesteuertem Eingang ferner einen Inverter auf, der den Ausgang des Durchlassgatters mit dem zweiten Eingang des Komparators verbindet.
  • Gemäß einer Ausführungsform weist die Synchronvorrichtung ferner einen Multiplexer auf mit einem ersten Eingang, der mit einem Dateneingang der Synchronvorrichtung gekoppelt ist und einem zweiten Eingang, der mit einem Testeingang der Synchronvorrichtung gekoppelt ist, und einem Ausgang, der das Dateneingangssignal des ersten Latch bereitstellt.
  • Gemäß einer Ausführungsform weist die Synchronvorrichtung ferner ein zweites Latch auf mit einem Dateneingang, der mit dem Datenausgang des ersten Latch gekoppelt ist, wobei das zweite Latch konfiguriert ist zum Speichern eines Ausgangsdatensignals des ersten Latch während eines zweiten Zustands des ersten Taktsignals.
  • Gemäß einer Ausführungsform ist ein nichtflüchtiges Speichermedium vorgesehen, das eine Standardzellenbibliothek speichert, die mindestens eine Standardzelle zur Implementierung der obigen Synchronvorrichtung definiert.
  • Gemäß einer Ausführungsform, ist ein Verfahren zur Schaltungskonzeption vorgesehen das von einem Computer implementiert wird, wobei das Verfahren Durchführen einer statischen Zeitanalyse an einem Schaltungsentwurf aufweist, um mindestens eine Synchronvorrichtung zu identifizieren, die ein Datensignal mit einer Schlupfzeit von weniger als einer Schwellendauer in Bezug auf eine Zeitflanke eines Taktsignals empfängt, und Ersetzen der mindestens einen Synchronvorrichtung in dem Schaltungsdesign durch eine modifizierte Zelle aufweist, die die obige Synchronvorrichtung implementiert.
  • Gemäß einer Ausführungsform ist eine Computervorrichtung vorgesehen, die konfiguriert ist ein Computerprogramm auszuführen das dazu führt, das obige Verfahren zu implementieren.
  • Figurenliste
  • Die vorstehenden, sowie andere Merkmale und Vorteile werden in der folgenden Beschreibung spezifischer Ausführungsformen beispielhaft und nicht beschränkt in Bezug auf die begleitenden Zeichnungen ausführlich beschrieben, wobei:
    • 1 zeigt schematisch eine Synchronvorrichtung und ein Schlupfwächter gemäß einer vorgeschlagenen Lösung;
    • 2 zeigt schematisch eine Synchronvorrichtung mit einer Schlupfschutzschaltung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 3 ist ein Timing-Diagramm, das Signale in der Synchronvorrichtung aus 2 darstellt gemäß einer ersten beispielhaften Ausführungsform;
    • 4 ist ein Timing-Diagramm, das Signale in der Synchronvorrichtung aus 2 darstellt gemäß einer zweiten beispielhaften Ausführungsform;
    • 5 ist ein Schaltungsdiagramm, das eine Implementierung der Schlupfschutzschaltung aus 2 darstellt gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 6 zeigt schematisch eine Computervorrichtung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung; und
    • 7 ist ein Flussdiagramm, das Schritte in einem Verfahren zur Schaltungskonzeption darstellt gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • Bevorzugte Ausführungsformen der Erfindung
  • Gleiche Merkmale wurden in den verschiedenen Figuren mit gleichen Bezugszeichen bezeichnet. Insbesondere können die strukturellen und/oder funktionellen Merkmale, die den verschiedenen Ausführungsformen gemeinsam sind, die gleichen Bezugszeichen haben und über identische strukturelle, dimensionale und materielle Eigenschaften verfügen.
  • Sofern nicht anders angegeben, bedeutet die Bezugnahme auf zwei miteinander verbundene Elemente eine direkte Verbindung ohne andere Zwischenelemente als Leiter, und die Bezugnahme auf zwei miteinander verknüpfte oder gekoppelte Elemente bedeutet, dass diese beiden Elemente verbunden werden können oder dass sie über ein oder mehrere andere Elemente verknüpft oder gekoppelt werden können. Darüber hinaus gilt im Folgenden, sofern nicht anders angegeben, dass jedes Mal, wenn der Begriff „gekoppelt“ oder eine seiner Ableitungen verwendet wird, davon auszugehen ist, dass die betreffende Verknüpfung durch eine direkte Verbindung implementiert werden kann.
  • In der folgenden Beschreibung wird, sofern nicht anders angegeben, bei der Bezugnahme auf absolute Positionsangaben, wie die Begriffe „vorne“, „hinten“, „oben“, „unten“, „links“, „rechts“ usw., oder auf relative Positionsangaben, wie die Begriffe „über“, „unter“, „höher“, „niedriger“ usw., oder auf Orientierungsangaben, wie „horizontal“, „vertikal“ usw., auf die in den Figuren gezeigte Orientierung Bezug genommen.
  • Sofern nicht anders angegeben, beinhalten die Ausdrücke „etwa“, „ungefähr“, „im Wesentlichen“ und „in der Größenordnung von“ Abweichungen innerhalb von 10% und vorzugsweise innerhalb von 5%.
  • 1 zeigt schematisch eine Schaltung 100, die eine Synchronvorrichtung 101, und einen Schlupfwächter aufweist, der ferner Folgendes aufweist, eine weitere Synchronvorrichtung 102, ein Verzögerungselement 103 und ein Vergleichselement 104, gemäß einer vorgeschlagenen Implementierung.
  • Die Synchronvorrichtung 101 weist beispielweise Folgendes auf, einen Dateneingang, der ein Datensignal D empfängt, einen Takteingang, der ein Takstsignal CP empfängt, ein Testeingang, der ein Testeingangssignal TI empfängt und ein Test-Aktivierung-Eingang, der ein Test-Aktivierung-Signal TE empfängt.
  • Die Synchronvorrichtung 101 weist beispielsweise einen Multiplexer 105 auf, dessen einer Dateneingang mit dem Dateneingang der Vorrichtung 101 verbunden ist, dessen anderer von seinen Dateneingängen mit dem Testeingang der Vorrichtung 101 verbunden ist und dessen Steuereingang mit dem Test-Aktivierung-Eingang verbunden ist. Ein invertierter Ausgang des Multiplexers 105 ist mit dem Dateneingang eines Latch (DATA LATCH) 106 verbunden, das durch ein Taktsignal CP' getaktet wird, das dem durch einen Inverter 108 invertierten Taktsignal CP entspricht. Ein invertierter Ausgang des Daten-Latch 106 ist mit dem Dateneingang eines weiteren Daten-Latch (DATA LATCH) 110 verbunden, das durch ein Taktsignal CP" getaktet wird, das dem durch einen Inverter 111 invertierten Taktsignal CP' entspricht.
  • Die Synchronvorrichtung 102 weist beispielsweise identische Elemente wie die Synchronvorrichtung 101 auf, wobei die Elemente der Vorrichtung 102, die den Elementen 105 bis 111 der Vorrichtung 101 entsprechen, entsprechend mit 115 bis 221 gekennzeichnet sind. Einer der Dateneingänge des Multiplexers 115 der Synchronvorrichtung 102 ist mit einem Testdateneingang verbunden, und der andere Dateneingang ist über das Verzögerungselement 103, das eine Verzögerung einführt, mit dem Dateneingang der Synchronvorrichtung 101 verbunden.
  • Das Datenausgangssignal Q der Synchronvorrichtung 101 und das Datenausgangssignal Q' der Synchronvorrichtung 102, die jeweils von den Datenausgängen der Latches 110 und 120 bereitgestellt werden, werden den entsprechenden Eingängen eines Exklusiv-ODER-Gatters (XOR) bereitgestellt, das das Vergleichselement 104 implementiert. Das XOR-Gatter 104 erzeugt ein Ausgangssignal FLAG, das anzeigt, wenn die Schlupfzeit unter einen bestimmten Schwellenwert gefallen ist.
  • Der Schlupfwächter der Schaltung 100 in 1 hat mehrere Nachteile. Zum Beispiel ist der Schlupfwächter relativ groß und besteht im Wesentlichen aus einer vollständigen Verdoppelung der Elemente der Synchronvorrichtung 101. Außerdem führt er zu einer zusätzlichen Belastung der Daten- und Takteingänge sowie des Datenausgangs der Synchronvorrichtung 101, was zu einer Leistungsverminderung führt.
  • 2 zeigt schematisch eine Synchronvorrichtung 200 mit einem integrierten Schlupfwächter, die hier als Schlupfschutzschaltung bezeichnet wird, gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • Die Synchronvorrichtung 200 weist einen Dateneingang auf, der ein Eingangsdatensignal D empfängt, einen Takteingang, der ein Taktsignal CP empfängt, einen Testdateneingang, der ein Testeingangssignal TI empfängt, und einen Test-Aktivierung-Eingang, der ein Test-Aktivierung-Signal TE empfängt. Die Synchronvorrichtung 200 weist beispielsweise einen Multiplexer 204 auf, dessen einer von seinen Dateneingängen mit dem Dateneingang der Synchronvorrichtung 200 gekoppelt ist und dessen anderer Dateneingang mit dem Testeingang der Synchronvorrichtung 200 gekoppelt ist. In alternativen Ausführungsformen ist natürlich kein Testeingang vorgesehen, so dass der Multiplexer 204 vermieden werden kann.
  • Ein invertierter Datenausgang des Multiplexers 204, der ein Datensignal LD1 bereitstellt, ist beispielsweise mit einem Dateneingang eines Latch (DATA LATCH) 206 gekoppelt. Das Latch 206 wird beispielsweise durch ein Taktsignal CP' getaktet, das dem durch einen Inverter 208 invertierten Eingangstaktsignal CP der Synchronvorrichtung 200 entspricht.
  • Ein invertierter Datenausgang des Latch 206, der ein Datensignal LD2 bereitstellt, ist beispielsweise mit einem Dateneingang eines weiteren Latch (DATA LATCH) 210 gekoppelt. Das Latch 210 wird beispielsweise durch ein Taktsignal CP" getaktet, das dem durch einen Inverter 212 invertierten Taktsignal CP' entspricht. Das Latch 210 stellt an seinem Ausgang das Ausgangsdatensignal Q der Synchronvorrichtung 200 bereit.
  • Die oben beschriebenen Elemente 204 bis 212 entsprechen Elementen, die eine Standardfunktion der Synchronvorrichtung 200 implementieren, die beispielsweise ein D-Typ Flip-Flop ist. In alternativen Ausführungsformen könnte eine andere Art von Synchronvorrichtung implementiert werden, wie z.B. ein RS-Flip-Flop usw.
  • Die Schlupfschutzschaltung der Synchronvorrichtung 200 weist beispielsweise folgendes auf, ein Verzögerungselement 214, eine Zelle mit Gate gesteuertem Eingang 216, die im Beispiel von 2 ein invertierendes Durchlassgatter ist, einen Komparator 218, der im Beispiel von 2 ein XNOR (XNOR)-Gatter ist, ein UND-Gatter 219 und ein Flag-Latch (FLAG-LATCH) 220.
  • Das Verzögerungselement 214 wird beispielsweise durch einen Inverter implementiert, dessen Eingang mit dem Dateneingang des Latch 206 verbunden ist, um das Datensignal LD1 zu empfangen. Ein Ausgang des Inverters 214 liefert ein Signal PG1 und ist beispielsweise mit dem Eingang des invertierenden Durchlassgatters 216 gekoppelt. Das invertierende Durchlassgatter 216 wird beispielsweise durch die Taktsignale CP' und CP" gesteuert, obwohl es in alternativen Ausführungsformen auch durch die Taktsignale CP und CP' gesteuert werden könnte. Ein Ausgang des invertierenden Durchlassgatters 216 ist beispielsweise mit einem Eingang des XNOR-Gatters 218 gekoppelt oder verbunden. Der andere Eingang des XNOR-Gatters 218 ist beispielsweise mit dem Datenausgang des Latch 206 gekoppelt, um das Datensignal LD2 zu empfangen. In einigen Ausführungsformen wird das Signal LD2 dem Eingang des XNOR-Gatters 218 über ein UND-Gatter 219 bereitgestellt, dessen einer Eingang mit dem Datenausgang des Latch 206 gekoppelt ist und dessen anderer Eingang ein Signal FAULTN empfängt, das die Prüfung der Schlupfschutzschaltung ermöglicht, wie weiter unten näher beschrieben wird. Während sich das Signal FAULTN also auf einem High-Zustand befindet, ist das Signal LD2' am Ausgang des UND-Gatters 219 gleich dem Signal LD2, während bei einem Low-Zustand des Signals FAULTN das Signal LD2' auf Low gezwungen wird. Natürlich könnte das Gatter 219 durch eine andere Art von Logikfunktion, wie beispielsweise ein NAND-Gatter, implementiert werden, je nachdem, ob das Verzögerungselement 214 das Datensignal LD1 invertiert oder nicht. In anderen Ausführungsformen entfällt das UND-Gatter 219, und die Ausgangsleitung LD2 des Latch 206 ist direkt mit dem Eingang des Komparators 218 verbunden. In weiteren Ausführungsformen wird stattdessen das UND-Gatter 219 oder eine andere Art von Logikfunktion zwischen den Ausgang des invertierenden Durchlassgatters 216 und den anderen Eingang des Komparators 218 geschaltet.
  • Ein Ausgang des XNOR-Gatters 218 stellt ein Signal XNOR bereit und ist beispielsweise mit einem Dateneingang des Latch 220 gekoppelt. Das Latch 220 wird beispielsweise durch das Taktsignal CP" getaktet, und ein Datenausgang des Latch 220 liefert das Signal FLAG, das beispielsweise an einem Ausgang der Synchronvorrichtung 200 verfügbar ist.
  • In alternativen Ausführungsformen könnte das Verzögerungselement 214 durch einen nicht-invertierenden Puffer implementiert werden, der beispielsweise durch die Reihenschaltung von zwei oder mehr Invertern gebildet wird. Zusätzlich oder alternativ könnte das Durchlassgatter 216 ein nicht-invertierendes Durchlassgatter oder eine beliebige andere Zelle sein, beispielsweise eine Zelle größerer Komplexität, die auf Datentaktung angewiesen ist, wie beispielsweise ein Latch. Für den Fall, dass das Signal PG2 der Spiegelung des Dateneingangssignals D und nicht der Invertierung des Dateneingangssignals D entspricht, wird das XNOR-Gatter 218 beispielsweise durch ein XOR-Gatter ersetzt.
  • Wie auch in 2 dargestellt, ist in einigen Ausführungsformen ein Test Controller (TEST CONTROLLER) 222 vorgesehen, der beispielsweise das Testfreigabesignal TE und/oder das Testeingangssignal TI an die Synchronvorrichtungen 200 und an ein oder mehrere ähnliche Vorrichtungen (nicht abgebildet) bereit stellt. Natürlich wird es von den Fachleuten verstanden, dass in der Praxis die Testeingänge einer Vielzahl von Synchronvorrichtungen, wie z.B. die Vorrichtung 200, für Testzwecke in Reihe geschaltet werden können.
  • Der Test Controller 222 stellt beispielsweise auch ein Signal FAULTN an das UND-Gatter 219 bereit, das beispielsweise einen Eingang des Komparators 218 in einen High- oder Low-Zustand zwingt und damit die Prüfung einer Schlupfschutzschaltung und auch einer unten näher beschriebenen Fehlerkontrollschaltung 224 ermöglicht. Wenn beispielsweise das Signal FAULTN während einer Testphase auf Low gesetzt wird, wird das XNOR-Gatter 218 in einen Puffer transformiert, wodurch das Signal FLAG zum Spiegel des Signals PG2 wird.
  • Durch Bereitstellen der Schlupfschutzschaltung in der Synchronvorrichtung 200 liefert das Signal FLAG ein Warn-Flag, das anzeigt, wenn die Gefahr einer Timing-Verletzung an der Vorrichtung 200 auftritt.
  • In einigen Ausführungsformen ist eine Fehlerkontrollschaltung (FAULT CTRL) 224 vorgesehen, die das von einem oder mehreren Synchronvorrichtungen 200 erzeugte Flagsignal FLAG empfängt, wobei ein Beispiel für N Flagsignale FLAG(1) bis FLAG(N) in 2 dargestellt ist. Die Schaltung 224 ist beispielsweise konfiguriert, zu detektieren, ob eines der FLAGSignale anliegt, und wenn ja, eine darauf ansprechende Aktion auszuführen. Die darauf ansprechende Aktion könnte beispielsweise darin bestehen, die Frequenz des Taktsignals CP unter Verwendung eines Steuersignals FCTRL zu reduzieren und/oder die Versorgungsspannung der Schaltung, die die Synchronvorrichtung 200 aufweist, unter Verwendung eines Steuersignals VCTRL zu erhöhen.
  • Der Betrieb der Synchronvorrichtung 200 in 2 wird jetzt mit Bezug auf die Timing-Diagramme der 3 und 4 ausführlicher beschrieben.
  • 3 ist ein Timing-Diagramm, das die Signale CP, LD1, LD2, Q, PG1, PG2, XNOR und FLAG in der Synchronvorrichtung 200 gemäß einer ersten beispielhaften Ausführungsform darstellt, in der das Auftreten einer Timing-Verletzung nicht als naheliegend identifiziert und das Signal FLAG nicht angelegt wird.
  • Im Beispiel von 3 gibt es eine fallende Flanke E1 des Signals LD1, die beispielsweise aus einer steigenden Flanke des Eingangsdatensignals D oder des Testeingangssignals TI resultiert. Die Flanke E1 tritt beispielsweise auf, während das Taktsignal CP low ist, und somit wird der Zustand des Signals LD1 durch das Latch 206 gespeichert, was eine steigende Flanke E2 des Signals LD2 kurz nach der Flanke E1 verursacht. Das Signal PG1 ist hinsichtlich des High-Zustandes des Signals LD1 zunächst low, und hat dann eine steigende Flanke E3 eine Zeitverzögerung d1 nach der Flanke E1. Die Zeitverzögerung d1 entspricht der durch den Inverter 214 eingeführten Verzögerung. Zum Beispiel ist der Inverter 214 in einigen Ausführungsformen so dimensioniert, dass er eine höhere Zeitverzögerung als ein Standardinverter in der Schaltung vorsieht.
  • Wenn die Flanke E3 auftritt, während das Taktsignal CP noch low ist, wird die Flanke E3 vom invertierenden Durchlassgatter 216 weitergeleitet, was zu einer fallenden Flanke E4 des Signals PG2 kurz nach der Flanke E3 führt.
  • Eine steigende Flanke E5 des Taktsignals CP beispielsweise tritt nach allen Flanken E1 bis E4 auf. Der Q-Ausgang der Synchronvorrichtung 200 beispielsweise hat kurz nach der Flanke E5 des Taktsignals CP eine steigende Flanke E6. Das Signal XNOR beispielsweise hat einen Puls P1 zwischen den Flanken E2 und E4 der Signale LD2 bzw. PG2, aber dieser Puls wird vom Latch 220 nicht berücksichtigt, da der Puls P1 vor der Flanke E5 des Taktsignals CP auf low fällt.
  • Tatsächlich ist im Beispiel von 3 die Schlupfzeit T_SLACK1 zwischen der fallenden Flanke E1 des Signals LD1 und der steigenden Flanke E5 des Taktsignals CP länger als die Zeitverzögerung d1. Diese Zeitverzögerung d1 definiert beispielsweise den Schwellenwert, unterhalb dessen das Signal FLAG nicht angelegt wird.
  • 3 zeigt auch den Fall einer steigenden Flanke des Datensignals LD1, die beispielsweise ähnlich wie die fallende Flanke behandelt wird, wie jetzt beschrieben wird.
  • Das Taktsignal CP hat beispielsweise eine fallende Flanke E7, die bewirkt, dass das Latch 210 den zuvor gespeicherten Wert beibehält.
  • Das Signal LD1 hat dann beispielsweise eine steigende Flanke E8, während das Taktsignal CP low ist, und so hat beispielsweise das Signal LD2 kurz danach eine fallende Flanke E9. Weiterhin hat das Signal PG1 gegenüber der Flanke E8 eine entsprechende fallende Flanke E10 nach der durch das Verzögerungselement 214 eingeführten Verzögerung d1. Das Signal PG2 hat also kurz danach eine steigende Flanke E11. Die Flanken E8 bis E11 treten vor einer nachfolgenden steigenden Flanke E12 des Taktsignals CP auf, wobei das Signal Q am Ausgang der Synchronvorrichtung 200 den neuen Zustand des Datensignals taktet und kurz nach der steigenden Taktflanke E12 eine entsprechende fallende Flanke E13 hat.
  • Das Signal XNOR hat beispielsweise einen Puls P2 zwischen den Flanken E9 und E11 der Signale LD2 bzw. PG2, aber da der Puls P2 vor der Flanke E12 des Taktsignals CP auf low fällt, wird dieser Puls vom Latch 220 nicht berücksichtigt.
  • 4 ist ein Timing-Diagramm, das die gleichen Signale wie in 3 zeigt, aber gemäß einem Beispiel, in dem eine Timing-Verletzung als naheliegend erkannt und somit das Warnsignal FLAG angelegt wird.
  • Das Signal LD1 hat beispielsweise eine fallende Flanke E20, während das Signal CP low ist, und somit hat das Signal LD2 kurz danach eine entsprechende steigende Flanke E21. Das Signal PG1 hat nach der Zeitverzögerung d1 von der steigenden Flanke E20 ebenfalls eine steigende Flanke E22.
  • Im Beispiel von 4 tritt jedoch eine steigende Flanke E23 des Taktsignals CP nach der Flanke E20 des Signals LD1, aber vor der steigenden Flanke E22 des Signals PG1 auf. Während also das Signal Q kurz nach der Taktflanke E23 eine steigende Flanke E24 hat, bleibt das Signal PG2 high. Dies bedeutet, dass das Signal XNOR kurz nach der Flanke E21 des Signals LD2 eine steigende Flanke E25 hat. Das Signal XNOR bleibt bis nach einer nachfolgenden fallenden Flanke E28 des Taktsignals CP high, insbesondere bis zu einer fallenden Flanke E30 des Signals PG2, die aus dem High-Zustand des Signals PG1 resultiert. Das Signal XNOR hat also kurz nach der Flanke E30 eine fallende Flanke E32.
  • Das Signal FLAG wird also an einer steigenden Flanke E26 kurz nach der steigenden Flanke E23 des Taktsignals CP angelegt.
  • Tatsächlich ist im Beispiel von 4 die Schlupfzeit T_SLACK2 zwischen der fallenden Flanke E20 des Signals LD1 und der steigenden Flanke E23 des Taktsignals CP niedriger als der durch die Zeitverzögerung d1 definierte Schwellenwert.
  • Eine ähnliche Situation tritt beispielsweise bei einer steigenden Flanke des Datensignals LD1 auf, wie jetzt beschrieben wird. Das Signal LD1 hat beispielsweise eine steigende Flanke E34, die auftritt, während das Taktsignal CP low ist, und das Signal LD2 hat somit kurz danach eine fallende Flanke E35. Das Signal PG1 hat nach der Zeitverzögerung d1 von der Flanke E34 eine fallende Flanke E36, aber die steigende Flanke E37 des Taktsignals CP tritt nach der steigenden Flanke E34 des Signals LD1 auf, aber vor der fallenden Flanke E36 des Signals PG1. Während also das Signal Q kurz nach der steigenden Flanke E37 des Taktsignals CP eine fallende Flanke E38 hat, bleibt das Signal PG2 low, und das Signal XNOR hat kurz nach der fallenden Flanke E35 des Signals LD2 eine steigende Flanke E39. Damit bleibt das Signal FLAG bei der steigenden Flanke E37 des Taktsignals CP auf high.
  • 5 ist ein Schaltplan mit einer Beispielimplementierung der Elemente 214, 216, 218, 219 und 220, die die Schlupfschutzschaltung der Synchronvorrichtung 200 bilden.
  • Der Inverter 214 wird beispielsweise durch einen PMOS-Transistor 502 und einen NMOS-Transistor 504 implementiert, die über ihre Hauptstromleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet sind. Die Gates dieser Transistoren empfangen das Signal LD1 am Ausgang des Multiplexers 204. Ein Zwischenknoten 505 zwischen diesen Transistoren stellt das Signal PG1 bereit.
  • Der Knoten 505 ist mit einem Eingang des invertierenden Durchlassgatters 216 gekoppelt, das im Beispiel der 5 durch ein Durchlassgatter realisiert ist, das aus einem PMOS-Transistor 506 und einem NMOS-Transistor 508 besteht, die über ihre Hauptstromleitungsknoten zwischen dem Knoten 505 und einem weiteren Knoten 509 parallel geschaltet sind. Das Gate des NMOS-Transistors 508 empfängt beispielsweise das Taktsignal CP', und das Gate des PMOS-Transistors 506 empfängt beispielsweise das Taktsignal CP", so dass das Durchlassgatter leitend ist, wenn das Taktsignal CP' high ist.
  • Das invertierende Durchlassgatter 216 weist auch einen zwischen dem Knoten 509 und einem Ausgangsknoten 510 gekoppelten Inverter auf, wobei der Inverter beispielsweise durch einen PMOS-Transistor 511 und einen NMOS-Transistor 512 gebildet wird, die über ihre Hauptstromleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet sind. Der Ausgangsknoten 510 stellt beispielsweise das Signal PG2 bereit.
  • Der Ausgangsknoten 510 ist mit einem Eingang des XNOR-Gatters 218 gekoppelt, zum Beispiel mit dem Gate eines NMOS-Transistors 514 des XNOR-Gatters 218. Beim Transistor 514 ist beispielsweise einer seiner Hauptstromleitungsknoten an die Spannungsschiene VSS gekoppelt, und sein anderer Hauptleitungsknoten ist über einen weiteren NMOS-Transistor 516 und einen PMOS-Transistor 518, die über ihre Hauptstromleitungsknoten in Reihe geschaltet sind, an die Spannungsschiene VDD gekoppelt. Ein Zwischenknoten 520 zwischen den Transistoren 516 und 518 ist beispielsweise an die Spannungsschiene VDD gekoppelt, und zwar über die Hauptstromleitungsknoten eines Transistors 522 und an die Gate-Knoten eines PMOS-Transistors 524 und eines NMOS-Transistors 526. Die Transistoren 524 und 526 sind beispielsweise über ihre Hauptstromleitungsknoten zwischen der Spannungsschiene VDD und einem weiteren Knoten 528 in Reihe geschaltet. Ein Zwischenknoten 538 befindet sich zwischen diesen Transistoren 524 und 526. Der Knoten 528 ist über die NMOS-Transistoren 532 und 534, die beispielsweise über die Hauptstromleitungsknoten parallel geschaltet sind, an die Spannungsschiene VSS gekoppelt. Der Knoten 538 ist ferner über ein Paar von PMOS-Transistoren 540 und 542, die über ihre Hauptstromleitungsknoten in Reihe geschaltet sind, an die Spannungsschiene VDD gekoppelt.
  • Die Gates der Transistoren 516, 518, 534 und 540 erhalten beispielsweise das Signal LD2' am Ausgang des UND-Gatters 219. Die Gates der Transistoren 522, 532 und 542 empfangen beispielsweise das Signal PG2.
  • Der Knoten 538 bildet einen Ausgangsknoten des XNOR-Gatters 218 und liefert das Signal XNOR. Dieser Ausgangsknoten 538 ist beispielsweise mit einem Dateneingang des Latch 220 gekoppelt, der beispielsweise ein Durchlassgatter aufweist, das von einem PMOS-Transistor 546 und einem NMOS-Transistor 548 gebildet wird, die zwischen dem Knoten 538 und einem weiteren Knoten 550 gekoppelt sind. Der NMOS-Transistor 548 wird beispielsweise durch das Taktsignal CP" gesteuert, während der PMOS-Transistor 546 beispielsweise durch das Taktsignal CP' gesteuert wird.
  • Der Knoten 550 ist beispielsweise mit einem weiteren Knoten 556 über einen Inverter gekoppelt, der aus einem PMOS-Transistor 552 und einem NMOS-Transistor 554 besteht, die über ihre Hauptstromleitungsknoten zwischen den Spannungsschienen VDD und VSS gekoppelt sind.
  • Der Knoten 556 ist ferner durch einen weiteren Synchron-Inverter mit dem Knoten 550 gekoppelt, wobei dieser Synchron-Inverter durch die PMOS-Transistoren 558, 560 und die NMOS-Transistoren 562 und 564 gebildet wird, die über ihre Hauptstromleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet sind. Die Transistoren 558 und 562 sind beispielsweise mit ihren Gates an den Knoten 556 gekoppelt, während die Transistoren 560 und 564 beispielsweise mit ihren Gates gekoppelt sind, um die Taktsignale CP" bzw. CP' zu empfangen. Ein Zwischenknoten zwischen den Transistoren 560 und 562 ist an den Knoten 550 gekoppelt.
  • Der Knoten 556 ist beispielsweise über einen Inverter, der aus einem PMOS-Transistor 566 und einem NMOS-Transistor 568 gebildet wird, die durch die Hauptstromleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet sind, an den Ausgang des Latch 220 gekoppelt. Ein Zwischenknoten 570 zwischen den Transistoren 566 und 568 liefert das Signal FLAG am Ausgang des Latch 220.
  • Das UND-Gatter 219 beispielsweise besteht aus einem PMOS-Transistor 580 und den NMOS-Transistoren 582 und 584, die über ihre Hauptleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet sind. Ein Zwischenknoten 586 zwischen den Transistoren 580 und 582 ist beispielsweise über die Hauptleitungsknoten eines PMOS-Transistors 588 an die Spannungsschiene VDD und an die Gates eines PMOS-Transistors 590 und eines NMOS-Transistors 592 gekoppelt. Die Transistoren 590 und 592 sind beispielsweise über ihre Hauptleitungsknoten zwischen den Spannungsschienen VDD und VSS in Reihe geschaltet. Ein Zwischenknoten 594 zwischen den Transistoren 590 und 592 entspricht dem Ausgang des UND-Gatters 219 und liefert das Ausgangssignal LD2'. Die Gates der Transistoren 580 und 582 sind beispielsweise mit dem Datenausgang des Latch 206 gekoppelt und erhalten so das Signal LD2. Die Gates der Transistoren 584 und 588 empfangen beispielsweise das Signal FAULTN.
  • Wie in 5 gezeigt, kann die Schlupfschutzschaltung der Synchronvorrichtung 200 vorteilhaft mit nur 32 Transistoren implementiert werden. Wenn das UND-Gatter 219 weggelassen wird, kann die Schlupfschutzschaltung beispielsweise mit nur 26 Transistoren implementiert werden.
  • 6 zeigt schematisch eine Computervorrichtung 600, die konfiguriert ist eine Schaltungskonzeption gemäß einer beispielhaften Ausführungsform durchzuführen.
  • Die Computervorrichtung 600 weist beispielsweise eine Verarbeitungsvorrichtung (P) 602 auf, die über einen Bus 604 mit weiteren Komponenten gekoppelt ist, einschließlich eines flüchtigen Speichers 606, der beispielsweise ein RAM (Random Access Memory) ist, eines nichtflüchtigen Speichers (NICHT-FLÜCHTIGER SPEICHER) 608, der beispielsweise ein FLASH-Speicher ist und ein Schaltungsdesign (SCHALTUNGSDESIGN) 610 und eine Standardzellenbibliothek (STANDARDZELLENBIBLIOTHEK) 612 speichert, und einer Ein-/Ausgabeschnittstelle (I/O INTERFACE) 614.
  • Gemäß einigen Ausführungsformen wird eine Standardzellenbibliothek, wie die Bibliothek 612 in 6, von einem nichtflüchtigen Speichermedium wie dem nichtflüchtigen Speicher 608 gespeichert und speichert Standardzellen, die in einem Schaltungsdesign verwendet werden sollen. Diese Standardzellenbibliothek enthält beispielsweise mindestens eine Zelle, die die in Verbindung mit 2 oben beschriebene Synchronvorrichtung 200 implementiert.
  • 7 ist ein Flussdiagramm, das Schritte eines Verfahrens zur Schaltungskonzeption darstellt, das beispielsweise mit der Computervorrichtung 600 aus 6 implementiert wird.
  • In Schritt 701 wird beispielsweise eine statische Zeitanalyse (STA) durchgeführt, um einen oder mehrere kritische Pfade in einem Schaltungsdesign zu identifizieren, wie beispielsweise im Schaltungsdesign 610 in 6. Ein kritischer Timing-Pfad wird beispielsweise als ein Pfad identifiziert, bei dem die mit der statischen Timing-Analyse gemessene Schlupfzeit unter einem bestimmten Schwellenwert liegt. In einigen Ausführungsformen kann ein bestimmter Prozentsatz der Datenpfade des Schaltungsdesigns als kritische Pfade definiert werden.
  • In Schritt 702 werden beispielsweise ein oder mehrere Synchronvorrichtungen am Ende jedes kritischen Pfades, der in Schritt 701 identifiziert wurde, durch die Synchronvorrichtung 200 mit der Schlupfschutzschaltung ersetzt. Das Schaltungsdesign wird beispielsweise an eine Fertigungsanlage zur Fertigung übertragen.
  • Ein Vorteil der hier beschriebenen Ausführungsformen besteht darin, dass die in der Synchronvorrichtung 200 integrierte Schlupfwächterschaltung die Daten- oder Testeingänge oder den Datenausgang der Synchronvorrichtung 200 nicht zusätzlich belastet, was zu einer relativ gering Auswirkung auf die Leistung führt. Darüber hinaus ist die Schaltungsimplementierung besonders kompakt, da nur ein Durchlassgatter und ein oder mehrere Inverter im verzögerten Pfad verwendet werden, beispielsweise durch Implementieren mit 32 oder weniger Transistoren.
  • Es wurden verschiedene Ausführungsformen und Varianten beschrieben. Der Fachmann wird verstehen, dass bestimmte Merkmale dieser Ausführungsformen kombiniert werden können und andere Varianten dem Fachmann leicht in den Sinn kommen. Während beispielsweise Ausführungsformen in Bezug auf einen D-Flip-Flop-Typ beschrieben wurden, wird es für den Fachmann offensichtlich sein, dass die hier beschriebenen Prinzipien auf jede Synchronvorrichtung angewendet werden können, die mindestens einen Datenspeicher und vorzugsweise ein Paar Datenspeicher umfasst.
  • Darüber hinaus wird dem Fachmann klar sein, dass 5 zwar ein Beispiel für eine Implementierung liefert, dass aber verschiedene alternative Implementierungen möglich wären. Beispielsweise könnten einige oder alle PMOS-Transistoren durch NMOS-Transistoren ersetzt werden und umgekehrt. Darüber hinaus könnte die Spannungsschiene VSS zwar auf einem Massespannungsniveau liegen, in alternativen Ausführungsformen jedoch auf einem anderen Spannungsniveau unterhalb des Spannungsniveaus auf der Versorgungsspannungsschiene VDD, auch auf einem negativen Spannungsniveau.
  • Darüber hinaus könnte das Durchlassgatter nach dem Verzögerungselement durch jede Art von Zelle mit einem Gate gesteuerten Eingang, wie z.B. ein Latch, ersetzt werden.

Claims (17)

  1. Eine Synchronvorrichtung, die Folgendes aufweist: einen ersten Latch (206) mit einem Dateneingang, der ein Dateneingangssignal (LD1) empfängt, wobei der erste Latch (206) konfiguriert ist, das Dateneingangssignal (LD1) während eines ersten Zustands eines ersten Taktsignals (CP') zu speichern; und eine Schlupfschutzschaltung, die Folgendes aufweist: - ein Verzögerungselement (214), das einen Eingang hat, der mit dem Dateneingang des ersten Latch (206) verbunden ist, und das konfiguriert ist zum Erzeugen, an seinem Ausgang, eines verzögerten Datensignals (PG1); - eine Zelle mit Gate gesteuertem Eingang (216), die einen Eingang hat, der mit einem Ausgang des Verzögerungselements (214) gekoppelt ist, wobei die Zelle mit Gate gesteuertem Eingang (216) konfiguriert ist zum Durchleiten des verzögerten Datensignals (PG1) während des ersten Zustands des ersten Taktsignals (CP'); und - einen Komparator (218), der einen ersten Eingang hat, der entweder mit einem Datenausgang des ersten Latch (206) verbunden ist oder über ein oder mehrere logische Gatter (219) mit dem Datenausgang des ersten Latch gekoppelt ist, und der einen zweiten Eingang hat, der mit einem Ausgang der Zelle mit Gate gesteuertem Eingang (216) gekoppelt ist.
  2. Die Synchronvorrichtung nach Anspruch 1, wobei der Eingang des Verzögerungselements (214) mit dem Dateneingang des ersten Latch (206) verbunden ist.
  3. Die Synchronvorrichtung nach Anspruch 1 oder 2, die ferner einen weiteren Latch (220) aufweist, der einen Dateneingang hat, der mit einem Ausgang des Komparators (218) gekoppelt ist, wobei der weitere Latch (220) konfiguriert ist zum Speichern eines Ausgangssignals (XNOR) des Komparators (218) während eines zweiten Zustands des ersten Taktsignals (CP').
  4. Die Synchronvorrichtung nach Anspruch 3, wobei der weitere Latch (220) konfiguriert ist, um ein zweites Taktsignal (CP") zu empfangen, das dem Inversen des ersten Taktsignals (CP') entspricht.
  5. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 4, die ferner das eine oder die mehreren logische Gatter (219) aufweist, um einen Eingang des Komparators (218) während einer Testphase der Schlupfschutzschaltung in einen High- oder Low-Zustand zu zwingen.
  6. Die Synchronvorrichtung nach Anspruch 5, wobei das eine oder die mehreren logischen Gatter (219) ein UND-Gatter oder ein NAND-Gatter aufweisen.
  7. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 6, wobei der Komparator (218) ein XOR-Gatter oder ein XNOR-Gatter ist.
  8. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 7, wobei der zweite Eingang des Komparators mit dem Ausgang der Zelle mit Gate gesteuertem Eingang (216) verbunden ist, oder über ein oder mehrere logische Gatter (219) mit dem Ausgang der Zelle mit Gate gesteuertem Eingang (216) gekoppelt ist.
  9. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 8, wobei die Zelle mit Gate gesteuertem Eingang (216) ein Durchlassgatter aufweist.
  10. Die Synchronvorrichtung nach Anspruch 9, wobei das Durchlassgatter einen ersten Transistor (506) aufweist, dessen einer Hauptleitungsknoten mit dem Eingang der Zelle mit Gate gesteuertem Eingang (216) verbunden ist und dessen anderer Hauptleitungsknoten mit einem Ausgang des Durchlassgatters verbunden ist, und einen zweiten Transistor (508), dessen einer Hauptleitungsknoten mit dem Eingang der Zelle mit Gate gesteuertem Eingang (216) verbunden ist und dessen anderer Hauptleitungsknoten mit dem Ausgang des Durchlassgatters verbunden ist, wobei der erste und der zweite Transistor basierend auf dem ersten Taktsignal (CP') gesteuert werden.
  11. Die Synchronvorrichtung nach Anspruch 10, wobei der Ausgang des Durchlassgatters der Ausgang der Zelle mit Gate gesteuertem Eingang (216) ist.
  12. Die Synchronvorrichtung nach Anspruch 10, wobei die Zelle mit Gate gesteuertem Eingang (216) ferner einen Inverter (511, 512) aufweist, der den Ausgang des Durchlassgatters mit dem Ausgang der Zelle mit Gate gesteuertem Eingang (216) verbindet.
  13. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 12, die ferner einen Multiplexer (204) mit einem ersten Eingang aufweist, der mit einem Dateneingang (D) der Synchronvorrichtung gekoppelt ist, und einem zweiten Eingang, der mit einem Testeingang (TI) der Synchronvorrichtung gekoppelt ist, und einem Ausgang, der das Dateneingangssignal des ersten Latch (206) bereitstellt.
  14. Die Synchronvorrichtung nach einem der Ansprüche 1 bis 13, die ferner einen zweiten Latch (210) mit einem Dateneingang aufweist, der mit dem Datenausgang des ersten Latch (206) gekoppelt ist, wobei der zweite Latch (210) konfiguriert ist zum Speichern eines Ausgangsdatensignals (LD2) des ersten Latch (206) während eines zweiten Zustands des ersten Taktsignals (CP').
  15. Ein nichtflüchtiges Speichermedium, das eine Standardzellenbibliothek speichert, die mindestens eine Standardzelle zur Implementierung der Synchronvorrichtung nach einem der Ansprüche 1 bis 14 definiert.
  16. Ein Verfahren zum Schaltungsdesign, das von einem Computer implementiert wird, wobei das Verfahren Durchführen einer statischen Zeitanalyse an einem Schaltungsdesign aufweist, um mindestens eine synchrone Vorrichtung zu identifizieren, die ein Datensignal mit einer Schlupfzeit von weniger als einer Schwellendauer in Bezug auf eine Zeitflanke eines Taktsignals empfängt, und Ersetzen der mindestens einen synchronen Vorrichtung in dem Schaltungsdesign durch eine modifizierte Zelle aufweist, die die Synchronvorrichtung nach einem der Ansprüche 1 bis 14 implementiert.
  17. Eine Computervorrichtung, die konfiguriert ist, ein Computerprogramm auszuführen, das die Implementierung des Verfahrens nach Anspruch 16 bewirkt.
DE102019220472.4A 2018-12-24 2019-12-20 Synchronvorrichtung mit Schlupfschutzschaltung Pending DE102019220472A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1874138A FR3090917B1 (fr) 2018-12-24 2018-12-24 Dispositif synchrone muni d’un circuit de garde de marge
FR1874138 2018-12-24

Publications (1)

Publication Number Publication Date
DE102019220472A1 true DE102019220472A1 (de) 2020-06-25

Family

ID=67956838

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019220472.4A Pending DE102019220472A1 (de) 2018-12-24 2019-12-20 Synchronvorrichtung mit Schlupfschutzschaltung

Country Status (3)

Country Link
US (1) US11068630B2 (de)
DE (1) DE102019220472A1 (de)
FR (1) FR3090917B1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI771898B (zh) 2021-02-04 2022-07-21 新唐科技股份有限公司 時脈閘控同步電路及其時脈閘控同步方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3865981A (en) * 1973-07-16 1975-02-11 Odetics Inc Clock signal assurance in digital data communication systems
US4441098A (en) * 1981-04-06 1984-04-03 Motorola, Inc. Multiposition switch with minimum interconnections
US4477919A (en) * 1981-04-06 1984-10-16 Motorola, Inc. Range control circuit for counter to be used in a frequency synthesizer
US4472820A (en) * 1981-04-06 1984-09-18 Motorola, Inc. Program swallow counting device using a single synchronous counter for frequency synthesizing
US6664808B2 (en) * 2001-08-07 2003-12-16 Xilinx, Inc. Method of using partially defective programmable logic devices
JP4317013B2 (ja) * 2001-08-07 2009-08-19 ザイリンクス インコーポレイテッド プログラマブルロジックデバイスのための特定用途向け検査方法
US8295020B2 (en) * 2006-11-30 2012-10-23 Rohm Co., Ltd. Electronic circuit
US20110191646A1 (en) * 2008-04-04 2011-08-04 Arizona Board of Regents, a body Corporate of the State of Arizona, Acting for and Fault-and Variation-Tolerant Energy - and Area-Efficient Links for Network-on-Chips
JP6825570B2 (ja) * 2015-10-02 2021-02-03 ソニー株式会社 半導体装置
FR3044772B1 (fr) * 2015-12-04 2018-01-05 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede pour equiper des registres d'un circuit integre pour detecter des violations temporelles
US20170184664A1 (en) * 2015-12-28 2017-06-29 Michel Nicolaidis Highly efficient double-sampling architectures
US10473718B2 (en) * 2017-12-18 2019-11-12 Intel Corporation Multibit vectored sequential with scan

Also Published As

Publication number Publication date
US11068630B2 (en) 2021-07-20
US20200202062A1 (en) 2020-06-25
FR3090917B1 (fr) 2021-12-10
FR3090917A1 (fr) 2020-06-26

Similar Documents

Publication Publication Date Title
DE60034788T2 (de) Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein
DE102005060394B4 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE102011055325B4 (de) Flipflop-Schaltkreis
DE102005056278B4 (de) Flip-Flop-Vorrichtung und Verfahren zum Speichern und Ausgeben eines Datenwerts
DE68921086T2 (de) Integrierte Halbleiterschaltkreisanordnung mit verbesserter Eingangs-/ Ausgangsschnittstellenschaltung.
DE102008006301B4 (de) Schaltungsanordnung zum Detektieren von Spannungsänderungen und Verfahren zum Detektieren einer Spannungsänderung
DE69220592T2 (de) Impulsgenerator
DE102016118534A1 (de) Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals
DE102021128331B3 (de) Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung
DE4326134A1 (de) Eingangswechseldetektorschaltung
DE102012202747A1 (de) Doppeltrigger-Niedrigenergie-Flip-Flop-Schaltung
DE69121157T2 (de) Schaltung zum Synchronisieren von asynchronen Zustandsmaschinen
DE102016120009B4 (de) Digitalschaltung und verfahren zum herstellen einer digitalschaltung
DE4031136C2 (de)
DE10063307A1 (de) Auffangschaltung für Daten und deren Ansteuerungsverfahren
DE102021123889B3 (de) Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE69030575T2 (de) Integrierte Halbleiterschaltung mit einem Detektor
DE102019220472A1 (de) Synchronvorrichtung mit Schlupfschutzschaltung
DE19644443C2 (de) Adressübergangs-Detektorschaltung
DE2346966B2 (de) Verfahren zur uebertragung von signalen zwischen zwei chips mit schnellen komplementaer-mos-schaltungen
DE69013301T2 (de) Ausgangsschaltung mit grossem Stromsteuerungsvermögen ohne Erzeugung unerwünschter Spannungsschwankungen.
DE68925799T2 (de) Einen metastabilen Zustand zulassende Kippschaltung
DE19811591A1 (de) Taktsignal modellierende Schaltung mit negativer Verzögerung
DE69218717T2 (de) Vorrichtung zum Lesen eines Speicherzelleinhalts, insbesondere für ein EPROM, Betriebsverfahren und Speicher mit einer solchen Vorrichtung