PatentDe  


Dokumentenidentifikation DE69623707T2 30.01.2003
EP-Veröffentlichungsnummer 0757353
Titel Multitordirektzugriffspeicher
Anmelder Nortel Networks Ltd., St.Laurent, Quebec, CA
Erfinder Wood, Steven William, Kanata, Ontario K2M 1W5, CA;
Gibson, Garnet Frederick Randall, Nepean, Ontario K2G 5V5, CA;
Gibbins, Robert George, Ottawa, Ontario K2B 8H5, CA
Vertreter Patentanwälte Wallach, Koch & Partner, 80339 München
DE-Aktenzeichen 69623707
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 01.08.1996
EP-Aktenzeichen 963057005
EP-Offenlegungsdatum 05.02.1997
EP date of grant 18.09.2002
Veröffentlichungstag im Patentblatt 30.01.2003
IPC-Hauptklasse G11C 8/00
IPC-Nebenklasse G11C 29/00   

Beschreibung[de]
Technisches Gebiet

Die vorliegende Erfindung bezieht sich auf einen Multiport-RAM (Direktzugriffspeicher), der eine Parallelschreib-Testfunktion verbessert.

Hintergrund des Standes der Technik

RAM's, die zumindest einen Adressenport aufweisen und Speicherelemente (Kernzellen) einschließen, sind gut bekannt. In einer Veröffentlichung von A. L. Silburt et al. mit dem Titel "A 180-MHz-0.8-um BiCMOS Modular Memory Family of DRAM and Multiport SRAM", IEEE Journal of Solid-State Circuits, Band 28, Nr. 3, März 1993, Seiten 222 bis 227 sind verschiedene Anordnungen von RAM- Speicherelementen gezeigt.

In RAM's besteht ein Problem darin, ein praktisches eindringfreies Verfahren zur Feststellung von Kurzschlüssen zwischen Bitleitungen von unterschiedlichen Ports zu entwickeln. In einer Veröffentlichung von B. Nadeau-Dostie et al. mit dem Titel "Serial Interfacing for Embedded-Memory Testing", IEEE Design & Test of Computers, April 1990, Seite 52, ist eine BIST- (eingebaute Selbsttest-) Architektur und ein Speichertest offenbart.

Die Feststellung von Kurzschlüssen aufgrund von Herstellungsfehlern zwischen Bitleitungen von unterschiedlichen Ports, die über große Strecken parallel zueinander verlaufen (die "Höhe" der Speichermatrix) ist schwierig, und zwar aufgrund der kleinen Differenzsignal-Amplitude, die bei Hochgeschwindigkeits- Speicherport-Architekturen verwendet wird. Kurzschlüsse zwischen Wortleitungen von unterschiedlichen Ports sind in gleicher Weise schwierig ohne spezielle Testalgorithmen festzustellen. Derartige Fehler können bei üblichen BIST- oder Funktionstesteinrichtungen während der Herstellungsprüfung unerkannt bleiben und sie können zu intermittierenden Ausfällen bei der Anwendung führen. Ein Parallelschreib-Verfahren kann verwendet werden, um Port-zu-Port-Bitleitungs- und Wortleitungs-Kurzschlußfehler während des BIST oder der Funktionsprüfung festzustellen.

Die US 3 968 480 beschreibt eine Speichermatrix mit einer Mehrfachport- Konfiguration zur Schaffung eines mehrfachen Zugriffes auf den Speicherbetrieb. Zwei Operanden oder Speicherplätze werden gleichzeitig gelesen, wobei jeder durch eine getrennte Adresse spezifiziert ist.

Zusammenfassung der Erfindung

Es ist ein Ziel der vorliegenden Erfindung, einen verbesserten Multi-Port-RAM zu schaffen.

Die Erfindung ergibt einen Multi-Port-RAM (Direktzugriffspeicher) wie er im Anspruch 1 definiert ist.

In einem Beispiel wird ein Multi-Port-RAM (Direktzugriffspeicher) geschaffen, der RAM-Zellen von m Reihen mal n Spalten umfaßt, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern von Binärdaten einschließt, wobei die RAM- Zellen jeder Spalte gemeinsam mit einem jeweiligen Satz von m Datenpfaden gekoppelt sind, wobei m, n und M ganze Zahlen sind. Der Multi-Port-RAM umfaßt weiterhin folgendes: Zugriffseinrichtungen zum Leiten eines Datenzugriffs an die RAM-Zellen über die Datenpfade; und Pfadauswahleinrichtungen zur Bestimmung von Datenpfaden derart, daß ein Datenzugriff über die ausgewählten Datenpfade ermöglicht wird und der Datenzugriff über die nicht ausgewählten Datenpfade gesperrt wird.

In einem Beispiel umfaßt die Datenzugriffseinrichtung Datenleseeinrichtungen zum Lesen von Binärdaten, die in den Speichereinrichtungen gespeichert sind, über den ausgewählten Datenpfad, wobei die Binärdaten Differenz- oder Eintakt-Binärdaten sind. Die in den Speichereinrichtungen gespeicherten Binärdaten werden über die ausgewählten Datenpfade gelesen, und das Lesen von Daten über die nicht ausgewählten Datenpfade ist gesperrt.

Bei einem weiteren Beispiel umfaßt die Zugriffseinrichtung Datenschreib- und Leseeinrichtungen, um: (i) Binärdaten in den Speichereinrichtungen über den ausgewählten Datenpfad während einer Schreibbetriebsart zu speichern; und (ii) die in den Speichereinrichtungen gespeicherten Binärdaten über den ausgewählten Datenpfad während einer Lese-Betriebsart zu lesen. Die Binärdaten sind Differenz- oder Eintakt-Binärdaten. Die Binärdaten werden in den Speichereinrichtungen über die ausgewählten Datenpfade gespeichert, und das Schreiben der Daten über die nicht ausgewählten Datenpfade wird während der Schreibbetriebsart gesperrt. Die Binärdaten werden aus den Speichereinrichtungen über die ausgewählten Datenpfade gelesen, und das Lesen der Daten über die nicht ausgewählten Datenpfade ist während der Lesebetriebsart gesperrt.

Die Multi-Port-RAM-Portarchitekturen mit den Pfadauswahleinrichtungen (Parallelschreiben) ergeben ein praktisches, eindringungsfreies Verfahren zur Feststellung von Kurzschlüssen zwischen Bitleitungen und Wortleitungen von unterschiedlichen nur Lese-, nur Schreib- oder Lese-Schreib-Ports in einem Multi- Port-RAM. Dies stellt ein neuartiges Testverbesserungsmerkmal dar.

Bei der Anwendung des Parallelschreibmerkmals können Bitleitungs- und Wortleitungs-Fehler zwischen Ports eines Multi-Port-RAM während des Herstellungstests mit Hilfe üblicher Ein-Port-Testalgorithmen festgestellt werden. Dies ermöglicht die Integration eines BIST für Multi-Port-Speicher unter Verwendung von verfügbaren BIST-Steuergeräten, die für die Prüfung von Ein-Port- Speichern entwickelt wurden. Es sind lediglich geringfügige Modifikationen an dem BIST-Steuergerät erforderlich, um die Parallelschreibfunktion zu ermöglichen und um es zu ermöglichen, daß ein Multi-Port-Speicher als eine Anzahl von einzelnen Ein-Port-Speichern behandelt wird.

Kurze Beschreibung der Zeichnungen

Ausführungsformen der vorliegenden Erfindung werden nunmehr in Form eines Beispiels unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:

Fig. 1 ein Blockschaltbild eines Multi-Port-RAM ist,

Fig. 2 ein Schaltbild einer SRAM- (statischer Direktzugriffspeicher-) Zelle ist, die in dem RAM nach Fig. 1 enthalten ist,

Fig. 3 ein ausführliches Schaltbild eines in Fig. 2 gezeigten Signalspeichers ist,

Fig. 4 ein Schaltbild einer Schaltung zur Schaffung der Speicherspalten- Zugriffs- und Bitleitungs-Klemmung mit Parallelschreiben ist,

Fig. 5 ein Blockschaltbild eines Drei-Port-RAM mit einem Schreibport und zwei Leseports gemäß einer Ausführungsform der vorliegenden Erfindung ist,

Fig. 6 ein Schaltbild einer Ausführungsform einer RAM-Zelle eines Multiport-RAM mit Spalten-Auswahleinrichtungen gemäß der vorliegenden Erfindung ist,

Fig. 7 ein Schaltbild einer weiteren Ausführungsform einer RAM-Zelle eines Multiport-RAM mit Spalten-Auswahleinrichtungen ist,

Fig. 8 ein Blockschaltbild eines Zwei-Port-SRAM mit zwei Lese-Schreib- Ports ist,

Fig. 9 ein Schaltbild einer Parallelschreibanwendung auf Differenz- Binärdaten mit Differenz-Lese-Schreib-Bitleitungen ist,

Fig. 10 ein weiteres Schaltbild einer Parallelschreibanwendung auf Differenz-Binärdaten mit Eintakt-Lese-Schreib-Bitleitungen ist,

Fig. 11 ein Blockschaltbild eines Zwei-Port-SRAM mit zwei Lese-Schreib- Ports ist,

Fig. 12 ein Schaltbild einer Parallelschreibanwendung auf Eintakt- Binärdaten mit Eintakt-Lese-Schreib-Bitleitungen ist,

Fig. 13 ein Schaltbild einer weiteren Parallelschreibanwendung auf Eintakt- Binärdaten mit Eintakt-Lese-Schreib-Bitleitungen ist,

Fig. 14 ein Blockschaltbild eines Drei-Port-SRAM mit einem Nur-Schreib- Port und zwei Nur-LesePorts ist,

Fig. 15 ein Schaltbild einer Parallelschreibanwendung auf einen Drei-Port- SRAM mit einem Eintakt-Nur-Schreib-Port und zwei Eintakt-Nur-Lese-Ports ist, und

Fig. 16 ein Schaltbild einer weiteren Parallelschreibanwendung auf einen Drei-Port-SRAM mit einem Eintakt-Nur-Schreib-Port und zwei Eintakt-Nur-Lese- Ports ist.

Ausführliche Beschreibung I. 9-Port-Speicher

Fig. 1 zeigt einen Multiport-RAM. Der 9-Port-SRAM- (statischer Direktzugriffspeicher) ist als 348 Byte an Speicherplatz mit einem einzigen 24 · 128-Bit (16 Byte) Schreibport und acht 384 · 8-Bit-Leseports konfiguriert. Er ist als eine Kernzellenmatrix mit 48 Reihen und 64 Spalten ausgebildet. Der 128-Bit- Schreibport ist reihenweise mit 64 Bits verschachtelt, die in jede von zwei ausgewählten Reihen pro Schreibzyklus geschrieben werden, um ein optimaleres Matrix-Aspektverhältnis zu erzielen.

Eine 5-Port-RAM-Zelle mit vier vollständig differentiellen Leseports und einem Eintakt-Pseudo-Differenz-Schreibport wurde entwickelt. Differenz-Leseports werden für eine verbesserte Betriebsleistung verglichen mit einer kompakteren Eintakt- Architektur ausgewählt. Eine indirekte Lesezugriffs-Architektur wird verwendet, um Multiport-Zellenstabilitätsprobleme zu beseitigen, die sich aus mehrfachen gleichzeitigen Zugriffen auf eine Zelle ergeben. Das Eintakt-Schreibschema kombiniert mit einer Reihenverschachtelung spart zwei Schreibleitungen pro Spalte ein. Ein örtliches Bitleitungs-Inversionsschema wird dazu verwendet, eine pseudodifferentielle Schreibmöglichkeit an der Kernzelle für eine Schreib-Betriebsleistung zu schaffen, die einer Differenz-Schreib-Betriebsleistung äquivalent ist.

Der Multiport-RAM hat eine 5-Port-SRAM-Zellenmatrix 110 mit einem Schreibport und vier Leseports. Die Zellenmatrix 110 ist mit Lese-Wortleitungen 112 und Lese- Bitleitungen 114 verbunden. Die Zellenmatrix 110 hat RAM-Zellen von m (= 48) Reihen und n (= 64) Spalten. Die Adresse, die die RAM-Zellen zum Lesen von Daten in der Zellenmatrix 110 identifiziert, ist durch X- und Y-Adressensignale definiert, die von einem Leseport-Reihendecodierer 116 bzw. einen Leseport- Steuer- und Spaltendecodierer 118 geliefert werden. Die Adressendaten sind in einem Adressensignal enthalten, das an einem Eingangsbus 120 vorliegt, wobei das Adressensignal X- und Y-Adressendaten hat. Die Adressendaten werden einem Adressen-Vordecodierer 122 zugeführt, der die X- und Y-Daten an den Leseport- Reihendecodierer 116 und den Leseport-Steuer- und Spaltendecodierer 118 liefert. Eine Datenausgangsschaltung 124 ist mit der Zellenmatrix 110 zum Lesen von Daten verbunden. Der Multiport-RAM schließt eine Schreibport-Steuerschaltung 126, einen Schreibport-Reihendecodierer und Schieberegister 128 und eine Schreibport-Schnittstellenschaltung 130 ein. Der Schreibport-Reihendecodierer und Schieberegister 128 ist mit der Datenausgangsschaltung 124 über eine Schreibtaktleitung 132 verbunden. Der Schreibport-Reihendecodierer und Schieberegister 128 und die Schreibport-Schnittstellenschaltung 130 sind mit der Zellenmatrix 110 über Schreib-Wortleitungen 134 bzw. Schreib-Bitleitungen 136 verbunden. Eine Daten-Schreibfunktion wird von der Schreibport-Steuerschaltung 126, der Schreibport-Reihendecodierer- und Schieberegisterschaltung 128 und der Schreibport-Schnittstellenschaltung 130 ausgeführt.

