DE69814590T2 - Leistungsfreier hochgeschwindigkeitskonfigurationsspeicher - Google Patents

Leistungsfreier hochgeschwindigkeitskonfigurationsspeicher Download PDF

Info

Publication number
DE69814590T2
DE69814590T2 DE69814590T DE69814590T DE69814590T2 DE 69814590 T2 DE69814590 T2 DE 69814590T2 DE 69814590 T DE69814590 T DE 69814590T DE 69814590 T DE69814590 T DE 69814590T DE 69814590 T2 DE69814590 T2 DE 69814590T2
Authority
DE
Germany
Prior art keywords
data
memory
read
bit
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69814590T
Other languages
English (en)
Other versions
DE69814590D1 (de
Inventor
Saroj Pathak
A. Glen ROSENDALE
E. James PAYNE
Nianglamching Hangzo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Application granted granted Critical
Publication of DE69814590D1 publication Critical patent/DE69814590D1/de
Publication of DE69814590T2 publication Critical patent/DE69814590T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft Halbleiterspeicherbauelemente und insbesondere serielle Konfigurationsspeicher.
  • STAND DER TECHNIK
  • Serielle Konfigurationsspeicher sind Bauelemente, die zum Initialisieren von programmierbaren Logikbauelementen, wie z. B. anwenderprogrammierbaren Verknüpfungsfeldern (FPGAs), verwendet werden. Wenn ein Bauelement wie z. B. ein FPGA eingeschaltet wird, muss jeder seiner Logikblöcke für eine spezielle Logikoperation konfiguriert werden und seine programmierbaren Verbindungen müssen konfiguriert werden, um eine Leitwegführung unter den Logikblöcken vorzusehen, um die vorgesehene Logikfunktion zu implementieren. Die Konfigurationsinformation nimmt die Form eines Bitstroms an, der in das FPGA führt und im Bauelement gespeichert wird, wobei die Bits eine Logik und Leitwegführung der FPGA-Elemente definieren.
  • Ein serieller Konfigurationsspeicher ist das Bauelement, das den Konfigurationsbitstrom enthält. Ein serieller Konfigurationsspeicher besteht aus einer Speichermatrix wie z. B. einem PROM (programmierbarer Festwertspeicher) oder EEPROM (elektrisch löschbarer, programmierbarer Festwertspeicher), einem Adressenzähler und einer Unterstützungslogik zum Vorsehen einer Programmierungs- und Rücksetzsteuerung. Der Adressenzähler ist an eine Takteingangsleitung angeschlossen und wird bei jeder steigenden oder fallenden Flanke eines Taktsignals inkrementiert. Der Zählerausgang dient zum Adressieren jedes Bits der Speichermatrix, was einen Bitstrom erzeugt, der seriell an ein FPGA ausgegeben wird.
  • Viele von heutigen persönlichen elektronischen Geräten werden durch eine unabhängige Quelle, nämlich eine Batterie, gespeist und somit besteht immer eine Sorge über das Sparen von Leistung, wo immer es möglich ist. Der Wunsch, den Leistungsverbrauch zu minimieren, durchdringt jeden Aspekt des Entwurfs dieser Geräte. FPGAs finden in vielen solchen Geräten Anwendung, einschließlich Laptopcomputern, Notizbuchcomputern und Mobiltelefonen. Konfigurationsspeicher stellen daher eine Gelegenheit dar, wo Verbesserungen vorgenommen werden können, um den Leistungsverbrauch zu minimieren.
  • Ein Aspekt von modernen FPGAs ist ihre Fähigkeit, im System umkonfiguriert zu werden. Somit kann die Funktionalität eines FPGA dynamisch verändert werden, während das System arbeitet. Diese Fähigkeit stellt einen hohen Grad an Flexibilität für das System bereit, um seinen Betrieb als Reaktion auf externe Bedingungen anzupassen. In einem als digitales Filter konfigurierten FPGA können seine Filterparameter beispielsweise einfach durch Einladen eines anderen Satzes von Filterkoeffizienten, wenn der Bedarf dafür erkannt wird, verändert werden. Die Umkonfiguration eines FPGA in Echtzeit erfordert jedoch die Fähigkeit, einen neuen Konfigurationsbitstrom herunterzuladen, ohne eine Verzögerung aufzuerlegen, die sich auf die Systemfunktionalität schädlich auswirken würde. Somit ist der Hochgeschwindigkeitsbetrieb ein weiteres Gebiet für eine Verbesserung an Konfigurationsspeicherbauelementen.
  • Konfigurationsspeicher des Standes der Technik geben ihren gesamten Inhalt in Form eines Bitstroms beginnend mit der ersten Speicherstelle aus. Die Umkonfiguration eines FPGA im System erfordert jedoch einen Zugriff auf irgendeinen von einer Anzahl von Konfigurationsbitströmen, die in einem Konfigurationsspeicher enthalten sein könnten, wobei jeder Bitstrom seine eigene Anfangsadresse innerhalb des Speichers hat. Es ist daher ein Wunsch, einen Konfigurationsspeicher bereitzustellen, bei dem eine willkürliche Anfangsadresse festgelegt werden kann. Allgemeiner ist es wünschenswert, die Fähigkeit zu haben, das Speicherbauelement willkürlich zu adressieren.
  • Der Speicher mit zwei Anschlüssen von US 5 042 014 umfasst Leseverstärker und Transfergates zum Lesen von Daten aus Speicherzellen. Die Daten werden zu einem Datenregister übertragen, aus dem sie wieder zu einem Zwischenspeicher übertragen werden, nur wenn Durchgangstransistoren in einen Durchlaflzustand gesetzt sind. Der Zwischenspeicher überträgt ein zwischengespeichertes Datenelement zu einem Multiplexer zur Parallel/Seriell-Datenumwandlung unter den auf mehreren Steuerleitungen eingegebenen Steuersignalen. Die Steuersignale müssen separat in einem LSB-Decodierer erzeugt werden, der selbst ein Taktsignal empfängt.
  • EP 0 383 080 offenbart einen Speicher mit Leseverstärkern, die eine verringerte Lesezeit aufweisen, und dadurch wird der Leistungsverbrauch verringert. Eine Scheinbitleitung, eine Scheinleseschaltung und eine Scheinzelle sind vorgesehen, um eine Potentialänderung auf einen vorbestimmten Wert zu lesen. Dann wird der Leseverstärkerbetrieb aktiviert, um das gelesene Signal zu erfassen.
  • US 4 330 852 , die die Basis für den Oberbegriff von Anspruch 1 bildet, offenbart eine Halbleiter-Lese/Schreib-Speichermatrix mit einem seriellen Eingabe/Ausgabe-System. Unter der Steuerung eines Übertragungssignals werden Daten, die von Leseverstärkern ausgelesen werden, zu symmetrisch angeordneten Transfergates übertragen, die zwei parallele Schieberegisterstufen darstellen. Aus den zwei Schieberegisterstufen werden die Daten bitweise abwechselnd und seriell an eine serielle Ausgangsleitung ausgegeben. Mehrere Taktimpulse sind erforderlich, bis ein nächstes Datenelement zur seriellen Ausgabe zur Verfügung steht.
  • Es ist die Aufgabe der Erfindung, ein Speicherzellenbauelement und ein Verfahren zum Ausgeben von Daten aus einem Speicherzellenbauelement bereitzustellen, die einen kontinuierlichen Ausgangsstrom von seriellen Daten mit hoher Rate unter Verwendung einer vereinfachten Ausgabeschaltung ermöglichen.
  • Die Erfindung ist in den Ansprüchen 1 bzw. 13 definiert.
  • Spezielle Ausführungsbeispiele sind in den abhängigen Ansprüchen dargelegt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Das Konfigurationsspeicherbauelement der vorliegenden Erfindung umfasst eine Speichermatrix, die als N-Bit-Daten, typischerweise Bytes aus acht Bits oder Worte aus sechzehn Bits, organisiert ist. Ein externes Taktsignal führt in eine Division-Durch-N-Schaltung, um einen Auslöser zum Einleiten eines Speicherzugriffs und zum Lesen des Inhalts einer Speicherstelle, auf die zugegriffen wird, bereitzustellen. Eine Leseschaltung sorgt für paralleles Lesen der N Bits der Speicherstelle, auf die zugegriffen wird. Im bevorzugten Ausführungsbeispiel umfasst die Leseschaltung N Leseverstärker, einen für jedes gelesene Bit.
  • Die Leseschaltung wird aktiviert, wenn auf eine Speicherstelle zugegriffen wird. Die Leseschaltung bleibt für die Zeit, die es dauert, eine Speicheradresse zu decodieren und die N Bits in der adressierten Speicherstelle zu lesen, aktiviert. Da die Leseschaltung alle N Bits auf einmal verarbeitet, basiert die Lesezeit auf der Geschwindigkeit von einem Leseverstärker. Die Leseschaltung umfasst einen Zwischenspeicher, um die gelesenen Daten während des Zeitraums, zwischen dem die Leseverstärker deaktiviert werden und die Daten in die Datenregister geladen werden, zu halten.
  • Die Leseschaltung ist mit einem Datenregister gekoppelt, das die gelesenen Bits empfängt. Die Bits werden dann synchron mit einem externen Takt seriell herausgeschoben. Gemäß der Erfindung werden die gelesenen Bits in das Datenregister geladen, wenn das letzte Bit eines vorher gespeicherten Datenelements aus dem Datenregister herausgeschoben wird. Folglich ist das erste Bit des gelesenen Datenelements beim nächsten Takt zum Herausschieben bereit. Unterdessen wird auf die nächste Speicherstelle zugegriffen und ihre Bits werden gelesen. Dies führt zur kontinuierlichen Ausgabe eines Stroms von Bits mit einer Rate gleich der Frequenz des externen Takts. Bedeutender koppelt diese Methode die Operation der Leseschaltung, die gewöhnlich langsamer ist als die Taktgeschwindigkeit, vom Vorgang der Erzeugung des ausgegebenen Bitstroms ab.
  • Das Bauelement umfasst ferner ein Mittel zum Vorladen des Datenregisters mit einem ersten Datenelement aus dem Speicher während der Einschaltsequenz. Dies initialisiert das Datenregister, so dass Daten zum Herausschieben vorhanden sind, während auf das nächste Datenelement zugegriffen und dieses gelesen wird. Im bevorzugten Ausführungsbeispiel wird ein Cache-Register mit einem Datenelement aus dem Speicher während des Einschaltzyklus geladen und von dort werden die Daten anschließend in das Datenregister geladen.
  • In einem bevorzugten Ausführungsbeispiel der Erfindung ist ein Adressenzähler mit der Division-Durch-N-Schaltung gekoppelt, um bei jedem N-ten Takt eine Adresse zu liefern. Der Adressenzähler führt in einen Decodierer, um auf den Speicher Zugriff zu erlangen, wobei somit ein sequentieller Zugriff auf den Speicher bereitgestellt wird. In einer Variation des bevorzugten Ausführungsbeispiels ist ein Mittel zum Initialisieren des Adressenzählers eingeschlossen, so dass das Lesen der Speichermatrix irgendwo in der Matrix beginnen kann. Dieses Merkmal ermöglicht das Auslesen des Bitstroms beginnend von einer beliebigen Stelle in der Speichermatrix. In noch einer weiteren Variation ist der Adressenzähler gegen ein Mittel zum Empfangen von extern gelieferten Adressen ausgetauscht. Dies ermöglicht, dass eine externe Vorrichtung einen Bitstrom erzeugt, der aus einer willkürliche Folge von Speicherstellen besteht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Systemblockdiagramm des erfindungsgemäßen Speicherbauelements.
  • 2A2C und 3 stellen das Datencacheschema der Erfindung dar.
  • 4 ist ein Blockdiagramm, das die Speichermatrix der vorliegenden Erfindung zeigt.
  • 5 ist ein Diagramm eines erfindungsgemäßen Leseverstärkers.
  • 6 ist ein Ablaufdiagramm, das die Operation des Leseverstärkers der vorliegenden Erfindung zeigt.
  • 7 stellt eine Verzögerungsschaltung dar, die in Verbindung mit den Leseverstärkern verwendet wird.
  • 8 ist ein Ablaufdiagramm der hauptsächlichen Signale, die an der Operation der Erfindung teilnehmen.
  • BESTE ART ZUR AUSFÜHRUNG DER ERFINDUNG
  • Mit Bezug auf 1 umfasst ein erfindungsgemäßes serielles Konfigurationsspeicherbauelement 100 eine Speichermatrix 20, die typischerweise in eine Matrix von Bytes aus acht Bits organisiert ist. Alternative Datengrößen für die Matrix können statt dessen verwendet werden, z. B. Worte aus sechzehn Bits. Im Allgemeinen ist die vorliegende Erfindung in der Lage, mit N-Bit-Datengrößen zu arbeiten, wobei N vorzugsweise eine Potenz von 2 ist.
  • Ein Adressenzähler 40 führt in die Speichermatrix 20, der einen Decodierer zum Decodieren der Adresse einer Speicherstelle umfasst. Der Adressenzähler 40 wird durch das Ausgangssignal einer Division-Durch-Acht- (÷8) Schaltung 60 getaktet. Die ÷8-Schaltung wird durch ein extern geliefertes Taktsignal angesteuert, um bei jedem achten Zyklus eines EXTERNEN TAKTS einen Impuls zu liefern. 1 zeigt eine Serie von Taktimpulsen, die vom EXTERNEN TAKT geliefert werden, und die durch die ÷8-Schaltung erzeugten resultierenden Impulse. Somit führt ein Strom von Adressen in die Speichermatrix 20 mit einer Rate von einer Adresse bei jedem achten Takt. Wiederum ist im allgemeinen Fall die Schaltung eine Division-Durch-N-Schaltung für N- Bit-Datengrößen, wobei bei jedem N-ten Takt eine Adresse erzeugt wird. Ein Schreibsteuermodul 32, das auch durch die 8-Schaltung angesteuert wird, stellt eine Signalisierung für die Speichermatrix für Lese- und Schreiboperationen bereit. Außerdem signalisiert das Schreibsteuermodul einer Datenregister-Steuereinheit 36, Daten, die aus der Matrix 20 ausgelesen werden, in einem Datenregister 42 zwischenzuspeichern.
  • Die Speichermatrix 20 gibt die acht Bits eines Bytes, auf das zugegriffen wird, an das Datenregister 42 über einen parallelen Acht-Bit-Datenweg 21 aus. Wie vorstehend erwähnt, bearbeitet die Datenregister-Steuereinheit 36 das Datenregister zum parallelen Laden eines Bytes (oder eines N-Bit-Datenelements), das aus dem Speicher 20 ausgelesen wird, in das Datenregister 42; und zum seriellen Verschieben seiner acht Bits aus der SERIELLEN DATENAUSGANGS-Leitung, wobei der Inhalt des Speichers 20 als Strom von Bits ausgegeben wird. Die SERIELLE DATENAUSGANGS-Leitung führt in einen seriellen Datenpuffer 50, der den Bitstrom in ein externes Bauelement, z. B. FPGA (nicht dargestellt), bringt. Der serielle Datenpuffer 50 empfängt auch in die Speichermatrix 20 zu schreibende Daten, um eine Programmierung des Konfigurationsspeicherbauelements zu bewirken. Das Schreibsteuermodul 32 und die Datenregister-Steuereinheit 36 bearbeiten zusammen das Datenregister 42, um Daten vom SERIELLEN DATENEINGANG seriell hineinzuschieben und die eingeschobenen Daten parallel in den Speicher 20 zu schreiben.
  • Das Konfigurationsspeicherbauelement der vorliegenden Erfindung umfasst ferner ein Cache-Register 44, das zum Empfangen eines Datenbytes während der Einschaltsequenz und zum Laden eines vorher im Cache-Register 44 gespeicherten Bytes in das Datenregister 42 während einer Rücksetzsequenz gekoppelt ist. Eine Cache-Register-Steuereinheit 34 steuert das Cache-Register, um diese Operationen durchzuführen, wie nachstehend erläutert wird.
  • Mit Bezug auf 2A umfassen das Datenregister 42 und das Cache-Register 44 eine Reihe von Ein-Bit-Stufen 45. Jede Stufe 45 umfasst ein Ein-Bit-Register 42n und einen Ein-Bit-Cache-Zwischenspeicher 44n. Der Cache-Zwischenspeicher 44n empfängt sein Eingangssignal von einem Ausgang des Registers 42n. Ein Steuersignal CACHE LADEN aktiviert den Cache-Zwischenspeicher, um die Daten zu speichern, die an seiner Eingangsleitung erscheinen. Das Ausgangssignal des Cache-Zwischenspeichers führt in einen Eingang des Schalters 43. 2B zeigt eine typische Schaltung für den Cache-Zwischenspeicher 44n mit einem Zwischenspeicher-Schaltungszugang, der durch ein vom Signal CACHE LADEN gesteuertes Übertragungsgatter torgesteuert wird.
  • Das Register 42n empfängt ein Eingangssignal vom Schalter 41 und Schalter 43 und umfasst einen VORGABE-Steuereingang. Der Schalter 41 empfängt Daten von der DATENLEITUNG 21n und vom SERIELLEN DATENEINGANG und wird durch die SER/PAR-Steuerleitung geschaltet. Der Ausgang des Schalters 41 führt in den DATENEINGANG des Registers 42n. Der Schalter 43 empfängt Daten vom Lache-Zwischenspeicher 44n und von der DATENLEITUNG 21n und wird durch die Steuerleitung CACHE LESEN geschaltet. Der Ausgang des Schalters 43 führt in den VORGABEEINGANG des Registers 42n. Das Register 42n wird durch den EXTERNEN TAKT (nicht dargestellt) getaktet. Der Ausgang des Registers 42n speist eine Leitung SERIELLER DATENAUSGANG und führt, wie vorstehend angegeben, in den Lache-Zwischenspeicher 44n. Außerdem wird das Ausgangssignal des Registers 42n über den Durchgangstransistor 48, der durch die WRT/RD-Steuerleitung gesteuert wird, zur DATENLEITUNG 21n zurückgeführt.
  • Der VORGABE-Steuereingang wird durch das Ausgangssignal des ODER-Gatters 46 angesteuert, das ein Signal STIFTRÜCKSETZUNG und ein Signal CACHE LADEN empfängt, die beide von der Cache-Steuereinheit 34 stammen. Die VORGABE-Steuerung bewirkt, dass das Register 42n Daten vielmehr vom Eingang VORGABEEINGANG als vom Eingang DATENEINGANG zwischenspeichert. Zusätzlich zum Zwischenspeichern im Register 42n leitet die VORGABE-Steuerung das Eingangssignal VORGABEEINGANG direkt an den Ausgang des Registers weiter. Der Grund für dieses Verhalten wird in der nachstehenden Erläuterung ersichtlich. Eine typische Schaltung für das Register 42n ist in 2C dargestellt.
  • Das Datenregister 42 und das Cache-Register 44 (1) werden durch das Zusammenkoppeln von acht der Ein-Bit-Stufen 45 in der in 3 gezeigten Weise zusammengefasst. Das Datenregister 42 wird beispielsweise durch Koppeln des SERIELLEN DATENAUSGANGS von einem Register 42n mit dem SERIELLEN DATENEINGANG des nachfolgenden Registers aufgebaut. Der Acht-Bit-Datenweg 21 von der Speichermatrix 20 (1) umfasst die DATENLEITUNG 21n der Stufen 45. Der SERIELLE DATENAUSGANG (1) des Datenregisters 42 zweigt von der SERIELLEN DATENAUSGANGS-Leitung der Stufe, die das niedrigstwertige Bit hält, ab, während der SERIELLE DATENEINGANG des Datenregisters der SERIELLE EINGANG der Stufe, die das höchstwertige Bit enthält, ist. Alle Steuerleitungen sind für jede der Stufen gemeinsam.
  • Das Datenregister 42 und das Cache-Register 44 erfüllen zusammen vier grundlegende Aufgaben: das Datenregister nimmt Daten in paralleler Weise von einer Speicherstelle an, auf die zugegriffen wird; im Datenregister gespeicherte Daten werden seriell auf der SERIELLEN AUSGANGS-Leitung herausgeschoben; in der Speichermatrix 20 zu speichernde Daten werden seriell von der SERIELLEN EINGANGS-Leitung eingeschoben; und Daten werden in paralleler Weise an acht Dateneingangspuffer (nicht dargestellt) in der Speichermatrix 20 übergeben, wenn in eine Speicherstelle geschrieben wird.
  • Aufgabe 1: Das Laden von Daten von einer Speicherstelle, auf die zugegriffen wird, beinhaltet eine parallele Leseoperation. Diese wird durch Aktvieren der Steuerleitungen WRT/RD und SER/PAR von jeder der Ein-Bit-Stufen 45, die das Datenregister 42 bilden, auf LO durchgeführt. Ein LO auf WR/RD sperrt einen Durchgangstransistor 48, so dass das Ausgangssignal aus dem Speicher 20 über die DATENLEITUNG 21n in den Schalter 41 und 43 führt. Ein LO auf SER/PAR schaltet auch die DATENLEITUNG 21n zum DATENEINGANG des Registers 42n. Die Leitungen STIFTRÜCKSETZUNG und CACHE LADEN sind LO, so dass das Register seine Daten vielmehr vom DATENEINGANG als vom VORGABEEINGANG taktet.
  • Aufgabe 2: Das serielle Verschieben von im Datenregister 42 enthaltenen Daten wird durch Aktivieren eines logischen LO auf WRT/RD und eines HI auf SER/PAR durchgeführt. WRT/RD sperrt den Durchgangstransistor 48, um den SERIELLEN DATENAUSGANG von der DATENLEITUNG 21n zu isolieren. SER/PAR schaltet den SERIELLEN DATENEINGANG von einem vorangehenden Register 42n, so dass jedes Ticken des EXTERNEN TAKTS eine Verschiebungsfortpflanzung der Daten von einem Register 42n zum nächsten bewirkt.
  • Aufgabe 3: Das seriell verschobene Eingangssignal vom SERIELLEN DATENEINGANG (1) erfordert das Aktivieren eines HI auf SER/PAR, um Daten seriell in das Datenregister zu takten. WRT/RD wird auf LO aktiviert, um den Durchgangstransistor 48 zu sperren, so dass der Ausgang des Registers 42n von der DATENLEITUNG 21n isoliert wird.
  • Aufgabe 4: In das Datenregister verschobene Daten werden durch Aktivieren eines HI auf WRT/R in den Speicher 20 geschrieben. Da die zu schreibenden Daten am Ausgang jedes Registers 42n sitzen, übergibt das Durchsteuern des Durchgangstransistors 48 die Daten in paralleler Weise an die Dateneingangspuffer (nicht dargestellt) der Speichermatrix 20.
  • Während der Einschalt- (Einschaltrücksetz-) Sequenz und der extern gesteuerten Rücksetzsequenz des Speicherbauelements gehen die Operation der Daten- und Cache-Register 42, 44 in unterschiedlicher Weise vor. Unter erneuter Bezugnahme auf 2 wird während eines Einschaltrücksetz- (POR) Zyklus CACHE LESEN auf LO aktiviert und CACHE LADEN wird auf HI aktiviert. CACHE LESEN schaltet die DATENLEITUNG 21n zum VORGABEEINGANG des Registers 42n. CACHE LADEN lädt VORGABEEINGANG in das Register 42n. Wie vorstehend mit Bezug auf 2C erläutert, koppelt das Aktiveren von VORGABE den VORGABEEINGANG direkt mit dem Ausgang des Registers 42n. Im Fall, in dem CACHE LADEN auf HI aktiviert wird, wird überdies VORGABEEINGANG ebenso in den Cache-Zwischenspeicher 44n geladen (siehe 2A und 2B). Wenn ein erstes Datenbyte (gewöhnlich das in der Speicherstelle 0 enthaltene Byte) während des POR-Zyklus gelesen wird, wird es folglich auf dem Acht-Bit-Datenweg 21 (1) übergeben, der in jede DATENLEITUNG 21n führt, und wird in die Register 42n und die Lache-Zwischenspeicher 44n geladen, die das Datenregister 42 bzw. das Lache-Register 44 bilden. Diese Operation ist asynchron, und wenn CACHE LADEN auf LO schaltet, enthält das Datenregister 42 (sowie das Lache-Register) das erste Byte. Wenn der erste Takt ankommt, ist das Datenregister 42 mit einem Byte vorgeladen worden und ist bereit, das Herausschieben von Daten zu beginnen.
  • Während eines extern gesteuerten Rücksetzzyklus ist nicht genügend Zeit, um das erste Byte zu lesen und in das Datenregister 42 zu laden. Typischerweise beendet ein Rücksetzzyklus in einigen zehn Nanosekunden (z. B. 20 Nanosekunden) im Vergleich zu einem POR-Zyklus, der in der Größenordnung von Mikrosekunden zum Beenden braucht, bevor das Bauelement zum Ausgeben seines Bitstroms bereit ist.
  • Man erinnere sich jedoch, dass das Cache-Register 44 während des POR-Zyklus bereits mit dem ersten Byte vorgeladen wurde. Somit wird CACHE LESEN auf HI aktiviert, so dass der VORGABEEINGANG geschaltet wird, um das Ausgangssignal des Lache-Zwischenspeichers 44n zu empfangen. STIFTRÜCKSETZUNG (über die Lache-Steuereinheit 34) wird auf HI aktiviert, so dass das Register 42n sein Eingangssignal vielmehr vom VORGABEEINGANG als vom DATENEINGANG lädt. Anstelle des Zugriffs auf eine Speicherstelle und des Lesens des in das Datenregister 42 zu ladenden Bytes wird das erste Byte während eines Rücksetzzyklus direkt vom Lache-Register 44 geladen, eine Operation, die innerhalb der Zeit zum Beenden des Rücksetzzyklus durchgeführt werden kann. Wiederum ist dies eine asynchrone Operation, und sobald die Bedingung STIFTRÜCKSETZUNG aufgehoben wird, hält das Datenregister 42 das im Lache gespeicherte Byte und ist zum Austakten bereit.
  • Mit Bezug auf 4 ist die Speichermatrix 20 gezeigt, die eine Zellenmatrix 20' mit einer Vielzahl von programmierbaren Speicherzellen, wie z. B. eine Matrix von Bauelementen mit schwebenden Gate, umfasst. X- und Y-Decodierer 60, 62 empfangen eine Adresse und sehen die erforderliche Decodierlogik zum Zugreifen auf eine Speicherzelle innerhalb der Zellenmatrix 20' vor. Das Ausgangssignal des Y-Decodierers führt in eine Leseverstärkerschaltung 66, die eine Reihe von acht Leseverstärkern (5) umfasst, die parallel arbeiten. Gemäß der vorliegenden Erfindung speist der Y-Decodierer alle N Bits (z. B. 8 Bits) einer Speicherstelle, auf die zugegriffen wird, in paralleler Weise in die Leseverstärkerschaltung 66, wobei somit für paralleles Lesen der Bits gesorgt wird. Der Ausgang der Leseschaltung ist über die Datenleitungen 21 mit dem Datenregister 42 gekoppelt. Ein Zeitgeber 64 liefert ein Freigabesignal SREN, um die Leseschaltung durchzusteuern und zu sperren, und wird durch den ÷8-Takt angesteuert. SER/PAR speichert die ausgelesenen Daten aus den Leseverstärkern 66 im Datenregister 42.
  • 5 zeigt jeden derartigen Verstärker 200 mit Leseverstärkern 66 genauer. Transistoren T13T17 bilden eine Differenzverstärkerstufe 230. Auf der Speicherzellenseite des Differenzverstärkers 230 befindet sich ein Spannungsreferenzabschnitt 210 und eine Strom-Spannungs-Stufe mit Transistoren T1 und T2. Ebenso befindet sich auf der Referenzzellenseite eine Spannungsreferenz 220 und eine Strom-Spannungs-Stufe mit Transistoren T7 und T8. Das Ausgangssignal 231 des Differenzverstärkers (d. h. das gelesene Bit) führt durch den Durchgangstransistor 256, damit es im Zwischenspeicher 250 gespeichert wird. Der Ausgang des Zwischenspeichers ist mit der Leseverstärker-Ausgangsleitung 21n über das Übertragungsgatter 254 gekoppelt, das durch die SER/PAR-Leitung durchgesteuert wird.
  • Der Leseverstärker 200 umfasst gemäß der vorliegenden Erfindung ferner eine Leseverstärker-Freigabeschaltung 270. Die Freigabeschaltung wird durch ein Leseverstärker-Freigabesignal SAEN angesteuert, das vom Zeitgeber 64, der in 4 gezeigt ist, abgeleitet wird. Die Freigabeschaltung umfasst eine Kette von Invertern I1I4, zwischen die Paare von Verzögerungskondensatoren C1/C2 und C3/C4 eingeschoben sind. Das Ausgangssignal 271 der Freigabeschaltung 270 betätigt ein Übertragungsgatter (das aus dem Transistorpaar 252 und dem Inverter I5 besteht), welches in einer Leitung mit dem Zwischenspeicher 250 in der in 5 gezeigten Weise gekoppelt ist. Das Ausgangssignal 271 steuert auch (über den Inverter I5) das Gate des Durchgangstransistors 256 an.
  • Bezüglich der Freigabeschaltung 270 führt das SAEN-Signal direkt in den Eingang B des NICHT-UND-Gatters G1 und in den Inverter I1. Das Ausgangssignal des Inverters I1 führt in das Gate eines P-Kanal-Transistors 246 und in den Inverter 242. Der Inverter I1 steuert den Transistor 246 und den Inverter 242 gleichzeitig durch und sperrt diese. Das Ausgangssignal des Inverters I2 schaltet die N-Kanal-Transistoren T4 und T10. Das Ausgangssignal des Inverters I4 führt in den Eingang A des NICHT-UND-Gatters G1. Aufgrund der Verzögerungskondensatoren wird das am Eingang A ankommende Signal relativ zum Signal am Eingang B um ein Zeitausmaß auf der Basis der Kapazitätswerte der Verzögerungskondensatoren und in einem gewissen Grad der Verzögerung der Inverter I1I4 verzögert.
  • Die Operation des Leseverstärkers 200 wird nun mit Bezug auf 5 und den Ablaufplan von 6 beschrieben. Mit Bezug zunächst auf 5 schaltet, wenn SAEN während einer Einschaltsequenz von LO auf HI übergeht, das Signal aus dem Inverter I1 auf LO, wobei somit der Transistor 246 durchgesteuert wird, wodurch VCC zu den Transistoren T1, T6, T7 und T12 geliefert wird. Der Inverter I1 steuert auch den Transistor T17 über den Inverter 242 durch, wobei somit der Differenzverstärker 230 durch Vorsehen eines Weges zur Erdung freigegeben wird. Eine kurze Verzögerung danach schaltet das Ausgangssignal des Inverters I2 auf HI. Dies steuert die Transistoren T4 und T10 durch, wodurch die Spannungsreferenzstufen 210, 220 durchgesteuert werden. Zu diesem Zeitpunkt wurde die Einschaltsequenz für den Leseverstärker beendet. Diese Einschaltsequenz garantiert ein sauberes Überschalten des Leseverstärkers von einem ungespeisten Zustand in einen gespeisten Zustand, was jegliche instabile Zustände, die am Leseverstärkerausgang 21 auftreten könnten, vermeidet.
  • Man wende sich nun der Zeitsteuerung der Eingangssignale an den Eingängen A und B des NICHT-UND-Gatters G1 während des Einschaltens, die in 6 gezeigt ist, zu. Vor dem Zeitpunkt t0 und für eine Zeitdauer Δt nach t0 liegt das NICHT-UND-Gatter G1 auf HI, da A und B beide auf LO liegen. Der Zwischenspeicher 250 kann daher seinen Zustand dadurch, dass das Übertragungsgatter 252 durchgesteuert ist, beibehalten. Gleichzeitig wird der Zwischenspeicher 250 vom Ausgang 231 des Differenzverstärkers isoliert, da der Durchgangstransistor 256 gesperrt ist. Aufgrund der Verzögerungskondensatoren C1C4 kommt das Signal am Eingang A nach dem Signal am Eingang B an und somit bleibt das Gatter G1 bis zum Zeitpunkt t1, Δt Einheiten, nachdem SAEN auf HI schaltet, auf HI. Bei t1 schaltet das Gatter G1 auf LO, was das Übertragungsgatter 252 sperrt, wobei somit der Zwischenspeicher gelöscht und deaktiviert wird. Der Durchgangstransistor 256 wird auch durchgesteuert, wobei somit der Ausgang des Differenzverstärkers 230 mit dem Zwischenspeicher verbunden wird. Der Verzögerungsweg stellt sicher, dass der Zustand des Zwischenspeichers (und daher die vorher gelesenen Daten) gehalten werden, bis nachdem der Leseverstärker vollständig gespeist wird.
  • Weiterhin betrachte man, dass der Leseverstärker seine Abschaltsequenz beginnt, wenn SAEN von HI auf LO übergeht. Unter Rückbezug auf 5 schaltet das Ausgangssignal des Inverters I1 auf HI, was den Transistor 246 sperrt, wobei somit VCC von den Transistoren T1, T6, T7 und T12 entfernt wird. Außerdem wird der Transistor T17 (über den Inverter 242) gesperrt, wobei somit der Differenzverstärker 230 deaktiviert wird. Das Ausgangssignal des Inverters I2 schaltet als nächstes auf LO, was die Transistoren T4 und T10 sperrt, wodurch die Spannungsreferenzstufen 210, 220 abgeschaltet werden. Zu diesem Zeitpunkt ist die Abschaltsequenz für den Leseverstärker beendet.
  • Mit Bezug auf 6 folgt zum Zeitpunkt t2 das Signal am B-Eingang, das direkt mit dem NICHT-UND-Gatter G1 gekoppelt ist, SAEN ohne Verzögerung. Dies bewirkt, dass G1 auf HI übergeht, sobald SAEN auf LO schaltet. Das Differenzverstärker-Ausgangssignal 231 wird dadurch, dass das Übertragungsgatter durchsteuert, im Zwischenspeicher 250 zwischengespeichert. Gleichzeitig wird der Durchgangstransistor 256 gesperrt, so dass der Zwischenspeicher 250 vom Rest der Leseverstärkerschaltung isoliert wird, wenn sie wie vorstehend beschrieben abgeschaltet wird. Somit werden die gelesenen Daten gespeichert, bevor das Abschalten des Leseverstärkers beendet ist. Durch das Abkoppeln des Leseverstärkerausgangs 231 vom Zwischenspeicher zerstören außerdem irgendwelche instabilen Zustände, die während der Abschaltsequenz auftreten könnten, den Zustand des Zwischenspeichers nicht.
  • Man nehme nun auf 7 für ein zusätzliches Detail der Zeitgeberschaltung 64, die in 4 gezeigt ist, Bezug. Das SAEN-Signal geht als Ausgangssignal des NICHT-ODER-Gatters 303 von der in 7 gezeigten Schaltung aus. Das NICHT-UND-Gatter 301 aktiviert die Zeitgeberschaltung, wenn das Freigabesignal EN auf HI schaltet. Ein eingehendes ÷8-Taktsignal, das am NICHT-UND-Gatter 301 empfangen wird, wird durch eine Decodiererverzögerungsschaltung 302 für eine Zeit Δta verzögert. Die Decodiererverzögerung 302 sieht eine Zeitverzögerung vor, die ausreicht, um das Inkrementieren des Adressenregisters 40 (1) zu ermöglichen, und damit die Adressendecodierer 60, 62 ( 4) auf eine Speicherstelle zugreifen, bevor tatsächlich die Leseverstärker 200 aktiviert werden. Eine Inverterkette 306 stellt eine minimale Verzögerung sicher, um das Inkrementieren und Decodieren der nächsten Adresse zu ermöglichen, indem die Vorspannung des Durchgangstransistors 310 verzögert wird, und zwar in einer Situation, in der die Impulsbreite des ÷8-Takts zu kurz ist.
  • Nach einer Verzögerung Δta bewirkt der ÷8-Takt, dass das Ausgangssignal (SAEN) des NICHT-ODER-Gatters 303 auf HI schaltet, wobei somit die Leseverstärker 200 durchgesteuert werden. Eine Leseverzögerungsschaltung 304 verzögert den 8-Takt, um sicherzustellen, dass der SAEN-Impuls für eine Zeitdauer Δts aktiviert bleibt, die ausreicht, damit die Leseverstärker den Zustand einer Speicherzelle lesen.
  • Die relative Zeitsteuerung zwischen dem ÷8-Takt und den SAEN-Impulsen ist in 7 gezeigt. Zum Zeitpunkt t0 kommt der Takt an und wird durch die Schaltung 302 für eine Zeitdauer Δt1 verzögert. Zum Zeitpunkt t1 schaltet SAEN für eine Zeitdauer Δts auf HI, was die Leseverstärker 200 aktiviert. Zum Zeitpunkt t2 schaltet SAEN auf LO, wobei die Leseverstärker somit gesperrt werden.
  • Die Operation des seriellen Konfigurationsspeichers wird nun mit Bezug auf den Ablaufplan von 8 erörtert. Wie im Plan angegeben, wird bei jedem achten Takt (über den ÷8-Takt 60, Fig. 1) eine Adresse erzeugt. Bei einem bestimmten Takt (man nenne ihn Takt 1) beginnt somit ein Adressenübergang. Wie vorstehend erläutert, wird kurz nach dem Takt 1 (Δta, 7) SAEN über den Zeitgeber 64 auf HI aktiviert, um die Leseverstärkerschaltung 66 durchzusteuern. SAEN liegt für eine Zeitdauer (Δts, 7) auf HI, die lang genug ist, um zu ermöglichen, dass die acht Bits der adressierten Speicherstelle gelesen werden. SAEN schaltet dann auf LO und die acht gelesenen Bits werden intern in den Leseverstärker-Zwischenspeichern 250 zurückgehalten, wobei die zurückgehaltenen Daten in 8 als INT DATA dargestellt sind.
  • Unterdessen werden Datenbits von einer vorher ausgelesenen Speicherstelle Dn–1 aus dem Datenregister 42 herausgeschoben, was in 8 als EXT DATA angegeben ist. Tatsächlich wird beim Takt 0 das Bit Eins von Dn–1 herausgeschoben. Man beachte, dass für die meiste Zeit, in der Daten aus dem Datenregister 42 herausgeschoben werden, SER/PAR auf HI liegt, wobei aus 2A und 3 zu erinnern ist, dass dies eine Verschiebung der gespeicherten Bits bei jedem Takt nach rechts bewirkt.
  • Für die Takte 1–7 werden die Bits 2–8 von Dn–1 aus dem Datenregister herausgeschoben. Beim Takt 7 wird das Bit 8 von Dn–1 herausgeschoben. Beim Takt 7 wird auch SER/PAR für eine Zeitdauer, die sich in den Takt 8 erstreckt, auf LO aktiviert. Unter erneuter Bezugnahme auf 2A und 3 bewirkt ein LO auf SER/PAR, dass der Schalter 41 die gelesenen Daten von den DATENLEITUNGEN 21n in die Registerzwischenspeicher 42n lädt. In dem in 8 gezeigten Fall sind die Daten beim Takt 8 Dn. Wenn der Takt 8 ankommt, ist folglich das nächste Bit, das aus dem Datenregister herausgeschoben wird, das erste Bit von Dn, der Speicherstelle, die während der Takte 1–7 ausgelesen wurde (während Dn–1 herausgeschoben wurde) und in den Zwischenspeichern 250 der Leseverstärker 200 gespeichert wurde.
  • Während der Takte 1'–7' werden die Bits, die Dn bilden, aus dem Datenregister herausgeschoben. Wie der Ablaufplan zeigt, wiederholt sich der Prozess. Die nächste Adresse An+1 wird beim Takt 1' übergeben, die Leseverstärker werden durchgesteuert, um die acht Bits von Dn+1 auszulesen, und in den Zwischenspeichern 250 direkt vor dem Sperren der Leseverstärker zwischengespeichert. Die Dn+1-Bits bleiben in den Zwischenspeichern 250 bis zum Takt 7', zu welchem Zeitpunkt das Bit 8 von Dn herausgeschoben wird und die Dn+1-Bits in das Datenregister (darüber, dass SER/PAR auf LO aktiviert wird) geladen werden, so dass beim Takt 8' das nächste aus dem Datenregister 42 herausgeschobene Bit das erste Bit von Dn+1 ist.
  • Einige Punkte sind erwähnenswert: Erstens wird jeder der acht Leseverstärker 200 bei jedem achten Takt durchgesteuert und bleibt nur für eine Zeitdauer durchgesteuert, die ausreicht, um das Decodieren einer Adresse und das Lesen eines Bits zu ermöglichen. Wie der Ablaufplan darstellt, ermöglicht dies, dass die Leseverstärker die meiste Zeit während der acht Takte, die erforderlich sind, um ein vorher ausgelesenes Byte herauszuschieben, gesperrt sind. Dies verringert den von den Leseverstärkern entnommenen stationären Strom erheblich, was eine signifikante Verringerung des Leistungsverbrauchs darstellt.
  • Zweitens ist der resultierende ausgegebene Bitstrom mit dem externen Takt synchron. Bedeutender ist die Ausgangsrate des Bitstroms von der Operationsgeschwindigkeit der Leseverstärker unabhängig. Dies liegt an dem bei der vorliegenden Erfindung verwendeten Pipelineverarbeitungsverfahren. Wie der Ablaufplan zeigt, liegt die Speicherstelle, die zu irgendeinem Zeitpunkt ausgelesen wird, immer eine Stelle vor der Speicherstelle, deren Bits ausgegeben werden. Eine Speicherstelle wird immer "im voraus abgerufen", während eine vorher "abgerufene" Stelle ausgegeben wird. Diese Überlappung der Ausleseoperation und der Bitstrom-Ausgabeoperation koppelt die Bitstromrate von der Geschwindigkeit der Leseverstärker ab. Somit wird die Rate des Bitstroms nicht mehr durch die Geschwindigkeit des Leseverstärkers begrenzt, wie bei Konstruktionen des Standes der Technik. Vielmehr ist die Bitrate nur eine Funktion der externen Taktfrequenz.
  • Drittens lässt sich diese Architektur leicht für größere Datengrößen als Acht-Bit-Daten maßstäblich vergrößern. Ein Sechzehn-Bit-Datenweg kann beispielsweise einfach durch Vorsehen von zusätzlichen Leseverstärkern untergebracht werden. Die relative Zeitsteuerung würde gegenüber der in 8 gezeigten unverändert bleiben. Für höhere Taktfrequenzen, bei denen sich die Lesezeit denkbar der Zeit nähern könnte, die es dauert, um acht Bits seriell auszugeben, würde die Erweiterung der Datengröße auf sechzehn Bits folglich ein breiteres Zeitfenster vorsehen, während dessen Daten gelesen werden können.
  • 1 zeigt auch eine Variation des Ausführungsbeispiels der vorliegenden Erfindung. In dieser Variation umfasst der Adressenzähler 40 einen Eingang, der in Durchsicht gezeigt ist, zum Empfangen einer Anfangsadresse von einer externen Quelle. Dies ermöglicht das Voreinstellen des Adressenzählers auf eine andere Speicherstelle als die Speicherstelle Null, so dass der Bitstrom irgendwo in der Speichermatrix 20 beginnen kann. Dies ist bei umkonfigurierbaren FPGAs, bei denen mehrere Konfigurationsbitströme im Konfigurationsspeicher gespeichert werden können, nützlich, so dass eine beliebige Konfiguration in der Ausführungszeit zum FPGA gesandt werden kann.

Claims (20)

  1. Speicherbauelement (100) mit: einem einzelnen Datenstift zum Ausgeben eines Datenstroms von Bits; einem Taktstift zum Empfangen von Taktimpulsen; einer Speichermatrix (20), die in eine Vielzahl von Speicherstellen von jeweils N-Bit-Daten organisiert ist und einen Decodierer (60, 62) zum Vorsehen eines Zugriffs auf eine Speicherstelle in der Speichermatrix aufweist; einer Leseschaltung (66), die zum Lesen der N Bits einer Speicherstelle, auf die zugegriffen wurde, in paralleler Weise gekoppelt ist; einem Mittel (64) zum vorübergehenden Aktivieren der Leseschaltung für eine Zeitdauer, die ausreicht, um die N Bits einer Speicherstelle zu lesen; und einem N-Bit-Datenschieberegister (42), das zum Empfangen von N Bits von der Leseschaltung gekoppelt ist, wobei das Datenregister ein Mittel zum Herausschieben eines Bits bei jedem Taktimpuls umfasst; gekennzeichnet durch ein Mittel (32, 40, 60) zum Zugreifen auf eine Speicherstelle bei jedem N-ten Taktimpuls; ein Mittel (36) zum Laden von N Bits aus der Leseschaltung in das Datenschieberegister (42) als Reaktion auf das Herausschieben des N-ten Bits aus dem Datenregister; und ein Mittel (34, 44) zum Vorladen eines Datenelements aus der Speichermatrix in das Datenschieberegister (42) während eines Einschaltzyklus; wobei auf ein Datenelement des Speichers während derselben Zeit zugegriffen und dieses gelesen wird, wie die N Bits eines Datenelements des Speichers, auf das vorher zugegriffen wurde und das im Datenschieberegister (42) enthalten ist, herausgeschoben werden, wobei die Speicherzugriffs-/Leseoperation und die Datenausgabeoperation in einer Pipelineweise geschehen, so dass die Bitrate des Bitstroms von der Operationsgeschwindigkeit der Leseschaltung unabhängig ist.
  2. Speicherbauelement nach Anspruch 1, welches ferner ein Cache-Register (44) und ein Mittel (48, 44n) zum Laden eines Datenelements in das Cache-Register während der Einschaltsequenz und ein Mittel zum Übertragen von Daten vom Cache-Register in das Datenschieberegister (42) während einer Rücksetzsequenz umfasst.
  3. Speicherbauelement nach Anspruch 1, wobei die Leseschaltung N Leseverstärker umfasst.
  4. Speicherbauelement nach Anspruch 1, wobei das Mittel zum Zugreifen eine Division-Durch-N-Schaltung (60) umfasst, wobei die Division-Durch-N-Schaltung zum Empfangen der Taktimpulse gekoppelt ist, um alle N Takte einen Impuls zu erzeugen.
  5. Speicherbauelement nach Anspruch 4, wobei das Mittel zum Zugreifen einen Adressenzähler (40) umfasst, der mit der Division-Durch-N-Schaltung gekoppelt ist, um eine Sequenz von aufeinanderfolgenden Speicheradressen zu erzeugen, wobei der Zähler mit dem Decodierer (60, 62) gekoppelt ist, um einen Bitstrom zu erzeugen, der aus einer Sequenz von aufeinanderfolgenden Speicherstellen besteht.
  6. Speicherbauelement nach Anspruch 5, wobei der Adressenzähler ein Mittel zum Laden der anfänglichen Adresse in den Zähler umfasst, so dass der Bitstrom mit irgendeiner Stelle in der Speichermatrix beginnen kann.
  7. Speicherbauelement nach Anspruch 1, wobei das Mittel zum Zugreifen ein Mittel zum Empfangen von Speicheradressen von einer Quelle außerhalb des Speicherbauelements umfasst, wobei das Mittel zum Empfangen mit dem Decodierer gekoppelt ist, um einen Bitstrom zu erzeugen, der aus einer Sequenz von willkürlichen Speicherstellen besteht.
  8. Speicherbauelement nach Anspruch 1, wobei das Mittel (64) zum vorübergehenden Aktivieren der Leseverstärker eine Auslöseschaltung (303), die zum Aktivieren eines Freigabeimpulses als Reaktion auf das Mittel zum Zugreifen auf eine Speicherstelle gekoppelt ist, und eine Zeitgeberschaltung (304), die zum Deaktivieren des Freigabeimpulses nach dem Ablauf der Zeitdauer, die zum Lesen der N Bits einer Speicherstelle erforderlich ist, gekoppelt ist, umfasst.
  9. Speicherbauelement nach Anspruch 8, wobei die Auslöseschaltung eine Verzögerungsschaltung (302, 306) umfasst, um den Freigabeimpuls zu aktivieren, nachdem auf die Speicherstelle zugegriffen wurde.
  10. Speicherbauelement nach Anspruch 1, wobei N eine Potenz von 2 ist.
  11. Speicherbauelement nach Anspruch 10, wobei N acht ist.
  12. Speicherbauelement nach Anspruch 10, wobei N sechzehn ist.
  13. In einem Speicherbauelement ein Verfahren zum Ausgeben der Daten in einer Speichermatrix mit einer Rate von einem Bit pro Periode eines Taktsignals, umfassend: Laden eines Datenschieberegisters mit einem ersten Datenelement aus der Speichermatrix während einer Einschaltsequenz; serielles Herausschieben des im Datenschieberegister enthaltenen Datenelements synchron mit dem Taktsignal, wodurch ein serieller Bitstrom erzeugt wird; bevor das letzte Bit des Datenelements, das im Datenschieberegister enthalten ist, herausgeschoben wird, Auslesen eines nächsten Datenelements in der Speichermatrix, und während das letzte Bit des Datenelements herausgeschoben wird, Laden der Bits des nächsten Datenelements in paralleler Weise in das Datenschieberegister; und Wiederholen der Schritte des Schiebens und Zugreifens für andere Daten in der Speichermatrix; wobei das nächste Datenelement bereit ist, seriell herausgeschoben zu werden, sobald das letzte Bit des Datenelements, das im Datenschieberegister enthalten ist, herausgeschoben ist, so dass die Rate des Bitstroms nicht durch die Zeit zum Auslesen eines Datenelements aus dem Speicher begrenzt ist, sondern vielmehr gleich der Periode des Taktsignals ist.
  14. Verfahren nach Anspruch 13, welches ferner das Laden des ersten Datenelements in ein Cache-Register während der Einschaltsequenz und das Laden von Daten, die im Cache-Register enthalten sind, in das Datenschieberegister während einer Rücksetzsequenz umfasst.
  15. Verfahren nach Anspruch 13, wobei der Schritt des Auslesens eines nächsten Datenelements umfasst: Erzeugen der Adresse des nächsten Datenelements; Decodieren der Adresse des nächsten Datenelements; und Lesen der N Bits des nächsten Datenelements, einschließlich Einschalten von Leseverstärkern, um gleichzeitig jedes Bit zu lesen, und Abschalten der Leseverstärker nach dem Ablauf einer Zeitdauer, die ausreicht, um sicherzustellen, dass jedes Bit gelesen wurde.
  16. Verfahren nach Anspruch 15, wobei die Leseverstärker im Anschluss an den Schritt des Decodierens eingeschaltet werden und die Zeitdauer die Zeit zum Lesen eines Bits des nächsten Datenelements umfasst.
  17. Verfahren nach Anspruch 15, welches ferner das Speichern der gelesenen Bits in einem Zwischenspeicher vor dem Abschalten der Leseverstärker umfasst.
  18. Verfahren nach Anspruch 17, wobei der Schritt des Erzeugens der Adresse des nächsten Datenelements ein Schritt des Inkrementierens eines Adressenzählers ist; wobei die Speichermatrix nacheinander ausgegeben wird.
  19. Verfahren nach Anspruch 17, wobei der Schritt des Erzeugens der Adresse des nächsten Datenelements das Empfangen einer Adresse von einer Quelle außerhalb des Speicherbauelements umfasst; wobei der Inhalt der Speichermatrix in einer nicht-sequentiellen Weise ausgegeben werden kann.
  20. Verfahren nach Anspruch 13, welches ferner das Empfangen einer Adresse für die Speicherstelle des ersten Datenelements umfasst, wobei die Speichermatrix beginnend an einer anderen Stelle als der ersten Speicherstelle ausgelesen werden kann.
DE69814590T 1997-11-25 1998-11-19 Leistungsfreier hochgeschwindigkeitskonfigurationsspeicher Expired - Lifetime DE69814590T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US978286 1992-11-18
US08/978,286 US5946267A (en) 1997-11-25 1997-11-25 Zero power high speed configuration memory
PCT/US1998/025003 WO1999027538A1 (en) 1997-11-25 1998-11-19 Zero power high speed configuration memory

Publications (2)

Publication Number Publication Date
DE69814590D1 DE69814590D1 (de) 2003-06-18
DE69814590T2 true DE69814590T2 (de) 2004-03-18

Family

ID=25525944

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69814590T Expired - Lifetime DE69814590T2 (de) 1997-11-25 1998-11-19 Leistungsfreier hochgeschwindigkeitskonfigurationsspeicher

Country Status (12)

Country Link
US (1) US5946267A (de)
EP (1) EP0954864B1 (de)
JP (1) JP2001511286A (de)
KR (1) KR20000070410A (de)
CN (1) CN1180435C (de)
CA (1) CA2278615A1 (de)
DE (1) DE69814590T2 (de)
HK (1) HK1023211A1 (de)
MY (1) MY114495A (de)
NO (1) NO993614L (de)
TW (1) TW430817B (de)
WO (1) WO1999027538A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651199B1 (en) * 2000-06-22 2003-11-18 Xilinx, Inc. In-system programmable flash memory device with trigger circuit for generating limited duration program instruction
US6839873B1 (en) * 2000-06-23 2005-01-04 Cypress Semiconductor Corporation Method and apparatus for programmable logic device (PLD) built-in-self-test (BIST)
US6744291B2 (en) 2002-08-30 2004-06-01 Atmel Corporation Power-on reset circuit
JP4747023B2 (ja) * 2006-04-27 2011-08-10 Okiセミコンダクタ株式会社 半導体記憶装置
US8711639B2 (en) 2010-11-02 2014-04-29 Micron Technology, Inc. Data paths using a first signal to capture data and a second signal to output data and methods for providing data
US9910473B2 (en) 2013-03-14 2018-03-06 Silicon Storage Technology, Inc. Power management for a memory device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4330852A (en) * 1979-11-23 1982-05-18 Texas Instruments Incorporated Semiconductor read/write memory array having serial access
US5042014A (en) * 1987-05-21 1991-08-20 Texas Instruments Incorporated Dual-port memory having pipelined serial output
US5086388A (en) * 1988-03-18 1992-02-04 Hitachi Maxell, Ltd. Semiconductor serial/parallel-parallel/serial file memory and storage system
JPH02201797A (ja) * 1989-01-31 1990-08-09 Toshiba Corp 半導体メモリ装置
JPH06275069A (ja) * 1993-03-20 1994-09-30 Hitachi Ltd シリアルメモリ
JP3351692B2 (ja) * 1995-09-12 2002-12-03 株式会社東芝 シンクロナス半導体メモリ装置
US5748559A (en) * 1996-01-17 1998-05-05 Cypress Semiconductor Corporation Circuit for high speed serial programming of programmable logic devices

Also Published As

Publication number Publication date
HK1023211A1 (en) 2000-09-01
KR20000070410A (ko) 2000-11-25
CN1180435C (zh) 2004-12-15
EP0954864A1 (de) 1999-11-10
WO1999027538A1 (en) 1999-06-03
MY114495A (en) 2002-10-31
CA2278615A1 (en) 1999-06-03
US5946267A (en) 1999-08-31
NO993614L (no) 1999-09-27
CN1244280A (zh) 2000-02-09
TW430817B (en) 2001-04-21
EP0954864B1 (de) 2003-05-14
EP0954864A4 (de) 2001-01-31
JP2001511286A (ja) 2001-08-07
DE69814590D1 (de) 2003-06-18
NO993614D0 (no) 1999-07-26

Similar Documents

Publication Publication Date Title
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE68923541T2 (de) Programmierbare Logikeinrichtung mit einer Vielzahl von programmierbaren Logikarrays, die sich in mosaikförmiger Anordnung zusammen mit einer Vielzahl von vermischt angeordneten Interface-Blöcken befinden.
DE102004045527B4 (de) Konfigurierbare Logikschaltungsanordnung
DE102005023118B3 (de) Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen
DE3781839T2 (de) Programmierbarer fifo-puffer.
DE68918413T2 (de) Integrierte Halbleiterschaltung.
DE2545313A1 (de) Dynamischer misfet randomspeicher in integrierter schaltung
DE102004014973B3 (de) Parallel-Seriell-Umsetzer
DE2432559B2 (de)
DE60133513T2 (de) Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang
DE19954564B4 (de) Steuerungsschaltung für die CAS-Verzögerung
DE4418862C1 (de) Speichervorrichtung mit Seitenwählfähigkeit und Speichersystem für seriellen Zugriff
EP0218280A2 (de) Datenverarbeitungsanordnung
DE69814590T2 (de) Leistungsfreier hochgeschwindigkeitskonfigurationsspeicher
EP0217122B1 (de) Schaltungsanordung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale
DE4108996C2 (de) Halbleiterspeichereinrichtung
DE4003690C2 (de) Schaltkreis zum Einstellen eines Spannungspegels entsprechend den Ausgangsdaten eines Halbleiterspeichers
DE4309320A1 (de) Halbleiterspeichervorrichtung und Betriebsverfahren
DE19908157A1 (de) Speichertestschaltung
DE19651340C2 (de) Halbleiterspeichervorrichtung
EP0213584B1 (de) Schaltungsanordnung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale
DE60221230T2 (de) Hochgeschwindigkeits-Signalausbreitungsschaltung und -Verfahren
DE4233249A1 (de) Dualportspeicher
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
EP0195940A1 (de) Schaltungsanordnung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale

Legal Events

Date Code Title Description
8364 No opposition during term of opposition