-
Die
Erfindung betrifft ein Computersystem nach dem Oberbegriff des Anspruchs
1 und ein Verfahren zum Betreiben eines Chipsatzes nach dem Oberbegriff
des Anspruchs 7.
-
Als
integrierte Schaltkreise bezeichnete elektronische Komponenten werden
häufig
so ausgelegt, daß sie
in Verbindung mit anderen kompatiblen integrierten Schaltkreisen
in als Chipsätze
bezeichneten Gruppen arbeiten können.
Eine umfangreiche oder komplizierte elektronische Schaltung wird
nämlich
auf mehrere integrierte Schaltkreise oder Chips aufgeteilt. Beispielsweise
ist eine Steuereinheit für
einen dynamischen Randomspeicher (DRAM) ein elektronisches Gerät, das unter
Verwendung eines Satzes von integrierten Schaltkreischips realisiert
werden kann. Wenn die zentrale Prozessoreinheit (CPU) eines Computers
und ein DRAM zusammenarbeiten, liefert die CPU einen Satz von Steuersignalen,
um Daten aus dem DRAM zu transferieren. Der DRAM benötigt jedoch
einen abweichenden Satz von Steuersignalen, um die Datenentnahmefunktionen
auszuführen.
Deshalb wird eine Schnittstelle oder eine DRAM-Steuereinheit verwendet,
die Steuersignale von der CPU empfängt und sie in andere Steuersignale
umsetzt, die von dem DRAM verstanden werden.
-
Eine
konventionelle DRAM-Steuereinheit wird mit einem Steuerchip, der
die DRAM-Steuerschaltungen enthält,
und einem Abtastchip, der die Datenabtastschaltungen enthält, realisiert.
Eine CPU liefert Steuersignale, um Daten aus dem DRAM zu transferieren.
Der Steuerchip empfängt
die Steuersignale von der CPU und setzt sie in andere Steuersignale
um, die von dem DRAM verstanden werden, einschließlich eines
Speicheradreßsignals
(MA), eines Schreibentsperrsignals (WE), eines Zeilenadreßstrobesignals
(RAS) und eines Spaltenadreßstrobesignals
(CAS). Das CAS-Signal treibt die DRAM-Daten auf den gültigen Zustand,
so daß sie
abgetastet werden können.
Der Abtastchip tastet die DRAM-Daten vom DRAM ab und bildet einen
Datenpfad für
den Transfer der DRAM-Daten zu der CPU. Ein typischer DRAM-Lesezyklus
wird initiiert, wenn das CAS-Signal von dem Steuerchip angelegt
wird. Der DRAM gibt Daten unter der angeforderten Adresse in Reaktion
auf das angelegte CAS-Signal aus. Der Steuerchip liefert auch ein
Abtaststeuersignal in Reaktion auf das CAS-Signal an den Abtastchip,
der dann die ausgegebenen DRAM-Daten abtasten kann. Das CAS-Signal
wird im Steuerchip erzeugt, und die Datenabtastung erfolgt im Abtastchip.
-
Moderne
DRAMs ermöglichen
die Datenausgabe mit hohen Geschwindigkeiten und sind ausgelegt,
um mit einem DRAM-Ausgabezyklus zu arbeiten, der gleich der Systemtaktperiode
ist. Im Betrieb können
signifikante Zeitlageprobleme infolge Prozeßvariation und Tatkabweichung
zwischen Steuerchip und Abtastchip auftreten. Prozeßvariation
bezieht sich auf die Arbeitsgeschwindigkeitsinkonsistenzen zwischen
verschiedenen Kopien von identisch ausgelegten integrierten Schaltkreisen
infolge unvermeidbarer geringfügiger
Unterschiede in der physikalischen Zusammensetzung des Siliciums
und der Dotierungsmittel, die bei der Herstellung der in tegrierten
Schaltkreise verwendet werden. Die schnellsten integrierten Schaltkreise
in dem Reaktionszeitbereich können
als "beste" und die langsamsten
als "schlechteste" klassifiziert werden.
Ein bester Chip kann nahezu doppelt so schnell sein wie ein vergleichbarer
schlechtester Chip. Eine Taktverschiebung bezieht sich auf Zeitlagediskrepanzen
zwischen den getrennten internen Kerntaktgebern, welche jeden integrierten
Schaltkreischip ansteuern. Wenn man identische Prozeßvariationscharakteristiken
zwischen Chips annimmt, kann immer noch wegen Chipkonstruktionsdifferenzen
eine Zeitlageverschiebung auftreten. Geht man von einem Haupttaktgeber
aus, der beide Chips ansteuert, so puffert oder verstärkt jeder
Chip den Takt in Anpassung an seine Takterfordernisse. Der gepufferte
Takt ist der Kerntakt. Da die Anzahl von getakteten internen Strukturen
(beispielswiese Flipflops) direkt die Pufferverzögerung beeinflußt, sind
die beiden internen Takte unvermeidbar leicht gegeneinander verschoben.
Eine Prozeßvariation
verschlechtert die Zeitverschiebung. Eine Taktverschiebung wird
typischerweise gemessen als maximale Taktpufferverzögerung des schlechtesten
Falles (aller Chips) minus der minimalen Taktpufferverzögerung im
besten Falle (oder Chips). Deshalb weist trotz guter Ausfluchtung
jeder physisch getrennte integrierte Schaltkreis typischerweise
eine Zeitlage auf, die etwas versetzt relativ zu der Norm der anderen
Kopien identischer integrierter Schaltkreise ist.
-
Zur
näheren
Erläuterung
wird auf die Diagramme in 10 bis 12 bezuggenommen.
-
10 ist ein Wellenformdiagramm
zur Darstellung der idealen Zeitlage für ein CAS-Impulssignal 21 und
ein Abtastimpulssignal 23, das verwendet wird, um DRAM-Daten 22 abzutasten.
Das CAS-Impulssignal 21 ist ein aktiv niedriges Signal,
das in Reaktion auf die Anstiegsflanke eines CLK-Taktimpulssignals 20 angelegt
wird, wobei eine geringfügige zeitliche
Nacheilung infolge Ausbreitungsverzögerung vorliegt. Zu einem Zeitpunkt
tVALID 24 nach Anlegen von CAS 21 werden die DRAM-Daten 22 stabil. Das
Abtastimpulssignal 23 wird von dem Abtastchip in Reaktion
auf das Abtaststeuersignal vom Steuerchip erzeugt. Das Abtaststeuersignal
wird auf der Anstiegsflanke des CLK-Impulssignals 20 abgetastet,
wobei das Abtastimpulssignal 23 mit einer Ausbreitungsverzögerungsnacheilung
zum Zeitpunkt tSAMPLE 25 erzeugt wird. Das Abtaststeuersignal wird
von dem Steuerchip erzeugt, und zwar einen Taktimpuls früher, als
das Abtastimpulssignal 23 benötigt wird, um Zeit für den Durchlauf
des Abtaststeuersignals zwischen den Chips zu lassen. Zum Zeitpunkt
tSAMPLE 25 werden die Daten von den DRAM-Daten 22 mit
der Anstiegsflanke des Abtastimpulssignals 23 während einer
Periode gültiger
Daten abgetastet.
-
Signifikante
Zeitlageprobleme können
infolge zweier unterschiedlicher Kombinationen von Prozeßvariation
auftreten. Man betrachtet den Fall mit einem besten Abtastchip in
Verbindung mit einem schlechtesten Steuerchip. Die DRAM-Steuersignale würden im
Vergleich mit einem relativ schnellen Abtastimpuls langsam sein.
-
11 ist ein Wellenformdiagramm
zur Darstellung eines schnellen Abtastimpulssignals 23 zum Abtasten
von DRAM-Daten 22. Da der Zeitpunkt tSAMPLE 25 vor
dem Zeitpunkt tVALID 24 auftritt, sind die DRAM-Daten 22 noch
nicht stabil, wenn die Anstiegsflanke des Abtastimpulssignals 25 die DRAM-Daten 22 abtastet,
und deshalb werden ungültige
Daten abgetastet.
-
Wenn
ein schlechtester Abtastchip mit einem besten Steuerchip zusammenwirkt,
kehrt sich das Problem um. Die DRAM-Steuersignale wären schnell im
Vergleich mit einem relativ langsamen Abtastimpuls.
-
12 ist ein Wellenformdiagramm
und zeigt ein langsames Abtastimpulssignal 23 zum Abtasten
von DRAM-Daten 22. Da der Zeitpunkt tSAMPLE 25 lange
nach dem Zeitpunkt tVALID 24 auftritt, haben die DRAM-Daten 22 sich
bereits in einen ungültigen
Zustand zurückverändert, und
demgemäß tastet
die Anstiegsflanke des Abtastimpulssignals 25 ungültige Daten
ab. Die Abtastung von DRAM-Daten 22 während einer Periode ungültiger Daten
ist unbefriedigend, und das Problem nimmt mit höheren zeitlichen Anforderungen
moderner DRAMs zu.
-
Aus
der
US 5 491 814 ist
ein Computersystem bekannt, bei dem an eine zentrale Prozessoreinheit über eine
dynamisch einstellbare Geschwindigkeitsbusschaltung eine Vielzahl
von Peripheriegeräten
angeschlossen ist. Hierbei umfaßt
die dynamisch einstellbare Geschwindigkeitsbusschaltung einen Buscontroller,
eine Dekodierstufe und einen Taktgenerator. Mittels der Dekodierstufe
sind schnellere Peripheriegeräte,
die mit kürzeren
Buszyklen kompatibel sind, identifizierbar. Der Taktgenerator erzeugt Taktsignale
bei mindestens zwei unterschiedlichen Taktfrequenzen. Beim Zugriff
auf langsamere Peripheriegeräte,
die lediglich "normale" Buszyklen unterstützen, wird
der Buscontroller mit der "normalen" niedrigen Taktfrequenz
betrieben. Beim Zugriff auf schnellere Peripheriegeräte hingegen
wird ein schnelleres, durch den Taktgenerator erzeugtes Taktsignal
verwendet.
-
Aus
der
US 4 493 053 ist
es bekannt, einen Chipsatz mit mehreren unterschiedlich schnellen
integrierten Schaltkreisen dadurch zu synchronisieren, daß Bereit-Signale
der Schaltkreise ausgewertet werden und damit eine Anpassung an
den langsamsten Schaltkreis erfolgt.
-
Aufgabe
der Erfindung ist es, ein Computersystem und ein Verfahren zum Betreiben
eines Chipsatzes nach den Oberbegriffen des Anspruchs 1 bzw. 7 zu
schaffen, die die Arbeitsweise optimieren.
-
Diese
Aufgabe gemäß wird gemäß dem kennzeichnenden
Teil des Anspruchs 1 bzw. 7 gelöst.
-
Durch
eine programmierbare Kompensationseinrichtung zum Optimieren des
Verhaltens in einem DRAM-Speicherchipset werden Zeitlageabweichungen
zwischen verschiedenen integrierten Schaltkreisen durch Messen der
Arbeitungsgeschwindigkeiten der verschiedenen integrierten Schaltkreise
und dann Verlangsamen der schnelleren Chips korrigiert, um sich
an den langsamsten Chip in dem Satz integrierter Schaltkreise anzupassen.
Demgemäß wird die
Gesamtzugriffszeit zu dem DRAM minimiert. Ferner wird es ermöglicht,
multiple Zugriffe näher
aneinander zu plazieren, und dadurch das Verhalten des Satzes von
Chips optimiert.
-
Weitere
Ausgestaltungen der Erfindung sind der nachfolgenden Beschreibung
und den Unteransprüchen
zu entnehmen.
-
Die
Erfindung wird nachstehend anhand der Beschreibung sowie von in
den beigefügten
Abbildungen dargestellten Ausführungsbeispielen
nähert erläutert.
-
1 zeigt ein Blockdiagramm
eines Computersystems mit einer programmierbaren Kompensationseinrichtung.
-
2 zeigt ein Blockdiagramm
zur Darstellung der programmierbaren Kompensationseinrichtung der 1, implementiert in einem
Computer-DRAM-Steuerchipsatz.
-
3 zeigt ein schematisches
Diagramm zur Darstellung einer bevorzugten Ausführungsform der Prozeßmonitore
der 2.
-
4 zeigt eine Verzögerungseinheit.
-
5 zeigt eine Alternative
zu der Ausführungsform
nach
-
4.
-
6 bis 9 sind Flußdiagramme zur Erläuterung
des Betriebsablaufs.
-
10 bis 12 sind Zeitlageerläuterungsdiagramme.
-
Das
Blockdiagramm von 1 zeigt
ein Computersystem 30 mit einer DRAM-Steuereinheit 40 einschließlich einer
programmierbaren Kompensationseinrichtung 50 zum Optimieren
des Verhaltens in dem Chipsatz der DRAM-Steuereinheit 40. Das
Computersystem 30 umfaßt
vorzugsweise eine zentrale Verarbeitungseinheit CPU 32,
einen Videobildschirm 34, eine Kommunikationsschnittstelle 39, einen
dynamischen Randomspeicher (DRAM) 44, einen Plattenspeicher 47,
einen Festwertspeicher (ROM) 48, ein Dis kettenlaufwerk 49 und
einen Cachespeicher 41. Jedes Element des Computersystems 30 ist
vorzugsweise mit einem Eingang und einem Ausgang an einen gemeinsamen
Systembus 46 angekoppelt. Der einzige Systembus 46,
der dargestellt ist, verbindet alle Komponenten und kann in der Realität als einer
oder mehrere unabhängige
Systembusse realisiert werden, die direkt oder indirekt verbunden
oder überbrückt sind,
wie es für
die Maximierung des Verhaltens erforderlich ist.
-
Gemäß 2 umfaßt die Kompensationseinrichtung 50 einen
Steuerchip 54 und einen Abtastchip 56, die innerhalb
des Chipsatzes einer ComputerDRAM-Steuereinheit 40 implementiert
sind. Ein Steuerprozeßmonitor 64 mißt die Arbeitsgeschwindigkeit
des Steuerchips 54 und liefert die Messung an die Steuerkonfigurationslogik 66,
die über
Leitung 67 mit CPU 32 kommuniziert. In ähnlicher
Weise mißt ein
Abtastprozeßmonitor 80 die
Arbeitsgeschwindigkeit des Abtastchips 56 und liefert die
Messung an die Abtastkonfigurationslogik 70, die über Leitung 69 mit
CPU 32 kommuniziert. Die CPU 32 erzeugt DRAM-Steuersignale
für das
Einschreiben und Entnehmen von Daten bezüglich DRAM 44 einschließlich Speicheradreßsignals
(MA), eines Schreibentsperrsignals (WE), eines Zeilenadreßstrobosignals
(RAS) und des Spaltenadreßstrobosignals (CAS).
Die CPU-Datensignaleingangsleitungen 31 und Steuersignalausgangsleitung 33 sind
Teil des Systembusses 46. Der Steuerchip 54 enthält eine
Finitzustandssteuermaschine (FSM) 60, die in Reaktion auf
das von der CPU 32 bereitgestellte Steuersignal ein Signal "preCAS" auf Leitung 61 erzeugt
und auch ein Abtaststeuersignal auf Leitung 55 an den Abtastchip 50 überträgt. In der
bevorzugten Ausführungsform
kann die Arbeitsgeschwindigkeitsmessung erfolgen, wenn an das Computersystem
zu Beginn Leistung angelegt wird, doch kann in anderen Ausführunsformen
die Messung periodisch vorgenommen werden. Der Steuerverzögerungsmodul 62 empfängt das
Signal "preCAS" auf Leitung 61 von der
Steuer-FSM 60 und erzeugt in Reaktion darauf mit einer
variablen Verzögerung
entsprechend der Erfindung ein Spaltenadreßstrobosignal "CAS" auf Leitung 68.
Der DRAM 64 empfängt
die angeforderte Speicheradresse und das Signal "CAS" auf
Leitung 68 und bringt in Reaktion darauf gültige DRAM-Daten an
seinen Ausgang auf Leitungen 75, wodurch die DRAM-Daten
einem Abtastregister 76 im Abtastchip 56 zugeführt werden.
-
Eine
Finitzustandabtastmaschine (FSM) 72 im Abtastchip 56 empfängt ein
Abtaststeuersignal auf Leitung 55 von der Steuer-FSM 60 und
erzeugt in Reaktion darauf ein Signal "preSample" auf Leitung 73, das dem Abtastverzögerungsmodul 74 zugeführt wird.
In der bevorzugten Ausführungsform
können die
Arbeitsgeschwindigkeitsmessungen vorgenommen werden, wenn anfänglich Leistung
dem Computersystem 30 zugeführt wird, doch können in
anderen Ausführungsformen
die Messungen periodisch ausgeführt
werden. Der Abtastverzögerungsmodul 74 empfängt das
Signal "pre-Sample" auf Leitung 73 von
der Abtast-FSM 72 und erzeugt in Reaktion darauf ein Abtastsignal "Sample" auf Leitung 78 zu
dem Takteingang des Abtastregisters 76. Das Signal "Sample" auf Leitung 78 kann
variabel verzögert
werden, um die DRAM-Steuereinheit 40 zu optimieren. Das
Signal "Sample" auf Leitung 78 taktet
die DRAM-Daten aus den Leitungen 75 in das Abtastregister 76 und
heraus auf Datenleitungen 31, wodurch CPU 32 DRAM-Ausgangssignale
empfängt
und der Datenlesezyklus beendet wird.
-
3 ist ein schematisches
Diagramm zur Darstellung einer bevorzugten Ausführungsform sowohl für den Steuerprozeßmonitor 64 als
auch für den
Abtastprozeßmonitor 80 der 2. Ausführungsformen, die zu jener
der 3 äquivalent
sind, können
alternativ die Prozeßmonitore
realisieren. Da die Komponenten einer gegebenen integrierten Schaltung
zusammen aus einem einzigen Siliciumchip hergestellt werden, haben
die Komponenten alle ähnliche
physikalische Eigenschaften. Demgemäß ist ein Testelement 94 vorgesehen,
dessen Arbeitsgeschwindigkeit repräsentativ für die Arbeitsgeschwindigkeit
des integrierten Wirtschaltkreises für die Berechnung einer Arbeitsgeschwindigkeit
für den jeweiligen
integrierten Wirtschaltkreis ist. Beispielsweise kann das Testelement 94 ein
Puffer oder ein anderes nicht-invertierendes digitales logisches
Gatter mit relativ konstanter Ausbreitungszeit sein. Vorzugsweise
verwendet jeder integrierte Schaltkreis in dem Satz von Chips ähnliche
elektronische Komponenten wie die Testelemente 94, und
deshalb kann die Arbeitsgeschwindigkeitsmessung jedes integrierten
Schaltkreises direkt mit den Messungen der anderen integrierten
Schaltkreise verglichen werden.
-
Der
Ausgang des Testelements 94 wird in den Eingang des Inver ters 92 eingespeist,
dessen Ausgang dann auf den Eingang des Testelements 94 rückgekoppelt
wird, um einen Ringoszillator zu bilden, welcher eine Serie von
Ausgangsimpulsen mit fester Frequenz erzeugt. Die Oszillatorausgangsimpulsdauer
ist proportional der Arbeitsgeschwindigkeit des Testelements 94.
In der bevorzugten Ausführungsform
werden die Oszillatorausgangsimpulse von einem Puffer 96 gepuffert,
um Ladeprobleme zu verringern, und dann Zähler 98 zugeführt, wo
sie während
eines konstanten Zeitintervalls gleich der Periode eines Taktsignals
CLK 20 gezählt
werden, da sie an den Rücksetzeingang
des Zählers 98 angelegt wird.
Der Ausgangswert des Zählers 98 repräsentiert die
Arbeitsgeschwindigkeit des integrierten Wirtschaltkreises 54 oder 56 und
wird der entsprechenden Konfigurationslogik 66 oder 70 zugeführt, die
von der CPU 32 gelesen werden kann. Die CPU 32 greift auf
die Konfigurationslogik in den Chips 54 und 56 über die
Zugriffspfade 67 und 69 zu. Der Zugriffspfad kann
so realisiert werden, daß die
CPU 32 direkt mit jedem Chip kommuniziert oder indirekt über einen einzelnen
Chip. Eine mögliche
Ausführungsform kann
eine Verbindung zwischen Steuerchip 54 und Abtastchip 56 haben,
wodurch Konfigurationsdaten zuerst vom Steuerchip 54 zum
Abtastchip 56 gelangen und dann zur CPU 32 über Datenleitungen 31.
-
4 ist ein schematisches
Diagramm zur Darstellung der bevorzugten Ausführungsform für den Steuerverzögerungsmodul 62 und
Abtastverzögerungsmodul 74 der 2. Alternative Ausführungsformen,
die von 4 abweichen,
können
in äquivalenter
Weise verwendet werden, um Verzögerungsmodule
zu implementieren. Der Verzögerungsmodul
nach 4 wird unter Verwendung
einer Serie von Multiplexern 112, 114, 116, 118 und 199 realisiert,
welche jeweils einen Eingangsanschluß A, einen Eingangsanschluß B, einen
Wähleingang
S für das
Wählen
von entweder Eingang A oder Eingang B als aktiver Eingang und einen
Ausgang aufweisen. In der bevorzugten Ausführungsform ist eine Verzögerungsmoduleingangsleitung 61 oder 73 mit
Eingang B jedes Multiplexers in Serie verbunden. Im Steuerchip 54 empfängt die
Moduleingangsleitung 61 das Signal "pre-CAS" von der Steuer-FSM 60.
Im Abtastchip 56 empfängt
die Moduleingangsleitung 73 das Signal "preSample" von Abtast-FSM 72. Jeder MUX-Ausgang
wird dem benachbarten stromabliegenden MUX-Eingang A zugeführt, ausge nommen MUX 112,
dessen Ausgang der Verzögerungsmodulausgang
ist. Der Steuerverzögerungsmodul 62 liefert das
Signal "CAS" auf Ausgangsleitung 68 zur
DRAM 44, und der Abtastverzögerungsmodul 74 liefert
das Abtastsignal auf Ausgangsleitung 78 an das Abtastregister 76.
Der Wähleingang
S jedes Multiplexers ist mit der Konfigurationslogik verbunden,
die von CPU 32 gesteuert wird, wodurch eine variable Anzahl
von MUX-Elementen, die abhängig
von der Kombination von ausgewählten
Eingangswerten S das Moduleingangssignal verzögern kann.
-
Ferner
kann die Anzahl von Multiplexerelementen MUX in der Serie abhängig von
der maximalen Größe der potentiell
gewünschten
Verzögerung variiert
werden. Beispielsweise kann die Ausführungsform nach 8 ausgedehnt werden, indem ein
zusätzliches
Element MUX mit seinem Ausgang an die Eingangsklemme A von MUX 119 gelegt
wird und die Verzögerungsmoduleingangsleitung
mit dem Eingang B des zusätzlichen
MUX-Elements verbunden wird und eine Konfigurationslogikleitung
mit dem Eingangswählanschluß S verbunden
wird.
-
5 ist ein schematisches
Diagramm zur Darstellung einer alternativen Konfiguration für die einzelnen
Multiplexer (MUX) der 4.
Bei digitalen Logikgattern wie jenen der Multiplexer nach 4 haben infolge der Gatterarchitektur
digitale Niedrig/Hoch-Übergänge oft
unterschiedliche Geschwindigkeiten gegenüber digitalen Hoch/Niedrig-Übergängen, was die sich ausbreitenden
Wellenformen verzerren kann. Um dieses Problem zu beseitigen, wird
der Ausgang eines gegebenen Verzögerungselements
durch ein identisches zweites Verzögerungselement invertiert,
welche beide Rücken
an Rücken verbunden
sind. Dadurch wird jede Eingangssignalflanke sowohl einem Hoch/Niedrig-
als auch einem Niedrig-Hoch-Übergang
unterworfen, was die Verzerrung wirksam auslöscht. 5 zeigt eine Alternative zu den nicht
invertierenden MUX-Elementen 112, 114, 116, 118, 119,
die mit invertierendem MUX 122 realisiert werden, dessen
Ausgang sowohl an Eingang A als auch an Eingang B des invertierenden MUX 124 angelegt
wird. Zusätzliche
weitere invertierende Elemente (in geraden Anzahlen), in Serie mit MUX 124 geschaltet,
könnten
die Basiskonfiguration der 5 erstrecken,
um den inkrementalen Verzögerungswert
zu erhöhen.
-
6 ist ein Flußdiagramm,
das die grundsätzlichen
Schritte für
das Optimieren des Verhaltens eines Satzes von integrierten Schaltkreischips
entsprechend der vorliegenden Erfindung wiedergibt. Im Schritt 130 wird
eine Arbeitsgeschwindigkeit für
jeden integrierten Schaltkreis in dem Satz von CPU 32 berechnet,
welche die Prozeßmonitore 64 und 80 (6) ausliest, wie in dem
Flußdiagramm
der 7 detailliert wiedergegeben.
Im Schritt 132 vergleicht die CPU 32 die berechnte
Arbeitsgeschwindigkeit aller integrierten Schaltkreise in dem Satz
von Chips, um den langsamten integrierten Schaltkreis zu identifizieren,
wie in 8 detailliert
wiedergegeben. Im Schritt 134 justiert CPU 32 selektiv
die Verzögerungsmodule
und justiert dadurch Verzögerungen, welche
die Arbeitsgeschwindigkeit anderer integrierter Schaltkreise verlangsamt,
um sie an den langsamsten integrierten Schaltkreis in dem Satz anzupassen,
wie in 9 detailliert
wiedergegeben.
-
7 ist ein Flußdiagramm,
das den Schritt 132 des Flußdiagramms nach 6 für die Berechnung der Arbeitsgeschwindigkeit
jedes integrierten Schaltkreises in einem Satz von Chips näher ausführt. Der
Schritt 140 identifiziert ein Testelement 94 (3), vorzugsweise innerhalb
jedes integrierten Schaltkreises zur Verwendung beim Berechnen ihrer entsprechenden
Arbeitsgeschwindigkeiten. Da die Komponenten eines gegebenen integrierten
Schaltkreises sämtlich
aus einem einzigen Siliciumchip hergestellt werden, haben sie alle
sehr ähnliche
physikalische Eigenschaften, und demgemäß ist die Arbeitsgeschwindigkeit
des Testelements 94 repräsentativ für die Arbeitsgeschwindigkeit
des integrierten Wirtschaltkreises. Die bevorzugte Ausführungsform
verwendet denselben Typ von Testelement 94 in jedem integrierten
Schaltkreis, der innerhalb eines Satzes von Chips gemessen wird.
-
Der
Schritt 142 justiert die Verzögerungsperiode in jedem Testelement 94 auf
gleich oder mehr als die Minimalauflösung der Arbeitsgeschwindigkeitsmeßschaltung.
Die Ausbreitungsverzögerung
eines typischen digitalen Logikgatters ist relativ kurz und kann
mit Vorteil vergrößert werden,
um einen leichter meßbaren
Wert zu erzeugen.
-
Die
bevorzugte Ausführungsform
(3) bildet einen Ringoszillator,
bei dem der Ausgang des Testelements 94 dem Eingang des
Inver ters 92 zugeführt
wird, dessen Ausgang seinerseits dem Eingang des Testelements 94 zugeführt wird.
Der Ringoszillator erzeugt demgemäß eine Anzahl von Ausgangsimpulsen
mit Dauern, die proportional sind der Ausbreitungsverzögerung des
Testelements 94 und auch der des Inverters 92.
-
Der
Schritt 144 tastet die Verzögerungsperiode jedes Testelements 94 ab
und hält
sie, um stabile Arbeitsgeschwindigkeitswerte für jeden integrierten Schaltkreis
in dem Satz von Chips bereitzustellen. In der bevorzugten Ausführungsform
werden die Ausgangsimpulse des Ringsoszillators von einem Zähler 98 gezählt, der
durch ein Taktsignal CLK 20 zu einem konstanten Zeitintervall
rückgesetzt
wird, um einen stabilen repräsentativen
Arbeitsgeschwindigkeitswert für
jeden integrierten Schaltkreis in dem Satz von Chips zu erzeugen.
In der bevorzugten Ausführungsform
kann die CPU 32 die Arbeitsgeschwindigkeitswerte in internen
Registern halten, jedoch könnten
in anderen Ausführungsformen
die Arbeitsgeschwindigkeitswerte in verschiedenen anderen Typen
von Speicherkomponenten abgelegt werden.
-
8 ist ein Flußdiagramm,
das den Schritt 132 des Diagramms nach 6 in Einzelheiten wiedergibt. Hier werden
die Arbeitsgeschwindigkeiten der integrierten Schaltkreise in einem
Satz von Chips miteinander verglichen. Die Verfahrensschritte der 8 und 9 werden vorzugsweise von der CPU 32 (2) in Reaktion auf Software-Programmierung ausgeführt, doch
könnten
die Schritte alternativ auch von eigener System-Hardware realisiert
werden. Schritt 150 nimmt Zugriff auf jede der Arbeitsgeschwindigkeiten,
die für
integrierten Schaltkreise in einem Satz von Chips berechnet wurden.
Schritt 152 vergleicht die berechneten Arbeitsgeschwindigkeiten,
um einen langsamsten integrierten Schaltkreis zu identifizieren,
der am langsamsten von allen integrierten Schaltkreisen in dem Satz
von Chips arbeitet. Im Schritt 154 wird für jeden
verglichenen integrierten Schaltkreis ein Delta-Wert berechnet.
Der Delta-Wert eines
gegebenen integrierten Schaltkreises ist die Differenz zwischen
der berechneten Arbeitsgeschwindigkeit dieses Schaltkreises und
der berechneten Arbeitsgeschwindigkeit des langsamsten integrierten
Schaltkreises.
-
9 ist ein Flußdiagramm,
das den Schritt 134 aus dem Dia gramm nach 6 weiter detailliert, in welchem die
Arbeitsgeschwindigkeiten der integrierten Schaltkreise in einem
Satz von Chips eingestellt werden. Im Schritt 160 werden
die Delta-Werte aus 8 für jeden
integrierten Schaltkreis durch die CPU 32 in entsprechende
Kompensationsverzögerungsfaktoren
umgesetzt. Delta-Werte können
in Kompensationsverzögerungsfaktoren
umgesetzt werden, wobei man eine Mehrzahl von Verfahren anwenden
kann. Beispielsweise können
die berechneten Delta-Werte auf eine vorausberechnete, empirisch
abgeleitete Umsetztabelle bezogen werden, um die entsprechenden
Kompensationsverzögerungsfaktoren
zu bestimmen. Eine Umsetztabelle kann effizient einzelne Zeitlageeigenschaften
von unterschiedlichen integrierten Schaltkreisarchitekturen mit den
berechneten Delta-Werten kombinieren, um genauere Kompensationsverzögerungsfaktoren
abzuleiten. Je nach dem Typ der integrierten Schaltkreise in dem
Satz von Chips und ihren Anwendungen kann die Erfindung auch einen
Schwellen-Delta-Wert vorgeben, unter welchem kein Kompensationsverzögerungsfaktor
berechnet wird. Schließlich
legt im Schritt 162 die CPU 32 die jeweiligen
Kompensationsverzögerungsfaktoren
an die Verzögerungsmodule
in den entsprechenden integrierten Schaltkreisen an, um das Verhalten
des Satzes von Chips zu optimieren.
-
Die
programmierbare Kompensationseinrichtung kann auch in einer anderen
Einrichtung als in einer DRAM-Steuereinheit realisiert werden. Darüberhinaus
kann die Kompensationseinrichtung verwendet werden, um das Verhalten
in Sätzen
von Chips zu optimieren, die mehr als zwei integrierte Schaltkreise
aufweisen.