Die 9-Port-Betriebsweise wird durch die Zeitmultiplexierung der vier physikalischen Leseports in der Kernmatrix erzielt. Zwei vollständige Lesezugriffe an den Kern werden an diesen Ports in jedem Taktzyklus ausgeführt. Die gelesenen Daten werden dann zeitlich nachgesteuert und in acht Ausgangsports zwischengespeichert, um sie dem Benutzer an der Anstiegsflanke des Systemtaktes darzubieten. Alle Leseport-Eingänge werden an die 9-Port- Schnittstelle bei der gleichen Anstiegs-Taktflanke geliefert, und sie werden intern in einer Pipeline angeordnet, um den Lesezugriff auszuführen. Der Lesebetrieb wird durch einen eigengesteuerten Taktgenerator gesteuert, der jeden Lesezyklus so schnell wie möglich nach dem Datenzugriff abschaltet, um Leistung zu sparen. Der eigengesteuerte Betrieb ergibt einen nahezu konstanten Leistungsverbrauch über alle Verfahrensfälle. Der gesamte multiplexierte Lesebetrieb wird durch eine einzige Anstiegsflanke des Systemtaktes eingeleitet, wodurch die Schnittstelle höchster Ebene vereinfacht wird und die Anforderungen an Takt-Tastverhältnisse zu einem Minimum gemacht werden. Siehe anhängige EPO-Patentanmeldung Nr. 96305523.1 mit dem Titel "Multi-Port Random Access Memory", die von dem gleichen Anmelder am 26. Juli 1996 eingereicht wurde.

Die Lesespeicher-Darstellung ist speziell ausgebildet, um zwei unabhängige Datenseiten zu schaffen, die mit einer 1-Bit-Umschaltung umgeschaltet werden können. Die Schreibport-Daten werden physikalisch über eine Datenregisteranordnung abgebildet, um die Lese-Datenabbildung anzupassen. Es ist keine Spaltendecodierung in dem Schreibport erforderlich. Weil die TSI- Anwendung eine sequentielle Schreib-Adressierung erfordert, ist ein eingebauter Schreib-Adressenzähler zusammen mit Seiten-Synchronisationssteuerungen vorgesehen, um Seitenumschaltereignisse festzustellen.

Zusätzlich sind die Speicher mit einer Betriebsart mit extrem niedriger Leistung oder einer "leistungsfreien" Betriebsart versehen, indem sämtliche Schnittstellensignale unter Einschluß des Taktes mit einem Leistungsabschaltsignal verknüpft werden, wodurch irgendwelche Signalübergänge in dem Speicher beseitigt werden, während eine Abschaltung vorgesehen ist.

Um Abtast- und BIST-Konstruktionsmethodologien zu erleichtern, schließt die Speicher-Schnittstelle eingebaute Abtastketten für Adressen- und Datensignale sowie eine spezielle Multiport-Testbetriebsart ein, die als Parallelschreiben bezeichnet wird. Die Abtastketten sind unabhängig steuerbar, so daß Mehrfachsegment-Ketten unterstützt werden können.

Die Parallelschreib-Betriebsart ist für eine Kurzschlußerfassung zwischen Ports (B. Nadeau-Dostie et al. mit dem Titel "Serial Interfacing for Embedded-Memory Testing", IEEE Design & Test of Computers, April 1990, Seite 52) durch Anlegen einer Kombination von Testbetriebsart-Steuersignalen vorgesehen.

Die RAM-Zelle der Multiport-SRAM-Kernmatrix nach Fig. 2 besteht aus vier Differenz-Leseports mit indirektem Datenzugriff über torgesteuerte Bitleitungs-Pull- Down-Transistoren und einen Eintakt-Nur-Schreib-Port mit einer örtlichen Bitleitungs-Inversion, damit sich ein Pseudo-Differenz-Schreibzugriff ergibt.

Die folgende Beschreibung nimmt aus Vereinfachungsgründen und lediglich als Beispiel an, daß die genannten FET's MOSFETs (Metalloxid-Halbleiter- Feideffekttransistoren) sind, und eine Versorgungsspannung + Vdd ist typisch (beispielsweise 5,0 oder 3,3 Volt). Die in Fig. 2 gezeigte RAM-Zelle hat ein 5-Port- Speicherelement und schließt einen Schreibport und vier Differenz-Leseports mit indirektem Datenzugriff ein. Die RAM-Zelle hat einen Signalspeicher (Zelle) 210, der zwei Inverter 211 und 212 einschließt. Jeder der Inverter 211 und 212 hat einen CMOS- (komplementären Metalloxid-Halbleiter-) Inverter. Die Eingangs- und Ausgangsanschlüsse des Inverters 211 sind mit den Ausgangs- bzw. Eingangsanschlüssen des Inverters 212 verbunden.

In Fig. 2 sind alle FET's N-Kanal-FET's. Die Source-Elektrode eines FET 214 ist mit der Drain-Elektrode eines FET 216 verbunden, und die Source-Elektrode eines FET 218 ist mit der Drain-Elektrode eines FET 220 verbunden. In gleicher Weise ist die Source-Elektrode eines FET 222 mit der Drain-Elektrode eines FET 224 verbunden, und die Source-Elektrode eines FET 226 ist mit der Drain-Elektrode eines FET 228 verbunden. Die Source-Elektrode eines FET 230 ist mit der Drain- Elektrode eines FET 232 verbunden, und die Source-Elektrode eines FET 234 ist mit der Drain-Elektrode eines FET 236 verbunden. Die Source eines FET 238 ist mit der Drain-Elektrode eines FET 240 verbunden, und die Source-Elektrode eines FET 242 ist mit der Drain-Elektrode eines FET 244 verbunden.

Der Ausgangsanschluß des Inverters 211 und der Eingangsanschluß des Inverters 212 sind mit den Gate-Elektroden der FETs 216, 224, 232 und 240 und der Drain- Elektrode eines FET 246 verbunden. Der Eingangsanschluß des Inverters 211 und der Ausgangsanschluß des Inverters 212 sind mit den Gate-Elektroden der FETs 220, 228, 236 und 244 und der Drain-Elektrode eines FET 248 verbunden, dessen Source mit der Drain-Elektrode eines FET 250 verbunden ist. Die Source- Elektroden der FET's 216, 220, 224, 228, 232, 236, 240, 244 und 250 sind mit dem Erdanschluß verbunden.

Die Gate-Elektroden der FET's 246 und 248 sind mit einer Leitung 252 verbunden, an der ein Schreib-Wortleitungssignal wlw anliegt. Die Gate-Elektrode des FET 250 und die Source-Elektrode des FET 246 sind mit einer Leitung 254 verbunden, an der ein Schreib-Bitleitungssignal blw anliegt, das eine Daten-"Null" oder "Eins" darstellt.

Eine Leitung 256, an der ein Wortleitungs-Lesesignal wlra anliegt, ist mit den Gate- Elektroden der FET's 214 und 218 verbunden. Eine Leitung 258, an der ein Wortleitungs-Lesesignal wlrb anliegt, ist mit den Gate-Elektroden der FET's 222 und 226 verbunden. Eine Leitung 260, an der ein Wortleitungs-Lesesignal wlrc anliegt, ist mit den Gate-Elektroden der FET's 230 und 234 verbunden. Eine Leitung 262, an der ein Wortleitungs-Lesesignal wIrd anliegt, ist mit den Gate-Elektroden der FET's 238 und 242 verbunden.

Die Drain-Elektroden der FET's 218, 226, 234 und 242 sind mit den Leitungen 264, 266, 268 bzw. 270 verbunden, auf denen Lese-Bitleitungssignale blra, blrb, blrc und blrd vorliegen. Die Drain-Elektroden der FET's 214, 222, 230 und 238 sind mit Leitungen 272, 274, 276 bzw. 278 verbunden, auf denen Lese-Bitleitungssignale blrna, blrnb, blrnc und blrnd vorliegen. Die Leitungen 264 und 272, 266 und 274, 268 und 276, 270 und 278 sind Paare von Bitleitungen, und auf den jeweiligen Paaren liegen die Lese-Bitleitungssignale blra und blrna, blrb und blrnb, blrc und blrnc und blrd und blrnd vor, die Differenzsignale sind.

Fig. 3 zeigt eine Einzelheit des Signalspeichers 210 der Multi-Port-RAM- Kernmatrix. Der Signalspeicher 210 ist ein gut bekanntes RAM-Speicherelement, das zwei CMOS-Inverter einschließt. In Fig. 3 sind die Drain-Elektroden eines P- Kanal-FET 280 (eines Lastelementes) und eines N-Kanal-FET 282 (eines Ansteuerelementes) die einen CMOS-Inverter bilden, mit den Gate-Elektroden eines P-Kanal-FET 284 (einem Lastelement) und eines N-Kanal-FET 286 (eines Ansteuerelementes) verbunden, die den anderen CMOS-Inverter bilden. In ähnlicher Weise sind die Drain-Elektroden der FET's 284 und 286 mit den Gate- Elektroden der FET's 280 und 282 verbunden. Die Source-Elektroden der FET's 280 und 284 sind mit dem Spannungsanschluß der Versorgungsspannung +Vdd verbunden. Die Source-Elektroden der FET's 282 und 286 sind mit dem Erdanschluß verbunden. Die Verbindungspunkte der Drain-Elektroden der FET's 280 und 282 bilden einen Knoten CN. Der Verbindungspunkt der Drain-Elektroden der FET's 284 und 286 definiert einen Knoten C. Die Knoten CN und C sind Dateneingangs- und Ausgangsanschlüsse des Signalspeichers 210.

Fig. 4 zeigt Schaltungen zur Schaffung des Speicherspaltenzugriffs und der Bitleitungs-Klemmung mit Parallelschreibbetrieb. Die Schaltung schließt erste bis vierte Schaltungen für erste bis vierte Ports oder Anschlüsse a-d ein. In der ersten Schaltung für die Spalte a sind die Source-Elektroden von P-Kanal-FET's 310 und 312 mit einem Spannungsversorgungsanschluß 314 einer positiven Spannung +Vdd verbunden. Die Source-Elektroden von N-Kanal-FET's 316 und 318 sind mit dem Erdanschluß verbunden. Die Drain-Elektroden der FET's 310 und 316 sind mit der Drain-Elektrode eines P-Kanal-FET 320 verbunden. Die Drain-Elektroden der FET's 312 und 318 sind mit der Drain-Elektrode eines P-Kanal-FET 322 verbunden. Ein Paar von Leitungen 264 und 272, an denen die Lese-Bitleitungssignale blra und blrna anliegen, sind mit den Drain-Elektroden der FET's 320 bzw. 322 verbunden. Die Source-Elektroden der FET's 320 und 322 sind mit einem Paar von Busleitungen 324 und 326 verbunden, an denen a-Port-Datensignale dba bzw. dbna vorliegen. Die Gate-Elektroden der FET's 320 und 322 sind mit einer Spaltenzugriffssignal-Leitung 328 verbunden, an der ein a-Port- Spaltenzugriffssignal yia anliegt. In ähnlicher Weise sind in dem zweiten Kreis für die Spalte b die Source-Elektroden der FET's 330 und 332 mit dem Spannungsversorgungsanschluß 314 verbunden. Die Source-Elektroden der FET's 334 und 336 sind mit dem Erdanschluß verbunden. Die Drain-Elektroden der FET's 330 und 334 sind mit dem Drain-Anschluß eines FET 338 verbunden. Die Drain- Elektroden der FET's 332 und 336 sind mit der Drain-Elektrode eines FET 340 verbunden. Ein Paar von Leitungen 266 und 274, an denen die Lese- Bitleitungssignale blrb und blrnb anliegen, sind mit den Drain-Elektroden der FET's 338 bzw. 340 verbunden. Die Source-Elektroden der FETs 338 und 340 sind mit einem Paar von Busleitungen 342 und 344 verbunden, auf denen b-Port- Datensignale dbb und dbnb vorliegen. Die Gate-Elektroden der FET's 338 und 340 sind mit einer Spaltenzugriffssignal-Leitung 346 verbunden, dem ein b-Port- Spaltenzugriffssignal yib zugeführt wird. Weiterhin sind die dritten und vierten Schaltungen für die Spalten c und d ähnlich den ersten Schaltungen.

In diesem Beispiel sind zwei Schatten- oder Parallelschreib-Leitungen 390 und 392 vorgesehen. Die Gate-Elektroden der FET's 310, 312, 316 und 318 der ersten Schaltung und die Gate-Elektroden der FET's 350, 352, 354 und 356 der dritten Schaltung sind mit der Parallelschreib-Leitung 390 verbunden, an der ein Parallelschreib-a/c-Signal vorliegt. Die Gate-Elektroden der FET's 330, 332, 334 und 336 der zweiten Schaltung und die Gate-Elektroden der FET's 370, 372, 374 und 376 der vierten Schaltung sind mit der Parallelschreib-Leitung 392 verbunden, auf der ein weiteres Parallelschreib-b/d-Signal vorliegt.

Die Paare der zwei Leitungen 264, 272 und 268, 276 können auf Erdpotential angesteuert werden, während Testmuster an die anderen Paare der beiden Leitungen 266, 274 und 270, 278 angelegt werden, um Lesefehler festzustellen. In gleicher Weise können die Paare der zwei Leitungen 266, 274 und 270, 278 auf das Erdpotential angesteuert werden, während Testmuster auf den anderen Paaren der zwei Leitungen 264, 272 und 268, 276 ablaufen, um Lesefehler festzustellen. Diese Betriebsart wird ohne kritische zusätzliche Pfade durch eine spezielle Steuerung der Bitleitungs-Klemmeinrichtungen ausgebildet, d. h. der FET's 310, 312; 330, 332; 350, 352; und 370, 372.

Die Feststellung von Kurzschlüssen aufgrund von Herstellungsfehlern zwischen Bitleitungen von unterschiedlichen Ports, die parallel zueinander über große Strecken verlaufen (die "Höhe" der Speichermatrix), ist aufgrund der kleinen Differenzsignal-Ausschläge schwierig, die bei Hochgeschwindigkeits-Festwertspeicher-Portarchitekturen verwendet werden. Derartige Fehler können während der Herstellungstests unerkannt bleiben und zu intermittierenden Ausfällen bei der Anwendung führen. Eine Schatten- oder Parallelschreib-Methodologie kann dazu verwendet werden, die Port-zu-Port-Bitleitungs-Kurzschlußfehler während des BIST oder der Funktionstestung festzustellen.

Ein Schatten- oder Parallelschreibvorgang für Multiport-Festwertspeicher- Architekturen wird dazu verwendet, die Bitleitungs-Kurzschlußfehler festzustellen, während übliche Testmuster an zwei Ports ablaufen, während die Bitleitungen von den anderen Ports durch die Parallelschreibschaltung auf das Vss-Potential (0 Volt) angesteuert werden. Weil der aktive Bitleitungs-Vorladungspegel angenähert das Vdd-Potential (3,3 Volt) ist, führt irgendein Kurzschluß zwischen einer aktiven Bitleitung und einer Bitleitung im Parallelschreibbetrieb (bei 0 Volt) dazu, daß eine erhebliche Fehlerspannung an die aktive Bitleitung angelegt wird und daß sich ein ungültiger Lesevorgang ergibt.

In der normalen Lesebetriebsart sind die FET's 310 und 312 eingeschaltet, um die Spannungsamplitude an den Bitleitungen auf weniger als 500 mV zu begrenzen. Wenn eine Parallelschreib-Betriebsart freigegeben ist, so werden zwei Leseport- Bitleitungspaare auf das Vss-Potential durch die FET's 316 und 318 und die FET's 354 und 356 (oder die FET's 334 und 336 und die FET's 374 und 376) angesteuert, während Testmuster auf den anderen beiden Bitleitungspaaren ablaufen, um Lesefehler zu erfassen. Das Parallelschreib-a/c-Signal an der Parallelschreib- Leitung 390 und das Parallelschreib-b/d-Signal an der Parallelschreib-Leitung 392 wählen die Spalten aus, an denen ein Parallelschreibvorgang ausgeführt werden soll.

In diesem Beispiel werden zwei Parallelschreib-Steuersignale der Speichersteuerung hinzugefügt; eines zur Freigabe der Parallelschreib-Betriebsart und das andere zur Auswahl zwischen den Parallelschreib-a/c- und den Parallelschreib-b/d-Signalen. Es sind keine weiteren Schaltungen erforderlich.

Der Signalspeicher 210 speichert Daten-"0"- oder "1"-Werte. Wenn das Wortleitungs-Lesesignal wlra auf der Leitung 256 einen hohen Pegel aufweist, so werden die FET's 218 und 214 Gate-gesteuert. Im Fall der "0"-Daten werden die FET's 220 und 218 eingeschaltet und die Bitleitung 264 wird durch die FET's 220 und 218 auf einen niedrigen Pegel gezogen, mit dem Ergebnis, daß das Lese- Bitleitungssignal blra zu einem niedrigen Pegel wird. Die FET's 216 und 218 sind abgeschaltet, und das Lese-Bitleitungssignal blrna an der Leitung 272 weist einen hohen Pegel auf. Entsprechend wird eine Daten- "0" gelesen.

In einem Fall der "1"-Daten werden die FET's 216 und 214 eingeschaltet, und die Bitleitung 272 wird durch die eingeschalteten FET's 216 und 214 auf einen niedrigen Pegel gezogen, mit dem Ergebnis, daß das Lese-Bitleitungssignal blrna zu einem niedrigen Pegel wird. Die FET's 220 und 218 sind abgeschaltet, und das Lese-Bitleitungssignal blra an der Leitung 264 weist einen hohen Pegel auf. Entsprechend wird eine Daten- "1" gelesen.

Wenn das Parallelschreib-a/c-Signal an der Parallelschreib-Leitung 390 einen niedrigen Pegel aufweist und das Parallelschreib-b/d-Signal an der Parallelschreib- Leitung 392 einen hohen Pegel aufweist, so sind die FET's 334 und 336 der zweiten Schaltung und die FET's 374 und 376 der vierten Schaltung eingeschaltet, und die Paare der zwei Leseport-Bitleitungen 266, 274 und 270, 278 werden auf Erdpotential über die eingeschalteten FET's angesteuert. Entsprechend wird das Lesen von Daten über die Bitleitungen 266, 274 des Ports b und 270, 278 des Ports d beendet. Gleichzeitig sind die FET's 310 und 312 der ersten Schaltung und die FET's 350 und 352 der dritten Schaltung eingeschaltet, und die Paare der beiden Leseport-Bitleitungen 264, 272 und 268, 276 sind freigegeben. Entsprechend laufen Testmuster auf den Paaren der zwei Bitleitungen 264, 272 und 268, 276 ab, um Lesefehler festzustellen, während verhindert wird, daß die anderen Bitleitungen der Ports b und d getestet werden. Die auf dem Bitleitungspaar ablaufenden Testmuster werden über die FET's 320, 322 und 358, 360 auf das Paar der Busleitung 324, 326 und 362, 364 ausgelesen, während die a-Port- und c-Port-Spaltenzugriffssignale yia und yic auf einem niedrigen Pegel sind.

In ähnlicher Weise werden, wenn das Parallelschreib-a/c-Signal auf der Parallelschreib-Leitung 390 einen hohen Pegel aufweist und das Parallelschreibb/d-Signal auf der Parallelschreib-Leitung 392 einen niedrigen Pegel aufweist, durch die eingeschalteten FET's 316 und 318 der ersten Schaltung und die FET's 354 und 356 der dritten Schaltung die Paare der beiden Leseport-Bitleitungen 264, 272 und 268, 276 auf das Erdpotential angesteuert. Testmuster laufen auf den Paaren der zwei Bitleitungen 266, 274 und 270, 278 ab, um Lesefehler festzustellen. Die auf dem Bitleitungspaar ablaufenden Testmuster werden über die eingeschalteten FET's 338, 340 und 378, 380 auf das Paar von Busleitungen 342, 344 und 382, 384 ausgelesen, während die Spalten-Zugriffssignale yib und yid einen niedrigen Pegel aufweisen.

II. Parallelschreibanwendung auf Differenz-Binärdaten mit Differenz-Nur-Lese- Ports

Ein Multiport-RAM gemäß einer Ausführungsform der vorliegenden Erfindung umfaßt RAM-Zellen von m Reihen mal n Spalten, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern von Differenz-Binärdaten einschließt. Schreib- und Lese-Bitleitungssignale sind alle Differenzsignals.

II-1 Struktur

Fig. 5 zeigt ein Blockschaltbild eines 3-Port-RAM mit einem Nur-Schreib-Port und zwei Nur-Lese-Ports. Der RAM schließt eine Kernzellenmatrix, einen Reihen- Decodierblock, einen Spaltenzugriffs- und Daten-I/O-Block und einen Adressen- und Steuerblock ein. Die Kernzellenmatrix besteht aus einer Matrix von m Reihen mal n Spalten der Zellen, die in dem Kasten nach Fig. 6 gezeigt sind. Jede Zelle weist drei Ports (M = 3 in diesem Beispiel) auf, wobei jeder Port eine Wortleitung und Bitleitungen aufweist. Der Zellenzugriff wird durch die Auswahl eines Wortleitungssignals erzielt, das durch den Reihen-Decodierblock auf der Grundlage der X-Adressensignale und der Auswahl eines Bitleitungspaares durch den Spalten- Zugriffsblock auf der Grundlage der Y-Adressensignale erzeugt wird.

Die Speicher-Schnittstelle für eine asynchrone RAM-Ausgestaltung mit ausschließlich festgelegten Nur-Lese- und Nur-Schreib-Ports schließt typischerweise einen Adressenbus, einen Speicherauswahleingang und einen Dateneingangsbus oder einen Datenausgangsbus pro Port ein. Eine synchrone gerätemäßige Ausgestaltung schließt typischerweise weiterhin Takteingänge für jeden Port ein. Für dieses Beispiel wird eine synchrone Ausgestaltung für die vorstehende vollständige Schnittstelle plus einer Parallelschreibsteuer-Schnittstelle angenommen, wie sie in Fig. 5 gezeigt ist. Für diesen Fall würde der Adressen- und Steuerblock typischerweise Taktpuffer, Schnittstellenregister für alle Eingänge und Schaltungen zur Freigabe oder zur Sperrung eines Speicherzugriffs auf der Grundlage des Zustandes des Auswahleinganges einschließen. Eine Abwahl des Speichers würde typischerweise zu einer Abschaltung der Reihen- und Spalten- Decodierfunktionen und möglicherweise zu einer Abschaltung eines internen Taktes führen, um die Verringerung des Leistungsverbrauchs zu unterstützen. Der Spaltenzugriffs- und Daten-I/O-Block würde typischerweise die Spaltenzugriffs- und Decodierfunktionen, Dateneingangsregister, Datenschreibtreiber und Datenausgangs-Meß- und Pufferschaltungen einschließen.

Die in Fig. 6 gezeigte RAM-Zelle hat ein 3-Port-Speicherelement und schließt einen Schreibport und zwei Leseports mit direktem Datenzugriff ein. Die RAM-Zelle hat einen Daten-Signalspeicher zum Speichern von Differenz-Binärdaten. Der Signalspeicher schließt zwei Inverter 411 und 412 ein, die mit dessen Knoten C und CN verbunden sind. Eine Einzelheit des Signalspeichers ist in Fig. 3 gezeigt.

Der Knoten C des Signalspeichers ist mit den Source-Elektroden von N-Kanal- FET's 414, 416 und 418 verbunden. Die Drain-Elektrode des FET 414 ist mit einer Leitung 420 verbunden, auf der ein Schreib-Bitleitungssignal blw vorliegt. Die Drain- Elektroden der FET's 416 und 418 sind mit Leitungen 422 bzw. 424 verbunden, auf denen a-Port- und b-Port-Lese-Bitleitungssignale bla und blb vorliegen. Der Knoten CN des Signalspeichers ist mit den Drain-Elektroden von N-Kanal-FET's 426, 428 und 430 verbunden. Die Source-Elektrode des FET 426 ist mit einer Leitung 432 verbunden, auf der ein Schreib-Bitleitungssignal blnw vorliegt. Die Source- Elektroden der FET's 428 und 430 sind mit Leitungen 434 bzw. 436 verbunden, auf denen a-Port- und b-Port-Lese-Bitleitungssignale blna und blnb vorliegen. Die Gate- Elektroden der FET's 414 und 426 sind mit einer Leitung 438 verbunden, auf der ein Schreib-Wortleitungssignal wlw vorliegt. Die Gate-Elektroden der FET's 416 und 428 sind mit einer Leitung 440 verbunden, auf der ein a-Port-Lese- Wortleitungssignal wla vorliegt. Die Gate-Elektroden der FET's 418 und 430 sind mit einer Leitung 442 verbunden, auf der ein b-Port-Lese-Wortleitungssignal wlb vorliegt. Die Leitungen 420 und 432, die Leitungen 422 und 434 und die Leitungen 424 und 436 sind Paare von Differenz-Bitleitungen. Die Schreib-Bitleitungssignale blw und blnw, die a-Port-Lese-Bitleitungssignale bla und blna, und die b-Port-Lese- Bitleitungssignale blb und blnb sind Differenzsignale.

Die Leitung 422 ist mit den Drain-Elektroden eines P-Kanal-FET 444, eines N- Kanal-FET 446 und eines P-Kanal-FET 448 verbunden. Die Leitung 434 ist mit den Drain-Elektroden eines P-Kanal-FET 450, eines N-Kanal-FET 452 und eines P- Kanal-FET 454 verbunden. Ein a-Port-Parallelschreib-Freigabesignal swa wird den Gate-Elektroden der FET's 444, 446, 450 und 452 zugeführt. Ein a-Port- Spaltenzugriffssignal yia wird den Gate-Elektroden der FET's 448 und 454 zugeführt. Die Leitung 424 ist mit den Drain-Elektroden eines P-Kanal-FET 456, eines N-Kanal-FET 458 und eines P-Kanal-FET 460 verbunden. Die Leitung 436 ist mit den Drain-Elektroden eines P-Kanal-FET 462, eines N-Kanal-FET 464 und eines P-Kanal-FET 466 verbunden. Ein b-Port-Parallelschreib-Freigabesignal swb wird den Gate-Elektroden der FET's 456, 458, 462 und 464 zugeführt. Ein b-Port- Spaltenzugriffssignal yib wird den Gate-Elektroden der FET's 460 und 466 zugeführt. Die Source-Elektroden der FET's 444, 450, 456 und 462 sind mit dem Spannungsversorgungsanschluß einer positiven Spannung +Vdd verbunden. Die Source-Elektroden der FET's 446, 452, 458 und 464 sind mit dem Erdanschluß verbunden. Die Source-Elektroden der FET's 448, 454, 460 und 466 sind mit jeweiligen Datenbusleitungen verbunden. A-Port-Differenz-Lesedatensignale dba und dbna werden von den Source-Elektroden der FET's 448 bzw. 454 geliefert. B- Port-Differenz-Lesedatensignale dbb und dbnb werden von den Source-Elektroden der FET's 460 bzw. 466 geliefert. Die FET's 444, 450, 456 und 462 sind Bitleitungs- Klemmeinrichtungen. Die FET's 446, 452, 458 und 464 sind Parallelschreib-Treiber. Die FET's 448, 454, 460 und 466 sind Spaltenzugriffseinrichtungen. Die Leitungen 422 und 434 und andere a-Port-Lese-Bitleitungen sind mit einer ODER-Schaltung 468 verbunden. Die Leitungen 424 und 436 und andere b-Port-Lese-Bitleitungen sind mit einer ODER-Schaltung 470 verbunden.

