DE102019115908A1 - Standard-flip-flop-zelle - Google Patents

Standard-flip-flop-zelle Download PDF

Info

Publication number
DE102019115908A1
DE102019115908A1 DE102019115908.3A DE102019115908A DE102019115908A1 DE 102019115908 A1 DE102019115908 A1 DE 102019115908A1 DE 102019115908 A DE102019115908 A DE 102019115908A DE 102019115908 A1 DE102019115908 A1 DE 102019115908A1
Authority
DE
Germany
Prior art keywords
signal
standard flip
flop
data
latch
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.)
Pending
Application number
DE102019115908.3A
Other languages
English (en)
Inventor
Nick SAMRA
Stefan Rusu
Ta-Pen Guo
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of DE102019115908A1 publication Critical patent/DE102019115908A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0002Multistate logic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356017Bistable circuits using additional transistors in the input circuit
    • H03K3/356026Bistable circuits using additional transistors in the input circuit with synchronous operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • H03K3/35625Bistable circuits of the master-slave type using complementary field-effect transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/007Register arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Eine Standard-Flip-Flop-Zelle, welche einen Dateneingabeanschluss, der dafür konfiguriert ist, ein Datensignal zu empfangen, einen Takteingabeanschluss, der dafür konfiguriert ist, ein Taktsignal zu empfangen, einen Datenausgabeanschluss und ein Latch umfasst. Eine Bitschreibschaltung ist dafür konfiguriert, ein Bitschreibsignal zu empfangen. Das empfangene Datensignal wird in Reaktion auf das Bitschreibsignal und das Taktsignal Latch-gespeichert und an dem Ausgabeanschluss bereitgestellt. Eine Halteschaltung ist dafür konfiguriert, ein Haltesignal zu empfangen, und in Reaktion auf das Haltesignal und das Taktsignal wird das empfangene Datensignal nicht Latch-gespeichert und an dem Datenausgabeanschluss bereitgestellt.

