DE60133595T2 - Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung - Google Patents

Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung Download PDF

Info

Publication number
DE60133595T2
DE60133595T2 DE60133595T DE60133595T DE60133595T2 DE 60133595 T2 DE60133595 T2 DE 60133595T2 DE 60133595 T DE60133595 T DE 60133595T DE 60133595 T DE60133595 T DE 60133595T DE 60133595 T2 DE60133595 T2 DE 60133595T2
Authority
DE
Germany
Prior art keywords
input
voltage
terminal
circuit
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60133595T
Other languages
English (en)
Other versions
DE60133595D1 (de
Inventor
Kazuo Musashino-shi Aoyama
Hiroshi Musashino-shi Sawada
Akira Musashino-shi Nagoya
Kazuo Musashino-shi Nakajima
Tadashi Musashino-shi Shibata
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2000005942A external-priority patent/JP3485849B2/ja
Priority claimed from JP2000031557A external-priority patent/JP3485854B2/ja
Priority claimed from JP2000080022A external-priority patent/JP3565495B2/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE60133595D1 publication Critical patent/DE60133595D1/de
Publication of DE60133595T2 publication Critical patent/DE60133595T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • 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/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • 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/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/0813Threshold logic
    • 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
    • H03K19/17736Structural details of routing resources
    • 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
    • H03K19/17748Structural details of configuration resources
    • 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
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • 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
    • H03K19/1778Structural details for adapting physical parameters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00156Layout of the delay element using opamps, comparators, voltage multipliers or other analog building blocks

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Halbleitervorrichtung und eine integrierte Schaltung. Genauer gesagt betrifft die vorliegende Erfindung die Halbleitervorrichtung und die integrierte Schaltung, die eine Funktion in jeder von ihnen konfigurieren kann, selbst nachdem sie hergestellt sind. Zusätzlich betrifft die vorliegende Erfindung ein Verfahren zum Speichern von Funktionskonfigurationsdaten.
  • Weiterhin betrifft die vorliegende Erfindung eine integrierte Schaltung, die irgendeine symmetrische Funktion in ihr konfigurieren kann und eine Selektorfähigkeit hat.
  • Weiterhin betrifft die vorliegende Erfindung ein Verfahren zum Entwerfen einer integrierten Schaltung, die irgendeine Funktion realisiert und sich auf die integrierte Schaltung bezieht.
  • 2. Beschreibung des zugehörigen Standes der Technik
  • Eine rekonfigurierbare Logikvorrichtung, die typisch für ein FPGA (feldprogrammierbares Gatearray) oder eine PLD (programmierbare Logikvorrichtung) ist, wird weithin für verschiedene Zwecke zusätzlich dazu verwendet, dass das Ausmaß von ihr größer wird.
  • Wenn die rekonfigurierbare Logikvorrichtung aufzutauchen bzw. zu entstehen beginnt, wird sie hauptsächlich zum Realisieren einer Vorrichtung verwendet, von welcher das nötige Maß klein ist, aber viele Verschiedenheiten nötig sind, oder zum Bilden eines Prototyps. Jedoch wird die rekonfigurierbare Logikvorrichtung heutzutage anstelle einer ASIC (anwendungsspezifischen integrierten Schaltung) oft in ein Endprodukt eingebaut, weil FPGA eine erwünschte Leistungsfähigkeit erfüllen kann und es einige Monate früher als ASIC versandt werden kann.
  • Weiterhin beginnt eine Forschung und Entwicklung eines rekonfigurierbaren Computersystems (RCS) aktiv zu werden, wobei bei dem rekonfigurierbaren Computersystem bzw. Rechensystem die rekonfigurierbare Logikvorrichtung verwendet wird und eine Hardwarekonfiguration gemäß einer Anwendung adaptiv geändert werden kann. Beispielsweise ist das rekonfigurierbare Computersystem (RCS) in Toshinori Sueyoshi, "Present Status and Problems of the Reconfigurable Computing Systems – Toward the Computer Evolution –," Technical Report of IEICE, VLD96-79, CPSY96-91, 1996-12, gezeigt.
  • In einer integrierten Schaltung, die die rekonfigurierbare Logikvorrichtung wie das oben angegebene FPGA konfiguriert, enthalten Teile zum Rekonfigurieren einer Logik einen Eingabe/Ausgabe-Teil (I/O-Teil), einen Verdrahtungsverbindungsteil und einen Logikteil. Unter diesen enthält ein Konfigurierverfahren des Logikteils technische Charakteristiken, die für eine hardwaremäßige Entwicklung und eine Herstellung verwendet werden. Repräsentative konfigurierbare Logikblöcke sind ein in den 1A und 1B gezeigter LUT-(Nachschautabellen-)Typ, ein in den 2A und 2B gezeigter auf einem Multiplexer basierender Blocktyp und ein in 3 gezeigter Typ für ein programmierbares logisches Array (PLA).
  • Der in den 1A und 1B gezeigte LUT-Typ enthält Speicherelemente oder Speicherschaltungen, die typisch für SRAM sind, wobei die Speicherelemente oder Speicherschaltungen Funktionskonfigurationsdaten speichern.
  • Im Folgenden wird der LUT-Typ beschrieben werden, bei welchem SRAM für den Logikteil verwendet wird. Da der Logikteil durch SRAM konfiguriert ist, kann er durch einen standardmäßigen CMOS-Prozess hergestellt werden. Zusätzlich kann deshalb, weil eine Logik durch in dem SRAM gespeicherte Daten realisiert wird, die Logik prinzipiell für unbegrenzte Male überschrieben werden. Jedoch ist ein großer Bereich in dem Chip zum Realisieren einer Logik von n (n ist eine positive ganze Zahl) Eingangsvariablen erforderlich, da 2n SRAMs nötig sind. Zusätzlich ist ein externer ROM zum kontinuierlichen Speichern von Daten nötig, da im SRAM gespeicherte Daten verschwinden, wenn eine Energieversorgung gestoppt wird.
  • Eine SRAM-Zelle, die für den veränderbaren Logikteil in dem FPGA verwendet wird, enthält normalerweise 6 Transistoren, wie es in 4 gezeigt ist. Somit erfordert eine LUT für k Eingangsvariablen 2k SRAMs, so dass die Anzahl von Transistoren für die SRAMs 6X2k wird.
  • In vielen Fällen ist die Anzahl k von Eingangsvariablen des FPGA vom LUT-Typ, das im Allgemeinen verwendet wird, 4 oder 5. Eine LUT von k = 4 erfordert 96 Transistoren nur für die SRAM-Zellen und eine LUT von k = 5 erfordert 192 Transistoren. Zusätzlich sind periphere Schaltungen, wie beispielsweise ein Adressendekodierer, eine Schreibschaltung, eine Vorladeschaltung und ein Leseverstärker, nötig. Somit wird das Maß der Schaltung groß.
  • Was den in den 2A und 2B gezeigten auf einem Multiplexer basierenden Blocktyp anbelangt, wird eine Logik durch eine mehrstufige Struktur von Multiplexern realisiert. Dieser auf einem Multiplexer basierende Blocktyp kann auch irgendeine Boolsche Funktion realisieren, genau wie der LUT-Typ. Jedoch benötigt dieser Typ ein Speicherelement oder eine Speicherschaltung, welche andere als die Multiplexer sind, zum Speichern von Funktionskonfigurationsdaten. Als das Speicherelement oder die Speicherschaltung wird ein Antischmelz- oder 1-Bit-SRAM oder ähnliches verwendet. Allgemein wird die Antischmelzeinheit oft zum Realisieren einer schnellen mehrstufigen Logikoperation verwendet. Jedoch ist es schwierig, eine Logikfunktion zu rekonfigurieren, nachdem eine Logikfunktion konfiguriert ist. Was den 1-Bit-SRAM anbetrifft, ist auf dieselbe Weise wie beim LUT-Typ ein großer Bereich in einem Chip nötig, da wenigstens 2n SRAMs zum Realisieren von Logiken von n Eingangsvariablen erforderlich sind.
  • Was das in 3 gezeigte PLA anbetrifft, ist eine Logik durch einen Verbindungszustand eines UND-Arrays und eines ODER-Arrays auf der Basis definiert, dass irgendeine Boolsche Funktion durch UND und ODER konfiguriert werden kann. Das bedeutet, dass PLA eine Logik vom Typ einer Summe-aus-Produkten realisierte. In jedem Array bzw. Gatter werden Speicherelemente oder Speicherschaltungen, wie Antischmelzeinheiten, EPROMs, EEPROMs und SRAMs für die Verbindung einer Verdrahtung verwendet. Insbesondere werden oft EEPROMs zum Realisieren einer UND-Verdrahtung auf einfache Weise verwendet.
  • Die Antischmelzeinheit hat einen derartigen Vorteil, dass sie relativ schnell arbeitet. Jedoch gibt es ein derartiges Problem, dass eine Rekonfiguration schwierig ist, nachdem eine Logik einmal konfiguriert ist. Was den EPROM oder den EEPROM anbetrifft, ist ein Bereich für dieses Speicherelement zum Speichern von Funktionskonfigurationsdaten nötig, das ein anderes als Schaltungen für das UND-Gatter und das ODER-Gatter ist. Zusätzlich sind/ist im Allgemeinen ein Daten-Schreibteil und/oder ein Daten-Löschteil zum Überschreiben der Funktionskonfigurationsdaten nötig. Somit ist es schwierig, eine Logikfunktion auf einfache Weise und in kurzer Zeit zu rekonfigurieren. Insbesondere ist es was den Fall des EPROM anbetrifft, da ein Strahlen von Ultraviolettstrahlen zum Überschreiben bzw. Neuschreiben der Logikfunktion nötig ist, es nicht einfach, die Logikfunktion zu rekonfigurieren. Was den EEPROM anbetrifft, ist die Größe der Speicherzelle größer als diejenige des EPROM. Zusätzlich wird ein Tunnelstrom zum Schreiben von Daten und zum Löschen von Daten verwendet. Somit ist es schwierig, ein Schreiben von Daten und ein Löschen von Daten schnell durchzuführen.
  • Andere programmierbare Hardware, bei welcher ein Logik-Realisierungsverfahren anders sein kann, hat auch das Speicherelement oder die Speicherschaltung zum Speichern der Funktionskonfigurationsdaten.
  • Herkömmliche programmierbare Hardware wird als digitale Signalverarbeitungsvorrichtung angesehen, die zweiwertige Daten, die logisch 1 oder 0 darstellen, als Eingangs/Ausgangs-Signal verwendet, wobei die Funktionskonfigurationsdaten auch als zweiwertige Daten gespeichert werden.
  • Wenn eine fortentwickelte programmierbare Hardware erwünscht ist, wobei die fortentwickelte programmierbare Hardware mehrpegelige und/oder analoge Signale sowie auch die zweiwertigen Signale verarbeiten kann, fehlt dem herkömmlichen Verfahren die Flexibilität. Zusätzlich kann es, indem man eine Schaltungsstruktur verwendet, die mehrpeglige Signale und/oder analoge Signale intern verwenden kann, möglich sein, einen Bereich im Vergleich mit der herkömmlichen Schaltung zu reduzieren.
  • Wie es oben angegeben ist, wird dann, wenn der SRAM zum Speichern der Funktionskonfigurationsdaten verwendet wird, ein Bereich im Chip groß. Wenn die Antischmelzeinheit verwendet wird, ist eine Rekonfiguration schwierig. Was einen EPROM und einen EEPROM anbetrifft, wird eine überschreibspezifische Vorrichtung nötig, so dass es ein derartiges Problem gibt, dass eine Rekonfiguration nicht schnell durchgeführt wird. Zusätzlich fehlt ihm eine Flexibilität, wenn eine fortentwickelte programmierbare Hardware erwünscht ist.
  • Im Folgenden wird eine Beschreibung über eine symmetrische Funktion angegeben werden.
  • Arithmetikoperationsschaltungen werden oft in einem Arithmetikteil (Datendurchlassteil) eines Mikroprozessors (μP) oder einem digitalen Signalverarbeitungsprozessor (DSP) verwendet, die repräsentative Beispiele der Logik-LSI sind. Die Arithmetikoperationsschaltung enthält eine Addierschaltung, eine Subtrahierschaltung, eine Multiplizierschaltung und ähnliches. Diese Arithmetikoperationsschaltungen verwenden oft einen Volladdierer, der die symmetrische Funktion handhabt.
  • Die symmetrische Funktion ist eine logische Funktion, wobei der Funktionswert selbst dann nicht geändert wird, wenn Eingangsvariablen permutiert werden. Beispielsweise wird der Ausgangswert von UND von zwei Eingangsvariablen X1 und X2 nicht geändert, selbst nachdem die Werte von X1 und X2 umgeschaltet werden. Beispiele für die symmetrische Funktion sind UND, ODER, NAND, NOR, XOR und XNOR und ähnliches.
  • Zusätzlich wird für den Steuerteil der Logik-LSI oft eine Schaltung, die eine Selektorfähigkeit enthält, verwendet.
  • Demgemäß werden Schaltungen, die die Fähigkeit für eine symmetrische Funktion haben, und Schaltungen, die die Selektorfähigkeit haben, die andere als sequentielle Schaltungen sind, die beispielsweise Register und Latch- Schaltungen enthalten, mit einer hohen Häufigkeit bzw. Frequenz in der Logik-LSI verwendet.
  • Das LUT-Typ-FPGA kann irgendeine Boolsche Funktion darstellen, hat aber keine Selektor- oder Multiplexerfähigkeit. Zusätzlich ist deshalb, weil die Logik, die in der LUT implementiert ist, nicht immer eine Komplexe ist, die Fähigkeit zum Realisieren von irgendeiner Logikfunktion mit k Eingangsvariablen nicht immer nötig.
  • Wie es oben angegeben ist, ist eine Schaltungsstruktur, die die Fähigkeit für eine symmetrische Funktion und die Selektorfähigkeit gleichzeitig hat, herkömmlich nicht vorgeschlagen.
  • In Bezug auf eine Verbesserung der Funktion von RCS, so dass es nicht nur die symmetrische Funktion sondern auch irgendeine Funktion realisiert, ist es erwünscht, eine Bedingung zu erfüllen, dass die Zeit, die zum Rekonfigurieren einer Logikfunktion genommen wird, kurz ist. Unter den oben angegebenen Typen kann der LUT-Typ, der eine Speicherschaltung wie den SRAM, eine Latch-Schaltung oder eine Schaltung wie DRAM verwendet, diese Bedingung erfüllen.
  • Repräsentative Beispiele der rekonfigurierbaren Logikvorrichtung mit einer hohen Überschreibgeschwindigkeit sind DPGA (dynamisch programmierbares Gatearray) und DRLE (dynamisch rekonfigurierbare Logikmaschine), wobei die LUTs durch Latch-Schaltungem konfiguriert sind.
  • Das DPGA ist in Andre DeHon, DPGA-Coupled Microprocessors: Commodity ICs for the Early 21st Century, Proceedings of the IEEE Workshop an FPGAs for Custom Computing Machines, April 1994, beschrieben. Zusätzlich ist DRLE in T. Fujii, et al., "A Dynamically Reconfigurable Logic Engine with a Multi- Context/Multi-Mode Unified-Cell Architecture, ISSCC99, WA21.3 S. 360–361, 1999, beschrieben.
  • Was jedoch den LUT-Typ anbetrifft, muss deshalb, weil die Wahrheitstabelle direkt in Schaltungen implementiert ist, der veränderbare Logikteil, der irgendeine Logikfunktion darstellen kann, selbst dann vorgesehen sein, wenn nur spezifische Logikfunktionen verwendet werden. Somit benötigt der Logikteil von k Eingangsvariablen 2k Speicherzellen zur Implementierung, wie es oben angegeben ist. Daher gibt es ein derartiges Problem, das die Bereichskosten des veränderbaren Logikteils des LUT-Typs hoch sind.
  • Um dieses Problem zu lösen, kann eine Schaltung betrachtet werden, bei welcher eine Schaltung, die nur symmetrische Funktionen realisiert, die bei einer Arithmetikoperation häufig verwendet werden, die im Arithmetikteil (oder im Datendurchlassteil) durchgeführt wird, eine Selektorschaltung, die oft im Steuerteil verwendet wird, und eine Schaltung, die alle Logikfunktionen realisiert, die ein Komplement für die zwei obigen Schaltungen sind, bei niedrigen Bereichskosten realisiert und kombiniert und implementiert sind.
  • Ein Kombinierer einer Vielzahl von Basisfunktionen, um eine Basiseinheit der rekonfigurierbaren Logikvorrichtung auszubilden, ist äquivalent zu einem Konfigurieren einer Basiseinheit aus einer Vielzahl von LUTs. Allgemein ist die Basiseinheit des änderbaren Logikteils einer aktuellen rekonfigurierbaren Logikvorrichtung wie dies konfiguriert.
  • Zusätzlich wird ein Verfahren vorgeschlagen, bei welchem Vorrichtungen mit unterschiedlichen Charakteristiken kombiniert werden, so dass die Basiseinheit des änderbaren Logikteils konfiguriert wird. Beispielsweise ist das Verfahren in A. Kaviani und S. Brown, The Hybrid Field- Programmable Architecture IEEE Design & Test of Computers, S. 74–83, April Juni 1999, offenbart.
  • Jedoch ist es für die herkömmliche rekonfigurierbare Logikvorrichtung schwierig, nur spezielle Funktionen mit speziellen Eigenschaften zu realisieren.
  • Es ist bekannt, dass irgendeine Logikfunktion durch eine Schwellenlogik dargstellt werden kann, und spezifischer ist es bekannt, dass irgendeine Logikfunktion durch eine mehrstufige Struktur von Schwellenelementen realisiert werden kann, wobei Gewichte und Schwellenwerte eingestellt werden. Eines der Schwellenelemente, die die Schwellenlogik effektiv realisieren können, ist ein Neuronen-MOS-Transistor. Ein Beispiel ist in Tadashi Shibata und Tadahiro Ohmi, "A Functional MOS Transistor Featuring Gate-Level Weighted Sum and Threshold Operations", IEEE Transactions an Electron Devices, Vol. 39, Nr. 6, S. 1444–1455, 1992 offenbart. Die 5A5C zeigen eine Struktur und ein Layout des Neuronen-MOS-Transistors und einer Schaltung, die komplementärer Neuronen-MOS-Inverter genannt wird. Der komplementäre Neuronen-MOS-Inverter enthält zwei Neuronen-MOS-Transistoren, der unterschiedliche Leitfähigkeitstypen hat. Im Folgenden wird ein komplementärer MOS-Inverter, der gleich einem standardmäßigen komplementären Neuronen-MOS-Inverter (CMOS-Inverter) ist, Neuronen-MOS-Inverter genannt werden.
  • 5A zeigt ein Layout, 5B zeigt eine Schnittansicht von X-X' in 5A und 5C zeigt ein Schaltungsdiagramm eines komplementären Neuronen-MOS-Inverters mit n Eingängen.
  • Der Neuronen-MOS-Transistor hat ein schwebendes Gate in einem Bereich zwischen dem Sourcebereich und Drainbereich und eine Vielzahl von Eingangs-Gates bzw. Eingangsgatter, die kapazitiv mit dem schwebenden Gate gekoppelt sind, wie es in den 5A und 5B gezeigt ist.
  • Die 6A und 6B zeigen eine Schaltung eines CMOS-Typ-Inverters (Neuronen-MOS-Inverters), der einen herkömmlichen Neuronen-MOS-Transistor verwendet, wobei 6A das durch Transistorsymbole gezeigte Schaltungsdiagramm zeigt und 6B die durch logische Symbole gezeigte Schaltung zeigt.
  • Im Folgenden wird die Operation des Inverters, der beispielsweise in den 6A und 6B gezeigt ist, detailliert beschrieben werden.
  • Lasst uns annehmen, dass Vi eine Form i-ten Eingangsanschluss bei n Eingangsanschlüssen eingegebene Signalspannung ist, Ci ein Eingangsgate-Kapazitätswert zwischen dem i-ten Eingangsanschluss und dem schwebenden Gate ist, ΣCnmos + ΣCpmos die Gesamtsumme von Kapazitätswerten zwischen dem schwebenden Gate und Source-, Drain-, Substrat-(Wannen-)Anschlüssen ist. Wenn die folgende Formel 1 wahr bzw. richtig ist,
    Figure 00100001
    wird die Gesamtsumme einer elektrischen Lademenge Qf, die in jeder Eingangsgate-Kapazität akkumuliert wird, durch die folgende Formel 2 dargestellt. Qf = Σni=1 Ci·Vi (Formel 2)
  • Dann kann die Spannung des schwebenden Gates Vfg durch die folgende Formel 3 dargestellt werden, wobei Vfg grob proportional zu Qf ist.
  • Figure 00110001
  • Wenn die Spannung des schwebenden Gates Vfg größer als eine Schwellenspannung Vfth in Bezug auf das schwebende Gate ist, wird die Ausgangssignalspannung Vout des Neuronen-MOS-Inverters eine logisch invertierte Spannung der Spannung des schwebenden Gates Vfg in Bezug auf die Schwellenspannung Vfth.
  • Wie es oben angegeben ist, ist der Neuronen-MOS-Inverter eine Art eines Schwellenelements, das einen Schwellenprozess durchführt. Das bedeutet, dass der Neuronen-MOS-Inverter eine Art eines Schwellenelements ist, das einen Schwellenprozess an der Spannung des schwebenden Gates Vfg durch die Schwellenspannung Vfth durchführt, wobei die Spannung des schwebenden Gates Vfg grob proportional zu Qf ist, was ein Ergebnis einer Summe aus Produkten von Vi und Ci für alle Eingangssignale ist.
  • Im Folgenden wird ein Fall beschrieben werden, in welchem das Eingangssignal ein zweiwertiger Wert ist.
  • Wenn angenommen wird, dass die Eingangssignalspannung zwei stabile Spannungen {0, Vdd} annehmen kann und Ci =C·wi, wobei wi ein Eingangsgate-Kapazitätsverhältnis ist, das ein durch den kleinsten Eingangsgate-Kapazitätswert normalisiertes Ci ist, wird die Gesamtsumme Qf der Lademenge, die in jeder Eingangsgate-Kapazität akkumuliert ist, durch die folgenden Formeln 4 und 5 dargestellt.
  • Figure 00110002
  • Figure 00120001
  • Wenn angenommen wird, dass das Ausgangssignal des Neuronen-MOS-Inverters Vout ist, wird eine Spannung, die Vout ≧ Vfth erfüllt, als Vhigh dargestellt, wird eine Spannung, die Vout < Vfth erfüllt, als Vlow dargestellt, und wird die Beziehung zwischen Vout und Qf durch die folgenden Formeln 6 und 7 dargestellt.
  • Figure 00120002
  • Demgemäß wird dann, wenn zweiwertige Werte {0, Vdd} für Eingangssignale verwendet werden, über den Ausgangssignalwert des Neuronen-MOS-Inverters durch die Summe eines Kapazitätsverhältnisses der Eingangsgate-Kapazität entschieden, wobei xi = 1 eingegeben wird, das heißt ni=1 xi·wi) (Formel 8) und Vfth
  • Ein solcher Neuronen-MOS-Transistor und eine Basisstruktur einer Schaltung, die ihn verwendet, sind in japanischen offengelegten Patentanmeldungen Nr. 6-77427 und 7-161942 offenbart. Gemäß einer Technik, die in der japanischen offengelegten Patentanmeldung Nr. 6-77427 gezeigt ist, wird eine Logikfunktion einer integrierten Schaltung zum Realisieren von Boolschen Funktionen durch Verwenden einer Maske zum Ausbilden einer Verdrahtung während Herstellungsprozessen ausgebildet. Daher ist eine Rekonfiguration der Logikfunktion nach einer Herstellung unmöglich. Das ist gleich dem Konzept eines Gatearrays.
  • Daher sind in der japanischen offengelegten Patentanmeldung Nr. 6-77427 die nachfolgend angegebenen Ideen der vorliegenden Erfindung nicht offenbart.
  • Was eine Struktur anbetrifft, die in der japanischen offengelegten Patentanmeldung Nr. 7-161942 offenbart ist, wird eine unnötige Ladung, die im schwebenden Gate akkumuliert ist, durch verbindende schwebende Gates mit einem Anschluss mit einer Spannung zum Verbessern einer Zuverlässigkeit des Neuronen-MOS-Transistors entfernt. Somit sind in der japanischen offengelegten Patentanmeldung Nr. 7-161942 die nachfolgend angegebenen Ideen der vorliegenden Erfindung nicht offenbart.
  • In Tadashi Shibata, Koji Kotani und Tadahiro Ohmi, "Real-Time Reconfigurable Logic Circuits Using Neuron MOS Transistors", IEEE International Solid-State Circuits Conference, FA15.3, S. 238–239, 1993, ist es offenbart, dass eine Boolsche Funktion für eine spezifische Anzahl von Eingängen durch Verwenden einer Neuronen-MOS-Schaltung dargestellt werden kann, die durch die Neuronen-MOS-Transistoren konfiguriert ist. Jedoch werden Signale zum Auswählen einer Boolschen Funktion direkt von außerhalb der integrierten Schaltung zugeführt. Daher offenbart dieses Dokument eine Idee nicht, dass die Neuronen-MOS-Schaltung Funktions- oder Logikkonfigurationsdaten hält. Das bedeutet, dass gemäß der in diesem Dokument offenbarten Technik die Funktionsfähigkeit nicht realisiert werden kann, solange keine Steuersignale kontinuierlich von außerhalb geliefert werden.
  • Es ist denkbar, für die Schaltung des obigen Dokuments eine Speichervorrichtung zum Speichern der Steuersignale vorzusehen, die eine Boolsche Funktion auswählen. Wenn ein flüchtiger Speicher, der typisch für einen SRAM ist, als die Speichervorrichtung zu der Schaltung hinzugefügt wird, die durch die Neuronen-MOS-Inverter konfiguriert ist, wenn eine Verarbeitungsgeschwindigkeit als wichtig angesehen wird, ist diese Schaltungsstruktur äquivalent zu einer Schaltung, bei welcher ein Adressendecodiererteil des LUT-Typ-FPGA durch die Neuronen-MOS-Inverter konfiguriert ist. Dies ist nicht sehr nützlich.
  • Zusätzlich ist ein Entwicklungsverfahren für eine symmetrische Funktion durch Verwenden einer Neuronen-MOS-Schaltung in Kazuo Aoyama, Hiroshi Sawada, Akira Nagoya, Kazuo Nakajima, "A Design Method for a Circuit with Neuron MOS Transistors Realizing", Technical Report of IEICE, CPSY99-90, S. 49–51, 1999-11, offenbart.
  • Weiterhin ist eine Basisstruktur eines Neuronen-MOS-Transistors in einer japanischen offengelegten Patentanmeldung Nr. 3-6679 offenbart. In diesem Dokument ist ein Kapazitätswert zwischen einem Eingangsgateanschluss und einem Anschluss eines schwebenden Gates als ein Gewichtungskoeffizent positioniert, der in W. F. McCulloch und W. A. Pitts, "A Logical Calculus of the Ideas Immanent in Neural Nets", Bull. Match. Biophy., Vol. 5, S. 115–133, 1992 beschrieben ist, oder als ein Gewichtungskoeffizent zum Herstellen eines D/A-(Digital/Analog-)Wandlers, wenn der Neuronen-MOS-Transistor für eine Schaltung vom Sourcefolgertyp verwendet wird.
  • Wie es oben angegeben ist, gibt es folgende Probleme bei der herkömmlichen programmierbaren Hardware. Das bedeutet, was den LUT-Typ anbetrifft, dass ein großer Bereich für den änderbaren Logikteil erforderlich ist, der aus Speicherschaltungen, wie beispielsweise SRAMs, besteht, um ein Rekonfigurieren einer Logikfunktion zu ermöglichen. Was den Multiplexertyp und den PLA-Typ anbetrifft, sind die Antischmelzeinheiten oder Speicherelemente wie beispielsweise EEPROMs und EPROMs, erforderlich, so dass ein Rekonfigurieren der Logikfunktion nicht auf einfache Weise und in einer kurzen Zeit durchgeführt werden kann, wobei es sehr schwierig für die Antischmelzeinheit ist, die Logikfunktion zu rekonfigurieren und zwar aufgrund des Prinzips und aufgrund dessen, dass der EEPROM eine spezifische Vorrichtung zum Schreiben und Löschen von Daten erfordert.
  • Daher ist eine integrierte Schaltung erwünscht, wobei der Bereich von Speicherelementen oder einer Speicherschaltung, die andere als Hauptkonfigurationselemente sind, zum Realisieren des änderbaren Logikteils nicht nötig ist.
  • Eine Vorrichtung, die die Logikfunktion schnell rekonfigurieren kann, unter herkömmlichen rekonfigurierbaren Logikvorrichtungen ist das LUT-Typ-FPGA, wobei der änderbare Logikteil durch die LUT konfiguriert ist, die SRAMs enthält. Die LUT mit k Eingangsvariablen kann irgendeine Boolsche Funktion realisieren, die durch k Eingangsvariablen erzeugt werden kann. Jedoch gibt es ein derartiges Problem, dass ein großer Bereich in der LSI erforderlich ist. Somit ist ein änderbarer Logikteil erwünscht, der einen kleinen Bereich hat und die Logikfunktion rekonfigurieren kann.
  • Zusätzlich sind eine Schaltungsstruktur und das Entwicklungsverfahren erwünscht, wobei eine Schaltung zum Realisieren einer symmetrischen Funktion und eine Schaltung mit geringen Bereichskosten zum Realisieren irgendeiner Funktion einschließlich symmetrischer Funktionen in dem änderbaren Logikteil einer Neuronen-MOS-Schaltung kombiniert sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Halbleitervorrichtung und eine integrierte Schaltung zur Verfügung zu stellen, die ein Speicherelement oder eine Speicherschaltung, wie beispielsweise einen SRAM, zum Speichern von Funktionskonfigurationsdaten in der programmierbaren Hardware erniedrigen oder nicht verwenden, so dass ein Bereich, der zum Implementieren der Vorrichtung und der Schaltung verwendet werden, erniedrigt werden kann. Zusätzlich ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Rekonfigurieren einer Funktionsfähigkeit zur Verfügung zu stellen, das eine Logikfähigkeit auf einfache Weise und schnell enthält, so dass die programmierbare Hardware sich bezüglich einer Leistungsfähigkeit verbessert.
  • Weiterhin ist es eine Aufgabe der vorliegenden Erfindung, eine integrierte Schaltung zur Verfügung zu stellen, die eine Fähigkeit für eine symmetrische Funktion und eine Selektorfähigkeit und eine Speicherfähigkeit hat, wobei ein Bereich für den änderbaren Logikteil der integrierten Schaltung klein ist und die integrierte Schaltung eine Funktion schnell rekonfigurieren kann.
  • Weiterhin ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Realisieren von nicht nur der symmetrischen Funktion, sondern auch irgendeiner Logikfunktion von k Eingangsvariablen effektiv zur Verfügung zu stellen, indem eine Neuronen-MOS-Schaltung verwendet wird, und eine Neuronen-MOS-Schaltung, die durch Verwenden dieses Verfahrens entwickelt ist.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird durch eine funktionsrekonfigurierbare Halbleitervorrichtung erreicht, die folgendes aufweist:
    eine Vielzahl von Funktionszellen, wobei jede der Funktionszellen eine Basiseinheit ist, die eine Funktion realisiert;
    wobei jede der Funktionszellen eine Vielzahl von Schwellenelementen enthält;
    wobei jedes der Schwellenelemente eine Einrichtung enthält, die einen Schwellenwert speichert; und
    wobei eine Funktion, die durch die Funktionszelle realisiert wird, durch Bestimmen des Schwellenwerts in jedem der Schwellenelemente bestimmt wird.
  • Die Halbleitervorrichtung kann weiterhin einen nichtflüchtigen Speicher aufweisen, der Daten zum Realisieren der Funktion in den Funktionszellen speichert.
  • In der Halbleitervorrichtung können die Funktionszellen durch eine Verdrahtung verbunden sein, die einen Verbindungsstatus ändern kann.
  • Die Halbleitervorrichtung kann weiterhin wenigstens zwei Steuersysteme enthalten,
    wobei jedes der Schwellenelemente mit den Steuersystemen über die Verdrahtung verbunden ist;
    wobei wenigstens ein Steuersystem bei den Steuersystemen mit dem nichtflüchtigen Speicher verbunden ist.
  • In der Halbleitervorrichtung kann jede der Funktionszellen eine Vielzahl von Stufen enthalten, wobei jede der Stufen wenigstens ein Schwellenelement enthält.
  • In der Halbleitervorrichtung kann jedes der Schwellenelemente folgendes enthalten:
    einen ersten Eingabeteil, der ein zu verarbeitendes Eingangssignal eingibt;
    einen zweiten Eingabeteil, der ein Steuersignal zum Realisieren der Funktion eingibt;
    wobei der Schwellenwert durch das Steuersignal eingestellt wird, wobei ein Ausgangswert für ein Eingangssignal, das von dem ersten Eingabeteil eingegeben wird, gemäß dem Schwellenwert bestimmt wird.
  • In der Halbleitervorrichtung kann jedes der Schwellenelemente folgendes enthalten:
    eine Vielzahl von Eingangsanschlüssen;
    einen ersten Anschluss, der übergangsmäßig als elektrisch isolierter Zustand angesehen werden kann;
    ein nichtlineares Element;
    wobei die Eingangsanschlüsse mit dem ersten Anschluss verbunden sind;
    wobei das nichtlineare Element eine Spannung des ersten Anschlusses empfängt.
  • In der Halbleitervorrichtung kann jedes der Schwellenelemente weiterhin folgendes enthalten:
    einen ersten Schalter zwischen dem ersten Anschluss und einem Anschluss mit einer ersten vorbestimmten Spannung;
    wenigstens einen zweiten Schalter, der mit wenigstens einem Eingangsanschluss bei den Eingangsanschlüssen verbunden ist;
    wobei der zweite Schalter zwischen einem Verbindungszustand zum Eingeben eines Eingangssignals von dem wenigstens einen Eingangsanschluss und einem Verbindungszustand zum Eingeben einer zweiten vorbestimmten Spannung umschaltet.
  • In der Halbleitervorrichtung kann das nichtlineare Element eine Inverterschaltung sein, die ein CMOS-Inverter oder ein Inverter vom Typ einer Widerstandslast sein kann.
  • In der Halbleitervorrichtung kann jedes der Schwellenelemente folgendes enthalten:
    einen Halbleiterbereich eines ersten Leitfähigkeitstyps, der auf einem Substrat angeordnet ist;
    einen Sourcebereich und einen Drainbereich eines zweiten Leitfähigkeitstyps, die auf dem Halbleiterbereich vorgesehen sind;
    eine Elektrode eines schwebenden Gates, die auf einem Bereich vorgesehen ist, der den Sourcebereich und den Drainbereich über einen Isolierfilm trennt, wobei die Elektrode des schwebenden Gates mit einem Anschluss verbunden ist, der eine erste Spannung hat, und zwar über ein Element, das einen leitenden Zustand annehmen kann, und einen unterbrochenen Zustand oder einen Zustand elektrisch hoher Impedanz;
    eine Vielzahl von Eingangsgate-Elektroden, die mit der Elektrode des schwebenden Gates über einen Isolierfilm verbunden sind, wobei die Eingangsgate-Elektroden durch wenigstens zwei Eingangssteuerteile gesteuert werden, die in der Halbleitervorrichtung vorgesehen sind;
    wenigstens ein Element zum Umschalten, das wenigstens eine der Eingangsgate-Elektroden mit einer Eingangsleitung verbinden kann, die Funktionskonfigurationsdaten eingibt, oder mit einem Anschluss mit einer zweiten Spannung.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine funktionsrekonfigurierbare integrierte Schaltung erreicht, die folgendes aufweist:
    eine Vielzahl von Schwellenelementen;
    wobei jedes der Schwellenelemente eine Einrichtung enthält, die einen Schwellenwert speichert; und
    wobei eine Funktion, die durch die integrierte Schaltung realisiert wird, durch Bestimmen des Schwellenwerts in jedem der Schwellenelemente bestimmt wird.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine funktionsrekonfigurierbare integrierte Schaltung erreicht, die folgendes aufweist:
    Neuronen-MOS-Transistoren, von welchen jeder einen Schalter enthält;
    eine Schaltung, die Funktionskonfigurationsdaten zum Bestimmen einer Funktion als Vektor speichert, der ein Ergebnis eines Subtrahierens eines dritten Vektors von der Summe aus einem ersten Vektor und einem zweiten Vektor ist;
    wobei der erste Vektor als Elementspannungen von Eingangsgate-Elektroden der Neuronen-MOS-Transistoren zu einer Zeit enthält, wenn Elektroden eines schwebenden Gates der Neuronen-MOS-Transistoren in einem Zustand hoher Impedanz sind oder von Initialisierungsanschlüssen unterbrochen sind, die zum Einstellen einer Anfangsspannung in der Elektrode des schwebenden Gates verwendet werden;
    wobei der zweite Vektor als Elementspannungen der Elektroden des schwebenden Gates zu einer Zeit enthält, wenn die Elektroden des schwebenden Gates mit den Initialisierungsanschlüssen verbunden sind;
    wobei der dritte Vektor als Elementspannungen der Elektroden eines Eingangsgates zu einer Zeit enthält, wenn die Elektroden des schwebenden Gates von den Initialisierungsanschlüssen unterbrochen sind oder wenn die Elektroden des schwebenden Gates in einem Zustand hoher Impedanz in Bezug auf den Initialisierungsanschluss sind.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann der Neuronen-MOS-Transistor folgendes enthalten:
    einen Halbleiternbereich eines ersten Leitfähigkeitstyps, der auf einem Substrat angeordnet ist;
    einen Sourcebereich und einen Drainbereich eines zweiten Leitfähigkeitstyps, die auf dem Halbleiterbereich vorgesehen sind;
    die Elektrode des schwebenden Gates, die derart angesehen werden kann, dass sie in einem schwebenden Zustand ist, die auf einem Bereich vorgesehen ist, der den Sourcebereich und den Drainbereich über einen Isolierfilm trennt, wobei die Elektrode des schwebenden Gates mit dem Initialisierungsanschluss mit einer vorbestimmten Spannung über ein Element verbunden ist, das einen leitenden Zustand annehmen kann, und einen unterbrochenen Zustand oder einen Zustand elektrisch hoher Impedanz;
    eine Vielzahl von Elektroden eines Eingangsgates, die kapazitiv mit der Elektrode des schwebenden Gates über einen Isolierfilm gekoppelt sind.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine funktionsrekonfigurierbare integrierte Schaltung erreicht, die folgendes aufweist:
    Neuronen-MOS-Transistoren, von welchen jeder einen Schalter enthält;
    einen Schalter, der Funktionskonfigurationsdaten zum Bestimmen einer Funktion speichert, wobei die Funktionskonfigurationsdaten eine Differenz zwischen der Summe von Lademengen, die in Elektroden des Eingangsgates der Neuronen-MOS-Transistoren während eines Durchführens einer Funktionsverarbeitung induziert sind, und von Lademengen von Elektroden des schwebenden Gates der Neuronen-MOS-Transistoren zu einer Zeit, wenn die Elektroden des schwebenden Gates von einem Initialisierungsanschluss unterbrochen sind oder in Bezug auf diesen in einen Zustand hoher Impedanz gelangen, der zum Einstellen einer Anfangsspannung zu der Elektrode des schwebenden Gates verwendet wird, sind.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann i Eingangsanschlüsse enthalten, wobei i eine positive ganze Zahl ist, wobei:
    wenn die rekonfigurierbare integrierte Schaltung Funktionskonfigurationsdaten speichert, die n Elemente enthalten, wobei n eine positive ganze Zahl ist, eine Zeit, die zur Initialisierung der Elektroden des schwebenden Gates nötig ist, in j Intervalle auf einer Zeitachse aufgeteilt wird, wobei j eine positive ganze Zahl ist, so dass i + j ≧ n erfüllt wird, wobei die Zeit, die zur Initialisierung nötig ist, eine Zeit von einer ersten Zeit zu einer zweiten Zeit ist, wobei bei der ersten Zeit wenigstens eine der Elektroden des schwebenden Gates mit dem Initialisierungsanschluss verbunden ist, wobei bei der zweiten Zeit die Elektroden des schwebenden Gates von einem Zustand hoher Impedanz in Bezug auf den Initialisierungsanschluss unterbrochen sind oder in diesen gelangen;
    Funktionskonfigurationsdaten so gespeichert werden, dass Elemente der Funktionskonfigurationsdaten auf vorbestimmten Bereichen in einer zweidimensionalen Ebene angeordnet werden, die durch die i Eingangsanschlüsse und die j Intervalle ausgebildet ist, um einander nicht zu überlagern.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin folgenden enthalten:
    eine Schaltung, die Elemente des ersten Vektors als zweiwertige Werte von logisch 1 oder logisch 0 oder kontinuierliche Werte zur Verfügung stellt; und
    eine Schaltung, die Elemente des dritten Vektors als zweiwertige Werte von logisch 1 oder logisch 0 oder kontinuierliche Werte zur Verfügung stellt.
  • In der funktionsrekonfigurierbaren integrierten Schaltung werden Spannungen, die von außerhalb der integrierten Schaltung geliefert werden, oder Spannungen, die in der integrierten Schaltung erzeugt werden, als Elemente des ersten Vektors, des zweiten Vektors und des dritten Vektors verwendet.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann durch eine Vielzahl von Stufen konfiguriert sein, wobei jeder der Stufen wenigstens einen Neuronen-MOS-Inverter mit einem Schalter enthält, der den Neuronen-MOS-Transistor mit einem Schalter enthält.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin folgendes enthalten:
    eine Vielzahl von Schaltungsblöcken, wobei jeder der Schaltungsblöcke wenigstens eine integrierte Schaltung enthält;
    wobei eine Verarbeitung an einem Speichern von Funktionskonfigurationsdaten in den integrierten Schaltungen in jedem der Schaltungsblöcke gleichzeitig durchgeführt wird.
  • In der funktionsrekonfigurierbaren integrierten Schaltung können mehrwertige Spannungen oder kontinuierliche Spannungen zum Speichern der Funktionskonfigurationsdaten verwendet werden, wobei die mehrwertigen Spannungen oder die kontinuierlichen Spannungen von außerhalb der integrierten Schaltung geliefert werden oder in der integrierten Schaltung aus Spannungen erzeugt werden, die von außerhalb der integrierten Schaltung geliefert sind.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin folgendes enthalten:
    ein Impedanznetzwerk, das Schalter und Impedanzkomponenten enthält, wobei
    die integrierte Schaltung mehrwertige Spannungen oder kontinuierliche Spannungen speichert, die durch das Impedanznetzwerk aus Spannungen erzeugt werden, die von außerhalb der integrierten Schaltung geliefert sind.
  • In der funktionsrekonfigurierbaren integrierten Schaltung können die Impedanzkomponenten zwischen einem ersten Anschluss und einem zweiten Anschluss, die unterschiedliche Spannungen haben, in Reihe geschaltet sein; und wobei jeder der Schalter zum Verbinden von einer der Impedanzkomponenten mit der Elektrode des Eingangsgates des Neuronen-MOS-Transistors dient.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann das Impedanznetzwerk so konfiguriert sein, dass Kapazitäten zwischen einem ersten Anschluss und einem zweiten Anschluss, die unterschiedliche Spannungen haben, parallel geschaltet sind, wobei jede der Kapazitäten einen Schalter hat und einer von zwei Anschlüssen von jeder der Kapazitäten mit einer der Elektroden des Eingangsgates des Neuronen-MOS-Transistors verbunden sein kann.
  • In der funktionsrekonfigurierbaren integrierten Schaltung können die Funktionskonfigurationsdaten durch Speichern von Lademengen von mehrwertigen Werten oder Lademengen von kontinuierlichen Werten gespeichert werden, wobei die mehrwertigen Werte oder die kontinuierlichen Werte durch Zeitintervalle dargestellt werden, während welchen eine vorbestimmte Spannung geliefert wird, wobei die vorbestimmte Spannung von außerhalb der integrierten Schaltung geliefert wird oder in der integrierten Schaltung erzeugt wird.
  • In der funktionsrekonfigurierbaren integrierten Schaltung können die mehrwertigen Werte oder die kontinuierlichen Werte durch Steuern der Zeitintervalle erzeugt und gespeichert werden, indem ein Impedanznetzwerk und eine Kapazität zwischen der Elektrode des Eingangsgates und der Elektrode des schwebenden Gates verwendet wird, wobei das Netzwerk Widerstandselemente und Kapazitätselemente aufweist und auf einem Pfad vorgesehen ist, über welchen ein Signal an die Elektrode des Eingangsgates angelegt wird.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch ein Verfahren zum Speichern von Funktionskonfigurationsdaten in einer integrierten Schaltung erreicht, die Neuronen-MOS-Transistoren mit einem Schalter enthält, welches Verfahren die folgenden Schritte aufweist:
    Verbinden jeder von Elektroden eines schwebenden Gates der Neuronen-MOS-Transistoren mit einem Initialisierungsanschluss, der bei einer zweiten Spannung ist;
    Anlegen von Spannungen in einem dritten Spannungsvektor an Eingangsgates der Neuronen-MOS-Transistoren, während jede der Elektroden des schwebenden Gates der Neuronen-MOS-Transistoren mit dem Initialisierungsanschluss verbunden ist;
    wenn eine Spannung von jeder der Elektroden des schwebenden Gates als dieselbe wie die zweite Spannung angesehen werden kann, Unterbrechen von jeder der Elektroden des schwebenden Gates von dem Initialisierungsanschluss oder Einstellen einer hohen Impedanz in Bezug auf den Initialisierungsanschluss in jeder der Elektroden des schwebenden Gates;
    Anlegen von Spannungen eines ersten Spannungsvektors an die Elektroden des Eingangsgates.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch ein Verfahren zum Speichern von Funktionskonfigurationsdaten in einer integrierten Schaltung erreicht, die Neuronen-MOS-Inverter mit einem Schalter enthält, wobei die integrierte Schaltung durch eine Vielzahl von Stufen konfiguriert ist, von welchen jede Stufe wenigstens einen der Neuronen-MOS-Inverter enthält, wobei jede von Elektroden eines schwebenden Gates der Neuronen-MOS-Inverter mit einem Erdungsanschluss mit einer Erdungsspannung über einen Schalter verbunden werden kann, wobei das Verfahren die folgenden Schritte aufweist:
    wenn jede der Elektroden des schwebenden Gates mit dem Erdungsanschluss verbunden ist, Anlegen von vorbestimmten Spannungen an Elektroden des Eingangsgates der Neuronen-MOS-Inverter;
    Unterbrechen von jeder der Elektroden des schwebenden Gates von dem Erdungsanschluss oder Liefern einer hohen Impedanz zu jeder der Elektroden des schwebenden Gates, während eines Anlegens der vorbestimmten Spannungen an die Elektroden des Eingangsgates;
    wenn jede der Elektroden des schwebenden Gates derart angesehen werden kann, dass sie in einem schwebenden Zustand ist, Anlegen einer Energieversorgungsspannung anstelle der vorbestimmten Spannungen an die Elektroden des Eingangsgates.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch ein Verfahren zum Speichern von Funktionskonfigurationsdaten in einer integrierten Schaltung erreicht, die Neuronen-MOS-Inverter mit einem Schalter enthält, wobei die integrierte Schaltung durch eine Vielzahl von Stufen konfiguriert ist, wobei jede der Stufen wenigstens einen der Neuronen-MOS-Inverter enthält, wobei jede der Elektroden des schwebenden Gates der Neuronen-MOS-Inverter mit einem Energieversorgungsanschluss mit einer Energieversorgungsspannung über einen Schalter verbunden werden kann, wobei das Verfahren die folgenden Schritte aufweist:
    wenn jede der Elektroden des schwebenden Gates mit dem Energieversorgungsanschluss verbunden ist, Anlegen vorbestimmter Spannungen an Elektroden des Eingangsgates der Neuronen-MOS-Inverter;
    Unterbrechen von jeder der Elektroden des schwebenden Gates von dem Energieversorgungsanschluss oder Liefern einer hohen Impedanz zu jeder der Elektroden des schwebenden Gates während eines Anlegens der vorbestimmten Spannungen an die Elektroden des Eingangsgates;
    wenn jede der Elektroden des schwebenden Gates derart angesehen werden kann, dass sie in einem schwebenden Zustand ist, Anlegen einer Erdungsspannung anstelle der vorbestimmten Spannungen an die Elektroden des Eingangsgates.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch ein Verfahren zum Speichern von Funktionskonfigurationsdaten in einer integrierten Schaltung erreicht, die Neuronen-MOS-Inverter mit einem Schalter enthält, wobei die integrierte Schaltung durch eine Vielzahl von Stufen konfiguriert ist, wobei jede der Stufen wenigstens einen der Neuronen-MOS-Inverter enthält, wobei jede von Elektroden eines schwebenden Gates der Neuronen-MOS-Inverter mit einem zweiten Spannungsanschluss mit einer zweiten Spannung über einen Schalter verbunden werden kann, wobei das Verfahren die folgenden Schritte aufweist:
    wenn jede der Elektroden des schwebenden Gates mit dem zweiten Spannungsanschluss verbunden ist, Anlegen dritter Spannungen an die Elektroden des Eingangsgates der Neuronen-MOS-Inverter;
    Unterbrechen von jeder der Elektroden des schwebenden Gates von dem zweiten Spannungsanschluss oder Liefern einer hohen Impedanz zu jeder der Elektroden des schwebenden Gates während eines Anlegens der dritten Spannungen an die Elektroden des Eingangsgates;
    wenn jede der Elektroden des schwebenden Gates derart angesehen werden kann, dass sie in einem schwebenden Zustand ist, Anlegen einer ersten Spannung anstelle der dritten Spannungen an die Elektroden des Eingangsgates.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine integrierte Schaltung erreicht, die eine Funktion von k Eingangsvariablen realisiert, wobei k eine positive ganze Zahl ist, welche integrierte Schaltung folgendes aufweist:
    k erste Eingangssignalanschlüsse, die k erste Eingangssignal eingeben, und k + 1 zweite Eingangssignalanschlüsse die k + 1 zweite Eingangssignale eingeben, wobei Eingabezustandszahlen, von welchen jede die Anzahl der ersten Eingangssignalanschlüsse mit identischen Werten ist, in einer Eins-zu-Eins-Entsprechung mit den zweiten Eingangssignalanschlüssen sind;
    wobei die integrierte Schaltung einen Wert ausgibt, der gemäß einem Zustand des zweiten Eingangssignalanschlusses bestimmt wird, der der Eingangszustandszahl entspricht;
    wobei die integrierte Schaltung eine Fähigkeit für eine symmetrische Funktion von k Eingangsvariablen und eine Selektorfähigkeit enthält, wobei die Selektorfähigkeit ein Signal unter den k + 1 zweiten Eingangssignalen auswählt, indem sie die k ersten Eingangssignale verwendet.
  • Die oben angegebene integrierte Schaltung enthält folgendes:
    zwei Stufen, wobei eine erste Stufe in den zwei Stufen k + 1 Schwellenelemente enthält, wobei eine zweite Stufe in den zwei Stufen ein Schwellenelement enthält;
    wobei jedes der k + 1 Schwellenelemente in der ersten Stufe Anschlüsse zum Eingeben der k ersten Eingangssignale und einen Anschluss zum Eingeben von einem der zweiten Eingangssignale enthält;
    wobei das Schwellenelement in der zweiten Stufe Anschlüsse zum Eingeben der k ersten Eingangssignale und Anschlüsse zum Eingeben von Signalen basierend auf Ausgangssignalen der k + 1 Schwellenelemente der ersten Stufe enthält;
    wobei jedes der Schwellenelemente in der ersten Stufe einen Schwellenwert hat, der unterschiedlich von einem Schwellenwert von irgendeinem anderen Schwellenelement in der ersten Stufe ist;
    wobei das Schwellenelement in der zweiten Stufe Produkte aus einem ersten Gewicht und von den k + 1 Schwellenelementen der ersten Stufe ausgegebenen Signalwerten empfängt, wobei das erste Gewicht ein umgekehrtes Vorzeichen eines zweiten Gewichts bzw. einer zweiten Gewichtung hat, mit welcher die ersten Eingangssignale multipliziert werden, oder wobei das Schwellenelement in der zweiten Stufe Produkte aus einer positiven Gewichtung und umgekehrten Signalen von den k + 1 Schwellenelementen der ersten Stufe ausgegebenen Signalen empfängt.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine funktionsrekonfigurierbare integrierte Schaltung erreicht, die wenigstens einen Neuronen-MOS-Transistor mit einem Schalter aufweist;
    wobei der Neuronen-MOS-Transistor ein Element zwischen einer Elektrode eines schwebenden Gates und einem Anschluss einer vorbestimmten Spannung enthält, wobei das Element einen leitenden Zustand annehmen kann, und einen unterbrochenen Zustand oder einen Zustand elektrisch hoher Impedanz; wobei
    die integrierte Schaltung eine Fähigkeit für eine symmetrische Funktion und eine Selektorfähigkeit durch Steuern von wenigstens einer von drei Spannungen hat, wobei eine erste Spannung der drei Spannungen eine Spannung der Elektroden des schwebenden Gates zu einer Zeit ist, zu welcher das Element im leitenden Zustand ist, wobei eine zweite Spannung der drei Spannungen eine Spannung eines Eingangsanschlusses des Neuronen-MOS-Transistors zu einer Zeit ist, zu welcher das Element im leitenden Zustand ist, wobei eine dritte Spannung der drei Spannungen eine Spannung des Eingangsanschlusses des Neuronen-MOS-Transistors zu einer Zeit ist, zu welcher das Element in dem unterbrochenen Zustand ist.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann folgendes enthalten:
    zwei Stufen, wobei eine erste Stufe in den zwei Stufen k + 1 Schwellenelemente enthält, die die Neuronen-MOS-Transistoren verwenden, wobei eine zweite Stufe in den zwei Stufen ein Schwellenelement enthält, das den Neuronen-MOS-Transistor verwendet;
    wobei jedes der k + 1 Schwellenelemente in der ersten Stufe k erste Eingangssignalanschlüsse enthält, einen zweiten Eingangssignalanschluss, der unterschiedlich von anderen zweiten Eingangssignalanschlüssen von anderen Schwellenelementen ist;
    wobei das Schwellenelement in der zweiten Stufe Anschlüsse zum Eingeben von k ersten Eingangssignalen und k + 1 Anschlüsse zum Eingeben von Signalen basierend auf Ausgangssignalen der k + 1 Schwellenelemente der ersten Stufe enthält;
    wobei jedes der Schwellenelemente in der ersten Stufe einen Schwellenwert hat, der unterschiedlich von einem Schwellenwert von irgendeinem anderen Schwellenelement in der ersten Stufe ist;
    wobei das Schwellenelement in der zweiten Stufe Produkte aus einer positiven Gewichtung und umgekehrten Signalen von von den k + 1 Schwellenelementen der ersten Stufe ausgegebenen Signalen empfängt.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin eine Umschaltschaltung enthalten, die zwischen der Fähigkeit für eine symmetrische Funktion und der Selektorfähigkeit auswählt.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin eine Steuerschaltung enthalten, die zwischen vier Moden umschaltet;
    wobei die Fähigkeit für eine symmetrische Funktion in einem ersten Mode nur während eines Anlegens von Funktionskonfigurationsdaten realisiert wird;
    wobei die Funktionskonfigurationsdaten in einem zweiten Mode gespeichert werden;
    wobei die Selektorfähigkeit in einem dritten Mode nur während eines Anlegens einer Adresse eines auszuwählenden Signals realisiert wird;
    wobei die Adresse in einem vierten Mode gespeichert wird.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann das Schwellenelement, das den Neuronen-MOS-Transistor verwendet, einen Schalter haben, der ein Element ist, das eine Inverterschaltung ausbildet.
  • In der funktionsrekonfigurierbaren integrierten Schaltung können Ausgangsanschlüsse der Schwellenelemente der ersten Stufe mit Eingangsanschlüssen des Schwellenelements der zweiten Stufe über Schaltungen verbunden sein, die Wellenformungsschaltungen enthalten.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin eine Schaltung enthalten, die eine Verzögerungsschaltung enthält, welche auf einem Pfad vorgesehen ist, über welchem ein Signal an das Schwellenelement der zweiten Stufe angelegt wird.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch eine funktionsrekonfigurierbare integrierte Schaltung erreicht, die eine Vielzahl von Neuronen-MOS-Transistoren oder eine Vielzahl von Neuronen-MOS-Transistoren mit einem Schalter enthält, wobei die integrierte Schaltung so konfiguriert ist, dass:
    Summen von Gruppen aus einem Element oder Elementen in Bezug zueinander unterschiedlich sind, wobei die Elemente in einer Gruppe einander nicht überlagern, wobei die Elemente in einer Kapazitätsverhältnisgruppe (w1, w2, ..., wi, ..., wk) enthalten sind;
    wobei jedes Element in der Kapazitätsverhältnisgruppe (w1, w2, ..., wi, ..., wk) ein Kapazitätsverhältnis in Bezug auf einen minimalen Wert von Kapazitätswerten ist, wobei die Kapazitätswerte Werte von Kapazitäten zwischen Elektroden des Eingangsgates, zu welchen Eingangsvariablen eingeben sind, und einer Elektrode eines schwebenden Gates sind, wobei k die Anzahl der Eingangsvariablen ist.
  • In der funktionsrekonfigurierbaren integrierten Schaltung weist jeder des Neuronen-MOS-Transistors und des Neuronen-MOS-Transistors mit einem Schalter folgendes auf:
    einen Halbleiterbereich eines ersten Leitfähigkeitstyps, der auf einem Substrat angeordnet ist;
    einen Sourcebereich und einen Drainbereich eines zweiten Leitfähigkeitstyps, die auf dem Halbleiterbereich vorgesehen sind;
    die Elektrode des schwebenden Gates, die derart angesehen werden kann, dass sie in einem schwebenden Zustand ist, die auf einem Bereich vorgesehen ist, der den Sourcebereich und den Drainbereich über einen Isolierfilm trennt;
    eine Vielzahl von Elektroden eines Eingangsgates, die kapazitiv mit der Elektrode des schwebenden Gates über einen Isolierfilm gekoppelt sind;
    wobei die Elektrode des schwebenden Gates des Neuronen-MOS-Transistors mit einem Schalter mit einem Anschluss mit einer vorbestimmten Spannung über ein Element verbunden ist, das einen leitenden Zustand annehmen kann, und einen unterbrochenen Zustand oder einen Zustand elektrisch hoher Impedanz.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann jeder des Neuronen-MOS-Transistors und des Neuronen-MOS-Transistors mit einem Schalter ein Transistor sein, wobei das Kapazitätsverhältnis W eines i-ten Eingangsgates folgendes erfüllt: wi > Σi-1j-1 wj, (2 ≦ i ≦ k).
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann jeder des Neuronen-MOS-Transistors und des Neuronen-MOS-Transistors mit einem Schalter ein Transistor sein, wobei wi = zi-1, 1 ≦ i ≦ k, und z ≧ 2 erfüllt sind.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann jeder des Neuronen-MOS-Transistors und des Neuronen-MOS- Transistors mit einem Schalter ein Transistor sein, wobei wi = αi-1, 1 ≦ i ≦ k und 1 < α < 2 erfüllt sind.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann jeder des Neuronen-MOS-Transistors und des Neuronen-MOS-Transistors mit einem Schalter ein Transistor sein, wobei wi = αi-2·(1 + β), 2 ≦ i ≦ k, α > 1 und 0 < β < 1 erfüllt sind.
  • In der funktionsrekonfigurierbaren integrierten Schaltung kann jeder des Neuronen-MOS-Transistors und des Neuronen-MOS-Transistors mit einem Schalter ein Transistor sein, wobei wi = 2i-2·(1 + β), 2 ≦ i ≦ k und 0 < β < 1 erfüllt sind.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann zwei Stufen enthalten, wobei eine erste Stufe der zwei Stufen Vorinverter enthält, von welchen jeder der Neuronen-MOS-Transistor oder der Neuronen-MOS-Transistor mit einem Schalter ist, wobei der Vorinverter mehr als zwei Schwellenwerte in Bezug auf ein Eingangssignal hat.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin Anschlüsse enthalten, von welchen zweiwertige Steuersignale eingegeben werden, die den Schwellenwert bestimmen.
  • Die funktionsrekonfigurierbare integrierte Schaltung kann weiterhin einen Steuersignalanschluss enthalten, von welchem ein mehrwertiges Signal oder ein analoges Signal eingegeben wird, wobei das mehrwertige Signal oder das analoge Signal die mehr als zwei Schwellenwerte bestimmen.
  • Die oben angegeben Aufgabe der vorliegenden Erfindung wird auch durch ein Entwicklungsverfahren einer funktionsrekonfigurierbaren integrierten Schaltung erreicht, wobei die integrierte Schaltung zwei Stufen aufweist, die Neuronen-MOS-Inverter enthalten, die Neuronen-MOS- Transistoren oder Neuronen-MOS-Transistoren mit einem Schalter verwenden, wobei der Neuronen-MOS-Inverter in einer ersten Stufe der zwei Stufen ein Vorinverter ist und wobei ein Neuronen-MOS-Inverter in einer zweiten Stufe der zwei Stufen ein Hauptinverter ist, wobei das Verfahren die folgenden Schritte aufweist:
    Einstellen von Werten von Kapazitäten des Eingangsgates für jeden der Neuronen-MOS-Inverter zwischen Elektroden des Eingangsgates, von welchen erste Eingangssignal eingegeben werden, und einer Elektrode eines schwebenden Gates, so dass Eingangsvektoren identifiziert werden können, wobei der Eingangsvektor eine Vektordarstellung der ersten Eingangssignale ist;
    Einstellen für jede Elektrode des Eingangsgates, die mit einem Ausgangsanschluss des Vorinverters verbunden ist, eines Werts einer Kapazität des Eingangsgates zwischen einer Elektrode des Eingangsgates, von welcher ein Ausgangssignal von einem Vorinverter eingegeben wird, und dem schwebenden Gate des Hauptinverters, so dass bei zwei unterschiedlichen Spannungen des schwebenden Gates, die zwei Ausgangswerten des Vorinverters entsprechen, eine größer als eine Schwellenspannung des schwebenden Gates ist und eine weitere kleiner als die Schwellenspannung ist, wobei die Kapazität des Eingangsgates dem Vorinverter entspricht, der einem der Eingangsvektoren entspricht;
    Einstellen für jeden der Vorinverter eines Werts einer Kapazität eines Eingangsgates zwischen einer Elektrode des Eingangsgates, von welcher ein zweiten Eingangssignal eingegeben wird, und dem schwebenden Gate von einem der Vorinverter, so dass eine Spannung des schwebenden Gates gleich der Schwellenspannung bei jeder von zwei unterschiedlichen Eingangslademengen wird, wobei eine Eingangslademenge entsprechend dem einen der Vorinverter, der einem ersten Eingangsvektor entspricht, größer als eine der zwei unterschiedlichen Eingangslademengen ist, und kleiner als eine andere der zwei unterschiedlichen Eingangslademengen ist, wobei jede der zwei unterschiedlichen Eingangslademengen eine Eingangslademenge eines zweiten Eingangsvektors nicht übersteigt, der dem ersten Eingangsvektor am nächsten ist.
  • Die oben angegebene Aufgabe der vorliegenden Erfindung wird auch durch ein Entwicklungsverfahren einer funktionsrekonfigurierbaren integrierten Schaltung erreicht, wobei die integrierte Schaltung zwei Stufen aufweist, die Neuronen-MOS-Inverter enthalten, die Neuronen-MOS-Transistoren oder Neuronen-MOS-Transistoren mit einem Schalter verwendet, wobei der Neuronen-MOS-Inverter in einer ersten Stufe der zwei Stufen ein Vorinverter ist und der Neuronen-MOS-Inverter in einer zweiten Stufe der zwei Stufen ein Hauptinverter ist, wobei das Verfahren die folgenden Schritte ausweist:
    Einstellen von Werten von Kapazitäten des Eingangsgates für jeden der Neuronen-MOS-Inverter zwischen Elektroden des Eingangsgates, von welchen erste Eingangssignale eingegeben werden, und einer Elektrode eines schwebenden Gates, so dass Eingangsvektoren identifiziert werden können, wobei der Eingangsvektor eine Vektordarstellung der ersten Eingangssignale ist;
    für den Hauptinverter Teilen der Eingangsvektoren, die in einer ansteigenden Reihenfolge angeordnet sind, durch entsprechende Eingangslademengen in Blöcke wobei jeder Block vier Eingangsvektoren enthält, wobei die Eingangslademengen in Kapazitäten des Eingangsgates zwischen ersten Eingangssignalanschlüssen und einem schwebenden Gate akkumuliert werden.
  • Einstellen von Werten von Kapazitäten des Eingangsgates für den Hauptinverter zwischen Elektroden des Eingangsgates, von welchen Ausgangssignale von den Vorinvertern eingegeben werden, und dem schwebenden Gate, so dass das schwebende Gate zwei Werte annimmt, bei welchen einer größer als eine Schwellenspannung des schwebenden Gates ist und ein anderer kleiner als die Schwellenspannung des schwebenden Gates ist, indem Kombinationen von logischen Werten von Ausgangssignalen von drei Vorinvertern für vier Eingangsvektoren im Block verwendet werden;
    Einstellen für jeden der Vorinverter eines Werts einer Kapazität des Eingangsgates zwischen einer Elektrode des Eingangsgates, von welcher ein zweites Eingangssignal eingegeben wird, und dem schwebenden Gate von einem der Vorinverter, so dass eine Spannung des schwebenden Gates gleich der Schwellenspannung bei jeder von zwei unterschiedlichen Eingangslademengen wird, wobei eine Eingangslademenge entsprechend dem einen der Vorinverter, der einem ersten Eingangsvektor entspricht, größer als eine der zwei unterschiedlichen Eingangslademengen ist und kleiner als eine andere der zwei unterschiedlichen Eingangslademengen ist, wobei jede der zwei unterschiedlichen Eingangslademengen eine Eingangslademenge eines zweiten Eingangsvektors nicht übersteigt, der dem ersten Eingangsvektor am nächsten ist. Das Entwicklungsverfahren für eine funktionsrekonfigurierbare integrierte Schaltung kann weiterhin den Schritt eines direkten Verwendens eines physikalischen mehrwertigen Werts für einen mehrwertigen Ausdruck ungleich eines Verwendens mehrerer Bits enthalten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung klarer werden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, in welchen:
  • 1A und 1B Strukturen eines änderbaren Logikteils vom LUT-(Nachschautabellen-)Typ gemäß einer herkömmlichen Technik zeigen;
  • 2A und 2B Strukturen eines änderbaren Logikteils vom auf einem Multiplexer basierenden Blocktyp gemäß einer herkömmlichen Technik zeigen;
  • 3 eine Struktur eines änderbaren Logikteils vom PLA-Typ gemäß einer herkömmlichen Technik zeigt;
  • 4 ein Schaltungsdiagramm einer SRAMZelle vom CMOS-Typ gemäß einer herkömmlichen Technik ist;
  • 5A5C eine Struktur eines Inverters vom CMOS-Typ unter Verwendung eines herkömmlichen Neuronen-MOS-Transistors zeigen;
  • 6A und 6B Schaltungsdiagramme eines Inverters vom CMOS-Typ unter Verwendung eines herkömmlichen Neuronen-MOS-Transistors sind;
  • 7 eine funktionsrekonfigurierbare Halbleitervorrichtung gemäß einem Ausführungsbeispiel 1-1 der vorliegenden Erfindung zeigt;
  • 8 ein Strukturbeispiel einer in der Funktionszelle 101 enthaltenen Basisschaltung zeigt;
  • 9 eine Figur zum Erklären von Beziehungen zwischen Eingangszustandszahlen und logischen Ausgangswerten der Schwellenelemente der ersten Stufe TE[1]~TE[4] ist;
  • 10A Eingangswerte (nachdem sie mit der Gewichtung multipliziert sind) zu dem Schwellenelement TE[5] für jede Eingangszustandszahl zeigt;
  • 10B Ausgangswerte für Eingangszustandszahlen zeigt;
  • 11 eine Struktur einer dreistufigen Logikschaltung zeigt, die Schwellenelemente enthält;
  • 12 Beziehungen zwischen Ausgangswerten von Schwellenelementen einer ersten und einer zweiten Stufe, Eingangszustandswerten und Schwellenwerten zeigt;
  • 13 die Eingangswerte und die Ausgangswerte von TE[4] für jede Eingangszustandszahl zeigt;
  • 14 Beziehungen zwischen den Werten von input2[1]~input2[3] und dem Ausgangsanschluss zeigt;
  • 15 ein Implementierungsbeispiel des Schwellenelements in einem Schwellenelementennetzwerk, das in 8 gezeigt ist, zeigt, welches irgendeine symmetrische Funktion realisiert;
  • 16 und 17 Beispiele eines mit einem elektrischen Potential angetriebenen nichtlinearen Elements 111, des Schalters A und des Schalters B, die in 15 gezeigt sind, zeigen;
  • 18 eine funktionsrekonfigurierbare Halbleitervorrichtung zeigt, wobei nichtflüchtige Speicherschaltungen zum Speichern von Funktionsdaten so verteilt sind, dass jede Funktionszelle die nichtflüchtige Speicherschaltung hat;
  • 19 eine funktionsrekonfigurierbare Halbleitervorrichtung zeigt, wobei nichtflüchtige Speicherschaltungen 132 in den Funktionszellen verteilt und vorgesehen sind und kein Verdrahtungsbereich existiert;
  • 20 ein Implementierungsbeispiel des Schwellenelements zum Hinzufügen einer Verdrahtungsfähigkeit zu der Funktionszelle zeigt, die irgendeine symmetrische Funktion realisiert und die das Schwellenelement enthält;
  • 21 ein Basisschaltungsdiagramm eines Neuronen-MOS-Inverters ist;
  • 22 eine Hauptstruktur einer Neuronen-MOS-Schaltung der vorliegenden Erfindung zeigt;
  • 23 ein Schaltungsdiagramm eines Hauptinverter-Eingabeteils ist, wobei eine Logik durch Verwenden von drei Steuersignalen für zwei Eingangssignale konfiguriert ist;
  • 24 ein Konzeptdiagramm einer Neuronen-MOS-Schaltung mit einer Datenspeicherfähigkeit ist;
  • 25 ein Schaltungsdiagramm eines Hauptteils einer Schaltung ist, die zu Vorinvertern eingegebene Steuersignale speichern kann;
  • 26 ein Zeitdiagramm in einem Fall ist, in welchem eine Initialisierung durchgeführt wird, während die Steuersignale auf die Erdungsspannung festgelegt sind;
  • 27 ein Wellenformdiagramm ist, und zwar durch eine Schaltungssimulation, welches Spannungsänderungen von Anschlüssen in Bezug auf eine Zeit in einem Fall zeigt, in welchem eine Initialisierung durchgeführt wird, während die Steuersignale auf die Erdungsspannung festgelegt sind;
  • 28 ein Zeitdiagramm in einem Fall ist, in welchem eine Initialisierung durchgeführt wird, während die Steuersignale auf die Energieversorgungsspannung festgelegt sind;
  • 29 ein Wellenformdiagramm durch eine Schaltungssimulation ist, das Spannungsänderungen von Anschlüssen in Bezug auf eine Zeit in einem Fall zeigt, in welchem eine Initialisierung durchgeführt wird, während die Steuersignale auf die Energieversorgungsspannung festgelegt sind;
  • 30 eine Neuronen-MOS-Schaltung zeigt, die eine Funktion zum Speichern von Zuständen von Steuersignalen hat;
  • 31 eine Neuronen-MOS-Schaltung für zwei Eingangssignale zeigt, die eine Funktionskonfigurationsdaten-Speicherfähigkeit hat;
  • 32 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp A verwendet wird und das schwebende Gate in dem Basisanfangszustand ist;
  • 33 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp B verwendet wird und eine Initialisierung zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 34 eine Figur einer Neuronen-MOS-Schaltung für zwei Eingangssignale ist, die eine Funktionskonfigurationsdaten-Speicherfähigkeit hat;
  • 35 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp C verwendet wird und das schwebende Gate in dem Basisanfangszustand ist;
  • 36 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp D verwendet wird und eine Initialisierung zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 37 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp D verwendet wird und eine Initialisierung zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 38 eine Figur einer Neuronen-MOS-Schaltung für zwei Eingangssignale ist, die eine Funktionskonfigurationsdaten-Speicherfähigkeit hat;
  • 39 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp E verwendet wird und das schwebende Gate in dem Basisanfangszustand ist;
  • 40 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp F verwendet wird und eine Initialisierung zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 41 eine Figur einer Neuronen-MOS-Schaltung für zwei Eingangssignale ist, die eine Funktionskonfigurationsdaten-Speicherfähigkeit hat;
  • 42 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp G verwendet wird und Steuersignale während eines Verarbeitens von Logikprozessen kontinuierlich eingegeben werden;
  • 43 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation zeigt, wenn ein Zellentyp H verwendet wird und eine Initialisierung zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 44 eine integrierte Schaltung zeigt, die die Neuronen-MOS-Inverter enthält, die in Blöcke aufgeteilt sind, in jedem von welchen ein Steuern zum Speichern von Funktionskonfigurationsdaten durchgeführt wird;
  • 45 eine Figur einer Neuronen-MOS-Schaltung ist, in welcher Steueranschlüsse von einer in 41 gezeigten Schaltung eliminiert sind und Signale, die äquivalent zu den Steuersignalen sind, eingegeben werden, wenn eine Initialisierung durchgeführt wird;
  • 46 eine Figur einer Neuronen-MOS-Schaltung ist, in welcher Steueranschlüsse von einer in 41 gezeigten Schaltung eliminiert sind und Signale, die äquivalent zu den Steuersignalen sind, bei einer Initialisierung eingegeben werden;
  • 47 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation einer Schaltung zeigt, die Signale von Eingangssignalanschlüssen eingeben kann, welche äquivalent zu Steuersignalen sind, die eine Funktion definieren, und zwar bei einer Initialisierung;
  • 48A48C ein Konzept zeigen, das das Signal bezüglich Zeit und Raum expandiert ist, wobei 48A einen Fall zeigt, bei welchem eine Vielzahl von Signalen von unterschiedlichen Anschlüssen gleichzeitig eingegeben wird, 48B einen Fall zeigt, bei welchem eine Vielzahl von Signalen von einem Anschluss durch eine Zeitaufteilung bzw. einen Zeitmultiplex eingegeben wird, und 48C einen Fall zeigt, bei welchem Signale zum Erzeugen einer Logik bezüglich Zeit und Raum dispergiert bzw. gestreut sind;
  • 49A eine Schaltung eines Neuronen-MOS-Inverters mit drei Eingangsanschlüssen zeigt, wobei der Anschluss des schwebenden Gates mit der Erdung durch einen NMOSFET verbunden oder von dieser getrennt ist;
  • 49B ein Ersatzschaltbilddiagramm der Schaltung der 49A ist, das mit dem schwebenden Gate verbundene Kapazitäten zeigt;
  • 50 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation eines Neuronen-MOS-Inverters von drei Eingängen in einem Fall zeigt, in welchem Energieversorgungsspannungen an einen Eingangsanschluss zur Initialisierung des schwebenden Gates angelegt ist;
  • 51 ein Wellenformdiagramm ist, das eine Änderung von Anschlussspannungen durch eine Schaltungssimulation eines Neuronen-MOS-Inverters von drei Eingängen in einem Fall zeigt, in welchem 5/8, 1/4, 1/8 Spannungen einer Energieversorgungsspannung an die drei Eingangsanschlüsse jeweils zur Initialisierung des schwebenden Gates angelegt werden;
  • 52 eine Figur einer Schaltung ist, die irgendeine logische Funktion von zwei zweiwertigen Eingangssignalen realisieren kann, indem mehrwertige Werte als Steuersignale verwendet werden, wenn das schwebende Gate der Vorinverter der Neuronen-MOS-Schaltung, die drei Steuersignalanschlüsse hat, initialisiert wird;
  • 53 ein Schaltungsdiagramm ist, das ein Beispiel eines Impedanznetzwerks zum Erzeugen von mehrwertigen Spannungen zeigt;
  • 54 ein Schaltungsdiagramm ist, das ein weiteres Beispiel eines Impedanznetzwerks zum Erzeugen von mehrwertigen Spannungen zeigt;
  • 55 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation in einem Fall von symmetrischen Funktionen ist;
  • 56 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation in einem Fall von unsymmetrischen Funktionen ist;
  • 57 Bedeutungen von in 56 gezeigten Intervallen zeigt;
  • 58 eine Figur einer Schaltung ist, die irgendeine logische Funktion von zwei zweiwertigen Eingangssignalen realisieren kann, indem mehrere Werte als Steuersignale und als Eingangssignale verwendet werden, wenn das schwebende Gate der Vorinverter der Neuronen-MOS-Schaltung, die drei Steuersignalanschlüsse hat, initialisiert ist;
  • 59 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation in einem Fall von symmetrischen Funktionen ist;
  • 60 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation in einem Fall von unsymmetrischen Funktionen ist;
  • 61 Bedeutungen von in 60 gezeigten Intervallen zeigt;
  • 62A62C Figuren sind, die zeigen, dass eine mehrwertige Spannungseingabe als Äquivalent zu einer zweiwertigen Spannungseingabe angesehen werden kann, wobei ein Zeitintervall gesteuert wird, wenn ein Neuronen-MOS-Transistor initialisiert wird, wobei 62A ein Schaltungsdiagramm äquivalent zu einer Hauptkomponente von einem von Eingangssignalanschlüssen eines Neuronen-MOS-Transistors zeigt, 62B Übergangscharakteristiken der in 62A gezeigten Ersatzschaltung bzw. äquivalenten Schaltung zeigt, wenn eine standardmäßige Energieversorgungsspannung verwendet wird und wenn 1/2 der Energieversorgungsspannung verwendet wird, und 62C eine Beziehung z wischen der Energieversorgungsspannung und der Zeit zeigt, wenn 1/2 der Energieversorgungsspannung für eine Zeit gehalten wird, und 62D eine Beziehung z wischen der Energieversorgungsspannung und der Zeit zeigt, wenn die Energieversorgungsspannung für ein Zeitintervall angelegt wird;
  • 63A und 63B Schaltungsdiagramm von Neuronen-MOS-Invertern sind, von welchen jeder zwei Eingangssignalanschlüsse und einen Steuersignalanschluss hat, wobei 63A einen von in 52 gezeigten Vorinvertern zeigt und 63B eine Schaltung mit derselben Fähigkeit wie derjenigen zeigt, die in 63A gezeigt ist, wobei eine Anlegezeit für zweiwertige Spannungseingaben gesteuert wird;
  • 64 ein Ergebnis durch eine Schaltungssimulation zeigt, wobei unterschiedliche Funktionen durch Anlegen von drei mehrwertigen Spannungen an den in 63A gezeigten Steuersignalanschluss ctl zur Initialisierung erzeugt werden;
  • 65 ein Ergebnis durch eine Schaltungssimulation für den in 63B gezeigten Neuronen-MOS-Inverter zeigt, wobei unterschiedliche Funktionen durch Anlegen von zweiwertigen Spannungen realisiert werden, wobei eine Anlegezeit gesteuert wird, wenn das schwebende Gate initialisiert wird;
  • 66 ein Beispiel einer Schaltung zum einfachen Erzeugen von mehrwertigen Werten zeigt;
  • 67 eine Schaltung zeigt, wobei irgendeine Logikfunktion von zweiwertigen zwei Eingangsvariablen durch Steuern einer Zeit zum Anlegen von zweiwertigen Spannungen realisiert werden kann;
  • 68 ein Ergebnis durch eine Schaltungssimulation der in 67 gezeigten Schaltung zeigt, wobei UND und XOR realisiert werden;
  • 69 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation einer Neuronen-MOS-Schaltung ist, die zweiwertige Spannungseingangssignale empfängt, die symmetrische Funktionen durch Steuern von Zeitintervallen zum Anlegen von Spannungen realisiert;
  • 70 ein Wellenformdiagramm von Spannungen von Anschlüssen durch eine Schaltungssimulation einer Neuronen-MOS-Schaltung ist, die zweiwertige Spannungseingangssignale empfängt, die unsymmetrische Funktionen durch Steuern von Zeitintervallen zum Anlegen von Spannungen realisiert;
  • 71 Bedeutungen von in 70 gezeigten Intervallen zeigt;
  • 72A eine Struktur einer funktionsrekonfigurierbaren integrierten Schaltung 401 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 72B eine Figur zum Erklären eines Prinzips der integrierten Schaltung 401 ist;
  • 73 ein Schaltungsdiagramm ist, das eine funktionsrekonfigurierbare integrierte Schaltung 402 gemäß einem Ausführungsbeispiel 3-2 der vorliegenden Erfindung zeigt;
  • 74 eine funktionsrekonfigurierbare integrierte Schaltung 403 zeigt, die drei erste Eingangssignalanschlüsse, vier zweite Eingangssignalanschlüsse und Schwellenelemente enthält;
  • 75 eine Figur zum Erklären des Betriebs der funktionsrekonfigurierbaren integrierten Schaltung 403 ist;
  • 76A Beziehungen zwischen Eingangszustandszahlen und den Ausgangssignalzuständen von jedem Schwellenelement zeigt;
  • 76B eine Wahrheitstabelle zeigt;
  • 77 eine integrierte Schaltung 404 gemäß einem Ausführungsbeispiel 3-3 zeigt, die eine Fähigkeit für eine symmetrische Funktion von k Eingangsvariablen und eine Selektorfähigkeit, die unter k + 1 Dateneingaben durch k Steuereingaben auswählt, enthält;
  • 78 ein Schaltungsdiagramm ist, das einen Vorinverter 501 detailliert zeigt;
  • 79 ein Schaltungsdiagramm ist, das Hauptkomponenten der in 77 gezeigten funktionsrekonfigurierbaren integrierten Schaltung 404 zeigt;
  • 80 eine Prozedur zum Anlegen von Anschlussspannungen in der in 77 gezeigten Schaltung zeigt, wenn die Fähigkeit für eine symmetrische Funktion realisiert wird;
  • 81 eine Prozedur zum Anlegen von Anschlussspannungen in der in 77 gezeigten Schaltung zeigt, wenn die Selektorfähigkeit realisiert wird;
  • 82 eine Ergebnis durch eine Schaltungssimulation zum Verifizieren des Betriebs der in 77 gezeigten Schaltung zeigt, wobei die symmetrische Funktion von drei Eingängen realisiert wird;
  • 83 ein weiteres Ergebnis durch eine Schaltungssimulation zum Verifizieren des Betriebs der in 77 gezeigten Schaltung zeigt, wobei eine Selektorfähigkeit realisiert wird, wobei ein Signal unter vier zweiten Eingangssignalen gemäß der Eingangszustandszahl ausgewählt wird, wobei die drei ersten Eingangssignale als Steuereingaben angesehen werden;
  • 84 eine funktionsrekonfigurierbare integrierte Schaltung 405 gemäß einem Ausführungsbeispiel 3-4 zeigt, die sowohl die Fähigkeit für eine symmetrische Funktion von drei Eingangsvariablen als auch die Selektorfähigkeit zum Auswählen von einer unter vier Dateneingaben durch drei Steuereingaben hat;
  • 85 einen Neuronen-MOS-Inverter 601 mit einem Schalter zeigt;
  • 86 einen Vorinverter 701 zeigt;
  • 87 einen Hauptinverter 700 zeigt;
  • 88 eine Prozedur zum Realisieren eines ersten Modes in der integrierten Schaltung 405 zeigt;
  • 89 eine Prozedur zum Realisieren eines zweiten Modes in der integrierten Schaltung 405 zeigt, wobei Funktionskonfigurationsdaten gespeichert werden;
  • 90 eine Prozedur zum Realisieren des dritten Modes zeigt, der die Selektorfähigkeit realisiert, wobei eine Adresse eines ausgewählten Signals nicht gespeichert wird, so dass ein Signal, das durch die Adresse ausgewählt wird, nur während eines Anlegens der Adresse ausgegeben wird;
  • 91 eine Prozedur eines vierten Modes zeigt, wobei die Adresse von auszuwählenden Daten in der Selektorfähigkeit gespeichert wird;
  • 9295 Ergebnisse von Schaltungssimulationen der integrierten Schaltung 405 zeigen;
  • 96 eine Struktur einer integrierten Schaltung für eine rekonfigurierbare Funktionslogik 801 zeigt, die eine 2k-te Potenz von 2 Logikfunktionen von k Eingangsvariablen realisiert und durch zwei Stufen von Neuronen-MOS-Invertern konfiguriert ist;
  • 97 Beziehungen zwischen Eingangslademengen Qi im Hauptinverter 900 und normalisierten Spannungen des schwebenden Gates Ufg zeigt, wenn die Anzahl von Elementen k = 3 und der Gewichtungsvektor (1, 3, 5) ist;
  • 98 ein Schaltungsdiagramm eines j-ten Vorinverters zeigt;
  • 99 Beziehungen zwischen Eingangslademengen Qi und normalisierten Spannungen des schwebenden Gates Ufg des fünften Vorinverters zeigt;
  • 100 Beziehungen zwischen den Eingangsvektoren (oder Eingangslademengen Qi) und logischen Werten der Ausgangssignale des Vorinverters 901 zeigt, wenn die Beziehung zwischen den Eingangsvektoren und der normalisierten Spannung des schwebenden Gates Ufg so ist, wie es in 99 gezeigt ist;
  • 101A und 101B Beziehungen zwischen α (0 ≦ α ≦ 2) und g(α, i) zeigen, wenn i = 1, 2, 3, 4, 5. Wenn 1 < α < 2;
  • 102 Beziehungen zwischen dem Skalar S2 und dem Skalar Sα zeigt, wenn α = 1,7; 1,9; 2,0; 2,2;
  • 103 Beziehungen z wischen einem Gewichtungsmodulationskoeffizienten β und dem Verhältnis η der Summe Sum(3) zu der Summe Sum(2) zeigt, wenn k = 2, 3, 4;
  • 104 ein Schaltungsdiagramm einer integrierten Schaltung 803 zeigt;
  • 105 ein Schaltungsdiagramm eines Neuronen-MOS-Inverters INV3 ist, der drei Schwellenwerte in Bezug auf das Eingangssignal hat;
  • 106 Beziehungen zwischen Eingangslademengen des Neuronen-MOS-Inverters INV3 und der normalisierten Spannung des schwebenden Gates Ufg zeigt;
  • 107 Eingabe/Ausgabe-Charakteristiken eines Neuronen-MOS-Inverters in einem Fall zeigt, wenn Eingangsgate-Kapazitätswerte gemäß dem Verfahren der vorliegenden Erfindung eingestellt werden;
  • 108 ein Schaltungsdiagramm einer integrierten Schaltung 804 zeigt;
  • 109 Beziehungen zwischen Qi (oder Eingangsvektoren) im Hauptinverter 1100 und der normalisierten Spannung des schwebenden Gates Ufg in der in 108 gezeigten integrierten Schaltung 804 zeigt;
  • 110 Beziehungen zwischen der normalisierten Spannung des schwebenden Gates Ufg und logischen Werten (Yp2, Yp3) der Ausgangssignale der Vorinverter 1102, 1103 zeigt, wenn die integrierte Schaltung 804 8 Logikfunktionen unter 16 Logikfunktionen realisiert, die durch Eingangsvariablen x1 und x2 realisiert werden können, wenn die Anzahl k von Elementen 2 ist;
  • 111 Beziehungen zwischen Eingangsvektoren oder Eingangslademengen und der normalisierten Spannung des schwebenden Gates Ufg für einen Hauptinverter einer integrierten Schaltung zeigt, die durch dasselbe Entwicklungsverfahren entwickelt ist, erweitert auf k = 3, wie dasjenige der integrierten Schaltung 804;
  • 112 eine Schaltungsstruktur einer funktionsrekonfigurierbaren integrierten Schaltung 805 zeigt, die mehrpegelige Spannungen als zweite Eingangssignale verwendet;
  • 113 eine Schaltungsstruktur eines Vorinverters 1201 der integrierten Schaltung 805 zeigt;
  • 114 Beziehungen zwischen den Eingangsvektoren oder den Eingangslademengen Q1 des Vorinverters 1201 und der normalisierten Spannung des schwebenden Gates Ufg zeigt; und
  • 115 eine funktionsrekonfigurierbare integrierte Schaltung 802 zeigt, die ein modifiziertes Beispiel der integrierten Schaltung 801 ist.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Im Folgenden werden Ausführungsbeispiele der vorliegenden Erfindung beschrieben werden. Bei Ausführungsbeispielen 1-1~1-3 werden integrierte Schaltungen mit funktionsrekonfigurierbaren Funktionszellen und ein Prinzip einer integrierten Schaltung, das auf die Funktionszellen anwendbar ist, beschrieben werden. Bei Ausführungsbeispielen 2-1~2-10 werden Basisstrukturen von Schaltungen unter Verwendung von Neuronen-MOS-Transistoren basierend auf dem Prinzip detailliert beschrieben werden. Bei Ausführungsbeispielen 3-1~3-4 werden detaillierte Strukturen von Schaltungen unter Verwendung der Neuronen-MOS-Transistoren zum Realisieren symmetrischer Funktionen beschrieben werden. Bei Ausführungsbeispielen 4-1~4-6 werden detaillierte Strukturen zum Realisieren von irgendwelchen Funktionen und zum Ermöglichen einer Verwendung von mehrwertigen Ausdrücken beschrieben werden.
  • Jede von integrierten Schaltungen, die bei den Ausführungsbeispielen 2-1~4-6 beschrieben werden, kann als integrierte Schaltung verwendet werden, die die Funktionszelle in der Halbleitervorrichtung bei dem Ausführungsbeispiel 1-1~1-3 konfiguriert.
  • (Ausführungsbeispiel 1-1)
  • 7 zeigt eine funktionsrekonfigurierbare Halbleitervorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die funktionsrekonfigurierbare Halbleitervorrichtung enthält Funktionszellen 101, die wie eine Matrix angeordnet sind, wobei die Funktionszellen 101 durch eine Verdrahtung verbunden sind, die einen Verbindungszustand ändern kann. Zusätzlich enthält die funktionsrekonfigurierbare Halbleitervorrichtung eine zentralisierte nichtflüchtige Speicherschaltung 102, die mit den Funktionszellen über einen Steuerschaltungsblock 104 verbunden ist. Jede der Funktionszellen ist eine integrierte Schaltung, die nachfolgend angegebene Schwellenelemente enthält. Weiterhin hat die funktionsrekonfigurierbare Halbleitervorrichtung einen Eingangsschaltungsblock 105 und einen Ausgangsschaltungsblock 106.
  • In 7 sind Eingangssignalleitungen und Ausgangssignalleitungen der Funktionszelle 101 mit einer Verdrahtung verbunden, die zwischen den Funktionszellen vorgesehen ist und zwar über Elemente oder Schalter 103, die Verbindungszustände umschalten.
  • Die zentralisierte nichtflüchtige Speicherschaltung 102 hat Daten zum Realisieren von Funktionen.
  • Als Nächstes wird der Betrieb der Halbleitervorrichtung beschrieben werden.
  • Wenn Funktionen rekonfiguriert werden, werden die in der zentralisierten nichtflüchtigen Speicherschaltung 102 gespeicherten Daten zu den Funktionszellen 101 und dem Schalter 103 über den Steuerschaltungsblock 104 gesendet. Die Struktur und das Verfahren zum Rekonfigurieren von Funktionen werden später beschrieben werden.
  • Nachdem die Funktion über den Steuerschaltungsblock 104 eingestellt ist, werden Eingangsvariablen oder Eingangssignale von dem Eingangsschaltungsblock 105 eingegeben, so dass sie verarbeitet werden, und die Ergebnisse werden von dem Ausgangsschaltungsblock 105 ausgegeben. Während die Vorrichtung arbeitet, werden dann, wenn ein Verbindungszustand einer Verdrahtung geändert wird oder wenn eine durch die Funktionszelle realisierte Funktion geändert wird, die geänderten Daten zu der zentralisierten nichtflüchtigen Speicherschaltung 102 transferiert, so dass sie aktualisiert wird.
  • 8 zeigt ein Strukturbeispiel einer in der Funktionszelle 101 enthaltenen Basisschaltung. Diese Schaltung enthält Schwellenelemente (TEs), Eingangsanschlüsse input1[1]~input1[3] und Steuersignal-Eingangsanschlüsse input2[1]~input2[4]. Das Schwellenelement kann einen Schwellenwert durch ein Initialisierungssignal speichern. Die Funktionszelle besteht aus zwei Stufen der Schwellenelemente, wobei eine erste Stufe TE[1]~TE[4] enthält und eine zweite Stufe TE[5] enthält. Ein Ausgangssignal wird von dem Schwellenelement des zweiten Logikelements ausgegeben. Zusätzlich sind alle Eingangssignalleitungen und eine Steuersignalleitung mit jedem des Schwellenelements der ersten Stufe verbunden. Ein Ausgangssignal von jedem des Schwellenelements der ersten Stufe wird zu dem Schwellenelement der zweiten Stufe eingegeben, nachdem es invertiert ist (NICHT angewendet ist). Zusätzlich sind alle Eingangssignalleitungen mit dem Schwellenelement der zweiten Stufe verbunden. Diese Schaltung hat auch einen Initialisierungsanschluss zum Liefern einer Zeitgabe.
  • Die Anschlüsse input1[1]~input1[3], Eingagn2[1]~input2[4] und Initialisierung entsprechen einem Eingangsteil und der Ausgangsanschluss entspricht einem Ausgangsteil. Jeder von input1[1]~input1[3] ist ein Eingangsanschluss für eine Eingangsvariable. Jeder von input2[1]~input2[4] ist ein Steueranschluss zum Liefern von Funktionskonfigurationsdaten zum Realisieren von 24 symmetrischen Funktionen, die durch 3 Eingangsvariable ausgebildet werden können. Der Initialisierungsanschluss liefert eine Zeitgabe zum Speichern von einem von zwei Schwellenwerten, der durch einen von jedem von input2[1]~input2[4] gelieferten variablen Wert ausgewählt wird. "w", das in 8 gezeigt ist, zeigt eine Gewichtung an, die einer jeweiligen Eingangsvariablen zugeordnet ist.
  • Bei diesem Ausführungsbeispiel 1-1 hat jedes Schwellenelement zwei Schwellenwerte, wie es in 8 gezeigt ist, und ein Schwellenwert wird durch ein Signal vom Steueranschluss ausgewählt.
  • Im Folgenden wird es beschrieben werden, dass die in 8 gezeigte Schaltung irgendeine symmetrische Funktion von drei Eingangsvariablen realisieren kann. In der folgenden Beschreibung wird die Anzahl von Variablen, von welchen jede logisch 1 ist, eine Eingangszustandszahl genannt werden.
  • Wenn die Anzahl von Eingangsvariablen 3 ist, nimmt die Eingangszustandszahl eines von 0, 1, 2 und 3 an. Irgendeine symmetrische Funktion von 3 Eingangsvariablen kann realisiert werden, wenn die Schaltung logisch 0 oder 1 in jeder der Eingangszustandszahlen ausgeben kann.
  • 9 ist eine Figur zum Erklären von Beziehungen zwischen den Eingangszustandszahlen und logischen Ausgangswerten von jedem der Schwellenelemente TE[1]~TE[4] der ersten Stufe. Ein schwarzer Kreis in dieser Figur stellt einen Ausgangswert dar, der ungeachtet des Schwellenwerts des Schwellenelements bestimmt wird, und ein weiter Kreis stellt einen Ausgangswert dar, der in Abhängigkeit vom Schwellenwert logisch 0 oder 1 annehmen kann.
  • Wenn die Eingangszustandszahl 0 ist, das bedeutet, wenn jeder Eingangswert logisch 0 ist, ist die Summe von Produkten von Eingangswerten und der Gewichtung für jedes Schwellenelement 0. Daher ist in jedem der Schwellenelemente TE[2]~TE[4] die Summe von Produkten kleiner als einer der zwei Schwellenwerte, so dass 0 ausgegeben wird. TE[1] gibt 1 aus, wenn der Schwellenwert –1 ist, und gibt 0 aus, wenn der Schwellenwert 1 ist. Wenn die Eingangszustandszahl 1 ist, wird die Summe von Produkten von Eingangswerten und der Gewichtung für jedes Schwellenelement 2. In diesem Fall gibt TE[1] 0 in einem von zwei Schwellenwerten aus, und jedes von TE[3] und TE[4] gibt 1 aus. Nur TE[2] gibt 1 oder 0 in Abhängigkeit vom Schwellenwert aus. Wenn die Eingangszustandszahl 2 oder 3 ist, werden Ausgangswerte bestimmt, wie es in 9 gezeigt ist, und zwar auf dieselbe Weise wie es oben angegeben ist.
  • 10A zeigt Eingangswerte (nachdem sie mit der Gewichtung multipliziert sind) zu dem Schwellenelement TE[5] für jede Eingangszustandszahl. 10B zeigt Ausgangswerte für jede Eingangszustandszahl.
  • In 10A zeigt ein schattierter Bereich für jede Schwellenzustandszahl feste Eingangszahlen und stellt ein hervorgehobener Bereich einen Teil dar, der vom Schwellenwert abhängt. Zusätzlich ist jede Quelle des Eingangswerts im schattierten Bereich und im hervorgehobenen Bereich gezeigt. Beispielsweise ist dann, wenn die Eingangszustandszahl 1 ist, 6 der feste Wert, wobei 6 die Summe aus der Summe (2 + 2 = 4) von Eingaben von TE[3] und TE[4] und einem Eingangswert 2 ist (weil die Eingangszustandszahl 1 ist und die Gewichtung 2 ist), und zwar von einem Eingangsanschluss. Wie es in 9 gezeigt ist, wird 2 oder 0 als ein Eingangswert von TE[2] in Abhängigkeit von dem Schwellenwert von TE[2] addiert. Da der Schwellenwert von TE[5] 7 ist, wird dann, wenn 2 als der Eingangswert von TE[2] addiert wird, der Ausgangswert von TE[5] 1. Andererseits wird dann, wenn 0 als der Eingangswert von TE[3] addiert wird, der Ausgangswert von TE[5] 0. Das bedeutet, dass, wie es in 10B gezeigt ist, in Abhängigkeit davon, ob der Schwellenwert von TE[2] als 1 oder 3 eingestellt ist, der Ausgangswert der Schaltung 0 oder 1 annehmen kann. Wenn die Eingangszustandszahl 0 ist, wird über den Ausgangswert von TE[5] in Abhängigkeit vom Schwellenwert von TE[1] entschieden. Wenn die Eingangszustandszahl 1 ist, wird über den Ausgangswert von TE[5] in Abhängigkeit vom Schwellenwert von TE[2] entschieden. Wenn die Eingangszustandszahl 2 ist, wird über den Ausgangswert von TE[5] in Abhängigkeit vom Schwellenwert von TE[3] entschieden. Wenn die Eingangszustandszahl 3 ist, wird über den Ausgangswert von TE[5] in Abhängigkeit vom Schwellenwert von TE[4] entschieden.
  • Wie es oben angegeben ist, kann die in 8 gezeigte Schaltung irgendeine symmetrische Funktion von drei Eingangsvariablen durch Auswählen des Schwellenwerts von jedem Schwellenelement realisieren. Diese Schaltung und das Verfahren können auf einfache Weise auf k Eingangsvariable erweitert werden.
  • Im Folgenden folgt ein Verfahren zum Auswählen und Speichern des Schwellenwerts von jedem Schwellenelement. Jedes Schwellenelement kann zwei unterschiedliche Schwellenwerte speichern, von welchen jeder Schwellenwert durch ein Bit-Auswahlsignal 1 oder 0 ausgewählt werden kann. Zusätzlich kann durch Ändern eines Initialisierungssignals von 1 bis 0, während das Auswahlsignal eingegeben wird, der Schwellenwert gespeichert werden.
  • Die Anzahl von logischen Stufen ist nicht auf zwei beschränkt, wie es in 8 gezeigt ist. Beispielsweise kann eine Schaltung, die drei logische Stufen hat, auch irgendeine symmetrische Funktion von zwei Eingangsvariablen realisieren.
  • 11 zeigt eine Struktur der Logikschaltung mit drei Stufen, die die Schwellenelemente enthält. Wie es in 11 gezeigt ist, enthält die erste Stufe das Schwellenelement TE[1], enthält die zweite Stufe die Schwellenelemente TE[2] und TE[3] und enthält die dritte Stufe das Schwellenelement TE[4]. Jedes Schwellenelement außer einem der dritten Stufe hat unterschiedliche zwei Schwellenwerte, von welchen jeder Wert durch ein Ein-Bit-Auswahlsignal ausgewählt wird. Der Schwellenwert von TE[1] ist –1 oder 1, was durch das vom Anschlussinput2[1] eingegebene Auswahlsignal ausgewählt wird. Der Schwellenwert von TE[2] ist 1 oder 3, was durch das vom Anschlussinput2[2] eingegebene Auswahlsignal ausgewählt wird. Der Schwellenwert von TE[3] ist 3 oder 5, was durch das vom Anschlussinput2[3] eingegebene Auswahlsignal ausgewählt wird. Die Gewichtung, mit welchem eine Eingangsvariable multipliziert wird, ist bei jedem der Schwellenelemente für jede von Eingangsvariablen von input2[2] und input2[3] 2. Ein logisch invertierter Wert des Ausgangswerts von TE[1] wird in TE[2] eingegeben, wobei der logisch invertierte Wert mit einer Gewichtung 4 multipliziert wird. Der logische Schwellenwert von TE[4] ist 5. TE[4] empfängt die Eingangsvariablen, einen invertierten Wert des Ausgangswerts von TE[2] und einen invertierten Wert des Ausgangswerts von TE[3] als Eingangswerte, wobei die Gewichtungen für jeden der Eingangswerte jeweils 2, 4, 2 sind. Zusätzlich kann der Schwellenwert jedes Schwellenelements durch ein Signal von dem Initialisierungsanschluss auf dieselbe Weise wie bei der in 8 gezeigten Schaltung gespeichert werden.
  • 12 zeigt Beziehungen zwischen Ausgangswerten von Schwellenelementen der ersten und der zweiten Stufe, Eingangszustandszahlen und Schwellenwerten. Wie es in dieser Figur gezeigt ist, ist dann, wenn die Eingangszustandszahl 1 oder 2 ist, der Ausgangswert von TE[1] ungeachtet des Schwellenwerts immer 1. Wenn die Eingangszustandszahl 0 ist, ist der Ausgangswert von TE[1] in Abhängigkeit vom Schwellenwert 0 oder 1. Wenn die Eingangszustandszahl 0 oder 1 ist, ist der Ausgangswert von TE[3] ungeachtet des Schwellenwerts immer 0. Wenn die Eingangszustandszahl 2 ist, ist der Ausgangswert von TE[3] in Abhängigkeit vom Schwellenwert 0 oder 1. Der Ausgangswert von TE[2] hängt vom Ausgangswert von TE[1] ab, wenn die Eingangszustandszahl 0 ist. Wenn die Eingangszustandszahl 1 ist, gibt TE[2] in Abhängigkeit vom Schwellenwert 0 oder 1 aus, wie es in der Figur gezeigt ist. Wenn die Eingangszustandszahl 2 ist, gibt TE[2] immer 1 aus.
  • 13 zeigt die Eingangswerte und die Ausgangswerte von TE[4] für jede Eingangszustandszahl, wobei die Eingangswerte von TE[4] invertierte Werte der Ausgangswerte von TE[2] und invertierte Werte der Ausgangswerte von TE[3] sind. Wie es in 13 gezeigt ist, ist dann, wenn die Eingangszustandszahl 1 ist, der Ausgangswert von TE[4] in Abhängigkeit von dem invertierten Wert des Ausgangswerts von TE[2] 0 oder 1, d. h. in Abhängigkeit vom Wert des Anschlusses input2[1]. Wenn die Eingangszustandszahl 0 ist, ist der Ausgangswert von TE[4] in Abhängigkeit vom invertierten Wert des Ausgangswerts von TE[2], d. h. in Abhängigkeit vom Wert des Anschlusses input2[1], 0 oder 1. Wenn die Eingangszustandszahl 1 ist, ist der Ausgangswert von TE[4] in Abhängigkeit vom invertierten Wert des Ausgangswerts von TE[2], d. h. in Abhängigkeit vom Wert des Anschlusses input2[2], 0 oder 1. Wenn die Eingangszustandszahl 2 ist, ist der Ausgangswert von TE[4] in Abhängigkeit vom invertierten Wert des Ausgangswerts von TE[3], d. h. in Abhängigkeit vom Wert des Anschlusses input2[3], 0 oder 1.
  • 14 zeigt Beziehungen zwischen den Werten von input2[1]~input2[3] und dem Ausgangsanschluss, was eine Zusammenfassung des Betriebs der in 11 gezeigten Schaltung anzeigt. In der in 11 gezeigten Schaltung ist angenommen, dass der kleinere Schwellenwert ausgewählt wird, wenn das Auswahlsignal, das in jedes Schwellenelement eingegeben wird, 1 ist, und der größere Schwellenwert ausgewählt wird, wenn das Auswahlsignal 0 ist. In 14 zeigt eine kurze laterale Linie an, dass der Wert des Ausgangsanschlusses nicht geändert wird, welcher Auswahlsignalwert auch immer 0 oder 1 ist.
  • Wie es oben angegeben ist, ist es zu verstehen, dass die Logikschaltung mit drei Stufen irgendeine symmetrische Funktion realisieren kann.
  • Als Nächstes werden Implementierungen des in 8 gezeigten Schwellenelements beschrieben werden.
  • 15 zeigt ein Implementierungsbeispiel des in 8 gezeigten Schwellenelements. Das Schwellenelement enthält Eingangsanschlüsse input1[1]~input1[3] zum Eingeben von drei Eingangsvariablen, einen Eingangsanschluss input2[3] zum Eingaben eines Signals, das zum Auswählen eines Schwellenwerts verwendet wird, einen Eingangsanschluss "init" zum Eingeben eines Initialisierungssignals, das zum Speichern eines ausgewählten Schwellenwerts verwendet wird, und einen Ausgangsanschluss "output".
  • Eine Vielzahl von Eingangsanschlüssen (oder Eingangsgates) ist mit einem schwebenden Gate ftg über Kapazitäten in Reihe geschaltet. Zusätzlich enthält das Schwellenelement ein mit einem elektrischen Potential angetriebenes nichtlineares Element 111, das eine Spannung des schwebenden Gates eingibt und einen verarbeiteten Wert ausgibt, der durch eine nichtlineare Funktion verarbeitet ist, die durch eine Stufenfunktion typifiziert ist, eine Sigmoidfunktion und ähnliches.
  • Das schwebende Gate ist mit einer Erdung über einen Schalter A (112) verbunden. Der Eingangsanschluss input2[3] ist mit dem schwebenden Gate über eine Kapazität durch einen Schalter B (113) verbunden. Der Schalter A wird so gesteuert, dass der Schalter A mit der Erdung verbunden oder von dieser getrennt wird. Der Schalter A und B sind synchronisiert, so dass dann, wenn der Schalter A mit der Erdung verbunden ist, der Schalter B mit input2[3] verbunden ist, und wenn der Schalter A von der Erdung getrennt ist, der Schalter B mit einer Energieversorgung verbunden ist.
  • Unter der Annahme, dass ein Kapazitätswert zwischen jedem von Eingangsgates in11, in12, in13, in23 und dem schwebenden Gate ftg C ist, ist ein Kapazitätswert zwischen einem Anschluss ingnd, der mit der Erdung verbunden ist, und dem schwebenden Gate C, und ist ein Kapazitätswert, der kapazitiv mit einem schwebenden Gate in den durch ein elektrisches Potential angetriebenen nichtlinearen Element gekoppelt ist, viel kleiner als C und vernachlässigbar. Zusätzlich ist unter der Annahme, dass eine jeweilige Spannung der Anschlüsse input1[1]~input1[3] jeweils V11, V12, V13 ist, eine Spannung des Anschlusses input2[3] V23 ist, eine Spannung des schwebenden Gates Vfg ist, die Energieversorgungsspannung Vdd. Weiterhin nimmt jedes von V11~V13 und V23 nur zwei Werte Vdd oder 0 an. Es soll angenommen werden, dass x11, x12, x13, x23 V11, V12, V13, V23 sind, die jeweils durch Vdd normalisiert sind, und Ufg Vfg ist, was durch Vdd normalisiert ist. Bei diesem Beispiel ist der Schwellenwert des mittels eines elektrischen Potentials angetriebenen nichtlinearen Elements eine Hälfte der normalisierten Spannung des schwebenden Gates Ufg. Im Folgenden wird der Betrieb dieses Schwellenelements mit dieser Bedingung beschrieben werden.
  • Zuerst wird ein Fall beschrieben werden, bei welchem das schwebende Gate ftg in einem vollständig schwebenden Zustand ist, d. h. dann, wenn die Spannung von ftg auf 0 eingestellt ist, während 0 zu jedem Eingangsgate eingegeben wird.
  • Bei diesem Ausführungsbeispiel sind Vfg und Ufg durch die folgenden Formeln 9 und 10 dargestellt.
  • Figure 00650001
  • Daher ist dann, wenn eine Schwellenwert-Steuervariable x23, die von input2[3] eingegeben wird, 0 ist und wenn Σ3i=1 x1i , was die Summe von Eingangsvariablen ist, gleich oder kleiner als 2 ist, Ufg = 2/5 bei dem Maximum, welches kleiner als der Schwellenwert 1/2 ist. Wenn Σ3i=1 x1i 3 ist, gilt Ufg = 3/5, was größer als der Schwellenwert 1/2 ist. Daher ist unter dem Gesichtspunkt der Eingangsvariablen der Schwellenwert zwischen 2 und 3 der Eingangszustandszahl. Wenn andererseits x23 = 1 gilt, wird Ufg 3/5, selbst wenn Σ3i=1 x1i = 2 gilt. Das bedeutet, dass Ufg größer als der Schwellenwert ist und der Schwellenwert zwischen 1 und 2 der Eingangszustandszahl ist, und zwar unter dem Gesichtspunkt der Eingangsvariablen. Wie es oben angegeben ist, wird es durch Halten bei einem Zurückhalten einer Spannung für den Anschluss input2[4] möglich, einen der zwei Schwellenwerte auszuwählen.
  • Als Nächstes wird es beschrieben werden, dass der ausgewählte Schwellenwert ohne Festhalten an einem Eingeben der Schwellen-Steuervariablen durch Verwenden des Schalters A und des Schalters B gespeichert werden kann, wobei die Schwellen-Steuervariable zu einer Zeit t0 von input2[3] eingegeben wird.
  • Zuerst ist das schwebende Gate ftg durch den Schalter A mit der Erdung verbunden. Dann werden in23 und input2[3] durch den Schalter B verbunden. Dieser Zustand wird so genannt, dass die Schalter in einem Anfangszustand sind. Wenn die Schalter in dem Anfangszustand sind, wird 1 von input2[3] als die Schwellen-Steuervariable eingegeben und wird 0 von jedem von input1[1]~input1[3] eingegeben. In diesem Zustand gilt deshalb, weil das schwebende Gate ftg mit der Erdung verbunden ist, Vfg = 0. Als Nächstes wir dder Schalter E gelöst, so dass das schwebende Gate ftg von der Erdung getrennt wird. Danach wird der Schalter B mit der Energieversorgungsseite verbunden, so dass in23 mit der Energieversorgung verbunden wird. Die Spannung von in23 wird nicht geändert, welche Vdd ist, was 1 als die Steuervariable ist, nachdem der Schalter B umgeschaltet ist. Da jedoch Ufg = 0 gilt, kann die Beziehung zwischen der normalisierten Spannung des schwebenden Gates Ufg und der Eingangsvariablen x1i durch die folgende Formel 11 dargestellt werden.
  • Figure 00660001
  • Daher wird Ufg nur dann größer als der Schwellenwert, nachdem Σ3i=1 x1i 3 wird.
  • Als Nächstes wird ein weiterer Fall beschrieben werden.
  • Wenn die Schalter in dem Anfangszustand sind, wird 0 von input2[3] als die Schwellen-Steuervariable eingegeben und wird 0 zu jedem von input1[1]~input1[3] eingegeben. Als Nächstes wird der Schalter A freigegeben bzw. gelöst und wird das schwebende Gate ftg von der Erdung getrennt. Danach wird in23 durch den Schalter B mit der Energieversorgung verbunden. In diesem Fall wird die Spannung von in23 durch Umschalten des Schalters B von 0 auf Vdd geändert. Dies entspricht dem oben angegebenen Fall von x23 = 1, wo die Steuervariable derart gehalten wird, dass sie kontinuierlich eingegeben wird. Die Beziehung zwischen der normalisierten Spannung des schwebenden Gates Ufg und der Eingangsvariablen x1i wird als die folgende Formel 12 dargestellt.
  • Figure 00670001
  • Daher wird Ufg nur dann größer als der Schwellenwert, nachdem die Formel 2 wird. Wie es oben angegeben ist, kann einer der zwei Schwellenwerte durch Eingeben der Schwellen-Steuervariablen zu input2[3] ausgewählt werden, wobei der ausgewählte Schwellenwert selbst dann beibehalten werden kann, wenn die Eingabe von input2[3] gestoppt wird.
  • Die in 15 gezeigte Struktur entspricht dem in 8 gezeigten Schwellenelement TE[3]. Jedes von TE[1]–TE[4], das unterschiedliche Schwellenwerte hat, kann beispielsweise durch Ändern des Verhältnisses der Kapazität zwischen dem Anschluss ingnd und dem schwebenden Gate zu der Kapazität zwischen dem Eingangsanschluss und dem schwebenden Gate oder durch Ändern einer Verbindung des Anschlusses ingnd von der Erdung zu der Energieversorgung realisiert werden.
  • Beispielsweise wird zum Realisieren von TE[1] die Verbindung des Anschlusses ingnd zu der Energieversorgung geändert und wird die Kapazität zwischen dem Anschluss ingnd und dem schwebenden Gate auf 3C eingestellt. In Bezug auf TE[2] wird die Verbindung des Anschlusses ingnd zu der Energieversorgung geändert und wird die Kapazität zwischen dem Anschluss ingnd und dem schwebenden Gate auf C eingestellt. Für TE[3] gilt, was oben angegeben ist. Für TE[4] wird der Anschluss ingnd auf dieselbe Weise wie für TE[3] mit der Erdung verbunden und wird die Kapazität auf 3C eingestellt.
  • Bei den in 8 gezeigten Schwellenelementen TE[1]~TE[4] kann dasselbe Signal init zum Steuern der Schalter in jedem Schwellenelement verwendet werden.
  • Jede der 16 und 17 zeigt Beispiele des mittels eines elektrischen Potentials angetriebenen nichtlinearen Elements 11, des Schalters A und des Schalters B.
  • In der in 16 gezeigten Struktur wird ein CMOS-Inverter als nichtlineares Element verwendet, wird ein Durchlasstransistor als der Schalter A verwendet und werden Übertragungsgatter tg1, tg2 als der Schalter B verwendet. Bei der in 17 gezeigten Struktur wird ein Inverter vom Widerstandslasttyp als das nichtlineare Element verwendet, wird ein Durchlasstransistor als der Schalter A verwendet und wird ein NAND-Gatter mit zwei Eingängen als der Schalter B verwendet. Wenn das NAND-Gatter verwendet wird, ist der von input2[3] eingegebene Schwellen-Steuervariablenwert ein Wert, der gegenüber dem Wert logisch umgekehrt ist, der bei der in 16 gezeigten Struktur verwendet wird, so dass derselbe Effekt erhalten werden kann.
  • Wie es oben angegeben ist, kann ein Schwellenelement realisiert werden, das einen von zwei Schwellenwerten selektiv speichern kann.
  • (Ausführungsbeispiel 1-2)
  • 18 zeigt eine funktionsrekonfigurierbare Halbleitervorrichtung, wobei nichtflüchtige Speicherschaltungen zum Speichern von Funktionsdaten so verteilt sind, dass jede Funktionszelle die nichtflüchtige Speicherschaltung gemäß dem Ausführungsbeispiel 1-2 der vorliegenden Erfindung hat. Das bedeutet, dass anstelle eines Vorstehens der in 7 gezeigten nichtflüchtigen Speicherschaltung 102 die nichtflüchtige Speicherschaltung 122 für jede Funktionszelle 121 vorgesehen ist. Die nichtflüchtige Speicherschaltung 122 kann durch einen EEPROM-Schaltung, eine Flash-Speicherschaltung, eine Speicherschaltung unter Verwendung eines ferroelektrischen Materials oder MRAM konfiguriert sein.
  • (Ausführungsbeispiel 1-3)
  • 19 zeigt eine funktionsrekonfigurierbare Halbleitervorrichtung, wobei nichtflüchtige Halbleiterschaltungen 132 in den Funktionszellen verteilt und vorgesehen sind und kein Verdrahtungsbereich existiert. Der Verdrahtungsbereich ist nicht nötig, da die Funktionszellen auch als Verdrahtung für das Führen von Verbindungen zwischen ihnen verwendet werden.
  • Ein Realisierungsverfahren für die Verdrahtung für die in 19 gezeigte Struktur wird unter Bezugnahme auf 8 und 20 beschrieben werden. Die in 20 und in 16 gezeigten Strukturen sind gleich, außer dass Schalter bei der in 20 gezeigten Struktur hinzugefügt sind.
  • Bei der in 20 gezeigten Struktur sind Anschlüsse input1[1]~input1[3] und input2[1]~input2[4] konfiguriert, um an die nichtflüchtige Speicherschaltung anzuschließen. Wie es zuvor angegeben ist, werden durch Verwenden des in 8 gezeigten Signals init die Eingangsvariablen, die von den Anschlüssen input1[1]~input1[3] eingegeben sind, gespeichert. Das bedeutet, dass die Eingangszustandszahl als eine Zahl fest ist. Wie es bei dem Ausführungsbeispiel 1-1 beschrieben ist, wird über den Ausgangswert der Funktionszelle durch die zu dem Schwellenelement TE[1] von input2[1] eingegebene Steuervariable entschieden, wenn die Eingangszustandszahl 0 ist, wird über den Ausgangswert durch die zu dem Schwellenelement TE[2] eingegebene Steuervariable entschieden, wenn die Eingangszustandszahl 1 ist, wird über den Ausgangswert durch die zu dem Schwellenelement TE[3] eingegebene Steuervariable entschieden, wenn die Eingangszustandszahl 2 ist, und wird auf den Ausgangswert durch die zu dem Schwellenelement TE[4] eingegebene Steuervariable entschieden, wenn die Eingangszustandszahl 3 ist. Das bedeutet, dass durch Fixieren der Eingangszustandszahl ein Wert von der Funktionszelle in Abhängigkeit von einer der Steuervariablen von input2[1]~input2[4] ausgegeben wird. Daher kann durch Verwenden von einem des Ausgangswerts oder eines logisch umgekehrten Werts eine Verdrahtungsfunktion realisiert werden, wobei der Steuervariablenwert der Wert der Funktionszelle wird.
  • 20 zeigt eine Schaltungsstruktur der Funktionszelle, die die oben angegebene Funktion realisiert. "init1" ist ein Signalanschluss, der Schalter steuert. Übertragungsgatter tg11a und tg11b bilden einen der Schalter, der in11 mit input1[1] oder der Energieversorgung verbindet, Übertragungsgatter tg12a und tg12b bilden einen weiteren Schalter, der in12 mit input1[2] oder der Energieversorgung verbindet und Übertragungsgatter tg13a und tg13b bilden einen weiteren Schalter, der in13 mit input1[3] oder der Energieversorgung verbindet. Jeder von in11~in13 ist mit dem schwebenden Gate über eine Kapazität verbunden. "init2" hat dieselbe Funktion wie init, welches in 16 gezeigt ist. Das bedeutet, dass "init2" ein Signal so steuert, dass in23 mit einem von input2[3] oder mit der Energieversorgung verbunden wird. "init3" ist ein Anschluss für ein Signal, das mit einem von init1 und init2 synchronisiert.
  • Wenn die Funktionszelle als die Verdrahtung verwendet wird, werden input2[3] in in23 durch Fixieren auf 1 verbunden. "init1" wird gesteuert und init3 wird mit init1 synchronisiert. Wenn angenommen wird, dass ein Steuervariablenanschluss, der als die Verdrahtung verwendet wird, input2[3] ist, ist ein zu input2[3] eingegebener Wert keine Variable zum Steuern einer Logik, sondern eine Variable, die übertragen bzw. gesendet wird. Da input2[3] über den Ausgangswert der Funktionszelle entscheidet, wenn die Eingangszustandszahl 2 ist, wird ein Wert, der gegenüber der Eingangsvariablen logisch umgekehrt ist, die die Eingangszustandszahl 2 bildet, zur Zeit einer Initialisierung des schwebenden Gates eingegeben. Bei der Initialisierung des schwebenden Gates wird das schwebende Gate mit der Erdung über den Durchlasstransistor verbunden. Zur Zeit der Initialisierung wird logisch 0 von input2[3] eingegeben.
  • Als Nächstes wird 0 von jedem von init1 und init3 eingegeben, wird der Durchlasstransistor von der Erdung getrennt, so dass das schwebende Gate ein elektrisch isolierter Zustand wird. Gemäß dieser Operation kann die in 20 gezeigte Funktionszelle eine Funktion einer Verdrahtung haben. Wie es oben angegeben ist, kann eine Schaltung realisiert werden, bei welcher der Verdrahtungsbereich eliminiert ist und die Funktionszelle als Verdrahtung verwendet wird.
  • (Ausführungsbeispiel 2-1~2-10)
  • Im Folgenden werden Ausführungsbeispiele der funktionsrekonfigurierbaren integrierten Schaltung auf der Basis des bei dem Ausführungsbeispiel 1-1 beschriebenen Prinzips detailliert beschrieben werden, wobei Neuronen-MOS-Inverter verwendet werden.
  • (Ausführungsbeispiel 2-1)
  • Bei diesem Ausführungsbeispiel ist der rekonfigurierbare Logikteil in der programmierbaren Hardware, wie den LUTs der konfigurierbaren Logikblöcke in FPGA, durch eine Schaltungsstruktur konfiguriert, die zwei Stufen von Neuronen-MOS-Invertern enthält. Der Neuronen-MOS-Inverter ist in 21 gezeigt. Präziser ist der rekonfigurierbare Logikteil durch eine Neuronen-MOS-Schaltung konfiguriert, die n(n ≧ 1) Eingangssignalanschlüsse input[1]~input[n] und m(m ≧ 1) Steuersignalanschlüsse ctl[1]~ctl[m] enthält. Die Anschlüsse input[1]~input[n] entsprechen input1[1]~input1[3], die in 8 gezeigt sind, und ctl[1]~ctl[m] entsprechen input2[1]~input2[4], die in 8 gezeigt sind. Jeder Neuronen-MOS-Inverter ist gleich dem Schwellenelement in 8, entspricht aber einem Schwellenelement, das keine Datenspeicherfähigkeit enthält.
  • Wie es in 22 gezeigt ist, wird der Neuronen-MOS-Inverter der letzten (zweiten) Stufe, die einen Ausgangssignalanschluss hat, Hauptinverter 201 genannt und werden Neuronen-MOS-Inverter, die in der ersten Stufe sind, Vorinverter 202, 203, ..., 204 genannt. Bei dieser Struktur kann über eine erwünschte Logik gemäß einer Kombination aus Steuersignalen entschieden werden, die zu den Vorinvertern 202, 203, ..., 204 eingegeben werden. Wenn es m Steuersignalanschlüsse gibt, ist die Anzahl von möglichen Kombinationen aus zweiwertigen Steuersignaleingängen 2m. Im Folgenden wird ein Verfahren zum Speichern von irgendeiner der 2m Kombinationen ohne Vorsehen von irgendeinem Speicherelement oder irgendeiner Speicherschaltung zu dem Steuersignalanschluss beschrieben werden. Zusätzlich werden Schaltungsbeispiele beschrieben werden, die das Verfahren realisieren. Zuerst wird ein Fall beschrieben werden, bei welchem zwei Eingangssignale verwendet werden.
  • Am Anfang wird ein "Anfangszustand" beschriebenen Gates des Neuronen-MOS-Transistors definiert werden. Bei diesem Ausführungsbeispiel werden folgende zwei Fälle "Basis-Anfangszustand" genannt. Als Erstes ist der Basis-Anfangszustand ein Zustand, bei welchem irgendeine elektrische Ladung in dem schwebenden Gate des Neuronen-MOS-Inverters von der Zeit genau nach einer Herstellung an nicht existiert, so dass das schwebende Gate in dem vollständigen schwebenden Zustand ist und die Summe von Kapazitäten zwischen dem schwebenden Gate und den Eingangsanschlüssen viel größer als Kapazitäten zwischen dem schwebenden Gate und den Elektroden von jedem MOS-Transistor ist. Als Zweites ist der Basis-Anfangszustand ein Zustand, nachdem folgender Prozess durchgeführt ist. Das bedeutet, zuerst ein Verbinden des schwebenden Gates mit der Erdung, während jeder Eingangsanschluss auf die Erdungsspannung festgelegt ist, dann ein Freigeben des schwebenden Gates von der Erdung, so dass das schwebende Gate in dem schwebenden Zustand ist. Die oben angegebenen zwei Fälle werden "Basis-Anfangszustand" genannt werden.
  • Als Nächstes wird der Fall von zwei Eingangsvariablen als Beispiel beschrieben werden.
  • 23 zeigt eine Struktur, die auf der Struktur der 22 basiert, wobei die Anzahl der Eingangssignalanschlüsse 2 (n = 2) ist, die Anzahl der Steuersignalanschlüsse 3 (m = 3) ist und Schalter A, B und C hinzugefügt sind, welche Struktur einem Eingangsteil des Hauptinverters entspricht.
  • Wenn eine Neuronen-MOS-Schaltung mit dem in 23 gezeigten Eingangsteil einen Logikprozess durchführt, soll angenommen werden, dass eine Kombination von nötigen Steuersignalspannungen, wenn das schwebende Gate in dem Basis-Anfangszustand ist, als (Vctl[1], Vctl[2], Vctl[3]) = (1, 0, 1) dargestellt wird, wobei eine normalisierte Spannung, die durch eine Energieversorgungsspannung normalisiert ist, verwendet wird. Diese Vektordarstellung wird ein Funktionskonfigurationsdatenvektor genannt werden. Jeder Wert, der durch die normalisierte Spannung dargestellt wird, kann logisch 1 oder 0 entsprechen. Bei der Struktur der 23 sind die maximale Spannung und die minimale Spannung der Schaltungsoperation derart definiert, dass sie jeweils die Energieversorgungsspannung und die Erdungsspannung sind, wobei die Spannungen durch die Energieversorgungsspannung normalisiert sind. Stattdessen ist es auch möglich, andere Spannungen, die in der Schaltung erzeugt sind, als die maximale Spannung und die minimale Spannung zu verwenden. Wie es in 23 gezeigt ist, ist der Schalter A zwischen dem Anschluss des schwebenden Gates und dem Erdungsanschluss jedes Vorinverters vorgesehen und ist der Schalter B zwischen jedem Steuersignalanschluss und jedem Steuersignalanschluss des Vorinverters vorgesehen. Um die Steuersignalanschlüsse der Vorinverterseite von den Steuersignalanschlüssen (ctl[1], ctl[2], ctl{[3]) zu unterscheiden, werden die Steuersignalanschlüsse der Vorinverterseite Steuersignaleingangsanschlüsse (ctl[1a], ctl[2a], ctl[3a]) genannt werden. Der Schalter C ist zwischen der Energieversorgung und jedem Steuersignaleingangsanschluss vorgesehen.
  • Der Betrieb ist wie folgt. Zuerst wird der Schalter C freigegeben und werden die Schalter E und die Schalter B auf verbunden eingestellt. Durch Verbinden des Schalters E mit der Erdung werden die normalisierten Spannungen der schwebenden Gates der Vorinverter (Vflt[1], Vflt[2], Vflt[3]) = (0, 0, 0). Diese Vektordarstellung wird zweiter Vektor genannt werden. Als Nächstes wird eine Erdungsspannung an die zwei Eingangssignalanschlüsse input[1], input[2] angelegt, und dann werden normalisierte Spannungen (Vctl[1], Vctl[2], Vctl[3]) = (0, 1, 0) die invertierte Signale der Steuersignale sind, die nötig sind, wenn das schwebende Gate in dem Basis-Anfangszustand ist, an die Steuersignalanschlüsse ctl[1]~ctl[3] angelegt. Diese Vektordarstellung wird dritter Vektor genannt werden. Durch Lösen bzw. Freigeben der Schalter A und B in diesem Zustand wird jeder Vorinverter initialisiert, wobei normalisierte Spannungen der Steuersignale (Vctl[1], Vctl[2], Vctl[3]) = (0, 1, 0) sind.
  • Als Nächstes erfolgt ein Verbinden der Schalter C mit der Energieversorgung, so dass alle Steuersignaleingangsanschlüsse mit der Energieversorgung verbunden werden. Zu dieser Zeit sind aktuelle normalisierte Spannungen der Steuersignaleingangsanschlüsse der Vorinverter (Vctl[1a], Vctl[2a], Vctl[3a]) = (1, 1, 1). Diese Vektordarstellung wird erster Vektor genannt werden. Obwohl die aktuellen normalisierten Spannungen oben gezeigt sind, sind die normalisierten Spannungen unter dem Gesichtspunkt der schwebenden Gates der Vorinverter äquivalent zu den normalisierten Spannungen der Steuersignale, die dann nötig sind, wenn das schwebende Gate in dem Basis-Anfangszustand ist. Das bedeutet, dass der Funktionskonfigurationsdatenvektor als eine Differenz zwischen der Summe des ersten Vektors und des zweiten Vektors und dem dritten Vektor gespeichert wird.
  • Als Nächstes wird ein Verfahren beschrieben werden, das dieses Verfahren verallgemeinert. Bei der in 24 gezeigten Struktur sind Spannungen von m Steuersignalen entsprechend m Vorinvertern, d. h. die Spannungen der Steuersignaleingangsanschlüsse ctl[1a]~ctl[ma] und die schwebenden Gates flt[1a]~flt[ma] wie folgt definiert. Der zweite Vektor, der normalisierte Spannungen von schwebenden Gates flt[1]~flt[m] darstellt, wird als Formel 13 beschrieben.
  • Figure 00760001
  • Wenn die Schalter B verbunden werden und die Schalter C gelöst werden, wird der dritte Vektor Vctl, der normalisierte Spannungen zeigt, die an die Steueranschlüsse angelegt werden, als eine Formel 14 beschrieben.
  • Figure 00760002
  • Wenn die Schalter B und die Schalter A derart eingestellt werden, dass sie gelöst werden, und die Schalter C derart eingestellt werden, dass sie verbunden werden, d. h. dann, wenn die schwebenden Gates flt[1]~flt[m] in einem schwebenden Zustand sind, wird der erste Vektor Vctla, der normalisierte Spannungen in Bezug auf die Erdung der Steuersignalanschlüsse zeigt, als eine Formel 15 beschrieben.
  • Figure 00770001
  • Ein Vektor Vrel, der relative normalisierte Spannungen der Steuersignalanschlüsse unter dem Gesichtspunkt der schwebenden Gates flt[1]~flt[m] zeigt, wird als Formel 16 beschrieben.
  • Figure 00770002
  • Zu dieser Zeit kann die Beziehung zwischen den Vektoren als die folgende Formel 17 dargestellt werden. Vrel = Vctla + Vflt – Vctl (Formel 17)
  • Wenn ein Funktionskonfigurationsdatenvektor, der normalisierte Spannungen für Funktionskonfigurationsdaten ist, für die erwünscht ist, sie zu speichern, als Vcfg dargestellt wird, kann es gesagt werden, dass die Funktionskonfigurationsdaten gespeichert werden, wenn Vcfg gleich Vrel ist. Zu dieser Zeit kann die Beziehung als die folgende Formel 18 dargestellt werden. Vcfg = Vrel = Vctla + Vflt – Vctl (Formel 18)
  • Zur Zeit einer Initialisierung, d. h. dann, wenn die Spannungen der Steuersignalanschlüsse von allen Invertern fest auf der Energieversorgungsspannung sind und die Schalter A mit der Erdung verbunden sind, können der erste Vektor und der zweite Vektor jeweils als folgende Formel 19 und 20 dargestellt werden, wenn die Spannungen der schwebenden Gates flt[1]~flt[m] der Vorinverter auf die Erdungsspannung festgelegt sind.
  • Figure 00780001
  • Daher wird der dritte Vektor, der normalisierte Spannungen zur Zeit einer Initialisierung zum Realisieren einer Logik zeigt, als folgende Formel 21 dargestellt. Vctl = E + 0 – Vcfg = V'crg (Formel 21)
  • In dieser Formel ist V'crg ein Spannungsvektor, wobei jeweils "1" in Vctl durch "0" ersetzt ist und jeweils "0" in Vctl durch "1" ersetzt ist. Soweit werden normalisierte Spannungen für die Elemente der Vektoren verwendet. Wenn die normalisierte Spannung zweiwertig ist, d. h. 1 oder 0, können die Elemente eines Vektors der Funktionskonfigurationsdaten als Boolsche Variablen angesehen werden. Sieht man die Elemente als die Boolschen Variablen an, ist V'ctl eine Inversion von Vctl. Demgemäß wird es verstanden, dass die Funktionskonfigurationsdaten durch Eingeben eines invertierten Vektors der erwünschten Funktionskonfigurationsdaten zu der Zeit des Basis-Anfangszustands gespeichert werden können, wenn der erste Vektor E ist und der zweite Vektor 0 ist.
  • Gemäß dem herkömmlichen Verfahren ist es deshalb, weil Daten, die die logische Funktion bilden, beides von 1 und 0 enthalten, nötig, dass Speicherelemente und Speicherschaltungen die Funktionskonfigurationsdaten speichern. Andererseits ist gemäß dem vorliegenden Verfahren ein zusätzliches Speicherelement oder eine zusätzliche Speicherschaltung nicht für jeden Vorinverter nötig. Dies ist deshalb so, weil das oben angegebene Verfahren ein Verfahren zum Festlegen der Spannungen von allen Steuersignalanschlüssen auf eine Spannung annimmt, wenn eine Funktionsverarbeitung durchgeführt wird. Daher kann gemäß der vorliegenden Erfindung eine Kombination aus den Steuersignalen zum Realisieren einer Logik ohne Vorsehen von irgendeinem neuen Speicherelement oder irgendeiner neuen Speicherschaltung gespeichert werden, das oder die ein anderes bzw. eine andere als die Neuronen-MOS-Schaltung ist, wenn elektrische Energie zugeführt wird.
  • Im Folgenden wird eine Schaltungssimulation des Betriebs eines Speicherns der Steuersignalspannungen beschrieben werden.
  • Bei der Schaltungssimulation wird eine Neuronen-MOS-Schaltung verwendet, die zwei Eingangssignale und drei Steuersignale hat.
  • 25 zeigt eine Schaltung, die für die Simulation verwendet wird. Die in 25 gezeigte Schaltung basiert auf einem der in 23 gezeigten Vorinverter. Die in 25 gezeigte Schaltung ist so konfiguriert, dass die in 23 gezeigten Schalter A, B und C jeweils durch Übertragungsgatter TG-A, TG-B, TG-C ersetzt sind und ein Ausgangspuffer an dem Ausgangsanschluss des Vorinverters vorgesehen ist. Jedes dieser Übertragungsgatter kann durch einen Durchlasstransistor eines MOS-Transistors ersetzt werden. Ein Umschalten zwischen einem Leiten und einer Unterbrechung der Übertragungsgatter TG-A, TG-B, TG-C wird durch Steuersignale durchgeführt, die jeweils an Übertragungsgatter-Steuersignalanschlüsse (cpa1, cna1), (cpb1, cnb1) und (cpc2, cnc2) angelegt sind. Diese Steuersignale werden durch Signale von einem Initialisierungssignalanschluss init durch Verwenden von standardmäßigen CMOS-Invertern erzeugt. Bei dieser Simulation werden die Steuersignale durch die mehrstufigen standardmäßigen CMOS-Inverter erzeugt, die in 25 gezeigt sind. Es ist auch möglich, jedes Steuersignal durch eine andere Schaltung zu erzeugen oder jedes Steuersignal von außerhalb zuzuführen. TG-A und TG-B sind beim Leiten oder bei einer Unterbrechung synchronisiert. TG-C wird ein Zustand, der entgegengesetzt zu dem Zustand von TG-A und TG-B nach einer Verzögerungszeit ist.
  • Ein Verfahren zum Speichern von "1", was die Energieversorgungsspannung ist, in der in 25 gezeigten Schaltung wird unter Bezugnahme auf 26 beschrieben werden. Zur Zeit 0 wird jede Spannung der Eingangssignalanschlüsse input[1], input[2] und des Steuersignalanschlusses ctl[1] als die Erdungsspannung eingestellt, werden die Übertragungsgatter TG-A, TG-B auf einen Leitungszustand bzw. Durchführungszustand eingestellt und wird TG-C auf unterbrochen eingestellt. Dann werden zu einer Zeit t2(t2 > 0) TG-A und TG-B auf den Unterbrechungszustand eingestellt. Dann wird TG-C auf den Durchführungszustand bzw. Leitungszustand eingestellt. Nach der Zeit t2 wird der Steuersignalanschluss ctl[1a] die Energieversorgungsspannung und wird das schwebende Gate eine Spannung aufgrund einer kapazitiven Kopplung zwischen dem schwebenden Gate und dem Steuersignaleingangsanschluss ctl[1a]. Weiterhin wird zur Zeit t3(t3 > t2) die Spannung des Eingangssignalanschlusses input[2] auf die Energieversorgungsspannung eingestellt. Zu dieser Zeit werden zwei der drei Eingangsanschlüsse des Vorinverters die Energieversorgungsspannung. Daher gibt der Vorinverter einen Wert nahe der Erdungsspannung aus, welcher eine invertierte Spannung der Energieversorgungsspannung ist, wenn die Schwellenspannung des Vorinverters derart eingestellt ist, dass sie etwa eine Hälfte der Energieversorgungsspannung ist. In diesem Fall gibt der Ausgangspuffer, der zu dem Vorinverter nur für die Schaltungssimulation hinzugefügt ist, die Energieversorgungsspannung aus, die invers zu der Ausgabe des Vorinverters ist.
  • Wie es oben angegeben ist, wird das schwebende Gate durch Verwenden von 0 initialisiert, was eine invertierte Spannung von 1 ist, was für eine Funktionskonfiguration nötig ist, und wird der Steuersignalanschluss ctl[1a] mit der Energieversorgung zum richtigen Speichern der Steuersignale verbunden. Das Ergebnis der Schaltungssimulation dieser Operation ist in 27 gezeigt. Wie es in 27 gezeigt ist, kann es verstanden werden, dass die Spannung des schwebenden Gates gemäß den Zuständen (Durchlassen bzw. Leitung oder Unterbrechung) von TG-A, TG-B, TG-C variiert und dass die Spannung des schwebenden Gates sich weiter erhöht, so dass die Ausgabe des schwebenden Gates invertiert wird, wenn die Spannung des Eingangssignalanschlusses input[2] die Energieversorgungsspannung wird.
  • Im Folgenden wird ein Verfahren zum Speichern eines Zustands, in welchem die Spannung des Steuersignals 0 ist, unter Bezugnahme auf 28 beschrieben werden. In diesem Fall ist der Zustand zur Zeit von 0 derselbe wie bei dem in 26 gezeigten Fall, aber das Verfahren einer Initialisierung des schwebenden Gates ist anders. In 28 ist die Spannung des Steuersignalanschlusses ctl[1] auf die Energieversorgungsspannung zu der Zeit t1(0 < t1 < t2) festgelegt, wenn TG-A und TG-B in dem Durchlasszustand bzw. Leitungszustand sind. Zur Zeit t2 nach einer Verzögerungszeit gegenüber t1 wird jedes von TG-A und TG-B unterbrochen und dann wird TG-C auf leitend eingestellt. Zu dieser Zeit variiert die Spannung des Steuersignaleingangsanschlusses ctl[1a] vor und nach der Zeit t2 nicht. Da das schwebende Gate mit der Erdung ab der Zeit t1 bis zu der Zeit t2 verbunden ist, ist die Spannung des schwebenden Gates nahe der Erdungsspannung. Zur Zeit t3 wird die Energieversorgungsspannung an den Eingangssignalanschluss input[2] angelegt. Zu dieser Zeit ändert sich, obwohl die Spannung des Eingangssignalanschlusses input[2] und des Steuersignaleingangsanschlusses ctl[1a] die Energieversorgungsspannung ist, welche dieselbe wie für den in 26 gezeigten Fall ist, die Ausgabe des Vorinverters sich vor und nach der Zeit t3 nicht. Das Ergebnis der Schaltungssimulation dieser Operation ist in 29 gezeigt. Das in 29 gezeigte Ergebnis stellt einen Fall dar, der derselbe wie der Fall ist, bei welchem, nachdem die Spannungen der Eingangssignalanschlüsse input[1], input[2] und des Steuersignalanschlusses ctl[1] auf die Erdungsspannung festgelegt sind, so dass das schwebende Gate initialisiert wird, das schwebende Gate von der Erdung getrennt wird, und dann wird die Spannung des Eingangssignalanschlusses input[2] zu der Energieversorgungsspannung geändert.
  • 30 zeigt ein Beispiel der Neuronen-MOS-Schaltung, die die oben angegebene Funktion zum Speichern der Funktionskonfigurationsdaten hat. Diese Schaltung ist so konfiguriert, dass jeder Schaltung in der in 24 gezeigten Schaltung durch ein Übertragungsgatter ersetzt ist, das einer von elektrischen Schaltern ist. Diese Übertragungsgatter schalten zwischen Leitung und Unterbrechung gemäß Steuersignalen, die an Übertragungsgatter-Steuersignalanschlüsse cp1, cp2, cn1, cn2 angelegt sind. Jedes der Übertragungsgatter kann durch einen als Durchlasstransistor verwendeten MOS-Transistor ersetzt werden.
  • Als Nächstes wird eine Schaltungssimulation gezeigt werden, bei welcher eine Neuronen-MOS-Schaltung, die zwei Eingangssignale verwendet, verwendet wird. Bei dieser Schaltungssimulation ist es gezeigt, dass das Funktionskonfigurationsdaten-Speicherverfahren der vorliegenden Erfindung für eine funktionsrekonfigurierbare Schaltung effektiv ist. Die für diese Schaltungssimulation verwendete Neuronen-MOS-Schaltung ist in 31 gezeigt. Die in 31 gezeigte Neuronen-MOS-Schaltung ist so konfiguriert, dass Übertragungsgatter (TG) 211 zum Initialisieren der schwebenden Gates des Hauptinverters, ein Durchlasstransistor 212, der mit der Erdung verbunden ist, und Inverter 213 mit zwei Stufen zur Wellenformung zu der in 30 gezeigten Neuronen-MOS-Schaltung hinzugefügt sind. In der in 31 gezeigten Schaltung sind die Inverter 212 hinter den Vorinvertern 214 angeordnet, und eine Verzögerungszeit-Steuerschaltung 215, die zwei Übertragungsgatter und vier Inverter enthält, ist zu dem Anschluss mit zwei Eingängen des Hauptinverters 210 hinzugefügt. Zusätzlich ist, um eine Logik zu konfigurieren, eine Schaltung für die Eingangsanschlüsse, um mit der Energieversorgung zu verbinden, oder eine Schaltung für die Eingangsanschlüsse, um mit der Erdung zu verbinden, hinzugefügt.
  • In 31 wird eine Schaltung, die Übertragungsgatter 216 und PMOSFET-Transistoren 217 verwendet, Zelle Typ B genannt, wobei die Übertragungsgatter 216 die Steuersignalanschlüsse ctl[1], ctl[2], ctl[3] mit Übertragungsgattern verbinden und die Transistoren 217 die Steuersignaleingangsanschlüsse mit der Energieversorgung verbinden. Eine Schaltung, die die Übertragungsgatter 216 und die PMOSFET-Transistoren 217 nicht verwendet, wird Zelle Typ A genannt. Was Zelle Typ A anbetrifft, werden die Vorinverter 214 durch Einstellen aller Eingangsanschlüsse auf die Erdungsspannung initialisiert, und durch darauf folgendes Einstellen des schwebenden Gates auf die Erdungsspannung, so dass das schwebende Gate der schwebende Zustand wird. Was die Zelle Typ B anbetrifft, werden die schwebenden Gates der Vorinverter 214 gemäß dem Verfahren der vorliegenden Erfindung initialisiert, wobei die Funktionskonfigurationsdaten gespeichert werden. 32 zeigt die Beziehung zwischen einer Zeit und der Wellenform für jeden Anschluss in dem Fall der Zelle Typ A. In der Figur zeigt die laterale Achse die Zeit an (μsek, was 10–6 Sekunden bedeutet). Dieselbe Abkürzung (μsek) wird in den folgenden Figuren verwendet werden. Die vertikale Achse zeigt von oben an logische Namen, die Spannung von ctl[1], die Spannung von ctl[2], die Spannung von ctl[3], die Spannung von input[1] die Spannung von input[2] und die Spannung des Ausgangsanschlusses output an. Bei dem in 32 gezeigten Simulationsergebnis werden die schwebenden Gates während einer Zeit initialisiert, zu welcher sich die Logik ändert. Wie es in dieser Figur gezeigt ist, wird es verstanden, dass erwünschte Logikfunktionen durch Kombinieren der Spannungen der Steuersignalanschlüsse realisiert werden.
  • 33 zeigt eine Beziehung zwischen der Zeit und der Wellenform für jeden Anschluss in dem Fall der Zelle Typ B, die die Funktionskonfigurationsdaten gemäß der vorliegenden Erfindung speichern kann. Die vertikale Achse und die laterale Achse sind jeweils dieselben wie in 32. In diesem in 33 gezeigten Fall wird das schwebende Gate während einer Periode initialisiert, bei welcher eine in der Schaltung ausgeführte Logikfunktion geändert wird. Für die Initialisierung des schwebenden Gates wird eine Gruppe von Spannungen an die Steuersignalanschlüsse ctl[1]~ctl[3] angelegt. Die Gruppe von Spannungen ist eine Gruppe der logisch umgekehrten Spannungen der Spannungen, die zu der Zeit des Basis-Anfangszustands des schwebenden Gates angelegt sind, und der Spannungen, die in der in 32 gezeigten Schaltung angelegt sind. Bei einer tatsächlichen Signalverarbeitung wird jeder Steuersignalanschluss von dem Eingangsanschluss der Seite des schwebenden Gates des Vorinverters getrennt, wobei der Eingangsanschluss der Seite des schwebenden Gates mit der Energieversorgung verbunden wird. Dieselben Logikfunktionen wie diejenigen der 32 werden in dem in 33 gezeigten Fall realisiert. Somit wird es verstanden, dass die Funktionskonfigurationsdaten, die zu den Steuersignalanschlüssen eingegeben werden, gemäß der vorliegenden Erfindung gespeichert werden.
  • Wie es oben angegeben ist, werden gemäß dem Ausführungsbeispiel 2-1 ein Funktionskonfigurationsdaten-Speicherverfahren und Schaltungsstrukturen, die das Verfahren verwenden, beschrieben, wobei eine zweistufige Struktur von Neuronen-MOS-Transistoren verwendet wird. Es kann auf einfache Weise abgeschätzt werden, dass nicht nur die zweistufige Struktur, sondern auch eine mehrstufige Struktur der Neuronen-MOS-Transistoren die Funktionskonfigurationsdaten gemäß dem Verfahren der vorliegenden Erfindung speichern kann.
  • (Ausführungsbeispiel 2-2)
  • 34 zeigt ein Beispiel einer integrierten Schaltung, wobei logische Werte der schwebenden Gates der Vorinverter und des Hauptinverters invertierte Werte der in 31 gezeigten integrierten Schaltung sind. Was die in 34 gezeigte integrierte Schaltung anbetrifft ist der Wert jedes Elements des ersten Vektors logisch 0, d. h. elektrisch die Erdungsspannung. Der Wert jedes Elements des zweiten Vektors ist logisch 1, d. h. elektrisch die Energieversorgungsspannung. In 34 wird die integrierte Schaltung ein Zellentyp C genannt, wenn Übertragungsgatter, die mit den Steuersignalanschlüssen ctl[1], ctl[2], ctl[3] verbunden sind, und NMOSFETs 241, die die Übertragungsgatter mit der Erdung verbinden, nicht enthalten sind. Die integrierte Schaltung wird Zellentyp D genannt, wenn die Übertragungsgatter und die NMOSFETs 241 enthalten sind. Die integrierte Schaltung des Zellentyps D kann die Funktionskonfigurationsdaten in einem eingeschwungenen Zustand speichern. Was den Zellentyp C anbetrifft, werden die Spannungen von Eingangsanschlüssen input[1] und input[2] für jeden Neuronen-MOS-Inverter auf die Energieversorgungsspannung zum Initialisieren der schwebenden Gates eingestellt. Dieser Zustand ist der Basis-Anfangszustand. 35 zeigt eine Spannungswellenform, die das Ergebnis durch eine Schaltungssimulation in dem Fall des Zellentyps C ist. Die laterale Achse zeigt eine Zeit an und die vertikale Achse die Spannung jedes Steuersignalanschlusses. Bei der Simulation werden erwünschte Logikfunktionen durch Ändern der Spannungen der Steuersignalanschlüsse realisiert.
  • 36 zeigt eine Spannungswellenform, die das Ergebnis der Schaltungssimulation in dem Fall des Zellentyps D ist, wobei Spannungen, die logisch gegenüber Spannungen invertiert sind, die kontinuierlich an die Steuersignalanschlüsse im Zellentyp C angelegt werden sollten, zu der Zeit einer Initialisierung der schwebenden Gates angelegt werden. Das bedeutet, dass ein invertierter Vektor eines Funktionskonfigurationsdatenvektors als der dritte Vektor verwendet wird. Es kann aus 36 verstanden werden, dass die Funktionskonfigurationsdaten so gespeichert werden, dass dieselben Logikfunktionen wie diejenigen vom Zellentyp C realisiert werden.
  • Im Fall von 36 wird die Spannung von jedem der Steuersignalanschlüsse ctl[1], ctl[2], ctl[3] während der Zeit auf die Energieversorgungsspannung eingestellt, zu welcher ein Logikprozess durchgeführt wird. Jedoch kann, wie es aus 34 verstanden wird, da die Steuersignalanschlüsse durch die Übertragungsgatter getrennt sind, die Spannung irgendeinen Wert annehmen, der ein anderer als die Energieversorgungsspannung ist.
  • 37 zeigt das Beispiel. Das bedeutet, dass 37 das Ergebnis durch eine Schaltungssimulation unter Verwendung des Zellentyps D zeigt, wobei die Spannung von jedem von ctl[1], ctl[2], ctl[3] auf die Erdungsspannung während der Zeit eines Durchführens eines Logikprozesses eingestellt wird. Das bedeutet, dass die Spannungen der Steuersignalanschlüsse ctl[1]~ctl[3] auf die Erdungsspannung eingestellt werden, außer dann, wenn die Initialisierung durchgeführt wird. Es ist gezeigt, dass die Wellenform des in 37 gezeigten Ausgangsanschlusses dieselbe wie die Wellenform des in 36 gezeigten Ausgangsanschlusses ist.
  • Daher kann nicht nur das Verfahren des Ausführungsbeispiels 2-1 verwendet werden, sondern auch das Verfahren des Ausführungsbeispiels 2-2. Gemäß dem Ausführungsbeispiel 2-1 wird logisch 1 als das Element des ersten Spannungsvektors verwendet, wird logisch 0 als das Element des zweiten Spannungsvektors verwendet und werden logisch invertierte Daten der Funktionskonfigurationsdaten des Basis-Initialisierungszustands als der dritte Spannungsvektor verwendet. Andererseits wird gemäß dem Ausführungsbeispiel 2-2 logisch 0 als das Element des ersten Spannungsvektors verwendet und wird logisch 1 als das Element des zweiten Spannungsvektors verwendet.
  • (Ausführungsbeispiel 2-3)
  • 38 zeigt ein Schaltungsstrukturbeispiel in einem Fall, in welchem eine Spannung zum Initialisieren eines Anschlusses eines schwebenden Gates fgm des Hauptinverters und eine jeweilige Spannung zum Initialisieren der Anschlüsse eines schwebenden Gates fgp der Vorinverter unterschiedlich sind. In dem in 38 gezeigten Fall ist eine Hauptinverter-Initialisierungsschaltung 281 zu einem Eingangssignalanschluss anstelle einer Ausgabe des Vorinverters hinzugefügt, was der Fall der 31 ist. Die Hauptinverter-Initialisierungsschaltung 281 enthält ein Übertragungsgatter und einen NMOSFET, die die Spannung des Eingangsanschlusses des Hauptinverters steuern, wenn das schwebende Gate des Hauptinverters initialisiert wird. Der Grund dafür besteht darin, dass die Ausgabe des Vorinverters zur Vorinitialisierung des Anschlusses des schwebenden Gates des Hauptinverters verwendet werden kann, da die Initialisierungsspannung des Anschlusses des schwebenden Gates des Vorinverters eine Inversion der Initialisierungsspannung des Anschlusses des schwebenden Gates des Hauptinverters ist. Daher sind logische Werte der Ausgabe des Vorinverters und die Anschlussspannung des schwebenden Gates dieselben, wenn eine Initialisierung durchgeführt wird. Wenn dieselbe Spannung wie diejenige, die in der Schaltung der 31 verwendet wird, als die Spannung des Eingangssignalanschlusses input[1] und input[2] verwendet wird, wird die oben angegebene zusätzliche Schaltung nötig. Und zwar deshalb, weil die Spannung eine logische Inversion der Spannung des schwebenden Gates des Hauptinverters ist, wenn eine Initialisierung durchgeführt wird. Es kann auf einfache Weise geschätzt werden, dass die zusätzliche Schaltung nicht nur der NMOS-Typ sein kann, wie es in 38 gezeigt ist, sondern auch ein PMOS-Typ.
  • Auf dieselbe Weise, wie es in 31 und 34 gezeigt ist, wird eine Schaltung, die Übertragungsgatter und PMOSFETs hinter den Steuersignalanschlüssen enthält, Zellentyp F genannt und wird eine Schaltung, die keine Übertragungsgatter und PMOSFETs enthält, Zellentyp E genannt. 39 zeigt ein Ergebnis durch eine Schaltungssimulation des Zellentyps E. In 39 zeigt die laterale Achse eine Zeit an und zeigt die vertikale Achse Spannungen jedes Anschlusses an. In diesem Fall werden Anschlüsse des schwebenden Gates zu der Zeit eines Rekonfigurierens der Funktion initialisiert. 39 zeigt, dass die Spannung des Anschlusses des schwebenden Gates fgm des Hauptinverters auf einem "hohen Pegel" ist und die Spannung des Anschlusses des schwebenden Gates fgp des Vorinverters auf einem "niedrigen Pegel" ist. Zusätzlich ist es nötig, die Funktionskonfigurationsdaten für den Zellentyp E kontinuierlich anzulegen. Andererseits werden gemäß einem Ergebnis durch eine Schaltungssimulation des Zellentyps F, wie es in 40 gezeigt ist, dieselben Logikfunktionen durch Eingeben invertierter Daten der Funktionskonfigurationsdaten des Zellentyps E einmal zu der Zeit einer Initialisierung des schwebenden Gates realisiert.
  • Wie es oben angegeben ist, ist das Verfahren der vorliegenden Erfindung nicht nur dann effektiv, wenn dieselben Spannungen zum Initialisieren des Anschlusses des schwebenden Gates des Hauptinverters und der Anschlüsse des schwebenden Gates der Vorinverter verwendet werden, sondern auch dann, wenn unterschiedliche Spannungen verwendet werden. Zusätzlich kann es auf einfache Weise verstanden werden, dass die Schaltung derselben Funktion durch Verwenden des Initialisierungsverfahrens eines Anlegens von logisch 0 an den Anschluss des schwebenden Gates des Hauptinverters und eines Anlegens von logisch 1 an die Anschlüsse des schwebenden Gates der Vorinverter realisiert werden kann, was bedeutet, eines Anlegens von Spannungen, die gegenüber den Spannungen invertiert sind, die bei diesem Ausführungsbeispiel verwendet werden, an die Anschlüsse des schwebenden Gates des Hauptinverters und der Vorinverter.
  • (Ausführungsbeispiel 2-4)
  • 17 zeigt ein Schaltungsstrukturbeispiel gemäß dem Ausführungsbeispiel 2-4. In der Schaltungsstruktur werden nicht nur Spannungen der Steuersignalanschlüsse ctl[1], ctl[2], ctl[3] sondern auch die Spannungen der Eingangssignalanschlüsse input[1] und input[2] als die Funktionskonfigurationsdaten verwendet, wenn die schwebenden Gates der Neuronen-MOS-Inverter initialisiert werden. In diesem Fall ist die Initialisierungsspannung des schwebenden Gates des Hauptinverters unterschiedlich von den Initialisierungsspannungen der schwebenden Gates 312 der Vorinverter. Unterschiedliche Punkte gegenüber der in 31 gezeigten Schaltung bestehen darin, dass der Anschluss des schwebenden Gates fgm des Hauptinverters 310 mit der Energieversorgung über einen PMOSFET 313 verbunden ist, um die Energieversorgung anzuschließen oder zu trennen, und dass die Übertragungsgatter 211 und der NMOSFET 212 hinter dem Ausgangsanschluss eines jeweiligen Vorinverters nicht enthalten sind. Der Grund für ein Ausschließen der Übertragungsgatter 211 und des NMOSFET 212 ist derselbe wie derjenige, der beim Ausführungsbeispiel 2-3 beschrieben ist.
  • Im Folgenden wird das Prinzip des Prinzips der in 41 gezeigten Schaltung beschrieben werden. Wenn das schwebende Gate fgm des Hauptinverters durch die Energieversorgungsschaltung initialisiert wird, wird die Spannung des Anschlusses des schwebenden Gates fgp jedes Vorinverters auf die Erdungsspannung eingestellt. Zu dieser Zeit ist die Ausgabe jedes Vorinverters die Energieversorgungsspannung. Zusätzlich wird zu der Zeit einer Initialisierung von fgm die Energieversorgungsspannung an die Eingangssignalanschlüsse input[1] und input[2] angelegt. Demgemäß kann fgm initialisiert werden, während alle Eingangsanschlüsse (Gateelektroden) des Hauptinverters bei der Energieversorgungsspannung sind. Wenn die Spannung des schwebenden Gates fgm eine Spannung wird, die als die Energieversorgungsspannung angesehen werden kann, wird fgm von der Energieversorgung getrennt, so dass das schwebende Gate zu dem schwebenden Zustand gelangt. Nach einem Beenden einer Initialisierung des schwebenden Gates fgm des Hauptinverters wird eine Initialisierung des schwebenden Gates jedes Vorinverters auf dieselbe Weise wie diejenige durchgeführt, die in 31 gezeigt ist. Zu dieser Zeit wird die Erdungsspannung für die Spannung der Eingangssignalanschlüsse verwendet.
  • Als Nächstes wird die Initialisierung von fgm durch Verwenden einer Vektornotation beschrieben werden, wobei jedes Element des Vektors eine Eingangsanschlussspannung des Hauptinverters ist, welche durch die Energieversorgungsspannung normalisiert ist. In dieser Beschreibung ist die Spannung von fgm auf einen Vektor erweitert, der Elemente der Anzahl der Eingangsanschlüsse des Hauptinverters enthält, wobei alle Elemente denselben Wert wie einen Wert von fgm haben. Daher wird der Vektor vfgm zu der Zeit eine Initialisierung als die folgende Formel 22 dargestellt, wobei E ein Einheitsvektor ist.
  • Figure 00920001
  • Dies entspricht dem zweiten Vektor im Ausführungsbeispiel 2-1.
  • Als Nächstes wird eine Vektornotation Vinit der Eingangsanschlussspannungen des Hauptinverters zu der Zeit einer Initialisierung als die Formel 23 dargestellt.
  • Figure 00920002
  • Bei diesem Ausführungsbeispiel, wie es in 41 gezeigt ist, lasst uns annehmen, dass Anschlüsse, die Eingangsspannungen, die die Spannungen von input[1] und input[2] zeigen bzw. reflektieren bzw. berücksichtigen, direkt an den Hauptinverter anlegen, jeweils als minput[1] und minput[2] dargestellt sind, und dass jede der normalisierten Spannungen als Vminput[1] und Vminput[2] dargestellt werden, und Anschlüsse, die Eingangsspannungen, die die Ausgangsspannungen von preinv[1], preinv[2] und preinv[3] zeigen, direkt an den Hauptinverter anlegen, jeweils als mpreinv[1], mpreinv[2] und mpreinv[3] dargestellt werden. Dieser Vektor entspricht dem dritten Vektor des Ausführungsbeispiels 2-1.
  • Wenn der Hauptinverter einen Logikprozess durchführt, kann dann, wenn eine normalisierte Spannung eines Eingangsanschlusses in Bezug auf das schwebende Gate des Hauptinverters als Vrel dargestellt ist und die aktuelle normalisierte Spannung als Vin dargestellt ist, die Beziehung als die folgende Formel 24 dargestellt werden, wobei Vin dem ersten Vektor des Ausführungsbeispiels 2-1 entspricht. Urel = Vin + Vfgm – Vinit = Vin + E – E = Vin (Formel 24)
  • Gemäß der Formel 24 wird es verstanden, dass derselbe Logikprozess wie derjenige der 31 durch Verwenden derselben Eingangsanschlussspannung wie derjenigen der 31 durchgeführt werden kann. Und zwar deshalb, weil die normalisierte Spannung des Eingangsanschlusses des Hauptinverters in Bezug auf den Anschluss des schwebenden Gates dieselbe wie die normalisierte Spannung ist, die tatsächlich an den Eingangsanschluss angelegt wird. Dieselben Logikfunktionen können in unterschiedlichen Schaltungen durch Kombinieren von Spannungen zur Initialisierung auf geeignete Weise realisiert werden.
  • 42 zeigt ein Schaltungssimulationsergebnis durch Verwenden eines Zellentyps G, wobei es nötig ist, Funktionskonfigurationsdaten kontinuierlich an jeden Vorinverter anzulegen, und 43 zeigt ein Schaltungssimulationsergebnis durch Verwenden eines Zellentyps H, der die Funktionskonfigurationsdaten speichern kann, durch Initialisieren des schwebenden Gates der Vorinverter. Aus den Spannungen der Steueranschlussspannungen und des Ausgangsanschlusses, die in 42 und 43 gezeigt sind, kann es verstanden werden, dass die Funktionskonfigurationsdaten zu der Zeit einer Logikverarbeitung gemäß der vorliegenden Erfindung gespeichert werden.
  • Wie es oben angegeben ist, kann die Schaltung durch Enthalten der Spannung der Eingangsanschlüsse als die Funktionskonfigurationsdaten zu der Zeit einer Initialisierung der Anschlüsse des schwebenden Gates vereinfacht werden. Zusätzlich können dieselben Logikfunktionen durch unterschiedliche Schaltungsstrukturen realisiert werden.
  • Andererseits kann es auf einfache Weise verstanden werden, dass unterschiedliche Logikfunktionen oder Funktionen neben Boolschen Funktionen durch Verwenden von unterschiedlichen Spannungen zur Initialisierung sogar dann realisiert werden können, wenn dieselben Schaltungsstrukturen und dieselben Eingangssignale verwendet werden.
  • (Ausführungsbeispiel 2-5)
  • 44 zeigt eine Schaltung, die wenigstens eine Funktionseinheit enthält, die eine Basiseinheit zum Durchführen eines Funktionsprozesses ist, wobei die Funktionseinheit aus einem oder mehreren Neuronen-MOS-Transistoren gemäß diesem Ausführungsbeispiel besteht. Im Folgenden wird eine Prozedur zum Initialisieren der Anschlüsse des schwebenden Gates der Neuronen-MOS-Transistoren beschrieben werden. Bei diesem Ausführungsbeispiel wird die in 31 des Ausführungsbeispiels 2-1 gezeigte Schaltung als die Funktionseinheit verwendet. Was die in den 31, 34, 38 und 41 gezeigten Schaltungen anbetrifft, wird die Initialisierung der Anschlüsse der schwebenden Gates der drei Vorinverter gleichzeitig durchgeführt. Jedoch wird die Initialisierung nicht notwendigerweise gleichzeitig durchgeführt, und sie kann unabhängig durchgeführt werden. In dem in 44 gezeigten Fall sind drei Funktionseinheiten in der Schaltung enthalten, wobei Hauptinverter und Vorinverter in fünf Blöcke aufgeteilt sind, d. h. einen A-Block, einen B-Block, einen C-Block, einen D-Block und einen D-Block. In jedem Block wird die Initialisierung der Neuronen-MOS-Transistoren gleichzeitig durchgeführt. Ein Aufteilen der Schaltung in Blöcke kann durch eine Anforderung eines Systems beliebig durchgeführt werden, das die Funktionseinheiten enthält. Da die Initialisierung der Neuronen-MOS-Transistoren in der Funktionseinheit unabhängig durchgeführt werden können, können verschiedene Eingabeverfahren für die Funktionskonfigurationsdaten verwendet werden. Was das System mit den Funktionseinheiten anbetrifft, kann eine Steuerschaltung zur Initialisierung vereinfacht werden, so dass eine Steuerung einfach wird und die Schaltung klein wird.
  • (Ausführungsbeispiel 2-6)
  • 45 zeigt eine Schaltung mit Neuronen-MOS-Invertern einer zweistufigen Struktur zur Verarbeitung von zwei Eingangssignalen gemäß dem Ausführungsbeispiel 2-6. Vergleicht man mit der Schaltung der 41, sind Steuersignalanschlüsse ctl[1]~ctl[3] gelöscht, und stattdessen ist ein Schalter, der an einen Anschluss zu der Energieversorgung oder der Erdung anschließt, in jedem Anschluss vorgesehen. Bei diesem Ausführungsbeispiel werden Signale äquivalent zu den Steuersignalen an jedem Vorinverter zu der Zeit einer Initialisierung angelegt. In der in 45 gezeigten Schaltung sind drei Vorinverter als preinv[1], preinv[2], preinv[3], und zwar jeweils, angezeigt, ist der Anschluss des schwebenden Gates fgp[1] von preinv[1] über einen NMOS-Transistor nmosp[1] an die Erdung angeschlossen, ist der Anschluss des schwebenden Gates fpg[2] von preiniv[2] über einen NMOS-Transistor nmosp[2] an die Erdung angeschlossen und ist der Anschluss des schwebenden Gates fgp[3] von preinv[3] über einen NMOS-Transistor nmosp[3] an die Erdung angeschlossen. Zusätzlich sind Anschlüsse entsprechend den Steuersignalanschlüssen von preinv[1], preinv[2], preinv[3] in 41 an die Energieversorgung oder die Erdung jeweils durch switch[1], switch[2], switch[3] in 45 angeschlossen. In dieser Schaltung werden die Anschlüsse des schwebenden Gates fgm, fgp[1], fgp[2] und fgp[3] zu einer Nullten Zeit t0, einer ersten Zeit t1, einer zweiten Zeit t2, einer dritten Zeit t3, und zwar jeweils, initialisiert, wobei bei diesem Ausführungsbeispiel t0 < t1 < t2 < z3 gilt. Bei t0 sind beide der Eingangssignalanschlüsse input[1] und input[2] bei der Energieversorgungsspannung und fgp[1], fgp[2], fgp[3] jeweils über nmosp[1], nmosp[2], nmosp[3] an die Erdung angeschlossen.
  • Bei diesem Ausführungsbeispiel werden Spannungen äquivalent zu den Steuersignalspannungen, die an ctl[1], ctl[2], ctl[3] im Zellentyp H der 41 zur Initialisierung angelegt werden, bezüglich einer Zeitachse durch den Eingangssignalanschluss input[1] zur Initialisierung bei diesem Ausführungsbeispiel entfaltet. 46 zeigt ein weiteres Beispiel bei diesem Ausführungsbeispiel, wobei ein gemeinsamer Steuersignaleingangsanschluss für alle Vorinverter anstelle von switch[1]–switch[3] vorgesehen ist. In dieser in 46 gezeigten Schaltung werden die Vorinverter preinv[1]~preinv[3] durch Anlegen eines folgenden Signals an den swsignal-Anschluss initialisiert. Das Signal wird die Energieversorgungsspannung zu der Zeit eines Anlegens eines Steuersignals an einen NMOSFET, der zu der frühesten Zeit unter NMOSFETs nmosp[1]~nmosp[3] leitet, und wird die Erdungsspannung zu der Zeit eines Anlegens eines Steuersignals an einen NMOSFET, der zu der spätesten Zeit unterbrochen wird, unter nmosp[1]~nmosp[3].
  • Im Folgenden wird eine Initialisierung der schwebenden Gates der Vorinverter unter Bezugnahme auf 45 detailliert beschrieben werden.
  • Durch die Zeit t1 leiten jeder von nmosp[1], nmosp[2] und nmosp[3] und wird jeder von switch[1], switch[2] und switch[3] an die Erdung angeschlossen. Zur Zeit t1 wird eine Spannung, die äquivalent zu der Steuersignalspannung ist, die an preinv[1] beim Zellentyp H der 41 angelegt wird, von input[1] angelegt. Bei diesem Zustand wird nmosp[1] unterbrochen und wird switch[1] von der Erdung getrennt und mit der Energieversorgung verbunden. Gemäß diesem Prozess wird eine Initialisierung von fgp[1] beendet. Als Nächstes leiten von der Zeit t1 bis zu der Zeit t2 nmosp[2] und nmosp[3] und werden switch[2] und switch[3] an die Erdung angeschlossen. Zur Zeit t2 wird eine vorbestimmte Spannung von input[2] auf dieselbe Weise wie bei einer Initialisierung von preinv[1] angelegt. Bei diesem Zustand wird nmosp[2] getrennt und wird switch[2] von der Erdung getrennt und mit der Energieversorgung verbunden. Zur Zeit t3 wird derselbe Prozess für preinv[3] durchgeführt.
  • 47 zeigt ein Schaltungssimulationsergebnis zur Verifizierung des oben angegebenen Schaltungsbetriebs. Aus 47 wird es verstanden, dass dasselbe Ergebnis wie dasjenige, das in 43 gezeigt ist, durch Anlegen von Spannungswellenformen, die in 47 gezeigt sind, an input[1] während der Zeit einer Initialisierung zum Rekonfigurieren einer Funktion erhalten wird, wobei 43 das Simulationsergebnis der Schaltung vom Zellentyp H der 41 zeigt. Bei dieser Schaltungssimulation werden Zeitmultiplexsignale zu input[1] zum Erzeugen einer Logikfunktion eingegeben. Es ist auch möglich, dass Zeitmultiplexsignale zu input[2] zum Erzeugen einer Logikfunktion eingegeben werden. Zusätzlich ist es auch möglich, dass Eingangssignale auf die Eingangssignalanschlüsse input[1] und input[2] aufgeteilt werden, und weiterhin kann jedes der aufgeteilten Signale bezüglich der Zeit getrennt werden. Das bedeutet, dass Signale für eine Funktionskonfigurierung durch ein Trennen bezüglich der Zeit und des Raums eingegeben werden können, die einer Initialisierungszeit des schwebenden Gates und Eingangsanschlüssen entsprechen.
  • Wie es oben angegeben ist, wird es durch Initialisieren des schwebenden Gates jedes Vorinverters unabhängig voneinander möglich, dass Funktionskonfigurationsdaten von den Eingangssignalanschlüssen eingegeben werden, nachdem die Daten bezüglich einer Zeitachse erweitert sind. Durch Verwenden einer integrierten Schaltung, in welcher eine Vielzahl der in 45 gezeigten Schaltungen angeschlossen ist, kann die Anzahl von Steuersignalanschlüssen erniedrigt werden und wird der Bereich zum Realisieren der integrierten Schaltung klein.
  • Verallgemeinert man das Verhalten des Signals, das zum Erzeugen einer Logikfunktion oder einer Funktion neben Boolschen Funktionen zu der Zeit einer Initialisierung des schwebenden Gates des Neuronen-MOS-Transistors bei diesem Ausführungsbeispiel und beim Ausführungsbeispiel 2-4 verwendet wird, kann das Signal bezüglich Zeit und Raum erweitert werden, wobei die Zeit der Initialisierungszeit des schwebenden Gates entspricht und der Raum einer Vielzahl von Eingangsanschlüssen der Neuronen-MOS-Transistoren entspricht.
  • 48A48C zeigen ein Konzept diesbezüglich, dass das Signal bezüglich Zeit und Raum erweitert wird. Wenn n (eine positive ganze Zahl) Signale zum Erzeugen einer Logikfunktion oder einer Funktion neben Boolschen Funktionen erforderlich sind, werden n Eingangsanschlüsse und n getrennte Zeiten, und zwar höchstens, bei der Initialisierungszeit vorbereitet. Die Anschlüsse und/oder die Zeiten können kleiner als n sein, da n Eingangsanschlüsse und n getrennte Zeiten gemäß einem Verfahren einer Signalerweiterung nicht notwendigerweise erforderlich sind.
  • 48A entspricht dem Ausführungsbeispiel 2-4. Das bedeutet, dass bei dem Ausführungsbeispiel 2-4 die schwebenden Gates der drei Vorinverter gleichzeitig initialisiert werden. 48B entspricht dem Ausführungsbeispiel 2-6. Das bedeutet, dass bei dem Ausführungsbeispiel 2-6 das Signal zum Erzeugen von Funktionen zum input[1] eingegeben wird. 48C entspricht einem Verfahren, wobei das Signal zum Erzeugen einer Logikfunktion oder einer Funktion neben Boolschen Funktionen bezüglich Zeit und Raum gestreut wird. Somit kann das Signal zum Erzeugen einer Logikfunktion oder einer Funktion neben Boolschen Funktionen durch verschiedene Verfahren eingegeben werden, so dass eine Flexibilität einer Steuerung verbessert werden kann.
  • (Ausführungsbeispiel 2-7)
  • 49A und 49B zeigen, dass Spannungen nicht nur als zweiwertige Daten gespeichert werden können, sondern auch als kontinuierliche Werte. 49A zeigt eine Schaltung eines Neuronen-MOS-Inverters mit drei Eingangsanschlüssen, wobei der Anschluss des schwebenden Gates flt durch Einstellen des NMOSFET auf einen Kontinuitätszustand mit der Erdung verbunden wird, indem ein Signal in eine Gateelektrode ck des NMOSFET angelegt wird. Die drei Eingangsanschlüsse sind input[1], input[2] und input[3], von welchen jeder mit flt über jeweils eine Kapazität C1, C2 und C3 verbunden ist. flt ist mit dem NMOSFET verbunden, wobei ck die Gateelektrode des NMOSFET ist, ein Ausgangsanschluss des Neuronen-MOS-Inverters "preout" ist und ein Ausgangsanschluss eines Ausgangspuffers "output" ist.
  • 49B ist ein Schaltungsdiagramm, das Kapazitätskomponenten eines Neuronen-MOS-Transistors vom p-Typ und eines Neuronen-MOS-Transistors vom n-Typ zeigt, die den Neuronen-MOS-Inverter der 49A ausbilden, Kapazitätskomponenten des NMOSFET, der flt mit der Erdung verbindet, und ein Schalter entspricht einer Stromquellen-Ersatzschaltung des NMOSFET. Zusätzlich sind Cp1 und Cp3 Gate-Überlagerungskapazitätswerte des Neuronen-MOS-Transistors vom p-Typ, ist Cp2 ein intrinsischer Kapazitätswert zwischen flt und einem Bereich, in welchem ein Kanal ausgebildet ist, sind Cn1 und Cn3 Gate-Überlagerungskapazitätswerte des Neuronen-MOS-Transistors vom n-Typ, ist Cn2 ein intrinsischer Kapazitätswert zwischen flt und einem Bereich, in welchem ein Kanal ausgebildet ist. Weiterhin ist Cnj ein Kapazitätswert zwischen dem Drain des NMOSFET, der flt mit der Erdung verbindet, und dem Substrat (oder der Wanne), ist Cnc der Gate-Überlagerungskapazitätswert. Wenn angenommen wird, dass Spannungen von input[1], input[2] und input[3] jeweils V1, V2 und V3 sind, ist die Spannung von flt Vflt, ist die Energieversorgungsspannung Vdd, ist die Erdungsspannung Vss, ist die Spannung von preout Vpre und ist die Spannung der Gateelektrode ck Vck, kann eine Lademenge Qflt von flt durch die folgende Formel 25 dargestellt werden.
  • Figure 01000001
  • Wenn angenommen wird, dass die Erdungsspannung Vss 0 ist, gilt Vck = Vdd, was bedeutet, dass der NMOSFET leitet, Vflt = Vss = 0, und dass flt durch Verwendung der Erdungsspannung initialisiert wird, wird die Lademenge, die in flt akkumuliert wird, wie folgt erhalten.
  • Zu der Zeit einer Initialisierung leitet der Neuronen-MOS-Transistor vom p-Typ, so dass Vpre = Vdd. Die Lademenge Q(init)flt, die in flt akkumuliert ist, wird durch die folgende Formel 26 dargestellt, wobei die Spannungen der Eingangsanschlüsse input[1], input[2] und input[3] jeweils zu der Zeit einer Initialisierung als V(init)1, V(init)2, V(init)3 dargestellt sind.
  • Figure 01010001
  • Wenn der NMOSFET zu der Erdung getrennt wird, so dass flt in den schwebenden Zustand gelangt, wird die Spannung von flt durch Teilen der elektrischen Ladung bestimmt, die zu der Zeit einer Initialisierung akkumuliert ist, in jede der Kapazitäten. Wenn eine jeweilige Spannung von Eingangsanschlüssen des Neuronen-MOS-Inverters als Vi dargestellt wird, werden folgende Formeln 27, 28 und 29 erhalten, wobei Vss = 0 und Vck = 0 gilt.
  • Figure 01010002
  • Figure 01020001
  • Ob der logische Wert des Neuronen-MOS-Inverters invertiert wird oder nicht, wird demgemäß bestimmt, ob Vflt, das durch die Formel 28 dargestellt ist, eine Schwelle übersteigt oder nicht. Eine physikalische Größe zum Steuern von Vflt ist die Summe aus Produkten der Kapazitätswerte der Eingangsanschlüsse und einer Spannungsdifferenz, wobei die Spannungsdifferenz zwischen einer Spannung von flt zur Zeit einer Initialisierung und der Spannung von flt zu der Zeit eines schwebenden Zustands ist. Das bedeutet, dass die physikalische Basisgröße zum Steuern des Neuronen-MOS-Inverters die elektrische Lademenge ist. Daher hat ein Ändern der Kapazitätswerte der Eingangsanschlüsse denselben Effekt wie denjenigen beim Ändern der Spannungsdifferenz zum Steuern des Neuronen-MOS-Inverters. Zusätzlich wird es aus der Formel 28 verstanden, dass irgendwelche Werte so wie zweiwertige Werte für Spannungen verwendet werden können, die verwendet werden. Weiterhin kann dann, wenn die Summe von Ci viel größer als jede von Cp1, Cn1 und Cnc ist, Vflt wie folgt dargestellt werden.
  • Figure 01020002
  • 50 und 51 zeigen Schaltungssimulationsergebnisse, die zeigen, dass kontinuierliche Spannungswerte gespeichert werden können. Bei diesen Simulationen wird die in 49A gezeigte Schaltung verwendet, wobei die Kapazitätswerte C1, C2, C3 von jedem Eingangsanschluss dieselben sind und der Wert C (C >> Cp2, Cp3) ist, der die in der Formel 30 gezeigte Beziehung erfüllt. Zusätzlich ist der Schwellenwert nahe 1/2 der Energieversorgungsspannung (Vdd).
  • Das in 50 gezeigte Simulationsergebnis wird wie folgt erhalten. Zur Zeit einer Initialisierung wird die Energieversorgungsspannung an ck angelegt, so dass der NMOSFET, der flt mit der Erdung verbindet, leitet, die Spannung von input[1] auf Vdd eingestellt wird und die Spannungen von input[2] und input[3] auf die Erdungsspannung eingestellt werden. Nach der Initialisierung wird die Spannung von input[1] auf der Energieversorgungsspannung gehalten. Als Nächstes wird die Spannung von input[2] auf die Energieversorgungsspannung eingestellt, und zusätzlich wird die Spannung von input[3] auf die Energieversorgungsspannung eingestellt. In diesem Fall ist die Lademenge Q(init)flt zu der Zeit einer Initialisierung C·Vdd. Die Lademenge Qflt zu der Zeit, zu welcher die Spannung von jedem Anschluss Vdd wird, ist 3C·Vdd, und Vflt kann durch die folgende Formel 31 dargestellt werden.
  • Figure 01030001
  • 50 zeigt, dass die Spannung des Ausgangsanschlusses invertiert wird, nachdem Spannungen von allen Eingangsanschlüssen die Energieversorgungsspannung werden. Zusätzlich zeigt 50, dass sich Vflt um einen Spannungswert erhöht, was durch die Differenz einer Lademenge zwischen einer Lademenge zu der Zeit einer Initialisierung und einer Lademenge zu jeder Zeit verursacht wird.
  • Was das Simulationsergebnis der 51 anbetrifft, wird flt durch Anlegen von (5/8)·Vdd an input[1], durch Anlegen von (1/4)·Vdd an input[2] und durch Anlegen von (1/8)·Vdd an input[3] initialisiert. In diesem Fall kann die Lademenge zur Zeit einer Initialisierung durch die folgende Formel 32 dargestellt werden.
  • Figure 01040001
  • Auf dieselbe Weise, wie es in 50 gezeigt ist, wird der Ausgangsanschluss nach der Zeit invertiert, zu welcher die Spannungen von allen Eingangsanschlüssen die Energieversorgungsspannung werden. Zu dieser Zeit kann die Spannung von flt durch die folgende Formel 33 dargestellt werden.
    Figure 01040002
    welche dieselbe wie diejenige der in 50 gezeigten Simulation ist. Demgemäß wird es verstanden, dass die Spannungen der Eingangsanschlüsse als kontinuierliche Werte gespeichert werden können.
  • (Ausführungsbeispiel 2-8)
  • Die in 52 gezeigte Schaltungsstruktur ist gleich derjenigen, die in 31 gezeigt ist. Zwischen den in 52 und in 31 gezeigten Schaltungen sind Kapazitätswerte zwischen jedem Eingangsanschluss und dem schwebenden Gate unterschiedlich. Gemäß der in 52 gezeigten Schaltung kann irgendeine Boolsche Funktion von zwei Eingangsvariablen (zweiwertig) auf einfache Weise durch Speichern von mehrwertigen Werten oder kontinuierlichen Werten in der Schaltung erzeugt werden.
  • Das Prinzip des Betriebs dieser Schaltung ist dasselbe wie dasjenige des in 31 gezeigten Zellentyps B. Das bedeutet, dass Steuersignale temporär an die Steuersignalanschlüsse angelegt werden. Dann werden, nachdem die schwebenden Gates durch einen vorbestimmten Prozess betrieben werden, die Steuersignalanschlüsse mit der Energieversorgung verbunden. Demgemäß werden die Steuersignalwerte durch die Neuronen-MOS-Transistoren gespeichert. Der Unterschied zwischen den in 52 und 31 gezeigten Schaltungen besteht darin, dass mehrwertige Werte oder kontinuierliche Werte für das Steuersignal in der in 52 gezeigten Schaltung verwendet werden.
  • Es gibt folgende Verfahren zum Zuführen der mehrwertigen Spannungen oder der kontinuierlichen Spannungen, die für das Signal verwendet werden, das die Funktionsfähigkeit konfiguriert. Ein Verfahren besteht darin, dass Spannungen durch mehrere Energieversorgungen außerhalb der Schaltung der vorliegenden Erfindung direkt als die mehrwertigen Spannungen zugeführt werden. Ein anderes Verfahren besteht darin, dass durch eine Analogschaltung außerhalb der Schaltung der vorliegenden Erfindung erzeugte Analogspannungen direkt zugeführt werden. Sogar noch ein weiteres Verfahren besteht darin, dass ein in der integrierten Schaltung vorgesehenes Impedanznetzwerk die mehrwertigen Spannungen oder die kontinuierlichen Spannungen erzeugt oder zuführt.
  • Im Folgenden wird das Impedanznetzwerk unter Bezugnahme auf 53 und 54 beschrieben werden.
  • 53 zeigt eine Struktur einer Schaltung, wobei die mehrwertigen Spannungen durch Verwenden einer ersten Spannung (V1) und einer weiteren Einstellspannung (V2) erzeugt werden, die von außerhalb zugeführt werden oder innerhalb erzeugt werden, und zu einem Anschluss ctl zugeführt werden, der einer der Eingangsanschlüsse des Neuronen-MOS-Inverters ist.
  • Wie es in 53 gezeigt ist, ist die Schaltung so konfiguriert, dass der Anschluss A und der Anschluss B über k Widerstandselemente R[1], R[2], R[3], ..., R[k – 1] und R[k] verbunden sind und Anschlüsse jedes Widerstandselements und der Anschluss ctl über Schalter sw[1], sw[2], sw[3], sw[4], ..., sw[k – 1], sw[k] und sw[k + 1] verbunden sind, wobei die erste Spannung an den Anschluss A angelegt wird, die zweite Spannung an den Anschluss B angelegt wird und V1 ≠ V2 erfüllt ist. In der Schaltung ist dann, wenn nur sw[1] verbunden ist, die Spannung des Anschlusses ctl V1, und wenn nur sw[k + 1] verbunden ist, ist die Spannung des Anschlusses ctl V2.
  • Im Folgenden wird der Betrieb dieser Schaltung beschrieben werden.
  • Ein Schalter sw[h] wird aus k – 1 Schaltern von k + 1 Schaltern ausschließlich sw[1] und sw[k + 1] ausgewählt und verbunden, wobei 2 ≦ h ≦ k erfüllt ist. Durch Durchführen dieser Operation wird die Spannung des Anschlusses ctl Vctl, wie es nachfolgend gezeigt ist.
  • Figure 01060001
  • Die Formel 34 zeigt, dass die mehrwertige Spannung erzeugt werden kann, wenn die für die erste Spannung verwendete Spannung und die für die zweite Spannung verwendete Spannung zwei unterschiedliche Spannungen sind, die in der integrierten Schaltung verwendet werden.
  • In der in 53 gezeigten Schaltung werden Widerstandselemente verwendet, die einen konstanten Widerstandswert haben. Stattdessen können auch Widerstandselemente verwendet werden, die einen variablen Widerstandswert haben wie beispielsweise MOS-Transistoren. Zusätzlich können die Schalter durch Übertragungsgatter, Durchlasstransistoren, Multiplexerschalter oder ähnliches ersetzt werden.
  • 54 zeigt eine Struktur einer Schaltung, in welcher die mehrwertigen Spannungen durch Verwenden einer ersten Spannung (V1) und einer weiteren eingestellten Spannung (V2) erzeugt werden, welche von außerhalb zugeführt werden oder innerhalb erzeugt werden, und zu dem Anschluss ctl zugeführt werden, der einer der Eingangsanschlüsse des Neuronen-MOS-Inverters ist. In dieser Schaltung ist V1 > V2 angenommen. Wie es in 54 gezeigt ist, wird eine erste Spannung an den Anschluss A angelegt und wird eine zweite Spannung an den Anschluss B angelegt. Die Schaltung enthält k Kapazitäten C[1], C[2], ..., C[k – 1] und C[k] zwischen dem Anschluss A und dem Anschluss B, wobei die Kapazitäten C[1], C[2], ..., C[k – 1] und C[k] jeweils Schalter sw[1], sw[2], sw[3], sw[4], ..., sw[k – 1] und sw[k] haben, ein Anschluss der Kapazität mit dem Anschluss B verbunden ist und ein weiterer Anschluss mit einem Anschluss eines Schalters swa über den den Schalter verbunden ist. Der Schalter swa ist mit dem Anschluss A oder dem Anschluss ctl, der einer von Eingangsanschlüssen des Neuronen-MOS-Inverters ist, verbunden.
  • Im Folgenden wird der Betrieb dieser Schaltung beschrieben werden.
  • Zuerst wird der Schalter swa mit dem Anschluss A verbunden und werden die Schalter sw[1], sw[2], sw[3], sw[4], ..., sw[k – 1] für ein Kontinuität eingestellt. Nachdem alle Kapazitäten geladen sind, wird der Schalter swa vom Anschluss A getrennt und werden die Schalter sw[1], sw[2], sw[3], sw[4], ..., sw[k – 1] und sw[k] getrennt. Zu dieser Zeit wird nur ein Schalter sw[h] unter den Schaltern auf leitend eingestellt und wird swa mit dem Anschluss ctl verbunden. Unter der Annahme, dass ein Kapazitätswert zwischen dem Anschluss ctl und dem schwebenden Gate des Neuronen-MOS-Inverters Cctl ist und dass eine elektrische Ladung nicht in der Kapazität akkumuliert ist, bevor der Schalter swa mit dem Anschluss ctl verbunden ist, wird die Spannung Vctl des Anschlusses ctl aufgrund der oben angegebenen Operation durch die folgende Formel 35 dargestellt.
  • Figure 01080001
  • Die Formel 35 zeigt, dass die mehrwertigen Spannungen durch Ändern der Kapazitätswerte der k Kapazitäten erzeugt werden können, wenn die erste Spannung und die zweite Spannung unterschiedliche Spannungen sind, die in der integrierten Schaltung verwendet werden, d. h. zweiwertige Spannungen. In der in 54 gezeigten Schaltung kann jede Kapazität als ein Kapazitätsnetzwerk konfiguriert sein, das in Reihe/parallel geschaltete Kapazitäten enthält. Zusätzlich können die Schalter durch Übertragungsgatter oder einen Durchlasstransistor oder ähnliches ersetzt werden.
  • 55 und 56 zeigen Schaltungssimulationsergebnisse, wobei mehrwertige Spannungen in der in 52 gezeigten Schaltung gespeichert sind, so dass Funktionen erzeugt werden. 55 zeigt ein Simulationsergebnis eines Erzeugens symmetrischer Funktionen. 56 zeigt ein Simulationsergebnis eines Erzeugens unsymmetrischer Funktionen durch Ändern von Steuersignalen. In den 55 und 56 zeigt die laterale Achse die Zeit (μsek) an und zeigt die vertikale Achse Spannungen jedes Anschlusses an. Bei der in 56 gezeigten Simulation werden acht Funktionen erzeugt, die auf der Kurve als acht Intervalle gezeigt sind. Die Bedeutung jedes Intervalls ist in 57 gezeigt. Jede Bedeutung ist als Boolscher Ausdruck gezeigt, wobei X1 ein Wert von input[1] ist, X2 ein Wert von input[2] ist, X'1 und X'2 logisch invertierte Werte von X1 und X2 sind.
  • Wie es bei diesem Ausführungsbeispiel gezeigt ist, erhöht sich die Anzahl von Funktionen, die erzeugt werden können, ohne ein Erhöhen der Größe der integrierten Schaltung durch Speichern von mehrwertigen Werten oder kontinuierlichen Werten, die temporär zur Verfügung gestellt werden. Daher wird die Leistungsfähigkeit der integrierten Schaltung auf einfache Weise verbessert.
  • (Ausführungsbeispiel 2-9)
  • 58 zeigt eine Struktur einer Neuronen-MOS-Schaltung gemäß einem Ausführungsbeispiel 2-9. Gemäß dem Ausführungsbeispiel 2-9 kann irgendeine Logikfunktion von zwei Eingangsvariablen durch Anlegen von mehrwertigen Werten oder kontinuierlichen Werten an Eingangssignalanschlüsse und Steuersignalanschlüsse und durch Speichern der Werte, wenn die schwebenden Gates des Hauptinverters und der Vorinverter ..., erzeugt werden.
  • Die in 58 gezeigte Schaltung hat dieselbe Fähigkeit wie diejenige, die in 52 gezeigt ist, jedoch erfordert die in 58 gezeigte Schaltung eine geringere Anzahl von Vorinvertern als diejenige der 52. Daher wird es möglich, Schaltungen der Vorinverter und Schaltungen, die die Vorinverter begleiten, zu erniedrigen. Der Betrieb für die in 58 gezeigte Schaltung ist derselbe wie derjenige für den in 31 gezeigten Zellentyp B, außer für die folgenden Punkte.
  • Bei der Betriebsprozedur für die in 58 gezeigte Schaltung werden vorbestimmte mehrwertige Spannungen an die Eingangssignalanschlüsse input[1] und input[2] angelegt, wenn das schwebende Gate des Hauptinverters initialisiert wird, und werden die mehrwertigen Spannungen an die Steuersignalanschlüsse ctl[1] und ctl[2] angelegt, wenn die schwebenden Gates der Vorinverter initialisiert werden.
  • 59 und 60 zeigen Schaltungssimulationsergebnisse gemäß diesem Ausführungsbeispiel, wobei es verifiziert wird, dass die in 58 gezeigte Schaltung irgendeine Logikfunktion von zweiwertigen zwei Eingangsvariablen erzeugen kann. In 59 und 60 zeigt die laterale Achse die Zeit (μsek) an und zeigt die vertikale Achse Spannungen von jeweiligen Anschlüssen an. 59 zeigt ein Simulationsergebnis zur Verifizierung eines Realisierens symmetrischer Funktionen, wobei die Namen einer Logik gezeigt sind. Bei der in 60 gezeigten Simulation werden acht Funktionen erzeugt, die auf der Kurve als acht Intervalle gezeigt sind. Die Bedeutung jedes Intervalls ist in 61 gezeigt. Jede Bedeutung ist als Boolscher Ausdruck gezeigt, wobei X1 ein Wert von input[1] ist, X2 ein Wert von input[2] ist, X'1 und X'2 logisch invertierte Werte von X1 und X2 sind.
  • Gemäß diesem Ausführungsbeispiel werden eingegebene zweiwertige Werte zu mehrwertigen Werten oder kontinuierlichen Werten durch Verwenden von mehrwertigen Werten oder kontinuierlichen Werten geändert, die zu der Zeit einer Initialisierung gespeichert sind. Somit wird die Anzahl von Transistoren im Vergleich mit dem Ausführungsbeispiel 2-8 weiter erniedrigt.
  • (Ausführungsbeispiel 2-10)
  • Bei einem Ausführungsbeispiel 2-10, das in den 62A62D gezeigt ist, sind mehrwertige Werte oder kontinuierliche Werte durch Verwenden der Zeit dargestellt, während welcher die Spannung angelegt wird, anstelle eines Verwendens von Spannungswerten, wie beim Ausführungsbeispiel 2-8. Das bedeutet, dass zweiwertige Spannungswerte angelegt werden, wobei Zeitbreiten (Spannungspulsbreiten), während welchen Zeitbreiten Spannungen angelegt sind zum Darstellen der mehrwertigen Werte oder kontinuierlichen Werte gesteuert werden.
  • 62A zeigt ein Schaltungsdiagramm äquivalent zu einer Hauptkomponente von einem von Eingangssignalanschlüssen eines Neuronen-MOS-Transistors. Wie es in 62A gezeigt ist, ist die Hauptkomponente eine Reihenschaltung aus einem Widerstand und einer Kapazität bzw. einem Kondensator. Im Fall eines Anlegens der Energieversorgungsspannung Vdd an diese Schaltung werden Übergangscharakteristiken der Kapazitätsspannung V(t) und der Lademenge Q(t), die in der Kapazität akkumuliert ist, durch die folgenden Formeln 36 und 37 dargestellt, wobei R der Wert eines Widerstands ist, C der Wert der Kapazität ist und eine Anfangsspannung V0 = 0 ist.
  • Figure 01110001
  • 62B zeigt die Übergangscharakteristiken der durch die Formel 37 dargestellten Lademenge, wenn die Energieversorgungsspannung Vdd und 0,5 Vdd ist. In 62B zeigt die laterale Achse die Zeit an und zeigt die vertikale Achse Spannungen an, die durch Vdd normalisiert sind. In 62B zeigt die obere Kurve den Fall von Vdd und zeigt die untere Kurve den Fall von 0,5 Vdd. In der in 52 gezeigten Schaltung wird dann, wenn mehrwertige Spannungen an die Steuersignalanschlüsse angelegt werden, die Zeit, die es zum Erreichen des Sättigungspunkts im Fall von 0,5 Vdd in 62B dauert, verwendet.
  • Unter der Annahme, dass teq eine Zeit ist, die es zum Akkumulieren einer Lademenge dauert, indem die Energieversorgungsspannung Vdd verwendet wird, die dieselbe wie die Lademenge bei dem Sättigungspunkt in dem Fall von 0,5 Vdd ist, kann ein Zustand äquivalent zu dem Zustand, in welchem die Ladung unter Verwendung von 0,5 Vdd zu der Sättigungsstelle akkumuliert ist, durch Trennen von der Energieversorgung zu der Zeit teq realisiert werden. Diese Äquivalenz ist in den 62C und 62D gezeigt. Die in 62C gezeigte akkumulierte Lademenge kann dieselbe wie die in 62D gezeigte akkumulierte Lademenge sein, wobei die in 62C gezeigte akkumulierte Lademenge in der Kapazität durch Anlegen von 0,5 Vdd für über eine Periode (t > 1) akkumuliert ist und die in 62D gezeigte akkumulierte Lademenge in der Kapazität durch Anlegen von Vdd für eine vorbestimmte Periode (t = teq) akkumuliert wird.
  • Die 63A und 63B zeigen Neuronen-MOS-Inverter basierend auf der oben angegebenen Idee. 63A zeigt einen der Vorinverter der 52. Bei diesem Vorinverter wird die mehrwertige Spannung an den Anschluss ctl angelegt, wenn das schwebende Gate initialisiert wird. Nach der Initialisierung wird die Verbindung zu der Energieversorgung geschaltet und wird die mehrwertige Spannung im schwebenden Gate gespeichert. Was den in 63B gezeigten Neuronen-MOS-Inverter anbelangt, kann eine Lademenge durch Verwenden des Verfahrens akkumuliert werden, bei welchem die Zeit zum Anlegen der Spannung gesteuert wird, wie es in 62D gezeigt ist. Durch Verwenden der Spannung, die an dem Steuersignalanschluss ctl angelegt wird, wird der Eingangsanschluss ctla mit der Energieversorgung oder der Erdung verbunden oder davon getrennt. Dieser Schaltteil kann als Standard-CMOS-Inverter angesehen werden.
  • 64 zeigt ein Ergebnis durch eine Schaltungssimulation, wobei unterschiedliche Funktionen durch Anlegen von drei mehrwertigen Spannungen an den in 63A gezeigten Steuersignalanschluss ctl zur Initialisierung erzeugt werden. In 64 zeigt die laterale Achse die Zeit (μsek) an und zeigt die vertikale Achse Spannungen jedes Anschlusses an. 0~0,1 μsek ist eine Periode zur Initialisierung für ein Intervall I, und auf dieselbe Weise ist eine Periode zur Initialisierung auch für jedes Intervall von II und III vorgesehen. Wie es in 64 gezeigt ist, werden unterschiedliche Funktionen in den Intervallen I, II und III realisiert.
  • 65 zeigt ein Ergebnis durch eine Schaltungssimulation für den in 63B gezeigten Neuronen-MOS-Inverter. Die laterale Achse und die vertikale Achse sind dieselben wie diejenigen, die in 64 gezeigt sind. Zusätzlich sind die Perioden zur Initialisierung und für die Spannungen von input[1] und input[2] während der Intervalle I, II und III dieselben wie diejenigen, die in 64 gezeigt sind. Bei dieser Simulation wird die Energieversorgungsspannung oder die Erdungsspannung an den Anschluss ctl angelegt, wobei die Perioden zum Anlegen der Erdungsspannung an den Anschluss ctl während Initialisierungsperioden in den Intervallen I, II und III jeweils als w1, w2 und w3 geändert werden. Das bedeutet gemäß einem Beschreiben unter Verwendung von 63B, dass die Perioden zum Anlegen der Energieversorgungsspannung an den Anschluss ctla wie w1, w2 und w3 geändert werden. Als Ergebnis kann eine Ausgangsspannungskennlinie, die dieselbe wie in dem Fall der 64 ist, erhalten werden. Somit wird es, wie es in 65 gezeigt ist, verstanden, dass eine Initialisierung, die äquivalent zu der Initialisierung ist, bei welcher der mehrwertige Wert verwendet wird, durch eine Steuerung der Periode zum Anlegen der Spannung realisiert werden kann, wenn zweiwertige Spannungen verwendet werden. In 63B wird der Durchlasstransistor als Widerstandselement angesehen und wird die Kapazität zwischen dem Anschluss ctla und dem schwebenden Gate als Kapazitätselement angesehen, wobei eine RC-Zeitkonstante des Widerstands und der Kapazität eingestellt wird.
  • 66 zeigt ein Schaltungsdiagramm, wobei die in 63B gezeigte Schaltung verallgemeinert ist, wobei mehrwertige Werte auf einfache Weise durch Steuern der Periode zum Anlegen von Spannungen erzeugt werden.
  • Die in 66 gezeigte Schaltung enthält ein Seriell/Parallel-Netzwerk mit Schaltern aus Widerstandselementen und Kapazitätselementen, welches vor dem Anschluss ctla des Neuronen-MOS-Inverters vorgesehen ist. Ein Schalter swctl kann mit der Energieversorgung oder der Erdung verbunden sein. Der Schalter swctl und das Widerstandselement R1 entsprechen dem PMOSFET und NMOSFET, die an den Anschluss ctla in 63B angeschlossen sind. C1 ist eine Kapazität, die zu der Kapazität zwischen dem Anschluss ctla und dem schwebenden Gate parallel geschaltet ist. C2 ist eine Kapazität, die zu der Kapazität zwischen dem Anschluss ctla und dem schwebenden Gate in Reihe geschaltet ist. Die zwei Kapazitäten können durch Verwenden von sw1 und sw3 angeschlossen oder getrennt werden. R2 ist ein Widerstandselement, das in Reihe zu R1 geschaltet ist und parallel zu C2 geschaltet ist. R2 ist über den Schalter sw2 mit R1 verbunden. Gemäß einem Vorsehen dieses Netzwerks mit diesen Widerstandselementen und diesen Kapazitätselementen wird ein Betrieb einer Zeit zum Akkumulieren elektrischer Ladung in die Kapazität zwischen dem Anschluss ctla und dem schwebenden Gate durch geeignetes Auswählen der Widerstandswerte, der Kapazitätswerte und Schalten der Schalter einfach.
  • 67 zeigt eine Schaltung, die dieselbe Fähigkeit wie die in 52 gezeigte Schaltung hat, wobei irgendeine Logikfunktion von zweiwertigen zwei Eingangsvariablen durch Steuern einer Periode zum Anlegen von zweiwertigen Spannungen an den Steuersignalanschluss realisiert werden kann.
  • 68 zeigt ein Ergebnis durch eine Schaltungssimulation der in 67 gezeigten Schaltung, wobei UND und XOR realisiert werden. In 68 zeigt die laterale Achse die Zeit an und zeigt die vertikale Achse Spannungen von Anschlüssen an. Wie es in 68 gezeigt ist, werden UND und XOR durch Steuern von Perioden zum Anlegen von Spannungen an die Steuersignalanschlüsse ctl[1], ctl[2] und ctl[3] während einer Initialisierung realisiert.
  • Die 69 und 70 sind auch Ergebnisse von Schaltungssimulationen der in 67 gezeigten Schaltung. Die laterale Achse zeigt die Zeit an und die vertikale Achse zeigt Spannungen jedes Anschlusses an. 69 zeigt symmetrische Funktionen und 70 zeigt unsymmetrische Funktionen. 71 zeigt die Bedeutung der unsymmetrischen Funktion unter Verwendung eines Boolschen Ausdrucks entsprechend jedem Intervall von I~VIII, was in 70 gezeigt ist, an, wobei X1 ein Wert von input[1] ist, X2 ein Wert von input[2] ist, X'1 und X'2 logisch invertierte Werte von X1 und X2 sind.
  • Wie es oben angegeben ist, kann gemäß diesem Ausführungsbeispiel die Fähigkeit von mehrwertigen Spannungen oder kontinuierlichen Spannungen durch Steuern der Periode zum Anlegen von Spannungen selbst dann erhalten werden, wenn zweiwertige Spannungen verwendet werden, und irgendeine Logikfunktion von zweiwertigen zwei Eingangsvariablen kann realisiert werden.
  • Wie es oben angegeben ist, wird es gemäß den Ausführungsbeispielen 2-1–2-10 durch Verwenden des Funktionskonfigurationsdaten-Speicherverfahrens möglich, eine Funktionsfähigkeit selbst nach einem Herstellen einer integrierten Schaltung zu konfigurieren. Zusätzlich ist deshalb, weil die integrierte Schaltung zum Durchführen einer Funktionsverarbeitung eine Speicherfähigkeit hat, irgendein Speicherelement oder irgendeine Speicherschaltung nur zum Speichern von Daten nicht nötig, so dass der Bereich zum Konfigurieren einer Schaltung eines änderbaren Logikteils oder eines Funktionsverarbeitungsteils erniedrigt werden kann. Weiterhin wird deshalb, weil die Funktionskonfigurationsdaten durch Steuern der elektrischen Schalter schnell geschrieben oder gelöscht werden, eine dynamische Rekonfiguration von Funktionsfähigkeiten realisiert. Weiterhin kann deshalb, weil nicht nur zweiwertige Werte, sondern auch mehrwertige Werte oder kontinuierliche Werte als die Funktionskonfigurationsdaten gespeichert werden können, eine fortentwickelte programmierbare Hardware realisiert werden.
  • (Ausführungsbeispiel 3-1~3-4)
  • Im Folgenden werden die Ausführungsbeispiele 3-1~3-4 in Bezug auf ein Realisieren symmetrischer Funktionen und Selektorfähigkeiten auf der Basis des bei dem Ausführungsbeispiel 1-1 und von ähnlichen beschriebenen Prinzips beschrieben werden.
  • (Ausführungsbeispiel 3-1)
  • 72A zeigt eine Struktur einer funktionsrekonfigurierbaren integrierten Schaltung 401. 72B ist eine Figur zum Erklären eines Prinzips der integrierten Schaltung 401.
  • Die funktionsrekonfigurierbare integrierte Schaltung 401 hat eine Fähigkeit für eine symmetrische Funktion von k Eingangsvariablen und eine Selektorfähigkeit, die einen Wert aus k + 1 Eingangswerten auswählt.
  • Die funktionsrekonfigurierbare integrierte Schaltung 401 enthält k erste Eingangsanschlüsse input1[1], input1[2], input1[k], k + 1 zweiter Eingangsanschlüsse input2[1], input2[2], ..., input2[k], input2[k + 1] und einen Ausgangssignalanschluss output.
  • Wenn die Schaltung zum Realisieren der Fähigkeit für eine symmetrische Funktion verwendet wird, werden die k ersten Eingangssignalanschlüsse input1[1]~input1[k] als k Eingangsvariablenanschlüsse verwendet und werden die k + 1 zweiten Eingangssignalanschlüsse als Konfigurationsdateneingangsanschlüsse für eine symmetrische Funktion verwendet. Die symmetrische Funktion ist eine Logikfunktion, bei welcher der Funktionswert für irgendeine Permutation von bestimmten Eingangsvariablen unverändert bleibt. Die Konfigurationsdaten für eine symmetrische Funktion sind Daten zum Entscheiden über die symmetrische Funktion, wie beispielsweise UND, ODER oder ähnliches.
  • Wie es bei dem Ausführungsbeispiel 1-1 beschrieben ist, ist dann, wenn die Anzahl von Eingangsvariablenanschlüssen, von welchen jeder logisch "1" hat, m ist, die Eingangszustandszahl m. Die Eingangszustandszahl kann k + 1 ganze Zahlen von 0 bis k annehmen. 72B zeigt Beziehungen zwischen Eingangszustandszahlen und Ausgangssignalzuständen, wobei die laterale Achse die Eingangszustandszahl anzeigt und die vertikale Achse die Ausgangssignalzustände anzeigt.
  • In der in 72A gezeigten integrierten Schaltung sind die Ausgangssignalzustände von jeder Eingangszustandszahl in einer Eins-zu-Eins-Entsprechung mit Werten von k + 1 Eingangssignalanschlüssen. Das bedeutet, dass der Ausgangssignalzustand dem Zustand des Eingangsanschlusses input2[1] entspricht, wenn die Eingangszustandszahl 0 ist, der Ausgangssignalzustand dem Zustand des Eingangsanschlusses input2[2] entspricht, wenn die Eingangszustandszahl 1 ist, der Ausgangssignalzustand dem Zustand des Eingangsanschlusses input2[k + 1] entspricht, wenn die Eingangszustandszahl k ist.
  • Demgemäß kann durch Assoziieren bzw. Verbinden der Eingangszustandszahl mit dem zweiten Eingangssignalanschluss, d. h. mit zwei Werten des Konfigurationsdaten-Eingangsanschlusses irgendeine symmetrische Funktion realisiert werden. Dies ist dasselbe, wie es beim Ausführungsbeispiel 1-1 beschrieben ist.
  • Zusätzlich können dann, wenn die Funktionskonfigurationsdaten einmal eingegeben sind, die Funktionskonfigurationsdaten gespeichert werden.
  • Wenn die integrierte Schaltung 401 zum Realisieren der Selektorfähigkeit verwendet wird, werden die k ersten Eingangsanschlüsse als k Steuereingangsanschlüsse angesehen und werden die k + 1 zweiten Eingangssignalanschlüsse als k + 1 Dateneingangsanschlüsse angesehen.
  • Wie es oben angegeben ist, entspricht deshalb, weil eine Eingangszustandszahl eine Eins-zu-Eins-Entsprechung mit einem zweiten Eingangssignalanschluss ist, ein Auswählen einer Eingangszustandszahl aus den k + 1 unterschiedlichen Eingangszustandszahlen einem Auswählen eines Zustands eines Eingangssignalanschlusses aus den k + 1 zweiten Eingangssignalanschlüssen. Demgemäß kann die Selektorfähigkeit realisiert werden.
  • Die Fähigkeit zum Auswählen von einer Eingabe aus einer Vielzahl von Dateneingaben ist als Multiplexerfähigkeit bekannt. Jedoch benötigt der Multiplexer k Steuereingaben und 2k Dateneingaben, was unterschiedlich von der oben angegebenen Selektorfähigkeit ist, wobei die Eingangszustandszahl zur Auswahl verwendet wird. Die oben angegebene Selektorfähigkeit ist diesbezüglich flexibler, dass dieselben Daten durch eine Vielzahl von Steuereingaben ausgewählt werden können.
  • Wie es oben angegeben ist, kann die funktionsrekonfigurierbare integrierte Schaltung 401 sowohl die Fähigkeit für eine symmetrische Funktion als auch die Selektorfähigkeit haben.
  • (Ausführungsbeispiel 3-2)
  • 73 ist ein Schaltungsdiagramm, das eine funktionsrekonfigurierbare integrierte Schaltung 402 gemäß dem Ausführungsbeispiel 3-2 der vorliegenden Erfindung zeigt. Die funktionsrekonfigurierbare integrierte Schaltung 402 realisiert die Schaltung mit der Fähigkeit für eine symmetrische Funktion und der Selektorfähigkeit, die bei dem Ausführungsbeispiel 3-1 gezeigt ist, durch Verwenden von Schwellenelementen. Die funktionsrekonfigurierbare integrierte Schaltung 402 ist gleich der in 8 bei dem Ausführungsbeispiel 1-1 gezeigten Schaltung und hat dieselbe Fähigkeit. Jedoch ist die Definition des Schwellenwerts bei diesem Ausführungsbeispiel 3-2 unterschiedlich von derjenigen beim Ausführungsbeispiel 1-1. Das bedeutet, dass bei dem Ausführungsbeispiel 1-1 jedes Schwellenelement zwei Schwellenwerte hat, wie es in 8 gezeigt ist, und ein Schwellenwert durch ein Signal vom Steueranschluss ausgewählt wird. Andererseits hat bei dem Ausführungsbeispiel 3-2 jedes Schwellenelement einen Schwellenwert. Der Grund dafür besteht darin, dass der Schwellenwert bei dem Ausführungsbeispiel 3-2 durch th definiert ist, welches
    Figure 01190001
    erfüllt, und andererseits der Schwellenwert beim Ausführungsbeispiel 1-1 durch (th – ξj·Yj) definiet ist, was
    Figure 01200001
    erfüllt, wobei Xi eine Eingangsvariable ist, Yj eine Steuervariable ist und wi, ξj Gewichtungen sind. Daher nimmt der Schwellenwert beim Ausführungsbeispiel 1-1 zwei Werte in Abhängigkeit von dem Wert (1 oder 0) der Steuervariablen Yj an.
  • Bei diesem Ausführungsbeispiel wird eine Beschreibung gemäß dieser Definition des Ausführungsbeispiels 3-2 angegeben werden und wird die Selektorfähigkeit detailliert beschrieben werden.
  • Die funktionsrekonfigurierbare integrierte Schaltung 402 ist eine Vorwärtsregelungsschaltung einer zweistufigen Logikstruktur. Die erste Stufe enthält k + 1 Schwellenelemente TE[1]~TE[k + 1] und die zweite Stufe enthält ein Schwellenelement TE[k + 2].
  • Jede Schwellenlogikschaltung TE der ersten Stufe hat k Eingangsanschlüsse, die mit den ersten Eingangssignalanschlüssen input1[1]~input1[k] verbunden sind, einen Eingangsanschluss, der mit einem der k + 1 zweiten Eingangssignalanschlüsse input2[1]~input2[k + 1] verbunden ist, und einen Ausgangsanschluss.
  • Das Schwellenelement TE[k + 2] der zweiten Stufe enthält k Eingangsanschlüsse, die mit den ersten Eingangssignalanschlüssen verbunden sind, Eingangsanschlüsse, die mit den Ausgangsanschlüssen von k + 1 Schwellenelementen der ersten Stufe verbunden sind, und einen Ausgangsanschluss.
  • Ein Signal, das von dem ersten Eingangssignalanschluss eingegeben wird, wird erstes Signal genannt, und ein Signal, das vom zweiten Eingangssignalanschluss eingegeben wird, wird zweites Signal genannt.
  • Bei diesem Ausführungsbeispiel ist das Schwellenelement TE so definiert, dass das Schwellenelement TE die Summe von Produkten von Eingangssignalwerten (von welchen jeder logisch 1 oder 0 ist) und einer Gewichtung mit einem Schwellenwert vergleicht, und dann, wenn die Summe von Produkten gleich einem Schwellenwert oder größer als dieser ist, das Schwellenelement TE logisch "1" ausgibt, und andererseits dann, wenn die Summe aus Produkten kleiner als ein Schwellenwert ist, das Schwellenelement TE logisch "0" ausgibt. Die Gewichtungen der Eingangsanschlüsse der Schwellenelemente TE[i](1 ≦ i ≦ k + 1) sind dieselbe ganze Zahl (wi) und der Schwellenwert Ti des Schwellenelements TE[i] ist durch die folgende Formel (38) angezeigt. wi·(i – 1) < Ti < wi·i (Formel 38)
  • Demgemäß ist dann, wenn die Eingangszustandszahl m (0 ≦ m ≦ k) ist, die Summe von Produkten von Eingangssignalwerten und der Gewichtung für das Schwellenelement TE[i] wi·m, wenn der Zustand des zweiten Eingangssignalanschlusses j = 0 ist, und ist die Summe von Produkten wi·(m + 1), wenn der Zustand des zweiten Eingangssignalanschlusses j = 1 ist.
  • Wenn die Eingangszustandszahl m ist, können die Schwellenelemente TE = [i] (i ≦ i ≦ k + 1) der ersten Stufe durch eine erste, eine zweite und eine dritte Gruppe klassifiziert werden. Die Schwellenelemente in der ersten Gruppe erfüllen i < m + 1, das Schwellenelement in der zweiten Gruppe erfüllt i = m + 1 und die Schwellenelemente in der dritten Gruppe erfüllen i > m + 1.
  • Da i < m + 1 in der ersten Gruppe erfüllt ist, wird Ti < wi·(m + 1) erfüllt. Die erste Gruppe enthält m Schwellenelemente TE[1]~ZR[m], in jedem von welchen Schwellenelementen die Summe von Produkten von Eingangssignalwerten und der Gewichtung den Schwellenwert übersteigt, was auch immer der zweite Eingangswert ist. Daher ist das Ausgangssignal immer logisch 1.
  • In der dritten Gruppe wird deshalb, weil i > m + 1 erfüllt ist, Ti < wi·m erfüllt. Die dritte Gruppe enthält k – m Schwellenelemente TE[m + 2]~TE[k + 1], in jedem von welchen Schwellenelementen die Summe von Produkten von Eingangssignalwerten und der Gewichtung den Schwellenwert nicht übersteigt, was auch immer der zweite Eingangswert ist. Daher ist das Ausgangssignal immer logisch 0.
  • Andererseits hängt in der zweiten Gruppe deshalb, weil i = m + 1 erfüllt ist, das Ausgangssignal des Schwellenelements TE[i] von dem zweiten Eingangssignalwert ab. Das bedeutet, dass dann, wenn der zweite Eingangssignalwert 0 ist, die Beziehung zwischen dem Schwellenwert und der Summe von Produkten von Eingangssignalwerten und der Gewichtung als die folgende Formel 39 dargestellt wird. Ti > wi·m (j = 0) (Formel 39)
  • Daher ist das Ausgangssignal immer logisch 0.
  • Wenn der zweite Eingangssignalwert 1 ist, wird die Beziehung zwischen dem Schwellenwert und der Summe von Produkten von Eingangssignalwerten und der Gewichtung als die folgende Formel 40 dargestellt. In der Formel 40 zeigt "+1" in "(m + 1)" im zweiten Ausdruck der rechten Seite einen Effekt des zweiten Eingangssignals. Ti < wi·(m + 1) (j = 1) (Formel 40)
  • Daher ist das Ausgangssignal logisch 1.
  • Wie es oben angegeben ist, variiert das Ausgangssignal des Schwellenelements TE[m + 1] der zweiten Gruppe in Abhängigkeit von den zwei unterschiedlichen Zuständen (den Werten j = 0,1 des zweiten Eingangssignals) des zweiten Eingangssignalanschlusses.
  • Zusammengefasst geben dann, wenn die Eingangszustandszahl m ist, m Schwellenelemente der ersten Stufe logisch 1 aus, geben k – m Schwellenelemente der ersten Stufe logisch 0 aus und gibt nur ein Schwellenelement der ersten Stufe logisch 1 oder 0 gemäß dem Wert des zweiten Eingangssignals aus.
  • Eingangsanschlüsse des Schwellenelements TE[k + 2] der zweiten Stufe sind mit k ersten Eingangssignalanschlüssen und den k + 1 Ausgangssignalanschlüssen der ersten Stufe verbunden.
  • Jedes Signal vom ersten Eingangssignalanschluss wird mit einer positiven Gewichtung w(k + 2) multipliziert und jedes Signal vom Ausgangssignalanschluss der ersten Stufe wird mit einer negativen Gewichtung –w(k + 2) multipliziert, so dass die Summe der Signalwerte in dem Schwellenelement TE[k + 2] erhalten wird.
  • Im Folgenden wird angenommen, dass die Logikzustandszahl m ist. Der Betrieb dieser Schaltung 402 wird in Bezug auf das Schwellenelement TE[k + 2] der zweiten Stufe beschrieben werden.
  • Der Eingangswert zu dem Schwellenelement TE[k + 2] kann in einem Beitrag durch die ersten Eingangssignale und einen Beitrag durch die Ausgangssignale der Schwellenelemente TE[1]~TE[k + 1] der ersten Stufe aufgeteilt werden.
  • Die Summe von Produkten der ersten Eingangssignalwerte und der Gewichtung (w(k+2)) ist w(k+2)·m. Die Summe von Produkten der Ausgangssignalwerte von der ersten Stufe und der Gewichtung (–w(k+2)) kann als –w(k+2)·m + Δ dargestellt werden, da m Schwellenelemente logisch 1 ausgeben, k – m Schwellenelemente logisch 0 ausgeben und nur ein Schwellenelement logisch 1 oder 0 ausgibt, wobei Δ das Produkt aus dem Ausgangssignalwert des Schwellenelements TE[m + 1] und der Gewichtung anzeigt. Demgemäß wird die Summe von Produkten der Eingangssignale und der Gewichtung des Schwellenelements TE[k + 2] Δ.
  • Die Summe von Produkten Δ ist gleich dem Produkt des Ausgangssignalwerts des Schwellenelements TE[m + 1] der ersten Stufe und der Gewichtung –w(k+2) des Schwellenelements TE[k + 2] der zweiten Stufe. Daher gibt dann, wenn der zweite Eingangssignalwert, der zu dem Schwellenelement TE[m + 1] eingegeben wird, logisch 1 ist, das Schwellenelement TE[m + 1] logisch 1 aus, so dass Δ –w(k+2) wird. Wenn der zweite Eingangssignalwert, der zu dem Schwellenelement TE[m + 1] eingegeben wird, logisch 0 ist, gibt das Schwellenelement TE[m + 1] logisch 0 aus, so dass Δ 0 wird.
  • Zu dieser Zeit gibt dann, wenn der Schwellenwert T(k+2) des Schwellenelements TE[k + 2] –w(k+2) < T(k+2) < 0 erfüllt, das Schwellenelement TE[k + 2] unterschiedliche Werte in Abhängigkeit von dem zweiten Eingangssignalwert aus, der zu dem Schwellenelement TE[m + 1] eingegeben wird.
  • In der folgenden Beschreibung wird die Definition des Schwellenelements TE so geändert, dass das Schwellenelement TE logisch 0 ausgibt, wenn der Schwellenwert gleich der Summe der Produkte der Eingangssignalwerte und der Gewichtung oder größer als diese ist, und andererseits das Schwellenelement TE logisch 1 ausgibt, wenn der Schwellenwert kleiner als die Summe der Produkte ist.
  • Zusätzlich ist die Gewichtung des Schwellenelements TE[k + 2] für die Ausgangssignale von der ersten Stufe nicht negativ, sondern ist der Absolutwert derselbe, wobei jedes der Ausgangssignale zu dem Schwellenelement TE[k + 2] eingegeben wird, nachdem es logisch invertiert ist.
  • In diesem Fall geben dann, wenn die Eingangszustandszahl m ist, m Schwellenelemente in der ersten Stufe logisch 0 aus, geben k – m Schwellenelemente logisch 1 aus und gibt das Schwellenelement TE[m + 1] logisch 1 oder 0 in Abhängigkeit von dem Zustand des zweiten Eingangssignalanschlusses aus. In Bezug auf das Schwellenelement TE[k + 2] der zweiten Stufe ist die Summe von Produkten für die ersten Eingangssignale w(k+2)·m und ist die Summe von Produkten für die Ausgangssignale von der ersten Stufe w(k+2)·(k – m) + Δ', so dass die Summe von diesen w(k+2)·k + Δ' wird. Δ' ist der Wert für das Ausgangssignal des Schwellenelements TE[m + 1]. Δ' nimmt 0 oder w(k+2) an.
  • Daher kann durch Einstellen von T(k+2) so, dass w(k+2)·k < T(k+2) < w(k+2)·(k + 1) erfüllt ist, der Ausgangszustand von TE[k + 2] durch das zweite Eingangssignal gesteuert werden, das zu dem Schwellenelement TE[m + 1] eingegeben wird.
  • Wie es oben angegeben ist, kann durch Bringen der Eingangszustandszahl in eine Eins-zu-Eins-Entsprechung mit einem zweiten Eingangssignalanschluss, der den Ausgangswert gemäß dem zweiten Eingangssignal variiert bzw. ändert, irgendeine symmetrische Funktion von k Eingangsvariablen erzeugt werden.
  • Im Folgenden wird die Selektorfähigkeit beschrieben werden.
  • Wenn die Eingangszustandszahl der Signale der ersten Eingangssignalanschlüsse als ein Steuereingangswert angesehen wird, ist es möglich, einen Signalzustand des zweiten Eingangssignalanschlusses auszugeben. Dies zeigt eine Schaltung, die unter k + 1 Dateneingaben durch k Steuereingaben auswählt.
  • 74 zeigt eine funktionsrekonfigurierbare integrierte Schaltung 403, die drei erste Eingangssignalanschlüsse, vier zweite Eingangssignalanschlüsse und Schwellenelemente enthält.
  • Die erste Stufe enthält vier Schwellenelemente TE[1], TE[2], TE[3] und TE[4]. Jedes Schwellenelement enthält Eingangsanschlüsse, die Signale von den ersten Eingangssignalanschlüssen input1[1], input1[2] und input1[3] empfangen und enthält Eingangsanschlüsse, die Signale von den zweiten Eingangssignalanschlüssen input2[1], input2[2], input2[3] und input2[4] empfangen.
  • Die zweiten Eingangssignale von den jeweiligen Anschlüssen input2[1], input2[2], input2[3] und input2[4] werden zu dem jeweiligen Schwellenelement TE[1], TE[2], TE[3] und TE[4] eingegeben. Die Gewichtung jedes Schwellenelements wird als derselbe Wert "2" eingestellt.
  • Die Schwellenelemente (T1, T2, T3, T4) des Schwellenelements TE[1]~TE[4] sind (1, 3, 5, 7). Das Schwellenelement TE[5] der zweiten Stufe enthält einen Eingangsanschluss, der Signale von den ersten Eingangssignalanschlüssen empfängt, und Eingangsanschlüsse, die invertierte Signale von den Ausgangssignalanschlüssen der ersten Stufe empfangen. Unter einem anderen Gesichtspunkt kann es derart angesehen werden, dass die Schwellenelemente der ersten Stufe invertierte Ausgangssignale ausgeben. Jedoch werden bei diesem Ausführungsbeispiel die Ausgangssignale invertiert, bevor die Signale in das Schwellenelement der zweiten Stufe eingegeben werden. Die Gewichtung ist 2 und der Schwellenwert ist 7.
  • 75 ist eine Figur zum Erklären des Betriebs der funktionsrekonfigurierbaren integrierten Schaltung 403.
  • In 75 zeigt die laterale Achse die Eingangszustandszahl des ersten Eingangssignalanschlusses an und zeigt die vertikale Achse den Zustand der Ausgangssignale jedes Schwellenelements an. Jedes Schwellenelement der ersten Stufe empfängt weiterhin das Eingangssignal vom zweiten Eingangssignalanschluss. Beispielsweise hat TE[1] einen Eingangsanschluss, der ein Signal von dem Anschluss input2[1] empfängt. In TE[1] übersteigen dann, wenn die Eingangszustandszahl m 0 ist, wenn der Zustand des Anschlusses input2[1] 1 ist, Eingangswerte den Schwellenwert des TE[1], so dass der Ausgangssignalzustand 1 wird. Wenn der Zustand des Anschlusses input2[1] 0 ist, wird der Ausgangssignalzustand 0.
  • Wenn m > 0 gilt, ist der Ausgangssignalzustand immer 1, was auch immer der Wert des Anschlusses input2[1] ist. Was den Ausgangssignalzustand von jedem der Schwellenelemente TE[1], TE[2], TE[3] und TE[4], die in 75 gezeigt sind, anbetrifft, zeigt der schwarze Kreis an, dass der Ausgangssignalzustand bestimmt wird, was auch immer der Zustand des zweiten Eingangssignals ist. Der weiße Kreis zeigt an, dass der Ausgangssignalzustand von dem Zustand des zweiten Eingangssignals abhängt.
  • Im Folgenden wird der Betrieb des Schwellenelements TE[5] der zweiten Stufe unter Annehmen eines Falls beschrieben, bei welchem die Eingangszustandszahl als Beispiel 2 ist.
  • Da die Eingangszustandszahl 2 ist, sind zwei Signale der drei ersten Eingangssignale, die zu dem Schwellenelement TE[5] eingegeben sind, logisch 1 und ist das übrige logisch 0. Wie es in 75 gezeigt ist, sind die Ausgangszustände von TE[1] und TE[2] ungeachtet des zweiten Eingangssignals logisch 1 und sind die Ausgangszustände von TE[4] ungeachtet des zweiten Eingangssignals logisch 0. Der Ausgangszustand des Schwellenelements TE[3] hängt von dem Wert des zweiten Eingangssignals ab, so dass dann, wenn der Wert des zweiten Eingangssignals logisch 1 ist, der Ausgangszustand logisch 1 wird, und andererseits dann, wenn der Wert des zweiten Eingangssignals logisch 0 ist, der Ausgangszustand logisch 0 wird.
  • Jeder der Ausgangszustände der Schwellenelemente der ersten Stufe wird invertiert und mit einer Gewichtung multipliziert, bevor er in das Schwellenelement TE[5] eingegeben wird. Daher wird dann, wenn die Eingangszustandszahl 2 ist, 2 von dem ersten Eingangssignalanschluss eingegeben und wird eine Inversion der Ausgangszustände der Schwellenelemente, außer für TE[3] der ersten Stufe, welches 1 ist, eingegeben, so dass ungeachtet der Werte der zweiten Eingangssignale 3 zum TE[5] eingegeben wird.
  • Wenn der Wert des zweiten Eingangssignals des Schwellenelements TE[3] der ersten Stufe logisch 1 oder 0 ist, ist die Anzahl von logischen 1-en, die zum Schwellenelement TE[5] eingegeben werden, jeweils 3 oder 4. Daher ist die Summe von Produkten von allen Werten der Eingangssignale und der Gewichtung gemäß dem Wert des zweiten Eingangssignals 6 oder 8, das zu dem Schwellenelement TE[3] der ersten Stufe eingegeben wird.
  • Dieser Wert wird mit einem Schwellenwert 7 des Schwellenelements TE[5] verglichen, so dass der Ausgangswert bestimmt wird. Die weißen Kreise bei der Eingangszustandszahl 2 von TE[5] in 75 können erklärt werden, wie es oben angegeben ist.
  • In Fällen, in welchen die Eingangszustandszahl eine andere als 2 ist, kann der Ausgangszustand von TEES] auf dieselbe Weise erklärt werden.
  • Daher entsprechen, wie es in 75 gezeigt ist, die weißen Kreise bei jeder Eingangszustandszahl, die Ausgangszustände eines Schwellenelements der ersten Stufe zeigt, den Ausgangszuständen von TE[5] mit derselben Eingangszustandszahl.
  • Dies zeigt, dass irgendeine symmetrische Funktion gemäß den Zuständen der zweiten Eingangssignalanschlüsse realisiert werden kann.
  • Die 76A und 76B sind Figuren zum Erklären einer UND-Schaltung, die eine der Schaltungen für eine symmetrische Funktion ist. 76A zeigt Beziehungen zwischen den Eingangszustandszahlen und den Ausgangssignalzuständen jedes Schwellenelements. 76B zeigt eine Wahrheitstabelle.
  • Um die UND-Fähigkeit zu realisieren, werden die Zustände der zweiten Eingangssignalanschlüsse input2[1], input2[2], input2[3] und input2[4] jeweils durch 0, 0, 0 und 1 eingestellt. Zu dieser Zeit wird die in 76B gezeigte Wahrheitstabelle erhalten, wobei X1, X2 und X3 die Zustände der ersten Eingangssignalanschlüsse anzeigen und Y den Ausgangssignalzustand von TE[5] anzeigt.
  • Wie es oben angegeben ist, kann gemäß der funktionsrekonfigurierbaren integrierten Schaltung 403 die UND-Fähigkeit realisiert werden. Gleichermaßen können andere symmetrische Funktionen realisiert werden.
  • Wie es in 76A gezeigt ist, entspricht der Ausgangszustand des Schwellenelements TE[5] in jeder der Eingangszustandszahlen m = 0, 1, 2, 3 jeweils dem jeweiligen Zustand der zweiten Eingangsanschlüsse input2[1], input2[2], input2[3], input2[4]. Wenn die Eingangszustandszahlen als Steuereingaben angesehen werden und die Zustände der zweiten Eingangssignalanschlüsse als Dateneingaben angesehen werden, wird es verstanden, dass die Schaltung 403 vier Dateneingangsselektorschaltungen mit drei Steuereingängen realisiert.
  • Wie es oben beschrieben ist, ist die integrierte Schaltung dieses Ausführungsbeispiels sowohl zu einer symmetrischen Funktion als auch zu dem Selektor fähig.
  • Bei dem obigen Ausführungsbeispiel werden zwei unterschiedliche Zustände verwendet. Zusätzlich kann auf einfache Weise eine Schaltungsstruktur entworfen werden, bei welcher 1 und 0 vollständig invertiert sind. Weiterhin sind bei einigen oben angegebenen Beispielen die Gewichtungen für jedes Eingangssignal dieselben. Jedoch deshalb, weil die Gewichtung tatsächlich als physikalische Größe implementiert ist, ist es schwierig, die Gewichtungen streng gleich zu machen. Zusätzlich ist es nicht nötig, die Gewichtungen gleich zu machen. Sie können Werte sein, die bei dem Betriebsprinzip als dieselben angesehen werden.
  • Bei dem obigen Ausführungsbeispiel werden die k Eingangssignale in jedes Schwellenelement einzeln nacheinander eingegeben. Jedoch deshalb, weil die Gewichtungen für jedes erste Eingangssignal dieselben sind, ist es nicht nötig, sie einzeln nacheinander einzugeben. Das bedeutet, dass die Summe der ersten Eingangssignalwerte zuerst berechnet werden kann und dann mit der Gewichtung multipliziert werden kann. Derselbe Effekt kann durch dieses Produkt im Vergleich mit dem Fall erhalten werden, in welchem die Signale einzeln nacheinander eingegeben werden.
  • (Ausführungsbeispiel 3-3)
  • 77 zeigt eine integrierte Schaltung 404 gemäß dem Ausführungsbeispiel 3-3. Die integrierte Schaltung 404 enthält die Fähigkeit für eine symmetrische Funktion von k Eingangsvariablen und die Fähigkeit für einen Selektor, der unter k + 1 Dateneingängen durch k Steuereingänge auswählt. Die integrierte Schaltung 404 enthält die Neuronen-MOS-Transistoren, wie sie bei dem Ausführungsbeispiel 2-1 beschrieben sind, wobei 77 eine detailliertere Struktur zeigt. In diesem Fall gilt k = 3.
  • Im Folgenden werden die Struktur und der Betrieb der integrierten Schaltung 404 und die Bezugnahme auf 77 beschrieben werden. Genau wie beim Ausführungsbeispiel 2-1 sind die Hauptkomponenten Neuronen-MOS-Inverter, die durch die Neuronen-MOS-Transistoren konfiguriert sind. Die integrierte Schaltung 404 ist durch zwei Stufen konfiguriert, wobei die erste Stufe vier Vorinverter 501, 502, 503 und 504 enthält und die zweite Stufe einen Hauptinverter 500 enthält. Zusätzlich enthält die integrierte Schaltung eine Datenspeicherungssteuerschaltung 506 als Steuerschaltung und eine Modenumschaltschaltung 505, Wellenformungsschaltungen 509 und Verzögerungsschaltungen 514 und 515 als periphere Schaltungen.
  • Zuerst werden die Schaltungsstruktur und der Betrieb der vier Vorinverter beschrieben werden. 78 ist ein Schaltungsdiagramm, das den Vorinverter 501 zeigt. Die Struktur und der Betrieb des Vorinverters 501 sind dieselben wie diejenigen von jedem der Vorinverter 502, 503 und 504.
  • Der Vorinverter 501 enthält fünf Eingangsgates. Eingangsanschlüsse terminal[11], terminal[12], terminal[13] des Vorinverters 501 sind jeweils mit den ersten Eingangssignalanschlüssen input[1], input[2], input[3] verbunden, wie es in 77 gezeigt ist, wobei Kapazitätswerte zwischen den Eingangsanschlüssen und dem schwebenden Gate jeweils C11, C12, C13 sind.
  • Der in 78 gezeigte Anschluss input2[xa] ist mit einem der Anschlüsse input2[1a], input2[2a], input2[3a] und input2[4a] verbunden, wobei die Anschlüsse input2[1a], input2[2a], input2[3a] und input2[4a] mit den zweiten Eingangssignalanschlüssen input2[1], input2[2], input2[3] und input2[4] über Übertragungsgatter verbunden sind. Ein zweites Eingangssignal wird zu dem Anschluss input2[xa] eingegeben und der Kapazitätswert zwischen dem Anschluss und dem schwebenden Gate ist C2x.
  • Der in 78 gezeigte Anschluss [0] zeigt einen Anschluss an, der mit der Energieversorgung oder der Erdungsspannung verbunden ist, wie es in 77 gezeigt ist. Der Kapazitätswert zwischen terminal[0] und dem schwebenden Gate ist C0.
  • Der in 78 gezeigte Anschluss ctl3 ist derselbe wie ctl3, der in 73 gezeigt ist, der Signale für ein Steuern einer Kontinuität und einer Unterbrechung des NMOSFET für eine Initialisierung des schwebenden Gates eingibt.
  • Als Beispiel wird angenommen, dass diese Schaltung 501 so entworfen ist, dass die Spannung des Ausgangsanschlusses invertiert wird, wenn die Spannung des schwebenden Gates eine Hälfte der Energieversorgungsspannung Vdd übersteigt, und dass Werte von C11, C12, C13, C2x und C0 dieselben sind. terminal[0] ist mit der Energieversorgung verbunden.
  • Die Spannung des Anschlusses ctl3 wird auf Vdd eingestellt, der Zustand des NMOSFET für eine Initialisierung des schwebenden Gates wird auf Kontinuität eingestellt, die Spannung des schwebenden Gates wird auf die Erdungsspannung eingestellt. In der Zwischenzeit werden die Spannungen von allen Eingangssignalen und die Spannung eines Anschlusses (beispielsweise terminal[0]), der auf eine vorbestimmte Spannung festgelegt bzw. fixiert werden sollte, auf eine Erdungsspannung eingestellt.
  • In diesem Zustand wird die Spannung des Anschlusses ctl3 auf die Erdungsspannung eingestellt und wird der Zustand des NMOSFET auf Unterbrechung eingestellt. Demgemäß wird das schwebende Gate auf eine Spannung eingestellt, und dann wird der Zustand des schwebenden Gates auf den schwebenden Zustand eingestellt. Diese Operation wird Initialisierung des schwebenden Gates genannt. Der Anschluss, der auf eine vorbestimmte Spannung festgelegt werden sollte, wird auf die vorbestimmte Spannung festgelegt, nachdem das schwebende Gate auf einen vollständigen schwebenden Zustand eingestellt ist.
  • Nach einem Durchführen der oben angegebenen Operation können die Zustände des Ausgangsanschlusses des Vorinverters 501 gemäß den Zuständen des ersten Eingangssignals als die folgenden drei Fälle klassifiziert werden. In der folgenden Beschreibung ist logisch 1 als ein Fall definiert, bei welchem die Spannung des Ausgangsanschlusses größer als Vdd/2 ist, und ist logisch 0 als ein Fall definiert, bei welchem die Spannung des Ausgangsanschlusses gleich Vdd/2 oder größer ist.
  • Ein erster Fall der drei Fälle ist ein Fall, bei welchem alle ersten Eingangssignalspannungen die Erdungsspannung sind, welcher Fall ein Fall genannt werden wird, bei welchem die Eingangszustandszahl 0 ist. In diesem Fall ist der Zustand des Ausgangsanschlusses des Vorinverters 501 immer logisch 1, was auch immer die Spannung des Anschlusses input2[xa] ist.
  • In einem zweiten Fall ist nur eine der ersten Eingangssignalspannungen die Energieversorgungsspannung Vdd, welcher Fall ein Fall genannt werden wird, bei welchem die Eingangszustandszahl 1 ist. In diesem Fall hängt die Spannung des schwebenden Gates von der Spannung des Anschlusses input2[xa] ab. Da terminal[0] bereits mit der Energieversorgung verbunden ist, kann dann, wenn die Spannung des Anschlusses input2[xa] die Erdungsspannung ist, die Spannung des schwebenden Gates auf etwa (2/5)·Vdd angenähert werden. Daher wird deshalb, weil die Spannung des schwebenden Gates kleiner als Vdd/2 ist, der Zustand des Ausgangsanschlusses logisch 1, was ein invertierter Wert des logischen Zustands des schwebenden Gates ist. Andererseits kann dann, wenn die Spannung des Anschlusses input2[xa] Vdd ist, die Spannung des schwebenden Gates auf etwa (3/5)·Vdd angenähert werden. Daher ist deshalb, weil die Spannung des schwebenden Gates größer als Vdd/2 ist, der Zustand des Ausgangsanschlusses logisch 0. Somit wird im zweiten Fall ein logisch invertierter Wert des Anschlusses input2[xa] vom Vorinverter 501 ausgegeben.
  • In einem dritten Fall sind mehr als zwei der ersten Eingangssignalspannungen die Energieversorgungsspannung Vdd, welcher Fall ein Fall genannt werden wird, bei welchem die Eingangszustandszahl gleich 2 oder größer ist. In diesem Fall ist die Spannung des schwebenden Gates ungeachtet der Spannung des Anschlusses input2[xa] größer als Vdd/2, so dass der Zustand des Ausgangsanschlusses logisch 0 ist.
  • Durch Einstellen des Kapazitätsverhältnisses zwischen Kapazitäten zwischen Eingangsanschlüssen des Neuronen-MOS-Inverters und des schwebenden Gates kann der oben angegebene zweite Fall bei irgendeiner Eingangszustandszahl zur Verfügung gestellt werden, wobei die Eingangsanschlüsse die ersten Eingangssignalanschlüsse, die zweiten Eingangssignalanschlüsse und den Anschluss, der auf eine vorbestimmte Spannung eingestellt werden sollte, enthalten.
  • Als Nächstes wird beschrieben werden, dass eine Spannung, die eine logisch invertierte Spannung des Anschlusses input2[xa] ist, durch den Anschluss ctl3 gespeichert werden kann, der die Spannung des schwebenden Gates des Vorinverters steuert.
  • Die Spannung des Anschlusses ctl3 wird auf die Energieversorgungsspannung Vdd eingestellt. Dann wird, während die Spannung des schwebenden Gates des Vorinverters 501 auf die Erdungsspannung festgelegt ist, die Spannung des Anschlusses input2[xa] auf Vdd eingestellt und werden Spannungen von allen anderen Eingangsanschlüssen, einschließlich input2[xa] auf die Erdungsspannung eingestellt. Während dieser Zustand bewahrt wird, wird die Spannung des Anschlusses ctl3 auf die Erdungsspannung eingestellt, so dass der Zustand des schwebenden Gates auf den schwebenden Zustand eingestellt wird. Danach wird die Spannung des Anschlusses, die auf die vorbestimmte Spannung festgelegt werden sollte, festgelegt und wird die Spannung des Anschlusses input2[xa] auf Vdd festgelegt.
  • Bei diesem Zustand wird deshalb, weil die elektrische Ladung im schwebenden Gate akkumuliert wurde, wenn nur die Spannung von input2[xa] Vdd war, die Spannung des schwebenden Gates in diesem schwebenden Zustand nicht erhöht, in welchem die Spannung des Anschlusses input2[xa] Vdd ist.
  • Das bedeutet, dass der obige Zustand derselbe wie ein Zustand ist, in welchem die Spannung von input2[xa] auf die Erdungsspannung eingestellt wird, wenn das schwebende Gate mit der Erdungsspannung verbunden wird. Wenn andererseits das schwebenden Gate initialisiert wird, während die Spannung des Anschlusses input2[xa] die Erdungsspannung ist, erhöht sich die Spannung des schwebenden Gates, nachdem der Anschluss input2[xa] im schwebenden Zustand auf Vdd festgelegt ist. Das bedeutet, dass der Zustand von Vdd als die Spannung des Anschlusses input2[xa] bewahrt wird.
  • Demgemäß wird zum Speichern einer erwünschten Spannung die Spannung des Anschlusses input2[xa] auf einen logisch invertierten Wert der erwünschten Spannung eingestellt, wenn das schwebende Gate initialisiert wird. Das bedeutet, dass dann, wenn die erwünschte Spannung Vdd ist, die Spannung des Anschlusses input2[xa] auf die Erdungsspannung eingestellt wird, wenn das schwebende Gate initialisiert wird. Wenn andererseits die erwünschte Spannung die Erdungsspannung ist, wird die Spannung des Anschlusses input2[xa] auf Vdd eingestellt, wenn das schwebende Gate initialisiert wird, und danach die Spannung des Anschlusses input2[xa] auf Vdd festgelegt wird.
  • Wie es oben angegeben ist, kann die Spannung des Anschlusses input2[xa] durch den oben angegebenen Betrieb der Spannung des schwebenden Gates und der Eingangssignale gespeichert werden.
  • Wie es oben angegeben ist, kann der Vorinverter bezüglich einer Eingangszustandszahl einen Wert ausgeben, der eine logische Inversion eines Eingangssignals bei dem Anschluss input2[xa] ist, der der zweite Eingangssignalanschluss ist. Zusätzlich ist es durch Festlegen der Spannung des Anschlusses input2[xa] auf die Energieversorgungsspannung Vdd nach einer Initialisierung des schwebenden Gates möglich, eine logische Inversion des Signals bei dem Anschluss input2[xa] zu speichern.
  • Im Folgenden wird der Betrieb für die Fähigkeit einer symmetrischen Basisfunktion und die Fähigkeit eines Selektors der in 77 gezeigten funktionsrekonfigurierbaren integrierten Schaltung 404 unter Bezugnahme auf 79 geschrieben werden.
  • 79 ist ein Schaltungsdiagramm, das Hauptkomponenten der 77 gezeigten funktionsrekonfigurierbaren integrierten Schaltung 404 zeigt.
  • Wie es in 79 gezeigt ist, ist die Schaltung 404 durch zwei Stufen konfiguriert, wobei die erste Stufe vier Vorinverter 501, 502, 503 und 504 enthält und die zweite Stufe den Hauptinverter 500 enthält. Zusätzlich ist ein Ausgangspuffer 507 mit dem Ausgangsanschluss des Hauptinverters 500 verbunden.
  • In diesem Fall wird angenommen, dass die schwebenden Gates der Vorinverter 501~504 und des Hauptinverters 500 initialisiert werden, während Spannungen von allen Eingangsanschlüssen die Erdungsspannung sind.
  • Zusätzlich ist auf dieselbe Weise wie der zuvor unter Bezugnahme auf 78 beschriebene Vorinverter 501 jeder der vier Vorinverter 501, 502, 503 und 504 so entwickelt, um eine logische Inversion eines Werts von einem der Anschlüsse input2[1], input2[2], input2[3], input2[4] auszugeben, welche jeweils den Eingangszustandszahlen 0, 1, 2 entsprechen.
  • Eine Schwellenspannung des Hauptinverters 500 ist als Vdd/2 entworfen. Zusätzlich sind die Kapazitätswerte zwischen sieben Eingangsanschlüssen und dem schwebenden Gate des Hauptinverters 500 derart entwickelt, dass sie dieselben sind, so dass das Verhältnis von einer Kapazität 1/7 ist, wobei die sieben Eingangsanschlüsse drei erste Eingangssignalanschlüsse und Eingangsanschlüsse, die mit den Ausgangsanschlüssen der Vorinverter 501~504 verbunden sind, enthalten.
  • Wenn die Eingangszustandszahl 0 ist, ist der Wert des Ausgangsanschlusses des Vorinverters 501 eine logische Inversion des Werts des Anschlusses input2[1], wobei jeder der Werte der Ausgangsanschlüsse der anderen Vorinverter 502~504 ungeachtet der Spannung des zweiten Eingangsanschlusses logisch 1 ist. Das bedeutet, dass alle ersten Eingangsanschlüsse logisch 0 sind, drei der Ausgangsanschlüsse der Vorinverter logisch 1 sind und ein übriger der Ausgangsanschlüsse die logische Inversion des Anschlusses input2[1] ist. Daher kann die Spannung des schwebenden Gates als (3/7)·Vdd + (1/7)·V'input2[1] dargestellt werden, wobei V'input2[1] die logisch invertierte Spannung des Anschlusses input2[1] anzeigt. Somit wird dann, wenn die Spannung des Anschlusses input2[1] Vdd ist, die Spannung des schwebenden Gates (3/7)·Vdd. Da diese Spannung kleiner als die Schwellenspannung ist, wird der Ausgang des Hauptinverters 500 logisch 1. Wenn die Spannung des Anschlusses input2[1] 0 ist, ist die Spannung des schwebenden Gates (4/7)·Vdd. Da diese Spannung größer als die Schwellenspannung ist, wird der Ausgang des Hauptinverters 500 logisch 0. Das bedeutet, dass dann, wenn die Eingangszustandszahl 0 ist, der logische Wert des Anschlusses input2[1] von dem Hauptinverter 500 ausgegeben wird.
  • Auf dieselbe Weise wird dann, wenn die Eingangszustandszahl 1 ist, der logische Wert des Anschlusses input2[2] vom Hauptinverter 500 ausgegeben. Wenn die Eingangszustandszahl 2 ist, wird der logische Wert des Anschlusses input2[3] vom Hauptinverter 500 ausgegeben. Wenn die Eingangszustandszahl 3 ist, wird der logische Wert des Anschlusses input2[4] vom Hauptinverter 500 ausgegeben.
  • Diese Beziehung zwischen den Eingangszustandszahlen und den Ausgangswerten ist dieselbe wie diejenige, die in 75 gezeigt ist.
  • Die in 79 gezeigte Schaltung hat die Fähigkeit für einen Selektor, wobei die Anschlüsse input1[1], input1[2] und input1[3] als drei Steuereingangsanschlüsse angesehen werden und die Anschlüsse input2[1]~input2[4] als vier Dateneingänge angesehen werden. Zusätzlich hat die in 79 gezeigte Schaltung eine Fähigkeit für eine symmetrische Funktion von drei Eingängen, wobei jeder Wert der Anschlüsse input2[1]~input2[4] auf einen logischen Wert festgelegt ist.
  • Die in 77 gezeigte Schaltung ist durch die in 79 gezeigte Schaltung und zusätzliche Schaltungen konfiguriert. Die zusätzlichen Schaltungen sind Schaltungen zur Initialisierung von schwebenden Gates, eine Datenspeicherungs-Steuerschaltung 506, eine Modenumschaltschaltung 505, die zwischen einem Mode eines kontinuierlichen Anlegens der zweiten Eingangssignale an die Vorinverter und einem anderem Mode zum Speichern der Signale umschaltet, Wellenformungsschaltungen 509, die das elektrische Signal mit dem logischen Zustand entzerren, und Verzögerungsschaltungen 514.
  • Zuerst wird eine Fähigkeit unter Bezugnahme auf 77 beschrieben werden, bei welcher die Vorinverter die logischen Werte der Anschlüsse input2[1]~input2[4] speichern, die die zweiten Eingangssignalanschlüsse sind.
  • Drei erste Eingangssignale, vier zweite Eingangssignale und drei Steuersignale werden zu dieser Schaltung eingegeben und ein Ausgangssignal wird ausgegeben. Die ersten Eingangssignale werden von den ersten Eingangssignalanschlüssen eingegeben und die zweiten Eingangssignale werden von den zweiten Eingangssignalanschlüssen eingegeben.
  • Der Anschluss ctl3 steuert den Zustand, nämlich Kontinuität oder Unterbrechung, des NMOSFET 511 für eine Initialisierung des schwebenden Gates, der mit dem schwebenden Gate des Hauptinverters 500 verbunden ist. Wenn die Spannung des Anschlusses ctl3 die Energieversorgungsspannung Vdd ist, leitet NMOSFET 511, so dass das schwebende Gate mit der Erdung verbunden wird. Wenn die Spannung des Anschlusses ctl3 die Erdungsspannung ist, wird NMOSFET 511 unterbrochen, sodass das schwebende Gate in den schwebenden Zustand gelangt.
  • Die schwebenden Gates der Vorinverter 501~504 werden durch Signale gesteuert, die von dem Anschluss ctl3 eingegeben sind, welche durch die Verzögerungsschaltung 515 verzögert werden, wobei eine Verzögerungszeit in Bezug auf ein Signal zum Steuern des NMOSFET 511 hinzugefügt wird.
  • Der Anschluss ctl2 steuert eine Verbindung oder eine Trennung zwischen den zweiten Eingangssignalanschlüssen input2[1]~input2[4] und den Anschlüssen input2[1a]~input2[4a], die Eingangssignalanschlüsse für die Vorinverter 501~504 sind. Zusätzlich steuert der Anschluss ctl2 eine Verbindung oder eine Trennung zwischen den Anschlüssen input2[1a]~input2[4a] und der Energieversorgung.
  • Wenn die Spannung des Anschlusses ctl2 die Energieversorgungsspannung Vdd ist, werden die Anschlüsse inpu2[1]~input2[4] jeweils mit den Anschlüssen input2[1a]~input2[4a] verbunden, so dass die Anschlüsse input2[1a]~input2[4a] von der Energieversorgung getrennt werden.
  • Wenn andererseits der Anschluss ctl2 die Erdungsspannung ist, werden die Anschlüsse inpu2[1]~input2[4] von den Anschlüssen input2[1a]~input2[4a] getrennt, so dass die Anschlüsse input2[1a]~input2[4a] mit der Energieversorgung verbunden werden.
  • Der Anschluss ctl1 schaltet zwischen zwei Moden, wobei die zweiten Eingangssignale in den Vorinvertern 501~504 in einem Mode gespeichert werden und die zweiten Eingangssignale genau wie sie sind durchlaufen. Wenn die Spannung des Anschlusses ctl1 die Energieversorgungsspannung Vdd ist, werden Daten gespeichert und durch die Modenumschaltschaltung 505 ausgegeben. Wenn die Spannung des Anschlusses ctl1 die Erdungsspannung ist, werden die zweiten Eingangssignale aufeinander folgend durch die Vorinverter 501~504 durchgelassen.
  • In der obigen Schaltung können durch Festlegen der Spannung von ctl1 auf die Energieversorgungsspannung Vdd und darauf folgendes Einstellen der Spannung des Anschlusses ctl2 auf die Energieversorgungsspannung Vdd die zweiten Eingangssignale zu den Vorinvertern 501~504 eingegeben werden. Zu dieser Zeit wird die Signalausbreitungs-Steuerschaltung 508 hinter den Vorinvertern 501~504 durch die Modenumschaltschaltung 505 unterbrochen, so dass die Ausgangsanschlüsse der Vorinverter 501~504 von der Eingangsseite des Hauptinverters 500 getrennt werden. Zu dieser Zeit sind alle Spannungen der ersten Eingangssignale die Erdungsspannung. Zusätzlich leiten die NMOSFETs 510 zur Initialisierung der Eingangsgates des Hauptinverters, so dass vier Eingangssignale, die andere als die ersten Eingangssignale sind, auf die Erdungsspannung festgelegt werden.
  • Zusätzlich wird die Spannung von einem Anschluss von Eingangsanschlüssen der Vorinverter 501, 502 durch einen Spannungsumschaltschalter 513 die Erdungsspannung. Durch Einstellen der zweiten Eingangssignale auf den Erdungsanschluss werden alle Eingänge der Vorinverter 501~504 die Erdungsspannung. Bei diesem Eingangszustand werden Signale, die in Bezug auf Signale logisch invertiert sind, die zum Erzeugen von Funktionsfähigkeiten nötig sind, als die zweiten Eingangssignale eingegeben, was unter Bezugnahme auf 78 beschrieben wurde.
  • Danach wird die Spannung des Anschlusses ctl3 auf die Erdungsspannung umgeschaltet, so dass die schwebenden Gates des Hauptinverters 500 und der Vorinverter 501~504 von der Erdung getrennt werden. Nachdem die Zustände der schwebenden Gates der schwebende Zustand werden, wird die Spannung des Anschlusses ctl2 auf die Erdungsspannung umgeschaltet.
  • Demgemäß werden die Eingangsanschlüsse input2[1a]~input2[4a] der Vorinverter von den Anschlüssen inpu2[1]~input2[4] getrennt und werden mit der Energieversorgung verbunden.
  • Zusätzlich wird ein Anschluss von Eingangsanschlüssen der Vorinverter 501~504 durch den Spannungsumschaltschalter 513 mit der Energieversorgung verbunden. Weiterhin werden die Vorinverter 501~504 mit den Eingangsanschlüssen des Hauptinverters verbunden.
  • Gemäß der oben angegebenen Operation kann eine Fähigkeit für eine symmetrische Funktion realisiert werden.
  • 80 zeigt die oben angegebene Prozedur. "Initialisierungszeit" in 80 ist eine Zeit, die zum Speichern von Funktionskonfigurationsdaten verwendet wird, wobei Zeiten, zu welchen Spannungen geändert werden, als Zahlen 1, 2, 3 und 4 gemäß der Prozedur angezeigt werden. In der Figur ist "input1" ein allgemeiner Name für die Anschlüsse inpu1[1]~input1[4] und ist "input2" ein allgemeiner Name für die Anschlüsse inpu2[1]~input2[4].
  • Der Ausgangspuffer 507 gibt logische Werte aus, die in den Vorinvertern 501~504 gespeichert werden, entsprechend der Eingangszustandszahl der ersten Eingangssignale, so dass die Funktionsfähigkeit realisiert wird. Unter einem anderen Gesichtspunkt wird diese Fähigkeit als Speicherfähigkeit angesehen, welche logische Werte, die in den Vorinvertern 501~504 gespeichert sind, ausgibt, wobei die Eingangszustandszahl der ersten Eingangssignale als Adresse angesehen wird. Zusätzlich wird die Fähigkeit als eine Selektorfähigkeit angesehen, die logische Werte ausgibt, die in den Vorinvertern 501~504 gespeichert sind.
  • Als Nächstes wird ein Fall unter Bezugnahme auf 77 beschrieben werden, bei welchem logische Werte der Anschlüsse inpu2[1]~input2[4] aufeinander folgend durch die Vorinverter 501~504 durchgelassen werden.
  • Die Spannung des Anschlusses ctl3 wird auf die Energieversorgungsspannung Vdd eingestellt, so dass die schwebenden Gates des Hauptinverters 500 und der Vorinverter 501~504 mit der Erdung verbunden werden, und dass der NMOSFET 510 zur Initialisierung des Eingangsgates des Hauptinverters leitet. Zur selben Zeit werden die Spannungen der Anschlüsse ctl2 und ctl1 auf die Energieversorgungsspannung Vdd eingestellt, so dass die Anschlüsse inpu2[1]~input2[4] mit den Anschlüssen input2[1a]~input2[4a] verbunden werden und dass die Ausgangsanschlüsse der Vorinverter 501~504 von den Eingangsanschlüssen des Hauptinverters 500 getrennt werden.
  • Zu dieser Zeit werden dann, wenn die Spannungen von allen ersten Eingangssignalen auf die Erdungsspannung eingestellt sind, alle Eingangssignale des Hauptinverters 500 die Erdungsspannung. Zusätzlich wird ein Anschluss von Eingangsanschlüssen von jedem der Vorinverter 501~504 durch den Spannungsumschaltschalter 513 mit jedem der Vorinverter 501 und 502 durch den Spannungsumschaltschalter 513 mit der Erdung verbunden. Durch Einstellen der Spannungen der zweiten Eingangssignalanschlüsse inpu2[1]~input2[4] auf die Erdungsspannung werden alle Eingangssignale der Vorinverter 501~504 die Erdungsspannung.
  • Während dieser Zustand bewahrt wird, wird die Spannung des Anschlusse ctl3 auf die Erdungsspannung eingestellt, so dass der NMOSFET 511 zur Initialisierung des schwebenden Gates des Hauptinverters 500 und NMOSFETs 512 zur Initialisierung der Vorinverter 501~504 unterbrochen werden, so dass die schwebenden Gates des Hauptinverters 500 und der Vorinverter 501~504 zu dem schwebenden Zustand geändert werden.
  • Als Nächstes wird die Spannung des Anschlusses ctl1 auf die Erdungsspannung eingestellt, so dass die Ausgangsanschlüsse der Vorinverter 501~504 mit Anschlüssen verbunden werden, die mit dem Hauptinverter 500 verbunden sind, und zwar durch die Signalausbreitungs-Steuerschaltung 508 über die Modenumschaltschaltung 505.
  • Gemäß der oben angegebenen Prozedur kann die Selektorfähigkeit realisiert werden, wobei die drei ersten Eingangssignale als Steuereingaben angesehen werden, vier zweite Eingangssignale als Dateneingaben angesehen werden und eines der vier zweiten Eingangssignale gemäß der Eingangszustandszahl ausgegeben wird.
  • 81 zeigt die Betriebsprozedur. "Initialisierungszeit" in 81 zeigt eine Zeit zur Initialisierung der schwebenden Gates des Hauptinverters 500 und der Vorinverter 501~504 und zum Verbinden der Ausgangsanschlüsse der Vorinverter 501~504 mit Anschlüssen, die mit den Eingangsanschlüssen des Hauptinverters 500 verbunden sind, an, in welchen Zeiten zum Ändern der Spannung als Zahlen 1, 2 und 3 gemäß der Betriebsprozedur gezeigt sind.
  • In der Figur ist "input1" ein allgemeiner Name für die Anschlüsse inpu1[1]~input1[4] und ist "input2" ein allgemeiner Name für die Anschlüsse inpu2[1]~input2[4].
  • "Steuerungseingangssignalspannung" in "Anschlussspannung während eines Durchführens einer Selektorfähigkeit" bedeutet eine Spannungskombination von Signalen der drei ersten Eingangssignalanschlüsse, die Auswahlsignale sind. "Dateneingangssignalanschluss" bedeutet eine Spannungskombination von Signalen der zweiten Eingangssignalanschlüsse, die auszuwählende Datensignale sind.
  • Im Folgenden wird die Verzögerungsschaltung 514 beschrieben werden.
  • Da der Hauptinverter 500 eine Mehrfacheingangsschaltung ist (sieben Eingänge bei diesem Ausführungsbeispiel), gibt es eine Möglichkeit, dass eine Zeit auftreten kann, während welcher Zeit ein Signal an einem Eingangsanschluss in einem Zustand vor einem Zustandsübergang ist, wenn ein anderes Signal an einem anderen Eingangsanschluss in einem Zustand nach einem Zustandsübergang ist, wenn Verzögerungen von jeweiligen Eingangssignalen nicht einheitlich sind. Ausgangssignale während dieser Zeit sind fehlerhafte Signale, die entfernt werden sollten.
  • Die Verzögerungsschaltung 514, die zwischen den ersten Eingangssignalanschlüssen inpu1[1]~input1[3] und Eingangsanschlüssen des Hauptinverters 500 vorgesehen ist, dient zum Erniedrigen von Unterschieden von Verzögerungszeiten zwischen Eingangssignalen auf ein Minimum.
  • Als Nächstes wird die Wellenformungsschaltung 509 beschrieben werden.
  • Die Spannungen der schwebenden Gates des Hauptinverters 500 und der Vorinverter 501~504 hängt von einer Lademenge ab, die ein Produkt aus Kapazitätswerten zwischen Eingangsanschlüssen und den schwebenden Gates und Eingangssignalspannungen ist. Da die Eingangssignalspannung nicht notwendigerweise die Energieversorgungsspannung oder die Erdungsspannung ist, kann daher die Spannung des schwebenden Gates eine mittlere Spannung zwischen der Energieversorgungsspannung und der Erdungsspannung sein und kann die Spannung des Ausgangsanschlusses von jedem des Hauptinverters 500 und der Vorinverter 501~504 die mittlere Spannung werden.
  • Da es erwünscht ist, dass die Eingangssignalspannung des Hauptinverters 500 die Energieversorgungsspannung oder die Erdungsspannung ist, ist die Wellenformungsschaltung 509 hinter den Vorinvertern 501~504 vorgesehen, so dass die Schaltung 509 die mittlere Spannung in die Energieversorgungsspannung oder die Erdungsspannung umwandelt. Zusätzlich ist der Ausgangspuffer mit dem Ausgangsanschluss des Hauptinverters zum Durchführen der oben angegebenen Fähigkeit verbunden.
  • 82 zeigt ein Ergebnis durch eine Schaltungssimulation zum Verifizieren des Betriebs der in 77 gezeigten Schaltung. Bei dieser Simulation wird die Fähigkeit für eine symmetrische Funktion von drei Eingaben realisiert. In 82 zeigt die vertikale Achse die Spannungen von Anschlüssen ctl1~ctl3, den zweiten Eingangssignalanschlüssen inpu2[1]~input2[4], den ersten Eingangssignalanschlüssen inpu1[1]~input1[3] und dem Anschlussoutput. Die laterale Achse zeigt eine Zeit durch μsek an.
  • Bei der oberen lateralen Achse sind logische Namen dargestellt, wobei jede Logik in einem in 82 gezeigten entsprechenden Intervall realisiert wird. Bei einer Startzeit jedes Intervalls, die durch die vertikalen gestrichelten Linien gezeigt ist, werden die schwebenden Gates initialisiert und wird eine zu realisierende Logikfähigkeit gespeichert.
  • Im Intervall 0–1 μsek wird logisch 1 ausgegeben, was auch immer die Kombination der ersten Eingangssignale ist, so dass IDENTITÄT realisiert wird. In den Intervallen 1~2 μsek wird NAND realisiert. Im Intervall 2~3 μsek wird XNOR realisiert. Im Intervall 3~4 μsek wird NOR realisiert. Im Intervall 4~5 μsek wird ODER realisiert. Im Intervall 5~6 μsek wird XODER realisiert. Im Intervall 6~7 μsek wird UND realisiert. Im Intervall 7~8 μsek wird NULL realisiert, wobei logisch 0 ausgegeben wird, was auch immer die Kombination der ersten Eingangssignale ist.
  • 83 zeigt ei weiteres Ergebnis durch eine Schaltungssimulation zum Verifizieren des Betriebs der in 77 gezeigten Schaltung. Bei dieser Simulation wird die Selektorfähigkeit realisiert, wobei ein Signal unter vier zweiten Eingangssignalen gemäß der Eingangszustandszahl ausgewählt wird, wobei die drei ersten Eingangssignale als Steuereingaben angesehen werden.
  • In 83 zeigt die vertikale Achse die Spannungen der Anschlüsse ctl1~ctl3, der zweiten Eingangssignalanschlüsse inpu2[1]~input2[4], der ersten Eingangssignalanschlüsse inpu1[1]~input1[3] und des Anschlusses output. Die laterale Achse zeigt eine Zeit durch μsek an.
  • Bei der oberen lateralen Achse sind Anschlussnamen dargestellt, wobei jedes Signal des Anschlusses in einem in 83 gezeigten entsprechenden Intervall ausgewählt wird. Bei einer Startzeit jedes Intervalls, die durch die vertikalen gestrichelten Linien gezeigt ist, werden die schwebenden Gates initialisiert.
  • Im Intervall 0~1 μsek wird die Spannung von input2[1] ausgewählt. In den Intervallen 1~2 μsek, 2~3 μsek, 3~4 μsek wird input2[2] durch Einstellen eines Anschlusses bei den ersten Eingangssignalanschlüssen auf die Energieversorgungsspannung ausgewählt, um die Eingangszustandszahl auf 1 einzustellen. In den Intervallen 4~5 μsek, 5~6 μsek, 6~7 μsek wird input2[3] durch Einstellen von zwei Anschlüssen bei den ersten Eingangssignalanschlüssen auf die Energieversorgungsspannung ausgewählt, um die Eingangszustandszahl auf 2 einzustellen. Im Intervall 7~8 μsek wird input2[4] durch Einstellen von allen ersten Eingangssignalanschlüssen auf die Energieversorgungsspannung ausgewählt, um die Eingangszustandszahl auf 3 einzustellen. Demgemäß wird es verstanden, dass die in 77 gezeigte integrierte Schaltung 404 die Selektorfähigkeit realisiert.
  • Wie es detailliert beschrieben ist, kann die in 77 gezeigte integrierte Schaltung 404 die symmetrische Funktion rekonfigurieren. Zusätzlich hat diese integrierte Schaltung die Selektorfähigkeit. Wenn die Fähigkeit einer symmetrischen Funktion realisiert wird, kann diese Schaltung 404 als Speicherschaltung angesehen werden, die Schreibdaten und Lesedaten realisiert.
  • (Ausführungsbeispiel 3-4)
  • 84 zeigt eine funktionsrekonfigurierbare integrierte Schaltung 405 gemäß dem Ausführungsbeispiel 3-4. Die funktionsrekonfigurierbare integrierte Schaltung 405 hat sowohl die Fähigkeit einer symmetrischen Funktion von drei Eingangsvariablen als auch die Selektorfähigkeit zum Auswählen von einer unter vier Dateneingaben durch drei Steuereingaben. Zusätzlich kann die funktionsrekonfigurierbare integrierte Schaltung 405 Daten zum Konfigurieren der Fähigkeiten speichern. Das bedeutet, dass die funktionsrekonfigurierbare integrierte Schaltung 405 Daten zum Konfigurieren der symmetrischen Funktion für die Fähigkeit einer symmetrischen Funktion hält und Daten zum Spezifizieren einer auszuwählenden Signalleitung für die Selektorfähigkeit hält.
  • Im Folgenden werden die Struktur und der Betrieb der funktionsrekonfigurierbaren integrierten Schaltung 405 beschrieben werden.
  • 85 zeigt einen Neuronen-MOS-Inverter 601 mit einem Schalter. 86 zeigt einen Vorinverter 701. Die Struktur und der Betrieb von jedem der Vorinverter 702~704 sind dieselben wie diejenigen des Vorinverters 701. 87 zeigt einen Hauptinverter 700.
  • Die in 84 gezeigte funktionsrekonfigurierbare integrierte Schaltung 405 ist eine zweistufige Logikschaltung vom Vorwärtssteuertyp. Der Neuronen-MOS-Inverter mit einem Schalter, der in 85 gezeigt ist, wird in jeder Stufe verwendet. Zusätzlich wird die in 86 gezeigte Schaltung als ein Vorinverter 701 verwendet und wird die in 87 gezeigte Schaltung für einen Hauptinverter 700 verwendet.
  • Die funktionsrekonfigurierbare integrierte Schaltung 405 ist durch zwei Stufen konfiguriert, wobei eine erste Stufe vier Vorinverter 701, 702, 703, 704 enthält und eine zweite Stufe den Hauptinverter 700 enthält. Die Vorinverter und der Hauptinverter sind Hauptkomponenten der funktionsrekonfigurierbaren integrierten Schaltung 405. Zusätzlich enthält die funktionsrekonfigurierbare integrierte Schaltung 405 eine Funktionskonfigurationsdatenspeicherungs-Steuerschaltung 705, eine Auswahldatenspeicherungs-Steuerschaltung 706, eine Modenumschaltschaltung 707, eine Wellenformungsschaltung 709, Verzögerungsschaltungen 714, 715 und ähnliches als Steuerschaltungen und periphere Schaltungen.
  • Das Prinzip des Prinzips und der Struktur der Vorinverter 701~704 und des Inverters 700 sind dieselben wie diejenigen bei der integrierten Schaltung 404. Was die integrierte Schaltung 404 anbetrifft, werden die ersten Eingangssignale direkt zu jedem der Vorinverter 501~504 und des Hauptinverters 500 eingegeben. Andererseits werden, was die integrierte Schaltung 405 anbetrifft, sie über die Auswahldatenspeicherungs-Steuerschaltung 706 eingegeben. Somit sind für den in 86 gezeigten Vorinverter 701, der dieselbe Struktur wie diejenige der in 78 gezeigten Schaltung hat, Anschlussnamen, die unterschiedlich von denjenigen in 78 sind, der Klarheit halber zugeteilt.
  • Die Anschlüsse inpu1[1a]~input1[3a] im in 86 gezeigten Vorinverter 701 sind jeweils mit den ersten Eingangssignalanschlüssen inpu1[1]~input1[3] über die Auswahldatenspeicherungs-Steuerschaltung 706 verbunden. Die Signalwerte von inpu1[1a]~input1[3a] werden die Signalwerte von inpu1[1]~input1[3] oder die Energieversorgungsspannung.
  • Der Anschluss input2[xa] ist ein allgemeiner Name der Anschlüsse input2[1a]~input2[4a]. "Anschluss" bzw. "terminal", was in 86 gezeigt ist, ist ein Anschluss, von welchem Anschluss ein Signal zum Steuern eines Schwellenwerts des Vorinverters in Bezug auf einen Eingangssignalwert eingegeben wird. Der Anschluss ist mit der Energieversorgung oder der Erdung verbunden.
  • Als Nächstes werden vier Moden der integrierten Schaltung 405 und die Steuerverfahren beschrieben werden, welche die Schaltung 405 von der Schaltung 404 unterscheiden.
  • In einem ersten Mode bei den vier Moden der integrierten Schaltung 405 werden Daten zum Konfigurieren einer Fähigkeit einer symmetrischen Funktion nicht gespeichert, so dass die Daten kontinuierlich eingegeben werden sollten. In einem zweiten Mode werden die Daten gespeichert. In einem dritten Mode wird eine Adresse eines Signals, das ausgewählt werden sollte, kontinuierlich bei der Selektorfähigkeit eingegeben. In einem vierten Mode wird die Adresse gespeichert.
  • 88 zeigt eine Prozedur zum Realisieren des ersten Modes in der integrierten Schaltung 405. In 88 bedeutet "Initialisierungszeit" eine Zeit für eine Vorbehandlung zum Durchführen einer Funktionsverarbeitung. "1, 2, 3" zeigen eine Zeitserie der Prozedur an. "input1" ist ein allgemeiner Name der Anschlüsse inpu1[1]~input1[3] und "input2" ist ein allgemeiner Name der Anschlüsse inpu2[1]~input2[4].
  • In einem ersten Intervall in der Vorbehandlungszeit werden die Anschlüsse ctl1~ctl4 auf die Energieversorgungsspannung Vdd eingestellt und werden die Spannungen der Anschlüsse input1 und input2 auf die Erdungsspannung eingestellt. Demgemäß werden in diesem Intervall die Anschlüsse inpu2[1]~input2[4] mit jeweils den Anschlüssen input2[1a]~input2[4a] durch die Funktionskonfigurationsdatenspeicherungs-Steuerschaltung 705 verbunden, werden die Anschlüsse inpu1[1]~input1[3] jeweils mit den Anschlüssen inpu1[1a]~input1[3a] durch die Auswahldatenspeicherungs-Steuerschaltung 706 verbunden, werden die Ausgangsanschlüsse der Vorinverter 701~704 von den Eingangsanschlüssen des Hauptinverters 700 durch die Signalausbreitungs-Steuerschaltung 708 getrennt. Die schwebenden Gates der Vorinverter 701~704 und des Hauptinverters 700 werden mit der Erdung verbunden. Die Spannungen von Anschlüssen inpu1[1]~input1[3] und inpu2[1]~input2[4] werden die Erdungsspannung und die NMOSFETs 710 zur Initialisierung der Eingangsgates leiten. Daher sind die Eingangssignale der Vorinverter 701~704 und des Hauptinverters 700 bei der Erdungsspannung.
  • In einem zweiten Intervall in der Initialisierungszeit werden durch Ändern der Spannung des Anschlusses ctl4 auf die Erdungsspannung der NMOSFET 711 zum Initialisieren des schwebenden Gates des Hauptinverters 700 und die NMOSFETs 712 zum Initialisierung der schwebenden Gates der Vorinverter 701~704 unterbrochen. Gemäß dieser Operation werden die Vorinverter 701~704 und der Hauptinverter 700 initialisiert, während die Spannung von jedem Eingangsanschluss die Erdungsspannung ist.
  • In einem dritten Intervall werden dann, wenn die Spannung des Anschlusses ctl1 zu der Erdungsspannung geändert wird, die Ausgangsanschlüsse der Vorinverter 701~704 mit den Eingangsanschlüssen des Hauptinverters 700 durch die Signalausbreitungs-Steuerschaltung 708 verbunden. Zusätzlich leitet PMOSFET in dem Spannungsumschaltschalter 713, so dass der Anschluss "terminal" in den Vorinvertern 701 und 702 zu der Energieversorgungsspannung wird.
  • In diesem Zustand kann die Fähigkeit einer symmetrischen Funktion durch Einstellen der Spannungen der Anschlüsse inpu2[1]~input2[4] auf Vconf realisiert werden, was eine Spannungskombination ist, die Funktionskonfigurationsdaten darstellen, und durch Eingeben von Signalen Vsig, welche verarbeitet werden, zu den Anschlüssen inpu1[1]~input1[3].
  • In 88 zeigt eine durchgezogene Linie mit einem rechten Pfeil an, dass Vdd andauert, und zeigt eine gestrichelte Linie mit einem rechten Pfeil an, dass eine Spannung von 0 andauert.
  • Als Nächstes wird eine Prozedur zum Realisieren des zweiten Modes beschrieben werden, wobei die symmetrischen Funktionskonfigurationsdaten gespeichert werden. 89 zeigt die Prozedur. Die Bedeutungen von Symbolen in 89 sind dieselben wie diejenigen in 88.
  • Im ersten Intervall sind die Spannungen des Anschlusses ctl1~ctl4 Vdd, ist die Spannung des Anschlusses input1 die Erdungsspannung und ist die Spannung von input2 eine logisch invertierte Spannung von th Funktionskonfigurationsdaten. Der Unterschied zwischen dem zweiten Mode und dem ersten Mode besteht nur bezüglich der Spannungen des Anschlusses input2.
  • Im zweiten Intervall werden dann, wenn die Spannung des Anschlusses ctl4 auf die Erdungsspannung eingestellt wird, der NMOSFET 711 zur Initialisierung des schwebenden Gates des Hauptinverters 700 und die NMOSFETs 712 zur Initialisierung der schwebenden Gates der Vorinverter 701~704 unterbrochen.
  • Gemäß dieser Operation wird der Hauptinverter 700 initialisiert, wenn die Spannungen aller Eingangssignale die Erdungsspannung sind, und werden die Vorinverter 701~704 initialisiert, wenn die Spannung der Eingangssignale außer für den Anschluss input2 die Erdungsspannung sind und die Spannungen von input2 logisch invertierte Spannungen der Funktionskonfigurationsdaten sind.
  • Im dritten Intervall werden dann, wenn der Anschluss ctl2 auf die Erdungsspannung eingestellt wird, die Anschlüsse inpu2[1]~input2[4] von den Anschlüssen input2[1a]~input2[4a] getrennt und werden die Anschlüsse input2[1a]~input2[4a] mit der Energieversorgungsspannung durch die Funktionskonfigurationsdatenspeicherungs-Steuerschaltung 705 verbunden.
  • Zusätzlich werden die Ausgangsanschlüsse der Vorinverter und die Eingangsanschlüsse des Hauptinverters 700 durch die Signalausbreitungs-Steuerschaltung 708 verbunden. Bei dieser Operation wird deshalb, weil der Anschluss input2 nicht mit den Vorinvertern 701~704 verbunden ist, der Ausgangs der integrierten Schaltung 405 durch den Anschluss input2 nicht beeinflusst. In 89 zeigt eine laterale kurze Linie in "Anschlussspannung während einer Funktionsverarbeitung" an, dass input2 irgendeinen Wert annehmen kann.
  • In diesem Zustand kann durch Anlegen von Signalen Vsig, um verarbeitet zu werden, an die Anschlüsse inpu1[1]~input1[3] (input1) die Fähigkeit einer symmetrischen Funktion realisiert werden. Sie ist dieselbe wie der Fall der integrierten Schaltung 404 (Ausführungsbeispiel 3-3), das irgendeine Fähigkeit einer symmetrischen Funktion durch Verbinden des Anschlusses input2 mit der Energieversorgungsspannung nach einem Anlegen der logisch invertierten Spannung der Funktionskonfigurationsdaten an den Anschluss input2 und einem Initialisierung der schwebenden Gates realisiert werden kann.
  • 90 zeigt eine Prozedur zum Realisieren des dritten Modes, welcher die Selektorfähigkeit realisiert, wobei die Adresse eines ausgewählten Signals nicht gespeichert wird, so dass das Signal, das durch die Adresse ausgewählt wird, nur während eines Anlegens der Adresse ausgegeben wird. Die Bedeutungen von Symbolen in 90 sind dieselben wie diejenigen in 88.
  • Im dritten Mode ist der in der Initialisierungszeit durchgeführte Betrieb nahezu derselbe wie derjenige des ersten Modes. Der Unterschied besteht darin, dass bei dem dritten Mode eine Spannungskombination Vsel von Adressensignalen von auszuwählenden Daten zu den Anschlüssen inpu1[1]~input1[3] eingegeben wird und eine Spannungskombination von auszuwählenden Daten zu den Anschlüssen inpu2[1]~input2[4] eingegeben wird, wenn die Selektorfähigkeit durchgeführt wird.
  • Die oben angegebenen ersten, zweiten und dritten Moden können auch durch die integrierte Schaltung 404 durchgeführt werden.
  • 91 zeigt eine Prozedur des vierten Modes, der durch die integrierte Schaltung 404 nicht realisiert werden kann. Im vierten Mode wird die Adresse von auszuwählenden Daten bei der Selektorfähigkeit gespeichert.
  • Im ersten Intervall werden die Spannungen der Anschlüsse ctl1~ctl4 auf die Energieversorgungsspannung eingestellt, werden logisch invertierte Spannungen von Adressensignalen von auszuwählenden Daten zu dem Anschluss input1 eingegeben und wird die Spannung des Anschlusses input2 auf die Erdungsspannung eingestellt. Als Beispiel sind die logisch invertierten Spannungen von Adressensignalen von auszuwählenden Daten eine Spannungskombination (0, 0, Vdd) in einem Fall, in welchem die Spannungen der Anschlüsse inpu1[1]~input1[3] (Vdd, Vdd, 0) sind, so dass der Anschluss input2[3] in der integrierten Schaltung 405 ausgewählt wird, welche durch die in 90 gezeigte Prozedur initialisiert wird.
  • Im zweiten Intervall werden durch Einstellen der Spannung des Anschlusses ctl4 auf die Erdungsspannung der NMOSFET 711 und die NMOSFETs 712 unterbrochen.
  • Im dritten Intervall werden dann, wenn die Spannung des Anschlusses ctl3 auf die Erdungsspannung eingestellt wird, die Anschlüsse inpu1[1]~input1[3] von den Anschlüssen inpu1[1a]~input1[3a] getrennt und werden die Anschlüsse inpu1[1a]~input1[3a] mit der Energieversorgung verbunden.
  • Im vierten Intervall werden deshalb, weil die Anschlüsse inpu1[1]~input1[3] von den Eingangsanschlüssen der Vorinverter 701~704 und des Hauptinverters 700 getrennt werden, sie mit der Erdung verbunden. Diese Operation ist nicht notwendigerweise erforderlich und die Schaltung wird nicht beeinflusst, welche Spannungen auch immer angelegt werden.
  • Im fünften Intervall werden dann, wenn die Spannung des Anschlusses ctl1 auf die Erdungsspannung eingestellt wird, die Ausgangsanschlüsse der Vorinverter 701~704 mit den Eingangsanschlüssen des Hauptinverters 700 durch die Signalausbreitungs-Steuerschaltung 708 verbunden, leitet der PMOSFET des Spannungsumschaltschalters 730, so dass einer von Eingangsanschlüssen mit der Energieversorgung in jedem der Vorinverter 701 und 702 verbunden wird. In diesem Zustand kann die Selektorfähigkeit durchgeführt werden. Auszuwählende Daten entsprechen logisch invertierten Spannungen von Adressen, die im Voraus gespeichert sind.
  • In 91 zeigt die laterale kurze Linie in "Spannung während eines Durchführens einer Selektorfähigkeit" für input1 an, dass die Spannungen von Anschlüssen input1 inpu1[1]~input1[3] irgendeinen Wert annehmen können.
  • Die vier Moden können durch die oben angegebenen Prozeduren durchgeführt werden.
  • Die 8891 zeigen Ergebnisse von Schaltungssimulationen der integrierten Schaltung 405.
  • 92 zeigt den ersten Mode, in welchem die Fähigkeit einer symmetrischen Funktion von drei Eingaben in der integrierten Schaltung 405 realisiert wird. Die vertikale Achse zeigt die Spannungen der Anschlüsse ctl1~ctl4, der ersten Eingangssignalanschlüsse inpu1[1]~input1[3], der zweiten Eingangssignalanschlüsse inpu2[1]~input2[4] und des Anschlusses output an. Die laterale Achse zeigt eine Zeit durch μsek an. Bei der oberen lateralen Achse sind logische Namen entsprechend Zeitintervallen angezeigt. In 92 wird bei einer Startzeit jedes Intervalls, welche durch die vertikalen gestrichelten Linien gezeigt ist, eine Vorbehandlung, wie beispielsweise eine Initialisierung der schwebenden Gates, für einen in dem Zeitintervall durchzuführenden Prozess durchgeführt.
  • In 92 kann verifiziert werden, dass die Spannungen der Anschlüsse ctl1~ctl4 dieselben wie diejenigen sind, die in 88 gezeigt sind.
  • In jedem der Zeitintervalle entsprechen die Spannungen der zweiten Eingangssignalanschlüsse inpu2[1]~input2[4] symmetrischen Funktionskonfigurationsdaten und halten die Anschlüsse inpu2[1]~input2[4] dieselbe Spannung während eines Durchführens einer Funktionsverarbeitung.
  • Im Zeitintervall 0~1 μsek gibt die integrierte Schaltung 405 logisch 1 aus, was auch immer die Spannungskombination der ersten Eingangssignalanschlüsse inpu1[1]~input1[3] ist, was bedeutet, dass IDENTITÄT realisiert wird.
  • NAND wird im Zeitintervall 1~2 μsek realisiert, XNOR wird im Zeitintervall 2~3 μsek realisiert, NOR wird im Zeitintervall 3~4 μsek realisiert, ODER wird im Zeitintervall 4~5 μsek realisiert, XOR wird im Zeitintervall 5~6 μsek realisiert, UND wird im Zeitintervall 6~7 μsek realisiert. Im Zeitintervall 7~8 μsek wird NULL realisiert, wobei logisch 0 ausgegeben wird, was auch immer die Spannungskombination der ersten Eingangssignale ist.
  • 93 zeigt den zweiten Mode. Im zweiten Mode wird die Fähigkeit einer symmetrischen Funktion von drei Eingaben durch Eingeben von logisch invertierten Daten der symmetrischen Funktionskonfigurationsdaten in die zweiten Eingangssignalanschlüsse inpu2[1]~input2[4] realisiert. Die Bedeutungen der vertikalen und lateralen Achsen sind dieselben wie diejenigen in 92.
  • In 93 wird bei einer Startzeit jedes Intervalls, welche durch die vertikalen gestrichelten Linien gezeigt ist, eine Vorbehandlung, wie beispielsweise eine Initialisierung der schwebenden Gates, für einen im Zeitintervall durchzuführenden Prozess durchgeführt. In 93 kann es verifiziert werden, dass die Spannungen der Anschlüsse ctl1~ctl4 dieselben wie diejenigen sind, die in 89 gezeigt sind.
  • In 93 werden im Vergleich mit dem Fall, der in 92 gezeigt ist, logisch invertierte Spannungen der Spannungen, die während eines Durchführens der Fähigkeit einer symmetrischen Funktion in 92 angelegt werden, während jeder Initialisierungszeit eingegeben.
  • Das bedeutet, dass beispielsweise dann, wenn XNOR im Zeitintervall 2 μsek~3 μsek realisiert wird, wenn die symmetrischen Funktionskonfigurationsdaten nicht gespeichert werden, wie es in 92 gezeigt ist, die Spannung des Anschlusses input2[1] Vdd wird, die Spannung des Anschlusses input2[2] 0 wird, die Spannung des Anschlusses input2[3] Vdd wird und die Spannung des Anschlusses input2[4] 0 wird. Wenn andererseits die symmetrischen Funktionskonfigurationsdaten gespeichert werden, wie es in 93 gezeigt ist, wird die Spannung des Anschlusses input2[1] auf 0 eingestellt, wird die Spannung des Anschlusses input2[2] auf Vdd eingestellt, wird die Spannung des Anschlusses input2[3] auf 0 eingestellt und wird die Spannung des Anschlusses input2[4] auf Vdd eingestellt, und zwar während der Initialisierungszeit.
  • IDENTITÄT wird im Zeitintervall 0~1 μsek realisiert, NAND wird im Zeitintervall 1~2 μsek realisiert, XNOR wird im Zeitintervall 2~3 μsek realisiert, NOR wird im Zeitintervall 3~4 μsek realisiert, ODER wird im Zeitintervall 4~5 μsek realisiert, XOR wird im Zeitintervall 5~6 μsek realisiert, UND wird im Zeitintervall 6~7 μsek realisiert. Im Zeitintervall 7~8 μsek wird NULL realisiert, wobei logisch 0 ausgegeben wird, was auch immer die Spannungskombination der ersten Eingangssignale ist. Demgemäß werden die symmetrischen Funktionen von drei Eingaben realisiert.
  • 94 zeigt den dritten Mode. Im dritten Mode wird die Selektorfähigkeit von drei Eingaben in der integrierten Schaltung 405 realisiert, wobei ein Signal unter vier zweiten Eingangssignalen durch Verwenden von drei ersten Eingangssignalen als Steuereingangssignale ausgewählt wird. Die vertikale Achse zeigt die Spannungen der Anschlüsse ctl1~ctl4, der ersten Eingangssignalanschlüsse inpu1[1]~input1[3], der zweiten Eingangssignalanschlüsse inpu2[1]~input2[4] und des Anschlusses output an. Die laterale Achse zeigt eine Zeit durch μsek an. Bei der oberen lateralen Achse sind Anschlussnamen entsprechend ausgewählter Signale angezeigt. In 94 wird bei einer Startzeit jedes Intervalls, welche durch die vertikalen gestrichelten Linien gezeigt ist, eine Vorbehandlung einschließlich einer Initialisierung des schwebenden Gates durchgeführt. In 94 kann es verifiziert werden, dass in 90 gezeigte Spannungen in jeder der Initialisierungszeit und der Zeit zum Durchführen der Selektorfähigkeit zugeteilt werden.
  • Im Zeitintervall 0~1 μsek wird die Spannung des Anschlusses input2[1] durch Einstellen aller Spannungen der Anschlüsse inpu1[1]~input1[3] auf die Erdungsspannung während eines Durchführens der Selektorfähigkeit ausgewählt. In jedem der Zeitintervalle 1~2 μsek, 2~3 μsek, 3~4 μsek wird die Spannung des Anschlusses input2[2] durch Einstellen einer Spannung von einem anderen Anschluss bei den Anschlüssen inpu1[1]~input1[3] auf die Energieversorgungsspannung ausgewählt, so dass die Eingangszustandszahl 1 wird. In jedem der Zeitintervalle 4~5 μsek, 5~6 μsek, 6~7 μsek wird der Anschluss input2[3] durch Einstellen der Spannungen von zwei Anschlüssen bei den Anschlüssen inpu1[1]~input1[3] auf die Energieversorgungsspannung ausgewählt, so dass die Eingangszustandszahl 2 wird. In den Zeitintervallen 7~8 μsek wird der Anschluss input2[4] durch Einstellen der Spannungen von allen Anschlüssen inpu1[1]~input1[3] auf die Energieversorgungsspannung ausgewählt, so dass die Eingangszustandszahl 3 wird.
  • Wie es in 94 gezeigt ist, ist die Spannung des ausgewählten Anschlusses dieselbe wie die Ausgangsspannung.
  • 95 zeigt den vierten Mode. Im vierten Mode wird die Selektorfähigkeit in der integrierten Schaltung 405 realisiert, wobei ein Signal unter vier zweiten Eingangssignalen durch Anlegen logisch invertierter Daten von Adressendaten in drei erste Eingangssignalanschlüsse inpu1[1]~input1[3] temporär ausgewählt wird. Die vertikale Achse und die laterale Achse in 95 zeigen dieselbe Bedeutung wie diejenige in 94. In 95 wird bei einer Startzeit jedes Intervalls, die durch die vertikalen gestrichelten Linien gezeigt ist, eine Vorbehandlung einschließlich einer Initialisierung der schwebenden Gates durchgeführt. In 95 kann es verifiziert werden, dass in 91 gezeigte Spannungen in jeder der Initialisierungszeit und der Zeit zum Durchführen der Selektorfähigkeit zugeteilt werden.
  • Wenn mit 94 verglichen wird, werden logisch invertierte Spannungen von Spannungen, die während eines Durchführens der Selektorfähigkeit in 94 angelegt werden, während jeder der Initialisierungszeit in 95 angelegt.
  • Das bedeutet, dass beispielsweise dann, wenn ein Signal des Anschlusses input2[2] im Zeitintervall 1 μsek~2 μsek ausgewählt wird, wenn die Adressendaten nicht gespeichert werden, wie es in 94 gezeigt ist, die Spannung des Anschlusses input1[1] Vdd wird, die Spannung des Anschlusses input1[2] 0 wird, die Spannung des Anschlusses input1[3] 0 wird. Wenn andererseits die Adressendaten gespeichert werden, wie es in 95 gezeigt ist, wird die Spannung des Anschlusses input1[1] auf 0 eingestellt, wird die Spannung des Anschlusses input1[2] auf Vdd eingestellt, wird die Spannung des Anschlusses input1[3] auf Vdd eingestellt, und zwar während der Initialisierungszeit.
  • Im Zeitintervall 0~1 μsek wird die Spannung des Anschlusses input2[1] durch Einstellen aller Spannungen der Anschlüsse inpu1[1]~input1[3] auf Vdd während eines Durchführens der Initialisierungszeit ausgewählt. In jedem der Zeitintervalle 1~2 μsek, 2~3 μsek, 3~4 μsek wird die Spannung des Anschlusses input2[2] durch Einstellen einer Spannung eines anderen Anschlusses bei den Anschlüssen inpu1[1]~input1[3] auf die Erdungsspannung in jeder Initialisierungszeit ausgewählt. In jedem der Zeitintervalle 4~5 μsek, 5~6 μsek, 6~7 μsek wird der Anschluss input2[3] durch Einstellen der Spannungen von zwei Anschlüssen bei den Anschlüssen inpu1[1]~input1[3] auf die Erdungsspannung in jeder Initialisierungszeit ausgewählt. Im Zeitintervall 7~8 μsek wird der Anschluss input2[4] durch Einstellen der Spannungen von allen Anschlüssen inpu1[1]~input1[3] auf die Erdungsspannung ausgewählt.
  • Wie es in 95 gezeigt ist, wird es deshalb, weil die Spannung des ausgewählten Anschlusses dieselbe wie die Ausgangsspannung ist, verifiziert, dass die Selektorfähigkeit realisiert wird.
  • Wie es oben angegeben ist, kann die funktionsrekonfigurierbare integrierte Schaltung 405 die symmetrische Funktion selbst rekonfigurieren, nachdem sie hergestellt ist. Zusätzlich hat die integrierte Schaltung 405 die Selektorfähigkeit. Wenn die Fähigkeit einer symmetrischen Funktion realisiert wird, kann die integrierte Schaltung 405 zwischen dem ersten Mode und dem zweiten Mode auswählen, wobei die Funktionskonfigurationsdaten im ersten Mode nicht gespeichert werden und sie im zweiten Mode gespeichert werden. Wenn die Selektorfähigkeit realisiert wird, kann die integrierte Schaltung 405 zwischen dem dritten Mode und dem vierten Mode auswählen, wobei die Adressendaten im dritten Mode nicht gespeichert werden und sie im vierten Mode gespeichert werden. Somit kann die integrierte Schaltung 405 unter den vier Moden auswählen.
  • Das bedeutet, dass die integrierte Schaltung 405 nur symmetrische Funktionen, die für eine Logikschaltung verwendet werden, von Boolschen Funktionen extrahieren kann. Zusätzlich hat die integrierte Schaltung 405 eine Selektorfähigkeit sowie die Fähigkeit für eine symmetrische Funktion und kann zwischen den zwei Fähigkeiten umschalten, wie es nötig ist.
  • Weiterhin können die Funktionskonfigurationsdaten ohne Verwenden eines spezifischen Speicherelements oder einer spezifischen Speicherschaltung gespeichert werden, so dass die integrierten Schaltungen 401~405 der vorliegenden Erfindung als Speicherschaltung verwendet werden können. Das bedeutet, dass die integrierten Schaltungen der vorliegenden Erfindung eine Fähigkeit haben, bei welcher drei Fähigkeiten einer Fähigkeit für eine symmetrische Funktion, der Selektorfähigkeit und der Speicherfähigkeit integriert sind.
  • Gemäß der integrierten Schaltung der vorliegenden Erfindung kann durch Annehmen der Struktur, die nur symmetrische Funktionen, die oft in einer Logik-LSI verwendet werden, von Boolschen Funktionen extrahieren kann, der Bereich im Vergleich mit einer herkömmlichen funktionsrekonfigurierbaren Vorrichtung erniedrigt werden kann, die alle Boolschen Funktionen realisiert. Zusätzlich hat die integrierte Schaltung der vorliegenden Erfindung die Selektorfähigkeit.
  • Weiterhin realisiert die integrierte Schaltung der vorliegenden Erfindung die Fähigkeit einer symmetrischen Funktion und die Selektorfähigkeit durch Annehmen von Schwellenelementen, die eine Schwellenlogik für die zweistufige Logik vom Vorwärtssteuerungstyp realisieren.
  • Die integrierte Schaltung ist durch zwei Stufen konfiguriert, wobei eine erste Stufe in den zwei Stufen k + 1 Schwellenelemente enthält und eine zweite Stufe in den zwei Stufen ein Schwellenelement enthält. Jedes der k + 1 Schwellenelemente in der ersten Stufe enthält Anschlüsse zum Eingeben der k ersten Eingangssignale und einen Anschluss zum Eingeben von zweiten Eingangssignalen. Jeder Schwellenwert der Schwellenelemente ist anders. Ein Schwellenwert wird als Wert zwischen der Summe von Produkten einer Gewichtung und von Eingangssignalwerten bezüglich einer Eingangszustandszahl und der Summe von Produkten einer Gewichtung und von Eingangssignalwerten bezüglich der nächsten Eingangszustandszahl eingestellt.
  • Das Schwellenelement der zweiten Stufe empfängt die ersten Eingangssignale und umgekehrte Signale von von den Schwellenelementen der ersten Stufe ausgegebenen Signalen. Durch Einstellen der Gewichtung und des Schwellenwerts des Schwellenelements in der zweiten Stufe wird es möglich, dass ein Ausgangswert oder ein umgekehrter Ausgangswert des Schwellenelement entsprechend einer aktuellen Eingangszustandszahl in der ersten Stufe ausgegeben wird. Die oben angegebene Fähigkeit kann durch Anlegen von erwünschten zweiten Eingangssignalen realisiert werden, so dass erwünschte Schwellenwerte der Schwellenelemente in der ersten Stufe eingestellt werden können.
  • Das Schwellenelement ist durch eine Inverterschaltung mit Neuronen-MOS-Transistoren oder denjenigen mit Schaltern konfiguriert. Der Neuronen-MOS-Transistor mit einem Schalter enthält einen Halbleiterbereich eines ersten Leitfähigkeitstyps, der auf einem Substrat angeordnet ist, einen Sourcebereich und einen Drainbereich eines zweiten Leitfähigkeitstyps, die auf dem Halbleiterbereich vorgesehen sind, eine Elektrode eines schwebenden Gates, die als in einem elektrisch schwebenden Zustand angesehen werden kann, welche auf einem Bereich vorgesehen ist, der den Sourcebereich und den Drainbereich über einen Isolierfilm trennt, wobei die Elektrode des schwebenden Gates mit einem Anschluss mit einer vorbestimmten Spannung über den Schalter angeschlossen ist, wobei eine Vielzahl von Eingangsgate-Elektroden über einen Isolierfilm kapazitiv mit der Elektrode des schwebenden Gates gekoppelt ist.
  • Die Inverterschaltung wird Neuronen-MOS-Inverter genannt. k + 1 Neuronen-MOS-Inverter werden in der ersten Stufe als die Schwellenelemente verwendet. Bei dieser Struktur werden Gewichtungen für die ersten Eingangssignale derart eingestellt, dass sie zueinander dieselben sind, und werden die Schwellenwerte der Neuronen-MOS-Inverter derart eingestellt, dass sie zueinander unterschiedlich sind. Zusätzlich wird der Schwellenwert in einem Neuronen-MOS-Inverter so eingestellt, dass er zwischen einer ersten Eingangszustandszahl und einer zweiten Eingangszustandszahl wird, wobei 1 zu der ersten Eingangszustandszahl addiert wird, so dass nur dann, wenn ein logischer Wert eines zweiten Eingangssignals entsprechend dem Neuronen-MOS-Inverter 1 ist, Eingangswerte den Schwellenwert übersteigen.
  • Der Neuronen-MOS-Inverter in der zweiten Stufe empfängt k erste Eingangssignale und k + 1 Ausgangssignale der Neuronen-MOS-Inverter der ersten Stufe. Die Gewichtungen für diese Eingangssignale werden derart eingestellt, dass sie gleich zueinander sind. Weiterhin wird ein Schwellenwert des Neuronen-MOS-Inverters in der zweiten Stufe derart eingestellt, dass er k ist. Demgemäß kann die oben angegebene Fähigkeit realisiert werden. Weiterhin kann durch Betreiben der Spannung des schwebenden Gates durch den Schalter des Neuronen-MOS-Inverters eine Speicherfähigkeit, die eine symmetrische Funktion speichert, realisiert werden.
  • Wie es oben angegeben ist, ist die funktionsrekonfigurierbare integrierte Schaltung gemäß den Ausführungsbeispielen der vorliegenden Erfindung von der herkömmlichen rekonfigurierbaren Vorrichtung unterschiedlich. Die funktionsrekonfigurierbare integrierte Schaltung hat die Fähigkeit für eine symmetrische Funktion und die Selektorfähigkeit. Zusätzlich kann durch Verwenden des Neuronen-MOS-Inverters eine hohe Fähigkeit einschließlich einer Speicherfähigkeit mit niedrigen Bereichskosten realisiert werden.
  • Bei dem Ausführungsbeispiel ist der oben angegebene "elektrisch schwebende Zustand" nicht nur als unterbrochener Zustand definiert, sondern auch als Zustand hoher Impedanz.
  • Gemäß der vorliegenden Erfindung, die bei den Ausführungsbeispielen 3-1~3-4 beschrieben ist, kann eine Logikfähigkeit nach einem Herstellen rekonfiguriert werden. Zusätzlich hat eine integrierte Schaltung die Fähigkeit für eine symmetrische Funktion und eine Selektorfähigkeit ohne ein spezifisches Speicherelement oder eine spezifische Speicherschaltung zum Speichern von Funktionskonfigurationsdaten. Somit kann eine hohe Leistungsfähigkeit durch Verwenden eines kleinen Bereichs in der integrierten Schaltung erhalten werden.
  • (Ausführungsbeispiele 4-1~4-6)
  • Im Folgenden werden Beispiele von Schaltungen mit Neuronen-MOS-Schaltungen, die irgendeine Logikfunktion basierend auf den bei dem Ausführungsbeispiel 1-1 beschriebenen Prinzip konfigurieren können, bei den Ausführungsbeispielen 4-1~4-6 detailliert beschrieben werden.
  • (Aufbau)
  • Um irgendeine Logikfunktion mit k Eingangsvariablen unter Verwendung von zweiwertigen Daten als Eingangsvariablen in einer integrierten Schaltung zu konfigurieren, sollten folgende zwei Bedingungen erfüllt werden.
    • Bedingung (1): mit unterschiedlichen 2k Zuständen entsprechend Kombinationen von Eingangsvariablen;
    • Bedingung (2): mit einem Mechanismus zum Einstellen von einem von zweiwertigen Werten für jeden der 2k Zustände.
  • Wenn die oben angegebene integrierte Schaltung durch die in 6 gezeigten herkömmlichen Neuronen-MOS-Inverter konfiguriert wird, ist die Bedingung (1), dass "die Spannung Vfg des schwebenden Gates 2k Werte annimmt, wie es im zugehörigen Stand der Technik beschrieben ist, d. h., dass Σki=1 xi·wi unterschiedliche 2k Werte annimmt".
  • Die Ausführungsbeispiele 4-1~4-6 der vorliegenden Erfindung sind wie folgt, so dass die oben angegebenen zwei Bedingungen erfüllt sind.
  • Beim Ausführungsbeispiel 4-1 der vorliegenden Erfindung werden ein Verfahren zum Entscheiden über Elemente wi eines Gewichtungsvektors w, der die Bedingung (1) erfüllt, wobei ki=1 xi·wi unterschiedliche 2k Werte annimmt", und Neuronen-MOS-Inverter zum Realisieren des Verfahrens beschrieben werden. Zusätzlich wird bei dem Ausführungsbeispiel 4-1 eine Führung zum Erhalten der 2k Zustände an den Neuronen-MOS-Invertern offenbart werden.
  • Beim Ausführungsbeispiel 4-2 wird ein konkretes und formuliertes Beispiel des Verfahrens zum Entscheiden über Elemente wi eines Gewichtungsvektors w beim Ausführungsbeispiel 4-1 offenbart werden. Zusätzlich wird beim Ausführungsbeispiel 4-2 eine Führung zum Erhalten der 2k Zustände an den Neuronen-MOS-Invertern offenbart werden.
  • Beim Ausführungsbeispiel 4-3 wird ein Verfahren zum Entscheiden über Elemente wi beschrieben werden, so dass der Wert einer folgenden Formel 41 kleiner wird, wenn es eine Grenze bezüglich der minimalen Anzahl von Elementen wi des Gewichtungsvektors w beim Ausführungsbeispiel 4-1 gibt. Σki=1 wi (Formel 41)
  • Wenn die Neuronen-MOS-Inverter implementiert werden, entspricht der Wert der Formel 41 dem Bereich der Eingangsgate-Elektrode. Daher ist das Verfahren des Ausführungsbeispiels 4-3 äquivalent zu einem Verfahren zum Realisieren der Neuronen-MOS-Inverter mit niedrigen Bereichskosten.
  • Beim Ausführungsbeispiel 4-4 wird ein Verfahren zum Erfüllen der Bedingung (1) und zum Realisieren des Mechanismus der Bedingung (2) bei einem der Ausführungsbeispiele 4-1~4-3 beschrieben, wobei das Verfahren zum Entwickeln einer symmetrischen Funktion, offenbart in Kazuo Aoyama, Hiroshi Sawada, Akira Nagoya, Kazuo Nakajima "A Design Method for a Circuit with Neuron MOS Transistors Realizing Any Symmetric Funktion", Technical Report of IEICE, CPSY99-90, S. 49–51, 1999-11, für ein Verfahren zum Entwickeln einer Schaltung erweitert wird, die irgendeine Logikfunktion realisieren kann. Zusätzlich wird beim Ausführungsbeispiel 4-4 eine Struktur einer durch Verwenden des Verfahrens entwickelten integrierten Schaltung beschrieben. Das bedeutet, dass beim Ausführungsbeispiel 4-4 ein Entwicklungsverfahren und eine Schaltungsstruktur einer integrierten Schaltung, die irgendeine Logikfunktion rekonfigurieren kann, beschrieben werden.
  • Beim Ausführungsbeispiel 4-5 werden ein Entwicklungsverfahren und eine Schaltungsstruktur einer integrierten Schaltung beschrieben werden, wobei die integrierte Schaltung den Mechanismus bezüglich der Bedingung (2) durch Signale steuert, die durch mehrwertige Werte dargestellt sind. Gemäß dem Ausführungsbeispiel 4-5 kann dieselbe Fähigkeit wie beim Ausführungsbeispiel 4-4 mit niedrigeren Bereichskosten erhalten werden.
  • Beim Ausführungsbeispiel 4-5 sind die mehrwertigen Werte durch eine Vielzahl von zweiwertigen Signalen in einer physikalischen Schicht dargestellt. Andererseits wird beim Ausführungsbeispiel 4-6 eine Schaltungsstruktur gezeigt werden, wobei mehrere Signale in einer physikalischen Schicht verwendet werden. Gemäß dem Ausführungsbeispiel 4-6 kann dieselbe Fähigkeit wie beim Ausführungsbeispiel 4-5 mit niedrigeren Bereichskosten erhalten werden.
  • Im Folgenden wird jedes der Ausführungsbeispiele detailliert beschrieben werden.
  • (Ausführungsbeispiel 4-1)
  • Beim Ausführungsbeispiel 4-1 werden Verfahren zum Entscheiden über Elemente wi, die Kombinationen von 2k Eingangsvariablen xi identifizieren können, und zum Implementieren des Gewichtungsvektors, der den Eingangsvektor zu den Neuronen-MOS-Invertern identifizieren kann, beschrieben werden.
  • [Verfahren zum Entscheiden über Elemente wi, die Kombinationen von 2k Eingangsvariablen xi identifizieren können]
  • Die Bedingung (1) ki=1 xi·wi nimmt unterschiedliche 2k Werte an" ist äquivalent zu "Identifizieren von Kombinationen von 2k Eingangsvariablen".
  • Erste Definitionen von "Kombinationen von Eingangsvariablen" und "Identifizieren" werden detailliert unter Annehmen eines Falls beschrieben werden, bei welchem die Eingangsvariablen als Beispiel {x1, x2, x3} sind.
  • Wenn jede der drei Eingangsvariablen logisch einen zweiwertigen Wert 1 oder 0 annimmt, ist die Anzahl von Kombinationen der Eingangsvariablen 23, welche {0, 0, 0}, {0, 0, 1}, {0, 1, 0}, ..., {1, 1, 1} sind. Die 23 Kombinationen sind als "Kombinationen von Eingangsvariablen" definiert.
  • Als Nächstes wird "Identifizieren von Kombination von 2k Eingangsvariablen" beschrieben werden.
  • Die oben angegebenen Kombinationen entsprechen Vektordarstellungen von Scheitelpunktkoordinaten eines dreidimensionalen Kubus, wenn Koordinatenachsen orthogonal zueinander für die drei Eingangsvariablen eingestellt werden. Somit wird dieser Vektor hierin nachfolgend Eingangsvektor X genannt werden. Zusätzlich werden (w1, w2, w3) mit positiven Zahlen als die Elemente Gewichtungsvektor W genannt werden.
  • Was Σ3i=1 xi·wi (Formel 42) anbetrifft, können Vektoren in einen Skalar durch Verwenden eines inneren Produkts umgewandelt werden, wie es in der Formel 43 gezeigt ist.
  • Figure 01700001
  • Gemäß dieser Formel kann "Identifizieren von Kombinationen von 2k Eingangsvariablen" neu "Skalare, von welchen jeder Skalar ein Ergebnis eines inneren Produkts des Eingangsvektors und des Gewichtungsvektors ist, zueinander unterschiedlich ist" genannt werden.
  • Da der Eingangsvektor X zweiwertige Werte {0, 1} annimmt, ist es zum Erfüllen der obigen Bedingung nötig, dass Summen von Elementen, die unterschiedlich sind, unterschiedlich sind, d. h. Beziehungen w1 ≠ w2 ≠ w3 und w1 + w2 ≠ w2 + w3 ≠ w3 + w1 erfüllt sein sollten. Als Beispiel wird dann, wenn der Gewichtungsvektor w = (20, 21, 22) ist, der Eingangsvektor X als zweiwertige Darstellung angesehen wird und die zweiwertige Darstellung in eine dezimale Darstellung umgewandelt wird, acht Eingangsvektoren in unterschiedliche ganze Zahlen von 0 bis 7 umgewandelt werden.
  • Als Nächstes wird es beschrieben werden, dass der Gewichtungsvektor W, bei welchem "die Skalare zueinander unterschiedlich sind" nicht nur eine Form des Vektors mit Elementen der Potenz von 2 annehmen kann, sondern viele andere Formen.
  • Wenn ein Gewichtungsvektor W (k = 4) genommen wird, bei welchem Elemente in ansteigender Reihenfolge als Beispiel nummeriert werden, sind w4 > w3 > w2 > w1, w3 ≠ w1 + w2, w4 ≠ w1 + w3, w4 ≠ w2 + w3, w4 ≠ w1 + w2 + w3 und w4 + w1 ≠ w3 + w2 zu erfüllende Notwendigkeiten, damit die Skalare unterschiedlich zueinander sind. Ein Beispiel, das dies erfüllt, ist (w1, w2, w3, w4) = (1, 1.1, 1.2, 1.4), (w1, w2, w3, w4) = (1, 1.2, 1.4, 1.7), (w1, w2, w3, w4) = (1, 4, 6, 8), (w1, w2, w3, w4) = (1, 3, 9, 27) und ähnliches.
  • Was einen Eingangsvektor mit k Elementen anbetrifft, ist es nötig, dass Summen von unterschiedlichen Elementen in {w1, w2, ..., wi, ...,wk} unterschiedlich zueinander sind, um den Eingangsvektor mit k Elementen zu identifizieren.
  • [Ein Verfahren zum Implementieren des Gewichtungsvektors, der den Eingangsvektor zu den Neuronen-MOS-Invertern identifizieren kann}
  • Wie es im zugehörigen Stand der Technik angegeben ist, entsprechen die Elemente wi des Gewichtungsvektors Verhältnissen von Eingangsgate-Kapazitäten zwischen den Eingangsgate-Elektroden entsprechend jeder Eingangsvariablen und dem schwebenden Gate. Somit kann durch Differenzieren von Summen der Eingangsgate-Kapazitätsverhältnisse zueinander, von welchen jede Elemente aufweist, ohne einander zu überlagern, der Eingangsvektor identifiziert werden.
  • (Ausführungsbeispiel 4-2)
  • Beim Ausführungsbeispiel 4-2 werden eine Bedingung zum Sicherstellen, dass Eingangsvektoren von irgendeiner Anzahl von Elementen identifiziert werden können, und ein Gewichtungsvektor zum Erfüllen der Bedingung gezeigt werden. Als Nächstes wird ein Gewichtungsvektor, durch welchen es sichergestellt wird, dass der Eingangsvektor identifiziert werden kann, gezeigt werden, wobei eine Grenze einer Anzahl von Eingangsvariablen hinzugefügt sein wird. Schließlich wird ein Verfahren zum Implementieren des Gewichtungsvektors zu dem Neuronen-MOS-Inverter beschrieben werden.
  • Das bedeutet, dass beim Ausführungsbeispiel 4-2 folgende Beschreibungen angegeben werden: "Bedingung, bei welcher eine Grenze zu dem Verfahren zum Entscheiden über den Gewichtungsvektor gemäß dem Ausführungsbeispiel 4-1 hinzugefügt ist", "eine Gruppe der Gewichtungsvektoren, die die Bedingung erfüllen, zu welcher die Grenze hinzugefügt ist", "eine Gruppe von Gewichtungsvektoren, wenn die Anzahl der Eingangsvariablen begrenzt ist" und "Implementierung zum Neuronen-MOS-Inverter".
  • [Bedingung, bei welcher eine Grenz zu dem Verfahren zum Entscheiden über den Gewichtungsvektor gemäß dem Ausführungsbeispiel 4-1 hinzugefügt ist]
  • Unter der Annahme, dass k Elemente des Gewichtungsvektors W durch {w1, w2, ..., wi, ..., wk} in ansteigender Reihenfolge dargestellt sind, wird ein i-tes Element wi so eingestellt, dass die folgende Formel 44 erfüllt ist.
  • Figure 01720001
  • Diese Formel 44 zeigt strengere Bedingung als diejenige des Ausführungsbeispiels 4-1 an. Demgemäß wird es sichergestellt, dass der Eingangsvektor mit irgendeiner Anzahl von Elementen identifiziert werden kann.
  • [Eine Gruppe der Gewichtungsvektoren, die die Bedingung erfüllen, zu welcher die Grenze hinzugefügt ist]
  • Als Nächstes werden die Elemente wi des Gewichtungsvektors W, der die Formel 44 erfüllt, konkret gezeigt werden.
  • Zuerst wird die Formel 44 in die folgende Formel 45 umformuliert.
  • Figure 01720002
  • Wenn eine von Lösungen zum Erfüllen der Formel 45 wi = αi-1(α > 1), kann die Formel 45 durch die folgenden Formeln 46 und 47 dargestellt werden. f(α, i) = g(α, i)/(α – 1)(1 ≦ i ≦ k – 1) (Formel 46) g(α, i) = αi·(α – 2) + 1 (Formel 47)
  • Das Vorzeichen der Funktion f(α, i) in der Formel 46 ist dasselbe wie das Vorzeichen der Funktion g(α, i), da α > 1. Daher kann eine Beurteilung über das Vorzeichen der Funktion f(α, i) durch Verwenden der Funktion g(α, i) durchgeführt werden. Somit kann dann, wenn die folgende Formel 48 erfüllt ist, der Eingangsvektor identifiziert werden. g(α, i) = αi·(α – 2) + 1 > 0(1 ≦ i ≦ k – 1) (Formel 48)
  • Wenn eine Differenzierung erster Ordnung von g(α, i) in Bezug auf α als g'(α, i) dargestellt wird, wird die folgende Formel 49 erfüllt.
  • Figure 01730001
  • Da die Formel 49 erfüllt ist, hat die Funktion g(α, i) wenigstens eine Wurzel einer realen Zahl in 1 < α < 2 und ist die Funktion g(α, i) für irgendein i in α ≧ 2 positiv. Somit können dann, wenn ein Gewichtungsvektor, der die folgende Formel 50 erfüllt, verwendet wird, Eingangsvektoren, die irgendeine Anzahl von Elementen haben, identifiziert werden. wi = αi-1(α ≧ 2) (Formel 50)
  • [Eine Gruppe von Gewichtungsvektoren, wenn die Anzahl der Eingangsvariablen begrenzt ist]
  • Wie es oben angegeben ist, stellt die Formel 50 den Gewichtungsvektor dar, durch welchen der Eingangsvektor, der irgendeine Anzahl von Elementen hat, identifiziert werden kann. Zusätzlich existiert, wie es oben angegeben ist, α, welches g(α, i) > 0 selbst dann erfüllt, wenn 1 < α < 2. Dies bedeutet, dass der Eingangsvektor durch Hinzufügen einer Grenze zu der Anzahl von Elementen des Eingangsvektors identifiziert werden kann.
  • Die 101A und 101B zeigen Beziehungen zwischen α (0 ≦ α ≦ 2) und g(α, i), wenn i = 1, 2, 3, 4, 5. Wenn 1 < α < 2 sind die Lösungen von g(α, i) = 0 1.6180, 1.8393, 1.9276 und 1.9660 jeweils für i = 2, 3, 4, 5. Wie es in den 101A und 101B gezeigt ist, ist dann, wenn α > 1, α > 1.6180, α > 1.8393, α > 1.9276 und α > 1.9660 jeweils für die Anzahl von Elementen k = 2, 3, 4, 5, 6 erfüllt sind, i ≦ k – 1 erfüllt, so dass die Bedingung der Formel 45 erfüllt ist. Somit kann im Prinzip der Eingangsvektor identifiziert werden.
  • Lasst uns annehmen, dass S2 ein Skalar eines Ergebnisses eines inneren Produkts ist, wenn (20, 21, ..., 2i-1, ..., 2k-1) als ein Gewichtungsvektor für den Eingangsvektor verwendet wird, der identifiziert werden kann. Zusätzlich lasst uns annehmen, dass Sα ein Ergebnis eines inneren Produkts des Gewichtungsvektors und des Eingangsvektors ist.
  • 102 zeigt Beziehungen zwischen dem Skalar S2 und dem Skalar Sα, wenn α = 1.7, 1.9, 2.0, 2.2. Wenn α ≧ 2, wird die Funktion g(α, i) größer als 0 (g(α, i) > 0). Daher ist der Skalar Sα eine monoton wachsende Funktion, bei welcher der Gradient von Sα in Bezug auf den Skalar S2 nicht Null wird.
  • Daher können, wie es oben angegeben ist, die Eingangsvektoren zueinander identifiziert werden, da es keinen gleichen Wert in den Skalaren Sα für alle Eingangsvektoren gibt.
  • Da der Skalar Sα eine monoton wachsende Funktion ist, bei welcher der Gradient von Sα in Bezug auf den Skalar S2 nicht Null wird, wenn S2 ≦ 7, S2 ≦ 15, wenn α = 1.7, α = 1.9, und zwar jeweils, können die Eingangsvektoren identifiziert werden. Selbst wenn α außerhalb der Grenzen ist, gibt es dann, wenn S2 ≦ 31 erfüllt ist, keinen gleichen Wert bezüglich der Skalar Sα. In diesem Fall ist die Formel 44 nicht erfüllt. Jedoch können die Eingangsvektoren identifiziert werden, wie es bei den Ausführungsbeispielen 4-1 beschrieben ist.
  • [Implementierung zu dem Neuronen-MOS-Inverter]
  • Wenn das oben angegebene Verfahren bei einer tatsächlichen Schaltung implementiert wird, werden die oben angegebenen Formeln bezüglich tatsächlicher Kapazitätswerte aus dem Grund von Variationen nicht immer erfüllt, wenn die Schaltung hergestellt wird. Zusätzlich werden die oben angegebenen Formeln aufgrund eines Entscheidungsverfahrens einer signifikanten Ziffer oder eines Reservierungsverfahrens eines Überschusses beim Entwickeln der Schaltung nicht immer erfüllt. Jedoch kann das oben angegebene Verfahren selbst dann angewendet werden, wenn es Variationen von Werten aufgrund einer Herstellung oder eines Entwickelns gibt.
  • (Ausführungsbeispiel 4-3)
  • Beim Ausführungsbeispiel 4-3 wird ein Verfahren beschrieben werden, bei welchem ein Gewichtungsvektor, durch welchen die Eingangsvektoren identifiziert werden können, durch Erniedrigen des Werts der Formel 51 soweit wie möglich entschieden wird, wenn es eine untere Grenze bezüglich des minimalen Werts C·w1 von Elementen des Gewichtungsvektors gibt, was im zugehörigen Stand der Technik gezeigt ist. Σki=1 wi (Formel 51)
  • Dieses Verfahren entspricht einem Entscheiden über das Eingangsgate-Kapazitätsverhältnis, während die Gesamtsumme der Eingangsgate-Kapazitätswerte soweit wie möglich erniedrigt werden, wenn es eine untere Grenze für den minimalen Wert der Eingangsgate-Kapazitätswerte im Neuronen-MOS-Inverter gibt.
  • [Beispiel und Problem, wenn der minimale Wert begrenzt ist]
  • Als Beispiel des Falls, bei welchem der minimale Wert des Eingangsgate-Kapazitätswerts begrenzt ist, kann ein Fall betrachtet werden, bei welchem Variationen von Kapazitätswerten in einem Prozess einer Herstellung der Kapazitäten unterdrückt werden, wenn die Kapazitäten zu tatsächlichen Schaltungen implementiert werden.
  • Bei dem Ausführungsbeispiel 4-2 ist der minimale Wert auf Werte beschränkt, und erhöht sich das Verhältnis der Eingangsgate-Kapazitäten mit einer Potenz eines Werts. Daher gibt es ein derartiges Problem, dass die Bereichskosten groß werden.
  • [Ein Verfahren zum Erniedrigen des Exponentenwerts der Potenz]
  • Um die Bereichskosten zu erniedrigen, ist es effektiv, den Exponentenwert der Potenz zu erniedrigen. Wenn angenommen wird, dass {w1, w2, ..., wi, ..., wk} die Elemente des Gewichtungsvektors in ansteigender Reihenfolge darstellen, stellt man das i-te Element wi gemäß der folgenden Formel 52 ein, wobei α > 1.
  • Figure 01770001
  • Wenn die Formel 52 erfüllt ist, wird die folgende Formel 53 erfüllt.
  • Figure 01770002
  • Auf dieselbe Weise wie beim Ausführungsbeispiel 4-2 können gemäß dem Ausführungsbeispiel 4-3 deshalb, weil f'(i) > 0 für irgendein i erfüllt wird, d. h. für irgendein k, wenn α ≧ 2, die Eingangsvektoren identifiziert werden. Selbst wenn 1 < α < 2, kann f'(i) > 0 durch Begrenzen von k erfüllt werden, so dass die Eingangsvektoren identifiziert werden können.
  • [Effekt zu den Bereichskosten]
  • Lasst uns annehmen, dass Sum(2) die Summe der Elemente des Gewichtungsvektors ist, wenn wi = αi-1 beim Ausführungsbeispiel 4-2 gilt. Zusätzlich lasst uns annehmen, dass Sum(3) die Summe der Elemente des Gewichtungsvektors ist, wenn der minimale Wert der Eingangsgate-Kapazitätswerte begrenzt ist. In sowohl Sum(2) als auch Sum(3) gilt w1 = 1 und α = 2. Sum(2) wird durch die folgende Formel 54 dargestellt und Sum(3) wird durch die folgende Formel 55 dargestellt. Sum(2) = 2k – 1 (Formel 54) Sum(3) = 1 + (2k-1 – 1)(1 + β) (Formel 55)
  • Somit kann das Verhältnis η der Summe Sum(3) zu der Summe Sum(2) durch die Formel 56 dargestellt werden. η = {1 + (2k-1 – 1)(1 + β))/(2k – 1) (Formel 56)
  • 103 zeigt Beziehungen zwischen einem Gewichtungsmodulationskoeffizienten β und dem Verhältnis η der Summe Sum(3) zu der Summe Sum(2), wenn k = 2, 3, 4. Das bedeutet, dass die 103 Reduzierungsverhältnisse der Bereichskosten beim Ausführungsbeispiel 4-3 zeigt. Wenn β = 0,5, variierende Bereichskosten bis zu einem Ausmaß gemäß der Anzahl k von Elementen. Jedoch können die Bereichskosten auf etwa 77%~83% gesenkt werden.
  • [Implementierung zum Neuronen-MOS-Inverter]
  • Wenn das oben angegebene Verfahren bei einer tatsächlichen Schaltung implementiert wird, werden die oben angegebenen Formel was tatsächliche Kapazitätswerte anbelangt nicht immer erfüllt, und zwar aus dem Grund von Variationen, wenn die Schaltung hergestellt wird. Zusätzlich werden die oben angegebenen Formeln aufgrund eines Entscheidungsverfahrens von signifikanten Ziffern oder eines Reservierungsverfahrens eines Überschusses beim Entwickeln der Schaltung nicht immer erfüllt. Jedoch kann das oben angegebene Verfahren selbst dann angewendet werden, wenn es Variationen von Werten aufgrund einer Herstellung oder einer Entwicklung gibt.
  • (Ausführungsbeispiel 4-4)
  • Beim Ausführungsbeispiel 4-4 wird eine integrierte Schaltung beschrieben werden. Die integrierte Schaltung kann einen von zweiwertigen Werten für jeden von 2k Eingangsvektoren, der k Elemente hat, gemäß einem Verfahren zum Entscheiden über den Gewichtungsvektor einstellen, d. h. das Eingangsgate-Kapazitätsverhältnis, wobei Eingangsvektoren durch den Gewichtungsvektor identifiziert werden können, der beim Ausführungsbeispiel 4-1~4-3 beschrieben ist.
  • [Definition von Ausdrücken]
  • Zuerst werden Ausdrücke beschrieben werden, die oft verwendet werden, wenn der Betrieb der integrierten Schaltung beschrieben wird, d. h. die Ausdrücke, die zum Beschreiben des Betriebs des in 6 gezeigten Neuronen-MOS-Inverters verwendet werden.
  • "Schwellenspannung des schwebenden Gates" ist eine Spannung des schwebenden Gates des Neuronen-MOS-Inverters, wenn das Ausgangssignal des Neuronen-MOS-Inverters in Bezug auf die Spannung des schwebenden Gates logisch invertiert wird. "Maximale Spannung des schwebenden Gates" ist eine Spannung des schwebenden Gates, wenn alle Eingangssignale logisch 1 sind. "Normalisierte Spannung des schwebenden Gates Ufg" ist eine Spannung des schwebenden Gates, die durch die maximale Spannung des schwebenden Gates normalisiert ist. "Normalisierte Schwellenspannung des schwebenden Gates Ufth" ist eine Schwellenspannung des schwebenden Gates, die durch die maximale Spannung des schwebenden Gates normalisiert ist. "Eingangs-Lademenge Qi" ist eine Lademenge, die in einer Eingangsgate-Kapazität eines Anschlusses akkumuliert ist, zu welchem eine Eingangsvariable eingegeben wird. "Eingangsschwellen-Lademenge Qith" ist eine Eingangs-Lademenge Q1, wenn die normalisierte Spannung des schwebenden Gates Ufg dieselbe wie die normalisierte Schwellenspannung des schwebenden Gate Ufth ist.
  • [Schaltungsstruktur einer integrierten Schaltung zum Realisieren von irgendeiner Logikfunktion]
  • Im Folgenden wird eine Schaltungsstruktur einer integrierten Schaltung zum Realisieren von irgendeiner Logikfunktion basierend auf dem oben angegebenen Konzept beschrieben werden.
  • 96 zeigt eine Struktur einer integrierten funktionsrekonfigurierbaren Logikschaltung 801 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung. Die Struktur wird zuerst beschrieben werden.
  • Die integrierte Schaltung 801, die eine Logikfunktion von k Eingangsvariablen realisiert, ist durch zwei Stufen von Neuronen-MOS-Invertern auf dieselbe Weise wie integrierte Schaltungen bei anderen Ausführungsbeispielen konfiguriert. Das bedeutet, dass die integrierte Schaltung 801 durch Vorinverter 901 und den Hauptinverter 900 konfiguriert ist.
  • Die Vorinverter 901 bilden die erste Stufe und der Hauptinverter 900 bildet die zweite Stufe. Bei diesem Ausführungsbeispiel sind 2k Vorinverter in der ersten Stufe vorgesehen.
  • Jeder Vorinverter 901 enthält Eingangsgate-Elektroden, die mit den ersten Eingangssignalanschlüssen input1[1]~input1[k] verbunden sind, zu welchem k Eingangsvariable eingegeben werden, eine Eingangsgate-Elektrode bei den Eingangsgate-Elektroden, die mit den zweiten Eingangssignalanschlüssen input2[1]~input2[2k] verbunden sind, zu welcher Logikfunktions-Konfigurationsdaten eingegeben werden, Eingangsgate-Elektroden, die mit Anschlüssen verbunden sind, die eine feste Spannung haben, wie beispielsweise die Energieversorgung oder die Erdung, und einen Ausgangsanschluss, wobei die Eingangsgate-Elektroden die mit den Anschlüssen verbunden sind, die eine feste Spannung haben, den Schwellenwert des Vorinverters in Bezug auf das Eingangssignal steuern.
  • Der Hauptinverter 900 enthält Eingangsgate-Elektroden, die mit den k ersten Eingangssignalanschlüssen verbunden sind, Eingangsgate-Elektroden, die mit den Ausgangsanschlüssen der Vorinverter 900 verbunden sind, und einen Ausgangsanschluss.
  • [Aufbau des Hauptinverters 900]
  • [Ein Verfahren zum Entscheiden über ein Verhältnis von Kapazitäten, die mit den Vorinvertern 901 verbunden sind]
  • Im Folgenden wird ein Verfahren zum Einstellen des Verhältnisses von Kapazitäten zwischen den Eingangsgate-Elektroden, die mit den Ausgangsanschlüssen der Vorinverter 901 verbunden sind, und dem schwebenden Gate im Hauptinverter 900 der integrierten Schaltung 801 beschrieben werden. Lasst uns annehmen, dass die Anzahl von Elementen k = 3 und das Verhältnis des Gewichtungsvektors zum Identifizieren der Eingangsvektoren, d. h. das Verhältnis der Eingangsgate-Kapazitäten für die ersten Eingangssignale, (1, 3, 5) ist.
  • 97 zeigt Beziehungen zwischen der Eingangs-Lademenge Qi = Σ3i=1 Ci·Vi (Formel 57) im Hauptinverter 900 und der normalisierten Spannung des schwebenden Gates Ufg, wenn die Anzahl von Elementen k = 3 und der Gewichtungsvektor (1, 3, 5) ist.
  • In 97 zeigt die laterale Achse die Lademenge Qi an und zeigt die vertikale Achse die normalisierte Spannung des schwebenden Gates Ufg an. Bei der lateralen Achse ist jeder Eingangsvektor entsprechend einem jeweiligen Qi bezeichnet. In 97 ist Ctotal die Summe von allen Eingangsgate-Kapazitätswerten, die wie folgt dargestellt werden kann. Σ3i=1 Ci + Σ8i=1 Cp[i] (Formel 58)
  • Zuerst wird die normalisierte Schwellenspannung des schwebenden Gates Ufth auf 1/2 eingestellt. Wenn alle ersten Eingangssignale logisch 1 sind, wird die Eingangs-Lademenge Qi maximal. Die normalisierte Spannung des schwebenden Gates Ufg durch diese Eingangs-Lademenge Qi wird so eingestellt, dass sie die normalisierte Schwellenspannung des schwebenden Gates Ufth nicht übersteigt.
  • Als Nächstes wird dann, wenn der Eingangsvektor (x3, x2, x1) (1, 1, 1) ist, wobei die Eingangs-Lademenge Qi maximal ist, der Kapazitätswert von Cp8 zwischen einem Eingangsgate und dem schwebenden Gate so eingestellt, dass die normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth wird, wenn nur das Ausgangssignal des achten Vorinverters in den 23 Vorinvertern logisch 1 ist.
  • Wenn der Eingangsvektor (1, 1, 0) ist, der eine geringere Lademenge als diejenige von (1, 1, 1) hat, wird die normalisierte Spannung des schwebenden Gates Ufg derart eingestellt, dass sie kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist.
  • Auf dieselbe Weise wie bei dem obigen Fall wird dann, wenn der Eingangsvektor (1, 1, 1) ist und Cp8 eingestellt ist, der Eingangsgate-Kapazitätswert Cp7, der mit dem siebten Vorinverter verbunden ist, so eingestellt, dass die normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth wird, wenn der Eingangsvektor (1, 1, 0) ist, und wenn nur die Ausgangssignale des siebten und des achten Vorinverters logisch 1 sind. Wenn der Eingangsvektor (1, 0, 1) ist, wird Cp7 so eingestellt, dass die normalisierte Spannung des schwebenden Gates Ufg kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth wird.
  • Auf dieselbe Weise werden in abfallender Reihenfolge einer Eingangs-Lademenge Eingangsgate-Kapazitätswerte Cp6, Cp5, Cp4, Cp3, Cp2, Cp1 jeweils entsprechend Eingangsvektoren (1, 0, 1), (1, 0, 0), (0, 1, 1), (0, 1, 0), (0, 0, 1), (0, 0, 0) eingestellt.
  • Gemäß dem oben angegebenen Verfahren werden die Eingangsgate-Kapazitätswerte, die mit den Ausgangsanschlüssen der 23 Vorinverter 901 verbunden sind, eingestellt.
  • [Beschreibung des Grunds dafür, dass irgendeine Logikfunktion realisiert werden kann]
  • Im Folgenden wird es beschrieben werden, dass der Hauptinverter mit den durch das oben angegebene Verfahren eingestellten Eingangsgate-Kapazitätswerten irgendeine Logikfunktion realisieren kann.
  • Wie es bei der lateralen Achse der Eingangs-Lademenge Qi gezeigt ist, gibt es zwei Eingangsvektoren, die einem jeweiligen Eingangsvektor am nächsten sind, außer für (0, 0, 0) und (1, 1, 1). Das bedeutet, dass für jeden Eingangsvektor ein Eingangsvektor existiert, bei welchem eine entsprechende Lademenge größer als diejenige des jeweiligen Eingangsvektors ist, und ein Eingangsvektor, bei welchem eine entsprechende Lademenge kleiner als diejenige des jeweiligen Eingangsvektors ist. Zwischen diesen drei Eingangs-Lademengen existiert irgendeine Eingangs-Lademenge von irgendeinem anderen Eingangsvektor nicht.
  • Was den Eingangsvektor (0, 0, 0) anbelangt, existiert nur der Eingangsvektor (0, 0, 1), bei welchem die Lademenge größer ist. Was den Eingangsvektor (1, 1, 1) anbelangt, existiert nur der Eingangsvektor (1, 1, 0), bei welchem die Lademenge kleiner ist.
  • Jeder Vorinverter 901 hat eine Fähigkeit diesbezüglich, dass der Vorinverter logisch invertiert wird, so dass der Logikwert des Ausgangssignals sich von 1 zu 0 bei einer Eingangs-Lademenge zwischen einer Eingangs-Lademenge eines Eingangsvektors und der größeren Lademenge Qi des einen nächsten Eingangsvektors oder bei einer Eingangs-Lademenge zwischen einer Eingangs-Lademenge eines Eingangsvektors und der kleineren Lademenge Qi des anderen nächsten Eingangsvektors ändert. In diesem Fall hängt eine Reihenfolgenbildung der normalisierten Spannung des schwebenden Gates Ufg und der normalisierten Schwellenspannung des schwebenden Gates Ufth für jeden Eingangsvektor nur von dem Wert von logisch 1 oder 0 des Ausgangssignals des Vorinverters ab, der in einer Eins-zu-Eins-Entsprechung zu jedem Eingangsvektor ist.
  • In 97 zeigt ein schwarzer Kreis für jeden Eingangsvektor an, dass die normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist. Ein weißer Kreis für jeden Eingangsvektor zeigt an, dass die normalisierte Spannung des schwebenden Gates Ufg kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist.
  • Daher kann irgendeine Logikfunktion durch Anwenden von Steuersignalen als Logikfunktions-Konfigurationsdaten auf die Vorinverter 901 realisiert werden, wobei das jeweilige von Steuersignalen eine von zwei Eingangsschwellen-Lademengen auswählt, die in einem Vorinverter enthalten ist.
  • [Aufbau des Vorinverters 901]
  • [Ein Verfahren zum Entscheiden über ein Kapazitätsverhältnis zum Haben von zwei Qiths]
  • Im Folgenden wird ein Verfahren beschrieben werden, bei welchem jeder Vorinverter 901 zwei Eingangsschwellen-Lademengen Qiths hat.
  • 98 zeigt ein Schaltungsdiagramm eines j-ten Vorinverters und Beziehungen zwischen Eingangsgate-Elektroden und dem schwebenden Gate. Im Folgenden wird ein fünfter Vorinverter entsprechend einem Eingangsvektor (1, 0, 0) als ein Beispiel unter den 23 Vorinvertern 901 genommen werden.
  • 99 zeigt die Beziehung zwischen der Eingangs-Lademenge Qi und der normalisierten Spannung des schwebenden Gates Ufg des fünften Vorinverters. In 99 ist Ctotal wie folgt dargestellt. Σ3i=1 C5li + C520 + C5gnd (Formel 59)
  • Zuerst wird der Eingangsgate-Kapazitätswert C5li zum Eingeben von ersten Eingangssignalen in den fünften Vorinverter 901 so eingestellt, dass die Eingangsvektoren identifiziert werden können. In 99 ist das Verhältnis der Eingangsgate-Kapazitäten für die ersten Eingangssignale derart eingestellt, dass es dasselbe Verhältnis wie der Hauptinverter 900 ist. Jedoch ist dieses nicht notwendigerweise dasselbe. Irgendein Wert kann genommen werden, solange die Eingangsvektoren identifiziert werden können.
  • Als Nächstes werden der Eingangsgate-Kapazitätswert C5li für das erste Eingangssignal und der Eingangsgate-Kapazitätswert C520 für das zweite Eingangssignal so eingestellt, dass dann, wenn das zweite Eingangssignal logisch 0 ist, eine Eingangsschwellen-Lademenge Qith0 zwischen Qi des Eingangsvektors (1, 0, 0) und Qi des Eingangsvektors (1, 0, 1) existiert, und zusätzlich dass dann, wenn das zweite Eingangssignal logisch 1 ist, eine Eingangsschwellen-Lademenge Qith1 zwischen Qi des Eingangsvektors (1, 0, 0) und Qi des Eingangsvektors (0, 1, 1) existiert, wobei die normalisierte Spannung des schwebenden Gates Ufg dieselbe wie die normalisierte Schwellenspannung des schwebenden Gates Ufth in jeder der Eingangsschwellen-Lademengen Qith0 und Qith1 wird.
  • Zu dieser Zeit kann dann, wenn der Eingangsvektor (1, 0, 0) ist, die normalisierte Spannung des schwebenden Gates Ufg des Vorinverters 901 zwei Werte annehmen, die durch einen schwarzen Kreis und einen weißen Kreis in 99 gezeigt sind. Ein Wert ist größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth, wenn das zweite Eingangssignal logisch 1 ist, und ein anderer Wert ist kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth, wenn das zweite Eingangssignal logisch 0 ist.
  • 100 zeigt eine Beziehung zwischen den Eingangsvektoren (oder den Eingangs-Lademengen Qi) und den logischen Werten der Ausgangssignale des Vorinverters 901, wenn die Beziehung zwischen den Eingangsvektoren und der normalisierten Spannung des schwebenden Gates Ufg ist, wie es in 99 gezeigt ist.
  • Wie es in 100 gezeigt ist, ist der Ausgang logisch 1, bis der Eingangsvektor (0, 1, 1) ist, wobei eine entsprechende Lademenge Qi kleiner als diejenige des Eingangsvektors (1, 0, 0) ist. Was Eingangsvektoren anbetrifft, wie beispielsweise (1, 0, 1), bei welchen eine entsprechende Lademenge Qi größer als diejenige des Eingangsvektors (1, 0, 0) ist, wird der Ausgang logisch 0. Demgemäß kann die oben angegebene Funktion für einen Vorinverter realisiert werden. Der logische Wert des Ausgangssignals wird 0, wenn die normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, und er wird 1, wenn die normalisierte Spannung des schwebenden Gates Ufg kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist.
  • Die oben angegebene Beschreibung gilt für ein Verfahren zum Entwickeln einer Schaltung, die irgendeine Logikfunktion für k = 3 realisiert. Wenn k etwas anderes als 3 ist, kann irgendeine Logikfunktion auf dieselbe Weise realisiert werden, wie es oben angegeben ist. Zusätzlich kann gemäß dem Verfahren die integrierte Schaltung 801 entwickelt werden.
  • [Beschreibung in einem Fall, in welchem ein Neuronen-MOS-Inverter mit einem Schalter, der unterschiedlich von dem Neuronen-MOS-Inverter ist, enthalten ist]
  • Im Folgenden wird eine integrierte Schaltung 802 beschrieben werden, die einen Neuronen-MOS-Inverter mit einem Schalter enthält. 115 zeigt die funktionsrekonfigurierbare integrierte Schaltung 802, die ein modifiziertes Beispiel der integrierten Schaltung 801 ist.
  • Die Struktur der funktionsrekonfigurierbaren integrierten Funktionsschaltung 802 ist gleich der in 96 gezeigten integrierten Schaltung 801. Der Unterschied zwischen der integrierten Schaltung 802 und der integrierten Schaltung 801 besteht darin, dass bei der integrierten Schaltung 802 der Hauptinverter 910 für den Hauptinverter 900 der integrierten Schaltung 801 eingesetzt ist und die Vorinverter 911 für die Vorinverter 910 eingesetzt sind.
  • Die schwebenden Gates des Hauptinverters 900 und des Vorinverters 901 der integrierten Schaltung 801 sind nicht mit irgendwelchen Anschlüssen verbunden, so dass sie in einem vollständig schwebenden Zustand sind. Andererseits ist jeder des Hauptinverters 910 und des Vorinverters 911 der integrierten Schaltung 802 ein Neuronen-MOS-Inverter mit einem Schalter unter Verwendung eines Neuronen-MOS-Transistors mit einem Schalter. Der Neuronen-MOS-Transistor mit einem Schalter ist ein Neuronen-MOS-Transistor, bei welchem das schwebende Gate nicht an einen Anschluss anschließen oder sich von diesem trennen kann, der eine Spannung hat, und zwar durch Leiten oder Unterbrechen eines Schaltelements, wie beispielsweise eines NMOSFET.
  • In der integrierten Schaltung 802 schließt der Hauptinverter 910 an einem Anschluss an oder trennt sich von diesem, der eine Spannung hat, und zwar über einen NMOSFET 913 für eine Initialisierung des Hauptinverters, die durch ein Signal des Anschlusses ctlm gesteuert wird.
  • Jeder Vorinverter 911 schließt an einen Anschluss an oder trennt sich von diesem, der eine Spannung hat, und zwar über einen NMOSFET 914 für eine Initialisierung des Vorinverters, welche durch ein Signal des Anschlusses ctlp gesteuert wird.
  • Außer für die oben angegebenen Punkte sind die Strukturen der integrierten Schaltung 801 und der integrierten Schaltung 802 dieselben. Daher werden hierin nachfolgend Beschreibungen durch Verwenden einer Schaltung angegeben werden, die den Hauptinverter und die Vorinverter enthält, die dieselben wie diejenigen sind, die durch die in 96 gezeigte integrierte Schaltung 801 verwendet sind. Dasselbe Entwicklungsverfahren kann auf die integrierte Schaltung 802 angewendet werden.
  • (Ausführungsbeispiel 4-5)
  • Bei dem Ausführungsbeispiel 4-5 wird die Anzahl der Vorinverter in der zweistufigen funktionsrekonfigurierbaren integrierten Logikschaltung durch Darstellen der Funktionskonfigurationsdaten als mehrwertige Werte erniedrigt.
  • [Schaltungsstruktur einer integrierten Schaltung, wenn eine Darstellung mit mehrwertigen Werten für die Konfigurationsdaten verwendet wird]
  • 4 zeigt ein Schaltungsdiagramm einer integrierten Schaltung gemäß dem Ausführungsbeispiel der vorliegenden Erfindung, die die oben angegebene Fähigkeit hat.
  • Die integrierte Schaltung 803, die eine Logikfunktion von k Eingangsvariablen realisiert, ist durch zwei Stufen von Neuronen-MOS-Invertern auf dieselbe Weise wie integrierte Schaltungen bei anderen Ausführungsbeispielen konfiguriert. Das bedeutet, dass die integrierte Schaltung 803 durch Vorinverter 1002 und den Hauptinverter 1001 konfiguriert ist.
  • Der Hauptinverter 1001 enthält Eingangsgate-Elektroden, die mit den k ersten Eingangssignalanschlüssen inpu1[1]~input1[k] verbunden sind, Eingangsgate-Elektroden, die mit den Ausgangsanschlüssen der Vorinverter 1002 verbunden sind.
  • Jeder Vorinverter 1002 enthält Eingangsgate-Elektroden, die mit den ersten Eingangssignalanschlüssen inpu1[1]~input1[k] verbunden sind, zu welchen k Eingangsvariable eingegeben werden, Eingangsgate-Elektroden, die mit den zweiten Eingangssignalanschlüssen inpu2[11]~input2[hah] verbunden sind, zu welchen Logikfunktions-Konfigurationsdaten eingegeben werden, Eingangsgate-Elektroden, die mit Anschlüssen verbunden sind, die eine feste Spannung haben, wie beispielsweise die Energieversorgung oder die Erdung, wobei die Eingangsgate-Elektroden, die mit Anschlüssen verbunden sind, die eine feste Spannung haben, den Schwellenwert des Vorinverters in Bezug auf das Eingangssignal steuern.
  • Vergleicht man mit dem Ausführungsbeispiel 4-4 enthält die integrierte Schaltung 801 beim Ausführungsbeispiel 4-4 einen zweiten Eingangssignalanschluss für jeden Vorinverter und 2k Vorinverter. Andererseits hat, was die integrierte Schaltung 803 anbelangt, jeder Vorinverter 1002 eine Vielzahl von zweiten Eingangssignalanschlüssen und enthält die integrierte Schaltung 803 Vorinverter, die weniger als 2k sind. Das bedeutet, dass in 104 "h" bei dem zweiten Eingangsanschluss input2[hah] die Anzahl von Vorinvertern anzeigt, die kleiner als 2k ist. "ah" zeigt die Anzahl des zweiten Eingangssignals des Vorinverters 1002 an.
  • Ein Verwenden einer Vielzahl von zweiten Eingangssignalen ist äquivalent zu einem Verwenden von mehreren Signalen, wenn ein zweites Eingangssignal verwendet wird. Beispielsweise können dann, wenn zweiwertige Werte verwendet werden, zwei Werte (zweiwertige Werte) (0, 1) dargestellt werden. Wenn zwei Eingangssignale verwendet werden, können vier unterschiedliche Werte {(0, 0), (0, 1), (1, 0), (1, 1)} dargestellt werden.
  • [Aufbau des Vorinverters 1002: ein Verfahren zum Entscheiden über das Eingangsgate-Kapazitätsverhältnis]
  • Im Folgenden wird es beschrieben werden, dass die integrierte Schaltung 803 irgendwelche Eingangsschwellen-Lademengen Qith in Bezug auf das Eingangssignal gemäß der Schaltungsstruktur des Vorinverters 1002 erzeugen kann.
  • Als Beispiel wird ein Fall beschrieben werden, bei welchem k = 2 und zwei zweite Eingangssignale verwendet werden. 105 ist ein Schaltungsdiagramm eines Neuronen-MOS-Inverters INV3, der drei Schwellenwerte in Bezug auf das Eingangssignal hat.
  • Der Neuronen-MOS-Inverter INV3 enthält zwei erste Eingangssignalanschlüsse input1[1], input1[2], zwei zweite Eingangssignalanschlüsse input2[h1], input2[h2] und einen Anschluss, der mit der Erdung verbunden ist. Lasst uns annehmen, dass die Eingangsgate-Kapazitätswerte zwischen jeweiligen Eingangsgate-Elektroden und dem schwebenden Gate C11, C12, C2h1, C2h2, Cgnd sind. Die Eingangsgate-Kapazitätswerte C11 und C12 sind so eingestellt, dass C11:C12 = 1:2 erfüllt ist, so dass die Eingangsvektoren identifiziert werden können, wie es beim Ausführungsbeispiel 4-4 beschrieben ist.
  • Wenn angenommen wird, dass die Eingangsvariablen entsprechend den Eingangsanschlüssen input1[1] und input1[2], die jeweils C11 und C12 haben, x1 und x2 sind, kann der Eingangsvektor (x1, x2) in ansteigender Reihenfolge durch die Eingangs-Lademenge Qi als (0, 0), (1, 0), (0, 1), (1, 1) dargestellt werden.
  • Als Nächstes wird ein Verfahren beschrieben werden, bei welchem die Eingangsgate-Kapazitätswerte C2h1, C2h2, Cgnd so entschieden werden, dass eine Eingangsschwellen-Lademenge Qith in jedem von drei Bereichen eingestellt wird, wobei ein Bereich zwischen (0, 0) und (1, 0) ist, ein weiterer Bereich zwischen (0, 1) und (1, 1) ist und noch ein weiterer Bereich ein Bereich ist, der größer als (1, 1) ist.
  • 106 zeigt Beziehungen zwischen den Eingangs-Lademengen des Neuronen-MOS-Inverters INV3, der die oben angegebenen Charakteristiken hat, und der normalisierten Spannung des schwebenden Gates Ufg. Lasst uns annehmen, dass die normalisierte Schwellenspannung des schwebenden Gates Ufth auf etwa 1/2 eingestellt ist. In 106 zeigt Ctotal C11 + C12 + C2h1 + C2h2 + Cgnd an, zeigt Linie 0 die normalisierte Spannung des schwebenden Gates Ufg an, wenn alle Eingangssignale, die andere als die ersten Eingangssignale sind, logisch 0 sind, zeigt Linie 1 die normalisierte Spannung des schwebenden Gates Ufg an, wenn das von input2[h1] eingegebene zweite Eingangssignal immer 1 ist, und zeigt Linie 2 die normalisierte Spannung des schwebenden Gates Ufg an, wenn beide der zweiten Eingangssignale, die von input2[h1] und input2[h2] eingegeben sind, immer logisch 1 sind.
  • Da Qith in einem Bereich, in welchem Qi größer als diejenige des Eingangsvektors (1, 1) ist, wird (C11 + C12)/(Ctotal derart eingestellt, dass es kleiner als 1/2 ist. Das bedeutet, dass deshalb, weil die maximale Eingangsschwellen-Lademenge größer als die Eingangs-Lademenge bei dem Eingangsvektor (1, 1) unter den drei Eingangsschwellen-Lademengen ist, (C11 + C12)/Ctotal, welches äquivalent zu der normalisierten Spannung des schwebenden Gates ist, wenn ein Eingangsvektor (1, 1) ist, derart eingestellt werden sollte, dass es kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth = 1/2 ist. Demgemäß schneidet sich Linie 0 mit der normalisierten Schwellenspannung des schwebenden Gates Ufth in einem Bereich, in welchem ein entsprechendes Qi größer als dasjenige des Eingangsvektors (1, 1) ist.
  • In 106 existiert jede von Qith bei einem Schnittpunkt von Linie 0, Linie 1, Linie 2 und der normalisierten Schwellenspannung des schwebenden Gates Ufth. In Qi, in welcher die normalisierte Spannung des schwebenden Gates Ufg von Linie 0~Linie 2 kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, ist das Ausgangssignal des Neuronen-MOS-Inverters immer logisch 1. Andererseits ist bei Qi, bei welchem die normalisierte Spannung des schwebenden Gates Ufg von Linie 0~Linie 2 größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, das Ausgangssignal des Neuronen-MOS-Inverters immer logisch 0.
  • Zusätzlich wird deshalb, weil die Eingangsschwellen-Lademenge Qith des Neuronen-MOS-Inverters INV3 als Qi zwischen den Eingangsvektoren (1, 0) und (1, 1) eingestellt ist, C2h1/Ctotal so eingestellt, dass ein Schnittpunkt von Linie 2 und der normalisierten Schwellenspannung des schwebenden Gates Ufth zwischen den Eingangsvektoren (0, 1) und (1, 1) sitzt.
  • Auf dieselbe Weise wird, um Qith zwischen den Eingangsvektoren (0, 0) und (1, 0) einzustellen, C2h2/Ctotal so eingestellt, dass ein Schnittpunkt von Linie 2 und der normalisierten Schwellenspannung des schwebenden Gates Ufth zwischen den Eingangsvektoren (0, 0) und (1, 0) sitzt.
  • Schließlich wird 1 – (C11 + C12 + C2h1 + C2h2)/Ctotal derart eingestellt, dass es Cgnd/Ctotal ist. Durch Entscheiden über den Eingangsgate-Kapazitätswert auf diese Weise ergibt sich die Eingangsschwellen-Lademenge Qith.
  • [Eingabe/Ausgabe-Charakteristiken des Vorinverters 1002]
  • In 107 zeigt die laterale Achse Qi an und zeigt die vertikale Achse die Ausgangsspannung Vout an, die durch die Energieversorgungsspannung Vdd normalisiert ist, d. h. einen logischen Wert (1, 1), (1, 0), (0, 0) in 107 zeigen, dass die logischen Werte der zweiten Eingangssignalanschlüsse input2[h1] und input2[h2] (1, 1), (1, 0), (0, 0) sind.
  • Wie es in 107 gezeigt ist, kann durch Einstellen der Eingangsgate-Kapazitäten, wie es oben angegeben ist, und durch Verwenden von drei Werten (1, 1), (1, 0), (0, 0) in vier Werten, von welchen jeder durch die zwei zweiwertigen Eingangssignale dargestellt ist, ein Neuronen-MOS-Inverter entwickelt werden, der drei unterschiedliche Schwellenwerte hat.
  • [Schaltungsstruktur des Hauptinverters 1001]
  • Durch Verwenden des durch das oben angegebene Verfahren entwickelten Neuronen-MOS-Inverters als den Vorinverter 1002 kann die integrierte Schaltung 803, die durch eine geringere Anzahl von Vorinvertern als beim Ausführungsbeispiel 4-1 konfiguriert ist, irgendeine Logikfunktion realisieren. Im Folgenden wird ein Beispiel beschrieben werden, wenn k = 2 gilt.
  • 108 zeigt ein Schaltungsdiagramm einer integrierten Schaltung 804 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Diese integrierte Schaltung 804 kann die Logikfunktion bei k = 2 rekonfigurieren.
  • Gemäß dem Ausführungsbeispiel 4-4 sind 2k = 4 Vorinverter erforderlich, wenn k = 2. Andererseits werden die oben angegebenen Vorinverter in der integrierten Schaltung 804 so verwendet, dass drei Vorinverter zum Realisieren derselben Fähigkeit genug sind.
  • Der Hauptinverter 1100 hat Eingangsgate-Kapazitäten von Cm1, Cm2 zwischen den ersten Eingangssignalanschlüssen input1[1], input1[2] und dem schwebenden Gate, wobei Eingangsvariable x1 und x2 jeweils zu input1[1] und input1[2] eingegeben werden. Zusätzlich hat der Hauptinverter 1100 Eingangsgate-Kapazitäten von Cp1, Cp2, Cp3 zwischen den Anschlüssen, die mit den Ausgangsanschlüssen der Vorinverter 1101, 1102, 1103 verbunden sind, und dem schwebenden Gate. In der Schaltung 804 wird Cm1:Cm2 = 1:2 erfüllt, so dass die Eingangsvektoren identifiziert werden können. Die Eingangsgate-Kapazitätswerte Cp1, Cp2, Cp3 werden wie folgt bestimmt.
  • [Ein Verfahren zum Entscheiden über ein Eingangsgate-Kapazitätsverhältnis des Hauptinverters 1100]
  • Beim Ausführungsbeispiel 4-4 wird irgendeine Logikfunktion durch Entscheiden über einen Vorinverter in einer Eins-zu-Eins-Entsprechung mit einem jeweiligen Eingangsvektor und durch Assoziieren bzw. Verbinden des logischen Werts des Ausgangssignals mit dem logischen Wert des Ausgangssignals des Hauptinverters realisiert.
  • Andererseits wird gemäß der integrierten Schaltung 804 über einen Vorinverter, der in einer Eins-zu-Eins-Entsprechung mit einem vorbestimmten Eingangsvektor unter den vier Eingangsvektoren ist, unter den Vorinvertern 1101, 1102, 1103 entschieden. Dann wird der logische Wert des Ausgangssignals des entschiedenen Vorinverters mit dem logischen Wert des Ausgangssignals des Hauptinverters 1100 assoziiert bzw. verknüpft. Was die anderen drei Eingangsvektoren anbelangt, wird über den logischen Wert des Ausgangssignals des Hauptinverters 1100 durch eine Kombination der logischen Werte der Ausgangssignale der zwei Vorinverter entscheiden.
  • 109 zeigt die Beziehung zwischen Qi (oder einem Eingangsvektor) im Hauptinverter 1100 und der normalisierten Spannung des schwebenden Gates Ufg in der in 108 gezeigten integrierten Schaltung 804.
  • In 109 zeigt Σ2i=1 Cmi·Vmi (Formel 60) bei der lateralen Achse Qi an und zeigen (0, 0), (1, 0), (0, 1), (1, 1) die Eingangsvektoren der Eingangsvariablen (x1, x2) an. Die vertikale Achse zeigt die normalisierte Spannung des schwebenden Gates Ufg an.
  • In 109 zeigt Ufth die normalisierte Schwellenspannung des schwebenden Gates an und zeigt Ctotal die Gesamtsumme der Eingangsgate-Kapazitätswerte (Cm1 + Cm2 + Cp1 + Cp2 + Cp3) an.
  • Cp1 + Cp2 + Cp3 wird so eingestellt, dass bei dem Eingangsvektor (1, 1), bei welchem die Eingangs-Lademenge maximal ist, die normalisierte Spannung des schwebenden Gates Ufg zu der Zeit, zu welcher die logischen Werte von Ausgangssignalen von allen Vorinvertern 0 sind, die normalisierte Schwellenspannung des schwebenden Gates Ufth nicht übersteigt. Lasst uns annehmen, dass wm2, wp1, wp2, wp3 das Verhältnis von Cm2, Cp1, Cp2, Cp3 in Bezug auf Cm1 darstellen. Bei dem in 109 gezeigten Beispiel gilt wm2 = 2 und (wp1 + wp2 + wp3) = 4.
  • Als Nächstes werden wp1 und (wp2 + wp3) so eingestellt, dass bei dem Eingangsvektor (0, 0), bei welchem die Eingangs-Lademenge minimal ist, und wenn die Ausgangssignale der Vorinverter 1102, 1103 logisch 1 sind, die normalisierte Spannung des schwebenden Gates Ufg zu der Zeit, zu welcher die logischen Werte von Ausgangssignalen von allen Vorinvertern 0 sind, kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, und zusätzlich die normalisierte Spannung des schwebenden Gates Ufg zu der Zeit, zu welcher das Ausgangssignal des Vorinverters 1101 logisch 1 ist, größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist. Das in 109 gezeigte Beispiel ist wp1 = 1 und (wp2 + wp3) = 3.
  • Zusätzlich werden im Vorinverter 1101 zwei Eingangsschwellen-Lademengen Qith durch ein zweites Eingangssignal eingestellt, ist eine Qith kleiner als Qi des Eingangsvektors (0, 0) und ist eine weitere Qith zwischen den Eingangsvektoren (0, 0) und (1, 0).
  • Schließlich werden wp2 und wp3 so eingestellt, dass dann, wenn der Eingangsvektor (1, 1) ist, eine erste normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, wobei die erste normalisierte Spannung des schwebenden Gates Ufg ein Wert ist, wenn nur das Ausgangssignal des Vorinverters 1103 logisch 1 ist und die logischen Signale der Vorinverter 1101 und 1102 0 sind, und zusätzlich ist dann, wenn der Eingangsvektor (0, 1) ist, eine zweite normalisierte Spannung des schwebenden Gates Ufg kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth, wobei die zweite normalisierte Schwellenspannung des schwebenden Gates Ufth ein Wert ist, wenn nur das Ausgangssignal des Vorinverters 1103 logisch 1 ist und die logischen Signale der Vorinverter 1101 und 1102 0 sind.
  • Zusätzlich werden wp2 und wp3 so eingestellt, dass die folgenden Bedingungen erfüllt sind. Eine erste Bedingung besteht darin, dass dann, wenn der Eingangsvektor (1, 0) ist, eine erste normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, wobei die erste normalisierte Spannung des schwebenden Gates Ufg ein Wert ist, wenn die logischen Werte von Ausgangssignalen der Vorinverter 1101, 1102, 1103 (0, 1, 1) sind. Eine zweite Bedingung besteht darin, dass dann, wenn der Eingangsvektor (1, 0) ist, eine zweite normalisierte Spannung des schwebenden Gates Ufg kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, wobei die zweite normalisierte Schwellenspannung des schwebenden Gates Ufg ein Wert ist, wenn die Kombination (0, 1, 0) ist. Die dritte Bedingung besteht darin, dass dann, wenn der Eingangsvektor (0, 1) ist, eine dritte normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, wobei die dritte normalisierte Spannung des schwebenden Gates Ufg ein Wert ist, wenn die logischen Werte von Ausgangssignalen der Vorinverter 1101, 1102, 1103 (0, 1, 10) sind.
  • Bei einem in 109 gezeigten Beispiel gilt wp2 = 2 und wp3 = 1.
  • Zusätzlich werden in dem Vorinverter 1102 vier Schwellenwerte durch Anlegen von zwei zweiwertigen Signalen von den zwei zweiten Eingangssignalanschlüssen input2[21] und input2[22] eingestellt, wobei die vier Schwellenwerte in einem Bereich zwischen den Eingangsvektoren (0, 0) und (1, 0), einem Bereich zwischen den Eingangsvektoren (1, 0) und (0, 1), einem Bereich zwischen den Eingangsvektoren (0, 1) und (1, 1) und einem Bereich, der größer als der Eingangsvektor (1, 1) ist, sind.
  • Im Vorinverter 1103 werden drei Schwellenwerte durch Anlegen von zwei zweiwertigen Signalen von den zwei zweiten Eingangssignalanschlüssen input2[31] und input2[32] eingestellt, wobei die drei Schwellenwerte in einem Bereich zwischen den Eingangsvektoren (0, 0) und (1, 0), einem Bereich zwischen den Eingangsvektoren (0, 1) und (1, 1) und einem Bereich, der größer als der Eingangsvektor (1, 1) ist, sind.
  • Wie es oben angegeben ist, kann durch Bestimmen des Eingangsgate-Kapazitätsverhältnisses des Hauptinverters 1100 und der Schwellenwerte der Vorinverter 1101, 1102, 1103 irgendeine Logikfunktion realisiert werden, wenn die Anzahl k von Elementen 2 ist.
  • [Konkrete Konfigurationsdaten]
  • 110 zeigt Beziehungen zwischen der normalisierten Spannung des schwebenden Gates Ufg und logischen Werten (Yp2, Yp3) der Ausgangssignale der Vorinverter 1102, 1103, wenn die integrierte Schaltung 804 8 Logikfunktionen unter 16 Logikfunktionen realisiert, die durch Eingangsvariable x1 und x2 realisiert werden können, wenn die Anzahl k von Elementen 2 ist.
  • Die normalisierte Spannung des schwebenden Gates Ufg wird als 1 dargestellt, wenn sie größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist, und wird als 0 dargestellt, wenn sie kleiner als die normalisierte Schwellenspannung des schwebenden Gates Ufth ist. Der logische Wert des Ausgangssignals des Hauptinverters 1100 ist ein logisch invertierter Wert der normalisierten Spannung des schwebenden Gates Ufg in 110.
  • Was die integrierte Schaltung 804 anbelangt, wie sie in 109 gezeigt ist, wird der logische Wert des Ausgangssignals des Hauptinverters 1100 nur durch den zweiwertigen Wert des Ausgangssignals des Vorinverters 1101 bestimmt. Daher zeigt 110 einen Fall, bei welchem der logische Wert des Ausgangssignals des Vorinverters 1101 0 ist.
  • Wenn der Eingangsvektor (0, 0) ist, wird nur dann, wenn der logische Wert des Ausgangssignals des Vorinverters 1101 1 ist, ohne irgendein anderes Signal zu beeinflussen, die normalisierte Spannung des schwebenden Gates Ufg größer als die normalisierte Schwellenspannung des schwebenden Gates Ufth. Daher bedeutet ein Realisieren von 8 Logikfunktionen, dass alle der 16 Logikfunktionen realisiert werden können.
  • [Eine Zusammenfassung des Falls von k = 2]
  • Wie es oben angegeben ist, kann die integrierte Schaltung 804 irgendeine der 16 Logikfunktionen realisieren, wenn k = 2 gilt. Die integrierte Schaltung 801 des Ausführungsbeispiels 4-1 erfordert 4 Vorinverter, wenn k = 2 gilt. Andererseits kann die integrierte Schaltung 804 dieselbe Fähigkeit wie diejenige der integrierten Schaltung 801 mit drei Vorinvertern realisieren. Zusätzlich können durch Erniedrigen der Anzahl der Vorinverter die Bereichskosten der integrierten Schaltung gesenkt werden.
  • [Verallgemeinerung]
  • Im Folgenden wird es beschrieben werden, dass das oben angegebene Entwicklungsverfahren effektiv nicht nur für k = 2 verwendet werden kann, sondern auch für irgendeine Anzahl von k unter Verwendung von (3/4)·2k Vorinvertern.
  • 111 zeigt die Beziehung zwischen Eingangsvektoren oder Eingangs-Lademengen und der normalisierten Spannung des schwebenden Gates Ufg für einen Hauptinverter einer integrierten Schaltung, die durch dasselbe Entwicklungsverfahren entwickelt ist, erweitert auf k = 3, wie dasjenige der integrierten Schaltung 804.
  • Es existieren 2k Eingangsvektoren von k Eingangsvariablen, so dass es 2k Logikfunktionen gibt, die durch die Eingangsvektoren höchstens realisiert werden können. Lasst uns annehmen, dass die Eingangsvektoren in ansteigender Reihenfolge durch eine entsprechende Eingangs-Lademenge angeordnet sind und jeder von vier Eingangsvektoren zusammen in einen Block gebracht ist.
  • Demgemäß werden 2k-2 Blöcke erzeugt. Somit kann durch Anwenden desselben Verfahrens wie demjenigen für die integrierte Schaltung 804 auf jeden Block irgendeine Logikfunktion für Eingangsvektoren, die im Block enthalten sind, durch Verwenden von drei Vorinvertern für den Block realisiert werden.
  • In 111 sind Eingangsvektoren (0, 0, 0)~(1, 1, 0) in einem Block und sind auch Eingangsvektoren (0, 0, 1)~(1, 1, 1) in einem Block. Demgemäß kann es verstanden werden, dass die Beziehung zwischen den Eingangsvektoren und der normalisierten Spannung des schwebenden Gates Ufg eine periodische Struktur pro Einheit des Blocks hat.
  • [Zusammenfassung dieses Ausführungsbeispiels]
  • Gemäß dem Verfahren des Ausführungsbeispiels kann die 2k-te Potenz von 2 Logikfunktionen, die durch k Eingangsvariable realisiert werden können, durch Verwenden von (3/4)·2k Vorinvertern realisiert werden. Wie es oben angegeben ist, ist dann, wenn die Funktionskonfigurationsdaten durch mehrwertige Werte dargestellt sind, die Summe aus der Anzahl der zweiten Eingangssignale in der integrierten Schaltung dieselbe wie diejenige (2k) beim Ausführungsbeispiel 4-1 oder ist größer als 2k. Die Anzahl der Vorinverter kann einerseits erniedrigt werden, aber die Anzahl der zweiten Eingangssignale erhöht sich, so dass die Anzahl der Eingangsgate-Elektroden sich andererseits erhöht.
  • Jedoch ist allgemein der Effekt für die Bereichskosten, der durch Erniedrigen der Anzahl der Vorinverter erhalten wird, größer als der Effekt, der durch eine erhöhte Anzahl der Eingangsgate-Elektroden zum Eingeben der zweiten Eingangssignale erhalten wird. Somit kann durch Anwenden des oben angegebenen Ausführungsbeispiels die funktionsrekonfigurierbare integrierte Schaltung mit niedrigeren Bereichskosten realisiert werden.
  • (Ausführungsbeispiel 4-6)
  • Wie es beim Ausführungsbeispiel 4-5 angegeben ist, kann der Schwellenwert in Bezug auf das Eingangssignal als die Eingangs-Lademenge im Vorinverter der integrierten Schaltung 803 durch Anlegen einer Vielzahl von zweiten Eingangssignalen eingestellt werden.
  • Im Folgenden wird es beschrieben werden, dass dieselbe Fähigkeit durch Verwenden von physikalisch mehrwertigen Werten als Eingangssignale selbst dann realisiert werden kann, wenn nur ein zweiter Eingangssignalanschluss verwendet wird.
  • [Struktur einer integrierten Schaltung, wenn die mehrpegeligen Spannungen verwendet werden: Vergleichen mit dem Ausführungsbeispiel 4-5]
  • 112 zeigt die Schaltungsstruktur der funktionsrekonfigurierbaren integrierten Schaltung 805, die mehrpegelige Spannungen als das zweite Eingangssignal verwendet. Die Eingangsgate-Kapazitätswerte des Hauptinverters 1200 und die Schwellenspannung des schwebenden Gates werden auf dieselbe Weise wie bei der integrierten Schaltung 804 des Ausführungsbeispiels 4-5 eingestellt. Die integrierte Schaltung 805 ist von der integrierten Schaltung 804 bezüglich eines Verfahrens zum Entwickeln der Anzahl der zweiten Eingangssignalanschlüsse und der Schwellenwerte der Vorinverter 1201 unterschiedlich.
  • [Schaltungsstruktur und der Betrieb des Vorinverters]
  • 113 zeigt die Schaltungsstruktur des Vorinverters 1201 der integrierten Schaltung 805. Die Schaltungsstruktur und der Betrieb des Vorinverters 1201 werden im Vergleich mit dem Neuronen-MOS-Inverter INV3 beschrieben werden. Weiterhin wird es beschrieben werden, dass ein Anlegen einer Vielzahl von zweiwertigen zweiten Eingangssignalen äquivalent zu einem Anlegen von einem zweiten Eingangssignal der mehrpegeligen Spannung ist, so dass die vollständig selbe Fähigkeit realisiert werden kann.
  • Der Wert C2h wird auf den Wert C2h1 + C2h2 eingestellt, wobei C2h einen Wert einer Kapazität eines Eingangsgates anzeigt, das mit dem zweiten Eingangssignalanschluss input2[h] des Vorinverters 1201, der in 113 gezeigt ist, verbunden ist, C2h1 und C2h2 Werte von Kapazitäten von Eingangsgates sind, zu welchen die zweiten Eingangssignale in dem in 105 gezeigten Neuronen-MOS-Inverter INV3 eingegeben werden.
  • 114 zeigt die Beziehung zwischen den Eingangsvektoren oder den Eingangs-Lademengen Qi des Vorinverters 1201 und der normalisierten Spannung des schwebenden Gates Ufg, wenn die oben angegebenen Eingangsgate-Kapazitätswerte verwendet werden.
  • In 114 stellt Ctotal C11 + C12 + C2h + Cgnd dar, ist Linie 0 die normalisierte Spannung des schwebenden Gates Ufg, wenn das zu dem zweiten Eingangssignalanschluss input2[h] eingegebene Signal logisch 0 ist, ist Linie 1 die normalisierte Spannung des schwebenden Gates Ufg, wenn das zu dem zweiten Eingangssignalanschluss input2[h] eingegebene Signal logisch 1 ist.
  • Wenn das Eingangssignal ein zweiwertiger Wert ist, können nur zwei Zustände von Linie 0 und Linie 1 genommen werden. Andererseits kann dann, wenn der mehrwertige Wert verwendet wird, irgendein Wert zwischen Linie 0 und Linie 1 genommen werden. Als ein mehrwertiger Wert können durch Verwenden von logisch 1/3 die Eingangsschwellen-Lademengen Qith auf dieselbe Weise wie diejenigen eingestellt werden, die in 106 gezeigt sind. Das heißt, dass zum Einstellen von Qith auf dieselbe Qi von 106 drei Werte 1, (1/3) und 0 als das zweite Eingangssignal des Vorinverters 1201 der 113 verwendet werden können.
  • Gemäß dem oben angegebenen Ausführungsbeispiel kann durch Verwenden der mehrpegeligen Spannung als das zweite Eingangssignal dieselbe Fähigkeit wie diejenige, die dann realisiert wird, wenn eine Vielzahl von zweiwertigen Eingangssignalen verwendet wird, realisiert werden.
  • Gemäß dem Entwicklungsverfahren der funktionsrekonfigurierbaren integrierten Schaltung der vorliegenden Erfindung kann irgendeine Fähigkeit einer Logikfunktion in der Neuronen-MOS-Schaltung auf einfache Weise und mit niedrigen Kosten implementiert werden.
  • Zusätzlich können gemäß der durch das Verfahren entwickelten integrierten Schaltung die Logikfunktionen rekonfiguriert werden und können die Bereichskosten auf gering unterdrückt werden.

Claims (9)

  1. Funktionsrekonfigurierbare integrierte Schaltung mit wenigstens einem Neuronen-MOS-Transistor mit einem Schalter; wobei der Neuronen-MOS-Transistor ein Element zwischen einer Elektrode eines schwebenden Gates und einem Anschluss einer vorbestimmten Spannung enthält, wobei das Element einen leitenden Zustand und einen unterbrochenen Zustand oder einen Zustand einer elektrisch hohen Impedanz annehmen kann; wobei die integrierte Schaltung eine Symmetriefunktionsfähigkeit und eine Selektorfähigkeit durch Steuern wenigstens einer von drei Spannungen hat, wobei eine erste Spannung der drei Spannungen eine Spannung der Elektrode des schwebenden Gates zu einer Zeit ist, zu welcher das Element in dem leitenden Zustand ist, wobei eine zweite Spannung der drei Spannungen eine Spannung eines Eingangsanschlusses des Neuronen-MOS-Transistors zu einer Zeit ist, zu welcher das Element in dem leitenden Zustand ist, wobei eine dritte Spannung der drei Spannungen eine Spannung des Eingangsanschlusses des Neuronen-MOS-Transistors zu einer Zeit ist, zu welcher das Element in dem unterbrochenen Zustand ist.
  2. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 1, wobei der Neuronen-MOS-Transistor folgendes aufweist: einen auf einem Substrat angeordneten Halbleiterbereich eines ersten Leitfähigkeitstyps; einen Source-Bereich und einen Drain-Bereich eines zweiten Leitfähigkeitstyps, die auf dem Halbleiterbereich vorgesehen sind; die auf einem Bereich, der den Source-Bereich und den Drain-Bereich über einen Isolierfilm trennt, vorgesehene Elektrode des schwebenden Gates, die als in einem schwebenden Zustand angesehen werden kann, wobei die mit dem Anschluss verbundene Elektrode des schwebenden Gates eine vorbestimmte Spannung über das Element hat; eine Vielzahl von Eingangs-Gate-Elektroden, die mit der Elektrode des schwebenden Gates über einen Isolierfilm kapazitiv gekoppelt sind.
  3. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 1, die folgendes aufweist: zwei Stufen, wobei eine erste Stufe in den zwei Stufen k + 1 Schwellenelemente enthält, die die Neuronen-MOS-Transistoren verwenden, wobei eine zweite Stufe in den zwei Stufen ein Schwellenelement enthält, das den Neuronen-MOS-Transistor verwendet; wobei jedes der k + 1 Schwellenelemente in der ersten Stufe k erste Eingangssignalanschlüsse enthält, einen zweiten Eingangssignalanschluss, der unterschiedlich von anderen zweiten Eingangssignalanschlüssen von anderen Schwellenelementen ist; wobei das Schwellenelement in der zweiten Stufe Anschlüsse zum Eingeben von k ersten Einganssignalen und k + 1 Anschlüsse zum Eingeben von Signalen basierend auf Ausgangssignalen der k + 1 Schwellenelemente der ersten Stufe enthält; wobei jedes der Schwellenelemente in der ersten Stufe einen Schwellenwert hat, der unterschiedlich von einem Schwellenwert von irgendeinem anderen Schwellenelement in der ersten Stufe ist; wobei das Schwellenelement in der zweiten Stufe Produkte aus einer positiven Gewichtung und umgekehrten Signalen von von den k + 1 Schwellenelementen der ersten Stufe ausgegebenen Signalen empfängt.
  4. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 1, die weiterhin eine Umschaltschaltung aufweist, die zwischen der Symmetriefunktionsfähigkeit und der Selektorfähigkeit auswählt.
  5. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 1, die weiterhin eine Steuerschaltung aufweist, die zwischen vier Moden umschaltet; wobei in einem ersten Mode die Symmetriefunktionsfähigkeit nur während eines Anlegens von Funktionskonfigurationsdaten realisiert wird; wobei in einem zweiten Mode die Funktionskonfigurationsdaten gespeichert werden; wobei in einem dritten Mode die Selektorfähigkeit nur während eines Anlegens einer Adresse eines auszuwählenden Signals realisiert wird; wobei in einem vierten Mode die Adresse gespeichert wird.
  6. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 1, wobei die funktionsrekonfigurierbare integrierte Schaltung Schwellenelemente aufweist, die den Neuronen-MOS-Transistor mit einem Schalter verwenden, der eine Inverterschaltung ausbildet.
  7. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 3, wobei das Schwellenelement den Neuronen-MOS-Transistor mit einem Schalter verwendet, der ein Element ist, das eine Inverterschaltung ausbildet.
  8. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 3, wobei Ausgangsanschlüsse der Schwellenelemente der ersten Stufe mit Eingangsanschlüssen des Schwellenelements der zweiten Stufe über Schaltungen verbunden sind, die Wellenformungsschaltungen enthalten.
  9. Funktionsrekonfigurierbare integrierte Schaltung nach Anspruch 3, die weiterhin eine Schaltung aufweist, die eine Verzögerungsschaltung enthält, die auf einem Pfad vorgesehen ist, über welchen ein Signal an das Schwellenelement der zweiten Stufe angelegt wird.
DE60133595T 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung Expired - Lifetime DE60133595T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2000005942 2000-01-07
JP2000005942A JP3485849B2 (ja) 2000-01-07 2000-01-07 関数機能構成データ保持方法及びその方法を用いた集積回路
JP2000031557 2000-02-09
JP2000031557A JP3485854B2 (ja) 2000-02-09 2000-02-09 関数機能再構成可能な集積回路
JP2000080022 2000-03-22
JP2000080022A JP3565495B2 (ja) 2000-03-22 2000-03-22 論理関数機能再構成可能な集積回路およびその設計方法

Publications (2)

Publication Number Publication Date
DE60133595D1 DE60133595D1 (de) 2008-05-21
DE60133595T2 true DE60133595T2 (de) 2009-04-30

Family

ID=27342041

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60138145T Expired - Lifetime DE60138145D1 (de) 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung
DE60138432T Expired - Lifetime DE60138432D1 (de) 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung
DE60133595T Expired - Lifetime DE60133595T2 (de) 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60138145T Expired - Lifetime DE60138145D1 (de) 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung
DE60138432T Expired - Lifetime DE60138432D1 (de) 2000-01-07 2001-01-03 Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung

Country Status (3)

Country Link
US (1) US7075827B2 (de)
EP (3) EP1630686B1 (de)
DE (3) DE60138145D1 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
JP4856848B2 (ja) * 2001-10-11 2012-01-18 アルテラ コーポレイション プログラマブルロジックリソース上のエラー検出
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7571287B2 (en) 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
US7350176B1 (en) * 2003-07-17 2008-03-25 Altera Corporation Techniques for mapping to a shared lookup table mask
EP1676208A2 (de) 2003-08-28 2006-07-05 PACT XPP Technologies AG Datenverarbeitungseinrichtung und verfahren
JP4316473B2 (ja) * 2004-10-29 2009-08-19 パナソニック株式会社 電圧検出回路、過電流検出回路、充電電流制御システム、及び電圧検出方法
US7530033B2 (en) * 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
JP5058644B2 (ja) * 2007-03-26 2012-10-24 株式会社東芝 ニューロンmosトランジスタ
US8131915B1 (en) 2008-04-11 2012-03-06 Marvell Intentional Ltd. Modifying or overwriting data stored in flash memory
US8683085B1 (en) 2008-05-06 2014-03-25 Marvell International Ltd. USB interface configurable for host or device mode
US8213228B1 (en) 2008-11-06 2012-07-03 Marvell International Ltd. Flash memory read performance
US8611151B1 (en) 2008-11-06 2013-12-17 Marvell International Ltd. Flash memory read performance
US8947929B1 (en) 2008-11-06 2015-02-03 Marvell International Ltd. Flash-based soft information generation
US8423710B1 (en) 2009-03-23 2013-04-16 Marvell International Ltd. Sequential writes to flash memory
JP5438358B2 (ja) * 2009-04-13 2014-03-12 キヤノン株式会社 データ処理装置及びその制御方法
US8213236B1 (en) * 2009-04-21 2012-07-03 Marvell International Ltd. Flash memory
US8311965B2 (en) * 2009-11-18 2012-11-13 International Business Machines Corporation Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material
US8756394B1 (en) 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
US8677225B1 (en) 2011-02-11 2014-03-18 Marvell International Ltd. Low-density parity-check decoder
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
CN107764874B (zh) * 2016-08-15 2020-10-16 南京大学 一种新型主动噪声控制生物传感器
WO2019032870A1 (en) 2017-08-09 2019-02-14 Google Llc ACCELERATION OF NEURAL NETWORKS IN MATERIAL USING INTERCONNECTED CROSSBARS
CN109522155B (zh) * 2018-10-29 2020-11-03 中国科学院长春光学精密机械与物理研究所 基于动态切换的空间应用嵌入式软件自修复系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873661A (en) * 1987-08-27 1989-10-10 Yannis Tsividis Switched neural networks
US5381515A (en) * 1988-12-09 1995-01-10 Synaptics, Incorporated Two layer neural network comprised of neurons with improved input range and input offset
US5305250A (en) * 1989-05-05 1994-04-19 Board Of Trustees Operating Michigan State University Analog continuous-time MOS vector multiplier circuit and a programmable MOS realization for feedback neural networks
JP3122756B2 (ja) * 1991-01-12 2001-01-09 直 柴田 半導体装置
US5256911A (en) 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
US5343555A (en) * 1992-07-06 1994-08-30 The Regents Of The University Of California Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights
JP3289736B2 (ja) 1992-08-26 2002-06-10 直 柴田 半導体集積回路
JP3278080B2 (ja) * 1993-02-22 2002-04-30 直 柴田 半導体集積回路
JP3289749B2 (ja) 1993-12-02 2002-06-10 直 柴田 半導体集積回路
US5990709A (en) * 1995-06-09 1999-11-23 Siemens Aktiengesellschaft Circuit for comparing two electrical quantities provided by a first neuron MOS field effect transistor and a reference source
JP3337599B2 (ja) * 1995-07-24 2002-10-21 株式会社リコー 半導体装置およびインバータ回路並びにコンパレータ並びにa/dコンバータ回路
JP3639883B2 (ja) * 1995-10-03 2005-04-20 国立大学法人東北大学 瞬時認識機能を有する演算回路及び瞬時認識方式
US5835633A (en) * 1995-11-20 1998-11-10 International Business Machines Corporation Concurrent two-stage multi-network optical character recognition system
EP0833347B1 (de) * 1996-09-30 2005-12-28 STMicroelectronics S.r.l. Programmierbare Referenzspannungsquelle, insbesondere für Analogspeicher
JP3760614B2 (ja) 1997-12-26 2006-03-29 ソニー株式会社 半導体装置及びその制御方法
JPH11317085A (ja) * 1998-05-08 1999-11-16 Sony Corp プログラム・ベリファイ回路及びプログラム・ベリファイ方法
RU2131145C1 (ru) * 1998-06-16 1999-05-27 Закрытое акционерное общество Научно-технический центр "Модуль" Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор

Also Published As

Publication number Publication date
EP1630685A2 (de) 2006-03-01
EP1630685B1 (de) 2008-04-09
EP1630686B1 (de) 2009-03-25
US7075827B2 (en) 2006-07-11
DE60138145D1 (de) 2009-05-07
EP1115204B1 (de) 2009-04-22
EP1630686A3 (de) 2007-05-09
US20020105833A1 (en) 2002-08-08
DE60133595D1 (de) 2008-05-21
DE60138432D1 (de) 2009-06-04
EP1630686A2 (de) 2006-03-01
EP1630685A3 (de) 2006-09-06
EP1115204A2 (de) 2001-07-11
EP1115204A3 (de) 2003-06-11

Similar Documents

Publication Publication Date Title
DE60133595T2 (de) Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung
US5537512A (en) Neural network elements
DE69534812T2 (de) Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration
US5010512A (en) Neural network having an associative memory that learns by example
CN105739944A (zh) 一种基于忆阻器的多进制加法运算电路及其操作方法
US5065040A (en) Reverse flow neuron
CN108229669A (zh) 神经网络阵列的自学习
EP0834117B1 (de) Schaltungsanordnung zum vergleich zweier elektrischer grössen, die von einem ersten neuron-mos-feldeffekttransistor und einer referenzquelle zur verfügung gestellt werden
KR102514931B1 (ko) 확장 가능한 뉴로모픽 회로
Haghiri et al. A memristor based binary multiplier
JPH0277871A (ja) 神経回路網
EP1723723B1 (de) Logik-grundzelle, logik-grundzellen-anordnung und logik-vorrichtung
DE60307050T2 (de) Schaltung und verfahren für logische operationen
DE10217375B4 (de) Schaltungsanordnung und Verfahren zur Erzeugung eines Dual-Rail-Signals
Ochs et al. Neural network topology formation using memristive Jaumann structures
Tsyrulnyk et al. Simulation of Logic Elements in Reverse Mode for Building Neural Networks.
CN104300965A (zh) 采用带通阈加载技术的k值和十值半加器和半减器的构建方法及其电路
Rippert et al. A multilayered superconducting neural network implementation
US6037626A (en) Semiconductor neuron with variable input weights
RU2187841C2 (ru) Способы обучения в двоичных системах
JP3760614B2 (ja) 半導体装置及びその制御方法
Al-Rabadi Reversible logic neural networks
JP3130913B2 (ja) 信号処理装置
JPH05217010A (ja) 信号処理装置
Mulvaney et al. Spiking Neural Networks on Self-updating System-on-chip for Autonomous Control

Legal Events

Date Code Title Description
8364 No opposition during term of opposition