II-2. Betriebsweise

Um einen Parallelschreib-Betrieb an den a-Port freizugeben, wird ein a-Port- Parallelschreib-Freigabesignal swa auf einen hohen Pegel gesetzt. Um einen Parallelschreib-Betrieb an den b-Port zu ermöglichen, wird das b-Port- Parallelschreib-Freigabesignal swb auf einen hohen Pegel gesetzt. Der Parallelschreib-Betrieb wird abgeschaltet (die normale Arbeitsbetriebsart wird freigegeben), wenn sowohl das a-Port- als auch das b-Port-Parallelschreib- Freigabesignal swa und swb einen niedrigen Pegel aufweisen. Wenn der Parallelschreib-Betrieb an den a-Port freigegeben ist, werden die Leitungen 422 und 434 auf das Erdpotential angesteuert, so daß a- und b-Port-zu-Port-Bit- Leseleitungskurzschlüsse festgestellt werden.

Bei dem direkten Lesezugriff, der in der RAM-Zelle verwendet wird, müssen alle a- Port-Lese-Wortleitungssignale abgeschaltet werden (auf einen niedrigen Pegel gehalten werden) während der a-Port sich in der Parallelschreib-Betriebsart befindet, um eine Beeinträchtigung der Speicherinhalte zu vermeiden, die sich aus einem schreibähnlichen Betrieb aus den niedrigen Lese-Bitleitungssignalen bla und blna ergeben würden, wenn das a-Port-Lese-Wortleitungssignal wla einen hohen Pegel aufweist. Dies kann durch eine Abwahl des a-Ports erzielt werden, wenn eine Speicherauswahlmöglichkeit pro Port zur Verfügung steht. Anderenfalls muß eine schreibgesteuerte Parallelschreib-Reihendecodier-Abwahl der Speichersteuerlogik hinzugefügt werden.

Port-zu-Port-Wortleitungskurzschlüsse werden dadurch gemessen, daß alle Wortleitungssignale auf einen niedrigen Pegel an Ports in dem Parallelschreibbetrieb angesteuert werden. Irgendein Wortleitungs-Kurzschluß zwischen der Leitung 440 (auf der das a-Port-Lese-Wortleitungssignal wla auf einen niedrigen Pegel gehalten wird) und der Leitung 442 (auf der das b-Port-Lese- Wortleitungssignal wlb aktiv ist), führt zu einer Verfälschung der Zellen, auf die ein Zugriff durch das a-Port-Lese-Wortleitungssignal wla ausgeführt wird (ungültiger Schreibvorgang, weil die a-Port-Lese-Bitleitungssignale bla und blna einen niedrigen Pegel aufweisen, während das a-Port-Lese-Wortleitungssignal wla aufgrund des Kurzschlusses aktiv ist). Ungültige Lesevorgänge von Zellen, auf die ein Zugriff durch das b-Port-Lese-Wortleitungssignal wlb ausgeführt wird, führen zu Lese-Zugriffsverzögerungsfehlern aufgrund der verringerten Spannung des b-Port- Lese-Wortleitungssignals wlb, was sich aus einem Kurzschluß zwischen den a-Port- und b-Port-Lese-Wortleitungen ergibt. Ein Hochgeschwindigkeits-Prüfvorgang, der selten erzielbar ist, oder vorzugsweise ein eigengesteuerter Speicherbetrieb sind erforderlich, um durch Verzögerungsfehler hervorgerufene Lesefehler festzustellen.

Eine Parallelschreibsteuerung kann zu jedem einzelnen Lese-Port mit unabhängiger Steuerung jeder Schaltung oder mit einer gruppierten Steuerung (wie bei dem 9- Port-TSI-SRAM) hinzugefügt werden, wenn einige Port-Wechselwirkungen physikalisch unmöglich sind.

Eine Herstellungstest-Abdeckung der Parallelschreib-Schaltungen kann dadurch erzielt werden, daß eine logische ODER-Verknüpfung aller Lese-Bitleitungssignale durchgeführt wird, die durch ein vorgegebenes Parallelschreib-Freigabesignal gesteuert werden, wie dies in Fig. 6 gezeigt ist. In diesem Fall werden alle a-Port- Lese-Bitleitungssignale bla und blna in der ODER-Schaltung 468 einer logischen ODER-Verknüpfung unterworfen, weil ihnen allen ein gemeinsames Parallelschreib- Freigabesignal sba gemeinsam ist. In gleicher Weise werden alle b-Port-Lese- Bitleitungssignale dlb und blnb in der ODER-Schaltung 470 einer logischen ODER- Verknüpfung unterworfen. In der Arbeitsbetriebsart (wenn die Parallelschreib- Betriebsart nicht freigegeben ist) ist das Ausgangssignal der ODER-Schaltung 468 (das a-Port-Testergebnissignal swaq) auf einen hohen Pegel, weil der aktive Vorladungspegel an allen Lese-Bitleitungen einen hohen Pegel aufweist. Wenn ein Parallelschreib-Betrieb freigegeben ist, so werden alle Lese-Bitleitungen auf einen niedrigen Pegel gezogen, und das a-Port-Testergebnissignal swrq nimmt einen niedrigen Pegel an. Wenn irgendeiner der Parallelschreib-Treiber (FET's 446 und 452) fehlerhaft ist, bleibt ein Lese-Bitleitungssignal auf einem hohen Pegel, und das a-Port-Testergebnissignal swaq bleibt ebenfalls auf einem hohen Pegel. Eine vollständig statische gerätemäßige Ausbildung der logischen ODER-Verknüpfung ist erforderlich, um sicherzustellen, daß alle Bitleitungen während des Parallelschreib- Betriebs auf einen niedrigen Pegel sinken, und es muß sorgfältig vorgegangen werden, um die Möglichkeit von nicht feststellbaren Fehlern bei der gerätemäßigen Ausgestaltung der Schaltung zu einem Minimum zu machen. Eine derartige große verteilte statische Logikfunktion ist ziemlich langsam. Dies ist annehmbar, weil der Testalgorithmus die Vervollständigung vieler Zyklen erfordert, wobei zu dieser Zeit der Status des Bitleitungs-ODER-Verknüpfungsausganges (swaq oder swbq) überprüft werden kann, um die Gültigkeit des Tests zu bestimmen.

III. Alternative Parallelschreib-Anwendung auf Differenz-Binärdaten mit Differenz-Nur-Lese-Ports

Fig. 7 zeigt eine Schaltung einer alternativen Parallelschreib-Ausgestaltung, die geringfügig modifiziert ist, um die Herstellungstest-Abdeckung zu verbessern, wobei keine logischen ODER-Funktionsschaltungen erforderlich sind. In diesem Fall ist jedes Parallelschreib-Steuersignal auf zwei Signale aufgeteilt, so daß sich beispielsweise a-Port-Parallelschreib-Freigabesignale swa0 und swa1 ergeben. Eine vollständige Parallelschreib-Betriebsart wird an dem a-Port freigegeben, wenn beide a-Port-Parallelschreib-Freigabesignale swa0 und swa1 einen hohen Pegel aufweisen. Die Arbeitsbetriebsart wird an dem a-Port freigegeben, wenn die a-Port- Parallelschreib-Freigabesignale swa0 und swa1 beide einen niedrigen Pegel aufweisen. Der Herstellungstest der FET's 446 und 452 wird freigegeben, wenn eines der a-Port-Parallelschreib-Freigabesignale swa0 und swa1 einen hohen Pegel aufweist. Der b-Port-Parallelschreib-Betrieb und der Test der b-Port-Parallelschreib- Treiber erfolgt in ähnlicher Weise.

Der Herstellungstest-Algorithmus zur Feststellung von Parallelschreibfehlern ist wie folgt:

1) Bei an allen Ports abgeschalteten Parallelschreib-Betrieb (beide Parallelschreib-Freigabesignale für jeden Port weisen einen niedrigen Pegel auf) werden "1"-Daten an geradzahlige Reihen des Speichers und "0"-Daten an ungeradzahlige Reihen des Speichers geschrieben; lediglich 2 · N Reihen müssen geschrieben werden, wobei N die Anzahl von Speicherports ist [N · MUX-Zyklen];

2) Aktivieren des a-Port-Parallelschreib-Freigabesignals swa0 zur Ansteuerung des a-Port-Lese-Bitleitungssignals bla auf einen niedrigen Pegel an allen Speicherspalten [ein Zyklus];

3) Aktivieren des a-Port-Lese-Wortleitungssignals wla0 (an der a-Port- Wortleitung an der Reihe 0); wenn das Parallelschreib-Treiberbauteil an der a-Port- Lese-Bitleitung (beispielsweise der FET 446 an der Leitung 422) funktionsfähig ist, wird jede a-Port-Lese-Bitleitung des Signals bla in jeder Spalte des Speichers auf einen niedrigen Pegel angesteuert, und alle Zellen an der Reihe 0 werden von dem Zustand "1 ", auf den sie im Schritt 1) initialisiert wurden, auf den Zustand "0" geschrieben [1 Zyklus];

4) Das a-Port-Parallelschreib-Freigabesignal swa0 wird abgeschaltet, und das a-Port-Parallelschreib-Freigabesignal swa1 wird eingeschaltet, um das a- Port-Lese-Bitleitungssignal blna auf einen niedrigen Pegel an allen Speicherspalten anzusteuern [1 Zyklus];

5) Das a-Port-Lese-Wortleitungssignal wla1 für die Reihe 1 wird eingeschaltet; alle Zellen an der Reihe 1 werden von dem "0"-Zustand, der im Schritt 1) initialisiert wurde, auf den Zustand "1" geschrieben, wenn das Parallelschreib-Treiberbauteil an der a-Port-Lese-Bitleitung (beispielsweise der FET 452 an der Leitung 434) funktionsfähig ist [1 Zyklus];

6) Wiederhole die Schritte 2) bis 5) für jeden Port, wobei die passenden Parallelschreib-Steuersignale freigegeben werden und die Reihe, auf die ein Zugriff erfolgt, in jedem Fall weitergeschaltet wird [(N-1) · 4 Zyklen]; und

7) Der Test wird dadurch abgeschlossen, daß alle Speicherplätze gelesen werden, auf die in dem vorstehenden Test ein Zugriff erfolgte; alle geradzahligen Reihen-Plätze sollten "0"-Daten haben, ungeradzahlige Reihen- Plätze sollten "1"-Daten haben; irgendein Fehler zeigt einen Fehler in der Parallelschreib-Schaltung an [n · MUX-Zyklen].

Dieser Algorithmus erfordert N · (4 + 2 · MUX) Zyklen, worin N die Anzahl von Ports und MUX der Spalten-Decodier-Multiplexfaktor ist (MUX = c/d, worin c die Anzahl von Spalten und d die Datenwortbreite ist). Wenn N kleiner als 10 ist, und MUX typischerweise zwischen 1 und 32 liegt, so ist der Schlimmstfall-Testeinfluß kleiner als 1000 Zyklen.

Damit die Parallelschreib-Funktion Port-zu-Port-Bitleitungskurzschlüsse mißt, müssen alle Wortleitungen an einem Port in der Parallelschreib-Betriebsart abgeschaltet werden. Damit der Parallelschreib-Herstellungstest, der in Fig. 7 beschrieben wird, funktioniert, muß es jedoch möglich sein, Wortleitungen an den a- Port in der Parallelschreib-Betriebsart auszuwählen. Die einfachste Ausgestaltung dieser Funktion besteht darin, daß eine Pro-Port-Speicherauswahlfunktion für das Test-Steuergerät verfügbar ist (BITS oder Funktionstester), was es ermöglicht, daß alle Ports mit Ausnahme des gerade geprüften Ports abgeschaltet werden. Die Parallelschreib-Steuerschaltung ist dann vollständig unabhängig von der Arbeitsbetriebs-Speichersteuerung. Alternativ kann die Parallelschreib- Steuerschaltung dazu verwendet werden, die Speicherreihen-Decodierer lediglich dann abzuschalten, wenn beide Parallelschreib-Steuersignale an dem a-Port freigegeben sind (beispielweise sind die a-Port-ParallelschreibFreigabesignale swa0 und swa1 beide auf einem hohen Pegel). Die neue Parallelschreib-Steuerung erfordert Eingänge zur Freigabe des Parallelschreib-Betriebs an jedem Port (oder jeder Portgruppe) in unabhängiger Weise sowie die aufgeteilte Steuerung der Parallelschreib-Steuersignale (der a-Port-Parallelschreib-Freigabesignale swa0 und swa1) an jedem Port oder jeder Portgruppe.

Der Hauptvorteil der Schaltung besteht in der Gesamtvereinfachung des Herstellungs-Testalgorithmus. Durch Anwendung der Parallelschreib-Schaltung nach Fig. 7 können die äußerst komplizierten und konfigurationsabhängigen Testalgorithmen durch den einfachen SMARCH- [siehe B. Nadeau-Dostie et al. mit dem Titel "Seriell Interfacing for Embedded-Memory Testing", IEEE Design & Test of Computers, April 1990, Seiten 52-63] oder durch nicht-serielle MARCH- Algorithmen ersetzt werden. Jeder Port wird unabhängig getestet, als ob dieser einen unabhängigen Speicher darstellen würde, wobei sich alle anderen Ports in der Parallelschreib-Betriebsart befinden. Alle Port-zu-Port-Bitleitungs- und Wortleitungs- Fehler werden somit festgestellt.

