-
Technischer Bereich
-
Die
vorliegende Erfindung betrifft im Allgemeinen elektrische Schaltungen
und spezieller integrierte Schaltungen mit Speicher- und Logikschaltungen.
-
Hintergrund
-
Integrierte
Schaltungen beinhalten häufig
einen Schaltkomplex zum Ausführen
von Logikfunktionen sowie einen Schaltkomplex für Speicher. Der Schaltkomplex
für Speicher
ist typischerweise in bestimmten Bereichen der integrierten Schaltung
angeordnet und vom Schaltkomplex zum Ausführen von Logikfunktionen getrennt.
-
Ein
Nachteil dieser Anordnung ist, dass Verbindungsanforderungen von
Logikschaltkomplexen zum Ausführen
bestimmter Logikfunktionen sehr komplex sein können und sämtliche benachbarten Verbindungsleitungen
und lokale Kapazität
der Leitwegstruktur einnehmen. Demzufolge kann ein nahe gelegener
Logikschaltkomplex möglicherweise
aufgrund des Fehlens von Verbindungsfähigkeit nicht benutzt werden,
selbst wenn die Schaltungsverbindungen auf der integrierten Schaltung
sehr dicht sind.
-
Zudem
kann bei der Herstellung der integrierten Schaltung möglicherweise
eine Hybridverarbeitung angewendet werden, die einen hoch dichten Front-End-Prozess
und einen weniger dichten Back-End-Prozess kombiniert. Der hoch
dichte Front-End-Prozess implementiert den technisch hochentwickelten
Schaltkomplex (z.B. den Logikschaltkomplex), während der weniger dichte Back-End-Prozess
Schaltungsverbindungen mittels einer kostenärmeren Technologie implementiert.
Die mit dem weniger dichten Back-End-Prozess gebildeten Schaltungsverbindungen
verschlimmern die Leitwegüberfüllung um
den Logikschaltkomplex noch weiter und machen es aufgrund der begrenzten
Verknüpfungsfähigkeit
noch schwieriger, den Logikschaltkomplex voll zu nutzen. Infolgedessen
besteht Bedarf an Systemen und Verfahren zum Verbessern der Auslastung
von Logikschaltkomplexen und zum Minimieren von Verknüpfungsbeschränkungen.
-
Die
US 5 526 318 offenbart einen
IC-Speicher, dessen Speicherplatz in Subarrays unterteilt ist. Ein
Reihenleitungsverstärker
wird zwischen alle Subarrays gesetzt, der mit der Reihenleitung
vom Reihendecoder kommuniziert. Leistungsverlustsenkungen werden
durch Enterregen der Reihenleitungsverstärker erzielt, die nicht mit
der gewählten
Subarray assoziiert sind.
-
Die
JP 58 094187 A beschreibt
eine Architektur zum Unterdrücken
von Durchgangsstrom und zum Reduzieren der Leistungsaufnahme in
statischem CMOS-RAM
durch Unterteilen von Wortleitungen in zwei oder mehr Segmente und
Verbinden der geteilten Wortleitungen mit einem durch ein Signal
gesteuerten Logikgatter.
-
Die
US 5 930 187 offenbart einen
LSI-(Large Scale Integration)-Chip mit einer Hauptfläche, die von
einer Logiksektion, einer Datenein-/-ausgangssektion und einer Speichersektion
eingenommen wird. Die Sektionen sind nebeneinander angeordnet, was
Entlastung beim Entwerfen eines LSI-Chips bringt und eine Verkürzung der
Entwicklungsperiode und Standardisierung von Tests erzielt.
-
Die
US 6 256 604 beschreibt
eine Struktur und ein Designverfahren für mit Logik integrierten Speicher,
umfassend zu Spalten angeordnete Speicherarray-Blöcke mit
DQ-Leitungspaaren,
die in Spaltenrichtung auf den Speicherarray-Blöcken verlaufen.
-
Die
US 5 014 242 offenbart eine
integrierte Halbleiterschaltung, bei der eine Logikschaltung zum Austauschen
von Signalen mit RAMs, wobei die RAMs zentral auf dem Halbleiterchip
oder -substrat angeordnet sind, in eine Mehrzahl von Logikschaltungen
auf eine solche Weise unterteilt ist, dass die Distanz der Signalübertragungspfade
mit dem RAM minimiert wird, und um einen sehr schnellen Zugriff auf
RAMs zu erzielen.
-
Die
US 6 034 912 beschreibt
ein Halbleiterbauelement, das einen Speicherteil und einen Logikschaltungsteil
auf einem einzelnen Halbleitersubstrat ausgebildet umfasst, wobei
ein erster Logikschaltungsblock und ein zweiter Logikschaltungsblock
in unterschiedlichen Bereichen ausgebildet sind und die zweite Logikschaltung
sich zwischen einem Paar Speicherblöcken befindet.
-
ZUSAMMENFASSUNG
-
Es
werden hierin Systeme und Verfahren zum Bereitstellen von verteilten
Speicher- und Logikschaltungen bereitgestellt, die eine bessere
Auslastung einer Verbindungsstruktur und/oder der Logikschaltungen
bieten. So kann beispielsweise durch Verteilen von Speicherkapazität über einen
oder mehrere Logikschaltkomplexteile innerhalb einer integrierten
Schaltung hoch dichte Leitwegüberfüllung reduziert
werden, weil die Neigung besteht, dass der Speicher weniger Verknüpfungsfähigkeit
braucht als die Logikschaltungen. Dadurch kann eine bessere Auslastung
von Logikschaltungen aufgrund der Verfügbarkeit von Schaltungsverbindungsressourcen
erzielt werden. Ferner sind in einer oder mehreren Ausgestaltungen
Techniken zum Zugreifen auf den über den
Logikschaltkomplex verteilten Speicher illustriert.
-
Spezieller,
gemäß einer
Ausgestaltung der vorliegenden Erfindung umfasst eine integrierte Schaltung
Folgendes: mehrere Speicherspalten und mehrere Logikschaltungsspalten,
wobei jede der Speicherspalten neben einer der Logikschaltungsspalten
angeordnet ist, wobei die mehreren Speicherspalten wenigstens einen
Speicherblock mit Reihen bilden, die durch die mehreren Speicherspalten verlaufen,
wobei Verbindungsleitungen über und/oder
unter den mehreren Speicherspalten vorgesehen sind, um Leitwegführungsfähigkeiten
für die mehreren
Logikschaltungsspalten bereitzustellen.
-
Gemäß einer
anderen Ausgestaltung der vorliegenden Erfindung wird ein Verfahren
zum Erhöhen
der Auslastung von Logikschaltungen auf einer integrierten Schaltung
bereitgestellt, wobei das Verfahren die folgenden Schritte beinhaltet:
Anordnen der Logikschaltungen in mehreren Spalten; Anordnen einer
Speicherspalte jeweils zwischen den einzelnen aus der Mehrzahl von
Logikschaltungsspalten, um lokale Verbindungsanforderungen zu reduzieren;
und Verbinden der einzelnen Speicherspalten zum Bilden von wenigstens
einem Speicherblock, dessen Reihen durch die Speicherspalten verlaufen.
-
Der
Umfang der Erfindung ist durch die Ansprüche definiert, die durch Bezugnahme
in diesen Abschnitt eingeschlossen sind. Ein umfassenderes Verständnis von
Ausgestaltungen der vorliegenden Erfindung sowie eine Realisierung
von zusätzlichen Vorteilen
davon wird einer Fachperson nach Betrachtung der nachfolgenden ausführlichen
Beschreibung von einer oder mehreren Ausgestaltungen vermittelt. Es
wird nun auf die beiliegenden Zeichnungen Bezug genommen, die zunächst kurz
beschrieben werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm, das den innerhalb einer Region mit Logikschaltungen
verteilten Speicher gemäß einer
Ausgestaltung der vorliegenden Erfindung illustriert.
-
2 zeigt
eine Speicherzelle gemäß einer Ausgestaltung
der vorliegenden Erfindung.
-
3 zeigt
einen Decodierschaltkomplex für Wortleitungen
gemäß einer
Ausgestaltung der vorliegenden Erfindung.
-
4 zeigt
einen Reihentreiber für
die Wortleitungen gemäß einer
Ausgestaltung der vorliegenden Erfindung.
-
5 zeigt
einen Lese-/Schreibkomplex gemäß einer
Ausgestaltung der vorliegenden Erfindung.
-
6 zeigt
eine beispielhafte Steuerlogik gemäß einer Ausgestaltung der vorliegenden
Erfindung.
-
7 zeigt
ein Blockdiagramm einer Querschnittsseitenansicht eines physikalischen
Schaltungslayouts gemäß einer
Ausgestaltung der vorliegenden Erfindung.
-
Die
bevorzugten Ausgestaltungen der vorliegenden Erfindung und ihre
Vorteile werden am besten mit Bezug auf die nachfolgende ausführliche
Beschreibung verständlich.
Es ist zu verstehen, dass zum Identifizieren gleichartiger in einer
oder mehreren der Figuren illustrierter Elemente gleiche Bezugsziffern
verwendet wurden.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
1 zeigt
ein Blockdiagramm eines Schaltungslayouts 100, das innerhalb
einer Region verteilten Speicher illustriert, die Logikschaltungen
gemäß einer
Ausgestaltung der vorliegenden Erfindung enthält. Das Schaltungslayout 100 repräsentiert
ein physikalisches Layout für
einen Teil einer integrierten Schaltung, wobei das Schaltungslayout 100 viele Male
in der integrierten Schaltung repliziert werden kann.
-
Das
Schaltungslayout 100 beinhaltet eine Reihe von Speicherbereichen 102 (jeder
separate Speicherbereich 102 ist mit „R" beschriftet), verteilt über eine
Anzahl von Logikschaltungen 104 (jeder separate Logikschaltungsbereich 104 ist
mit „L" beschriftet). Der
Speicher 102 kann von einem beliebigen Typ und einer beliebigen
Speichergröße sein.
So kann beispielsweise jeder Speicher 102 (d.h. jeder mit
R beschriftete Bereich) acht Speicherzellen beinhalten (z.B. zwei
Speicherzellen breit und vier Speicherzellen hoch), wobei jede Speicherzelle
beispielsweise statischer Direktzugriffsspeicher (SRAM) ist. So
würde beispielsweise
das Schaltungslayout 100 mit acht Spalten und acht Speicherreihen 102 in
diesem Beispiel zwei Blöcke
von 16 × 16
SRAM oder einen Block von 16 × 32
SRAM repräsentieren.
Logikschaltungen 104 können
von einem beliebigen Schaltkomplextyp sein, der Logikfunktionen
ausführen kann,
wie z.B. Lookup-Tabellen oder ein Flipflop mit Logikgattern, die
zur Ausführung
von Logikfunktionen konfiguriert sind.
-
Das
Schaltungslayout 100 beinhaltet ferner Lese-/Schreib-(R/W)-Schaltungen 106 (mit „W" beschriftet), Decodierschaltungen 108 (mit „D" beschriftet), und
eine Steuerschaltung 110 (mit „C" beschriftet). R/W-Schaltungen 106 führen Lese-/Schreib- sowie Datenein-/-ausgabe-(E/A)-Funktionen
für jede
ihrer entsprechenden Speicherspalten 102 aus. So liefern
und steuern beispielsweise, wie ausführlicher mit Bezug auf 5 erläutert wird
und gemäß einer Ausgestaltung
der vorliegenden Erfindung, R/W-Schaltungen 106 Bitleitungen
für jede
ihrer entsprechenden Speicherspalten 102.
-
Decodierschaltungen 108 führen die
Adressdecodierung und Steuerung für Wortleitungen für jede ihrer
entsprechenden Speicherreihen 102 aus, wie z.B. mit Bezug
auf 3 gemäß einer
Ausgestaltung der vorliegenden Erfindung beschrieben wurde. Die
Steuerschaltung 110 kann zum Ausführen verschiedener Steuerfunktionen
und/oder Decodierfunktionen für
den Speicher 102 des Schaltungslayout 100 verwendet
werden.
-
Zum
Beispiel, kurz mit Bezug auf 6, diese
zeigt eine Schaltung 600, die eine beispielhafte Implementation
für die
Steuerschaltung 110 repräsentiert. In diesem Beispiel
führt die
Schaltung 600 einfach Pufferung und Portadressdecodierung
aus, z.B. zum Empfangen von Adressbits (mit a0 bis a4 beschriftet)
und zum Erzeugen von decodierten Adresssignalen (mit s0 bis s3 bezeichnet).
Diese Adresssignale können
beispielsweise von Adressleitungen 302 ausgeführt werden,
wie nachfolgend mit Bezug auf 3 erörtert wird.
-
Das
Schaltungslayout 100 kann auch eine Taktreihe 112 und
eine oder mehrere Speise- oder Referenzspannungen 114 oder
Impulsgeneratoren 116 aufweisen. Die Taktreihe 112 beinhaltet
globale oder lokale Taktleitungen, die vom Schaltungslayout 100 benötigt werden
(z.B. für
Speicher 102 oder Logikschaltungen 104). Speise-
oder Referenzspannungen 114 können beispielsweise als Leistungsring um
das Schaltungslayout 100 vorgesehen werden und erzeugen
eine Speisespannung (VDD oder hierin auch LVDD genannt) und eine
Massespannung (VSS oder hierin auch LVSS genannt) und/oder andere
Referenzspannungen. Impulsgeneratoren 116 erzeugen einen
RAM-Schreibimpuls, z.B. zum Erzeugen eines Schreibimpulses für asynchronen RAM.
-
Das
Schaltungslayout 100 illustriert, gemäß einer Ausgestaltung der vorliegenden
Erfindung, unter Logikschaltungen 104 verteilten Speicher 102,
um eine verbesserte Logikauslastung der Logikschaltungen 104 zu
erzielen. Der Speicher 102 soll die Dichtigkeit von Logikschaltungen 104 und
Verbindungsüberfüllung reduzieren,
dabei aber einen voll verbundenen Speicher bereitstellen. Da der
Speicher 102 typischerweise geringere Verbindungsanforderungen
(z.B. weniger Verbindungsanforderungen mit niedrigeren Schaltungsschichten)
im Vergleich zu Logikschaltungen 104 hat, erlaubt es ein
unter Logikschaltungen 104 verteilter Speicher 102,
Verbindungsressourcen effektiver durch Logikschaltungen 104 zu
verwenden. Demzufolge sind Logikschaltungen 104 mit weniger
lokaler Konkurrenz um Verbindungsressourcen konfrontiert und weniger
Logikschaltungen 104 bleiben aufgrund eines Fehlens von Verbindungsfähigkeit
unbenutzt.
-
Die
Vorzüge
von Speicher 102 unter Logikschaltungen 104 wird
man noch besser für
Architekturen würdigen,
bei denen die Verbindungsstruktur weniger dicht ist als der aktive
Bereich. So ermöglicht es
beispielsweise in Hybridtechnologien, bei denen beispielsweise die
Metalltechnologie (z.B. Verbindungsleitwegstruktur) weniger dicht
ist als die Transistortechnologie (z.B. Logikschaltungen), der unter Logikschaltungen 104 verteilte
Speicher 102 eine verbesserte Logikauslastung und größere Anwendung,
weil der Speicher 102 typischerweise weniger Verbindungsressourcen
benötigt
als dann, wenn er durch eine von Logikschaltungen 104 ersetzt
wird. Daher besteht bei Logikschaltungen 104 neben dem Speicher 102 eine
bessere Chance, dass Verbindungsressourcen für ihren Gebrauch verfügbar ist
als dann, wenn sich Logikschaltungen 104 neben anderen
Logikschaltungen 104 befinden würden.
-
Ferner
wird aufgrund der für
Logikschaltungen 104 verfügbaren zusätzlichen Verbindungsleitwegkapazität eine höhere Auslastung
von Logikschaltungen 104 möglich. Der Schaltungsbereich über (oder
unter) den Speicherspalten 102 (d.h. die Schaltungs- oder
Metallschicht über
jedem Speicher 102) wird benutzt, um zusätzliche
Verbindungen für Logikschaltungen 104 bereitzustellen.
Dieser Schaltungsbereich wird gewöhnlich nicht für Logikverbindungen
verwendet, wie z.B. der Bereich über
konventionellen großen
Speicherblöcken,
aufgrund ihres Abstands von Logikschaltungen. Daher wird die Logikauslastung
für Logikschaltungen 104 weiter verbessert,
indem mehr Verbindungsressourcen über dem Speicher 102 für benachbarte
Logikschaltungen 104 verfügbar werden.
-
2 zeigt
eine Speicherzelle 200 gemäß einer Ausgestaltung der vorliegenden
Erfindung. Eine oder mehrere Speicherzellen 200 können zur Bildung
jedes Speichers 102 gruppiert werden (d.h. jeder der in 1 mit
R beschrifteten Bereiche). So können
beispielsweise acht Speicherzellen 200 zu einer Konfiguration
von zwei mal vier gruppiert werden (d.h. zwei Spalten von Speicherzellen 200 und vier
Reihen von Speicherzellen 200), um jeden Speicher 102 zu
bilden (jeweils mit R beschriftet).
-
Die
Speicherzelle 200 ist eine Direktzugriffsspeicherzelle
mit zwei Ports (z.B. Port A und B) mit einer Wortleitung 202 und
einer Wortleitung 208, einer Bitleitung 204 und
ihrer Ergänzungsbitleitung 206 (jeweils
mit A und AN beschriftet) und einer Bitleitung 210 und
ihrer Ergänzungsbitleitung 212 (jeweils
mit B und BN beschriftet). Die Wortleitung 202 und die
Bitleitungen 204, 206 bedienen Port A, während die Wortleitung 208 und
die Bitleitungen 210, 212 Port B der Speicherzelle 200 bedienen.
-
Die
Transistoren 218 und 220 bilden einen Inverter,
der mit einem durch Transistoren 222 und 224 gebildeten
weiteren Inverter zum Speichern eines Datenbits gekoppelt ist. Die
Transistoren 218 und 222 empfangen eine Speisespannung
(mit LVDD beschriftet), während
die Transistoren 220 und 224 eine Referenzspannung
empfangen (mit LVSS beschriftet, repräsentiert z.B. eine Massespannung). Die
Wortleitung 202 steuert die Transistoren 214 und 216,
um Bitleitungen 204, 206 Zugang zu Transistoren 218 bis 224 zum
Schreiben oder Lesen von von den Transistoren 218 bis 224 gespeicherten
Daten zu geben. Ebenso steuert die Wortleitung 208 Transistoren 226 und 228,
um Bitleitungen 210, 212 Zugang zu Transistoren 218 bis 224 zum
Schreiben oder Lesen von von Transistoren 218 bis 224 gespeicherten
Daten zu geben.
-
3 zeigt
eine Decodierschaltung 300 für Wortleitungen gemäß einer
Ausgestaltung der vorliegenden Erfindung. Die Decodierschaltung 300 repräsentiert
beispielsweise eine von vier Schaltungen, die Wortleitungen für das Schaltungslayout 100 von 1 steuern
(unter der Annahme, dass jede Speicherreihe 102 als ein
2×4-Speicherblock konfiguriert ist,
wie im vorherigen Beispiel beschrieben wurde). Daher würde in diesem
Beispiel eine der Decodierschaltungen 300 Wortleitungen
für Port
A für die
ersten im Schaltungslayout 100 gezeigten vier Reihen steuern,
eine andere Decodierschaltung 300 würde Wortleitungen für Port B
für diese
ersten vier Reihen steuern, eine andere Decodierschaltung 300 würde Wortleitungen
für Port
A für die übrigen vier
gezeigten Reihen steuern, und die vierte Decodierschaltung 300 würde Wortleitungen
für Port
B für diese übrigen vier
Reihen steuern.
-
Die
vier Decodierschaltungen 300 würden den in 1 als
Decodierschaltungen 108 identifizierten Raum belegen. So
würden
z.B. zwei Decodierschaltungen 300 den Bereich in Decodierschaltungen 108 in
der oberen Hälfte
des Schaltungslayouts 100 für Wortleitungsdecodierung für die entsprechenden
Ports A und B belegen, während
die übrigen beiden
Decodierschaltungen 300 den Bereich in Decodierschaltungen 108 in
der unteren Hälfte
des Schaltungslayouts 100 für Wortleitungsdecodierung für die entsprechenden
Ports A und B belegen würden.
-
Decodierschaltungen 300 enthalten
Adressleitungen 302 (mit s0, s1, s2, s3, a2n und a3n beschriftet),
die vordecodiert sind und Signale führen, mittels derer die Adressdecodierlogik 304 ermittelt, welche
der Wortleitungen 306 (mit row0, row1, ... bis row15 beschriftet)
aktiviert werden soll. Die Adresscodierlogik 304 hat verschiedene
Logikgatter, z.B. Inverter, NOR-Gatter und NAND-Gatter, wie gezeigt, um
die geeignete Wortleitung 306 auszuwählen. Wie oben erläutert, unterstützen die
sechzehn Wortleitungen 306 Reihenadressierung für 16 Speicherreihen für einen
Port (z.B. 16 Reihen von Speicherzelle 200 von 2 für einen
Port, Port A oder Port B). Mit Bezug auf 1, jede
Speicherreihe 102 aus den acht gezeigten hat vier Reihen
von Speicherzellen für
eine kombinierte Gesamtzahl von 32 Reihen von Speicherzellen 102.
-
Die
Decodierschaltung 300 beinhaltet auch Reihentreiber 308 (jeweils
mit rowdrva beschriftet) zum Bewirken eines geeigneten Spannungspegels auf
den entsprechenden Wortleitungen 306. Aufgrund der Verteilung
von Speicherspalten 102 (wie in 1 gezeigt)
unter Logikschaltungen 104 sind die Wortleitungen 306 länger als
typische Wortleitungen, um alle Speicherspalten 102 zum
Aktivieren des adressierten Wortes zu überspannen. Wortleitungen 306 sind
für Rauschkopplung
nicht besonders empfindlich, da die Spannungspegel auf Wortleitungen 306 von
Schiene zu Schiene pendeln. Wortleitungen 306 benötigen jedoch,
je nach ihrer Länge
auf der Basis der beabsichtigten Anwendung, möglicherweise einen größeren Treiber
zum Ausgleichen zusätzlicher
Kapazität
in Verbindung mit der Länge
von Wortleitungen 306.
-
Reihentreiber 308 können so
ausgelegt werden, dass sie die zusätzliche Kapazität aufgrund
der Länge
von entsprechenden Wortleitungen 306 kompensieren. 4 zeigt z.B.
einen Reihentreiber 400 gemäß einer Ausgestaltung der vorliegenden
Erfindung, der ein Ausführungsbeispiel
für einen
der Reihentreiber 308 ist. Der Reihentreiber 400 hat
einen p-Kanal-Transistor 402 und einen n-Kanal-Transistor 404,
die zu einer Inverterstufe gekoppelt sind. Durch Einstellen der
Größe des Transistors 402 wird
eine Anstiegszeit an der Wortleitung bestimmt.
-
So
nimmt z.B. mit zunehmender Größe des Transistors
402 die
Ansteuerungsfähigkeit
des Reihentreibers
400 zu und die Anstiegszeit des Spannungspegels
auf der assoziierten Wortleitung ab. Ebenso kann, für eine kürzere Wortleitung,
der Transistor
402 relativ verkleinert werden, um eine
gewünschte
Spannungspegelanstiegszeit zu halten oder zu erzielen. Weitere Einzelheiten über Treiberdesign
und Speicherschaltkomplex befinden sich in der am 3. April 2003
eingereichten
US-Patentanmeldung
Nr. 10/406,526 (
US
2004 196686 ) mit dem Titel „Static Random Access Memory
(SRAM) Without Precharge Circuitry". (Eine Kopie der
US 10/406,526 wurde mit der vorliegenden
europäischen
Anmeldung eingereicht).
-
5 zeigt
eine Lese-/Schreib-(R/W)-Schaltung 500 gemäß einer
Ausgestaltung der vorliegenden Erfindung. Die R/W-Schaltung 500 ist
ein Beispiel für
eine Schaltungsausführung
für R/W-Schaltungen 106 von 1 und
bietet Lese- und Schreibfunktionen über ein Paar Bitleitungen 540, 542,
die durch eine entsprechende Spalte von Speicherzellen im Speicher 102 verlaufen.
Wenn z.B. jeder Speicher 102 (d.h. jeder in 1 mit
R beschriftete Bereich) eine Gruppe von mit einer Breite von zwei
und einer Höhe
von vier angeordneten Speicherzellen repräsentiert (d.h. zwei Spalten
und vier Reihen von Speicherzellen 200 von 2),
dann wurden vier R/W-Schaltungen 500 für jede R/W-Schaltung 106 benötigt (d.h.
für jeden
der in 1 mit W beschrifteten Bereiche), um Lese/Schreib-Fähigkeit
für die
vier Sätze
von Bitleitungen (d.h. zwei Spalten von Speicherzellen, jede Spalte
mit zwei Ports) bereitzustellen.
-
Die
R/W-Schaltung 500 empfangt Signale auf einer Datenleitung 502 (din),
einer Write-Enable-Leitung 504 (we) und einer Adressleitung 544 (addr)
und legt ein Ausgangssignal (Data) an eine Ausgangsdatenleitung 538 (dout)
an. Die Datenleitung 502 führt auf Speicher zu schreibende
Daten, gesteuert von einem Signal auf der Write-Enable-Leitung 504. Inverter 506, 510 und 514 sowie NAND-Gatter 508 und 512 ermitteln,
ob ein Schreibvorgang erfolgen soll (auf der Basis eines Signalwertes
auf der Write-Enable-Leitung 504) und legen das richtige
Signal (auf der Basis eines Signalpegels auf der Datenleitung 502)
an die Bitleitungen 540, 542 über die Transistoren 516 und 518 und
die Transistoren 520 und 522 an, die jeweilige
Inverter zum Anlegen des Signals an entsprechende Bitleitungen 540, 542 bilden.
-
Die
Adressleitung 544 überträgt ein Adresssignal über Inverter 546 und 548 zu
Adressleitungen 552 und 554 (jeweils mit s0 und
s0n beschriftet), wobei die Adressleitung 554 einen Inverter 550 zum
Bilden des Komplements des Adresssignals verwendet. Das Adresssignal
auf den Adressleitungen 552, 554 (jeweils echtes
und komplementäres
Adresssignal) steuern von Transistoren 528 und 530 sowie
Transistoren 532 und 534 gebildete Übertragungsgatter,
die ermitteln, ob die R/W-Schaltung 500 Zugang zu den Bitleitungen 540 und 542 (echte
und komplementäre Bitleitungen,
jeweils mit bitx und bitxn beschriftet) für eine Lese- oder eine Schreiboperation
hat. Zum Beispiel, die Bitleitungen 540 und 542 können jeweils
die Bitleitungen 204 und 206 repräsentieren
(oder damit gekoppelt sein), wie mit Bezug auf 2 erörtert wurde.
-
Wie
oben erörtert,
ergibt die Nutzung des Bereichs über
(oder unter) den verteilten Speicherspalten (d.h. Speicherspalten 102 in 1)
für die
Verbindungsstruktur eine bessere Auslastung der Logikschaltungen 104.
Zum Beispiel, kurz mit Bezug auf 7, diese
zeigt ein Blockdiagramm einer Querschnittsseitenansicht eines beispielhaften
physikalischen Schaltungslayouts 700 gemäß einer
Ausgestaltung der vorliegenden Erfindung.
-
Das
Schaltungslayout 700 hat eine Spalte von RAM-Zellen, die
sich in einem Bereich links und unter einer gestrichelten Linie 702 befinden,
und eine Spalte von RAM-Zellen, die sich in einem Bereich rechts
und unter einer gestrichelten Linie 704 befinden. Ein Abschnitt
der Logik 706 befindet sich zwischen und über den
gestrichelten Linien 702 und 704. Eine Metallschicht 1 und
eine Metallschicht 2, die über der Logik 706 liegen,
können
beispielsweise zum Bilden von Logikzellen, z.B. NAND-Gatter und Flipflops
(z.B. auf der Gate-Array-Basis der Logiktransistoren) verwendet
werden.
-
Die
Metallschicht 1 und die Metallschicht 2 über den
RAM-Zellen (mit gestrichelten Linien 702 und 704 angedeutet)
verbinden mehrere RAM-Zellen. So wird beispielsweise Metallschicht 1 für Wortleitungen
und Metallschicht 2 für
Bitleitungen verwendet. Die Wortleitungen der Metallschicht 1 verbinden
mehrere Spalten von RAM-Zellen
miteinander (sie verbinden z.B. RAM-Zellenspalten innerhalb der gestrichelten Linien 702 und 704),
indem sie durch die Logikzellen in Verbindung mit der Logik 706 laufen,
sie aber nicht verbinden.
-
So
sind beispielsweise die Wortleitungen der Metallschicht 1 gebogen
oder durch die Logikzellen verlegt, so dass es fälschlicherweise so aussieht,
als sei die Metallschicht 1 innerhalb der gestrichelten
Linie 702 mit der Metallschicht 1 innerhalb der
gestrichelten Linie 704 unverbunden. Die Bitleitungen der Metallschicht 2 laufen
lotrecht zu den Wortleitungen der Metallschicht 1 und verbinden
mehrere RAM-Zellen innerhalb der Spalte (ohne Logik dazwischen).
-
Alle
zum Aufbauen der RAM-Zellen nötigen Verbindungen
können
auf den Gate-Array-Basisschichten unter Verwendung der Metallschicht 1 und der
Metallschicht 2 realisiert werden. Demzufolge sind kundenspezifisch
ausgeführte
Metallschichten (d.h. Metallschichten 3 bis 5)
verfügbar,
z.B. um die Logik 706 oder Logikzellen in Verbindung mit
der Logik 706 zu verbinden. So kann z.B. die Metallschicht 3 zum
Verteilen von Logikverbindungen über
die RAM-Zellen (innerhalb der gestrichelten Linien 702 und 704)
verwendet werden, um Zugang für
Logikzellen oder Logik 706 zu mehr Verbindungspunkten in Verbindung
mit der Metallschicht 4 bereitzustellen und die verfügbare Verdrahtung
zur Verbindungslogik 706 effektiv zu vergrößern. Es
ist z.B. zu verstehen, dass das Schaltungslayout 700 repliziert
werden kann, jeweils Seite an Seite zueinander liegend, um ein Wiederholungsmuster
von RAM-Spalte, Logikspalte, RAM-Spalte,
Logikspalte, RAM-Spalte usw., wie in 1 illustriert,
zu bilden.
-
Gemäß den 1 und 7 kann
es zu einer zusätzlichen
kapazitiven Kopplung zwischen dem Speicher 102 und der
Verbindungsstruktur (z.B. Verbindungsleitungen) kommen. Ein herkömmlicher gerasteter
Leseverstärker
zum Lesen von Daten vom Speicher 102 wäre für diese Rauschkopplung empfindlicher,
weil die Möglichkeit
besteht, dass Rauschkopplung zur selben Zeit wie das Lesen des Datenwertes
auftritt, was zu einer Verfälschung
der gelesenen Daten führen
könnte.
-
Mit
Bezug auf 5 und gemäß einer Ausgestaltung der vorliegenden
Erfindung, wird kein gerasteter Leseverstärker verwendet. Stattdessen
wird das entsprechende Adresssignal an Adressleitungen 552, 554 angelegt,
um eine Leseoperation von Bitleitungen 540, 542 ohne
Zwischenspeicherung der Daten zu ermöglichen. Speziell, ein Datensignal
auf der Bitleitung 540 geht durch die Transistoren 528 und 530,
die ein Übertragungsgatter
bilden, und wird dann von einer Pufferschaltung 536 gepuffert
und auf der Ausgangsdatenleitung 538 ausgesendet. Die Pufferschaltung 536 repräsentiert
einen Puffer wie z.B. einen Inverter oder ein seriengeschaltetes
Inverterpaar (z.B. als Inverter 546 und 548 konfiguriert), um
den Datenwert auf der Bitleitung 540 zu empfangen und auf
die Ausgangsdatenleitung 538 zu setzen.
-
Die
Transistoren 524 und 526 dienen zum Entzerren
und/oder Verkürzen
einer Anstiegs-/Abfallzeit von Signalpegeln auf den Bitleitungen 540 und 542.
Speziell, ein Datensignal auf der Bitleitung 540 und sein
Komplement auf der Bitleitung 542 steuern jeweils die Transistoren 524 und 526.
Wenn z.B. das Datensignal ein hoher Logikwert auf der Bitleitung 540 ist,
dann wird der Transistor 524 abgeschaltet, während der
Transistor 526, der ein Komplement des Datensignals (d.h.
einen tiefen Logikwert) von der Bitleitung 542 empfangt,
einzuschalten beginnt, während
die Datensignalwerte auf den Bitleitungen 540, 542 auf
ihren endgültigen
(geladenen) Wert überzugehen
beginnen. Der Transistor 526 hilft somit der Bitleitung 540 beim
Laden auf einen hohen Logikwert und versorgt eine Pufferschaltung 536 mit
dem richtigen Signalwert.
-
Wenn
das Datensignal z.B. ein tiefer Logikwert auf der Bitleitung 540 ist,
dann beginnt der Transistor 524 einzuschalten, während der
Transistor 526 auszuschalten beginnt. Wenn der Transistor 524 einschaltet,
dann hilft der Transistor 524 der Bitleitung 542 beim Ausschalten
des Transistors 526, ebenso hilft der Transistor 526,
wenn der Transistor 526 einschaltet, der Bitleitung 540 beim
Ausschalten des Transistors 524. Demzufolge wird die Anstiegs-/Abfallzeit
auf den Bitleitungen 540, 542 durch die Transistoren 524, 526 entzerrt
und die Zeit, bis die Pufferschaltung 536 den endgültigen Wert
von der Bitleitung 540 empfängt, wird verkürzt.
-
Der
Betrieb der R/W-Schaltung 500 kann als eine Differentialschreiboperation
(mit den Bitleitungen 540, 542) und eine einendige
Leseoperation (mit der Bitleitung 540 zum Ermitteln eines
gespeicherten Datenwertes) angesehen werden. Auch wenn eine Rauschkopplung
einen momentanen Fehler im Datenausgangssignal während eines Lesevorgangs verursachen
könnte,
wird schließlich
der richtige Datenwert als Ausgangssignal erzeugt, wenn die Bitleitungen
ihre Endwerte erreichen. Die Lesezugriffszeit kann relativ zu einigen
konventionellen Speicherschaltungen langer sein, weil die Bitleitungen
vor einer Leseoperation nicht vorgeladen werden und ein assoziierter
Leseverstärker
kein positives Feedback zum Lesen und Zwischenspeichern der Daten
hat. Das resultierende Potential für eine höhere Logikauslastung und bessere Verknüpfungsfähigkeit
bietet jedoch erhebliche Vorteile für Designimplementation und
integrierte Schaltungseffizienzen.
-
Die
oben beschriebenen Ausgestaltungen illustrieren die Erfindung, begrenzen
sie aber nicht. Es ist auch zu verstehen, dass zahlreiche Modifikationen
und Variationen gemäß den Grundsätzen der vorliegenden
Erfindung möglich
sind.