DE602004009475T2 - Verzögerungs-fehlertest-schaltkreise und diesbezügliches verfahren - Google Patents

Verzögerungs-fehlertest-schaltkreise und diesbezügliches verfahren Download PDF

Info

Publication number
DE602004009475T2
DE602004009475T2 DE602004009475T DE602004009475T DE602004009475T2 DE 602004009475 T2 DE602004009475 T2 DE 602004009475T2 DE 602004009475 T DE602004009475 T DE 602004009475T DE 602004009475 T DE602004009475 T DE 602004009475T DE 602004009475 T2 DE602004009475 T2 DE 602004009475T2
Authority
DE
Germany
Prior art keywords
delay error
error test
threshold
signals
signal
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.)
Active
Application number
DE602004009475T
Other languages
English (en)
Other versions
DE602004009475D1 (de
Inventor
Aviral Redhill MITTAL
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of DE602004009475D1 publication Critical patent/DE602004009475D1/de
Application granted granted Critical
Publication of DE602004009475T2 publication Critical patent/DE602004009475T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Description

  • Die vorliegende Erfindung bezieht sich auf einen Verzögerungsfehlertestschaltkreis und ein zugehöriges Verfahren zur Verwendung im Testen eines integrierten Schaltkreises für Widerstands- und/oder kapazitative Fehler.
  • Eine solche Anordnung ist aus der US-Patentanmeldung US 2003/0101396 A1 bekannt, welche einen Verzögerungsfehlertestschaltkreis offenbart, der ausgebildet ist, eine Zweipulsfolge auf eingehende Taktsignale zu erzeugen, um so das Testen von Datenübertragungen zwischen logischen Blöcken innerhalb des integrierten Schaltkreises, der mit verschiedenen Anwendungsgeschwindigkeiten läuft, zu erzeugen.
  • Der Schaltkreis ist ausgebildet, so dass die ansteigenden, oder positiven, Flanken der zweiten Pulse in jeder der Zweipulsfolgen, die dann mit Anwendungsfrequenz auftreten, ausgerichtet sind.
  • Die Weise, in der die zwei Pulse in der obengenannten Referenz generiert werden, weist jedoch unvorteilhafterweise Grenzen in der Leistung auf. Eine relativ lange Zeit wird gebraucht, um die beiden Anwendungsfrequenztaktpulse zu erzeugen, wenn eine Anfrage gestellt wurde, dass solche Pulse benötigt werden. Diese Zeitverzögerung hängt auch generell von den in dem zu testenden Schaltkreis erforderlichen Frequenzen der Takte ab. Die in diesem Dokument offenbarte Anordnung ist angewiesen auf das Auftreten eines Falls, bei dem die Eingaben zu einem Taktgenerator tatsächlich ein Ereignis sehen, in dem die zweiten Flanken von jedem der Eingabetaktpulse ausgerichtet sind und es ist dann notwendig, wieder auf das Auftreten eines solchen Ereignisses zu warten, um ein solches Ereignis freizugeben und an die Ausgabe weiterzuleiten.
  • Wenn ein solches Ereignis nicht wieder auftritt, versagt die Anordnung in jedem Fall. Als eine weitere Beschränkung kann Gegenstand dieser US-Patentanmeldung auch nicht für Takte mit Zeitspannen, die ein ungerades Vielfaches der schnellsten Taktzeitspanne sind, die in dem zu testenden Schaltkreis auftritt, eingesetzt werden. Das heißt, dass während eines Fehlertests, die Takte, die Zeitspannen aufweisen, die ein ungerades Vielfaches der schnellsten Zeitspanne sind, neu erzeugt werden müssen mit Zeitspannen, die gleich dem nächsten geraden Vielfachen sind. Wenn beispielsweise die höchste Taktfrequenz „f" ist, und eine Zeitspanne T = 1/f, und einer der Takte eine Frequenz = f/3, (und eine Zeitspanne = 3T) hat, dann muss während des Verzögerungstests anstelle von f/3, ein f/4 (Zeitspanne = 4T) Frequenzblock erzeugt werden, was heißt, dass es nicht den erforderlichen Spezifikationen folgt. Der Verzögerungsfehlertest wird dann unvorteilhafterweise mit einem langsameren Takt durchgeführt, mit Zeitspanne 4T, anstelle der gewünschten Zeitspanne 3T.
  • Schließlich wird das bekannten Design nicht für bestimmte Taktfrequenzen funktionieren, die eine 50%-Abtastrate haben, die es daher erfordern, die Tastrate zu verändern. Dies stellt eine weitere besonders nachteilige Begrenzung der bekannten Anordnung dar.
  • Die vorliegende Erfindung strebt danach, einen Verzögerungsfehlertestschaltkreis und ein zugehöriges Verfahren bereitzustellen, mit Vorteilen gegenüber solchen bekannten Schaltkreisen und Verfahren.
  • Gemäß eines Aspekts der vorliegenden Erfindung, wird ein Verzögerungsfehlertestschaltkreis bereitgestellt zum Erzeugen einer Folge von Zweitaktpulsen in Antwort auf zwei entsprechende Taktsignale unterschiedlicher Frequenz, die Logikschaltungen zugeordnet sind, die zum Laufen mit unterschiedlichen Geschwindigkeiten ausgebildet sind, und die so ausgebildet sind, dass die Anstiegsflanken des zweiten der Taktpulse ausgerichtet sind, wobei der Schaltkreis beinhaltet:
    Zählmittel zum Erzeugen eines Referenzzielwertes;
    Mittel zum Initiieren des ersten von zwei Taktpulsen, wenn der Zählwert einen ersten Schwellenwert erreicht;
    Mittel zum Beenden des ersten von zwei Taktpulsen, wenn der Zählwert einen zweiten Schwellenwert erreicht;
    Mittel zum Initiieren des zweiten von zwei Taktpulsen, wenn der Zählwert einen dritten Schwellenwert erreicht;
    Mittel zum Beenden des zweiten der zwei Taktpulse, wenn der Zählwert einen vierten Schwellenwert erreicht; wobei
    der dritte Schwellenwert für beide Eingabesignale gemein ist und die ersten, zweiten und vierten Schwellenwerte auf den jeweiligen Frequenzen der Taktsignale basieren.
  • Bevorzugterweise umfassen die ersten, zweiten und vierten Schwellenwerte Funktionen des Verhältnisses der höchsten Taktfrequenz zu der der zu testenden Logikschaltung zugeordneten Taktfrequenz. Weiterhin sind die ersten, zweiten und vierten Schwellenwerte Funktionen des Maximums der vorgenannten Verhältnisse.
  • In diesem Fall kann der erste Schwellenwert von der Differenz zwischen dem genannten maximalen Verhältniswert und dem Verhältniswert für das der zu testenden Logikschaltung zugeordnete Taktsignal abgeleitet werden.
  • Weiterhin kann der zweite Schwellenwert auf Basis der Differenz zwischen dem genannten maximalen Verhältniswert und der Hälfte des Verhältniswertes für das der zu testenden Logikschaltung zugeordnete Taktsignal bestimmt werden, wenn der genannte Verhältniswert eine gerade Zahl umfasst.
  • In der Alternative kann der zweite Schwellenwert auf Basis der Differenz zwischen dem maximalen Verhältniswert und der Hälfte des Verhältniswerts für das der zu testenden Logikschaltung zugeordnete Taktsignal, plus eins, ermittelt werden, wenn das bestimmte Verhältnis eine ungerade Zahl umfasst.
  • Der vierte Schwellenwert wird vorteilhafterweise auf Basis der Summe des maximalen Verhältnisses und der Hälfte des bestimmten Teilungsverhältnisses des der zu testenden Logikschaltung zugeordneten Taktsignals bestimmt.
  • Bevorzugterweise ist ein Verhältnisgenerator beinhaltet, in welchem das vorgenannte Verhältnis durch einen Zähler implementiert ist.
  • Vorteilhafterweise kann der Schaltkreis zwei Zähler umfassen, um jedes der vorgenannten Verhältnisse zu berechnen.
  • Auf diese Weise kann der erste der zwei Zähler ausgebildet sein, um vom fastclk-Signal versorgt zu werden und um ein Freigabesignal, das vom anderen der zwei Zähler erzeugt wird, zu empfangen.
  • Weiterhin ist der zweite Zähler ausgebildet, um vom Taktsignal, bezüglich dessen das Teilungsverhältnis zu berechnen ist, versorgt zu werden.
  • Das am wenigsten signifikante Bit des zweiten Zählers umfasst bevorzugterweise das an den ersten Zähler gelieferte Freigabesignal und wobei das signifikanteste Bit des zweiten Zählers bevorzugterweise ein Signal umfasst, das anzeigt, dass das erforderliche Verhältnis bestimmt wurde.
  • Die vorliegende Erfindung ist besonders vorteilhaft dadurch, dass die beiden erforderlichen Anwendungsfrequenztaktpulse nahezu unverzögert erzeugt werden können, falls und wenn sie benötigt werden. Insbesondere werden die zwei Anwendungsfrequenztaktpulse mit ihren ausgerichteten Anstiegsflanken auf eine Weise unabhängig von den aktuellen Frequenzen der betroffenen Taktsignale erzeugt. Die Erfindung erzeugt die zwei ausgerichteten Pulsflanken vorteilhafterweise ungeachtet der Art der Eingabe zum Taktsignal und ungeachtet, ob es ein Auftreten eines vorherigen Ereignisses bei den Eingabetakten mit ausgerichteten Anstiegsflanken ihrer zweiten Taktpulse gibt.
  • Als ein weiterer Vorteil kann die vorliegende Erfindung einfach mit Takten funktionieren, die Zeitspannen haben, welche ein ungerades Vielfaches der schnellsten Taktzeitspanne innerhalb des zu testenden Schaltkreises haben und weiterhin treten die Tastgradbeschränkungen, wie sie im obengenannten Stand der Technik-Dokument auftreten, in der vorliegenden Erfindung nicht auf.
  • Gemäß eines anderen Aspekts der vorliegenden Erfindung, wird eine Methode zum Erzeugen eines Verzögerungsfehlertestsignals umfassend eine Folge von zwei Taktsignalen in Antwort auf zwei entsprechende Taktsignale unterschiedlicher, Logikschaltungen, die zum Laufen beim verschiedenen Geschwindigkeiten ausgebildet sind, zugeordneter Frequenzen, und wobei die Anstiegsflanken des zweiten der Taktpulse ausgerichtet sind, bereitgestellt, wobei die Methode die folgenden Schritte beinhaltet:
    Erzeugen eines Referenzzählwertes;
    Initiieren des ersten der zwei Taktpulse, wenn der Zählwert einen ersten Schwellenwert erreicht;
    Beenden des ersten der zwei Taktpulse, wenn der Zählwert einen zweiten Schwellenwert erreicht;
    Initiieren des zweiten der zwei Taktpulse, wenn der Zählwert einen dritten Schwellenwert erreicht;
    Beenden des zweiten der zwei Taktpulse, wenn der Zählwert einen vierten Schwellenwert erreicht; wobei
    der dritte Schwellenwert für beide Eingabetaktsignale gemein ist und die ersten, zweiten und vierten Schwellenwerte auf den entsprechenden Frequenzen der Taktsignale basieren.
  • Das Verfahren kann vorteilhafterweise weitere Aspekte beinhalten, um Eigenschaften wie die oben diskutierten bereitzustellen.
  • Die Erfindung wird im Folgenden weiter, lediglich beispielhaft, mit Bezug zu den beiliegenden Zeichnungen beschrieben, wobei:
  • 1A und 1B Impulspläne sind, die die Art der erforderlichen Taktpulssignale gemäß der Vorrichtung und des Verfahrens der vorliegenden Erfindung illustrieren;
  • 2 ein schematisches Diagramm eines Verzögerungsfehlerpulsgenerators, der die vorliegende Erfindung verkörpert, ist und den Pinout eines solchen Generators illustriert;
  • 3 ein schematisches Blockdiagramm des Generators von 2 ist;
  • 4 ein Impulsplan ist, das den Betrieb des Verhältnisgeneratorblocks, der in 3 dargestellt ist, darstellt; und
  • 5 ein Impulsplan ist, das dazu dient, die Erzeugung der auftretenden Zweipulstestsignale gemäß der vorliegenden Erfindung, wobei die Anstiegsflanken der entsprechenden zweiten Pulse ausgerichtet sind, zu illustrieren.
  • Bezug nehmend zunächst auf 1A und 1B, werden dort drei Taktsignale clk(0), clk(1), clk(2) in Ergänzung zu einem „fastclk"-Signal mit einer Frequenz von F MHz, welche das in dem zu testenden Schaltkreis auftretende schnellste Taktsignal darstellt, illustriert. 1A illustriert solche Eingabetaktsignale, wobei 1B die auf jedem der vier Taktsignale erzeugten Verzögerungsfehlertestsignale illustriert und entsprechend als fastclkout, clkout(0), clkout(1) und clkout(2) identifiziert ist und welche die Ausrichtung der zweiten Pulse in jeder der Zweipulsfolgen illustrieren.
  • Während es bekannt ist, dass solche Ausgabesignale im vorgenannten Stand der Technik-Dokument auftreten, treten die besonderen Nachteile, die vorangehend diskutiert wurden, in Bezug auf ihre Erzeugung auf, und können gemäß der vorliegenden Erfindung durch Bezug zu einem Kontrollzähler, der Zählwerte counter_p, wie beispielsweise in 1B dargestellt, erzeugt, überwunden werden.
  • Zur Bestätigung sollte festgehalten werden, dass clk(0) eine Frequenz von F/2 hat, clk(1) eine Frequenz von F/3 hat und clk(2) eine Frequenz von F/4 hat.
  • Bezug nehmend auf 2 ist der Pinout eines Verzögerungsfehlerpulsgenerators 10, der die vorliegende Erfindung verkörpert, dargestellt.
  • Der Verzögerungsfehlerpulsgeneratorblock ist zwischen den Taktgenerator, der die Anwendungsfrequenztakte erzeugt, und den digitalen Block, der ausgebildet ist, um die Takte vom Taktgenerator zu empfangen, eingesetzt. Der Pulsgenerator 10 ist ausgebildet, um die zwei Anwendungsfrequenzpulse auf jeden Block, der ihn durchläuft, zu erzeugen, mit ihren zweiten Anstiegsflanken ausgerichtet, wenn erforderlich. Andernfalls übergibt der Generator die Takte einfach unverändert.
  • Weiterhin mit Bezug zu 2 ist „fastclk" die höchste Taktfrequenz F und alle anderen Takte, clk(i) haben eine Frequenz fclk(i), so dass
    F/fclk(i) = ganze Zahl für alle i.
  • Die folgende Wahrheitstabelle Tabelle 1 gibt die Funktion des Verzögerungsfehlerblocks wieder:
    Df-en Scan_en Clkout
    0 0 clk
    0 1 clk
    1 0 Takte
    1 1 clk
  • Weitere Erfordernisse und Vorteile sind, dass die Taktausgaben Ops Impulspause haben, minimale Verzögerungen sollten dargestellt werden, um die Takte auszugeben, nachdem eine Anfrage gemacht wurde. Auch die Verzögerungen in den Taktsignalen, wenn der Generator nicht in einem aktiven Modus ist, sollten ein Minimum sein.
  • Ein Beispiel mit drei Takten, clk(0), clk(1), clk(2) in Ergänzung zu „fastclk" mit einer Frequenz von F MHz ist folgendermaßen:
    Clk(0) hat eine Frequenz von F/2;
    Clk(1) hat eine Frequenz von F/3; und
    Clk(2) hat eine Frequenz von F/4.
  • Die Eingabetakte sind die in 1A gezeigten und die Ausgabetakte sind die in 1B gezeigten. Die Ausgabetakte in 1B haben ihre zweiten Anstiegsflanken ausgerichtet und es ist zu sehen, dass es auf jedem Ausgabetakt zwei mit entsprechenden Anwendungsfrequenzen sind.
  • Das durch die vorliegende Erfindung verkörperte Konzept ist insbesondere illustriert mit Bezug auf 5 und ist ausgestaltet, um die zwei Taktpulse entsprechend zu jedem der Eingabetakte zu erzeugen. Auf dieser Basis haben die Eingabe- und Ausgabetakte keine Phasen-Beziehung. Da nur zwei Pulse für jeden Takt erforderlich sind, können die Ausgabetakte, clkout(i), mit Bezug zu einem Referenzzähler „counter_p", der nach einem Reset zu zählen anfängt, produziert werden. Jeder Ausgabetakt, clkout(i), wird eingeschaltet (auf „1" gesetzt), wenn „counter_p" größer als ein bestimmter Referenzzählwert, genannt fecount(i) 28 ist, und bleibt angeschaltet, während der Zählwert „counter_p" weniger oder gleich einem bestimmten Referenzzählwert secount(i) 30 ist, und wird ausgeschaltet wenn „counter_p" diesen Wert überschreitet, um einen einzelnen Puls zu geben.
  • Der zweite Puls beginnt für jeden Takt, wenn „counter_p" einen gemeinsamen Referenzzählwert 32 erreicht, da die zweiten Flanken auszurichten sind. Jeder clkout(i) wird nach diesem gemeinsamen Wert 32, genannt „max", eingeschaltet und bleibt anschließend eingeschaltet bis „counter_p" weniger oder gleich zu einem bestimmten Referenzzählwert postcount(i) 34 ist, und wird abgeschaltet, wenn der Zähler von „counter_p" diesen Wert überschritten hat.
  • Die fecount(i) 28, secount(i) 30, und postcount(i) 34-Werte sind alle Variablen, und sind Funktionen ihrer entsprechenden divratios(i), wobei divratio(i) = F/f(i), wobei F = Frequenz des „fastclk" und f(i) die Frequenz des Takts in Frage, und der Wert „max", welcher konstant und gleich dem maximalen divratio(i), auch hier genannt „divratio_max", sind
    Die Zählerwerte 28, 30 werden wie folgt abgeleitet:
    fecount(i) 28 = max – divratio
    secount(i) 30 = max – divratio(i)/2; wenn divratio(i) eine gerade Zahl ist
    secount(i) 30 = max – (divratio(i)/2 + 1); wenn divratio(i) eine ungerade Zahl
    ist, wobei divratio(i)/2 auf den nächstkleineren Integer gerundet ist.
  • Basierend auf den obengenannten Berechnungen, wird die Pulsfolge „clkout_p(i)", wie in 5 gezeigt, bereitgestellt. Solange „divratio(i)" eine gerade Zahl ist, ist „clkout_p(i)" die finale Ausgabe. Wenn jedoch „divratio(i)" eine ungerade Zahl ist, hat „clkout_p" keine 50%-Tastrate. In diesem Fall sollte die finale Ausgabe clkout_p(i) ODER clkout_n(i) sein, wie ebenfalls in 5 gezeigt, wobei „clkout_n(i)" die verzögerte Version von „clkout_p(i)" ist und durch das invertierte „fastclk" erzeugt wird (auch genannt „fastclk_n").
  • Der Zählwert 34 wird wie folgt abgeleitet:
    Postcount(i)34 = max + divratio(i)/2 und wenn divratio eine ungerade Zahl ist, dann wird divratio(i)/2 auf den nächstkleineren Integer gerundet
  • In Anbetracht eines Beispiels mit den folgenden Werten:
    divratio(0) = 2,
    divratio(1) = 3,
    divratio(3) = 4
    treten die folgenden Zählerwerte für jedes Taktsignal auf:
    divratio_max = 4 (was, wie oben dargestellt, auch als „max" bezeichnet wird)
    fecount(0) = 2, secount(0) = 3, postcount(0) = 5
    fecount(1) = 1, secount(1) = 2, postcount(1) = 5
    fecount(2) = 0, secount(2) = 4, postcount(2) = 6
  • Wie ersichtlich werden die Verhältnisse der Frequenzen von "fastclk" (ffclk) und der Frequenzen der Eingabetakte (fclk(i)) über ihre jeweiligen Zähler [divratio(i)] berechnet, so dass divratio(i) = ffclk/fclk(i) und dann das maximale Verhältnis als „divratio_max" ausgewertet wird. Die Zählwerte, bei denen die Taktpulswerte initiiert werden, werden daher wie beschrieben erzeugt.
  • Bezug nehmend auf 3 ist ein Blockdiagramm einer Ausführungsform des Verzögerungsfehlerpulsgenerators von 2 gezeigt.
  • Der Generator 10 umfasst einen Reset-Logik-Block 12, der ausgebildet ist, um auf seiner „scan_en"-Eingabe einen Übergang von einer „1" zu „0" zu erkennen und wenn das „deft_en" (Verzögerungsfehlerfreigabe)-Signal „1" ist, dann erzeugt der Generator einen Eintakt-„0”-Puls genannt „clr_n". Der gesamte Schaltkreis wird zurückgesetzt und alle Register im Design werden zu „0" gelöscht.
  • Ein Zähler 14 ist beinhaltet, der bei der Anstiegsflanke des „fastclk"-Signals zählt. Dies ist der Referenzzähler, der einen Referenzpunkt bereitstellt, zu welchem die individuellen Takte ein- oder auszuschalten sind, um die erforderlichen Pulssignale zu erzeugen.
  • Ein Verhältnisgenerator 16 erhält das clk(i)-Signal und ist ausgebildet, um das „divratios(i)" = ffclk/fclk(1) auszuwerten. Jedes divratio(i) ist als ein Zähler implementiert, der zwischen den zwei Anstiegsflanken seines entsprechenden clk(i) zählt, auf dem „fastclk_n" (invertiertes fastclk)-Signal. Der Zähler hält danach an und speichert den finalen Zählwert als divratio(i).
  • Vorteilhafterweise werden zwei Zähler verwendet, um jeden divratio(i)-Wert zu berechnen, der wie erwähnt das Verhältnis der Frequenz des fastclk zu der Frequenz des clk(i) enthält.
  • Weiterhin wird ein Zähler von „fastclk_n" versorgt und ist ausgebildet, zu zählen, wenn seine Freigabeeingabe „1" ist. Dieses Freigabesignal wird von dem anderen der zwei Zähler erzeugt, welcher einen als „encabl_generator" identifizierten Zwei-Bit-Zähler umfasst und welcher als 00,01,10 zählt, bevor er anhält. Dieser Zähler wird vom clk(i)-Signal versorgt, dessen Teilungsverhältnis zu berechnen ist. Der LSB dieses Zwei-Bit-Zählers versorgt den divratio(i)-Zähler auf seinem „enable"-Pin, so dass der Zähler divratio(i) die Anzahl von „fastclks" zwischen zwei Anstiegsflanken von clk(i) zählt. Der MSB des „enable-generator"-Zählers ist ausgebildet, um ein „done(i)"-Signal zu zeigen und damit anzugeben, dass das Verhältnis fertig ist.
  • 4 stellt eine Darstellung des Betriebs dieses Blocks bereit, in diesem Beispiel hat clk(i) ein Teilungsverhältnis von fünf. Wie gesehen werden kann, hat, wenn das „done"-Signal hochgeht zu einer logischen „1", der divratio(i)-Zähler das darin gespeicherte Verhältnis.
  • Wenn jedes der „done(i)" auf „1" hochgeht, wird ein „ratios_done"-Signal erzeugt, welches das logische UND aller der „done(i)"-Signale ist.
  • Die divratios(i)-Signale des Verhältnisgenerators 16 werden an einen Maximumdivratio-Generatorblock 18, eine Taktkontrolle 20 und eine Verzögerung 22 ausgegeben.
  • Der Block 18 bewertet das „divratio_max" oder einfach „max". Er ist ausgebildet, alle der divratios(i) zu empfangen und „divratio_max" auszugeben, welcher der größte unter den divratio(i)-Werten ist. Dieser Block arbeitet auf dem „fastclk_n"-Signal.
  • Die Taktkontrolle 20 erzeugt das „clkout_p" in Abhängigkeit von den divratios(i) und des „max"-Wertes und ist ausgebildet, auf dem „fastclk"-Signal zu arbeiten.
  • Die Verzögerung 22 ist ausgebildet, jedes clk(i) um die Hälfte des fastclk-Taktzyklusses zu verzögern. Sie arbeitet auf „fastclk_n" und dient dazu, den Tastgrad der Takte mit ungeraden divratio(1)-Werten anzupassen.
  • Ein Testtaktpulsgeneratorblock 24 ist beinhaltet und ist verantwortlich für die Erzeugung zweier Pulse auf dem „fastclk"-Signal. Da dieses das schnellste Taktsignal ist, ist der Zähler 14 auf diesen Takt getaktet. Es ist allerdings nicht möglich, einfach zwei Pulse von „fastclk" durch den „counter_p" zu erzeugen. Auf dieser Basis werden spezifische Maßnahmen ergriffen, um die erforderlichen Pulse zu erzeugen. Ein „enable"-Signal wird erzeugt bei „counter_p" = „max" – 2 und „counter_p" = „max" + 1, welche ein Fenster definieren, dass groß genug ist, um zwei „fastclk"-Pulse zu enthalten. Diese „enable"-Ausgabe wird dann um die Hälfte eines Taktzyklusses verzögert, indem es durch „fastclk_n" getaktet wird, und so ist dann „fastclk_out" gleich zu dem Ergebnis von „enable" UND „fastclk".
  • Die Verzögerung 22 versorgt einen Impulspausenausgleichsblock 26, der ausgebildet ist, die Impulspause zwischen den Flanken der so erzeugten Takte auszugleichen. Da die ODD-Takte ein zusätzliches ODER-gate in ihrem Pfad haben, müssen ähnliche Verzögerungen zu den Takten mit geraden Verhältnissen ad diert werden. Auch muss das „fastclk" gegen die übrigen Takte ausgeglichen werden.
  • Der Betrieb der die vorliegende Erfindung verkörpernden und wie in 3 beschriebenen Schaltkreisanordnung wird jetzt beschrieben.
  • Jeder 1 zu 0-Übergang in dem scan_en-Signal dient dazu, den Pulsgenerator auszulösen und zu diesem Zeitpunkt, wenn deft_en „1" ist, dann ist der Fehlerpulsgenerator effektiv freigegeben, um die erforderlichen Zweipulsfolgen zu erzeugen.
  • Die Verhältnisse der Frequenz des „fastclk" zu den Frequenzen jeder individuellen Takteingabe clk(i) werden mit ihren jeweiligen Zählern divratio(i) berechnet, und diese Information wird an den Block 16 weitergegeben, um das maximale Verhältnis, „divratio_max" oder einfach „max", auszuwerten. Der counter_p in Block 14 beginnt dann zu zählen, und an einem bestimmten Zeitpunkt, d. h. fecount, secount, max und postcount, wie oben beschrieben, wird der entsprechende Taktwechsel durchgeführt, um „clkout_p" zu erzeugen, welcher um einen halben fastclk-Zyklus durch die fallende Flanke des fastclk verzögert wird, um „clkout_n" zu erzeugen. Der „clkout_n"-Wert wird dann in ein logisches ODER-Verhältnis mit clkout_p für die Takte mit ungeraden divratio(i)-Werten gesetzt, um den finalen clkout(i) zu erzeugen. Für gerade Werte von „divratio(i)" wird jedoch das „clkout_p" die finale Ausgabe.
  • Der fastclkout wird von dem Ergebnis von „enable" UND „fastclk" erzeugt. Der „enable"-Wert wird wie oben beschrieben erzeugt.
  • Wenn jedoch deft_en „0" ist, dann wird clkout(1) weniger oder gleich zu clk(i) sein und so werden, ohne dass die vorliegende Erfindung aktiv ist, die Eingabetakte direkt als die Ausgabetakte durchgegeben.
  • Die illustrierte Ausführungsform zeigt die folgenden vorteilhaften Eigenschaften der Erfindung auf.
  • Da die Anordnung die Takte künstlich erzeugt, muss sie nicht auf einen Zeitpunkt warten, wo alle Eingabetakte zusammen auftreten, und dann diese Pulse ausgeben. Die Erfindung kann daher sehr schnell arbeiten und die Taktausgaben wer den in einer minimalen Zeit erzeugt, nachdem eine Anfrage gestellt wurde. Die erforderliche Zeit zum Erzeugen der Pulse ist gegeben durch, 2·n(divratios_evaluation) + n(max_calculation) + max + 1wobei:
    2·ndivratios_evaluation = time um divratio(i) = ffastclk/fslowestclk auszuwerten;
    nmax_calculation = Anzahl der Takte, um den maximalen Wert zu berechnen, welcher Werte bis zur Anzahl der Takte im Design (ohne fastclk) annehmen kann, wenn ein sequentielles Verfahren verwendet wird, um den maximalen Wert zu berechnen; und
    Max = ffastclk/fslowestclk
  • Wenn es daher im Design beispielsweise fünf Takte mit
    divratio(0) = 2
    divratio(1) = 3
    divratio(2) = 5
    divratio(3) = 6
    divratio(4) = 7,
    gibt, dann würde die typische Wartezeit sein 2·7 + 5 + 7 + 1 = 27 Takte
  • Mit den Stand der Technik-Anordnungen, in welchen es notwendig ist, darauf zu warten, dass alle Takte zusammen ansteigen, ist es erforderlich, eine LCM-Anzahl von Takten zu warten, wobei LCM das kleinste gemeinsame Vielfache (Least Common Multiple) von allen divratio(i) ist, was im obengenannten Fall LCM (2, 3, 5, 6, 7) = 210 ist. Dies tritt auf, da die Anzahl von fastclk-Perioden zwischen den zwei Ereignissen, wo alle Impulse gemeinsam ansteigen, der LCM von allen divratio(i) ist.
  • Die Erfindung umfasst daher eine schnelle, aber extrem kleine Schaltkreisanordnung, die nur sehr wenige Komponenten erfordert.
  • Weiterhin ist die Schaltkreisanordnung vorteilhafterweise generisch dadurch, dass ihr VHDL-Design parametrisiert ist und nur durch Verändern einer minimalen Anzahl von Parametern neue Designs erzeugt werden können, die für jede erforderliche Anzahl von Takten mit verschiedenen Frequenzteilungsverhältnissen einsatzbereit ist.
  • Da im Anwendungsmodus nur ein Multiplexer im Datenpfad ist, werden die Takte nicht signifikant verzögert und dies bietet so eine reduzierte Verzögerung im Anwendungsmodus.
  • Es sollte vom dargestellten Beispiel festgestellt werden, dass alle der Eingabetakte clk(i), außer fastclk, Frequenzen fclk(i) haben sollten, so dass F/fclk(i) = gesamte Anzahl aller i, und wobei F die Frequenz von fastclk ist.

Claims (15)

  1. Verzögerungs-Fehlertest-Schaltkreis (10) zum Erzeugen einer Vielzahl von Verzögerungs-Fehlerfest-Signalen (fstclkout, clkout(0), clkout(1), clkout(2)), wobei jedes Verzögerungs-Fehlertest-Signal in Antwort auf ein Eingabetaktsignal (fstclk, clk(0), clk(1), clk(2), erzeugt wird, und die jeweiligen Eingabetaktsignale unterschiedliche, Logikschaltungen, die zum Laufen mit unterschiedliche Geschwindigkeiten ausgerichtet sind, zugeordneten Frequenzen besitzen und jedes Verzögerungs-Fehlertest-Signal eine Folge von zwei Taktpulsen umfasst, die so angeordnet sind, dass die Anstiegsflanken des zweiten der Taktpulse der jeweiligen Verzögerungs-Fehlertest-Signale ausgerichtet sind, wobei der Schaltkreis beinhaltet: Zählmittel (14) zum Erzeugen eines Referenzzählwertes; Mittel (16, 18, 20, 22, 24) zum, für jedes der Verzögerungs-Fehlertest-Signale, Initiieren des ersten von zwei Taktpulsen, wenn der Zählwert einen ersten Schwellenwert erreicht; Mittel (16, 18, 20, 22, 24) zum, für jedes der Verzögerungs-Fehlertest-Signale, Beenden des ersten von zwei Taktpulsen, wenn der Zählwert einen zweiten Schwellenwert erreicht; Mittel (16, 18, 20, 22, 24) zum, für jedes der Verzögerungs-Fehlertest-Signale, Initiieren des zweiten von zwei Taktpulsen, wenn der Zählwert einen dritten Schwellenwert erreicht; und Mittel (16, 18, 20, 22, 24) zum, für jedes der Verzögerungs-Fehlertest-Signale, Beenden des zweiten von zwei Taktpulsen, wenn der Zählwert einen vierten Schwellenwert erreicht; dadurch gekennzeichnet, dass der dritte Schwellenwert für jedes Eingabetaktsignal gemein ist und die jeweils ersten, zweiten und vierten Schwellenwerte auf den jeweiligen Frequenzen der Eingabetaktsignale basieren.
  2. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 1 beansprucht, wobei die ersten, zweiten und vierten Schwellenwerte Funktionen des Verhältnisses des Eingabetaktsignals mit der höchsten Frequenz (fstclk) zu der der zu testenden Logikschaltung zugeordneten Taktfrequenz umfassen.
  3. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 2 beansprucht, wobei die ersten, zweiten und vierten Schwellenwerte Funktionen des Maximums der vorgenannten Verhältnisse sind.
  4. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 3 beansprucht, wobei der erste Schwellenwert von der Differenz zwischen dem genannten maximalen Verhältniswert und dem Verhältniswert für das der zu testenden Logikschaltung zugeordnete Eingabetaktsignal abgeleitet wird.
  5. Verzögerungs-Fehlertest-Schaltkreis (10) wie in den Ansprüchen 3 und 4 beansprucht, wobei der zweite Schwellenwert auf Basis der Differenz zwischen dem genannten maximalen Verhältniswert und der Hälfte des Verhältniswertes für das der zu testenden Logikschaltung zugeordnete Eingabetaktsignal bestimmt wird, wenn der genannte Verhältniswert eine gerade Zahl umfasst.
  6. Verzögerungs-Fehlertest-Schaltkreis (10) wie in den Ansprüchen 3 und 4 beansprucht, wobei der zweite Schwellenwert auf Basis der Differenz zwischen dem maximalen Verhältniswert und der Hälfte des Verhältniswerts für das der zu testenden Logikschaltung zugeordnete Eingabetaktsignal, plus eins, ermittelt wird, wenn das bestimmte Verhältnis eine ungerade Zahl umfasst.
  7. Verzögerungs-Fehlertest-Schaltkreis (10) wie in einem oder mehreren der Ansprüche 4, 5 oder 6 beansprucht, wobei der vierte Schwellenwert auf Basis der Summe des maximalen Verhältnisses und der Hälfte des bestimmten Teilungsverhältnisses des der zu testenden Logikschaltung zugeordneten Eingabetaktsignals bestimmt wird.
  8. Verzögerungs-Fehlertest-Schaltkreis (10) wie in einem oder mehreren der vorhergehenden Ansprüche beansprucht, und umfassend einen Verhältnisgenerator (16), in welchem das vorgenannten Verhältnis durch einen Zähler implementiert ist.
  9. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 8 beansprucht und zwei Zähler umfassend, um jedes der vorgenannten Verhältnisse zu berechnen.
  10. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 9 beansprucht, wobei der erste der zwei Zähler ausgebildet ist: um vom Eingabetaktsignal, das die höchste Frequenz hat (fstclk), versorgt zu werden; und ein Freigabesignal, das vom anderen der zwei Zähler erzeugt wird, zu empfangen.
  11. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 10 beansprucht, wobei der zweite Zähler ausgebildet ist, um vom Eingabetaktsignal, bezüglich dessen das Teilungsverhältnis zu berechnen ist, versorgt zu werden.
  12. Verzögerungs-Fehlertest-Schaltkreis (10) wie in Anspruch 11 beansprucht, wobei das am wenigsten signifikante Bit des zweiten Zählers das an den ersten Zähler gelieferte Freigabesignal umfasst und wobei das signifikanteste Bit des zweiten Zählers ein Signal umfasst, das anzeigt, dass das erforderliche Verhältnis bestimmt wurde.
  13. Verzögerungs-Fehlertest-Schaltkreis (10) wie in einem oder mehreren der Ansprüche 3 bis 7 beansprucht, und umfassend einen Pulsgenerator (24), der auf das Eingabetaktsignal mit der höchsten Frequenz, in der ein Freigabesignal innerhalb eines durch Referenz zu dem maximalen Verhältnis definierten Fensters erzeugt ist, reagiert.
  14. Verfahren zum Erzeugen einer Vielzahl von Verzögerungs-Fehlertest-Signalen (fstclkout, clkout(0), clkout(1), clkout(2)), wobei jedes Verzögerungs-Fehlertest-Signal in Reaktion auf ein Eingabetaktsignal (fstclk, clk(0), clk(1), clk(2), erzeugt wird, wobei die entsprechenden Eingabetaktsignale unterschiedliche, den Logikschaltungen, die zum Laufen bei verschiedenen Geschwindigkeiten ausgebildet sind, zugeordnete Frequenzen besitzen, und jedes Verzögerungs-Fehlertest-Signal eine Folge von zwei Taktpulsen umfasst, die ausgebildet sind, so dass die Anstiegsflanken des zweiten der Taktpulse des entsprechenden Verzögerungs-Fehlertest-Signals ausgerichtet sind, wobei die Methode die folgenden Schritte umfasst: Erzeugen eines Referenzzählwertes; und für jedes der Verzögerungs-Fehlertest-Signale entsprechend: – Initiieren eines ersten der zwei Taktpulse, wenn der Zählwert einen ersten Schwellenwert erreicht; – Beenden des ersten der zwei Taktpulse, wenn der Zählwert einen zweiten Schwellenwert erreicht; – Initiieren des zweiten der zwei Taktpulse, wenn der Zählwert einen dritten Schwellenwert erreicht; und – Beenden des zweiten der zwei Taktpulse, wenn der Zählwert einen vierten Schwellenwert erreicht; dadurch gekennzeichnet, dass: der dritte Schwellenwert für die entsprechenden Eingabetaktsignale gemein ist und die entsprechenden ersten, zweiten und vierten Schwellenwerte auf den entsprechenden Frequenzen der Eingabetaktsignale basieren.
  15. Verfahren zum Erzeugen einer Vielzahl von Verzögerungs-Fehlertest-Signalen wie in Anspruch 14 definiert und umfassend Schritte, die in Übereinstimmung mit den Schaltkreisen eines oder mehrerer der Ansprüche 2 bis 13 ausgeführt werden.
DE602004009475T 2003-12-27 2004-12-17 Verzögerungs-fehlertest-schaltkreise und diesbezügliches verfahren Active DE602004009475T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0330076.1A GB0330076D0 (en) 2003-12-27 2003-12-27 Delay fault test circuitry and related method
GB0330076 2003-12-27
PCT/IB2004/052847 WO2005066645A1 (en) 2003-12-27 2004-12-17 Delay fault test circuitry and related method

Publications (2)

Publication Number Publication Date
DE602004009475D1 DE602004009475D1 (de) 2007-11-22
DE602004009475T2 true DE602004009475T2 (de) 2008-07-24

Family

ID=31503217

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004009475T Active DE602004009475T2 (de) 2003-12-27 2004-12-17 Verzögerungs-fehlertest-schaltkreise und diesbezügliches verfahren

Country Status (8)

Country Link
US (1) US7457992B2 (de)
EP (1) EP1702218B1 (de)
JP (1) JP2007518976A (de)
CN (1) CN1902502B (de)
AT (1) ATE375519T1 (de)
DE (1) DE602004009475T2 (de)
GB (1) GB0330076D0 (de)
WO (1) WO2005066645A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024324B2 (en) * 2004-05-27 2006-04-04 Intel Corporation Delay element calibration
CN100366006C (zh) * 2005-12-26 2008-01-30 北京中星微电子有限公司 通用串行总线物理层收发器嵌入式自我测试的方法及装置
CN110999086B (zh) * 2017-10-16 2024-03-08 微芯片技术股份有限公司 容错时钟监视器系统
US11824535B2 (en) * 2018-07-11 2023-11-21 Siemens Aktiengesellschaft Fail-safe counter evaluator to insure proper counting by a counter
JP2020072549A (ja) * 2018-10-31 2020-05-07 株式会社豊田中央研究所 電源装置
US11092648B2 (en) * 2019-04-15 2021-08-17 Grammatech, Inc. Systems and/or methods for anomaly detection and characterization in integrated circuits
CN112816858B (zh) * 2020-12-31 2022-09-16 成都华微电子科技股份有限公司 数字电路延时测试方法、测试电路和集成电路芯片

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349587A (en) * 1992-03-26 1994-09-20 Northern Telecom Limited Multiple clock rate test apparatus for testing digital systems
US6081913A (en) * 1997-06-03 2000-06-27 Sun Microsystems, Inc. Method for ensuring mutual exclusivity of selected signals during application of test patterns
JP2953435B2 (ja) * 1997-06-09 1999-09-27 日本電気株式会社 遅延テスト方法および該遅延テスト方法に使用するフリップフロップ
US6966021B2 (en) * 1998-06-16 2005-11-15 Janusz Rajski Method and apparatus for at-speed testing of digital circuits
US6484294B1 (en) * 1999-04-23 2002-11-19 Hitachi, Ltd. Semiconductor integrated circuit and method of designing the same
US6510534B1 (en) * 2000-06-29 2003-01-21 Logicvision, Inc. Method and apparatus for testing high performance circuits
US6954887B2 (en) * 2001-03-22 2005-10-11 Syntest Technologies, Inc. Multiple-capture DFT system for scan-based integrated circuits
JP2003043109A (ja) * 2001-07-30 2003-02-13 Nec Corp 半導体集積回路装置及びその試験装置
GB0119300D0 (en) * 2001-08-08 2001-10-03 Koninkl Philips Electronics Nv Delay fault test circuitry and related method
US7058866B2 (en) * 2002-04-24 2006-06-06 International Business Machines Corporation Method and system for an on-chip AC self-test controller

Also Published As

Publication number Publication date
CN1902502B (zh) 2010-06-09
GB0330076D0 (en) 2004-02-04
DE602004009475D1 (de) 2007-11-22
EP1702218B1 (de) 2007-10-10
US7457992B2 (en) 2008-11-25
ATE375519T1 (de) 2007-10-15
JP2007518976A (ja) 2007-07-12
WO2005066645A1 (en) 2005-07-21
EP1702218A1 (de) 2006-09-20
US20070168158A1 (en) 2007-07-19
CN1902502A (zh) 2007-01-24

Similar Documents

Publication Publication Date Title
DE60202749T2 (de) Schnittstelle von synchron zu asynchron zu synchron
DE60002567T2 (de) Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür
DE102008046831B4 (de) Ereignisgesteuerte Zeitintervallmessung
DE3632205C2 (de) Aus mehreren parallel arbeitenden Datenverarbeitungsmoduln bestehende Datenverarbeitungsanordnung mit einer mehrfach redundanten Taktanordnung
DE102005060394A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE10249886B4 (de) Verfahren und Vorrichtung zum Erzeugen eines Taktsignals mit vorbestimmten Taktsingaleigenschaften
DE10130122B4 (de) Verzögerungsregelkreis
DE102012219056B4 (de) Störimpulsfreier programmierbarer Taktformer
DE112008001125T5 (de) Prüfgerät und Prüfverfahren
DE60203398T2 (de) Verzögerungsfehler-testschaltung und -methode
DE602004009475T2 (de) Verzögerungs-fehlertest-schaltkreise und diesbezügliches verfahren
DE69830870T2 (de) Kombinatorische Verzögerungsschaltung für einen digitalen Frequenzvervielfacher
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE102004011452A1 (de) System und Verfahren zum Auswerten der Geschwindigkeit einer Schaltung
DE102006002735B3 (de) Vorrichtung zur Korrektur des Tastverhältnisses in einem Taktsignal
DE10000758A1 (de) Impulserzeuger
DE3743434C2 (de)
DE10006144B4 (de) Zeitgeberschaltung und Verfahren zur Erzeugung einer Zeitsteuerung für ein Halbleiterprüfsystem
DE10004108C1 (de) Schaltungsanordnung zur Generierung eines Ausgangs-Taktsignals mit optimierter Signalgenerierungszeit
DE102007043340B4 (de) Erhöhung der PWM-Auflösung durch Modulation
EP1012973B1 (de) Digitale schaltung mit einer filtereinheit zur unterdrückung von störimpulsen
EP0897614B1 (de) Taktsignalgenerator
DE60319664T2 (de) Verfahren und Anordung zur Verminderung einer Taktverschiebung zwischen zwei Signalen
DE4422784C2 (de) Schaltungsanordnung mit wenigstens einer Schaltungseinheit wie einem Register, einer Speicherzelle, einer Speicheranordnung oder dergleichen
DE69733814T2 (de) Multiplexer für taktsignale

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: MITTAL, AVIRAL, REDHILL, SURREY, GB

8364 No opposition during term of opposition