IV. Parallelschreib-Anwendung auf Differenz-Binärdaten mit Differenz-Lese- Schreib-Ports.

Ein Multiport-RAM gemäß einer weiteren Ausführungsform der vorliegenden Erfindung umfaßt RAM-Zellen mit m Reihen und n Spalten, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern von Differenz-Binärdaten einschließt. Schreib- und Lesebitleitungssignale sind vollständig Differenzsignale.

IV-1. Struktur

Fig. 8 zeigt ein Blockschaltbild eines 2-Port-RAM mit zwei Lese-Schreib-Ports. Der RAM schließt eine Kernzellenmatrix, einen Reihen-Decodierblock, einen Spaltenzugriffs- und Daten-I/O-Block und einen Adressen- und Steuerblock ein. Die Kernzellenmatrix besteht aus einer Matrix mit m Reihen und n Spalten der in dem Kasten in Fig. 9 gezeigten Zellen. Jede Zelle weist zwei Ports auf (M = 2 in diesem Beispiel); jeder Port hat Wortleitungen und Bitleitungen. Ein Zellenzugriff wird durch die Auswahl eines Wortleitungssignals, das von dem Reihen-Decodierblock auf der Grundlage der X-Adressensignale erzeugt wird, und die Auswahl einer Bitleitung durch den Spaltenzugriffsblock auf der Grundlage der Y-Adressensignale erzielt.

Die Speicher-Schnittstelle für eine asynchrone RAM-Ausgestaltung mit Lese- Schreib-Ports schließt typischerweise einen Adressenbus, einen Speicherauswahleingang, einen Schreibfreigabeeingang und einen Dateneingangsbus und einen Datenausgangsbus pro Port ein. Eine synchrone Ausgestaltung schließt typischerweise Takteingänge für jeden Port ein. Für dieses Beispiel wird eine synchrone Ausgestaltung für die gesamte vorstehende Schnittstelle sowie eine Parallelschreib-Steuerschnittstelle gemäß Fig. 8 angenommen. Für diesen Fall würde der Adressen- Steuerblock typischerweise Taktpuffer, Schnittstellenregister für alle Eingänge, Schaltungen zur Auswahl zwischen Lese- und Schreibzyklen in Abhängigkeit von dem Zustand des Schreib-Freigabeeinganges und Schaltungen zur Freigabe oder zur Abschaltung eines Speicherzugriffs auf der Grundlage des Zustandes des Auswahleinganges einschließen. Die Abwahl des Speichers würde typischerweise die Abschaltung der Reihen- und Spalten-Decodierfunktionen und möglicherweise die Abschaltung interner Takte beinhalten, um die Verringerung des Leistungsverbrauchs zu unterstützen. Der Spaltenzugriff- und Daten-I/O-Block würde typischerweise die Spaltenzugriffs- und Decodierfunktionen, Dateneingangsregister, Datenschreibtreiber, die während der Schreibzyklen freigegeben werden, und Datenausgangs-Meß- und Pufferschaltungen einschließen.

Die in Fig. 9 gezeigte RAM-Zelle weist ein 2-Port-Speicherelement auf und schließt zwei Lese-Schreib-Ports mit direktem Datenzugriff ein. Die RAM-Zelle hat einen Daten-Signalspeicher, der zwei Inverter 511 und 512 einschließt. Der Eingang des Inverters 511 und der Ausgangsanschluß des Inverters 512 sind mit dem Knoten C des Signalspeichers verbunden. Der Ausgang des Inverters 511 und der Eingangsanschluß des Inverters 512 sind mit dem Knoten CN des Signalspeichers verbunden. Eine Einzelheit des Signalspeichers ist in Fig. 3 gezeigt.

Der Knoten C ist mit den Source-Elektroden von N-Kanal-FET's 514 und 516 verbunden, deren Drain-Elektroden mit Leitungen 518 bzw. 520 verbunden sind. A- Port- und b-Port-Bitleitungssignale bla und blb liegen auf den Leitungen 518 bzw. 520 vor. Der Knoten CN ist mit den Drain-Elektroden von N-Kanal-FET's 522 und 524 verbunden, deren Source-Elektroden mit Leitungen 526 bzw. 528 verbunden sind. A-Port- und b-Port-Bitleitungssignale blna und blnb liegen auf den Leitungen 526 bzw. 528 vor. Die Leitungen 518 und 526 und die Leitungen 520 und 528 sind Paare von Differenz-Bitleitungen. Die a-Port-Bitleitungssignale bla und blna und die b-Port-Bitleitungssignale blb und blnb sind Paare von Differenzsignalen.

Die Gate-Elektroden der FET's 514 und 522 sind mit einer Leitung 530 verbunden, auf der ein a-Port-Wortleitungssignal wla vorliegt. Die Gate-Elektroden der FET's 516 und 524 sind mit einer Leitung 532 verbunden, auf der ein b-Port- Wortleitungssignal wlb vorliegt.

Die Leitung 518 ist mit den Drain-Elektroden von P-Kanal-FET's 534 und 536 verbunden. Die Leitung 526 ist mit der Source-Elektrode des FET 536 und der Drain-Elektrode eines P-Kanal-FET 538 verbunden. Die Gate-Elektroden der FET's 534, 536 und 538 sind mit dem Ausgangsanschluß eines ODER- Verknüpfungsgliedes 540 verbunden, dessen Eingangsanschlüssen ein a-Port- Spaltenzugriffssignal yia und ein a-Port-Parallelschreib-Freigabesignal swa zugeführt werden. Die Leitungen 518 und 526 sind mit den Drain-Elektroden von N- Kanal-FET's 542 bzw. 544 verbunden. Das a-Port-Parallelschreib-Freigabesignal swa wird den Gate-Elektroden der FET's 542 und 544 zugeführt. Die Leitungen 518 und 526 sind mit Übertragungsgattern 546 bzw. 548 verbunden, die mit dem Datenbus verbunden sind. Das a-Port-Spaltenzugriffssignal yia wird den positiven Eingangsanschlüssen der Übertragungsgatter 546 und 548 zugeführt. Ein a-Port- Spaltenzugriffssignal yina wird den negativen Eingangsanschlüssen der Übertragungsgatter 546 und 548 zugeführt.

Die Leitung 520 ist mit den Drain-Elektroden von P-Kanal-FET's 550 und 552 verbunden. Die Leitung 528 ist mit der Source-Elektrode des FET 552 und der Drain-Elektrode eines P-Kanal-FET 554 verbunden. Die Gate-Elektroden der FET's 550, 552 und 554 sind mit dem Ausgangsanschluß eines ODER-Verknüpfungsgliedes 556 verbunden, dessen Eingangsanschlüssen ein b-Port-Spaltenzugriffssignal yib und ein b-Port-ParallelschreibFreigabesignal swb zugeführt werden. Die Leitungen 520 und 528 sind mit den Drain-Elektroden von N-Kanal-FET's 558 bzw. 560 verbunden. Das b-Port-Parallelschreib-Freigabesignal swb wird den Gate- Elektroden der FET's 558 und 560 zugeführt. Die Leitungen 520 und 528 sind mit Übertragungsgattern 562 bzw. 564 verbunden, die mit dem Datenbus verbunden sind. Das b-Port-Spaltenzugriffssignal yib wird den positiven Eingangsanschlüssen der Übertragungsgatter 562 und 564 zugeführt. Ein b-Port-Spaltenzugriffssignal yinb wird den negativen Eingangsanschlüssen der Übertragungsgatter 562 und 564 zugeführt. Die Source-Elektroden der FET's 534, 538, 550 und 554 sind mit dem Spannungsversorgungsanschluß einer positiven Spannung +Vdd verbunden. Die Source-Elektroden der FET's 542, 544, 558 und 560 sind mit dem Erdanschluß verbunden. Die FET's 534, 536, 538, 550, 552 und 554 sind Bitleitungs- Vorladungsbauteile. Die ODER-Verknüpfungsglieder 540 und 556 ergeben eine Vorladungs-Abschaltfunktion. Die FET's 542, 544, 558 und 560 sind Parallelschreib- Treiberbauteile. Die Übertragungsgatter 546, 548, 562 und 564 sind Port- Spaltenzugriffsbauteile.

Die Port-Spaltenzugriffssignale yia/yina und yib/yinb sind Differenzsignale. Wenn die a-Port-Spaltenzugriffssignale yia und yina einen hohen bzw. niedrigen Pegel aufweisen, so sind die Übertragungsgatter 546 und 548 eingeschaltet, so daß die a- Port-Datensignale dba und dbna über die Übertragungsgatter 546 bzw. 548 von dem Datenbus an die Leitungen 518 und 526 in einer Schreibbetriebsart und von den Leitungen 518 und 526 auf dem Datenbus in einer Lesebetriebsart geliefert werden. In ähnlicher Weise sind, wenn die b-Port-Spaltenzugriffssignale yib und yinb einen hohen bz 'v. niedrigen Pegel aufweisen, die Übertragungsgatter 562 und 564 eingeschaltet, so daß die b-Port-Datensignale dbb und dbnb von dem Datenbus an die Leitungen 520 und 528 in der Schreibbetriebsart und von den Leitungen 520 und 528 auf den Datenbus in der Lesebetriebsart geliefert werden. Die a-Port- Datensignale dba und dbna und die b-Port-Datensignale dbb und dbnb sind Differenzsignale.

IV-2. Betriebsweise

Um einen Parallelschreib-Betrieb an dem a-Port zu ermöglichen, wird das a-Port- Parallelschreib-Freigabesignal swa auf einen hohen Pegel gesetzt. Um einen Parallelschreib-Betrieb an dem b-Port zu ermöglichen, wird das b-Port-Parallelschreib-Freigabesignal swb auf einen hohen Pegel gesetzt. Der Parallelschreib- Betrieb wird abgeschaltet (die normale Arbeitsbetriebsart wird freigegeben), wenn sowohl das a-Port- als auch das b-Port-Parallelschreib-Freigabesignal swa und swb einen niedrigen Pegel aufweisen. Wenn der Parallelschreib-Betrieb an dem a-Port freigegeben ist, wird der Vorladebetrieb abgeschaltet und die a-Port- Bitleitungssignale bla und blna werden auf das Erdpotential angesteuert, um a- und b-Port-zu-Port-Bitleitungskurzschlüsse festzustellen.

Bei dem Direktzugriff, der in der RAM-Zelle verwendet wird, müssen alle Wortleitungssignale an einem Port in der Parallelschreib-Betriebsart abgeschaltet werden (auf einem niedrigen Pegel gehalten werden), um eine Verfälschung der Speicherinhalte zu vermeiden, die sich aus einem schreibartigen Betrieb aufgrund der niedrigen Bitleitungssignale (beispielsweise der a-Port-Bitleitungssignale bla und blna) ergeben, wenn das Wortleitungssignal (beispielsweise das a-Port- Wortleitungssignal wla) einen hohen Pegel aufweist. Dies kann durch eine Abwahl des Ports im Parallelschreib-Betrieb erzielt werden, wenn eine Pro-Port- Speicherauswahlmöglichkeit zur Verfügung steht. Anderenfalls muß eine parallelschreibgesteuerte Reihendecodierauswahl zu der Speichersteuerlogik hinzugefügt werden.

Port-zu-Port-Wortleitungskurzschlüsse werden durch Ansteuern aller Wortleitungssignale auf einem niedrigen Pegel an Ports im Parallelschreib-Betrieb gemessen. Irgendein Wortleitungs-Kurzschluß zwischen der Leitung 530 und der Leitung 532 führt zu einer Verfälschung von Zellen, auf die ein Zugriff durch das a- Port-Wortleitungssignal wla erfolgt (ungültiges Schreibsignal, weil die a-Port- und b- Port-Bitleitungssignale bla und blna beide auf einem niedrigen Pegel liegen, während das a-Port-Wortleitungssignal wla aufgrund des Kurzschlusses aktiv ist). Ungültige Lesevorgänge von Zellen, auf die ein Zugriff auf das b-Port- Wortleitungssignal wlb erfolgt, ergeben sich aus Lesezugriffs-Verzögerungsfehlern aufgrund der verringerten Spannung des b-Port-Wortleitungssignals wlb, die sich aufgrund eines a-Port-zu-b-Port-Wortleitungskurzschlusses ergibt. Ein Geschwindigkeitstest oder ein eigenzeitgesteuerter Speicherbetrieb ist erforderlich, um die durch Verzögerungsfehler hervorgerufenen Lesefehler festzustellen.

Eine Parallelschreib-Steuerung kann zu jedem einzelnen Lese-Port mit unabhängiger Steuerung jeder Schaltung oder mit gruppierter Steuerung (wie bei dem 9-Port-TSI SRAM) hinzugefügt werden, wenn gewisse Port-Wechselwirkungen physikalisch unmöglich sind.

Ein Herstellungstest der Parallelschreib-Funktion kann durch die logische ODER- Funktion ähnlich der nach Fig. 6 oder mit einer geringfügigen Modifikation an der Ausgestaltung nach Fig. 9 erreicht werden, derart, daß diese stärker der Parallelschreib-Funktion nach Fig. 7 ähnelt, und zwar über das Testmuster, das hinsichtlich der Fig. 7 beschrieben wurde. Dies wird weiter unten beschrieben (Abschnitt V.).