Description

  • HINTERGRUND
  • Integrierte Schaltungen umfassen typischerweise Tausende von Komponenten mit komplexen gegenseitigen Beziehungen. Diese Schaltungen werden im Allgemeinen über hochautomatisierte Verfahren entworfen, die als Elektronische Design-Automation (EDA) bekannt sind. Die EDA beginnt mit einer funktionellen Spezifikation, die in einer Hardware Description Language (HDL) bereitgestellt ist, und wird durch die Spezifikation eines Schaltungs-Designs fortgesetzt, umfassend die Spezifikation elementarer Schaltungskomponenten, die als Zellen bezeichnet werden, die physische Anordnung der Zellen und die Verdrahtung, mit welcher die Zellen verbunden werden. Die Zellen realisieren Logik oder andere elektronische Funktionen, wobei eine spezielle Technologie integrierter Schaltungen angewendet wird.
  • Die EDA kann in eine Folge von Stufen unterteilt werden, wie z.B. Synthese, Anordnung, Leitwegführung usw. Jeder dieser Schritte kann ein Auswählen von Zellen aus einer Bibliothek von Zellen umfassen. Typischerweise kann eine sehr große Anzahl verschiedener Schaltungs-Designs unter Verwendung verschiedener Zellenkombinationen eine funktionelle Spezifikation für eine Schaltung erfüllen. Beispielsweise sind Flip-Flops fundamentale Baublöcke digitaler Schaltungen und sind daher oft in Standardzellenbibliotheken enthalten. Ein Flip-Flop ist eine Schaltung, welche zwei stabile Zustände aufweist und verwendet werden kann, um Zustandsinformationen zu speichern. Flip-Flops weisen einen oder zwei Ausgänge auf und können dazu gebracht werden, durch Signale, die an einen oder mehrere Steuereingänge angelegt werden, den Zustand zu ändern.
  • Figurenliste
  • Aspekte der vorliegenden Offenbarung sind am besten zu verstehen aus der folgenden detaillierten Beschreibung in Verbindung mit den begleitenden Figuren. Es sei angemerkt, dass gemäß der üblichen Praxis in der Technik verschiedene Elemente nicht maßstabsgetreu dargestellt sind. Tatsächlich können die Abmessungen der verschiedenen Elemente zur Verdeutlichung der Beschreibung beliebig vergrößert oder verkleinert sein.
    • 1 ist ein Blockschaubild, welches ein Beispiel für ein Verarbeitungssystem gemäß einigen Ausführungsformen veranschaulicht.
    • 2A und 2B sind Blockschaubilder, welche Aspekte einer beispielhaften Standard-Flip-Flop-Zelle gemäß einigen Ausführungsformen veranschaulichen.
    • 3 ist ein Blockschaubild, welches ein Matrixfeld von Standard-Flip-Flop-Zellen gemäß einigen Ausführungsformen veranschaulicht.
    • 4 ist ein Schaltplan, welcher eine Standard-Flip-Flop-Zelle gemäß einigen Ausführungsformen veranschaulicht.
    • 5 ist ein Schaltplan, welcher ein Beispiel für eine Speichervorrichtung, die ein Matrixfeld der in 4 dargestellten Standard-Flip-Flop-Zellen umfasst, gemäß einigen Ausführungsformen veranschaulicht.
    • 6 ist ein Blockschaubild, welches weitere Aspekte der Speichervorrichtung der 5 gemäß einigen Ausführungsformen veranschaulicht.
    • 7 ist ein Blockschaubild, welches ein Beispiel für eine Speichervorrichtung mit einem Matrixfeld von Standard-Flip-Flop-Zellen, die in Teilmatrizen unterteilt ist, gemäß einigen Ausführungsformen veranschaulicht.
    • 8 ist ein Blockschaubild, welches ein Beispiel für eine Abtast-Testanordnung für die offenbarten Standard-Flip-Flop-Zellen gemäß einigen Ausführungsformen veranschaulicht.
    • 9 ist ein Ablaufplan, welcher ein Beispiel für ein Verfahren zum Betreiben einer Speichervorrichtung gemäß einigen Ausführungsformen veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Offenbarung werden viele verschiedene Ausführungsformen oder Beispiele für die Realisierung verschiedener Merkmale des Gegenstands der vorliegenden Erfindung vorgestellt. Nachstehend werden spezielle Beispiele für Komponenten und Anordnungen beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind natürlich lediglich Beispiele und sollen nicht beschränkend sein. Zum Beispiel kann die Bildung eines ersten Merkmals über oder auf einem zweiten Merkmal in der folgenden Beschreibung Ausführungsformen umfassen, bei welchen das erste und zweite Merkmal in direktem Kontakt gebildet werden, und kann auch Ausführungsformen umfassen, bei welchen zwischen dem ersten und zweiten Merkmal zusätzliche Merkmale gebildet werden, so dass das erste und zweite Merkmal nicht in direktem Kontakt stehen. Außerdem können in der vorliegenden Offenbarung in den verschiedenen Beispielen Bezugszahlen und/oder -buchstaben wiederholt werden. Diese Wiederholung dient der Vereinfachung und Klarheit und bestimmt als solche keine Beziehung zwischen den beschriebenen verschiedenen Ausführungsformen und/oder Konfigurationen.
  • Ferner können hierin zur Vereinfachung der Beschreibung Begriffe der räumlichen Beziehung wie „unterhalb“, „unter“, „untere“, „oberhalb“, „obere“ und dergleichen verwendet werden, um die Beziehung eines Elements oder Merkmals zu (einem) anderen Element(en) oder Merkmal(en) zu beschreiben, wie in den Figuren veranschaulicht. Die Begriffe der räumlichen Beziehung sollen zusätzlich zu der Orientierung, die in den Figuren abgebildet ist, andere Orientierungen der in Gebrauch oder in Betrieb befindlichen Vorrichtung umfassen. Die Vorrichtung kann anders orientiert sein (um 90 Grad gedreht sein oder andere Orientierungen aufweisen) und die hierin verwendeten Deskriptoren der räumlichen Beziehung können gleichermaßen entsprechend interpretiert werden.
  • Werkzeuge und Verfahren der Elektronischen Design-Automation (EDA) vereinfachen das Design, die Aufteilung und die Anordnung mikroelektronischer integrierter Schaltungen auf einem Halbleitersubstrat. Dieses Verfahren umfasst typischerweise Umwandeln einer Verhaltensbeschreibung der Schaltung in eine funktionelle Beschreibung, welche dann in Logikfunktionen zersetzt und unter Verwendung einer Standardzellenbibliothek in Zellen umgesetzt wird. Nach der Umsetzung wird eine Synthese durchgeführt, um das strukturelle Design in ein physisches Layout umzuwandeln, es wird ein Taktbaum erzeugt, um die strukturellen Elemente zu synchronisieren, und das Design wird nach dem Layout optimiert.
  • 1 ist ein Blockschaubild, welches ein Beispiel für ein Verarbeitungssystem 100 gemäß einigen hierin offenbarten Ausführungsformen veranschaulicht. Das Verarbeitungssystem 100 kann verwendet werden, um ein EDA-System gemäß verschiedenen hierin beschriebenen Verfahren zu realisieren. Das Verarbeitungssystem 100 umfasst eine Verarbeitungseinheit 110, z.B. einen Desktop-Computer, eine Workstation, einen Laptop-Computer, eine dedizierte Einheit, die auf eine bestimmte Anwendung zugeschnitten ist, ein Smartphone oder Tablet usw. Das Verarbeitungssystem 100 kann mit einer Anzeigevorrichtung 114 und einer oder mehreren Eingabe/Ausgabe-Einheiten 112, z.B. einer Maus, einer Tastatur, einem berührungsempfindlichen Bildschirm, einem Drucker usw., ausgestattet sein. Die Verarbeitungseinheit 110 umfasst außerdem eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) 120, einen Speicher 122, eine Massenspeicherungsvorrichtung 124, einen Videoadapter 126 und eine I/O-Schnittstelle 128, die mit einem Bus 130 verbunden ist.
  • Bei dem Bus 130 kann es sich um eine oder mehrere von verschiedenen Busarchitekturen beliebiger Art handeln, umfassend einen Speicherbus oder eine Speichersteuerung, einen Peripheriebus oder einen Videobus. Die CPU 120 kann einen elektronischen Datenprozessor beliebiger Art umfassen und der Speicher 122 kann Systemspeicher beliebiger Art umfassen, z.B. statischen Direktzugriffsspeicher (Static Random Access Memory, SRAM), dynamischen Direktzugriffsspeicher (DRAM) oder Nur-Lese-Speicher (Read-Only Memory, ROM).
  • Die Massenspeicherungsvorrichtung 124 kann eine Speicherungsvorrichtung beliebiger Art umfassen, die dafür konfiguriert ist, Daten, Programme und andere Informationen zu speichern und die Daten, Programme und anderen Informationen über den Bus 130 zugänglich zu machen. Die Massenspeicherungsvorrichtung 124 kann beispielsweise eines oder mehreres aus einem Hartplattenlaufwerk, einem Magnetplattenlaufwerk, einem optischen Plattenlaufwerk, einem Flash-Speicher und Ähnlichem umfassen.
  • Der Begriff computerlesbare Medien, wie hierin verwendet, kann Computerspeicherungsmedien umfassen, wie z.B. den Systemspeicher und die Speichervorrichtungen, die oben erwähnt wurden. Computerspeicherungsmedien können flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie z.B. computerlesbaren Befehlen, Datenstrukturen oder Programmmodulen, realisiert werden. Der Speicher 122 und die Massenspeicherungsvorrichtung 124 sind Beispiele für Computerspeicherungsmedien (z.B. Speicher-Speicherung). In der Massenspeicherungsvorrichtung kann ferner eine Bibliothek von Standardzellen gespeichert sein, wie es nachstehend noch hierin erörtert wird.
  • Computerspeicherungsmedien können RAM, ROM, elektrisch löschbaren Nur-Lese-Speicher (EEPROM), Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, Digital Versatile Disks (DVD) oder eine andere optische Speicherung, Magnetkassetten, Magnetband, Magnetplattenspeicherung oder andere magnetische Speicherungsvorrichtungen oder einen beliebigen anderen Herstellungsgegenstand umfassen, welcher verwendet werden kann, um Informationen zu speichern, und auf welchen durch die Verarbeitungsvorrichtung 100 zugegriffen werden kann. Alle dieser Computerspeicherungsmedien können Teil der Verarbeitungsvorrichtung 100 sein. Computerspeicherungsmedien umfassen keine Trägerwelle oder anderen sich ausbreitenden oder modulierten Datensignale.
  • Kommunikationsmedien können durch computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal verkörpert sein, wie z.B. einer Trägerwelle oder einem anderen Transportmechanismus, und umfassen beliebige Informationsübermittlungsmedien. Der Begriff „moduliertes Datensignal“ kann ein Signal beschreiben, welches eine oder mehrere Eigenschaften aufweist, die so eingestellt oder geändert werden, dass Informationen in dem Signal codiert werden. Beispielhaft und nicht beschränkend können Kommunikationsmedien drahtgebundene Medien, wie z.B. ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, und drahtlose Medien umfassen, wie z.B. akustische Medien, Funkfrequenz(RF)-Medien, Infrarot-Medien und andere drahtlose Medien.
  • Der Videoadapter 126 und die I/O-Schnittstelle 128 stellen Schnittstellen bereit, um externe Eingabe- und Ausgabevorrichtungen mit der Verarbeitungseinheit 110 zu verbinden. Wie in 1 veranschaulicht, umfassen Beispiele für Eingabe- und Ausgabevorrichtungen die Anzeigevorrichtung 114, die mit dem Videoadapter 126 verbunden ist, und die I/O-Vorrichtung 112, z.B. eine Maus, eine Tastatur, ein Drucker und dergleichen, die mit der I/O-Schnittstelle 128 verbunden ist. Es können andere Vorrichtungen mit der Verarbeitungseinheit 110 verbunden sein und es können zusätzliche oder weniger Schnittstellenkarten verwendet werden. Beispielsweise kann eine (nicht dargestellte) serielle Schnittstellenkarte verwendet werden, um eine serielle Schnittstelle für einen Drucker bereitzustellen. Die Verarbeitungseinheit 110 kann außerdem eine Netzwerk-Schnittstelle 140 umfassen, welche eine drahtgebundene Verbindung mit einem lokalen Netzwerk (Local Area Network, LAN) oder einem Fernbereichs-Netzwerk (Wide Area Network, WAN) 116 und/oder eine drahtlose Verbindung sein kann.
  • Ausführungsformen des Verarbeitungssystems 100 können weitere Komponenten umfassen Beispielsweise kann das Verarbeitungssystem 100 Stromversorgungen, Kabel, eine Hauptplatine, entfernbare Speichermedien, Gehäuse und Ähnliches umfassen. Diese weiteren Komponenten sind, auch wenn sie nicht dargestellt sind, als Teil des Verarbeitungssystems 100 anzusehen.
  • In einigen Beispielen wird Software-Code von der CPU 120 ausgeführt, um ein Benutzer-Design zu analysieren, um ein physisches Layout einer integrierten Schaltung zu erzeugen. Auf den Software-Code kann aus dem Speicher, der Massenspeicherungsvorrichtung 124 oder Ähnlichem über den Bus 130 durch die CPU 120 oder aus der Ferne über die Netzwerk-Schnittstelle 140 zugegriffen werden. Ferner wird in einigen Beispielen das physische Layout der integrierten Schaltung auf der Basis eines funktionellen Designs der integrierten Schaltung erzeugt, welches gemäß verschiedenen Verfahren und Prozessen, die durch den Software-Code realisiert werden, über die I/O-Schnittstelle 128 empfangen werden kann und/oder in dem Speicher 122 oder 124 gespeichert sein kann.
  • Eine Standardzelle kann eine gesamte Vorrichtung umfassen, wie z.B. einen Transistor, eine Diode, einen Kondensator, einen Widerstand oder einen Induktor, oder sie kann eine Gruppe mehrerer Vorrichtungen umfassen, die die dafür eingerichtet ist, eine bestimmte Funktion auszuüben, z.B. eine Umkehrschaltung, ein Flip-Flop, eine Speicherzelle oder einen Verstärker, neben Anderem. Zusätzlich dazu, dass ein Entwurf des funktionellen Designs einfacher gemacht wird, kann durch die Verwendung von Standardzellen die Verifikationszeit für die Entwurfsregelnprüfung (Design Rule Checking, DRC) der Layout-Elemente innerhalb der IC verkürzt werden, da eine Standardzelle, die über das Layout wiederholt wird, bei der DRC ein einziges Mal geprüft werden kann, anstatt dass jede Instanzierung einzeln geprüft wird. Auf der Basis der empfangenen funktionellen Schaltungsbeschreibung ist das System 100 dafür konfiguriert, Standardzellen aus der Zellenbibliothek auszuwählen. Wie oben angegeben, können in einer Standardzellenbibliothek Flip-Flops enthalten sein. Ein Flip-Flop ist eine Schaltung, welche zwei stabile Zustände aufweist und dadurch in der Lage ist, als ein Speicher-Bit zu dienen. Ein Flip-Flop wird gewöhnlich durch ein oder zwei Steuersignale und ein Taktsignal gesteuert.
  • Speicher für IC-Vorrichtungen kann über mehrere verschiedene Verfahren konstruiert werden. Beispielsweise kann ein voll kundenspezifischer statischer Direktzugriffsspeicher (SRAM) oder ein Registerdatei-Matrixfeld in einem Design wie eine Black Box entworfen und instanziert werden. Dieser voll kundenspezifische Block kann jede beliebige gewünschte Funktionalität (z.B. Bitschreibfähigkeit) aufweisen, aber die notwendige Design-Arbeit kann kompliziert und zeitaufwändig sein. Außerdem muss ein Abschnitt des Designs blockiert werden, um das „Black-Box“-Matrixfeld einzufügen. Dieser blockierte Abschnitt beschränkt die Leitwegführung auf bestimmten Schichten und macht oft eine „Freihalte“-Zone erforderlich, welche die Anordnung von normalen Standardzellen in ihrer Nähe blockiert. Somit können solche Black-Box-Designs zu einer ineffizienten Nutzung verfügbarer Fläche führen.
  • Für kleine Matrizen kann es sich bei einem Speichermatrixfeld um synthetisierte Standard-Flip-Flop-Zellen handeln. Flip-Flops sind typischerweise größer als SRAM-Bit-Zellen, aber das Gesamtmatrixfeld kann kleiner sein, da der Zusatz, der mit einem kundenspezifischen SRAM-Matrixfeld verbunden ist, nicht erforderlich ist. Außerdem ist der Design-Aufwand, der für ein synthetisiertes Matrixfeld benötigt wird, geringer. Ein Kompromiss zwischen den voll kundenspezifischen Black-Box-Matrixfeldern und einer einfachen Synthese mit Flops ist die Erzeugung eines Matrixfelds unter Verwendung von Standard-Flip-Flop-Zellen. Bei diesem Matrixfeld werden die gleichen Standardzellen-Flops verwendet wie beim Syntheseansatz, aber die Zellen werden sorgfältig in matrixartiger Weise angeordnet. Dies ermöglicht eine höhere Zellennutzung als bei der Synthese, wobei immer noch Standardzellen verwendet werden, die keinen Zusatz benötigen, wie z.B. Freihaltezonen. Beispielsweise weist eine typische Synthese gewöhnlich Nutzungen im Bereich von 70 % bis 80 % auf, aber durch Anordnen der Flops per Hand in einem Standardzellen-Matrixfeld kann diese Nutzung auf 90 % bis 95 % verbessert werden. Jedoch sind die tatsächlichen verwendeten Zellen immer noch darauf beschränkt, was in der Standardzellenbibliothek verfügbar ist, wodurch die Flächendichte immer noch begrenzt wird.
  • 2A veranschaulicht eine Standard-Flip-Flop-Zelle 200 gemäß Aspekten der vorliegenden Offenbarung. Die Standard-Flip-Flop-Zelle 200 weist einen Dateneingabeanschluss D, der dafür konfiguriert ist, ein Datensignal zu empfangen, einen Takteingabeanschluss, der dafür konfiguriert ist, ein Taktsignal zu empfangen, und einen Ausgabeanschluss Q auf, der ein Datenausgabesignal bereitstellt. Wie nachstehend noch näher beschrieben wird, umfasst die Standard-Flip-Flop-Zelle 200 ein Latch, welches beispielsweise das Signal empfängt, das an dem Eingabeanschluss D empfangen wird, und das Latchgespeicherte Signal an den Ausgabeanschluss Q ausgibt.
  • Da die dargestellte Standard-Flip-Flop-Zelle 200 dafür konfiguriert ist, Bit-Zellen in einem Speichermatrixfeld zu bilden, umfasst die Standard-Flip-Flop-Zelle 200 ferner einen Bitschreibanschluss BITWR, der dafür konfiguriert ist, ein Schreibsignal zu empfangen, welches anzeigt, dass das empfangene Datensignal Latch-gespeichert werden soll und in Reaktion auf das Taktsignal CLK am Ausgabeanschluss Q bereitgestellt werden soll. Außerdem ist ein Halteanschluss HOLD dafür konfiguriert, ein Haltesignal zu empfangen, welches anzeigt, dass ein erster oder aktueller Datenwert an der Schiene der Datenausgänge Q weiter Latch-gespeichert und somit gehalten wird, anstatt dass das empfangene Datensignal Latch-gespeichert und an den Ausgang Q ausgegeben wird, auch wenn das Taktsignal ausgegeben wird.
  • Typische Standard-Flip-Flop-Zellen umfassen an sich keine Bit-Schreib- oder -Haltefunktionalität. Stattdessen ist ein zusätzliches Schaltungssystem extern der Standard-Flip-Flop-Zelle erforderlich, um diese Funktionen auszuüben, wenn ein Matrixfeld mit typischen Standard-Flip-Flop-Zellen konstruiert wird. Die zusätzlichen Schaltungen, die für diese Funktionalität benötigt werden, können einen bedeutenden Raum in der Blockanordnung einnehmen. Gemäß der vorliegenden Offenbarung ist die dargestellte Standard-Flip-Flop-Zelle 200 dafür konfiguriert, ein Speichermatrixfeld zu konstruieren. Das Integrieren von Funktionen wie Bit-Schreiben und -Halten in die Standard-Flip-Flop-Zelle 200 selbst verringert den Stromverbrauch und spart Platz.
  • In einigen Ausführungsformen ist die Standard-Flip-Flop-Zelle 200 ein Abtastungs-Flip-Flop. Ein Abtastungs-Flip-Flop ermöglicht Testverfahren für verbundene Flip-Flops, um beispielsweise während eines Abtastungs-Verschiebungs-Betriebsmodus zu bestimmen, ob sich ein Fehler entlang der Kette von Flip-Flops fortsetzt. Ein Ausgang des Abtastungs-Flip-Flops ist daher mit einem Eingang eines benachbarten Abtastungs-Flip-Flops in der Kette verbunden. Die Standard-Flip-Flop-Zelle 200 umfasst somit einen Abtastungseingabeanschluss SI und einen Abtastungsaktivierungsanschluss SE. Auf der Basis des empfangenen Abtastungsaktivierungssignals wird entweder der Dateneingabeanschluss D oder der Abtastungseingabeanschluss SI mit dem Latch der Standard-Flip-Flop-Zelle 200 verbunden und am Ausgabeanschluss Q bereitgestellt.
  • Wie oben angemerkt, ist die Standard-Flip-Flop-Zelle 200 für eine Verwendung in einem Speichermatrixfeld konfiguriert. Daher müssen bestimmte Funktionen und Signale nicht von jeder Standard-Flip-Flop-Zelle 200 des Matrixfelds empfangen oder erzeugt werden. 2B veranschaulicht weitere Aspekte der Standard-Flip-Flop-Zelle 200. Typischerweise empfängt ein Flip-Flop einen Taktimpuls und erzeugt ein invertiertes Taktsignal mit einer Pufferschaltung in der Nähe der Standard-Flip-Flop-Zelle. In dem Beispiel, das in 2B dargestellt ist, empfängt ein Taktpuffer 204 extern der Standard-Flip-Flop-Zelle 200 einen Taktimpuls und gibt das Taktsignal CLK und auch das invertierte Taktsignal CLK_b aus. Die dargestellte Standard-Flip-Flop-Zelle 200 empfängt somit das Taktsignal CLK und das Takt-Balken-Signal CLK_b, das extern der Standard-Flip-Flop-Zelle 200 erzeugt wird. Da die Standard-Flip-Flop-Zellen 200, die ein Speichermatrixfeld bilden, typischerweise mit einem gemeinsamen Taktsignal arbeiten, ist es nicht notwendig, dass jede Standard-Flip-Flop-Zelle 200 des Matrixfelds einen Taktpuffer zum Erzeugen des CLK_b-Signals umfasst.
  • In ähnlicher Weise wird die Abtastfunktion zum Testen einer Kette von Flip-Flops benutzt. So empfängt jeder der Flip-Flops in der Kette typischerweise ein gemeinsames Abtastungsaktivierungssignal. Es ist daher nicht notwendig, dass jede Flip-Flop-Zelle ein Schaltungssystem zum Erzeugen des logisch invertierten Abtastungsaktivierungssignals SE_b umfasst. Stattdessen wird das Abtastungsaktivierungssignal SE von einem Inverter 206 extern der Standard-Flip-Flop-Zelle 200 empfangen, welcher das SE_b-Signal ausgibt, womit weiterer Platz und weitere Energie auf der Standard-Flip-Flop-Zelle 200 gespart werden.
  • 3 ist ein Blockschaubild, welches Aspekte einer beispielhaften Speichervorrichtung 300 veranschaulicht, die ein Bitzellen-Matrixfeld 302 umfasst, die aus mehreren der Standard-Flip-Flop-Zellen 200 aufgebaut ist. Wie oben angemerkt, weist jede der Standard-Flip-Flop-Zellen 200 ein Haupt-Latch 310 und ein Neben-Latch 312 und einen Eingabeabschnitt 320 auf, welcher Bit-Schreib- und -Halteschaltungen 314 umfasst. In dem beispielhaften Matrixfeld 302 sind die Standard-Flip-Flop-Zellen 200 in Spalten und Reihen angeordnet. Die Größe des Matrixfelds 302 kann auf der gewünschten Speicherkapazität basieren. 3 veranschaulicht zur Vereinfachung der Beschreibung ein 2×3-Matrixfeld, es können jedoch in Abhängigkeit von den benötigten Bedingungen für die gewünschte Speicherkapazität auch andere Matrixfeldgrößen verwendet werden und sind vom Umfang der vorliegenden Offenbarung umfasst. Ein Taktpuffer 204 und ein SE-Inverter 206 stellen jeweils Ausgänge zu mehreren der Standard-Flip-Flop-Zellen 200 bereit. In einigen Beispielen kann der Taktpuffer 204 auf der Basis eines empfangenen Taktimpulses den verbundenen Standard-Flip-Flop-Zellen 200 das Taktsignal CLK und das invertierte Takt-Balken-Signal CLK_b bereitstellen. Der SE-Inverter 206 stellt jeder der verbundenen Standard-Flip-Flop-Zellen 200 das invertierte Abtastungsaktivierungssignal SE_b bereit. In dem Beispiel, das in 3 dargestellt ist, weisen die dargestellte erste und zweite Reihe 304, 306 des Matrixfelds 302 jeweils einen entsprechenden Taktpuffer 204 und SE-Inverter 206 auf, welche jeder der verbundenen Standard-Flip-Flop-Zellen 200 in der entsprechenden Reihe 304, 306 Signale bereitstellen. Auf diese Weise sind die Standard-Flip-Flop-Zellen 200 in jeder Reihe 302, 30[00414 dafür konfiguriert, die Takt- und SE_b-Signale mit den mehreren anderen Standard-Flip-Flop-Zellen 200 in ihrer Reihe des Matrixfelds 302 gemeinsam zu nutzen. Da die Taktpuffer 204 und die SE-Inverter 206 von mehreren der Standard-Flip-Flop-Zellen 200 gemeinsam genutzt werden, kann eine dichtere Matrixpackung erreicht werden und dabei der Energiebedarf des Matrixfelds verringert werden.
  • Gemäß Aspekten der Offenbarung erzielt die Speichervorrichtung 300 weitere Effizienzsteigerungen dadurch, dass Transistoren der verschiedenen Schaltungselemente des Speichermatrixfelds 302 gemeinsam benutzt werden. Beispielsweise werden redundante Transistoren und deren Funktionen aus den einzelnen Standard-Flip-Flop-Zellen 200 auf die Matrixebene der Vorrichtung 300 überführt und von den mehreren Standard-Flip-Flop-Zellen 200 gemeinsam benutzt.
  • Bezug nehmend nun auf 4, ist dort ein Schaltplan eines Beispiels für die Standard-Flip-Flop-Zelle 200 veranschaulicht. Die Standard-Flip-Flop-Zelle 200 weist mehrere Eingabeanschlüsse auf, umfassend einen Halte-Balken-Anschluss 402, der dafür konfiguriert ist, ein Halte-Balken-Signal HOLD_b (ein logisch invertiertes Haltesignal HOLD) zu empfangen, einen Abtastungseingabeanschluss 404, der dafür konfiguriert ist, ein Abtastungsaktivierungs-Balken-Signal SE_b (ein logisch invertiertes Abtastungsaktivierungssignal SE) zu empfangen, einen Dateneingabeanschluss 408, der dafür konfiguriert ist, ein Dateneingabesignal D zu empfangen, einen Bitschreib-Balken-Anschluss 410, der dafür konfiguriert ist, ein Bitschreib-Balken-Signal BITWR_b (ein logisch invertiertes Bitschreibsignal BITWR) zu empfangen, einen Taktanschluss 412, der dafür konfiguriert ist, ein Taktsignal CLK zu empfangen, einen Takt-Balken-Anschluss 414, der dafür konfiguriert ist, ein Takt-Balken-Signal CLK_b (ein logisch invertiertes Taktsignal CLK) zu empfangen, einen Bitschreibanschluss 416, der dafür konfiguriert ist, das Bitschreibsignal BITWR zu empfangen, einen Abtastungsaktivierungsanschluss 418, der dafür konfiguriert ist, das Abtastungsaktivierungssignal SE zu empfangen, und einen Halteanschluss 420, der dafür konfiguriert ist, das Haltesignal HOLD zu empfangen. Ein Datenausgabeanschluss 466 ist dafür konfiguriert, das Datensignal Q auszugeben.
  • Die Standard-Flip-Flop-Zelle 200 umfasst ein Haupt-Latch 310 und ein Neben-Latch 312 und eine Eingabestufe 320, welche die Bit-Schreib- und -Halteschaltungen 314 umfasst. Das Haupt-Latch 310 ist mit einem Ausgabeknoten 321 der Eingabestufe 320 verbunden und das Neben-Latch 312 ist mit dem Ausgang des Haupt-Latch 310 verbunden. Wie oben angemerkt, umfasst die Standard-Flip-Flop-Zelle 200 keinen integrierten Taktpuffer, sondern empfängt stattdessen das Taktsignal CLK und das logisch invertierte Takt-Balken-Signal CLK_b an den Anschlüssen 412, 414. Die Taktsignale CLK, CLK_b steuern Transfer-Gates innerhalb des Haupt- und des Neben-Latch 310, 312 und der Eingangsstufe 320. Die Eingabeanschlüsse 412, 414, welche die Takt- und Takt-Balken-Signale CLK, CLK_b empfangen, sind entsprechend mit Gate-Anschlüssen eines PMOS-Takttransistors 428 und eines NMOS-Takttransistors 430 verbunden. Der Übergang der Takttransistoren 428 und 430 bildet den Ausgabeknoten 321, welcher der Eingang zu dem Haupt-Latch 310 ist. Die Eingabeanschlüsse der Takttransistoren 428 und 430 empfangen die Ausgabe der Haltetransistoren 422,436 und der Abtastungsaktivierungstransistoren 424, 434, so dass in Reaktion auf die Taktsignale CLK, CLK_b der Abtastungseingabeanschluss 404 oder der Datenausgabeanschluss 466 mit dem Ausgabeknoten 321 der Eingabestufe 320 verbunden ist.
  • Die Standard-Flip-Flop-Zelle 200 empfängt das Abtastungsaktivierungssignal SE am Eingabeanschluss 418, um selektiv die Abtastfunktion zum Testen der Standard-Flip-Flop-Zellen 200 in einem Matrixfeld auszuwählen. Jedoch umfasst die Standard-Flip-Flop-Zelle 200, wie oben angegeben, keinen integrierten Inverter zum Bereitstellen des logisch invertierten Abtastungsaktivierungs-Balken-Signals SE_b. Stattdessen wird das invertierte Abtastungsaktivierungs-Balken-Signal SE_b extern der Standard-Flip-Flop-Zelle 200 erzeugt und am Eingabeanschluss 406 empfangen, wodurch die Anzahl der Transistoren verringert wird, die für die Standard-Flip-Flop-Zelle 200 selbst benötigt werden.
  • Der Abtastungseingabeanschluss 404 ist mit Eingabeanschlüssen der Abtastungsaktivierungstransistoren 424, 434 verbunden, so dass die Abtastungsaktivierungssignale SE, SE_b, die an den Eingabeanschlüssen 406, 418 empfangen werden, die Abtastungsaktivierungstransistoren 424 bzw. 434 steuern, selektiv den Abtastungstestmodus der Standard-Flip-Flop-Zelle 200 zu aktivieren. Im Abtastmodus wird den Takttransistoren 428, 430 in Reaktion auf die Abtastungsaktivierungssignale SE, SE_b das Abtastungseingabesignal SI bereitgestellt. Auf diese Weise wird das Abtastungseingabesignal, basierend auf den Abtastungsaktivierungssignalen SE, SE_b und den Taktsignalen CLK, CLK_b, selektiv dem Haupt-Latch 310 bereitgestellt.
  • Die Eingabestufe 320 umfasst eine Bitschreibschaltung, welche ein Paar Bitschreibtransistoren 426, 432 aufweist, und eine Halteschaltung, welche ein Paar Haltetransistoren 422, 436 aufweist. Die Bit-Schreib- und -Halteschaltungen sind dafür konfiguriert, das Schreiben von Daten und das Halten von Daten auf der Standard-Flip-Flop-Zelle 200 zu steuern. Der PMOS-Haltetransistor 422 wird durch das Halte-Balken-Signal HOLD_b gesteuert, das am Eingabeanschluss 402 empfangen wird, der mit dem Gate des PMOS-Haltetransistor 422 verbunden ist, und der NMOS-Haltetransistor 436 wird durch das Haltesignal HOLD gesteuert, das am Eingabeanschluss 420 empfangen wird, der mit dem Gate des NMOS-Haltetransistor 436 verbunden ist.
  • Das Ausgabesignal Q ist mit Eingabeanschlüssen der Haltetransistoren 422, 436 verbunden und die Ausgabeanschlüsse der Haltetransistoren 422, 436 sind über die Takttransistoren 428, 430 mit dem Ausgabeknoten 321 verbunden, so dass die Ausgabe Q der Standard-Flip-Flop-Zelle 200 basierend auf den Halte- und Takt-Eingabesignalen von dem Datenausgabeanschluss 466 zu dem Haupt-Latch 310 zurückgeführt wird. Insbesondere wird, wenn das Haltesignal HOLD High ist und das invertierte Halte-Balken-Signal HOLD_b Low ist, das Ausgabesignal Q zu der Eingabestufe 320 zurückgeführt, wenn der Takt ausgegeben wird, so dass ein erstes Datensignal auf der Standard-Flip-Flop-Zelle 200 gehalten wird. Entsprechend wird ein zweites Dateneingabesignal D, das an dem Eingabeanschluss 408 empfangen wird, nicht in die Standard-Flip-Flop-Zelle 200 geschrieben (Latch-gespeichert), auch wenn das Taktsignal ausgegeben wird, wenn das Haltesignal HOLD High ist und das invertierte Halte-Balken-Signal HOLD_b Low ist.
  • Die Bitschreib-Balken- BITWR_b und Bitschreibsignale BITWR, die an den entsprechenden Eingabeanschlüssen 410 und 416 empfangen werden, steuern den Betrieb des PMOS-Bitschreibtransistors 426 bzw. des NMOS-Bitschreibtransistors 432. Der Dateneingabeanschluss 408 ist mit den Eingabeanschlüssen der Bitschreibtransistoren 426 und 432 verbunden, so dass das Datensignal D, das von dem Anschluss 408 empfangen wird, auf der Basis der Bit-Schreib- und Bitschreib-Balken-Signale BITWR, BITWR_b selektiv von der Eingangsstufe 320 empfangen wird. Zum Beispiel ermöglicht ein Bitschreibsignal BITWR im Zustand High (und ein invertiertes Bitschreib-Balken-Signal BITWR_b im Zustand Low), dass das Datensignal D, das an dem Eingabeanschluss 408 empfangen wird, basierend auf den Taktsignalen CLK, CLK_b in die Standard-Flip-Flop-Zelle 200 geschrieben wird.
  • Der Ausgabeknoten 321 ist mit dem Haupt-Latch 310 verbunden, welches einen ersten Inverter, der aus dem PMOS- und NMOS-Transistor 438, 440 besteht, und einen ersten Tri-State-Inverter umfasst, welcher den PMOS- und NMOS-Transistor 442, 440 und den PMOS- und NMOS-Steuertransistor 444, 446 umfasst. Wenn sich das Taktsignal CLK im Zustand High befindet (sich das Takt-Balken-Signal CLK_b im Zustand Low befindet), wird die Eingabe des Tri-State-Inverters invertiert und zur Latch-Speicherung des empfangenen Signals ausgegeben. Wenn sich das Taktsignal CLK im Zustand Low befindet (sich das Takt-Balken-Signal CLK_b im Zustand High befindet), befindet sich der Tri-State-Inverter in einem Zustand hoher Impedanz und ist im Wesentlichen von der Schaltung getrennt.
  • Ein Transfer-Gate, bestehend aus einem PMOS-Transistor 450 und einem NMOS-Transistor 452, ist zwischen dem Haupt-Latch 310 und dem Neben-Latch 314 verbunden. Der PMOS-Transistor 450 und der NMOS-Transistor 452 des Transfer-Gate empfangen das Takt-Balken- CLK_b bzw. das Takt-Signal CLK. Daher sind, wenn sich das Taktsignal CLK im Zustand High befindet (sich das Takt-Balken-Signal CLK_b im Zustand Low befindet), die Transfer-Gate-Transistoren 450, 452 aktiv und das Ausgabesignal aus dem Haupt-Latch 310 wird zu dem Neben-Latch 312 übermittelt.
  • Das Neben-Latch 312 umfasst einen zweiten Inverter, der aus dem PMOS- und NMOS-Transistor 462, 464 besteht, und einen ersten Tri-State-Inverter umfasst, welcher den PMOS- und NMOS-Transistor 454, 460 und den PMOS- und NMOS-Steuertransistor 456, 458 umfasst, so dass das Signal, das von dem Haupt-Latch 310 empfangen wird, in Reaktion auf das Taktsignal von dem Neben-Latch 312 Latch-gespeichert und ausgegeben wird. Das Ausgabesignal Q des Neben-Latch 312 wird am Ausgabeanschluss 466 bereitgestellt.
  • 5 veranschaulicht eine beispielhafte Speichervorrichtung 500 mit einem Matrixfeld 502 der Standard-Flip-Flop-Zellen 200. In dem dargestellten Beispiel sind die Standard-Flip-Flop-Zellen 200 in einem 3×3-Matrixfeld angeordnet, andere Matrixfeldgrößen sind jedoch vom Umfang der Offenbarung umfasst. Entsprechend umfasst die Speichervorrichtung 500 drei Spalten 504a, 504b, 504c zum Speichern von drei Daten-Bits Bito, Biti, Bit2 sowie drei Reihen 506a, 506b, 506c. Da die offenbarten Beispiele der Standard-Flip-Flop-Zelle 200 für eine Verwendung in einem Speichermatrixfeld ausgelegt sind, sind bestimmte Komponenten eines typischen Flip-Flop nicht in die Flip-Flop-Zelle integriert. Bestimmte Logikkomponenten, welche die Signale zum Steuern der Standard-Flip-Flop-Zellen 200 des Matrixfelds 500 erzeugen, z.B. der Taktpuffer und der Abtastungsaktivierungs-Inverter, sind außerhalb der Standard-Flip-Flop-Zellen 200 vorgesehen.
  • Mehrere Reihentreiber 512a, 512b, 512c (zusammengefasst als Reihentreiber 512 bezeichnet) sind mit jeder Standard-Flip-Flop-Zelle 200 der entsprechenden Reihe 506a, 506b, 506c der Standard-Flip-Flop-Zellen 200 verbunden. Die Reihentreiber 512 umfassen jeweils ein entsprechendes OR-Gate 514a, 514b, 514c (zusammengefasst als OR-Gates 514 bezeichnet), welche entsprechende Wortleitungs-Schreibsignale wwl0, wwl1, wwl2 (zusammengefasst als Wortleitungs-Schreibsignale wwl bezeichnet), die den Reihen 506a, 506b, 506c des Matrixfelds 502 entsprechen, sowie das Abtastungsaktivierungssignal SE empfangen. Die Reihentreiber 512 umfassen ferner jeweils ein entsprechendes AND-Gate 516a, 516b, 516c (zusammengefasst als AND-Gates 516 bezeichnet), welche die entsprechenden Ausgaben der OR-Gates 514a, 514b, 514c und einen Taktimpuls CP empfangen. Wenn also der Abtastmodus ausgewählt wird, wechselt das Abtastungsaktivierungssignal SE auf High, was dazu führt, dass die Ausgaben der AND-Gates mit dem empfangenen Taktimpuls alternieren, um die Taktsignale CLK0, CLK1, CLK2 für die entsprechenden Reihen 506a, 506b, 506c des Matrixfelds 502 bereitzustellen. Jeder Reihentreiber 512 umfasst außerdem einen entsprechenden Inverter 518a, 518b, 518c (zusammengefasst als Inverter 518 bezeichnet), welche das von den AND-Gates 516 ausgegebene CLK-Signal invertieren, um jeder der Standard-Flip-Flop-Zellen 200 des Matrixfelds 502 die Takt-Balken-Signale CLK0_b, CLK1-b, CLK2_b von einer Quelle extern des Matrixfelds 502 bereitzustellen.
  • Wenn die Speichervorrichtung 500 in einem normalen Modus (d.h. nicht im Abtastmodus) betrieben wird, befindet das Abtastungsaktivierungssignal SE im Zustand Low. Bei einer Schreiboperation wird die gewünschte Reihe 512 durch Bestätigen des entsprechenden Wortleitungs-Schreibsignals wwlo, wwl1 oder wwl2 ausgewählt. In dem dargestellten Beispiel ist von den Wortleitungs-Schreibsignalen wwl „eines-heiß“ - mit anderen Worten, in jedem gegebenen Zyklus ist nur eine Wortleitung oder Reihe aktiv und somit wird je Zyklus nur eines der Wortleitungs-Schreibsignale wwl aktiviert. Wenn beispielsweise die erste Reihe 512a des Matrixfelds 502 ausgewählt werden soll, wechselt das erste Wortleitungs-Schreibsignal wwlo auf High.
  • Somit gibt das OR-Gate 514a der ersten Reihe 512a ein High-Signal aus, welches von dem AND-Gate 516a der ersten Reihe 512a empfangen wird, dessen Ausgabe gemäß dem Taktimpuls CP alterniert. Die alternierende Ausgabe des AND-Gate 516a der ausgewählten ersten Reihe 512a wird durch den Inverter 518a invertiert, so dass die Takt- und Takt-Balken-Signale CLK, CLK_b den Standard-Flip-Flop-Zellen 200 der ersten Reihe 506a des Matrixfelds 502 bereitgestellt werden.
  • Im Gegensatz dazu befinden sich die restlichen Wortleitungs-Schreibsignale wwli, wwl2 in einem logischen Zustand Low. Die OR-Gates 514 der nicht ausgewählten Reihen 512b, 512c geben ein Signal im logischen Zustand Low aus, basierend auf den Wortleitungs-Schreibsignalen wwli, wwl2 im logischen Zustand Low sowie dem Abtastungsaktivierungssignal SE im logischen Zustand Low. Deswegen werden die Ausgaben der AND-Gates 516 der nicht-ausgewählten Reihen 512b, 512c auf Low gehalten, auch wenn der Taktimpuls CP ausgegeben wird.
  • Die Speichervorrichtung 500 umfasst ferner einen Spaltentreiber 520a, 520b, 520c (zusammengefasst als Spaltentreiber 520 bezeichnet) für jede der Spalten 504a, 504b, 504c des Matrixfelds 500. Jeder der Spaltentreiber 520a, 520b, 520c weist ein erstes AND-Gate 522a, 522b, 522c (zusammengefasst als erste AND-Gates 522 bezeichnet) und zweite AND-Gates 524a, 524b, 524c (zusammengefasst als zweite AND-Gates 524 bezeichnet) auf, welche jeweils das Halte- HOLD und das Bitschreibsignal BITWR für ihre entsprechende Spalte 504a, 504b, 504c ausgeben. Die Ausgabesignale der ersten und zweiten AND-Gates 522, 524 werden ebenfalls von entsprechenden ersten Invertern 526a, 526b, 526c (zusammengefasst als erste Inverter 526 bezeichnet) und zweiten Invertern 528a, 528b, 528c (zusammengefasst als zweite Inverter 528 bezeichnet) empfangen, um das Halte-Balken HOLD_b und das Bitschreib-Balken-Signal BITWR_b zu erzeugen. Die ersten und zweiten AND-Gates 522, 524 empfangen jeweils das Abtastungsaktivierungs-Balken-Signal SE_b (das invertierte Abtastungsaktivierungssignal SE). Die ersten und zweiten AND-Gates 522, 524 empfangen jeweils ein entsprechendes Spaltenauswahl- oder Bitaktivierungssignal BIT_EN, welches dazu dient, die gewünschte Spalte für Lese/Schreib-Operationen auszuwählen. Die ersten AND-Gates 522 empfangen jeweils ein invertiertes Bitaktivierungssignal BIT_EN, während die zweiten AND-Gates 524 jeweils das Bitaktivierungssignal BIT_EN empfangen. Da die Eingaben in die ersten AND-Gates 522 beide invertiert sind, fungieren die ersten AND-Gates als negative AND-Gates.
  • Wenn der Abtastmodus ausgewählt wird, wechselt das Abtastungsaktivierungssignal SE auf High. Sowohl die ersten als auch die zweiten AND-Gates 522, 524 invertieren das empfangene Abtastungsaktivierungssignal SE, so dass die ersten AND-Gates 522 im Ergebnis das Abtastungsaktivierungs-Balken-Signal SE_b empfangen. Das Abtastungsaktivierungssignal SE im Zustand High (Abtastungsaktivierungs-Balken-Signal SE_b im Zustand Low), das von den AND-Gates 522, 524 empfangen wird, führt dazu, dass alle ihrer Ausgaben Low sind. Demgemäß sind die Bitschreib- BITWR und Haltesignale HOLD alle Low (BITWR_b und HOLD_b sind High), was dazu führt, dass weder die Daten, die am Dateneingabeanschluss 408 empfangen werden, in die Standard-Flip-Flop-Zelle 200 geschrieben werden, noch das Ausgabesignal Q am Ausgabeanschluss 466 in die Standard-Flip-Flop-Zelle 200 zurückgeführt wird. Stattdessen wird die Abtastdateneingabe, die am Abtastungseingabeanschluss 404 empfangen wird, in die Standard-Flip-Flop-Zellen 200 des Matrixfelds 502 eingegeben.
  • Im normalen Betriebsmodus (nicht dem Abtastmodus) befindet sich das Abtastungsaktivierungssignal SE im Zustand Low. Dies ermöglicht ein Erzeugen der entsprechenden Halte- und Bitschreibsignale für die ausgewählten Spalten 504 des Matrixfelds 502. Wenn beispielsweise ein Datenwert in die erste Spalte 504a geschrieben werden soll, wechselt das entsprechende Bitaktivierungssignal BIT_EN0 auf High. Somit empfängt das erste AND-Gate 522a das invertierte Abtastungsaktivierungssignal SE im Zustand Low und das invertierte Bitaktivierungssignal BIT_EN0 im Zustand High, was zu einer Ausgabe aus dem ersten AND-Gate 522a im Zustand Low führt. Die Ausgabe aus dem ersten AND-Gate 522a im Zustand Low wird zu einem Haltesignal HOLD0 im Zustand Low für die erste Spalte 504a umgesetzt, so dass das aktuelle Ausgabesignal Q nicht von dem Datenausgabeanschluss 466 zurückgeführt wird und von der der ausgewählten Standard-Flip-Flop-Zelle 200 gehalten wird. Die ersten AND-Gates 522b, 522c der nicht-ausgewählten Spalten 504b, 504c empfangen jeweils invertierte Bitaktivierungssignale BIT_ENi, BIT_EN2 im Zustand Low, was dazu führt, dass die ersten AND-Gates 522b, 522c jeweils ein Haltesignal HOLD1, HOLD2 im Zustand High bereitstellen. Somit halten die Standard-Flip-Flop-Zellen 200 der nicht-ausgewählten Spalten 504b, 504 cjeweils ihre aktuellen Datenwerte, anstatt ein empfangenes Dateneingabesignal zu schreiben.
  • Das zweite AND-Gate 524a der ausgewählten Spalte 504a empfängt und invertiert ebenfalls das Abtastungsaktivierungssignal SE im Zustand Low. Das zweite AND-Gate 524a empfängt ferner das Bitaktivierungssignal BIT_EN0 im Zustand High und gibt deswegen ein Bitschreibsignal BITWRo im Zustand High aus. Das Bitschreibsignal BITWRo im Zustand High, das an dem Bitschreibanschluss 416 empfangen wird (und das Bitschreib-Balken-Signal BITWR_b im Zustand Low, das am Anschluss 410 empfangen wird), ermöglicht, dass ein Dateneingabesignal D, das am Dateneingabeanschluss 408 empfangen wird, durch die Standard-Flip-Flop-Zelle 200 der ausgewählten Spalten 504a Latch-gespeichert wird.
  • Wie in dem Beispiel der 5 dargestellt, werden die Dateneingabesignale D0, D1, D2 (zusammengefasst als Datensignale D bezeichnet) mit den Eingabeanschlüssen 408 der Standard-Flip-Flop-Zellen 200 der entsprechenden Spalten 504a, 504b, 504c verbunden. Die Datensignale D0, D1, D2 können über eine Pufferschaltung 530, welche zum Beispiel zwei in Reihe geschaltete Inverter umfasst, mit den richtigen Standard-Flip-Flop-Zellen 200 verbunden werden. Somit würde, basierend auf dem Haltesignal HOLD0 im Zustand Low und dem Bitschreibsignal BITWRo im Zustand High, das Datensignal Do für die ausgewählte erste Spalte 504a von der Standard-Flip-Flop-Zelle 200 Latch-gespeichert.
  • 6 ist ein Blockschaubild, welches weitere Komponenten veranschaulicht, die zu der Speichervorrichtung 500 der 5 gehören können. In dem dargestellten Beispiel kann ein Schreib-Decoder 606, der dafür konfiguriert ist, die zugeführte Schreibadresse 604 zu decodieren, den Reihentreibern 512 des Matrixfelds 502 Ausgabesignale bereitstellen. Der Schreib-Decoder 606 kann dem Matrixfeld 500 die Wortleitungs-Schreibsignale wwlo, wwli, wwl2 zuführen, die in Verbindung mit 5 beschrieben wurden. Ferner können der Matrix die Steuersignale 602 sowie die Daten in 612 und die Bitschreibmaske 614 bereitgestellt werden. Ein Lese-Decoder 610 ist dafür konfiguriert, eine zugeführte Leseadresse 608 zu decodieren, und kann die decodierte Adresse an einen Lesemultiplexer 616 senden, welcher die aus dem Matrixfeld ausgegebenen Signale kombiniert, um eine Datenausgabe 618 bereitzustellen.
  • 7 zeigt eine beispielhafte Realisierung eines Matrixfelds 700 von Standard-Flip-Flop-Zellen 200, bei welcher das Speichermatrixfeld 700 in vier Teilmatrixfelder 701, 702, 703, 704 segmentiert ist. Wie oben angegeben, sind die Standard-Flip-Flop-Zellen 200 für eine Verwendung in Speichermatrixfeldern wie den Teilmatrixfeldern 701 bis 704 konfiguriert und daher sind bestimmte Signale und Schaltungen auf Matrixebene vorgesehen, anstatt dass sie in die Standard-Flip-Flop-Zelle 200 integriert sind. Bei einer Anordnung wie dem in 7 dargestellten Matrixfeld 700 kann die Matrixebenenfunktionalität zwischen den Teilmatrixfeldern 701 bis 704 positioniert sein.
  • Daher sind die Reihentreiber 512, welche Signale wie die Wortleitungs-Schreibsignale und die Taktimpulssignale empfangen und die in 5 dargestellten Taktsignale erzeugen, zentral positioniert, mit den Teilmatrixfeldern 701 und 703 auf einer lateralen Seite der Reihentreiber 512 und den Teilmatrixfeldern 702 und 704 auf der anderen lateralen Seite der Reihentreiber 512.
  • In ähnlicher Weise sind die Spaltentreiber 520, welche die Bitaktivierungssignale empfangen und die Bitschreibsignale und die Haltesignale erzeugen, wie in 5 dargestellt, zentral positioniert, mit den Teilmatrixfeldern 701 und 702 über den Spaltentreibern 520 und den Teilmatrixfeldern 703 und 704 unter den Spaltentreibern 520. Dieser „Schmetterling“-Bodenplan beschränkt die Leitwegstrecke für die auf der Matrixebene erzeugten Signale auf ein Mindestmaß, wodurch die Geschwindigkeit verbessert und außerdem der Energieverbrauch verringert wird.
  • 8 ist ein Blockschaubild, welches die vollständige Abtastfunktionalität 800 der offenbarten Standard-Flip-Flop-Zellen 200 zeigt. 8 veranschaulicht, wie die Standard-Flip-Flop-Zellen 200 mit dem Datenausgabeanschluss Q einer Standard-Flip-Flop-Zelle 200 verbunden werden können, die mit dem Abtastungsdateneingang SI der nächsten Standard-Flip-Flop-Zelle 200 verbunden ist. Dies ermöglicht, dass für ein vollständiges Matrixfeld der Standard-Flip-Flop-Zellen 200 eine Testmethodik auf Abtastungsbasis angewendet wird, wie z.B. eine Automatische Testmustererzeugung (Automatic Test Pattern Generation, ATPG). Ferner kann durch die in 8 dargestellte Abtastungsanordnung die Notwendigkeit teurerer Testanordnungen entfallen, wie z.B. eines Built-In Self-Test (BIST), welcher erforderlich macht, dass eine zusätzliche äußere Logik in das Speichermatrixfeld eingebaut wird. Eine Verkettung der Standard-Flip-Flop-Zellen 200 miteinander, wie in 8 dargestellt, kann einen Testzugriff auf die Gesamtheit des Matrixfelds der Standard-Flip-Flop-Zellen 200 ermöglichen.
  • 9 veranschaulicht allgemein ein Beispiel für ein Verfahren 900 zum Betreiben einer Speichervorrichtung wie der Speichervorrichtung, die in der oben beschriebenen 5 veranschaulicht ist. Das Verfahren beginnt mit einer Operation 902, wobei mehrere Standard-Flip-Flop-Zellen bereitgestellt werden. In einigen Beispielen können in der Operation 902 die in 4 dargestellten Standard-Flip-Flop-Zellen 200 bereitgestellt werden. Wie oben angegeben, kann jede der Standard-Flip-Flop-Zellen 200 beispielsweise einen Dateneingabeanschluss, einen Halteanschluss und einen Taktanschluss umfassen. In einer Operation 904 wird in jede der mehreren Standard-Flip-Flop-Zellen ein erstes Datensignal Latch-gespeichert. Wieder Bezug nehmend auf 4, kann das erste Datensignal ein Datensignal D sein, welches am Eingabeanschluss 408 empfangen wird und durch das Haupt- und Neben-Latch 310, 312 zur Ausgabe an den Ausgabeanschluss 466 Latch-gespeichert wird.
  • In einer Operation 906 werden dem Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Taktsignal und ein invertiertes Taktsignal bereitgestellt. Wie oben angegeben, stellt ein externer Taktpuffer jeder der mehreren Standard-Flip-Flop-Zellen 200 das Taktsignal CLK sowie das invertierte Takt-Balken-Signal CLK_b bereit, da die Standard-Flip-Flop-Zellen 200 für ein Speichermatrixfeld konfiguriert sind. Im Gegensatz dazu empfangen typische Flip-Flop-Zellen einen Taktimpuls und erzeugen dann das Takt- und das Takt-Balken-Signal unter Verwendung eines Puffers, der in die Flip-Flop-Zelle integriert ist.
  • In einer Operation 908 wird ein Haltesignal an den Halteanschluss jeder der mehreren Standard-Flip-Flop-Zellen 200 gesendet. Wie oben angegeben, wird, wenn das Haltesignal HOLD bestätigt wird, das aktuelle Datensignal von der Standard-Flip-Flop-Zelle 200 gehalten, anstatt ein empfangenes Datensignal in die Standard-Flip-Flop-Zelle 200 zu schreiben. Entsprechend wird in einer Operation 910 ein zweites Datensignal am Dateneingabeanschluss jeder der Standard-Flip-Flop-Zellen empfangen, aber basierend auf dem in der Operation 908 empfangenen Haltesignal wird in einer Operation 912 in jeder der mehreren Standard-Flip-Flop-Zellen das erste Datensignal gehalten oder weiter Latch-gespeichert, anstatt dass das empfangene zweite Datensignal Latch-gespeichert wird.
  • In einer Operation 914 wird ein Bitschreibsignal an den Bitschreibanschluss jeder der mehreren Standard-Flip-Flop-Zellen gesendet. Wie oben beschrieben, wird, wenn das Bitschreibsignal bestätigt wird, ein Datensignal D, das am Eingabeanschluss empfangen wird, von den Standard-Flip-Flop-Zellen 200 geschrieben oder Latch-gespeichert. Daher wird bei einer Operation 916 in Reaktion auf das Bitschreibsignal das empfangene zweite Datensignal in jede der mehreren Standard-Flip-Flop-Zellen Latch-gespeichert.
  • In Erscheinungsformen der vorliegenden Offenbarung kann eine Standard-Flip-Flop-Zelle bereitgestellt werden, mit welcher die Anzahl der benötigten Transistoren verringert wird, was zu einem niedrigeren Energieverbrauch sowie zu einer geringeren Zellenfläche führen kann. Die geringere Zellenfläche ermöglicht dichter gepackte Speichermatrixfelder, was wiederum die Leitwegstrecke für die wichtigen Flip-Flop-Signale verringert, wodurch die Geschwindigkeit der Vorrichtung erhöht wird. Außerdem wird die Taktungsenergie verringert, da Aspekte der Taktung des Matrixfelds im Bodenplan der Standard-Flip-Flop-Zelle konzipiert sind.
  • Einige umfasste Ausführungsformen können eine Standard-Flip-Flop-Zelle bereitstellen, welche einen Dateneingabeanschluss, der dafür konfiguriert ist, ein Datensignal zu empfangen, einen Takteingabeanschluss, der dafür konfiguriert ist, ein Taktsignal zu empfangen, einen Datenausgabeanschluss und ein Latch umfasst. Außerdem ist eine Bitschreibschaltung dafür konfiguriert, ein Bitschreibsignal zu empfangen. Das empfangene Datensignal wird Latch-gespeichert und in Reaktion auf das Bitschreibsignal und das Taktsignal am Ausgabeanschluss bereitgestellt. Eine Halteschaltung ist dafür konfiguriert, ein Haltesignal zu empfangen, und in Reaktion auf das Haltesignal und das Taktsignal wird das empfangene Datensignal nicht Latch-gespeichert und am Datenausgabeanschluss bereitgestellt.
  • Gemäß weiteren Erscheinungsformen der Offenbarung umfasst eine Speichervorrichtung mehrere Standard-Flip-Flop-Zellen Jede der Standard-Flip-Flop-Zellen weist einen Dateneingabeanschluss, einen Takteingabeanschluss, einen Bitschreibanschluss und einen Datenausgabeanschluss auf. Eine erste Treiberschaltung ist dafür konfiguriert, an den Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Taktsignal und ein invertiertes Taktsignal auszugeben. Eine zweite Treiberschaltung ist dafür konfiguriert, an den Bitschreibanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Bitschreibsignal auszugeben. Jede der mehreren Standard-Flip-Flop-Zellen ist dafür konfiguriert, dass sie in Reaktion auf die empfangenen Takt- und Bitschreibsignale ein erstes Datensignal, das am Dateneingabeanschluss empfangen wird, Latch-speichert.
  • Gemäß anderen Erscheinungsformen der Offenbarung umfasst ein Verfahren Bereitstellen mehrerer Standard-Flip-Flop-Zellen, von denen jede einen Dateneingabeanschluss, einen Halteanschluss und einen Taktanschluss aufweist. In jede der mehreren Standard-Flip-Flop-Zellen wird ein erstes Datensignal Latch-gespeichert. An den Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen werden ein Taktsignal und ein invertiertes Taktsignal gesendet. An den Halteanschluss jeder der mehreren Standard-Flip-Flop-Zellen wird ein Haltesignal gesendet. Am Dateneingabeanschluss jeder der Standard-Flip-Flop-Zellen wird ein zweites Datensignal empfangen und in Reaktion auf das Haltesignal wird das erste Datensignal gehalten oder statt des empfangenen zweiten Datensignals in jede der mehreren Standard-Flip-Flop-Zellen Latch-gespeichert.
  • In der vorliegenden Offenbarung werden verschiedene Ausführungsformen so umrissen, dass der Fachmann die Aspekte der vorliegenden Offenbarung besser verstehen kann. Der Fachmann erkennt, dass er die vorliegende Offenbarung einfach als eine Basis zum Gestalten oder Modifizieren anderer Verfahren und Strukturen zum Erfüllen derselben Zwecke und/oder Erhalten derselben Vorteile wie bei den hier vorgestellten Ausführungsformen nutzen kann. Der Fachmann realisiert auch, dass solche äquivalenten Konstruktionen nicht von der Idee und vom Umfang der vorliegenden Offenbarung abweichen und dass er verschiedene Änderungen, Ersetzungen und Abwandlungen hieran vornehmen kann, ohne von der Idee und vom Umfang der vorliegenden Offenbarung abzuweichen.

Claims (20)

  1. Standard-Flip-Flop-Zelle, umfassend: einen Dateneingabeanschluss, der dafür konfiguriert ist, ein Datensignal zu empfangen; einen Takteingabeanschluss, der dafür konfiguriert ist, ein Taktsignal zu empfangen; einen Datenausgabeanschluss; ein Latch; eine Bitschreibschaltung, die dafür konfiguriert ist, ein Bitschreibsignal zu empfangen, wobei das empfangene Datensignal Latch-gespeichert und in Reaktion auf das Bitschreibsignal und das Taktsignal am Ausgabeanschluss bereitgestellt wird; und eine Halteschaltung, die dafür konfiguriert ist, ein Haltesignal zu empfangen, wobei in Reaktion auf das Haltesignal und das Taktsignal das empfangene Datensignal nicht Latch-gespeichert und am Datenausgabeanschluss bereitgestellt wird.
  2. Standard-Flip-Flop-Zelle nach Anspruch 1, ferner umfassend einen Takt-Balken-Anschluss, der dafür konfiguriert ist, ein invertiertes Taktsignal zu empfangen, das extern der Standard-Flip-Flop-Zelle erzeugt wird.
  3. Standard-Flip-Flop-Zelle nach Anspruch 1 oder 2, wobei das Latch ein Haupt-Latch und ein Neben-Latch umfasst.
  4. Standard-Flip-Flop-Zelle nach einem der vorhergehenden Ansprüche, ferner umfassend: einen Abtastungseingabeanschluss, der dafür konfiguriert ist, ein Abtastungsdatensignal zu empfangen; einen Abtastungsaktivierungsanschluss, der dafür konfiguriert ist, ein Abtastungsaktivierungssignal zu empfangen, wobei das Abtastungsdatensignal in Reaktion auf das Abtastungseingabesignal und das Taktsignal an dem Ausgangsanschluss bereitgestellt wird.
  5. Standard-Flip-Flop-Zelle nach Anspruch 4, ferner umfassend einen Abtastungsaktivierungs-Balken-Anschluss, der dafür konfiguriert ist, ein invertiertes Abtastungsaktivierungssignal zu empfangen, das extern der Standard-Flip-Flop-Zelle erzeugt wird.
  6. Standard-Flip-Flop-Zelle nach Anspruch 5, ferner umfassend einen Abtastungsaktivierungstransistor, welcher einen Gate-Anschluss, einen Eingabeanschluss und einen Ausgabeanschluss umfasst, wobei der Gate-Anschluss mit dem Abtastungsaktivierungsanschluss verbunden ist, der Eingabeanschluss mit dem Abtastungseingabeanschluss verbunden ist und der Ausgabeanschluss mit dem Latch verbunden ist, so dass das Abtastungsdatensignal, das an dem Abtastungseingabeanschluss empfangen wird, in Reaktion auf das Abtastungsaktivierungssignal, das an dem Abtastungsaktivierungsanschluss empfangen wird, an das Latch ausgegeben wird.
  7. Standard-Flip-Flop-Zelle nach einem der vorhergehenden Ansprüche, wobei die Bitschreibschaltung einen Bitschreibtransistor umfasst, der einen Gate-Anschluss, einen Eingabeanschluss und einen Ausgabeanschluss umfasst, wobei der Gate-Anschluss mit dem Bitschreibanschluss verbunden ist, der Eingabeanschluss mit dem Dateneingabeanschluss verbunden ist und der Ausgabeanschluss mit dem Latch verbunden ist, so dass das Datensignal, das an dem Dateneingabeanschluss empfangen wird, in Reaktion auf das Schreibsignal, das an dem Bitschreibanschluss empfangen wird, an das Latch ausgegeben wird.
  8. Standard-Flip-Flop-Zelle nach einem der vorhergehenden Ansprüche, wobei die Halteschaltung einen Haltetransistor umfasst, der einen Gate-Anschluss, einen Eingabeanschluss und einen Ausgabeanschluss umfasst, wobei der Gate-Anschluss mit dem Halteanschluss verbunden ist, der Eingabeanschluss mit dem Datenausgabeanschluss verbunden ist und der Ausgabeanschluss mit dem Latch verbunden ist, so dass ein ausgegebenes Datensignal an dem Datenausgabeanschluss in Reaktion auf das Haltesignal, das an dem Halteanschluss empfangen wird, zu dem Latch zurückgeführt wird.
  9. Speichervorrichtung, umfassend: mehrere Standard-Flip-Flop-Zellen, welche jeweils einen Dateneingabeanschluss, einen Takteingabeanschluss, einen Bitschreibanschluss und einen Datenausgabeanschluss umfassen; eine erste Treiberschaltung, welche dafür konfiguriert ist, an den Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Taktsignal und ein invertiertes Taktsignal auszugeben; eine zweite Treiberschaltung, welche dafür konfiguriert ist, an den Bitschreibanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Bitschreibsignal auszugeben; und wobei jede der mehreren Standard-Flip-Flop-Zellen dafür konfiguriert ist, dass sie ein erstes Datensignal, das an dem Dateneingabeanschluss empfangen wird, in Reaktion auf das empfangene Taktsignal und Bitschreibsignal Latch-speichert.
  10. Speichervorrichtung nach Anspruch 9, wobei: jede der mehreren Standard-Flip-Flop-Zellen ferner einen Halteanschluss umfasst; die zweite Treiberschaltung dafür konfiguriert ist, an den Halteanschluss jeder der mehreren Standard-Flip-Flop-Zellen ein Haltesignal auszugeben; jede der mehreren Standard-Flip-Flop-Zellen dafür konfiguriert ist, dass sie in Reaktion auf das empfangene Taktsignal und Haltesignal die ersten Daten weiter Latch-speichert und nicht ein zweites Datensignal Latch-speichert, das an dem Dateneingabeanschluss empfangen wird.
  11. Speichervorrichtung nach Anspruch 9 oder 10, wobei die mehreren Standard-Flip-Flop-Zellen in einem Matrixfeld angeordnet sind, welches mindestens eine Wortleitung umfasst, und wobei die erste Treiberschaltung ferner dafür konfiguriert ist, in Reaktion auf ein Wortleitungs-Auswahlsignal das Taktsignal und das invertierte Taktsignal an den Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen auszugeben.
  12. Speichervorrichtung nach einem der vorhergehenden Ansprüche 9 bis 11, wobei die mehreren Standard-Flip-Flop-Zellen in einem Matrixfeld angeordnet sind, welches mehrere Wortleitungen umfasst, und wobei die die erste Treiberschaltung dafür konfiguriert ist, in Reaktion auf ein Spaltenauswahlsignal das Bitschreibsignal auszugeben.
  13. Speichervorrichtung nach einem der vorhergehenden Ansprüche 9 bis 12, wobei die mehreren Standard-Flip-Flop-Zellen jeweils einen Abtastungseingabeanschluss, der dafür konfiguriert ist, ein Abtastungsdatensignal zu empfangen, einen Abtastungsaktivierungsanschluss, der dafür konfiguriert ist, ein Abtastungsaktivierungssignal zu empfangen, und einen Abtastungsaktivierungs-Balken-Anschluss umfassen, der dafür konfiguriert ist, ein invertiertes Abtastungsaktivierungssignal zu empfangen, und wobei die Speichervorrichtung ferner umfasst: einen Inverter, der dafür konfiguriert ist, das Abtastungsaktivierungssignal zu empfangen und das invertierte Abtastungsaktivierungssignal an den Abtastungsaktivierungs-Balken-Anschluss jeder der mehreren Standard-Flip-Flop-Zellen auszugeben.
  14. Speichervorrichtung nach Anspruch 13, wobei die mehreren Standard-Flip-Flop-Zellen jeweils dafür konfiguriert sind, in Reaktion auf das Abtastungsaktivierungssignal und das invertierte Abtastungsaktivierungssignal dem Datenausgabeanschluss das empfangene Abtastungsdatensignal bereitzustellen.
  15. Speichervorrichtung nach einem der vorhergehenden Ansprüche 9 bis 14, wobei die mehreren Standard-Flip-Flop-Zellen in einem Matrixfeld angeordnet sind, welches mehrere Wortleitungen umfasst, und wobei die die erste Treiberschaltung ferner dafür konfiguriert ist, in Reaktion auf einen empfangenen Taktimpuls das Taktsignal und das invertierte Taktsignal in Reaktion auf ein Wortleitungs-Auswahlsignal nur an eine erste Wortleitung der mehreren Wortleitungen auszugeben.
  16. Verfahren, umfassend: Bereitstellen mehrerer Standard-Flip-Flop-Zellen, welche jeweils einen Dateneingabeanschluss, einen Halteanschluss und einen Taktanschluss umfassen; Latch-Speichern eines ersten Datensignals in jede der mehreren Standard-Flip-Flop-Zellen; Senden eines Taktsignals und eines invertierten Taktsignals an den Takteingabeanschluss jeder der mehreren Standard-Flip-Flop-Zellen; Senden eines Haltesignals an den Halteanschluss jeder der mehreren Standard-Flip-Flop-Zellen; Empfangen eines zweiten Datensignals an dem Dateneingabeanschluss jeder der Standard-Flip-Flop-Zellen; und Fortsetzen der Latch-Speicherung des ersten Datensignals in jede der mehreren Standard-Flip-Flop-Zellen in Reaktion auf das Haltesignal.
  17. Verfahren nach Anspruch 16, wobei die mehreren Standard-Flip-Flop-Zellen jeweils einen Bitschreibanschluss umfassen, wobei das Verfahren ferner umfasst: Senden eines Bitschreibsignals an den Bitschreibanschluss jeder der mehreren Standard-Flip-Flop-Zellen; Latch-Speichern des zweiten Datensignals in jede der mehreren Standard-Flip-Flop-Zellen in Reaktion auf das Bitschreibsignal.
  18. Verfahren nach Anspruch 16 oder 17, ferner umfassend: Senden eines Abtastungsaktivierungssignals an jede der mehreren Standard-Flip-Flop-Zellen; und Durchführen eines Abtasttests der mehreren Standard-Flip-Flop-Zellen in Reaktion auf das Abtastungsaktivierungssignal.
  19. Verfahren nach Anspruch 18, ferner umfassend: Invertieren des Abtastungsaktivierungssignals; und Senden des invertierten Abtastungsaktivierungssignals an jede der mehreren Standard-Flip-Flop-Zellen.
  20. Verfahren nach Anspruch 18 oder 19, wobei jede der mehreren Standard-Flip-Flop-Zellen einen Abtastungseingabeanschluss und einen Datenausgabeanschluss umfasst und wobei das Durchführen des Abtasttests umfasst: Senden eines Abtastungsdatensignals an den Abtastungseingabeanschluss einer ersten der mehreren Standard-Flip-Flop-Zellen; Bereitstellen eines Ausgabesignals an dem Datenausgabeanschluss der ersten der mehreren Standard-Flip-Flop-Zellen in Reaktion auf das Abtastungsdatensignal; und Verbinden des Datenausgabeanschlusses der ersten der mehreren Standard-Flip-Flop-Zellen mit dem Abtastungseingabeanschluss einer zweiten der mehreren Standard-Flip-Flop-Zellen.
DE102019115908.3A 2018-08-15 2019-06-12 Standard-flip-flop-zelle Pending DE102019115908A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862764735P 2018-08-15 2018-08-15
US62/764,735 2018-08-15
US16/428,123 US10951201B2 (en) 2018-08-15 2019-05-31 Flip flop standard cell
US16/428,123 2019-05-31

Publications (1)

Publication Number Publication Date
DE102019115908A1 true DE102019115908A1 (de) 2020-02-20

Family

ID=69523525

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019115908.3A Pending DE102019115908A1 (de) 2018-08-15 2019-06-12 Standard-flip-flop-zelle

Country Status (5)

Country Link
US (4) US10951201B2 (de)
KR (1) KR102213408B1 (de)
CN (1) CN110866368B (de)
DE (1) DE102019115908A1 (de)
TW (1) TWI711039B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951201B2 (en) 2018-08-15 2021-03-16 Taiwan Semiconductor Manufacturing Company, Ltd. Flip flop standard cell
US11923369B2 (en) * 2020-04-30 2024-03-05 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit, system and method of forming the same
US11509293B2 (en) * 2020-06-12 2022-11-22 Taiwan Semiconductor Manufacturing Co., Ltd. Footprint for multi-bit flip flop
IT202200007967A1 (it) * 2022-04-22 2023-10-22 St Microelectronics Srl Memoria ad accesso casuale e corrispondente metodo di gestione di una memoria ad accesso casuale
CN114567294B (zh) * 2022-04-28 2023-01-24 深圳比特微电子科技有限公司 具有多路选择器功能的锁存器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297159B2 (ja) 2006-12-08 2009-07-15 ソニー株式会社 フリップフロップおよび半導体集積回路
DE102009029784A1 (de) * 2009-06-18 2010-12-30 Atmel Automotive Gmbh Integrierter Schaltkreis und Standardzelle eines integrierten Schaltkreises
WO2011011007A1 (en) 2009-07-23 2011-01-27 Hewlett-Packard Development, Company, L.P. Non-volatile data-storage latch
US8045401B2 (en) * 2009-09-18 2011-10-25 Arm Limited Supporting scan functions within memories
KR101928271B1 (ko) * 2012-03-16 2018-12-13 삼성전자 주식회사 스캔 플립-플롭, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치들
KR102010454B1 (ko) * 2012-12-26 2019-08-13 삼성전자주식회사 스캔 플립-플롭, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치
US9384812B2 (en) 2014-01-28 2016-07-05 Qualcomm Incorporated Three-phase GSHE-MTJ non-volatile flip-flop
US9432003B2 (en) * 2014-05-05 2016-08-30 Synopsis, Inc. Multi-bit standard cells for consolidating transistors with selective sourcing
US9490783B1 (en) * 2015-04-15 2016-11-08 Texas Instruments Incorporated Area efficient multi bit flip flop topologies
CN106771958B (zh) * 2015-11-19 2020-11-03 恩智浦美国有限公司 具有低功率扫描系统的集成电路
CN109408846B (zh) 2017-08-18 2024-03-08 三星电子株式会社 集成电路、非暂时性计算机可读介质以及计算系统
KR20180033490A (ko) * 2018-03-26 2018-04-03 주식회사 닷 정보 출력 장치
KR102373540B1 (ko) * 2018-04-19 2022-03-11 삼성전자주식회사 표준 셀들을 포함하는 집적 회로, 이를 제조하기 위한 방법 및 컴퓨팅 시스템
US10951201B2 (en) 2018-08-15 2021-03-16 Taiwan Semiconductor Manufacturing Company, Ltd. Flip flop standard cell
US10734067B1 (en) * 2019-08-26 2020-08-04 Micron Technology, Inc. Memory device latch circuitry

Also Published As

Publication number Publication date
US20200059223A1 (en) 2020-02-20
KR102213408B1 (ko) 2021-02-09
US11437982B2 (en) 2022-09-06
TWI711039B (zh) 2020-11-21
CN110866368B (zh) 2023-08-08
KR20200019833A (ko) 2020-02-25
TW202029192A (zh) 2020-08-01
US20210203314A1 (en) 2021-07-01
US20240072777A1 (en) 2024-02-29
US20220368317A1 (en) 2022-11-17
CN110866368A (zh) 2020-03-06
US10951201B2 (en) 2021-03-16
US11824541B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
DE102019115908A1 (de) Standard-flip-flop-zelle
DE102012024886B4 (de) Boundary Scan-Kette für gestapelten Speicher
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE2128790A1 (de) Einrichtung zum Verwenden mehrerer betriebsfähiger Schaltungen in einem in tegrierten Schaltungsplättchen
DE102019116997A1 (de) Abgriffzellen
DE102020115968A1 (de) Systeme und verfahren für multi-bit-speicher mit eingebetteter logik
DE19530100A1 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE102011075023A1 (de) Indexierter Registerzugriff für einen Speicherbaustein
DE112020004747T5 (de) Geräte und Verfahren für Direktzugriffs-Hybridtests
DE112005003012T5 (de) Direktzugriffsspeicher mit Prüfschaltung
DE19823930A1 (de) Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
DE10103614A1 (de) Halbleiterspeicher
DE19839089B4 (de) Datenpuffer für einen programmierbaren Speicher mit mehreren Zuständen
DE102006061877A1 (de) Authentifizierbare Positionierungsdaten
DE102008013099A1 (de) Speichertestschaltung
DE102016115922A1 (de) Halbleiterschaltung
DE10032256C2 (de) Chip-ID-Register-Anordnung
DE112011103645T5 (de) Verfahren und Vorrichtung zum Durchführen einer Speicherschnittstellenkalibrierung
DE102020115154A1 (de) Multiplexer
DE4115084C2 (de) Vorrichtung zum Testen einer Halbleiterspeichereinrichtung
DE102019118926A1 (de) Speicherredundanz
DE60212103T2 (de) Strukturierter speicherzellentest
DE102020128998A1 (de) Multi-bit flip flop
EP0771463B1 (de) Verfahren und vorrichtung zum speichern und drehen von bitmustern

Legal Events

Date Code Title Description
R012 Request for examination validly filed