-
Die vorliegende Erfindung bezieht
sich allgemein auf Techniken zur Messung der Geschwindigkeit einer
Speichereinheit in einer integrierten Schaltung (IC) und insbesondere
auf eine eingebaute Hardware-Vorrichtung zum Messen eines Zeitintervalls
zwischen zwei aufeinander folgenden Ausgaben der Speichereinheit.
-
Wie in der Technik bekannt ist, ist
es sehr wichtig, die Geschwindigkeit einer Speichereinheit, die
in einem IC vorgesehen ist, genau zu bestimmen. Eine nützliche
Messung der Geschwindigkeit einer Speichereinheit ist die Zeit,
die zwischen dem Beginn eines Arbeitsschritts und der Beendigung
dieses Arbeitsschritts vergeht. Diese wird als Speicherzugriffszeit
bezeichnet. Eine weitere wichtige Messung ist die Speicherzykluszeit,
welche die minimale Zeitverzögerung
ist, die zwischen dem Beginn von zwei aufeinander folgenden Speichervorgängen liegt.
-
Eine bekannte Technik zur Messung
der Geschwindigkeit von IC-Speicher besteht darin, aufeinander folgend
Speicheradressen von außen
anzulegen und jede Speicherausgabe zu erfassen. Ein IC-Prüfgerät wird verwendet,
um die Zeitverzögerung zwischen
dem Anlegen der jeweiligen Adresse und der Erfassung der Daten,
die aus dem Speicher stammen, zu messen. Wie bekannt ist, ist ein
Pufferverstärker
zwischen dem Speicher und den Ausgabestiften vorgesehen. Diese Pufferverstärkereinheit hat
die Eigenheit, für
eine relativ große
Verzögerung zu
sorgen, bevor die Daten aus der Speichereinheit über die IC-Ausgabepins erhalten
werden. Daher ist es mit dem genannten Verfahren sehr schwierig,
die Geschwindigkeit der Speichereinheit genau zu messen.
-
Ein weiterer Ansatz zur Messung der
Speichergeschwindigkeit besteht darin, eine Speichergeschwindigkeits-Messeinheit
innerhalb des IC-Speichers selbst vorzusehen. Ein Beispiel für solche Techniken
ist in der japanischen offengelegten Patentanmeldung Nr. 4-274100
offenbart. Gemäß dieser
herkömmlichen
Technik ist eine Anzahl von Verzögerungselementen
in einem IC-Speichermodul eingebaut, um die Speicherzugriffszeit
zu bestimmen. Diese Technik erfasst eine Speicherzugriffszeit, jedoch
in einem Zeitintervall, das durch die Verzögerungselemente festgelegt
ist, und dementsprechend kann nicht erwartet werden, dass es die
Geschwindigkeit der Speichereinheit genau bestimmt.
-
Die US-A-3805152 offenbart eine Hardware-Vorrichtung
zum Messen der Geschwindigkeit einer Speichereinheit, die einen
Speicher umfasst, der eine Anzahl von Speicherworten mit logischen Werten
aufweist, die abwechselnd in der Reihenfolge der Speicheradressen
wechseln und eine Adressinkrementschaltung zum Erzeugen einer Speicheradresse,
die an den Speicher angelegt wird, um einen Frequenzzähler zu
umfassen, der mit dem Ausgang der Schaltung verbunden ist, um die
Schwingung des Geräts
zu überwachen.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung,
eine Hardware-Vorrichtung vorzusehen, die in ein Speichermodul eingebaut
ist und die in der Lage ist, die Geschwindigkeit des Speichers genau zu
messen.
-
Eine weitere Aufgabe der vorliegenden
Erfindung ist es, ein Verfahren zum genauen Messen der Geschwindigkeit
von Speicher unter Verwendung einer eingebauten Mess-Hardware bereitzustellen.
-
Diese Aufgabe wird durch eine Hardware-Vorrichtung
gelöst,
wie sie in Anspruch 1 beansprucht wird und durch ein Verfahren,
wie es in Anspruch 4 beansprucht wird; die übrigen Ansprüche beziehen
sich auf weitere Ausgestaltungen der Erfindung.
-
Kurz gefasst, werden diese Aufgaben
durch eine Technik gelöst,
wonach die Speichereinheit mindestens ein Bitdatum an einer festgelegten
Bitposition in jedem Speicherwort speichert, um die Geschwindigkeit
der Speichereinheit genau zu messen. Das heißt, der logi sche Wert des Einbitdatums ändert sich
abwechselnd in der Reihenfolge der Speicheradresse. Eine Adressinkrementschaltung,
die in einem Modul, das die Speichereinheit umfasst, vorgesehen ist,
erzeugt aufeinander folgend Speicheradressen, die an den Speicher
angelegt werden. Die Adressinkrementschaltung inkrementiert eine
Speicheradresse in Abhängigkeit
von der Ausgabe des Speichers. Die Speichergeschwindigkeit zwischen
zwei aufeinanderfolgenden Speicherausgaben wird durch die Messung
einer Pulsbreite eines Pulssignals erfasst, das von der Speichereinheit
ausgegeben wird. Dadurch kann eine relativ große Verzögerung, die ansonsten in einem
Pufferverstärker
verursacht wird, wirksam ausgeglichen werden.
-
Die Merkmale und Vorteile der vorliegenden Erfindung
werden aus der folgenden Beschreibung deutlicher werden in Verbindung
mit den begleitenden Zeichnungen, in denen übereinstimmende Elemente mit übereinstimmenden
Referenzzeichen bezeichnet sind, und wobei:
-
1 ein
Blockdiagramm ist, das eine allgemeine Anordnung eines ersten Ausführungsbeispiels der
vorliegenden Erfindung zeigt;
-
2A und 2B jeweils eine Tabelle ist, die Speicheradressen
und dort gespeicherte Daten zeigt;
-
3 ein
Zeitdiagramm zum Gebrauch bei der Beschreibung des Betriebs der
Anordnung von 1 ist;
-
4 ein
Blockdiagramm ist, das eine Einzelheit eines Blocks aus 1 zeigt;
-
5 ein
Blockdiagramm ist, das eine allgemeine Anordnung eines zweiten Ausführungsbeispiels
der vorliegenden Erfindung zeigt; und
-
6 ein
Blockdiagramm ist, das eine Einzelheit eines Blocks aus 5 zeigt.
-
Es wird nun auf 1 Bezug genommen, in der ein erstes Ausführungsbeispiel
der vorliegenden Erfindung in Form eines Blockdiagramms allgemein veranschaulicht
ist. Dabei ist zu beachten, dass 1 nur
eine Anordnung zeigt, die sich direkt mit der Speicherge schwindigkeits-Messung
gemäß der vorliegenden
Erfindung befasst. Demgemäß werden verschiedene
Anschlüsse
einer Speichereinheit zum Zwecke der Vereinfachung der Offenbarung
nicht gezeigt, die im normalen Betrieb verwendet werden und in der
Technik wohl bekannt sind.
-
Die Anordnung von 1 wird zusammen mit 2A, 2B und 3 beschrieben. Wie in 1 gezeigt, enthält ein Speichermodul
(oder funktionelles Speichermakro) 10 einen asynchronen
Speicher (oder eine Speicheranordnung) 12, eine Adressinkrementschaltung 14 und
einen Pufferverstärker 16.
Der Speicher 12 kann als RAM (Freizugriffsspeicher), ROM
(Festwertspeicher) usw. vorliegen. Wenn die Geschwindigkeit des
Speichers 12 gemessen werden soll, werden zwei Arten von
Daten (nämlich
alles „1-en" und alles „0-en" abwechselnd in den
Speicherworten des Speichers 12 in der Reihenfolge der
Speicheradressen gespeichert, wie in 2A gezeigt. Das
Schreiben der Daten aller „1-en" und aller „0-en" wird auf eine Weise
durchgeführt,
die Fachleuten bekannt ist. In 2A gibt
ein Buchstabe H, der an jede Speicheradresse angehängt ist,
an, dass die Adresse in Hexadezimal-Schreibweise wiedergegeben ist. Die
Speicherwortlänge
selbst wird von der vorliegenden Erfindung nicht betroffen.
-
Um die Speichergeschwindigkeits-Messung zu
beginnen, wird ein Testsignal 18 zum Zeitpunkt T1 an die
Adressinkrementschaltung 14 angelegt (3). Das Testsignal 18 veranlasst
die Schaltung 14, eine Ausgabe 20 der Speicheranordnung 12 anstelle
eines Adressbus 22 und einer Taktleitung 24 auszuwählen. Um
deutlich zu zeigen, dass der Adressbus 22 und die Taktleitung 24 bei
der Speichergeschwindigkeits-Messung nicht verwendet werden, sind
sie durch gestrichelte Linien gezeigt. Danach legt die Adressinkrementschaltung 14 die
erste Adresse „OOOH" an den Speicher 12 an,
der nur „1"-Daten an den Datenausgabeanschlüssen des Speichers 12 ausgibt.
Ein Einbitdatum unter den gesamten Daten, die vom Speicher 12 ausgegeben werden,
wird an die Adressinkrementschaltung 14 und ebenfalls an
den Pufferverstärker 16 angelegt. Da
die Daten, die von der Speicheranordnung 12 ausgegeben
werden, nur „1-en" oder nur „0-en" zeigen, wird das
genannte Einbitdatum willkürlich
ausgewählt,
wenn die in 1 gezeigte
Speichergeschwindigkeits-Messanordnung entworfen wird.
-
Der Betrieb der Anordnung aus 1 wird unter Bezug auf 3 weiter beschrieben. Die Schaltung 14 aus 1 gibt, in Abhängigkeit
von dem „1" anzeigenden Bitdatum,
das ihr aus dem Speicher 12 zugeführt worden ist, die nächste Speicheradresse „001H" an den Speicher 12 an.
Also empfängt
die Schaltung 14 der Reihe nach ein Bitdatum, das „0" anzeigt, woraufhin
die Schaltung 14 die nächste
Speicheradresse „002H" an den Speicher 12 anlegt.
Diese Vorgänge
werden wiederholt, bis das Testsignal 18, wie zu einem
Zeitpunkt T2, beendet wird (3).
-
Wie oben erwähnt, werden die Speicherbitdaten
ebenfalls an den Pufferverstärker 16 angelegt, dessen
Ausgabe dort verzögert
wird und an einem Messanschluss 26 erscheint. Die Daten
am Messanschluss 26 nehmen abwechselnd hohe und niedrige Logikpegel
(nämlich „1" und „0") an, wie in der
unteren Reihe von 3 gezeigt.
Dieses Pulssignal, das am Messanschluss 26 erscheint, wird
dann an eine geeignete Messausrüstung
(nicht gezeigt) angelegt, die die Pulsbreite misst, die einer Speicherzykluszeit entspricht
(bezeichnet durch MC). In der unmittelbaren Offenbarung bedeutet
ein Zeitintervall zwischen zwei aufeinander folgenden Speicherausgaben
die Speicherzykluszeit. Es ist verständlich, dass die Verzogerung
im Pufferverstärker 16 durch
die Messung der Pulsbreite wirksam beseitigt wird.
-
4 ist
ein Blockdiagramm, das eine Einzelheit der Adressinkrementschaltung 14 aus 1 zeigt. Wie in 4 gezeigt, umfasst die Anordnung eine
Inkrementschaltung 30, zwei Selektoren 32 und 34,
einen Zwischenspeicher 36 und einen Haltesignalgenerator 38.
Außerdem
enthält
der Generator 38 zwei Inverter 40 und 42 und
ein Exklusiv-ODER-Gatter 44.
-
Wenn die Geschwindigkeit des Speichers 12 (1) gemessen werden soll,
wird das Testsignal 18 an die Adressinkrementschaltung 14 aus 4 angelegt. In Abhängigkeit vom Testsignal 18,
das einen hohen Logikpegel annimmt, fährt der Selektor 32 fort,
eine Ausgabe der Inkrementschaltung 30 anstatt des externen
Adress-Signals über
den Adressbus 22 auszuwählen.
Der andere Selektor 34 reagiert ebenfalls auf das Testsignal 18 (das
den hohen Logikpegel annimmt) und wählt die Ausgabe des Haltesignalgenerators 38 an stelle
des Takts 24. Wenn das Taktsignal 18 den hohen
Logikpegel annimmt, wird die Inkrementschaltung 30 zurückgesetzt
und gibt das erste Adress-Signal „OOOH" aus. Der Zwischenspeicher 36 reagiert
auf das Mess-Signal 18, indem er den hohen Logikpegel annimmt
und hält
die erste Adresse „OOOH", die so an den Speicher 12 angelegt
wird. Außerdem
reagiert die Inkrementschaltung 30 auf die Ausgabe des
Adress-Signals vom Zwischenspeicher 36 und erhöht die Adresse
im unmittelbaren Stadium auf „001H".
-
Danach wird das vom Speicher 12 ausgegebene
Bitdatum „1" an den Haltesignalgenerator 38 angelegt.
Es wird angenommen, dass der Haltesignalgenerator 38 anfangs
mit einem Logikpegel „0" versorgt wird. Die
in Reihe geschalteten Inverter 40 und 42 dienen
als Verzögerungsschaltung.
Wenn die Eingabe in den Generator 38 von „0" auf „1" wechselt, wird dementsprechend
ein Puls aus dem Exklusiv-ODER-Gatter 44 erzeugt und weist
eine sehr geringe Pulsbreite auf. Wenn der Eingang in den Generator 38 von „1" auf „0" wechselt, wird ebenfalls
der gleiche Puls, der oben erwähnt
wurde, von dem Gatter 44 erzeugt. Die Ausgabe des Gatters 44 wird
als Haltesignal 46 bezeichnet. Zusammenfassend wird ein
Puls mit einer schmalen Pulsbreite erzeugt, wenn die Bitdaten 20 von „1" auf „0" wechseln oder umgekehrt,
wie in 4 gezeigt. Jede
Pulsbreite des Haltesignals 46, die durch die Verzögerung bestimmt wird,
die durch die beiden Inverter 40 und 42 erfolgt, hat
einen sehr kleinen Wert und kann bei der Messung der Speichergeschwindigkeit
vernachlässigbar sein.
-
Der Zwischenspeicher 36 reagiert
auf die ansteigende Flanke des Haltesignals 46 und hält die nächste Adresse „001H", die an den Speicher 12 angelegt
wird. Wie oben erwähnt,
reagiert die Inkrementschaltung 30 auf die neue gehaltene
Adresse und erhöht
deren Inhalt im unmittelbaren Fall auf „002H". Diese Vorgänge werden wiederholt, bis
das Mess-Signal 18 beendet
wird (also einen niedrigen Logikpegel annimmt).
-
In der obigen Beschreibung werden
nur „1" und nur „0" -Daten abwechselnd
in den Speicheradressen, beginnend mit der ersten Adresse „OOOH", gespeichert. Es
ist jedoch möglich,
abwechselnd nur „0" und nur „1" -Daten von der ersten
Adresse „OOOH" zu speichern.
-
In diesem Fall wird ein Inverter
vor dem Haltesignalgenerator 38 eingefügt, während ein weiterer Inverter
vor dem Pufferverstärker 16 eingefügt wird.
-
Im ersten Ausführungsbeispiel wird nur ein Bitdatum
aus dem Speicher 12 benötigt.
Daher ist es nicht nötig,
nur „1" und nur „0" -Daten in den Speicherworten
zu speichern. Das soll heißen,
wie in 2B gezeigt, dass es ausreichend
ist, abwechselnd „1" und „0"-Bitdaten an einer
vorgegebenen Bitposition jedes Speicherworts zu speichern. In 2B zeigt ein Sternchen an, dass die Bitdaten
jeden logischen Wert (nämlich „1" oder „0") annehmen können.
-
Ein zweites Ausführungsbeispiel der vorliegenden
Erfindung wird unter Bezug auf die 5 und 6 beschrieben.
-
Das zweite Ausführungsbeispiel unterscheidet
sich vom ersten darin, dass jenes Ausführungsbeispiel mit einer Adressinkrementschaltung 14' versehen ist,
die eine Anzahl von Bitsignalen (bezeichnet durch 20') aus dem Speicher 12 empfängt und dann
ein Bitsignal unter diesen auswählt.
Der Pufferverstärker 16 empfängt ein
Bitsignal (bezeichnet durch 20'')
unter den Bitsignalen 20'.
Abgesehen davon ist das zweite Ausführungsbeispiel mit dem ersten
Ausführungsbeispiel
identisch. Figur 6 zeigt eine Einzelheit der Adressinkrementschaltung 14'. Wie gezeigt,
ist dort ein Bitselektor 50 vor dem Haltesignalgenerator 38 vorgesehen.
Der Bitselektor 50 wird mit der Ausgabe 20' des Speichers 12 gespeist
und wählt
unter Verwendung eines Bitauswahlsignals 52 ein Bit aus.
Die übrigen
Bereiche von 6 sind identisch mit
jenen von 4 und daher wird deren weitere
Beschreibung der Kürze
halber ausgelassen.
-
Es dürfte verständlich sein, dass die obige Offenbarung
nur für
zwei mögliche
Ausführungsbeispiele
der vorliegenden Erfindung repräsentativ
ist und dass das Konzept, auf dem die Erfindung beruht, nicht speziell
darauf begrenzt ist.