Die Betriebsleistungsauswirkung für diese Ausgestaltung ist geringfügig größer als für die Parallelschreib-Ausgestaltungen, die anhand der Fig. 4, 6 und 7 beschrieben wurden. In diesem Fall ist die kritische Pfadwechselwirkung auf die Parallelschreib-Treiber (die FET's 542, 544, 558 und 560) und die Bitleitungs- Vorladungs-Abschalt-ODER-Funktionsschaltungen (die ODER-Verknüpfungsglieder 540 und 556) und die Vorladungsbauteile (die FET's 534, 536, 538, 550, 552 und 554) beschränkt.

V. Alternative Parallelschreib-Anwendung auf Differenz-Binärdaten mit Differenz-Lese-Schreib-Ports

Fig. 10 zeigt eine Schaltung einer alternativen Parallelschreib-Ausgestaltung, die geringfügig modifiziert wurde, um die Herstellungstest-Abdeckung zu verbessern. In diesem Fall wird jedes Parallelschreib-Steuersignal auf zwei Signale aufgeteilt, so daß sich beispielsweise a-Port-Parallelschreib-Freigabesignale swa0 und swa1 ergeben. Eine vollständige Parallelschreib-Betriebsart wird an dem a-Port aktiviert, wenn sowohl das a-Port-Parallelschreib-Freigabesignal swa0 als auch swa1 auf einem hohen Pegel liegen. Die Arbeitsbetriebsart wird an dem a-Port aktiviert, wenn die a-Port-Parallelschreib-Freigabesignale swa0 und swa1 beide einen niedrigen Pegel aufweisen. Ein Herstellungstest der FET's 542 und 544 wird freigegeben, wenn eines der a-Port-Parallelschreib-Freigabesignale swa0 und swa1 einen hohen Pegel aufweist. Der Herstellungstest-Algorithmus zur Feststellung von Parallelschreib-Fehlern ist identisch zu denen, der hinsichtlich der Ausgestaltung nach Fig. 7 beschrieben wurde.

Der primäre Vorteil dieser Parallelschreib-Ausgestaltung ist die sich insgesamt ergebende Vereinfachung des Herstellungstest-Algorithmus. Durch Anwendung der Parallelschreib-Schaltung nach Fig. 9 oder 10 können äußerst komplizierte und konfigurationsabhängige Testalgorithmen durch die einfachen MARCH-Typ- Algorithmen ersetzt werden. Jeder Port wird unabhängig getestet, als ob dies unabhängige Speicher wären, wobei sich alle anderen Ports in der Parallelschreib- Betriebsart befinden. Alle Port-zu-Port-Bitleitungs- und Wortleitungs-Fehler werden somit festgestellt.

Das ursprüngliche Parallelschreib-Konzept, das von B. Nadeau-Dostie et al. in der Veröffentlichung "Serial Interfacing for Embedded-Memory Testing" auf Seite 60-61 umrissen wurde, beschreibt allgemein ein Verfahren zur Verwendung der eingebauten Schreibfähigkeit des Lese-Schreib-Ports in der Parallelschreib- Betriebsart, um die Port-zu-Port-Fehler zu messen. Die Vorteile dieses neuen Vorschlages sind dreifach: 1) der neue Parallelschreib-Betrieb ist global, alle Bitleitungen an dem Port werden im Parallelschreib-Betrieb auf Erde angesteuert, und als Ergebnis hiervon erfordert das neue Parallelschreib-Verfahren lediglich einen einzigen Durchgang durch den Testalgorithmus an den gerade getesteten Port; die ursprüngliche Ausgestaltung erfordert es, daß beide Phasen von Daten auf die Bitleitungen des Ports im Parallelschreib-Betrieb angesteuert werden, um alle Port-zu-Port-Kurzschlüsse zu messen; 2) die kritische Pfadwechselwirkung der Parallelschreib-Ausgestaltung ist wesentlich geringer als bei der ursprünglichen Ausgestaltung, die annimmt, daß eine Pro-Port-Speicherauswahl verfügbar ist, um die Wortleitungen an dem Port im Parallelschreib-Betrieb abzuschalten; und 3) die Parallelschreib-Ausgestaltung ist prüfbar, d. h. die logische ODER-Funktion oder der Parallelschreib-Testalgorithmus ermöglicht eine Überprüfung der Parallelschreib-Funktion.

VI. Parallelschreib-Anwendung auf Eintakt-Binärdaten mit Eintakt-Lese- Schreib-Bitleitungen

Ein Multiport-RAM gemäß einer weiteren Ausführungsform der Erfindung umfaßt RAM-Zellen in m Reihen und m Spalten, wobei jede RAM-Zelle Speichereinrichtungen zum Speichern von Eintakt-Binärdaten einschließt. Schreib- und Lese-Bitleitungssignale sind Eintaktsignale.

Fig. 11 zeigt ein Blockschaltbild eines 2-Port-RAM mit zwei Lese-Schreib-Ports. Der RAM schließt eine Kernzellenmatrix, einen Reihen-Decodierblock, einen Spaltenzugriffs- und Daten-I/O-Block und einen Adressen- und Steuerblock ein. Die Kernzellenmatrix besteht aus einer Matrix von m Reihen x n Spalten der Zellen, die in dem Kasten nach Fig. 12 gezeigt sind. Jede Zelle weist zwei Ports (M = 2 in diesem Beispiel) auf, wobei jeder Port eine Wortleitung und eine Bitleitung hat. Der Zellenzugriff wird durch die Auswahl eines Wortleitungssignals, das von dem Reihen-Decodierblock auf der Grundlage der X-Adressensignale erzeugt wird, und durch die Auswahl einer Bitleitung durch den Spaltenzugriffsblock auf der Grundlage der Y-Adressensignale erzielt.

Die Speicherschnittstelle für eine asynchrone RAM-Ausgestaltung mit Lese-Schreib- Ports schließt typischerweise einen Adressenbus, einen Speicherauswahl-Eingang, einen Schreib-Freigabeeingang, einen Dateneingangsbus und einen Datenausgangsbus pro Port ein. Eine synchrone Ausgestaltung schließt typischerweise Takteingänge für jeden Port ein. Für dieses Beispiel wird eine synchrone Ausgestaltung für die gesamte vorstehende Schnittstelle sowie eine Parallelschreib-Steuerschnittstelle gemäß Fig. 11 angenommen. Für diesen Fall würde der Adressen- und Steuerblock typischerweise Taktpuffer, Schnittstellenregister für alle Eingänge, Schaltungen zur Auswahl zwischen Lese- und Schreibzyklen in Abhängigkeit von dem Zustand des Schreib-Freigabeeinganges und Schaltungen zur Freigabe oder zum Abschalten eines Speicherzugriffs auf der Grundlage des Zustandes des Auswahleinganges einschließen. Eine Abwahl des Speichers würde typischerweise eine Abschaltung der Reihen- und Spalten- Decodierfunktionen und typischerweise die Abschaltung interner Takte zur Folge haben, um zur Verringerung des Leistungsverbrauchs beizutragen. Der Spaltenzugriffs- und Daten-I/O-Block würde typischerweise die Spaltenzugriffs- und Decodierfunktionen, Dateneingangsregister, Datenschreibregister, die während der Schreibzyklen aktiviert werden, und Datenausgangs-Meß- und Pufferschaltungen einschließen.

VI.1. Struktur

Fig. 12 zeigt die Ausgestaltung einer Parallelschreib-Schaltung, die in einer typischen 2-Port-SRAM-Ausgestaltung mit Eintakt-Lese-Schreib-Ports verwendet wird. Die gezeigte 2-Port-RAM-Zelle ist typisch für diese Art von Speicher mit dem Einzel-NMOS-Zugriff (Wortleitungs-Zugriffsbauteile verbinden Bitleitungen direkt mit dem Knoten C und CN eines Signalspeichers) pro Port. Der Signalspeicher schließt Inverter 611 und 612 ein. Eine Einzelheit des Signalspeichers ist in Fig. 3 gezeigt.

In Fig. 12 ist der Knoten C mit der Source-Elektrode eines N-Kanal-FET 614 verbunden, dessen Drain-Elektrode mit einer Leitung 616 verbunden ist. Ein a-Port- Bitleitungssignal bla liegt an der Leitung 616 an. Die Gate-Elektrode des FET 614 ist mit einer Leitung 618 verbunden, auf der ein a-Port-Wortleitungssignal wla vorliegt. Der Knoten CN ist mit der Drain-Elektrode eines N-Kanals-FET 620 verbunden, dessen Source-Elektrode mit einer Leitung 622 verbunden ist. Ein b-Port- Bitleitungssignal blnb (ein invertiertes Signal) liegt auf der Leitung 622 vor. Die Gate-Elektrode des FET 620 ist mit einer Leitung 624 verbunden, auf der ein b-Port- Wortleitungssignal wlb vorliegt. Die Leitung 616 ist mit den Drain-Elektroden eines N-Kanal-FET 626, eines P-Kanal-FET 628 und eines N-Kanal-FET 630 verbunden. Die Gate-Elektroden der FET's 628 und 630 sind mit dem Ausgangsanschluß eines ODER-Verknüpfungsgliedes 632 verbunden, dem ein a-Port-Parallelschreib- Freigabesignal swa und ein a-Port-Spaltenauswahlsignal yia zugeführt werden. Die Leitung 622 ist mit den Drain-Elektroden eines N-Kanal-FET 634, eines P-Kanal- FET 636 und eines N-Kanal-FET 338 verbunden. A-Port- und b-Port- Parallelschreib-Freigabesignale swa und swb werden den Gate-Elektroden der FET's 626 bzw. 634 zugeführt. Die Gate-Elektroden der FET's 636 und 638 sind mit dem Ausgangsanschluß eines ODER-Verknüpfungsgliedes 640 verbunden, dem ein b-Port-Parallelschreib-Freigabesignal swb und ein b-Port-Spaltenauswahlsignal yib zugeführt werden. Die Source-Elektroden der FET's 630 und 638 sind mit dem Datenbus verbunden. Die Source-Elektroden der FET's 626 und 634 sind mit dem Erdanschluß verbunden. Die Source-Elektroden der FET's 628 und 636 sind mit einer Vorladungs-Leitung 642 verbunden.

Die FET's 626 und 634 sind Parallelschreib-Treiberbauteile. Die FET's 628 und 636 sind Bitleitungs-Vorladungs-Bauteile. Die FET's 630 und 638 sind Spaltenzugriffsbauteile.

VI-2. Betriebsweise

Normale Lese- oder Schreiboperationen (Arbeitsbetriebsart-Lese- oder Schreiboperation) werden ausgeführt, wenn die Parallelschreib-Betriebsart abgeschaltet ist, d. h., wenn die beiden a-Port- und b-Port-Parallelschreib-Freigabesignale swa und swb einen niedrigen Pegel aufweisen. Ein Lesezyklus wird dadurch durchgeführt, daß ein Zugriff mit dem Bitleitungssignal (beispielsweise bla) mit dem Vorladungs- Spannungspotential Vblp eingeleitet wird, wie dies durch die aktiven FET's 628 und 636 definiert ist, weil sowohl das a-Port-Schatten-Schreibfreigabesignal swa und das a-Port-Spaltenauswahlsignal yia einen niedrigen Pegel aufweist. Ein Spannungsgenerator für das Vorladungs-Spannungspotential ist nicht gezeigt. Die Vorladungs-Spannung ist so definiert, daß sie einen Zellenzugriff ohne Überschreiben der Zelleninhalte ermöglicht, typischerweise ungefähr Vdd/2. Die Zellenauswahl erfolgt durch Aktivieren des Wortleitungssignals wla und des Spaltenauswahl-Leitungssignal yia. Hierdurch wird die Bitleitungs-Vorladung abgeschaltet und es wird der Zelle ermöglicht, das Bitleitungssignal entweder auf einen hohen oder niedrigen Zustand anzusteuern. Das Spaltenzugriffsbauteil (der FET 630 oder 638) leitet dann die Lesedaten an den Ausgang über den Datenbus, so daß ein a-Port-Datensignal dba oder ein b-Port-Datensignal dbb geliefert wird. Nach dem Abschluß des Zugriffs werden die Wortleitung und der Spaltenzugriff abgeschaltet und die Bitleitungs-Vorladung wird freigegeben, um den nächsten Zugriff vorzubereiten. Ein Schreibzyklus ist ähnlich, wobei Daten auf die Bitleitung über das Spaltenzugriffsbauteil (dem FET 630 oder 638) erzwungen werden, während die Zelle ausgewählt ist. Das Erzwingen eines hohen oder niedrigen Pegels für das Bitleitungssignal (beispielsweise das a-Port-Bitleitungssignal bla) während das Wortleitungssignal (beispielsweise das a-Port-Wortleitungssignal wla) aktiv ist, überschreibt die Zelleninhalte.

Ein Parallelschreib-Betrieb wird auf einen Port dadurch ermöglicht, daß das entsprechende Parallelschreib-Freigabesignal swa oder swb auf einen hohen Pegel gesetzt wird. Wenn der Parallelschreib-Betrieb auf dem a-Port freigegeben ist, so wird das a-Port-Bitleitungssignal bla durch den torgesteuerten Parallelschreib- Treiber FET 626 auf einen niedrigen Pegel angesteuert. Bitleitungskurzschlüsse zwischen Ports mit freigegebener Parallelschreib-Betriebsart (beispielsweise dem a- Port) und geprüften Ports (beispielsweise dem b-Port) werden gemessen. Wenn einen hohen Pegel aufweisende Daten an der Leitung 622 (dem geprüften Port) des b-Port-Bitleitungssignals blnb erwartet werden und ein Kurzschluß zur a-Port- Bitleitung 616 (dem Port im Parallelschreib-Betrieb) des a-Port-Bitleitungssignals bla vorhanden ist, so führt die an der a-Port-Bitleitung 616 durch den Parallelschreib- Treiber FET 626 angesteuerte Spannung zu einem ungültigen Lesevorgang an der Leitung 622, die ebenfalls auf einen niedrigen Pegel bezogen wird.

