DE69227144T2 - Programmierbare logische Einheit - Google Patents
Programmierbare logische EinheitInfo
- Publication number
- DE69227144T2 DE69227144T2 DE69227144T DE69227144T DE69227144T2 DE 69227144 T2 DE69227144 T2 DE 69227144T2 DE 69227144 T DE69227144 T DE 69227144T DE 69227144 T DE69227144 T DE 69227144T DE 69227144 T2 DE69227144 T2 DE 69227144T2
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- logic circuit
- signal
- programmable logic
- clock
- 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 - Fee Related
Links
- 238000013500 data storage Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 230000000295 complement effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 34
- 238000000034 method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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
- H03K19/17748—Structural details of configuration resources
- H03K19/17764—Structural details of configuration resources for reliability
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/403—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh
- G11C11/404—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with one charge-transfer gate, e.g. MOS transistor, per cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/412—Digital 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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
- H03K19/17704—Logic 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 the logic functions being realised by the interconnection of rows and columns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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
- H03K19/17736—Structural details of routing resources
- H03K19/1774—Structural details of routing resources for global signals, e.g. clock, reset
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
Description
- Diese Erfindung betrifft eine programmierbare Logikeinheit- Schaltung gemäß dem Oberbegriff des Patentanspruchs 1. Die Merkmale einer solchen Schaltung sind in dem Dokument US-A-4 878 200 offenbart.
- Es liegen zahlreiche Techniken vor, die zum Realisieren von Schaltungen zum Erfüllen von Anwenderanforderungen entwickelt sind, unter Einsatz einer integrierten Halbleitertechnologie. Ein Gatearray ist eine der nützlichsten integrierten Schaltungen. Gaterrays, wie allgemein bekannt, sind integrierte Schaltungen, die gewünschte Logikschaltungen dadurch realisieren, daß vorab Transistoren auf Wafern gebildet und anschließend selektiv diese Transistoren mit geeigneten Metallisierungsmustern verbunden werden. Die Verbindung der Transistoren über eine Metallverdrahtung erfolgt durch die Hersteller nahezu im letzten Schritt des Herstellungsprozesses der integrierten Schaltungen. Hierdurch ist es möglich, das Produkt den Anwendern sehr schnell anzubieten.
- Jedoch muß der Anwender normalerweise mehrere Tage bis mehrere Wochen warten, bevor er das Produkt nach dessen Bestellung erhält, da der Hersteller zunächst die Schaltungsformation von dem Anwender empfängt, er ein Maskenmuster für die Metallverdrahtungsschichten auf Basis der Schaltungsformation bildet und anschließend die integrierte Schaltung unter Einsatz der Maske bildet. Sollte der Anwender die falsche Schaltungsinformation an den Hersteller aufgrund eines Fehlers angegeben haben, so lassen sich die hergestellten integrierten Schaltungen nicht einsetzen. Zum Korrigieren des Fehlers ist es erforderlich, eine neu integrierte Schaltung von Grund auf zu entwerfen.
- Zum Eliminieren dieses Problems wurden feldprogrammierte Gatearrays (field programmable gate array, FPGA) entwickelt. FPGA-Einheiten ermöglichen dem Anwender selbst, diese zum Realisieren der gewünschten Schaltung zu programmieren, ohne die Schaltungsinformation dem Hersteller zu übermitteln. Eines der Merkmale der Gatearrays besteht darin, daß - wie zuvor beschrieben - selektive Metallverdrahtungen eine gewünschte Logikschaltung ermöglichen. Durch vorhergehendes Bilden mehrerer Drähte und interner Schalter in einer integrierten Schaltung und anschließendes selektives Verbinden derselben durch die internen Schalter ist es möglich, daß die integrierte Schaltung dieselbe Funktion wie ein übliches Gatearray emuliert.
- Eine derartige FPGA-Einheit ist in dem US-Patent 4,706,216 und im US-Patent Nr. 4,758,985 offenbart. Insbesondere das erstere offenbart eine Einheitsschaltung, die aus einer Speicherschaltung bestehend aus Schieberegistern aufgebaut ist, sowie einer kombinatorischen Logikschaltung, eine Temporärspeicherschaltung (ein D-Flip-Flop) und Auswahlschaltungen. Das letztere offenbart eine Schaltungseinheit, die aus einer Speicherschaltung bestehend aus Schieberegistern aufgebaut ist, sowie aus einer kombinatorischen Logikschaltung, einer Temporär- Speicherschaltung (einem D-Flip-Flop) und Auswahlschaltungen. Es offenbart auch eine Schaltungskonfiguration dieser Schaltungseinheiten, die in Matrixform angeordnet sind.
- Bei Entwicklung derartiger FPGA-Einheiten ist die Größe der Schaltungseinheit sowie der Entwurf der Programmspeicherschaltung zu berücksichtigen.
- Die oben beschriebene FPGA-Schaltungseinheit ermöglicht eine große Vielzahl an kombinatorischen Logikschaltungen, und sie weist ein D-Flip-Flop auf, wodurch die Größe angehoben ist.
- Zum Beobachten des Zustands der internen Quoten der Schaltungseinheit ist zusätzlicher Schaltungsaufwand erforderlich, wodurch sich die Größe weiter erhöht. Eine höher integrierte Schaltungseinheit weist den Vorteil auf, daß sie mehrere Arten von Schaltungen in einer einzigen Einheit realisiert, jedoch hat sie den Nachteil, daß sie zum Integrieren einer Zahl von Schaltungseinheiten aufgrund der zugeordneten Zunahme der Schaltungsfläche weniger geeignet ist. Zudem übersteigt dann, wenn die gewünschte Logikschaltung eine einfache kombinatorische Logikschaltung ist, die Zahl der nicht genützten Schaltungen in der Schaltungseinheit diejenigen der betriebsgemäßen Schaltungen, was zu einer großen Vergeudung führt.
- Andererseits erfordert in den Schieberegistern der Speicherschaltung der serielle Datentransfer eine lange Zeitdauer für das Senden des großen Datenvolumens. Zusätzlich müssen sämtliche Daten dann erneut übertragen werden, wenn ein Teil der Daten in der Speicherschaltung zu überschreiben ist oder ein Teil der Daten zu lesen ist.
- Demnach besteht die Aufgabe der vorliegenden Erfindung in der Schaffung einer programmierbaren Logikschaltungseinheit, die sich bestens zum Aufbau eines feldprogrammierbaren Gatearrays eignet.
- Die vorgenannte Aufgabe wird durch Schaffung einer programmierbaren Logikschaltungseinheit gemäß dem Patentanspruch 1 gelöst.
- Bei der programmierbaren Logikschaltungseinheit werden die Eingangssignale durch die Eingangsauswahlschaltungen auf Basis der in der Datenspeicherschaltung gespeicherten Daten ausgewählt, und sie werden der kombinatorischen Logikschaltung zugeführt. Ähnlich wählt auf Basis der in der Datenspeicherschaltung gespeicherten Daten die Ausgangsauswahlschaltung entweder das Ausgangssignal der kombinatorischen Logikschaltung oder das Ausgangssignal der taktsynchronisierten Schaltung aus. Demnach kann eine gewünschte Logikschaltung gemäß den in der Datenspeicherschaltung gespeicherten Daten erzielt werden.
- Ein vollständigers Verständnis dieser Erfindung ergibt sich anhand der nachfolgenden detaillierten Beschreibung im Zusammenhang mit der beiliegenden Zeichnung; es zeigt:
- Fig. 1 ein Blockschaltbild einer Master-Einheitsschaltung gemäß einer Ausführungsform der vorliegenden Erfindung;
- Fig. 2 ein Blockschaltbild einer Slave-Einheitsschaltung gemäß einer Ausführungsform der vorliegenden Erfindung;
- Fig. 3 ein detailliertes Schaltbild der in Fig. 1 bezeigten Master-Schaltungseinheit;
- Fig. 4 ein detailliertes Schaltbild der in Fig. 2 gezeigten Slave-Schaltungseinheit;
- Fig. 5 ein anderes detailliertes Schaltbild der in Fig. 1 gezeigten Master-Schaltungseinheit;
- Fig. 6 ein anderes detailliertes Schaltbild der in Fig. 2 bezeigten Slave-Schaltungseinheit;
- Fig. 7A das Blockschaltbildsymbol für die in Fig. 3 und 5 gezeigte Master-Schaltungseinheit;
- Fig. 7B das Blockschaltsymbol für die in den Fig. 4 und 6 gezeigten Slave-Schaltungseinheiten;
- Fig. 8 ein konkretes Schaltbild der in den Schaltungen nach Fig. 3 bis Fig. 6 eingesetzten RAM-Zelle;
- Fig. 9 ein anderes konkretes Schaltbild der n den Schaltungen nach Fig. 3 bis Fig. 6 eingesetzten RAM-Zelle;
- Fig. 10 ein konkretes Schaltbild der in den Schaltungen nach Fig. 3 bis Fig. 6 eingesetzten Eingangsauswahlschaltung;
- Fig. 11 ein anderes konkretes Schaltbild der in den Schaltungen nach Fig. 3 bis Fig. 6 eingesetzten Eingangsauswahlschaltung;
- Fig. 12 ein Schaltbild einer D-Flip-Flop-Schaltung, die aus der Master-Schaltungseinheit nach der Fig. 3 oder Fig. 5 und der Slave-Schaltungseinheit nach Fig. 4 und Fig. 6 aufgebaut ist;
- Fig. 13 ein Blockschaltbild einer Master-Schaltungseinheit zentriert um den Abschnitt mit kurzer Verdrahtung im Zusammenhang mit den Eingängen;
- Fig. 14 ein Blockschaltbild einer Master-Schaltungseinheit, zentriert um den Abschnitt mit kurzer Verdrahtung im Zusammenhang mit dem Ausgang;
- Fig. 15 eine Ansicht zum Darstellen der langen Verdrahtung in einer Matrixanordnung mehrerer Master- Schaltungseinheiten und Slave-Schaltungseinheiten;
- Fig. 16 ein Schaltbild einer programmierbaren Logikeinheit mit einer Signalbeobachtungsvorrichtung;
- Fig. 17 ein anderes Schaltbild einer programmierbaren Logikeinheit mit einer Signalbeobachtungsvorrichtung;
- Fig. 18 ein Schaltbild einer Matrixanordnung der Schaltungseinheiten nach Fig. 16 mit einem Dekoder für die Auswahl dieser Schaltungen;
- Fig. 19 ein Schaltbild einer Matrixanordnung der in Fig. 17 gezeigten Schaltung mit einem Dekoder für die Auswahl dieser Schaltungen;
- Fig. 20 ein detaillierteres Schaltbild der in Fig. 3 gezeigten Master-Schaltungseinheit;
- Fig. 21 ein anderes detaillierteres Schaltbild der in Fig. 3 gezeigten Master-Schaltungseinheit;
- Fig. 22 ein Blockschaltbild zum Darstellen des Aufbaus des Gesamtsystems zum Steuern des Auslesens von Daten und des Schreibens von Daten in jeder RAM-Zelle einer Matrixanordnung der Schaltungseinheiten, sowie des Lesens der Ausgangsgröße von jeder Schaltungseinheit; und
- Fig. 23 ein Zeitablaufdiagramm für den Betrieb des in Fig. 22 gezeigten Systems.
- Unter Bezug auf die beiliegende Zeichnung werden nun Ausführungsformen der vorliegenden Erfindung detailliert beschrieben.
- Bei einer programmierbaren logischen Schaltung gemäß der vorliegenden Erfindung sind mehrere logische Schaltungseinheiten, die nachfolgend detailliert beschrieben werden, in einer Matrixform angeordnet. Die einzelnen Schaltungseinheiten sind systematisch miteinander durch eine Verdrahtung verbunden. Die Schaltungseinheiten weisen im wesentlichen zwei Typen auf: Master-Schaltungseinheiten und Slave-Schaltungseinheiten.
- Die Fig. 1 zeigt ein schematisches Diagramm einer Master- Schaltungseinheit. Die Master-Schaltungseinheit besteht aus einer Datenspeicherschaltung 10, zwei Eingangsanschluß- Auswahlschaltungen 11 und 12, eine kombinatorische Logikschaltung 13 mit zwei Eingängen, eine taktsynchronisierte Schaltung 14 mit einer Latchschaltung, eine Polaritätsauswahlschaltung 15 und eine Ausgangsauswahlschaltung 16.
- Eine Eingangsanschluß-Auswahlschaltung wählt eine Eingangsgröße A von N Eingängen 10 (N als positive ganze Zahl) aus, um diese der kombinatorischen Logikschaltung 13 in Übereinstimmung mit den in der Datenspeicherschaltung 10 gespeicherten Daten zuzuführen. Entsprechend wählt die andere Eingangsanschluß-Auswahlschaltung 12 die Eingangsgröße B von M Eingängen 11 (M als positive ganze Zahl) aus, um diese der kombinatorichen Logikschaltung 13 in Übereinstimmung mit den in der Datenspeicherschaltung 10 gespeicherten Daten zuzuführen. Auf der Grundlage des vorher festgelegten Logikzustands akzeptiert die kombinatorische Logikschaltung 13 die beiden Logiksignale A und B. Die Ausgangsgröße dieser Logikschaltung 13 wird der taktsynchronisierten Schaltung 14 zugeführt, die die Ausgangsgröße der Logikschaltung 13 mit einem Taktsignal synchronisiert. Der Einsatz der taktsynchronisierten Schaltung 14 vereinfacht den Abbau einer sequentiellen Schaltung, was für den Schaltungsentwurf nützlich ist. Die von den Eingängen 10 ausgewählte Eingangsgröße wird als Taktsignal der taktsynchronisierten Schaltung 14 eingesetzt. Deshalb dient die Eingangsgröße A sowohl als Eingangsgröße der kombinatorischen Logikschaltung 13 als auch als Taktsignal der taktsynchronisierten Schaltung 14. Das der taktsynchronisierten Schaltung 14 zugeführte Taktsignal wird als Taktausgang der zugeordneten Schaltung außerhalb der Master-Schaltungseinheit zugeführt. Der taktsynchronisierten Schaltung 14 wird auch ein Eingangsrücksetzsignal RI zum Rücksetzen der internen Latchschaltung zugeführt.
- Die Ausgangsgröße der taktsynchronisierten Schaltung wird der Polaritätsauswahlschaltung 15 zugeführt. Die Polaritätsauswahlschaltung 15 führt entweder dieselbe Polaritätsausgangsgröße wie die taktsynchronisierte Schaltung 14 oder eine umgekehrte zu. Diese Auswahltätigkeit wird gemäß den in der Datenspeicherschaltung 10 gespeicherten Daten gesteuert. Die Ausgangsgröße Q der Polaritätsauswahlschaltung 15 wird den zugeordneten Schaltungen außerhalb der Master- Schaltungseinheit zugeführt.
- Die Ausgangsgröße Q der Polaritätsauswahlschaltung 15 wird auch der Ausgangsauswahlschaltung 16 zugeführt, der auch die Eingangsgröße A und B in der Datenspeicherschaltung 10 gespeicherten Daten zugeführt werden. Die Ausgangsauswahlschaltung 16 wählt mindestens einen von K Ausgangsanschlüssen (K als positive ganze Zahl) aus, die die Ausgangsgröße Q der Polaritätsauswahlschaltung 15 zuführt. Diese Auswahltätigkeit wird in Übereinstimmung mit dem in der Datenspeicherschaltung 10 gespeicherten Daten durchgeführt. Die Ausgangsauswahlschaltung 16 kann das Zuführen der Ausgangsgröße Q über mehr als einen Ausgangsanschluß ermöglichen. Ein Bezug auf den Ausgang erfolgt hier im folgenden als QO. Der Ausgang QO der Ausgangsauswahlschaltung 16 kann auf einen Zustand hoher Impedanz sowie auf einen "1"- Pegel oder einen "O"-Pegel gehen. Deshalb weist die Ausgangsauswahlschaltung 16 einen Ausgang mit Dreipunktverhalten auf.
- Die Fig. 2 zeigt ein schematisches Blockschaltbild der Slave- Schaltungseinheit. Die Slave-Schaltungseinheit besteht - wie die Master-Schaltungseinheit - aus der Datenspeicherschaltung 10, zwei Eingangs-Auswahlschaltungen 12, einer kombinatorischen Logikschaltung 13 mit zwei Eingängen, einer taktsynchronisiert Schaltung 14, einer Polaritätsauswahlschaltung 15 sowie einer Ausgangsauswahlschaltung 16. Die Slave-Schaltungseinheit unterscheidet sich von der Master-Schaltungseinheit im Hinblick auf das Taktsignal zu der taktsynchronisierten Schaltung 14. Das heißt, bei der Slave-Schaltungseinheit wird ein extern zugeführtes Taktsignal CI als Taktsignal der taktsynchronisierten Schaltung 14 zugeführt. Das Taktsignal CI ist das von der Master-Schaltungseinheit zugeführte Taktsignal CO. Die Ausgangsgröße der Eingangsanschluß- Auswahlschaltung 11 dient als Eingang für die taktsynchronisierte Schaltung 14 zum Rücksetzen des Latchelements in der Slave-Schaltungseinheit. Dieses Rücksetzsignal wird als Rücksetzausgangssignal RO einer zugeordneten Schaltung außerhalb der Slave-Schaltungseinheit zugeführt.
- Die Fig. 3 zeigt eine detaillierte Struktur der in Fig. 1 gezeigten Master-Schaltungseinheit. Diese Master- Schaltungseinheit ist mit mehreren MOS-Schaltern versehen, sowie Gate-Schaltungen und dergleichen, zusätzlich zu den in Fig. 1 gezeigten Schaltungen. Neun RAM-Zellen R0 bis R8 bilden die Datenspeicherschaltung 10.
- Eine Eingangsanschluß-Auswahlschaltung 11 bewirkt die Auswahl einer der drei externen Eingänge 100 bis 12 und den Ausgang der anderen Eingangsanschluß-Auswahlschaltung 12, wohingehend die andere Eingangsanschluß-Auswahlschaltung 12 einen der drei externen Eingänge I10 bis I12 und den Ausgang der anderen Eingangsanschluß-Auswahlschaltung 11 auswählt.
- Demnach gilt hier N = M = 4. Die Eingangsauswahltätigkeit bei einer Eingangsanschluß-Auswahlschaltung 11 ist bestimmt durch die komplementären Daten D0 und /D0, sowie D1 und /D1, die aus zwei RAM-Zellen R0 und R1 in der Datenspeicherschaltung 10 ausgelesen sind. Entsprechend ist die Eingangsauswahltätigkeit bei der anderen Eingangsanschluß- Auswahlschaltung 12 bestimmt durch die komplementären Daten D6 und /D6, sowie D7 und /D7, die von zwei RAM-Zellen R6 und R7 in der Datenspeicherschaltung 10 ausgelesen werden.
- Die duch die Eingangsanschluß-Auswahlschaltung 11 ausgewählte Eingangsgröße A wird parallel einem Anschluß bei jedem der drei ODER-Gatter 21, 22 und 23 zugeführt. Dem anderen Anschluß des ODER-Gatters 21 werden aus der RAM-Zelle R2 ausgelesene Daten D2 zugeführt, und dem anderen Anschluß des ODER-Gatters 22 werden aus der RAM-Zelle R2 ausgelesene Daten /D2 zugeführt, und dem anderen Anschluß des ODER-Gatters 23 werden aus der RAM-Zelle R3 ausgelesene Daten /D3 zugeführt.
- Hier ist die kombinatorische Logikschaltung 13 ein NAND- Gatter 24 mit zwei Eingängen. Die Ausgangsgröße des ODER- Gatters 21 und das durch die andere Auswahlschaltung 12 ausgewählte Signal B werden dem NAND-Gatter 24 zugeführt.
- Die taktsynchronisierte Schaltung 14 besteht aus einem MOS- Schalter 25, bei dem an einem Ende des zugeordneten Source- Drain-Strompfads die Ausgangsgröße des NAND-Gatters 24 zugeführt wird, sowie einem Inverter 26, dessen Eingangsanschluß mit dem anderen Anschluß von dem Source- Drain-Strompfad des MOS-Schalters 25 verbunden ist, sowie ein NOR-Gatter 27 mit zwei Eingängen, dessen einem Anschluß die Ausgangsgröße des Inverters 26 zugeführt wird und dessen anderem Eingangsanschluß das extern zugeführte Rücksetzeingangssignal RI zugeführt wird und dessen Ausgangsgröße an den Eingangsanschluß des Inverters 26 rückgeführt wird. Dem Gate des MOS-Schalters 25 wird die Ausgangsgröße des ODER-Gatters 22 zugeführt, die auch als CU zugeordneten Schaltungseinheiten außerhalb der Schaltungseinheit zugeführt wird.
- Die Polaritätsauswahlschaltung 15 besteht aus einem MOS- Schalter 28, bei der ein Ende des Source-Drain-Strompfads mit dem Ausgangsanschluß des Inverters 26 verbunden ist, sowie dem MOS-Schalter 29, bei dem ein Ende des Source-Drain- Strompfads mit dem Ausgang des NOR-Gatters 27 verbunden ist, sowie einem Inverter 30, dessen Eingangsanschluß sowohl mit dem anderen Ende des MOS-Schalters 28 als auch demjenigen des MOS-Schalters 29 verbunden ist. Den Gateanschlüssen der MOS- Schalter 28 und 29 werden jeweils aus der RAM-Zelle R8 ausgelesene Daten D8 und /D8 zugeführt. Die Ausgangsgröße des Inverters 30 wird als Signal Q zugeordneten Schaltungsteilen außerhalb der Schaltungseinheit zugeführt.
- Die Ausgangsauswahlschaltung 16 besteht aus dem MOS-Schalter 31, von dem ein Ende des Source-Drain-Strompfads mit dem Ausgang des Inverters 30 verbunden ist, und ferner aus MOS- Schaltern 32 und 33, von denen ein Ende des Source-Drain- Strompfads mit dem anderen Ende des Source-Drain-Strompfads des MOS-Schalters 31 verbunden ist. Dem Gatter des MOS- Schalters 31 wird die Ausgangsgröße des ODER-Gatters 23 zugeführt, und den Gate-Anschlüssen der MOS-Schalter 32 und 33 werden jeweils aus den RAM-Zellen R4 und R5 ausgelesene Ausgangsgrößen D4 und D5 zugeführt. Das andere Ende des Source-Drain-Strompfads des MOS-Schalters 32 führt ein Signal QOH zu, und das andere Ende des Source-Drain-Strompfads des MOS-Schalters 33 führt ein Signal QOV zu. Demnach weist die Ausgangsauswahlschaltung 16 zwei Ausgänge auf, d. h. die Zahl K der Ausgänge beträgt 2. Die derart aufgebaute Master- Schaltungseinheit wird nachfolgend anhand eines in Fig. 7A gezeigten Symbols bezeichnet.
- Die Fig. 4 zeigt detailliert die Struktur der in Fig. 2 gezeigten Slave-Schaltungseinheit. Diese Slave- Schaltungseinheit unterscheidet sich von der in Fig. 3 gezeigten Master-Schaltungseinheit dahingehend, daß ein NAND- Gatter 34 mit zwei Eingängen anstelle des ODER-Gatters 22 vorgesehen ist, und daß ein zusätzliches UND-Gatter 35 mit zwei Eingängen vorgesehen ist. Ein Takteingangssignal CI und die D-Ausgangsgröße D2 der RAM-Zelle R2 werden dem NAND- Gatter 34 zugeführt, dessen Ausgangsgröße dem Gate des MOS- Schalters 25 in der taktsynchronisierten Schaltung 14 zugeführt wird. Das Signal A und die D-Ausgangsgröße D2 der RAM-Zelle R2 werden dem UND-Gatter 35 zugeführt, dessen Ausgangsgröße einem Ende des NOR-Gatters 27 in der taktsynchronisierten Schaltung 14 zugeführt wird, und das als Rücksetzausgangssignal RO an zugeordnete Schaltungsteile außerhalb der Einheitsschaltung zugeführt wird. Die derart aufgebaute Slave-Schaltungseinheit wird nachfolgend anhand eines in Fig. 7B gezeigten Symbols bezeichnet. Die in der Master-Schaltungseinheit eingesetzten MOS-Schalter und die Slave-Schaltungseinheit sind beispielsweise aus MOS- Transistoren vom n-Kanaltyp aufgebaut.
- Der Betrieb der Master-Schaltungseinheit und Slave- Schaltungseinheit, die wie oben beschrieben aufgebaut sind, wird erläutert. In diesem Schaltungseinheiten werden zahlreiche Arten von funktioneller Steuerung wie folgt durchgeführt, auf Basis der in den neuen RAM-Zellen R0 bis R8 in der Datenspeicherschaltung 10 gespeicherten Daten:
- (1) Auswahl eines Signals A von N Eingängen an die Eingangsauswahlschaltung 11.
- (2) Auswahl eines Signals B von M-Eingängen an die Eingangsauswahlschaltung 12.
- (3) Festlegen, ob das Signal A als Eingangsgröße der kombinatorischen Logikschaltung 13 eingesetzt wird, oder als Steuersignal der Ausgangsauswahlschaltung 16 mit einem Dreifachzustandausgang in jeder Master-Schaltungseinheit und Slave-Schaltungseinheit, als Taktsignal der taktsynchronisierten Schaltung 14 in der Master- Schaltungseinheit oder als Rücksetzsignal der taktsynchronisierten Schaltung 14 in der Slave- Schaltungseinheit.
- (4) Polaritätsauswahlsteuerung in der Polaritätsauswahlschaltung 15.
- (5) Festlegen, welcher der K Ausgangsanschlüsse in der Ausgangsauswahlschaltung 16 die Ausgangsgröße Q zuführt.
- Die Auswahl der Eingangsgrößen A und B bei der Auswahlschaltung 11 und 12 gemäß den Punkten (1) und (2) erfolgt auf Basis der in den RAM-Zellen R0 und R1 und der in den RAM-Zellen R6 und R7 gespeicherten Daten.
- Die Steuerung gemäß Punkt (3) wird wie folgt durchgeführt. Das Signal B wird einem Eingang des NAND-Gatters 24 zugeführt, das als kombinatorische Logikschaltung wirkt. Dem anderen Eingang des NOR-Gatters 24 wird das Signal A über das ODER-Gatter 21 zugeführt, also nicht direkt das Signal A selbst. Der Grund hierfür besteht, wie zuvor erwähnt, darin, daß die Eingangsgröße A nicht nur dem Eingang der kombinatorischen Logikschaltung 13 zugeführt wird, sondern daß es auch als das Taktsignal für die taktsynchronisierte Schaltung 14 in der Master-Schaltungseinheit eingesetzt wird, sowie als Rücksetzsignal für die taktsynchronisierte Schaltung 14 in der Slave-Schaltungseinheit. Demnach ist für den Einsatz der Eingangsgröße A als Taktsignal der taktsynchronisierten Schaltung 14 in der Master- Schaltungseinheit oder als Rücksetzsignal der taktsynchronisierten Schaltung 14 in der Slave- Schaltungseinheit die Eingangsgröße A von dem Eingang des NOR-Gatters 24 zu trennen. Der Einsatz der Eingangsgröße A entweder als Taktsignal oder als Rücksetzsignal wird anhand der in der RAM-Zelle R2 gespeicherten Daten bestimmt. Insbesondere dann, wenn die gespeicherten Daten auf dem "1"- Pegel liegen, wird die Eingangsgröße A als Taktsignal oder Rücksetzsignal eingesetzt. Andererseits wird dann, wenn die Daten auf dem "0"-Pegel liegen, die Eingangsgröße A nicht als Taktsignal oder Rücksetzsignal eingesetzt.
- Wird die Eingangsgröße A als Taktsignal in der in Fig. 3 gezeigten Master-Schaltungseinheit eingesetzt, so geht die Ausgangsgröße des ODER-Gatters 21 auf "1"-Pegel, unabhängig von der Eingangsgröße A, wodurch das NOR-Gatter 24 die Eingangsgröße B umkehrt. Liegt das Rücksetzeingangssignal RE bei "0", so kann die aus dem Inverter 26 und dem NOR-Gatter 27 bestehende Latchschaltung das über dem MOS-Schalter 25 übertragene Signal halten. Wird die Eingangsgröße Als Taktsignal gewählt, so liegt der /D-Ausgang /D2 der RAM-Zelle R2 auf dem "0"-Pegel, wodurch das ODER-Gatter 22 die Eingangsgröße A als Taktsignal an das Gate des MOS-Schalters 25 zuführen kann. Anschließend ist der MOS-Schalter 25 angeschaltet, wodurch die Ausgangsgröße des NOR-Gatters 24 der Logikschaltung zugeführt wird. In diesem Fall wirkt die taktsynchronisierte Schaltung als taktsynchronisierte Latchschaltung mit der Eingangsgröße von /D und dem Taktsignal von A. Wird die Eingangsgröße A nicht als Taktsignal eingesetzt, so geht /D2 zu dem "1"-Pegel, und die Ausgangsgröße des ODER-Gatters 22 geht zu dem "1"-Pegel unabhängig von der Eingangsgröße A, wodurch der MOS-Schalter 25 in dem "AN"-Zustand verbleibt. Aufgrund dieser Tatsache geht die Taktsynchronisierfunktion verloren, und die taktsynchronisierte Schaltung 14 wirkt lediglich als eine kombinatorische Schaltung.
- Wird bei der in Fig. 4 gezeigten Slave-Schaltungseinheit die Eingangsgröße A als Rücksetzsignal benützt, so geht der Ausgang des ODER-Gatters 21 auf einen "1"-Pegel, unabhängig von der Eingangsgröße A, wodurch das NAND-Gatter 24 die Eingangsgröße B umkehrt, wie bei der in Fig. 3 gezeigten Master-Schaltungseinheit. Wird die Eingangsgröße A als Rücksetzsignal eingesetzt, so geht der D-Ausgang D2 der RAM- Zelle R2 in den "1"-Pegel, wodurch das UND-Gatter 35 die Eingangsgröße A auf dem "1"-Pegel als Rücksetzsignal dem einen Eingangsanschluß des NOR-Gatters 27 in der taktsynchronisierten Schaltung 14 zuführt. Dies ermöglicht, daß der Ausgang des NOR-Gatters 27 auf dem "0"-Pegel liegt und daß der Ausgang des Inverters 26 auf dem "1"-Pegel liegt, ohne Mehrdeutigkeit, wodurch die aus dem Inverter 16 und dem NOR-Gatter 27 aufgebaute Latchschaltung rückgesetzt wird. Die Ausgangsgröße des UND-Gatters 35 wird als Rücksetzausgangssignal RO an das außen liegende Umfeld zugeführt. Wird die Eingangsgröße A nicht als Rücksetzsignal eingesetzt, so geht D2 zu dem "0"-Pegel, wodurch die Ausgangsgröße des UND-Gatters 35 auf den "0"-Pegel gehen kann, unabhängig von der Eingangsgröße A, die keinen Einfluß auf die Ausgangsgröße des NOR-Gatters 27 nimmt.
- Nun wird der Grund erläutert, weshalb die Eingangsauswahlschaltung 11 und 12 jeweils wechselseitig ihre Ausgangsgrößen A und B als deren Eingangsgrößen benützen. Es wird ein Fall betrachtet, wo die Eingangsgröße I10 unmittelbar für den Ausgang Q umgesetzt wird. Dieser Fall bedeutet, daß der logische Zustand der kombinatorischen Schaltung 13 anhand einer logischen NAND-Verknüpfung nicht anhand einer logischen NOT-Verknüpfung verändert ist. Hier ist das Taktsignal nicht erforderlich, und die Eingangsgröße A wird durch die Auswahlschaltung 11 als das Eingangssignal des NAND-Gatters 24 gewählt. Die Eingangsauswahlschaltung 12 wählt I10 als Eingangsgröße B. Ein Verfahren zum Erhalten des umgesetzten Signals der Eingangsgröße B bei dem NAND-Gatter 24 dient zur Ausbildung der Eingangsgrößen A und B derart, daß diese in Phase zueinander vorliegen. Um dies zu erreichen, wird die Eingangsgröße B als eine Eingangsgröße der Eingangsauswahlschaltung 11 zugeführt. Entsprechend ist die Eingangsgröße B als Gate-Eingangsgröße A erforderlich. Dies ist der Grund dafür, daß die Auswahlschaltungen 11 und 12 wechselseitig ihre Ausgangsgrößen als eine ihrer Eingangsgrößen einsetzen.
- Zum Verändern des logischen Zustands der kombinatorischen Logikschaltung 13 von, einer logischen NAND-Verknüpfung zu einer logischen NOT-Verknüpfung kann die Master- Schaltungseinheit zu der in Fig. 5 und die Slave- Schaltungseinheit zu der in Fig. 6 gezeigten Anordnung verändert werden. Insbesondere werden bei der in Fig. 3 gezeigten Master-Schaltungseinheit zum Verändern des logischen Zustands der kombinatorischen Logikschaltung 13 von einer logischen NAND-Verknüpfung zu einer logischen NOT- Verknüpfung die Ausgangsgrößen A und B der Eingangsauswahlschaltungen 11 und 12 als wechselseitige Eingangsgrößen ausgewählt. Anstelle der Zuführung der Ausgangsgröße B der Eingangsauswahlschaltung 12 zu der Eingangsauswahlschaltung 12 und der Ausgangsgröße A der Eingangsauswahlschaltung 11 zu der Eingangsauswahlschaltung 12 kann ein "1"-Pegellogiksignal den beiden Eingangsauswahlschaltungen 11 und 12 zugeführt werden. Bei der in Fig. 6 gezeigten Slave-Schaltungseinheit wird ein "1"- Pegellogiksignal beiden Eingangsauswahlschaltungen 11 und 12 für ähnliche Zwecke zugeführt. Wird ein NOR-Gatter für die kombinatorische Logikschaltung 13 anstelle eines NAND-Gatters eingesetzt, kann ein "0" Pegellogiksignal als eine Eingangsgröße beiden Eingangsauswahlschaltungen 11 und 12 zugeführt werden. Die in Fig. 5 gezeigte Master- Schaltungseinheit wird anhand eines in Fig. 7A gezeigten Blockschalbildsymbol bezeichnet, und die in Fig. 6 gezeigte Slave-Schaltungseinheit wird anhand eines in Fig. 7B gezeigten Blockschaltbildsymbols bezeichnet.
- Die Ausgangsgröße jeweils des Inverters 26 und des NOR- Gatters 27 in der taktsynchronisierten Schaltung 14 wird dem Inverter 30 über zwei MOS-Schalter 28 und 29 in der Polaritätsauswahlschaltung 15 zugeführt. Die beiden MOS- Schalter 28 und 29 wählen die Polarität der Ausgangsgröße aus. Zum Steuern dieser Auswahl werden die in der RAM-Zelle R8 der Datenspeicherschaltung 10 gespeicherten Daten eingesetzt. Insbesondere dann, wenn die Speicherdaten in der RAM-Zelle R8 auf dem "1"-Pegel liegen und die Ausgangsgröße D8 bei dem "1"-Pegel liegt, wird der MOS-Schalter 28 angeschaltet, wodurch die Übertragung der Ausgangsgröße des Inverters 26 an den Inverter 30 ermöglicht wird. Im Ergebnis liegt die Ausgangsgröße Q der Schaltungseinheit in Phase zu der Ausgangsgröße des NAND-Gatters 24 vor, mit dem Ergebnis, daß die Ausgangsgröße des NAND-Gatters 24 in nicht umgekehrtem Zustand zugeführt wird. Im Gegensatz hierzu wird dann, wenn die Speicherdaten der RAM-Zelle R8 auf dem "0"- Pegel liegen und der /D-Ausgang D8 bei dem "1"-Pegel liegt, der MOS-Schalter 29 angeschaltet, wodurch die Übertragung der Ausgangsgröße des NOR-Gatters 27 an den Inverter 30 ermöglicht wird. Im Ergebnis liegt die Ausgangsgröße Q der Einheitsschaltung in entgegengesetzter Phase zur Ausgangsgröße des NAND-Gatters 24 vor, mit dem Ergebnis, daß die Ausgangsgröße des NAND-Gatters 24 im umgekehrten Zustand zugeführt wird.
- Die Ausgangsauswahlschaltung 16 führt selektiv die Ausgangsgröße Q an die beiden Ausgangsanschlüsse zu und ist in der Lage, die Ausgangsanschlüsse auf einen Zustand mit hoher Impedanz zu legen, was nachfolgend erläutert wird. Der MOS-Schalter 31 dient für eine Dreipunktsteuerung. Liegt der gespeicherte Datenwert in der RAM-Zelle R3 der Datenspeicherschaltung 10 bei dem "1"-Pegel, so geht dessen /D-Ausgang D3 zu dem "0"-Pegel, wodurch dem Gate des MOS- Schalters 31 die Eingangsgröße A zugeführt werden kann. Demnach bewirkt die Eingangsgröße A mit dem "1"-Pegel ein Anschalten des MOS-Schalters 31, wodurch die Ausgangsgröße Q an den Verbindungspunkt der beiden MOS-Schalter 32 und 33 übertragen werden kann. Im Gegensatz hierzu bewirkt eine Eingangsgröße A mit dem "0"-Pegel ein Abschalten des MOS- Schalters 31, wodurch ein Übertragen der Ausgangsgröße Q vermieden wird.
- Liegt anderseits der gespeicherte Datenwert in der RAM-Zelle R3 bei dem "0"-Pegel, so geht der /D-Ausgang /D3 zu dem "1"- Pegel, was bewirkt, daß der Ausgang des ODER-Gatters 23 auf dem "1"-Pegel unabhängig von der Eingangsgröße A liegt, wodurch der MOS-Schalter 31 konstant angeschaltet ist. In diesem Fall werden auf Basis der in den beiden RAM-Zellen R4 und R5 gespeicherten Daten die beiden MOS-Schalter 32 und 33 an- oder abgeschaltet, zum Bestimmen der Tatsache, ob der Ausgang des MOS-Schalters 31 zu jeweils QOH und QOV übertragen wird oder nicht. Insbesondere dann, wenn die in beiden RAM-Zellen R4 und R5 gespeicherten Daten bei dem "0"- Pegel liegen und die D-Ausgänge D4 und D5 beide bei dem "0"- Pegel liegen, sind die beiden MOS-Schalter 32 und 33 beide abgeschaltet, wodurch eine Übertragung der Ausgangsgröße Q an jeweils QOH und QOV vermieden wird. Liegen die in der RAM- Zelle R4 gespeicherten Daten bei dem "1"-Pegel und liegt der Ausgang D4 bei dem "1"-Pegel, so ist der MOS-Schalter 32 angeschaltet, wodurch die Ausgangsgröße Q an QOH übertragen wird. Entsprechend ist dann, wenn die in der RAM-Zelle R5 gespeicherten Daten bei dem "1"-Pegel liegen und die Ausgangsgröße D5 bei dem "1"-Pegel liegt, der MOS-Schalter 33 angeschaltet, wodurch die Ausgangsgröße Q an QOV übertragen werden kann.
- Die Fig. 8 bezeichnet eine konkrete Konfiguration einer einzigen RAM-Zelle, die in der Datenspeicherschaltung 10 der Master-Schaltungseinheit oder der Slave-Schaltungseinheit eingesetzt wird. Diese Zelle enthält zwei Inverter 31 und 32 und zwei Übertragungsgates 33 und 34. Ein Ende des Source- Drain-Strompfads jedes Übertragungsgates 43 und ist 44 jeweils mit einer Bitleitung BL und /BL verbunden und die zugeordneten Gates sind beide mit einer Wortleitung WL verbunden. Das andere Ende des Source-Drain-Strompfads des Übertragungsgates 43 ist sowohl mit dem Eingangsanschluß des Inverters 41 als auch dem Ausgangsanschluß des Inverters 42 verbunden, wohin gehen das andere Ende des Source-Drain- Strompfads des Übertragungsgates 44 sowohl mit dem Eingangsanschluß des Inverters 42 als auch dem Ausgangsanschluß des Inverters 41 verbunden ist. Die Ausgangsgröße D und /D werden jeweils an den Ausgangsanschlüssen der Inverter 41 und 42 zugeführt. Demnach ist diese RAM-Zelle vom statischen Typ.
- Die Fig. 9 zeigt eine konkrete Konfiguration einer einzigen RAM-Zelle, die in der Datenspeicherschaltung 10 in der Master-Schaltungseinheit oder der Slave-Schaltungseinheit eingesetzt wird. Diese Zelle enthält eine Datenspeicherkapazität 45 und einen Kapazitätsauswahl-MOS- Schalter 46, der an die Wortleitung WL und die Bitleitung BL angeschlossen ist. Die Ausgangsgröße D und /D werden als in der Kapazität gespeicherter Datenwert erhalten, sowie als Ausgangsgröße eines (nicht gezeigten) Inverters, dem der gespeicherte Datenwert zugeführt wird. Demnach ist diese RAM- Zelle vom dynamischen Typ.
- Die Fig. 10 zeigt eine konkrete Anordnung der Eingangsauswahlschaltung 11, die in der Datenspeicherschaltung 10 in der Master-Schaltungseinheit oder der Slave-Schaltungseinheit eingesetzt wird. Die aus sechs MOS-Schaltern 51 bis 56 aufgebaute Eingangsauswahlschaltung 11 wählt einen von vier Eingängen aus. Insbesondere ist der Source-Drain-Strompfad des MOS- Schalters 51 zwischen dem externen Eingang 100 und dem Knoten N1 eingefügt. Der Source-Drain-Strompfad des MOS-Schalters 52 ist zwischen dem externen Eingang 101 und dem Knoten N1 eingefügt. Der Source-Drain-Strompfad des MOS-Schalters 53 ist zwischen dem externen Eingang 102 und dem Knoten N2 eingefügt. Der Source-Drain-Strompfad des MOS-Schalters 54 ist zwischen dem Eingang B oder einem "1"-Pegel-Logiksignal und dem Knoten N2 eingefügt. Der Source-Drain-Strompfad des MOS-Schalters 55 ist zwischen dem Knoten N1 und dem Knoten eingefügt, bei dem die Eingangsgröße A auftritt. Der Source- Drain-Strompfad des MOS-Schalters 56 ist zwischen dem Knoten N2 und dem Knoten zum Zuführen der Eingangsgröße A zugeführt. Den Gates der beiden MOS-Schalter 51 und 53 wird die /D- Ausgangsgröße der RAM-Zelle R0 zugeführt, wohingehend den Gates der beiden MOS-Schalter 52 und 54 die D-Ausgangsgröße der RAM-Zelle R0 zugeführt wird. Den Gates der beiden MOS- Schaltern 54 und 56 wird jeweils die D und /D-Ausgangsgröße der RAM-Zelle R1 zugeführt.
- In Übereinstimmung mit dem in den zwei RAM-Zellen R0 und R1 gespeicherten Datenbits werden die sechs MOS-Schalter 51 bis 56 selektiv angeschaltet und zwar zum Auswählen eines der drei externen Eingänge 100 bis 102 und einer Eingangsgröße B oder eines "1"-Pegellogiksignals. Liegen beispielsweise die beiden, in den RAM-Zelle R0 und R1 gespeicherten Datenwerte bei dem "1"-Pegel, so sind die MOS-Schalter 54 und 56 zum Auswählen der Ausgangsgröße B oder eines "1"- Pegellogiksignals angeschaltet. Da die andere Eingangsauswahlschaltung 12 in derselben Weise wie die obige Eingangsauswahlschaltung 11 aufgebaut ist, wird deren Erläuterung hier weggelassen.
- Die Fig. 11 zeigt eine andere konkrete Anordnung der Eingangsauswahlschaltung 11, die in der Datenspeicherschaltung 10 in der Dateneinheitsschaltung oder der Slave-Einheitsschaltung eingesetzt wird. Dies gilt für den Fall, in dem die oben erläuterten dynamischen RAM-Zellen als RAM-Zellen R0 und R1 eingesetzt werden. Hier sind der in Fig. 10 gezeigten Schaltung zwei Inverter 57 und 58 zum Erhalten einer /D-Ausgangsgröße hinzugefügt.
- Der Grund für den Einsatz von zwei Arten von Schaltungseinheiten, Master und Slave, ist wie folgt. Wie zuvor erwähnt, enthält die taktsynchronisierte Schaltung 14 in der Master-Schaltungseinheit ein Logikschaltung. Allgemein werden zusätzlich zu Logikschaltungen auch D-Flip-Flops sehr oft in sequentiellen Schaltungen eingesetzt. Wie allgemein bekannt, ist ein D-Flip-Flop so ausgebildet, daß zwei Stufen von Latchsschaltungen in Serie verbunden sind, mit jeweils einem Taktsignal entgegengesetzter Phase, so daß die zwei Stufen der Latchsschaltungen in komplementärer Weise betrieben werden. Zum Realisieren eines D-Flip-Flops mit Schaltungseinheiten sind zwei Schaltungseinheiten in Serie verbunden, bei denen jeweils die eine ein im Vergleich zur anderen entgegengesetztes Taktsignal aufweist. Demnach unterscheidet sich die Master-Schaltungseinheit von der Slave-Schaltungseinheit dahingehend, daß das Taktsignal von der taktsynchronisierten Schaltung 14 zugeführt oder das Taktsignal bei der taktsynchronisierten Schaltung 14 empfangen wird und daß das Latch-Rücksetzsignal der taktsynchronisierten Schaltung 14 zugeführt oder das Rücksetzsignal bei der taktsynchronisierten Schaltung 14 empfangen wird.
- Ein Beispiel eines aus einer Master-Schaltungseinheit und einer Slave-Schaltungseinheit bestehenden D-Flip-Flops ist in Fig. 12 gezeigt. Dieses D-Flip-Flop benützt den Eingang 100 der Master-Schaltungseinheit NO als Takteingang, den Eingang I10 als Dateneingang, und Q von der Slave-Schaltungseinheit SU als Ausgang. Der Eingang I00 der Slave-Schaltungseinheit SU wird als Rücksetzsignaleingang eingesetzt, und das Rücksetzausgangssignal RO der Slave-Schaltungseinheit SU wird als Rücksetzeingangssignal RI bei der Master- Schaltungseinheit MU zugeführt. Die zwei Schaltungseinheiten werden in derselben integrierten Schaltung gebildet.
- Nun erfolgt eine Erklärung der Strukturierung von Gruppen von Verdrahtungen bei Anordung mehrerer Master- Schaltungseinheiten und Slave-Schaltungseinheiten in Matrixform zum Herstellen eines FPGAs (feldprogrammierbare Logikschaltung, field programmable logic circuit). Es gibt zwei Arten von Verdrahtungsgruppen in dem FPGA: Gruppen, die aneinander angrenzende Schaltungseinheiten verbinden, (im folgenden wird auf Gruppen dieses Typs als Verdrahtungsgruppe mit kurzer Distanz Bezug genommen) sowie Gruppen, die Schaltungseinheiten in Matrixanordnung in Zeilen oder in Spalten verbinden (nachfolgend erfolgt auf Gruppen dieses Typs ein Bezug als Verdrahtungsgruppen mit langer Distanz).
- Die Fig. 13 zeigt ein Blockschaltbild einer Master- Schaltungseinheit unter Zentrierung bei einem Abschnitt mit Verdrahtungsgruppe mit kurzer Distanz im Zusammenhang mit dem Eingang. Vier Slave-Schaltungseinheiten SU1 bis SU4 sind jeweils oberhalb, unterhalb, rechts und links der Master- Schaltungseinheit MU angeordnet. Die Verdrahtung erfolgt derart, daß die Ausgänge Q der vier Slave-Schaltungseinheiten SU1 bis SU4 jeweils die Eingänge I01, I10, I02 und I11 der Master-Schaltungseinheit MU sein können. Die Eingänge 100 und I12 der Master-Schaltungseinheit MU werden später erläutert. Mit diesem Aufbau ist die Signalübertragung von der nächsten Schaltungseinheit sehr einfach.
- Die Fig. 14 zeigt ein Blockschaltbild einer Master- Schaltungseinheit unter Zentrierung bei einem Abschnitt mit Verdrahtungsgruppe mit kurzer Distanz im Zusammenhang mit dem Ausgang. Vier Slave-Schaltungseinheiten SU1 bis SU4 sind jeweils oberhalb, unterhalb, rechts und links einer einzigen Master-Schaltungseinheit MU plaziert. Die Verdrahtung erfolgt so, daß der Ausgang der Master-Schaltungseinheit MU mit den Eingängen I10, I11, I10 und I10 der vier Slave- Schaltungseinheiten SU1 bis SU4 übereinstimmt.
- Die Fig. 13 und 14 zeigen die Verdrahtungsgruppen mit kurzer Distanz unter Zentrierung um die Master-Schaltungseinheit. Dasselbe gilt für die Slave-Schaltungseinheit, und deren Verdrahtungsgruppen mit kurzer Distanz sind hier nicht gezeigt.
- Die Verdrahtungsgruppen mit langer Distanz werden nun erläutert. Wie in Fig. 15 gezeigt, sind mehrere Master- Schaltungseinheiten (in der Figur mit M bezeichnet) und Slave-Schaltungseinheiten (in der Figur mit S bezeichnet) in Matrixform angeordnet. Wie in der Figur gezeigt, sind die Eingänge I12 und die Ausgänge QOV der Schaltungseinheiten, die in Spaltenrichtung plaziert sind, sämtlich mit den zwei Drähten V1 und V2 verbunden, die sich in Spaltenrichtung erstrecken. Die Eingänge I00 und Ausgänge QOH der Schaltungseinheiten, die in Zeilenrichtung plaziert sind, sind sämtlich mit den beiden Drähten H1 und H2 verbunden, die sich in Zeilenrichtung erstrecken.
- Mit derartigen Drähten langer Distanz V1, V2, H1 und H2 kann eine Schaltungseinheit an einer gegebenen Position Daten über mehr als eine Schaltungseinheit übertragen. Da die Ausgänge QOH und QOV jeder Schaltungseinheit Dreipunktausgänge sind, läßt sich jeder Draht langer Distanz als Datenbus des Mikrocomputersystems einsetzen. Insbesondere aufgrund der Tatsache, daß die Ausgangsauswahlschaltung 16 jeder Schaltungseinheit den MOS-Schalter 31 an- und abschalten kann, versetzen die zum Zuführen eines Signals an die Drähte bei den Ausgängen QOH oder QOV erforderlichen Schaltungseinheiten ihre MOS-Schalter 31 in den angeschalteten Zustand, wohingehend diejenigen Schaltungseinheiten, die ein Signal nicht zuführen müssen, ihre MOS-Schalter 31 in den abgeschalteten Zustand versetzen. Dies ermöglicht, daß Drähte langer Distanz V1 und V2 sowie H1 und H2 von mehr als einer Schaltungseinheit ohne Wechselwirkung geteilt werden. Durch dieses Merkmal ist es viel einfacher, die Peripherieschaltungen für den Mikrocomputer zu programmieren.
- Nun erfolgt eine Beschreibung einer Schaltungsanordnung zum Beobachten von Signalen als eines der wichtigen technischen Konzepte der vorliegenden Erfindung. Nach dem Programmieren einer vorgegebenen Schaltungsfunktion in der FPGA-Einheit wird ein Signal dem Eingangsanschluß der FPGA-Einheit zugeführt, und die Ausgangsgröße erscheint an deren Ausgangsanschluß. Wirkt die Schaltung nicht wie erwartet, so ist es erforderlich, den Abschnitt mit Fehlfunktion zu bestimmen. In diesem Fall ermöglicht die Beobachtung der Knotensignale bei jeder Schaltungseinheit der FPGA-Einheit ein schnelleres Auffinden fehlerhafter Teile. Aus diesem Grund ist jede Schaltungseinheit gemäß der vorliegenden Erfindung mit einer Vorrichtung zum Beobachten eines Signals bei jedem Knoten versehen.
- Die Fig. 16 zeigt ein Schaltbild einer programmierbaren logischen Schaltungseinheit mit einer derartigen Signalbeobachtungsvorrichtung. In der Figur bezeichnen die Bezugszeichen R0 bis R8 die RAM-Zellen nach Fig. 3 oder Fig. 4 zum Bilden der Datenspeicherschaltung 10. Die Details jeder RAM-Zelle wurden unter Bezug auf die Fig. 9 beschrieben. Es besteht eine Verbindung zwischen den beiden RAM-Zellen R0 und R6 und der Bitleitung BL1, sowie zwischen den beiden RAM- Zellen R1 und R7 mit der Bitleitung BL2, den beiden RAM- Zellen R2 und R8 mit der Bitleitung BL3, der RAM-Zelle R3 mit der Bitleitung BL4, der RAM-Zelle R4 mit der Bitleitung BL5 und der RAM-Zelle R5 mit der Bitleitung BL6. Die RAM-Zellen R0 bis R5 sind sämtlich mit der Wortleitung WL1 verbunden, und die RAM-Zellen R6 bis R8 sind sämtlich mit der Wortleitung WL2 verbunden.
- Ein n-Kanal MOS-Schalter 61 für die Signalbeobachtung ist zwischen dem Ausgang Q der Schaltungseinheit und der Bitleitung BL6 vorgesehen. Diese Schaltungseinheit weist eine zusätzliche Wortleitung WL3 auf, die sich von den beiden obigen Wortleitungen unterscheidet, derart, daß die Wortleitung WL3 mit dem Gate des Signalbeobachtungs-MOS- Schalters 61 verbunden ist. Den drei Wortleitungen WL1 bis WL3 wird die Ausgangsgröße eines später beschriebenen Adreßdecoders zugeführt.
- Bei einer derartigen Konfiguration wird zum Beobachten der Ausgangsgröße Q der Schaltungseinheit das Signal auf der Wortleitung WL3 zu dem "1"-Pegel gesetzt. Hierdurch wird ein MOS-Schalter 61 angeschaltet, wodurch das Lesen der Ausgangsgröße Q auf die Bitleitung BL6 ermöglicht wird. Das auf die Bitleitung BL6 gelesene Signal wird der zugeordneten Schaltung außerhalb der Schaltungseinheit durch die (nicht gezeigte) Schaltung zum Lesen der gespeicherten Daten von jedem RAM zugeführt.
- Die Fig. 17 zeigt ein Schaltbild einer programmierbaren Logikschaltungseinheit mit der Signalbeobachtungsvorrichtung. Anstelle der in Fig. 16 gezeigten Wortleitung WL3 ist diese Schaltungseinheit mit einer zusätzlichen Bitleitung BL7 versehen. Der Signalbeobachtungs-MOS-Schalter 61 ist zwischen der Bitleitung BL7 und dem Ausgang Q der Schaltungseinheit eingefügt. Das Gate des MOS-Schalters 61 ist mit derselben Wortleitung WL1 verbunden, wie dasjenige zum Auswählen der RAM-Zellen R0 bis R5.
- Mit dieser Schaltungseinheit wird bei Lesen der gespeicherten Daten von den RAM-Zellen R0 bis R5 die Ausgangsgröße Q der Schaltungseinheit zur gleichen Zeit gelesen.
- Nun erfolgt eine Erläuterung eines Verfahrens zum Auswählen von Wortleitungen in einer Matrixanordnung und Schaltungseinheiten, wie sie in Fig. 16 oder Fig. 17 gezeigt sind.
- Die Fig. 18 zeigt eine Matrixanordnung von 16 Schaltungseinheiten gemäß Fig. 16 mit einem Decoder DEC zum Auswählen derselben, sowie mit vier Spalten und vier Reihen jeweils mit vier Schaltungseinheiten. Die Auswahl der einzelnen RAM-Zellen in den 16 Schaltungseinheiten und die Auswahl der Ausgangsgrößen Q der Schaltungseinheiten basiert auf den drei bitkomplementären Adreßsignalen A0 und /A0 bis A3 und /A2, die den Decoder DEC zugeführt werden. In der Figur entsprechen die Wortleitungen WL1-1 bis WL1-4 der in Fig. 16 gezeigten Wortleitung WL1. Entsprechend entsprechen die Wortleitungen WL2-1 bis WL2-3 der Wortleitung WL2, und die Wortleitungen WL3-1 bis WL3-4 entsprechen der Wortleitung WL3.
- Wie in der Figur gezeigt, sind sieben UND-Gatter 71 bis 77 vorgesehen, denen unterschiedliche Kombinationen der 3-Bit- Adreßsignale A0 und /A0 bis A2 und /A2 zugeführt werden, und zwar zum Erzeugen von sieben unterschiedlichen Decoderausgangsgrößen. Die UND-Gatter 71, 74 und 77 sind zum Auswählen lediglich der RAM-Zellen vorgesehen, derart, daß ihre Decodierausgangsgröße den Wortleitungen WL2-1, WL2-2 und WL2-3 zugeführt werden.
- Die verbleibenden UND-Gatter 72, 73, 75 und 76 werden zur Auswahl von RAM-Zellen und der Ausgänge der Schaltungseinheiten eingesetzt. Die Decodierausgangsgröße jedes der UND-Gatter 72, 73, 75 und 76 wird parallel jeweils jedem Paar von UND-Gattern 78 und 79, 80 und 81, 82 und 83 sowie 84 und 85 zugeführt. Jedes Paar von UND-Gattern 78 und 79, 80 und 81, 82 und 83 sowie 84 und 85 wird durch das Signal RA zum Auswählen von RAM-Zellen gesteuert, sowie das Signal OB zum Auswählen der Ausgangsgrößen Q der Schaltungseinheiten. Insbesondere dann, wenn das Signal RA auf dem "1"-Pegel liegt, wird der Decodierausgang neben der UND-Gatter 72, 73, 75 und 76 jeweils an die UND-Gatter 79, 80, 83 und 84 übertragen, und er wird jeweils den Wortleitungen WL1-1 bis WL1-4 zugeführt. Liegt das Signal OB auf dem "1"-Pegel, so wird der Decodierausgang von jedem der UND-Gatter 72, 73, 75 und 76 jeweils an die UND-Gatter 78, 81, 82 und 85 übertragen, und er wird jeweils den Wortleitungen WL3-1 bis WL3-4 zugeführt.
- Die Fig. 19 zeigt eine Matrixanordnung von 16 in Fig. 17 gezeigten Schaltungseinheiten mit einem Decoder DEC zum Auswählen derselben, mit vier Spalten und vier Zeilen, jeweils mit vier Schaltungseinheiten. Die Auswahl der einzelnen RAM-Zellen in den 16 Schaltungseinheiten und die Auswahl der Ausgangsgrößen Q der Schaltungseinheiten basiert auf den 3-Bit komplementären Adreßsignalen A0 und /A0 bis A2 und /A2. In der Figur entsprechen die Wortleitung WL1-1 bis WL1-4 der in Fig. 17 gezeigten Wortleitung WL1. Ähnlich entsprechen der Wortleitungen WL2-1 bis WL2-3 der Wortleitung WL2.
- Wie in der Figur gezeigt, sind sieben UND-Gatter 91 bis 97 vorgesehen, denen unterschiedliche Kombinationen der 3-Bit- Adreßsignale A0 und /A0 bis A2 und /A2 zugeführt werden, und zwar zum Erzeugen von sieben unterschiedlichen Decodierausgangsgrößen, derart, daß deren Decodierausgangsgrößen den Wortleitungen WL2-1, WL1-1 zugeführt werden, sowie an WL1-2, WL2-2, WL1-3, WL1-4 und WL2-3.
- In diesem Beispiel sind vier Bitleitungen BL7-1 bis BL7-4 gemäß der Bitleitung BL7 zum Lesen der Ausgangsgröße jeder Schaltungseinheit vorgesehen.
- Die Fig. 20 zeigt ein detailliertes Schaltbild einer gesamten Master-Schaltungseinheit, deren RAM-Zellen R0 bis R8 von dem in Fig. 8 gezeigten statischen Typ sind, deren Eingangsauswahlschaltungen 11 und 12 mit den in Fig. 10 gezeigten übereinstimmen und deren Signalbeobachtungsvorrichtung mit der in Fig. 16 gezeigten übereinstimmt. In diesem Beispiel sind zwei MOS-Schalter 61A und 61B gemäß dem MOS-Schalter 61 zum Lesen komplementärer Signale als Ausgangsgröße Q auf die Bitleitungen BL6 und /BL6 vorgesehen. Ein MOS-Schalter 61A ist zwischen dem Eingangsanschluß eines Inverters 30 in der Polaritätsauswahlschaltung 15 und der Bitleitung /BL6 vorgesehen, wohingehend der andere MOS-Schalter 61B zwischen dem Ausgangsanschluß des Inverters 30 und der Bitleitung BL6 vorgesehen ist. Die Gates beider MOS-Schalter 61A und 61B sind mit der Wortleitung WL3 verbunden, die unabhängig von denjenigen zum Auswählen der RAM-Zellen R6 bis R8 vorgesehen ist.
- Die Fig. 21 zeigt ein detailliertes Schaltbild einer gesamten Master-Schaltungseinheit, deren RAM-Zellen R0 bis R8 von dem in Fig. 8 gezeigten statischen Typ sind, deren Eingangsauswahlschaltungen 11 und 12 mit den in Fig. 10 gezeigten übereinstimmen und deren Signalauswahlvorrichtung mit der in Fig. 17 gezeigten übereinstimmt. In diesem Beispiel sind zwei MOS-Schalter 61A und 61B gemäß dem MOS- Schalter 61 zum Lesen komplementärer Signale als Ausgangsgröße Q auf Bitleitungen BL7 und/BL7 vorgesehen. Ein MOS-Schalter 61A ist zwischen dem Einganganschluß des Inverters 30 in der Polaritätsauswahlschaltung 15 und der Bitleitung BL7 vorgesehen, wohingehend der andere MOS- Schalter 61B zwischen dem Ausgangsanschluß des Inverters 30 und der Bitleitung BL7 vorgesehen ist. Die Gates beider MOS- Schalter 61A und 61B sind mit derselben Wortleitung WL1 verbunden, wie diejenige für die Auswahl der RAM-Zellen R0 bis R5.
- Hierdurch wird bei jeder Schaltungseinheit das Lesen des Signals Q an dem Ausgangsknoten zur Außenseite hin für ein Beobachten ermöglicht. Der zu beobachtende Knoten ist nicht auf den Ausgangsknoten der Schaltungseinheit betrenzt. Das Signal bei jedem Knoten in der Schaltungseinheit läßt sich beobachten.
- Die Zahl der zu beobachtenden Knoten ist nicht lediglich auf eins begrenzt. Selbstverständlich können Signale bei mehr als einem Knoten beobachtet werden. Die in Fig. 16 und 17 gezeigte Beobachtungsvorrichtung ist nicht als einschränkend anzusehen, sondern sie kann auf andere Weise ausgeführt sein.
- Die Fig. 22 zeigt ein Blockschaltbild zum Darstellen eines Gesamtsystems zum Steuern des Schreibens von Daten in und des Lesens von Daten aus jeder RAM-Zelle bei mehreren in Matrixanform angeordneten Schaltungseinheiten sowie zum Lesen der Ausgangsgröße Q von jeder Schaltungseinheit. In der Figur bezeichnet das Bezugszeichen DB einen Datenbus, und ADB bezeichnet einen Adreßbus. Bei einem 8-Bitsystem weist beispielsweise der Datenbus DB allgemein acht parallele Signale auf, und der Adreßbus weist 16 parallele Signale auf. Die Zeilenadresse auf dem Adreßbus ADB wird in dem Zeilenadreß-Latchelement 101 gehalten, das diese zu dem Zeilendecoder 102 zuführt. Die Spaltenadresse auf dem Adreßbus ADB wird in dem Spaltenadreß-Latchelement 103 gehalten, das diese dem Spaltendecoder zuführt. Die Steuerdaten auf dem Datenbus DB werden dem Steuerregister 105 zugeführt. Dieses Steuerregister 105 erzeugt auf der Grundlage der Steuerdaten ein Signal RA zum Auswählen von RAM-Zellen sowie ein Signal OB zum Auswählen der Ausgangsgrößen der Schaltungseinheiten. Beide Signale RA und OB werden dem durch diese Signale gesteuerten Zeilendecoder 102 zugeführt. Die Decodierausgangsgrößen des Zeilendecoders 102 und des Spaltendecoders 104 werden der Matrix der Schaltungseinheiten 106 zugeführt, in der mehrere Schaltungseinheiten in Matrixform angeordnet sind.
- Der Betrieb des in Fig. 22 gezeigten Systems wird nun beschrieben. Die Fig. 23 zeigt die Signalformen der Steuersignale, die zum Steuern des in Fig. 22 gezeigten Systems eingesetzt werden. Die Bezugszeichen /CE, /WR und /RD bezeichnen jeweils ein Chip-Enablesignal, ein Schreibsignal und ein Lesesignal als bekannte Signale im Bereich von Mikrocomputersystemen. /WR wird auf den "0"-Pegel dann gesetzt, wenn die CPU die Daten in die FPGA-Einheit gemäß der vorliegenden Erfindung schreibt, wohingehend /RD auf den "0"- Pegel dann gesetzt wird, wenn die CPU Daten von der FPGA- Einheit liest.
- Als ein Beispiel für das Lesen von Daten erfolgt die Erläuterung der Prozeduren zum Lesen der gespeicherten Daten von irgendeiner RAM-Zelle in irgendeiner Schaltungseinheit in der Matrix bestehend aus Schaltungseinheiten 106. Wie in Fig. 23 gezeigt, wird /CE zunächst auf den "0"-Pegel gesetzt. Nach der Auswahl des FPGAs wird /WR auf den "0"-Pegel plaziert, und die Steuerdaten werden in das Steuerregister 105 geschrieben. Eine eindeutige Adresse wurde zuvor in dem Steuerregister 105 allokiert. Mit /WR = "0" werden bei Zuführen der Adreßdaten auf dem Adressenbus ADB anschließend die Steuerdaten in das Steuerregister 105 geschrieben. In diesem Zeitpunkt werden dem Datenbus DB Daten derart zugeführt, daß der Ausgang RA des Steuerregisters 105 auf dem "1"-Pegel und der Ausgang OB bei dem "0"-Pegel liegt. Hierdurch kann der Zeilendecoder 102 einen seiner Ausgänge für die RAM-Auswahl auswählen.
- Anschließend wird dann, wenn /RD auf den "0"-Pegel gebracht wird, die RAM-Zelle gemäß der zu dieser Zeit zugeführten Adresse durch den Zeilendecoder 102 und den Spaltendecoder 104 ausgewählt wodurch die gespeicherten Daten auf dem Datenbus DB zugeführt werden. Hierdurch werden die in jeder RAM-Zelle der Schaltungseinheit gespeicherten Daten ausgelesen.
- Wie leicht zu erkennen ist, gilt für das Lesen der Ausgangsgröße Q der Schaltungseinheit dieselbe Begründung für jedes Steuersignal. Das heißt, werden Steuerdaten zunächst in das Steuerregister 105 geschrieben, so sollten die Daten in einer Weise geschrieben werden, die bewirkt, daß der Ausgang RA auf dem "0"-Pegel und OB auf dem "1"-Pegel liegt.
- Wie oben beschrieben, ermöglicht bei dem in Fig. 22 gezeigten System lediglich die Veränderung der Daten auf dem Datenbus den Einsatz desselben Steuersignals zum Lesen sowohl der gespeicherten Daten von irgendeiner RAM-Zelle in der Schaltungseinheit als auch der Ausgangsgröße Q der Schaltungseinheit.
- Während bei dem in Fig. 22 gezeigten System der Zeilendecoder die in Fig. 18 gezeigte Struktur aufweist, kann er auch die in Fig. 19 gezeigte aufweisen. In diesem Fall ist zu erwähnen, daß das Steuerregister 105 nicht erforderlich ist und daß der anfängliche Schreibbetrieb in dem Zeitablaufdiagramm nach Fig. 23 nicht erforderlich ist.
- Hiermit ist es mit der programmierbaren Logikschaltungseinheit und der programmierbaren Logik der oben Ausführungsform möglich, die Schaltungskonfiguration im Vergleich zu dem üblichen Äquivalent zu vereinfachen. Es ist auch möglich, einfach das Signal bei jedem Knoten der Schaltungseinheit zu beobachten. Dieses Merkmal ist beim Strukturieren eines feldprogrammierbaren Gatearrays nützlich.
- Wie oben beschrieben, ist es mit der vorliegenden Erfindung möglich, eine programmierbare Logikschaltungseinheit und eine programmierbare Logikschaltung zu schaffen, die sich zum Aufbau eines feldprogrammierbaren Gatearrays eignet.
Claims (22)
1. Programierbare Logikschaltungseinheit, enthaltend:
eine Datenspeicherschaltung (10) zum Speichern
mindestens eines ersten, zweiten und dritten
Auswahldatenwerts;
eine kombinatorische Logikschaltung (13), der mindestens
zwei Eingangssignale (A, B) zugeführt werden und die ein
bestimmtes Logikausgangssignal anhand dieser
Eingangssignale bildet;
mindestens zwei Eingangsanschluß-Auswahlschaltungen (11,
12) zum Auswählen mindestens zweier Eingangssignale (A,
B) , die der kombinatorischen Logikschaltung (13)
zugeführt sind aus mehr als zwei Eingangssignalen auf
Grundlage des ersten Auswahldatenwerts;
eine taktsynchronisierte Schaltung (14) zum Halten des
Ausgangssignals von der kombinatorischen Logikschaltung
(13) und zum Ausgeben desselben beim Empfangen des
Taktsignals;
eine Auswahlschaltung (16) vom Typ mit Dreipunktausgabe
mit mehreren Ausgangsanschlüssen zum Auswählen eines der
Ausgangsanschlüsse auf Basis des zweiten
Auswahldatenwerts und eines von einem der mindestens
zwei Eingangsauswahlschaltungen (11, 12) ausgegebenen
Signals;
dadurch gekennzeichnet, daß sie enthält
eine Polaritätsauswahlschaltung (15) zum Auswählen eines
von der taktsynchronisierten Schaltung (14) ausgegebenen
Signals oder invertierten Signals in Abhängigkeit von
dem dritten Datenauswahlwert und zum Zuführen desselben
an die Auswahlschaltung (15) vom Typ mit
Dreipunktausgang für das Ausgeben desselben ausgehend
von dem ausgewählten Anschluß der Auswahlschaltung (16)
vom Typ mit Dreipunktausgang.
2. Programmierbare Logikschaltungseinheit nach Anspruch 1,
dadurch gekennzeichnet, daß die taktsynchronisierte
Schaltung den gehaltenen Inhalt der taktsynchronisierten
Schaltung (14) in Ansprechen auf ein Rücksetzsignal
rücksetzt.
3. Programmierbare Logikschaltungseinheit nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß die kombinatorische
Logikschaltung (13) die Veränderung des logischen
Zustands des Ausgangssignals gemäß der Eingangssignale
in Übereinstimmung mit vierten Daten ermöglicht, die in
der Datenspeicherschaltung (10) gespeichert sind.
4. Programmierbare Logikschaltungseinheit, dadurch
gekennzeichnet, daß sie enthält:
mehrere in Matrixform angeordnete, programmierbare
Logikschaltungseinheiten nach Anspruch 1 oder 2.
5. Programmierbare Logikschaltungseinheit nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß jede der
Eingangsauswahlschaltungen (11, 12) ein Signal auf der
Grundlage von in der Datenspeicherschaltung (10)
gespeicherten ersten Daten mit komplementären Pegeln
auswählt.
6. Programmierbare Logikschaltungseinheit nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß eine der mindestens
zwei Eingangsauswahlschaltungen (11, 12) mindestens
eines ihrer Ausgangssignale als Eingangssignal an die
andere Eingangsauswahlschaltung zuführt.
7. Programmierbare Logikschaltungseinheit nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß die mindestens zwei
Eingangsauswahlschaltungen (11, 12) jeweils ein
Logikschaltung mit festem Wert als eines von zwei oder
mehr Eingangssignalen zugeführt wird.
8. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbare Schaltungseinheiten nach
Anspruch 1, derart, daß bei mindestens einer der
taktsynchronisierten Schaltung (14) eines der
Eingangssignale an die kombinatorische Logikschaltung
(13) als Taktsignal zugeführt ist.
9. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbare Logikschaltungseinheiten nach
Anspruch 2, derart, daß bei mindestens einer der
taktsynchronisierten Schaltung (12) eines der
Eingangssignale an die kombinatorische Logikschaltung
(13) als Rücksetzsignal zugeführt ist.
10. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbaren Logikschaltungseinheiten nach
Anspruch 1 oder 2, derart, daß bei mindestens einer der
Ausgangsauswahlschaltungen (16) eines der
Eingangssignale für die kombinatorische Logikschaltung
(13) als Steuersignal für eine Dreipunktsteuerung
zugeführt ist.
11. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbare Logikschaltungseinheiten nach
Anspruch 1, derart, daß bei mindestens einer der
taktsynchronisierten Schaltung (14) mindestens eines der
Eingangssignale der kombinatorischen Logikschaltung (13)
als Taktsignal zugeführt wird und der
Ausgangsauswahlschaltung (16) eines der Eingangssignale
für die kombinatorische Logikschaltung (13) als
Steuersignal für eine Dreipunktsteuerung zugeführt wird.
12. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbare Logikschaltungseinheiten nach
Anspruch 2, derart, daß bei mindestens einer der
taktsynchronisierten Schaltung (14) eines der
Eingangssignale für die kombinatorische Logikschaltung
(13) als Rücksetzsignal zugeführt ist und der
Ausgangsauswahlschaltung (16) eines der Eingangssignale
für die kombinatorische Logikschaltung (13) als
Steuersignal für eine Dreipunktsteuerung zugeführt ist.
13. Programmierbare Logikschaltung, dadurch gekennzeichnet,
daß sie enthält:
mehrere programmierbare Logikschaltungseinheiten nach
Anspruch 1, derart, daß bei einer ersten der
taktsynchronisierten Schaltung (14) eines der
Eingangssignale für die kombinatorische Logikschaltung
(13) als Taktsignal zugeführt ist; und
bei einer zweiten der Ausgangsauswahlschaltung (16)
eines der Eingangssignale für die kombinatorische
Logikschaltung (13) als Steuersignal für die
Ausgangsauswahl zugeführt ist und der
taktsynchronisierten Schaltung (14) das in der ersten
programmierbaren Schaltungseinheit eingesetzte
Taktsignal als Taktsignal zugeführt ist.
14. Programmierbare Logikschaltungseinheit, dadurch
gekennzeichnet, daß sie einhält:
mehrere programmierbare Logikschaltungseinheiten nach
Anspruch 2, derart, daß bei einer ersten der
taktsynchronisierten Schaltung (14) eines der
Eingangssignale für die kombinatorische Logikschaltung
(13) als Taktsignal zugeführt ist; und
bei einer zweiten der Ausgangsauswahlschaltung (16)
eines der Eingangssignale für die kombinatorische
Logikschaltung (13) als Steuersignal für die
Ausgangsauswahl zugeführt ist und der
taktsynchronisierten Schaltung (14) das bei der ersten
programmierbaren Logikschaltungseinheit eingesetzte
Taktsignal als Taktsignal eingesetzt ist;
in der zweiten programmierbaren Logikschaltungseinheit
der taktsynchronisierten Schaltung (14) weiterhin eines
der Eingangssignale für die kombinatorische
Logikschaltung (13) als Rücksetzsignal zugeführt ist;
und
bei der ersten programmierbaren Logikschaltungseinheit
weiterhin deren taktsynchronisierter Schaltung (14) das
Rücksetzsignal für die taktsynchronisierte Schaltung
(14) der zweiten programmierbaren Logikschaltungseinheit
als Rücksetzsignal zugeführt ist.
15. Programmierbare Logikschaltung nach Anspruch 13 oder 14,
dadurch gekennzeichnet, daß die den taktsynchronisierten
Schaltungen (14) jeweils der ersten und zweiten
programmierbaren Logikeinheit zugeführten Taktsignale
komplementär zueinander sind.
16. Programmierbare Logikschaltung nach Anspruch 15, dadurch
gekennzeichnet, daß die erste und zweite programmierbare
Schaltungseinheit in derselben integrierten Schaltung so
gebildet sind, daß sie aneinander angrenzen.
17. Programmierbare Logikschaltungseinheit nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß die Logikschaltung(
13) eine Schaltungsfunktion aufweist, die sich in
Übereinstimmung mit in der Speicherschaltung (10)
gespeicherten Daten verändert; und daß sie ferner
enthält:
eine Lesesteuereinrichtung (WL1, WL2, WL1-1 bis WL1-4,
WL2-1 bis WL2-3, WL3-1 bis WL3-4) zum Steuern des Lesens
von Daten aus der Speicherschaltung (10);
Datenleitungen (BL6, BL7) zum Übertragen der von der
Speicherschaltung (10) gelesenen Daten; und
eine Beobachtungssteuervorrichtung (61, WL1, WL3), die
einen Teil der Lesesteuervorrichtung enthält und die das
Lesen des Signals bei jedem Knoten in der Logikschaltung
für eine Beobachtung steuert.
18. Programmierbare Logikschaltungseinheit nach Anspruch 17,
dadurch gekennzeichnet, daß das von einem vorgegebenen
Knoten in der Logikschaltung gelesene Signal über die
Datenleitungen übertragen wird.
19. Programmierbare Logikschaltungseinheit nach Anspruch 18,
dadurch gekennzeichnet, daß von einem vorgegebenen
Knoten in der Logikschaltung ein Paar von Signalen mit
komplementären Pegeln gelesen werden.
20. Programmierbare Logikschaltungseinheit nach Anspruch 17,
dadurch gekennzeichnet, daß die Lesesteuervorrichtung
eine mit der Speicherschaltung verbundene
Speicherschaltungs-Auswahlleitung (WL1) enthält.
21. Programmierbare Logikschaltungseinheit nach Anspruch 20,
dadurch gekennzeichnet, daß die
Beobachtungssteuervorrichtung enthält:
Signalleitungen (BL6, BL7) zum Übertragen des von einem
vorgegebenen Knoten in der Logikschaltung gelesenen
Signals; und
eine zwischen einem vorgegebenen Knoten in der
Logikschaltung und den Signalleitungen eingefügte
Schaltvorrichtung (61), die durch das Signal auf der
Speicherschaltungs-Auswahlleitung gesteuert ist.
22. Programmierbare Logikschaltungseinheit nach Anspruch 17,
dadurch gekennzeichnet, daß die
Beobachtungssteuervorrichtung zwischen einem
vorgegebenen Knoten in der Logikschaltung und den
Datenleitungen eingefügt ist und durch ein getrenntes
Signal gesteuert ist, das sich von dem Signal auf der
Speicherschaltungs-Auswahlleitung unterscheidet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10556791 | 1991-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69227144D1 DE69227144D1 (de) | 1998-11-05 |
DE69227144T2 true DE69227144T2 (de) | 1999-03-18 |
Family
ID=14411112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69227144T Expired - Fee Related DE69227144T2 (de) | 1991-05-10 | 1992-05-07 | Programmierbare logische Einheit |
Country Status (4)
Country | Link |
---|---|
US (1) | US5309045A (de) |
EP (1) | EP0512536B1 (de) |
KR (1) | KR950012952B1 (de) |
DE (1) | DE69227144T2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386155A (en) * | 1993-03-30 | 1995-01-31 | Intel Corporation | Apparatus and method for selecting polarity and output type in a programmable logic device |
US5652902A (en) * | 1993-06-08 | 1997-07-29 | Theseus Research, Inc. | Asynchronous register for null convention logic systems |
US5438295A (en) * | 1993-06-11 | 1995-08-01 | Altera Corporation | Look-up table using multi-level decode |
US5815024A (en) * | 1993-06-11 | 1998-09-29 | Altera Corporation | Look-up table using multi-level decode |
CA2126265A1 (en) * | 1993-09-27 | 1995-03-28 | Michael Robert Cantone | System for synthesizing field programmable gate array implementations from high level circuit descriptions |
US5737578A (en) * | 1994-11-18 | 1998-04-07 | International Business Machines Corp. | Apparatus and method for partitioning multiport rams |
US5646546A (en) * | 1995-06-02 | 1997-07-08 | International Business Machines Corporation | Programmable logic cell having configurable gates and multiplexers |
US5781032A (en) * | 1996-09-09 | 1998-07-14 | International Business Machines Corporation | Programmable inverter circuit used in a programmable logic cell |
JP5012816B2 (ja) * | 2006-12-28 | 2012-08-29 | 日本電気株式会社 | 信号選択装置とシステムと回路エミュレータ及び方法並びにプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
GB2202356B (en) * | 1985-02-27 | 1989-10-11 | Xilinx Inc | Configurable combinational logic circuit |
US4684830A (en) * | 1985-03-22 | 1987-08-04 | Monolithic Memories, Inc. | Output circuit for a programmable logic array |
US4933577A (en) * | 1985-03-22 | 1990-06-12 | Advanced Micro Devices, Inc. | Output circuit for a programmable logic array |
US4742252A (en) * | 1985-03-29 | 1988-05-03 | Advanced Micro Devices, Inc. | Multiple array customizable logic device |
US4789951A (en) * | 1986-05-16 | 1988-12-06 | Advanced Micro Devices, Inc. | Programmable array logic cell |
US4910417A (en) * | 1986-09-19 | 1990-03-20 | Actel Corporation | Universal logic module comprising multiplexers |
US5019736A (en) * | 1986-11-07 | 1991-05-28 | Concurrent Logic, Inc. | Programmable logic cell and array |
DE3875909T2 (de) * | 1987-11-20 | 1993-05-13 | Kawasaki Steel Co | Programmierbare logische vorrichtung. |
US4878200A (en) * | 1987-12-30 | 1989-10-31 | Intel Corporation | Product term sharing/allocation in an EPROM array |
AU614426B2 (en) * | 1988-08-31 | 1991-08-29 | Fujitsu Limited | Constitution for expanding logic scale of a programmable logic array |
GB8828828D0 (en) * | 1988-12-09 | 1989-01-18 | Pilkington Micro Electronics | Semiconductor integrated circuit |
US4912345A (en) * | 1988-12-29 | 1990-03-27 | Sgs-Thomson Microelectronics, Inc. | Programmable summing functions for programmable logic devices |
US5027011A (en) * | 1989-10-31 | 1991-06-25 | Sgs-Thomson Microelectronics, Inc. | Input row drivers for programmable logic devices |
US5144166A (en) * | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
-
1992
- 1992-05-07 DE DE69227144T patent/DE69227144T2/de not_active Expired - Fee Related
- 1992-05-07 EP EP92107697A patent/EP0512536B1/de not_active Expired - Lifetime
- 1992-05-08 KR KR1019920007822A patent/KR950012952B1/ko not_active IP Right Cessation
- 1992-05-08 US US07/880,591 patent/US5309045A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR920022672A (ko) | 1992-12-19 |
EP0512536B1 (de) | 1998-09-30 |
DE69227144D1 (de) | 1998-11-05 |
US5309045A (en) | 1994-05-03 |
EP0512536A3 (de) | 1995-08-02 |
EP0512536A2 (de) | 1992-11-11 |
KR950012952B1 (ko) | 1995-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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. | |
DE69802927T2 (de) | Redundanzschaltung für programmierbare logikanordnung mit verschachtelten eingangsschaltkreisen | |
DE4110173C2 (de) | Adressenansteuereinrichtung für einen SRAM und Verfahren zum Betreiben derselben | |
DE4025151C2 (de) | Halbleiterspeichereinrichtung und Betriebsverfahren für eine Halbleiterspeichereinrichtung | |
EP0010173B1 (de) | Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen | |
DE19530100C2 (de) | Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren | |
DE69322311T2 (de) | Halbleiterspeicheranordnung | |
DE69125052T2 (de) | Halbleiterspeichervorrichtung mit Redundanzschaltung | |
DE2646163B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
WO1996033499A1 (de) | Inhalts-adressierbarer speicher | |
DE19510902A1 (de) | Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern | |
DE3015992A1 (de) | Programmierbare logische anordnung | |
DE2404146A1 (de) | Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem | |
DE102019118782A1 (de) | SRAM-Speicher | |
DE4238062A1 (en) | Multi-port memory e.g. for register file in microprocessor - has several access devices for individual cells and simultaneous access blocking | |
DE68927202T2 (de) | Paralleler Prozessor | |
DE2926322A1 (de) | Speicher-subsystem | |
DE3788617T2 (de) | Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor. | |
DE69227144T2 (de) | Programmierbare logische Einheit | |
DE69026899T2 (de) | Integriertes Halbleiterschaltungsgerät mit Prüfschaltung | |
DE69722837T2 (de) | Speicheranordnung mit überlagerter Busstruktur | |
DE3587944T2 (de) | Konfigurierbare logische Matrix. | |
DE69322436T2 (de) | Halbleiterspeicheranordnung | |
DE2415600C2 (de) | ||
DE3214230C2 (de) | Speicheranordnung mit Mehrfach-Zugriffsleitungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |