-
Die
Erfindung bezieht sich im Allgemeinen auf eingebaute Testmodule
für integrierte
Schaltungen und befasst sich im Besonderen mit einer Vorrichtung
zur Bestimmung der Zugriffszeit und/oder der minimal tolerierbaren
Zykluszeit eines Speichers, der einen Teil eines Chips mit integrierter
Schaltung bildet. Insbesondere bezieht sich die Erfindung auch auf
Testchips und hier besonders auf Bibliothekstestchips.
-
Um
die Funktionalität
von Chips zu verifizieren, bevor sie verschickt werden, werden elektronische
Tester verwendet, um die Funktionalität jedes einzelnen Chips zu
testen. Eines der Ziele ist, die Zeiten zu messen oder zu bestimmen,
die die Leistung des zu testenden Bausteins charakterisieren.
-
Zwei
Arten von Zeiten müssen
gemessen oder bestimmt werden. Zum einen gibt es Schaltzeiten restriktiver
Art, die auf eine minimale Verzögerung
bezogen sind, die im Bezug auf die Eingangssignale des zu testenden
Bausteins zu beachten ist. Die Zykluszeit, die sich als der Zeitabschnitt
zwischen zwei aufeinander folgenden ansteigenden Flanken eines Taktungssignals
bemisst, ist ein Beispiel für
eine Schaltzeit restriktiver Art. Ein weiteres Beispiel für eine Schaltzeit
restriktiver Art sind Installations- und Wartezeiten. Zum anderen
gibt es Schaltzeiten verzögernder
Art, die sich auf eine Übertragungsverzögerung vom
Input bis zum Output eines zu testenden Bausteins beziehen. Die
Speicherzugriffszeit kann als Beispiel für eine Schaltzeit verzögernder
Art dienen.
-
Die
Charakterisierung von Schaltzeiten eingebetteter Speicher, insbesondere
wenn sie Teil von Bibliothekskomponenten sind, muss eine hohe relative
Genauigkeit im Bereich von 1 Prozent erreichen. Im Falle von Zugriffszeiten
oder Zykluszeiten von 500 Pikosekunden führt die angeführte Bedingung
zu einer absoluten Genauigkeit von 5 Pikosekunden.
-
Für eine hochauflösende Charakterisierung von
Schaltzeiten verzögernder
Art bedarf es hochauflösender
Bauteile zur Messung von Verzögerungen.
In der Praxis müssen
die Bauteile zur Verzögerungsmessung
die Verzögerung
zwischen zwei Signalen mit einer Genauigkeit von 5 Pikosekunden messen
können.
-
Diese
sehr anspruchsvollen Bedingungen können unmöglich erfüllt werden, wenn die hochempfindlichen
generierten oder zu messenden Signale die Schnittstelle zwischen
Chip und Tester passieren müssen.
Darum besteht die Notwendigkeit, alle empfindlichen Bauteile und
Operationen im Inneren des Chips einzubetten. Spezielle Verfahren
müssen
verwendet werden, so dass die verbleibenden Interaktionen mit dem
Tester keine empfindlichen Signale mehr beinhalten.
-
Die
Operationen im Inneren heutiger integrierter Schaltungen finden
in Frequenzbereichen statt, die die Frequenzen der Tester oder gedruckter Schaltungen
in den vergangenen Jahren überstiegen haben.
Tests eingebetteter Speicher müssen
bei realen Frequenzen vorgenommen werden, das heißt, bei
Frequenzen, bei denen solche Speicher verwendende Applikationen
letzlich ausgeführt
werden. Deshalb muss die Zugriffszeit von Speichern sowohl bei niedrigen
als auch bei hohen Frequenzen charakterisiert werden. Des Weiteren
erfordert die Charakterisierung minimal tolerierbarer Zykluszeiten
ebenfalls hohe Frequenzen. Die typischen Frequenzen solcher Tests
und Charakterisierungen sind größer als
1 GHz. Da gewöhnliche
eingebettete Speicher Hunderte von Eingangs- und Ausgangssignale
verzeichnen, wie Adressen, Dateneingänge und -ausgänge, ist
eine Kontrolle durch einen externen Tester bei hohen Frequenzen
nicht realisierbar. Daher müssen
die Bausteine, die den Speicher stimulieren und testen, eingebettet
werden.
-
Um
die Übertragungsverzögerungen
zu messen, initiiert der Tester eine Messung, indem er ein Stimulussignal
auf der zu untersuchenden Verzögerungsstrecke
ausgibt und daraufhin ermittelt, wann der gewünschte Output antwortet. Im
U.S. Patent Nr. 6,424,583 wird
das Prinzip solcher Messkreise beschrieben. Einer anderen Vorgehensweise
gemäß, beschrieben
in
U.S. Patent Nr. 5,923,676 ,
wird der zu testende Baustein in einen Ringoszillator eingeführt. Ein
Ringoszillator ist eine Kette von Invertierern oder anderen logischen
Gattern, die dauerhaft in einem Ring oder einer Schleife zusammengeschlossen sind,
in der die Gesamtanzahl von Inversionen in der Schleife ungerade
ist, um eine Oszillation zu gewährleisten.
Die Schleife oszilliert dabei bei einer Frequenz, die umgekehrt
proportional zur Verzögerung entlang
der Schleife ist. Die minimale Verzögerung, die eine korrekte Funktion
des zu testenden Bausteins ermöglicht,
wird dadurch bestimmt, dass sukzessive verschiedene Installations-
und Wartezeiten eingestellt werden. Die Installations- und Wartezeiten werden
in äquivalenten
Inverterverzögerungen
angegeben.
-
Die
Zugriffszeit eines Speichers definiert sich durch die schlechteste
Zugriffszeit auf alle Bits des Speichers. Für einen 1 Mbit Speicher ist
die Zugriffsszeit daher die schlechteste von über einer Million Zugriffszeiten.
Da die Messungen unter Verwendung eines externen Testers durchgeführt werden,
ist es sehr zeitaufwändig,
alle Zugriffszeiten zu messen und sie hinterher zu maximieren. Deshalb
ist es Aufgabe der vorliegenden Erfindung, eine Vorrichtung bereitzustellen,
die die maximale Zugriffszeit auf dem Chip finden kann und in Folge
diese maximale Zugriffszeit messen kann. Die oben formulierte Aufgabe betrifft
entsprechend auch die Bestimmung der minimal tolerierbaren Zykluszeit,
bei der der Speicher laufen kann.
-
Gemäß einer
weiteren Aufgabe der vorliegenden Erfindung muss die Vorrichtung
insbesondere eine Zeit unter allen erdenklichen Bedingungen in Bezug
auf andere Zeiten charakterisieren können. Zum Beispiel muss die
spezifizierte Zugriffszeit von geringen bis zu hohen Frequenzen
gültig
sein, bei denen der Speicher betrieben wird.
-
Im
Falle eines RAMs (Random Access Memory) hängen die Schaltzeiten vom Speicherinhalt und
der Reihenfolge der Arbeitsschritte ab. Daher muss die Vorrichtung
insbesondere den kritischsten Inhalt an den der zu testenden Stelle
benachbarten Stellen testen können.
Die Vorrichtung muss insbesondere auch den RAM mit der kritischsten
Folge von Arbeitsschritten stimulieren können.
-
Die
zu messenden Zeiten sind zumeist kürzer als 1 Nanosekunde. Es
sei betont, dass in diesem Fall eine direkte Messung der Zeiten
nicht mit gängigen
Standardtestern, Standardpads oder Standardchiproutinen möglich ist.
In der Praxis erleiden die ausgehenden Datenpakete, die an den Nadeln
des Testers detektiert werden, einige erhebliche Attacken, wie zum
Beispiel Übersprechen
zwischen Datenoutputs, Reflexionen, Spannungsabfälle und/oder Störimpulse
der Stromversorgung der Pads. Diese Probleme können dadurch umgangen werden,
dass die Zeiten in niedrige Frequenzen konvertiert werden. Messkreise
zur Zeit-Frequenz-Konversion
werden zum Beispiel in den
U.S.
Patenten Nrs. 5,083,299 ,
5,923,676 und
4,875,201 beschrieben.
-
Weitere
Schaltkreise, die einen Speicher und eine Vorrichtung zur Bestimmung
der Zugriffszeit und/oder der minimal tolerierbaren Zykluszeit auf Speichern
umfassen, kann man in den Druckschriften
US 4,430,735 ,
US 6,266,749 B1 und
US 5,995,424 A finden.
-
Die
oben formulierten Aufgaben, auf denen sich die Erfindung gründet, werden
durch einen Schaltkreis nach Anspruch 1 und ein Verfahren nach Anspruch
11 erreicht.
-
Bevorzugte
und vorteilhafte Ausführungsformen
der Vorrichtung gemäß Anspruch
1 sind Gegenstand der Ansprüche
2 bis 10. Eine bevorzugte und vorteilhafte Ausführungsform des Verfahrens gemäß Anspruch
11 ist Gegenstand des Anspruchs 12.
-
In Übereinstimmung
mit der vorliegenden Erfindung umfasst eine Vorrichtung zur Bestimmung der
Zugriffszeit und/oder der minimal tolerierbaren Zykluszeit eines
eingebetteten Speichers programmierbare Verzögerungsmittel, ein Abtasthaltemittel, einen
Vergleicher und einen Teststatusgenerator. Die Vorrichtung ist gleichzeitig
Teil des integrierten Schaltkreises, in den der Speicher eingebettet
ist.
-
Zum
Zwecke der Datenausgabe wird ein Kontrollanschluss des Speichers
mit einem Taktungssignal bespeist. Als Antwort auf das Taktungssignal
werden im Falle einer Leseoperation Daten des Speichers ausgegeben.
-
Die
programmierbaren Verzögerungsmittel umfassen
einen Eingangsanschluss zum Empfang des Taktungssignals und einen
Ausgangsanschluss, an dem ein verzögertes Taktungssignal generiert wird.
Das verzögerte
Taktungssignal wird erzeugt, indem das Taktungssignal um eine programmierte
Verzögerung
verzögert
wird.
-
Die
Abtasthaltemittel umfassen einen Steueranschluss verbunden mit dem
Ausgangsanschluss der programmierbaren Verzögerungsmittel, zumindest einen
Eingangsanschluss zur Abtastung von Ausgangsdaten des Speichers
in Anwort auf das verzögerte
Taktungssignal und zumindest einen Ausgangsanschluss, an dem die
abgetasteten Daten ausgegeben werden.
-
Die
programmierbaren Verzögerungsmittel ermöglichen
es in Kopplung mit den Abtasthaltemitteln die Ausgabe des Speichers
bei einer unter Berücksichtigung
des Taktungssignals programmierbaren Verzögerung abzutasten. Falls die
programmierte Verzögerung
größer als
die Zugriffszeit des Speichers ist, wird der Wert, der von den Abtasthaltemitteln
ausgegeben wird, so groß wie
das Ergebnis der Leseoperation sein. Damit gibt der Ausgabewert
der Abtasthaltemittel Aufschluss darüber, ob die Zugriffszeit größer oder
kleiner als die programmierte Verzögerung ist.
-
Ein
Vorteil des Erfindung ist, dass die zwischen Speicher, Abtasthaltemittel
und den programmierbaren Verzögerungsmitteln
ausgetauschten Signale nicht durch das Durchlaufen von Schnittstellen verschlechtert
werden, weil besagte Bausteine alle im selben Chip eingebettet sind.
-
Der
Vergleicher ist an die Abtasthaltemittel gekoppelt. Seine Funktion
ist es, die Ausgabedaten, die vorher durch das Abtasthalteglied
abgetastet wurden, mit vorgegebenen Referenzwerten zu vergleichen.
-
Der
Teststatusgenerator ist an den Vergleicher gekoppelt. Der Teststatusgenerator
generiert einen Teststatus, der von den Ergebnissen mehr als einer
Vergleichsoperation durch den Vergleicher abhängt. Der Teststatus gibt Aufschluss
darüber,
ob alle vorher vorgenommenen Vergleiche ein positives Ergebnis geliefert
haben – also
beide Eingangsrechengrößen den
selben Wert hatten – oder
ob zumindest ein Vergleich ein negatives Ergebnis geliefert hat.
Infolgedessen, falls alle zum Teststatus beitragenden Vergleiche
ein positives Ergebnis geliefert haben, waren alle Zeiten größer als
die minimal tolerierbaren Zeiten.
-
Zur
Bestimmung der Zugriffszeit bedeutet das, dass der Teststatus Auskunft
erteilt, ob die momentan einprogrammierte Verzögerung größer oder kleiner als die Zugriffszeit
ist. Diese Bestimmung erfordert als Voraussetzung, dass die Frequenz
des Taktungssignals kleiner als die maximale Arbeitsfrequenz des
Speichers ist.
-
Falls
die minimal tolerierbare Zykluszeit untersucht wird, gibt der Teststatus
Aufschluss darüber, ob
die Frequenz, mit der das Taktungssignal wiederholt wird, größer oder
kleiner als die maximale Arbeitsfrequenz ist, die mit der minimal
tolerierbaren Zykluszeit korrespondiert. Um die minimal tolerierbare
Zykluszeit bestimmen zu können,
muss die einprogrammierte Verzögerung
mindestens die selbe Dauer wie die Zugriffszeit haben.
-
Wegen
der hohen Frequenzen, bei denen der Test abläuft, ist es notwendig den Vergleicher
und den Teststatusgenerator in den gleichen Chip einzubetten. Da
gewöhnliche
eingebettete Speicher Hunderte von Eingangs- und Ausgangsignale
verzeichnen, wie zum Beispiel Adressen, Dateneingänge und Datenausgänge, ist
deren Kontrolle durch eine externe Vorrichtung bei hohen Frequenzen
nicht realisierbar. Daher erlaubt das Einbetten aller Bausteine
zum Testen des Speichers in einem Chip die Verwendung hoher Frequenzen
während
der Bestimmung der Zugriffszeit und darüber hinaus die Stimulation
des Speichers bei seiner maximalen Arbeitsfrequenz zur Bestimmung
derselben.
-
Zweckmäßigerweise
kann die Anzahl der Vergleiche, die gezogen werden, bevor ein Teststatus
generiert wird, einprogrammiert werden. Zum Beispiel kann vorgesehen
sein, dass alle Daten des Speichers eimalig ausgegeben und abgetastet
werden und mit ihren Referenzwerten verglichen werden, bevor ein
Teststatus erstellt wird. Das ermöglicht das Erstellen eines
Teststatus, nachdem der volle Testalgorithmus, der alle Speicherplätze aktiviert,
beendet worden ist.
-
Im
Falle der Bestimmung der Zugriffszeit wird die maximale Zugriffszeit
für kleiner
als die einprogrammierte Verzögerung
befunden, wenn alle Ausgaben während
des Testalgorithmus korrekt abgetastet worden sind. Umgekehrt wird
die maximale Zugriffszeit für
größer als
die einprogrammierte Verzögerung befunden,
wenn zumindest eine Ausgabe während
des Testalgorithmus nicht korrekt abgetastet worden ist. Das verzögerte Taktungssignal
wird dann je nach Teststatus entsprechend angepasst und die beschriebene
Prozedur wiederholt. Eine Veränderung
des logischen Zustandes des Teststatus zeigt die maximale Zugriffszeit
an. Sobald die maximale Zugriffszeit bestimmt ist, kann sie gemessen werden.
Mithin wird die maximale Zugriffszeit auf dem Chip vor jeder Messung
bestimmt und die einzige Messung, die durchgeführt werden muss, ist die Messung
der einprogrammierten Verzögerung
entsprechend des Grenzwertes. Dies ist ein Vorteil der Erfindung,
der die Messung verkürzt,
da nur eine Zeitmessung vorgenommen werden muss, um die Zugriffszeit
des Speichers zu ermitteln.
-
Zur
Bestimmung der minimal tolerierbaren Zykluszeit wird nahezu der
gleiche Testalgorithmus wie oben ausgeführt verwendet. Lediglich die
Frequenz des Taktungssignals muss anstelle der einprogrammierten
Verzögerung
variiert werden. Eine Veränderung
des logischen Zustands des Teststatus zeigt dann die minimal tolerierbare
Zykluszeit an. Damit kann die erfindungsgemäße Vorrichtung auch die minimal
tolerierbare Zykluszeit vor jedweder Messung bestimmen.
-
Gemäß der Erfindung
umfasst die Vorrichtung einen Rückkopplungskreis,
der den Ausgangsanschluss der programmierbaren Verzögerungsmittel
an ihren Eingangsanschluss zurückkoppelt.
In diesem Fall wird die Verbindung zwischen dem Taktgeber und den
programmierbaren Verzögerungsmitteln unterbrochen.
Diese Konfiguration führt
zu einer Zeit-Frequenz-Konversion der programmierbaren Verzögerung.
-
Die
erfindungsgemäße Vorrichtung
umfasst vorzugsweise einen Vektorgenerator, der zumindest einen
ersten Ausgangsanschluss besitzt, an dem ein Datenmuster generiert
wird und/oder an dem Adressen generiert werden und/oder an dem Steuersignale bezüglich Chipauswahl
und/oder Lese-/Schreibzugriff generiert werden. Das Datenmuster
und/oder die Adressen speisen einen Eingangsanschluss des Speichers.
Das Datenmuster kann das schlechtestmögliche Muster des Speicherinhalts
sein. Die durch den Vektorgenerator generierten Adressen wählen die
Daten, die durch den Speicher ausgegeben werden sollen. Das ermöglicht eine
Stimulation des Speichers mit der kritischsten Folge von Arbeitsschritten.
-
Weiterhin
kann der Vektorgenerator auch einen zweiten Ausgangsanschluss umfassen,
der mit einem Eingangsschluss des Vergleichers verbunden ist. Das
ermöglicht
dem Vektorgenerator die Bereitstellung von Referenzwerten für den Vergleicher,
die mit dem auf den Speicher geschriebenen Datenmuster korrespondieren.
-
Der
Vergleicher ist vorteilhafterweise als Multi-Bit-Vergleicher ausgeführt.
-
Obwohl
das Taktungssignal von einem externen Taktgeber bereitgestellt werden
kann, ist es vorteilhaft, den Taktgeber, der das Taktungssignal
an seinem Ausgangsanschluss bereitstellt, in den Chip einzubetten.
Der Vorteil besteht darin, dass die Taktungssignale nicht eine Schnittstelle
zwischen dem Chip und der Vorrichtung passieren. Damit wird eine Signalverschlechterung
durch das Passieren einer Schnittstelle vermieden.
-
Der
Taktgeber ist vorzugsweise ein programmierbarer Taktgeber. Insbesondere
umfasst er einen programmierbaren Ringoszillator. Der programmierbare
Ringoszillator ermöglicht
die Messung der minimal tolerierbaren Zykluszeit. Zur Bestimmung
der minimal tolerierbaren Zykluszeit wird ein kompletter Testlauf
durch Aktivierung aller Speicherplätze durchlaufen. Danach wird
ein Status erstellt, der anzeigt, ob die minimal tolerierbare Zykluszeit
größer oder
kleiner als der einprogrammierte Zeitabschnitt ist.
-
Die
Abtasthaltemittel umfassen vorzugsweise einen ersten Satz an Flip-Flops.
-
Gemäß einer
vorteilhaften Ausführungsform der
erfindungsgemäßen Vorrichtung
kann besagter erster Satz an Flip-Flops in einem transparenten Modus
betrieben werden. Diese vorteilhafte Ausführungsform der Vorrichtung
erlaubt die Messung der minimal tolerierbaren Zykluszeit ohne Beschränkung durch
die Zugriffszeit.
-
Um
die Einschränkungen
für die
Geschwindigkeit des Vergleichers aufzuheben, ist es vorteilhaft,
dass die erfindungsgemäße Vorrichtung
einen zweiten Satz an Flip-Flops umfasst, der zwischen dem ersten
Satz an Flip-Flops und dem Vergleicher angeordnet ist. Der zweite
Satz an Flip-Flops wird durch das Taktungssignal gesteuert.
-
Die
erfindungsgemäße Vorrichtung
umfasst vorteilhafterweise einen Frequenzteiler, der einen Eingang
besitzt, der mit dem Ausgangsanschluss des Taktgebers oder dem Ausgangsanschluss
der programmierbaren Verzögerungsmittel
verbunden werden kann. Alternativ kann dafür gesorgt werden, dass die
erfindungsgemäße Vorrichtung
einen ersten Frequenzteiler umfasst, der mit dem Ausgangsanschluss
des Taktgebers verbunden ist, und einen zweiten Frequenzteiler,
der mit dem Ausgangsanschluss der programmierbaren Verzögerungsmittel verbunden
ist.
-
Die
programmierbaren Verzögerungsmittel mit
ihrem Rückkopplungspfad
und der Frequenzteiler ermöglichen
die Konversion der einprogrammierten Verzögerung in eine niedrige Frequenz.
Diese Konversion ist ein weiterer Vorteil der Erfindung. In der Praxis
ermöglicht
sie es, den Wert der einprogrammierten Verzögerung durch Messung der äquivalenten
niedrigen Frequenz zu erhalten. Das erlaubt eine genaue Messung
der einprogrammierten Verzögerung
mit kostengünstigen Standardpads
und -testern, die ein mäßiges Leistungsvermögen bezüglich des Signalaustausches
mit Hochfrequenzkomponenten besitzen. Dieser Vorteil der Erfindung
ergänzt
sich mit dem oben genannten Vorteil der Erfindung, die programmierbaren
Verzögerungsmittel
einzubetten. Beide Eigenschaften führen zu einem allgemeinen Vorteil
der Erfindung, der Möglichkeit,
hochauflösende
programmierbare Verzögerungsmittel
im Inneren des Chips zu verwenden und die einprogrammierte Verzögerung mit
kostengünstigen
Standardpads und -testern genau zu messen. Zudem ermöglicht das Einbetten
des programmierbaren Ringoszillators und die Frequenzteilung die
Verwendung hochauflösender
programmierbarer Oszillatoren im Inneren des Chips und außerdem die
genaue Frequenzmessung des Oszillators mit kostengünstigen
Standardpads und -testern.
-
Gemäß der vorliegenden
Erfindung umfasst ein Verfahren zur Bestimmung der Zugriffszeit
eines Speichers, der Bestandteil einer integrierten Schaltung ist,
die folgenden Schritte:
- (1) Stimulieren der
Ausgabe von Daten, die an vordefinierten Adressen des besagten Speichers gespeichert
sind, zu vorgegebenen Zeitpunkten;
- (2) Abtasten des Datenausgangsanschlusses besagten Speichers
zu einem Zeitpunkt, der gegenüber
dem besagten vorgegebenen Zeitpunkt verzögert ist, wobei besagte Verzögerungszeit
durch programmierbare Verzögerungsmittel
mit einem Eingangsanschluss zum Empfang besagten vorgegebenen Zeitpunktes
und einem Ausgangsanschluss zur Ausgabe besagter Verzögerungszeit generiert
wird;
- (3) Vergleichen der abgetasteten ausgegebenen Daten mit Erwartungswerten;
- (4) Wiederholen der Schritte (1) mit (3) mit ausgegebenen Daten
anderer Adressen;
- (5) im Falle zumindest einer Abweichung abgetasteter ausgegebener
Daten von ihrem Erwartungswert das Wiederholen der Schritte (1)
bis (4) mit verlängerten
Verzögerungszeiten,
solange bis alle abgetasteten ausgegebenen Daten mit ihren Erwartungwerten übereinstimmen;
- (6) Wiederholen der Schritte (1) bis (4) mit sukzessive verringerten
Verzögerungszeiten,
solange bis zumindest eine Abweichung abgestasteter ausgegebener
Daten von ihrem Erwartungswert auftritt; und
- (7) Bestimmen besagter Zugriffszeit durch Messung der Verzögerungszeit,
bei der alle abgetasteten augegebenen Daten mit ihren Erwartungswerten
zuletzt übereinstimmten.
-
Gemäß der Erfindung
wird besagter Ausgangsanschluss besagter programmierbarer Verzögerungsmittel
an besagten Eingangsanschluss besagter programmierbarer Verzögerungsmittel
falls erforderlich über
einen Rückkoppelkreis
zurückgekoppelt.
-
Das
erfindungsgemäße Verfahren
hat die selben Vorteile gegenüber
herkömmlicher
Verfahren zur Bestimmung der Zugriffszeit wie die Vorrichtung gemäß Anspruch
1.
-
Bevor
Schritt (1) vollzogen wird, werden vorteilhafterweise vordefinierte
Datenmuster in besagten Speicher geschrieben. Das ermöglicht die
Beschreibung des Speichers mit den schlechtestmöglichen Datenmustern vor Bestimmung
der Zugriffszeit.
-
Die
Erfindung wird weiter unten in beispielhafter Ausführung in
Bezug auf die Zeichnungen erklärt,
wobei
-
1 eine
beispielhafte Ausführung
der erfindungsgemäßen Vorrichtung
zeigt, und
-
2 Signalwellenformen
zeigt, um die Arbeitsweise der beispielhaften Ausführung der
erfindungsgemäßen Vorrichtung
zu illustrieren.
-
1 zeigt
das Schaltdiagramm einer Vorrichtung zur Bestimmung der Zugriffszeit
und/oder der minimal tolerierbaren Zykluszeit eines Speichers MEM.
Der Speicher MEM ist ein SRAM (Static Random Access Memory). Die
Datenausgabe DO des Speichers MEM ist mit den Eingängen D eines
Satzes an Flip-Flops FF1 verbunden. Die Flip-Flops FF1 und ein weiterer
Satz an Flip-Flops FF2 sind in Serie geschaltet.
-
Die
Ausgabe Q der Flip-Flops FF2 speisen einen Eingang INB eines Multi-Bit-Vergleichers COMP.
Ein Eingang INA des Multi-Bit
Vergleichers COMP werden durch einen Vektorgenerator VECT_GEN gespeist.
Der Vektorgenerator VECT_GEN speist auch die Steuereingänge CTR des
Speichers MEM.
-
Der
Multi-Bit Vergleicher COMP vollzieht den Vergleich zweier Wörter, beider
bestehend aus einem oder mehr Bits. Eines dieser Wörter speist
den Eingang INA und das andere Wort speist den Eingang INS des Multi-Bit
Vergleichers COMP. Der Multi-Bit Vergleicher COMP gibt an seinem
Ausgang EQUAL ein einzelnes Bit aus, das ein hohes logisches Level
zeigt, wenn die zwei Wörter
gleich sind, und ein niedriges logisches Level zeigt, wenn die zwei
Wörter
zumindest in einem Bit voneinander abweichen.
-
Der
Ausgang EQUAL des Multi-Bit Vergleichers COMP speist einen ersten
Eingang eines AND-Gatters AG. Der Ausgang des AND-Gatters AG speist
den Eingang D eines Flip-Flops FF3. Der Ausgang Q des Flip-Flops
FF3 speist zurück
in einen zweiten Eingang des AND-Gatters AG.
-
Ein
programmierbarer Oszillator PROG_OSC generiert ein Taktungssignal
CLK an seinem Ausgang CLK, das die Taktgebereingänge des Vektorgenerators VECT_GEN,
des Speichers MEM und der Flip-Flops FF2 und FF3 speist. Der programmierbare
Oszillator PROG_OSC ist programmierbar über seinen Steuereingang PTCYC.
-
Ein
Eingang IN einer programmierbaren Verzögerungseinheit PROG_DEL kann
mit dem Ausgang CLK des programmierbaren Oszillators PROG_OSC oder
mit seinem Ausgang INDELB über einen
Multiplexer MUX1 verbunden werden. Die programmierbare Verzögerungseinheit
PROG_DEL kann über
ihren Steuereingang PTACC programmiert werden. Die programmierbare
Verzögerungseinheit PROG_DEL
ist ein invertierender Pfad, das heißt, dass ihr Ausgang INDELB
den gegenteiligen Wert ihres Eingangs IN nach der programmierten
Verzögerung
anzeigt. Der Ausgang INDELB der programmierbaren Verzögerungseinheit
PROG_DEL ist mit den Taktgebereingängen der Flip-Flops FF1 verbunden.
Die Flip-Flops FF1 sind empfindlich gegenüber fallender Kommutierung
ihrer Taktgebereingänge, das
heißt,
dass sie Daten an ihren Eingängen
D abtasten, wenn eine fallende Kommutierung an ihren Taktgebereingängen auftritt.
-
Ein
Eingang IN eines Frequenzteilers FREQ_DIV kann mit dem Ausgang CLK
des programmierbaren Oszillators PROG_OSC oder dem Ausgang INDELB
der programmierbaren Verzögerungseinheit
PROG_DEL über
einen Multiplexer MUX2 verbunden werden.
-
Die
Arbeitsweise der Vorrichtung in 1 ist im
Folgenden beschrieben.
-
Ein
ansteigende Flanke des Taktungssignals CLK stimuliert eine Datenausgabe
DO des Speichers MEM. Die Adressen der Daten DO, die bei der Datenausgabe
ausgegeben werden, ergeben sich aus den Steuersignalen CTR, die
von dem Vektorgenerator VECT_GEN generiert werden. Für einen
SRAM enthalten die Steuersignale CTR typischerweise Informationen
bezüglich
Chipauswahl, Lese-/Schreibzugriff, Dateneingabe und Adressen. Die
Flip-Flops FF1 tasten die Datenausgabe DO des Speichers MEM in Antwort
auf ein verzögertes
Taktungssignal STB ab. Das verzögerte
Taktungssignal STB wird durch die programmierbare Verzögerungseinheit
PROG_DEL generiert. Der Multi-Bit Vergleicher COMP vergleicht die
abgetasteten Daten Q2 mit Referenzwerten EXP_DO, die durch den Vektorgenerator VECT_GEN
bereitgestellt werden. Die Referenzwerte EXP_DO sind die korrekten
Werte der Ausgabedaten. Die Ergebnisse dieser Vergleiche werden
vom AND-Gatter AG und dem Flip-Flop FF3 ausgewertet. Wie in 1 dargestellt,
sind das AND-Gatter AG und der Flip-Flop FF3 dergestalt verbunden,
dass sie einen Teststatusgenerator bilden, der ein Signal PASS am
Ausgang Q des Flip-Flops FF3 erzeugt. Falls alle Vergleiche der
Testsequenz passieren, hat das Signal PASS ein hohe logisches Level
am Ende der Testsequenz. Umgekehrt hat das Signal PASS ein niedriges
logisches Level, falls einer oder mehrere der Vergleiche fehlschlugen.
-
Nach
einmaliger oder mehrmaliger Aktivierung aller Speicherplätze des
Speichers MEM ist der durch das Signal PASS bereitgestellte Teststatus
gültig.
Falls alle ausgegebenen Daten DO während des Testalgorithmus korrekt
abgetastet wurden, wird die maximale Zugriffszeit für kleiner
als die einprogrammierte Verzögerung
befunden. Umgekehrt wird die maximale Zugriffszeit für größer als
die einprogrammierte Verzögerungszeit
befunden, falls zumindest eine Datenausgabe DO während des Testalgorithmus nicht
korrekt abgetastet wurde. Die Verzögerung wird dann dementsprechend
eingestellt, indem die Werte des Steuersignals PTACC verändert werden. Die
beschriebene Vorgehensweise muss nach dem Trial-and-Error-Prinzip wiederholt
werden, solange bis die maximale Zugriffszeit gefunden wird. Die
maximale Zugriffszeit wird zum geringsten Wert der programmierbaren
Verzögerungszeit
bestimmt, bei der ein erfolgreicher Testlauf absolviert worden ist,
in dem alle Speicherplätze
mindestens einmal aktiviert worden sind. Infolgedessen wird die
maximale Zugriffszeit auf dem Chip bestimmt, bevor eine Messung
vorgenommen wird. Die einzige Messung, die durchgeführt werden
muss, ist die Messung der einprogrammierten Verzögerungszeit.
-
Um
die minimal tolerierbare Zykluszeit zu bestimmen, wird nahezu die
selbe Vorgehensweise verwendet wie zur Bestimmung des Zugriffszeit.
Dazu sind zwei Optionen möglich
im Hinblick auf die Einschränkungen
der Zugriffszeit. Zum einen kann der transparente Modus der Flip-Flops
FF1 aktiviert werden, indem ein Steuersignal TRPA an einen Steuereingang
TRANSPA der Flip-Flops FF1 gesendet wird. Das ermöglicht die
Bestimmung der minimal tolerierbaren Zugriffszeit ohne Beschränkung durch
die Zugriffszeit. Zum anderen kann nach vorangegangener Bestimmung
der Zugriffszeit die programmierbare Verzögerungszeit auf einen Wert
gesetzt werden, der höher
als die Zugriffszeit der Speichers MEM ist, so dass ein erfolgreiches
Abtasten der ausgegebenen Daten DO des Speichers MEM möglich wird.
-
In 2 werden
Signalwellenformen gezeigt, um die Arbeitsweise der Vorrichtung
in 1 zu illustrieren.
-
Die
folgende Beschreibung ist gültig
für freigegebene
Flip-Flops FF1,
das heisst, dass die Flip-Flops FF1 nicht im transparenten Modus
arbeiten.
-
Zyklus
1 beginnt mit der ersten ansteigenden Flanke des Taktungssignals
CLK. Der Vektorgenerator VECT_GEN wird durch die ansteigende Flanke des
Taktungssignals CLK getriggert und erzeugt die Steuersignale CTR
nach einer Verzögerung.
Die Steuersignale CTR werden von dem Speicher MEM während des
Zyklus 2 verwendet.
-
Zyklus
2 beginnt mit der zweiten ansteigenden Flanke des Taktungssignals
CLK. Der Speicher MEM wird durch die ansteigende Flanke des Taktungssignals
CLK in Zugriffsmodus versetzt. Die ausgegebenen Daten DO werde vom
Speicher MEM bereitgestellt. Die ausgegebenen Daten DO werde mittels
der Flip-Flops FF1 abgetastet, die von der fallenden Flanke des
verzögerten
Taktungssignals STB angestoßen
werden. Die Flip-Flops
FF1 erzeugen infolgedessen an ihren Ausgängen Q den Signalbus Q, der
zu dem Zeitpunkt durch den Wert der Daten DO aktualisiert wird,
wenn die fallende Flanke des verzögerten Taktungssignals STB
auftritt.
-
Zyklus
3 beginnt mit der dritten ansteigenden Flanke des Taktungssignals
CLK. Die Flip-Flops FF2 werden durch die ansteigende Flanke des
Taktungssignals CLK aktiviert und erzeugen Daten Q2 an ihren Ausgängen Q.
Der Vektorgenerator VECT_GEN generiert die Referenzwerte EXP_DO,
die als Referenzoperanden für
den Multi-Bit Vergleicher COMP dienen. Danach generiert der Multi-Bit
Vergleicher COMP sein Ausgangssignal EQ.
-
Zyklus
4 beginnt mit der vierten ansteigenden Flank des Taktungssignals
CLK. Die Flip-Flops FF3, die mit dem AND-Gatter AG zusammen als Teststatusgenerator
fungieren, werden durch die ansteigende Flanke des Taktungssignals
CLK aktiviert. Je nach den Werten der Signale PASS und EQ wird das
Teststatussignal PASS aktualisiert. Hier wird vorausgesetzt, dass
das Signal PASS und die Flip-Flops FF3 in einem hohen logischen
Level vor Beginn der Zyklen in 2 initialisiert
wurden. Daher kann das Signal PASS lediglich einer fallende Kommutierung
folgen, weil seine Funktion darin besteht zu speichern, ob zumindest
einer der Vergleiche fehlschlug.
-
Das
Signal ENAB_COMP wird durch den Vektorgenerator VECT_GEN erzeugt
und wird dazu verwendet, die Abtastung der Ergebnisse der Vergleiche
nur bei bestimmten Zyklen zu ermöglichen.
In dem hier beschriebenen Beispiel ist das Signal ENAB_COMP stets
aktiv. Das Signal ENAB_COMP würde
typischerweise akitiviert werden, wenn auf den Speicher MEM im Schreibmodus
zugegriffen würde.