Bei dem direkten Zugriff, der in der RAM-Zelle verwendet wird, müssen alle Wortleitungssignale an Ports im Parallelschreib-Betrieb abgeschaltet werden (auf einem niedrigen Pegel gehalten werden), um eine Verfälschung der Speicherinhalte zu vermeiden, die sich aus einem schreibartigen Betrieb aufgrund des niedrigen Pegels auf der Bitleitung im Parallelschreib-Betrieb ergeben würde (beispielsweise der Leitung 618 des a-Port-Bitleitungssignals bla), wenn ein Wortleitungssignal (beispielweise das a-Port-Wortleitungssignal wla) einen hohen Pegel aufweist. Dies kann durch die Abwahl des Ports im Parallelschreib-Betrieb erzielt werden, wenn eine Pro-Port-Speicherauswahlmöglichkeit zur Verfügung steht, wie dies in Fig. 11 gezeigt ist. Andernfalls muß eine parallelschreibgesteuerte Reihen-Decodierer- Abwahl zu der Speichersteuerlogik hinzugefügt werden.

Port-zu-Port-Wortleitungskurzschlüsse werden dadurch gemessen, daß alle Wortleitungssignale wla und wlb auf Ports im Parallelschreib-Betrieb auf einen niedrigen Pegel angesteuert werden. Irgendein Wortleitungskurzschluß zwischen der Leitung 618 (auf der das a-Port-Wortleitungssignal wla auf einem niedrigen Pegel gehalten wird) und der Leitung 624 (auf der das b-Port-Wortleitungssignal wlb aktiv ist) führen zu einer Verfälschung von Zellen, auf die ein Zugriff durch wla ausgeführt wird (Schreiben von "0", weil das a-Port-Bitleitungssignal bla einen niedrigen Pegel aufweist, während das a-Port-Wortleitungssignal wla aufgrund des Kurzschlusses aktiv ist). Ungültige Lesevorgänge von Zellen, auf die ein Zugriff durch das b-Port-Wortleitungssignal wlb ausgeführt wird, ergeben sich aus Lese- Zugriffsverzögerungs-Fehlern aufgrund der verringerten Spannung des Signals wlb, die sich aus dem Kurzschluß der Leitungen 618 bis 624 ergibt. Ein Testen mit Geschwindigkeit oder ein eigengesteuerter Speicherbetrieb sind erforderlich, um die durch Verzögerungsfehler induzierten Lesefehler festzustellen.

Eine Parallelschreib-Steuerung kann zu jedem einzelnen Leseport mit unabhängiger Steuerung jeder Schaltung oder gruppierter Steuerung hinzugefügt werden, wenn gewisse Port-Wechselwirkungen physikalisch unmöglich sind. Die Auswahl des Parallelschreib-Sourcepotentials (die Spannung, auf die die Parallelschreib-Treiber die Bitleitungen im Parallelschreib-Betrieb bringen) muß in diesem Fall nicht Erdpotential sein. Irgendein bekanntes Potential, das die Fehler mißt, reicht aus. Beispielsweise könnte das Vdd-Potential, das an die Bitleitungen im Parallelschreib- Betrieb durch die Parallelschreib-Treiber angelegt wird, in diesem Beispiel verwendet werden.

Eine Herstellungstest-Abdeckung der Parallelschreib-Schaltungen kann durch Beobachten der Daten erzielt werden, die von dem Port in der Parallelschreib- Betriebsart gelesen Werden. Weil alle Bitleitungssignale an einem Port in dem Parallelschreib-Betrieb auf einen niedrigen Pegel angesteuert werden, sind die erwarteten Daten an den Datenausgängen alle auf einem niedrigen Pegel (in dem Fall, in dem die Bitleitungspolarität die gleiche ist, wie die Datenausgangspolariät, wie dies in Fig. 12 für den a-Port gezeigt ist). Wenn ein Lesen der Parallelschreib- Portdaten nicht möglich ist, können ODER-Testfunktionsschaltungen aller Bitleitungen in der Parallelschreib-Betriebsart verwendet werden, wie dies in Fig. 13 gezeigt ist. In Fig. 13 sind die Leitung 616 und andere a-Port-Bitleitungen mit einer ODER-Schaltung 650 verbunden. Die Leitung 622 und die anderen b-Port- Bitleitungen sind mit einer ODER-Schaltung 652 verbunden. A-Port- und b-Port- Testergebnissignale werden von den ODER-Schaltungen 650 bzw. 652 geliefert, wie dies anhand der Fig. 6 beschrieben wurde.

Der hauptsächliche Vorteil dieser Parallelschreib-Ausgestaltung ist die sich insgesamt ergebende Vereinfachung der Herstellungs-Testalgorithmen zum Testen von Multiport-Speichern. Durch Anwenden der in Fig. 12 gezeigten Parallelschreib- Schaltungen können äußerst komplizierte und konfigurationsabhängige Testalgorithmen durch einfache Algorithmen vom MARCH-Typ ersetzt werden. Jeder Port wird unabhängig geprüft, als ob dies unabhängige 1-Port-Speicher wären, wobei sich alle anderen Ports in der Parallelschreib-Betriebsart befinden. Alle Port-zu-Port-Bitleitungs- und Wortleitungsfehler werden somit festgestellt, zusätzlich zu Fehlertypen, die typischerweise durch den ausgewählten Algorithmus erfaßt werden. Der einzige BIST-Schaltungszusatzaufwand, der gegenüber dem eines einfachen Einzel-Port-BIST hinzugefügt wird, ist die Hinzufügung einer Port- Auswahlschaltung, die die Parallelschreib-Freigabe- und Portabwahl-Funktionen für Ports im Parallelschreib-Betrieb einschließt, und der Parallelschreib- Herstellungstest-Schaltungen zum Testen der Parallelschreib-Schaltungen.

VII. Parallelschreib-Anwendung auf einen 3-Port-SRAM mit einem Eintakt-Nur- Schreib-Port und zwei Eintakt-Nur-Lese-Ports

Fig. 14 zeigt ein Blockschaltbild eines 3-Port-RAM mit einem Nur-Schreib-Port und zwei Nur-Lese-Ports. Der RAM schließt eine Kernzellenmatrix, einen Reihen- Decodierblock, einen Spaltenzugriffs- und Daten-I/O-Block und einen Adressen- und Steuerblock ein. Die Kernzellenmatrix besteht aus einer Matrix von m Reihen x n Spalten der in dem Kasten nach Fig. 15 gezeigten Zellen. Jede Zelle hat drei Ports (M = 3 in diesem Beispiel); jeder Port hat ein Wortleitungssignal (ein a-Port- Lese-Wortleitungssignal wla, ein b-Port-Lese-Wortleitungssignal wlb oder ein Schreib-Wortleitungssignal wlw) und ein Bitleitungssignal (ein a-Port-Lese- Bitleitungssignal bla, ein b-Port-Lese-Bitleitungssignal blb oder ein Schreib- Bitleitungssignal blw). Ein Zellenzugriff wird durch die Auswahl eines Wortleitungssignals, das von dem Reihen-Decodierblock auf der Grundlage der X- Adressensignale erzeugt wird, und der Auswahl einer Bitleitung durch den Spaltenzugriffsblock auf der Grundlage der Y-Adressensignale erzielt.

Die Speicherschnittstelle für eine asynchrone RAM-Ausgestaltung mit speziell bestimmten Nur-Lese- und Nur-Schreib-Ports schließt typischerweise einen Adressenbus, einen Speicherauswahleingang und einen Dateneingangsbus oder einen Datenausgangsbus pro Port ein. Eine synchrone Ausgestaltung schließt typischerweise weiterhin Takteingänge für jeden Port ein. Für dieses Beispiel wird eine synchrone Ausgestaltung bei der vorstehenden vollständigen Schnittstelle zusätzlich zu einer Parallelschreib-Steuerschnittstelle angenommen, wie sie in Fig. 14 gezeigt ist. Für diesen Fall würde der Adressen- und Steuerblock typischerweise Taktpuffer, Schnittstellenregister für alle Eingänge und Schaltungen zur Freigabe oder zum Abschalten eines Speicherzugriffs auf der Grundlage des Zustandes des Auswahleinganges einschließen. Eine Abwahl des Speichers würde typischerweise eine Abschaltung der Reihen- und Spalten-Decodierfunktionen und möglicherweise das Abschalten interner Takte zur Folge haben, um zur Verringerung des Leistungsverbrauchs beizutragen. Der Spaltenzugriffs- und Daten-I/O-Block würde typischerweise Spaltenzugriffs- und Decodierfunktionen, Dateneingangsregister, Datenschreibregister und Datenausgangs-Meß- und Pufferschaltungen einschließen.

Fig. 15 zeigt die Ausgestaltung des Parallelschreib-Merkmals bei dem 3-Port-RAM mit einem Eintakt-Nur-Schreib-Port und zwei Eintakt-Nur-Lese-Ports. Die gezeigte 3-Port-RAM-Zelle ist typisch für diese Art von Speicher mit einem Schreibzugriff der NMOS-Serie und gepufferten Nur-Lese-Ports (die Lese-Bitleitungen führen keinen direkten Zugriff auf den Knoten C oder CN eines Signalspeichers aus, sondern werden durch einen Inverter gepuffert. Der Signalspeicher schließt zwei Inverter 711 und 712 ein, die mit dessen Knoten C und CN verbunden sind. Eine Einzelheit des Signalspeichers ist in Fig. 3 gezeigt.

In Fig. 15 ist der Knoten C mit der Source-Elektrode eines N-Kanal-FET 714 verbunden, dessen Drain-Elektrode mit der Source-Elektrode eines N-Kanal-FET 716 verbunden ist. Die Drain-Elektrode des FET 716 ist mit einer Leitung 718 verbunden, auf der ein Schreib-Bitleitungssignal blw vorliegt. Die Gate-Elektroden der FET 714 und 716 sind mit Leitungen 720 bzw. 722 verbunden, auf denen ein w- Port-Spaltenauswahlsignal yiw und ein Schreib-Wortleitungssignal wlw vorliegen. Der Knoten CN ist mit dem Eingangsanschluß eines Inverters 724 verbunden, dessen Ausgangsanschluß mit den Drain-Elektroden von N-Kanal-FET's 726 und 728 verbunden ist. Die Source-Elektroden der FET's 726 und 728 sind mit Leitungen 730 bzw. 732 verbunden, auf denen a-Port- und b-Port-Lese- Bitleitungssignale bla und blb vorliegen. Die Gate-Elektroden der FET's 726 und 728 sind mit Leitungen 734 bzw. 736 verbunden, auf denen a-Port- und b-Port- Lese-Wortleitungssignale wla und wlb vorliegen. Die Leitung 730 ist mit den Drain- Elektroden von N-Kanal-FET's 738 und 740 verbunden. Die Leitung 732 ist mit den Drain-Elektroden von N-Kanal-FET's 742 und 744 verbunden. Der Ausgangsanschluß eines NOR-Verknüpfungsgliedes 746 ist mit der Leitung 718 verbunden. Ein w-Port-Parallelschreib-Freigabesignal sww und ein w-Port-Schreib- Dateneingangssignal bw werden den nicht-invertierenden bzw. invertierenden Eingangsanschlüssen des NOR-Verknüpfungsgliedes 746 zugeführt.

A-Port- und b-Port-Parallelschreib-Freigabesignale swa und swb werden den Gate- Elektroden der FET's 738 bzw. 742 zugeführt. A-Port- und b-Port-Spaltenauswahlsignale yia und yib werden den Gate-Elektroden von FET's 740 bzw. 744 zugeführt. Die Source-Elektroden der FET's 740 und 744 sind mit dem Datenbus verbunden.

Die FET's 738 und 742 sind Lese-Port-Parallelschreib-Treiber. Die FET's 740 und 744 sind Spaltenzugriffsbauteile.

Normale Lese- oder Schreiboperationen (Arbeitsbetriebsarts-Lese- oder Schreiboperationen) werden ausgeführt, wenn die Parallelschreib-Betriebsart abgeschaltet ist; das a-Port-Parallelschreib-Freigabesignal swa, das b-Port-Parallelschreib- Freigabesignal swb und das w-Port-Parallelschreib-Freigabesignal sww weisen einen niedrigen Pegel auf. Ein Lesezyklus wird durch Aktivieren eines Wortleitungssignals (beispielsweise wla) und eines Spaltenauswahl-Leitungssignals (beispielsweise yia) ausgeführt. Dies ermöglicht es der Zelle, die Bitleitung entweder auf einen hohen oder einen niedrigen Zustand anzusteuern. Das Spaltenzugriffsbauteil leitet dann die Lesedaten an den Datenausgang über den Datenbus weiter. Ein a-Port-Lesedatensignal dba oder ein b-Port-Lesedatensignal dbb werden über den eingeschalteten FET 740 oder 744 geliefert. Ein Schreibvorgang wird durch Einspeisen der Schreibdaten auf das Schreib- Bitleitungssignal blw erzielt, während die Zelle ausgewählt ist (das Schreib- Wortleitungssignal wlw und das w-Port-Spaltenauswahlsignal yiw weisen einen hohen Pegel auf). Wenn das Schreib-Bitleitungssignal blw auf einen hohen oder einem niedrigen Pegel angesteuert wird, während das Schreib-Wortleitungssignal wlw und das a-Port-Parallelsschreib-Spaltenauswahlsignal yia aktiv sind, überschreibt dies die Zelleninhalte.

Ein Parallelschreib-Betrieb wird an einen Nur-Lese-Port (beispielweise den a-Port) dadurch freigegeben, daß das Parallelschreib-Steuersignal (beispielweise das a- Port-Parallelschreib-Freigabesignal swa) auf einen hohen Pegel gesetzt wird. Wenn der Parallelschreib-Betrieb an einem a-Port aktiviert ist, so wird das a-Port-Lese- Bitleitungssignal bla auf einen niedrigen Pegel angesteuert. Bitleitungskurzschlüsse zwischen Ports mit aktivierter Parallelschreib-Betriebsart (beispielweise dem a-Port) und geprüften Ports (beispielsweise dem b-Port) werden gemessen. Wenn einen hohen Pegel aufweisende Daten an der Leitung 732 erwartet werden (dem geprüften Port) und ein Kurzschluß zur Leitung 730 vorhanden ist (dem Port im Parallelschreib-Betrieb), so führt die an dem a-Port-Lese-Bitleitungssignal bla durch den Parallelschreib-Treiber (dem FET 738) angesteuerte Spannung zu einem ungültigen Lesevorgang an der Leitung 732 des b-Port-Lese-Bitleitungssignals blb, das ebenfalls auf einen niedrigen Pegel gezogen wird.

Alle Wortleitungen an einem Port in der Parallelschreib-Betriebsart müssen abgeschaltet werden (auf einen niedrigen Pegel gehalten werden) um einen unnötigen Leistungsverbrauch zu vermeiden, wenn ein Zugriff auf eine "1"-Daten speichernde Zelle durch eine Wortleitung an dem Port in der Parallelschreib- Betriebsart durchgeführt wird. Dies kann durch das Abwählen des Ports in der Parallelschreib-Betriebsart erzielt werden, wenn eine Pro-Port- Speicherauswahlmöglichkeit zur Verfügung steht. Anderenfalls muß eine parallelschreibgesteuerte Reihen-Decodierabwahl zu der Speichersteuerlogik hinzugefügt werden.

Ein Parallelschreib-Betrieb wird an einem Nur-Schreib-Port (b-Port) dadurch aktiviert, daß das w-Port-Parallelschreib-Freigabesignal sww auf einen hohen Pegel gesetzt wird. Wenn der Parallelschreib-Betrieb an dem w-Port aktiviert ist, so wird das Schreib-Bitleitungssignal blw auf einem niedrigen Pegel angesteuert, um Kurzschlüsse zu Bitleitungen von irgendeinem anderen Port festzustellen. Wie bei den Nur-Lese-Ports sollte die Nur-Schreib-Port-Reihen-Decodierung abgeschaltet werden, während sich der Schreib-Port in der Parallelschreib-Betriebsart befindet, um eine Verfälschung der Speicherzelleninhalte zu vermeiden. In diesem Beispiel sollten die w-Port-Spaltenauswahlsignale yiw ebenfalls auf das Parallelschreib- Potential (auf einem niedrigen Pegel) angesteuert werden, weil es parallel zu den Bitleitungen verläuft und daher geprüft werden sollte, als ob es eine Bitleitung wäre.

Durch Ansteuern aller Wortleitungssignale auf einem niedrigen Pegel an Ports in der Parallelschreib-Betriebsart (entweder Lese- oder Schreib-Ports) führen irgendwelche Wortleitungskurzschlüsse zwischen Ports in der Parallelschreib- Betriebsart und dem geprüften Port zu einem wesentlich langsameren Lesebetrieb aufgrund der verlängerten Lese-Wortleitungsansteuerung, die sich aus dem Kurzschluß ergibt. Diese Verzögerungsfehler können durch einen Betrieb bei hoher Geschwindigkeit oder mit eigenzeitgesteuerten Tests an dem Speicher festgestellt werden. Eine Parallelschreib-Steuerung kann zu jedem einzelnen Port mit unabhängiger Steuerung jeder Schaltung oder einer gruppierten Steuerung hinzugefügt werden, wenn gewisse Port-Wechselwirkungen physikalisch unmöglich sind. Die Auswahl des Parallelschreib-Sourcepotentials (der Spannung, auf die die Parallelschreib-Treiber die Bitleitungen im Parallelschreib-Betrieb bringen) muß in diesem Fall nicht gleich Null sein. Irgendein bekanntes Potential, das die Fehler mißt, reicht aus. Beispielsweise könnte ein Vdd-Potential, das an die Bitleitungen im Parallelschreib-Betrieb durch die PMOS-Parallelschreib-Treiber angelegt würde, in diesem Beispiel verwendet werden.

Die Herstellungstestüberdeckung der Nur-Lese-Parallelschreib-Schaltungen kann durch die Beobachtung von Daten erzielt werden, die von den Nur-Lese-Ports gelesen werden, während man sich im Parallelschreib-Betrieb befindet. Weil alle Bitleitungen an einem Port im Parallelschreib-Betrieb in diesem Beispiel auf einem niedrigen Pegel angesteuert werden, sind die erwarteten Daten alle auf einem niedrigen Pegel (in dem Fall, bei dem die Bitleitungspolarität die gleiche ist, wie die Datenausgangspolariät). Wenn ein Lesen der Parallelschreib-Portdaten nicht möglich ist, so kann eine logische ODER-Testfunktionsschaltung aller Bitleitungen in der Parallelschreib-Betriebsart verwendet werden, wie dies in Fig. 16 gezeigt ist.

In Fig. 16 sind die Leitung 730 und andere a-Port-Lese-Bitleitungen mit einer ODER-Schaltung 750 verbunden. Die Leitung 732 und die anderen b-Port-Lese- Bitleitungen sind mit einer ODER-Schaltung 752 verbunden. A-Port- und b-Port- Testergebnissignale werden von den ODER-Schaltungen 750 bzw. 752 so geliefert, wie dies anhand der Fig. 6 beschrieben wurde.

Der Hauptvorteil dieser Parallelschreib-Erfindung besteht in der insgesamt erzielten Vereinfachung des Herstellungstestalgorithmus zum Testen von Multiport- Speichern. Durch Anwenden der Parallelschreib-Schaltungen, die in Fig. 15 oder 16 gezeigt sind, können äußerst komplizierte und konfigurationsabhängige Testalgorithmen durch einfache Algorithmen vom MARCH-Typ ersetzt werden. Alle Port-zu-Port-Bitleitungs- und Wortleitungs-Fehler werden somit zusätzlich zu den Fehlertypen festgestellt, die typischerweise von dem ausgewählten Algorithmus festgestellt werden. Der einzige BIST-Schaltungszusatzaufwand, der gegenüber einer üblichen BIST-Schaltung hervorgerufen wird, ist die Hinzufügung einer Port- Auswahl- und Lese-/Schreib-Port-Schaltung, die die Parallelschreib-Freigabe- und Portabwahl-Funktionen für Ports im Parallelschreib-Betrieb einschließt, und von Parallelschreib-Herstellungstestschaltungen zum Testen der Parallelschreib- Schaltungen, wie dies weiter oben beschrieben wurde.

Die Merkmale der Ausführungsformen sind skalierbar. Obwohl spezielle Beispiele geliefert wurden, kann das Parallelschreib-Merkmal auf irgendeinen Multiport- Speicher mit irgendeiner Kombination von Eintakt-Nur-Lese-, Nur-Schreib- oder Lese-Schreib-Ports angewandt werden. Das Eintakt-Parallelschreib-Merkmal kann weiterhin in Verbindung mit dem Differenz-Port-Parallelschreib-Merkmal verwendet werden, um Port-zu-Port-Bitleitungs- und Wortleitungskurzschlüsse in Multiport- RAM's mit irgendeiner Kombination von Differenz-Nur-Lese-, Nur-Schreib- oder Lese-Schreib-Ports und Eintakt-Nur-Lese-, Nur-Schreib- oder Lese-Schreib-Ports verwendet werden.

Das Merkmal ist nicht auf SRAM-Anwendungen beschränkt. Es kann bei irgendeiner statischen Multiport-Speicherarchitektur oder irgendeiner dynamischen Multiport-Speicherarchitektur verwendet werden.

Obwohl spezielle Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurde, sei es verständlich, daß vielfältige Abänderungen, Modifikationen und Anpassungen durchgeführt werden können, ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen, wie er in den Ansprüchen definiert ist.


Anspruch[de]

1. Multiport-RAM mit RAM-Zellen (110) in m Reihen x n Spalten, wobei jede RAM-Zelle Speichereinrichtungen (210) zum Speichern von Binärdaten einschließt, wobei die RAM-Zellen jeder Spalte gemeinsam mit einem jeweiligen Satz von M Datenpfaden gekoppelt sind, wobei m, n und M ganze Zahlen sind,

wobei der Multiport-RAM weiterhin folgendes umfaßt:

Zugriffseinrichtungen (130, 124) zur Ausführung eines Datenzugriffs auf die RAM-Zellen über die Datenpfade;

Pfadauswahleinrichtungen zur Bestimmung von Datenpfaden derart, daß der Datenzugriff über die ausgewählten Datenpfade freigegeben wird und der Datenzugriff über die nicht ausgewählten Datenpfade abgeschaltet wird; und

wobei die Pfadauswahleinrichtung n Sätze von M Schalteinrichtungen (214, 218, 220, 236) einschließt, die mit dem jeweiligen M Datenpfaden gekoppelt sind, dadurch gekennzeichnet, daß jede der M Schalteinrichtungen so ausgebildet ist, daß der jeweilige Datenpfad auf einen vorgegebenen Spannungspegel gesetzt wird, wenn die Schaltungseinrichtung aktiviert wird, und wobei der Multiport-RAM weiterhin Aktivierungseinrichtungen zum selektiven Aktivieren ausgewählter der M Schaltereinrichtungen in Abhängigkeit von einem Steuersignal umfaßt, wodurch bewirkt wird, daß die Datenpfade auf den vorgegebenen Spannungspegel gesetzt werden.

2. Multiport-RAM nach Anspruch 1, bei dem die Zugriffseinrichtung Datenleseeinrichtungen (124) zum Lesen von in den Speichereinrichtungen gespeicherten Binärdaten über den ausgewählten Datenpfad während einer Lesebetriebsart umfaßt.

3. Multiport-RAM nach Anspruch 1, bei dem die Zugriffseinrichtung Datenschreib- (130) und Leseeinrichtungen (124) umfaßt, um: (i) Binärdaten in den Speichereinrichtungen (210) über dem ausgewählten Datenpfad während einer Schreibbetriebsart zu speichern; und (ii) die in den Speichereinrichtungen (210) gespeicherten Binärdaten über den ausgewählten Datenpfad während einer Lesebetriebsart zu lesen.

4. Multiport-RAM nach Anspruch 1, bei dem:

jede der Schalteinrichtungen einen FET (316, 318, 220...) umfaßt, dessen Drain-Source-Strecke zwischen dem jeweiligen Datenpfad und einem Anschluß des vorgegebenen Spannungspegels gekoppelt ist; und

das Steuersignal selektiv an die Gate-Elektroden der FET's angelegt wird.

5. Multiport-RAM nach Anspruch 1, bei dem die Aktivierungseinrichtung Einrichtungen zum abwechselnden Anlegen des Steuersignals an jede von zwei oder mehreren Gruppen umfaßt, die einen Satz der M Schaltereinrichtungen bilden.

6. Multiport-RAM nach Anspruch 1, bei dem:

die Binärdatendifferenz-Binärdaten sind;

jeder der Datenpfade ein Paar von Differenz-Bitleitungen (420, 432, 422, 434; 424, 436) umfaßt, und wobei die Pfadauswahleinrichtung n Sätze von M Schaltereinrichtungen umfaßt, wobei jede Schaltereinrichtung mit dem jeweiligen Paar von Differenz-Bitleitungen verbunden ist.

7. Multiport-RAM nach Anspruch 1, bei dem:

die Binärdaten Eintakt-Binärdaten sind;

jeder der Datenpfade eine Eintakt-Bitleitung umfaßt; und

die Pfadauswahleinrichtung n Sätze von M Schaltereinrichtungen umfaßt, wobei jede Schaltereinrichtung mit der jeweiligen Eintakt-Bitleitung verbunden ist.

8. Multiport-RAM nach Anspruch 1, der weiterhin Testfunktionseinrichtungen zur Bestimmung umfaßt, ob die von der Speichereinrichtung gelesenen Binärdaten die gewünschten Daten sind oder nicht.

9. Multiport-RAM nach Anspruch 8, bei dem die Binärdaten Differenz- Binärdaten sind.

10. Multiport-RAM nach Anspruch 8, bei dem die Binärdaten Eintakt-Binärdaten sind.

11. Multiport-RAM nach Anspruch 3, der weiterhin Testfunktionseinrichtungen zur Bestimmung umfaßt, ob die von der Speichereinrichtung gelesenen Binärdaten die gewünschten Daten sind oder nicht.

12. Multiport-RAM nach Anspruch 11, bei dem die Binärdaten Differenz- Binärdaten sind.

13. Multiport-RAM nach Anspruch 1, bei dem die Binärdaten Eintakt-Binärdaten sind.

14. Multiport-RAM nach Anspruch 1, bei dem die RAM-Zellen dynamische Speicherzellen mit wahlfreiem Zugriff sind.

15. Multiport-RAM nach Anspruch 1, bei dem die RAM-Zellen statische Speicherzellen (110) mit wahlfreiem Zugriff sind.

16. Multiport-RAM nach Anspruch 8 oder 11, bei dem die Testfunktionseinrichtung ODER-Funktionsschaltungen (650, 652, 750, 752) umfaßt, die jeweils Daten von dem jeweiligen Port jeder RAM-Zelle empfangen.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com