DE112017004148T5 - Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung - Google Patents

Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung Download PDF

Info

Publication number
DE112017004148T5
DE112017004148T5 DE112017004148.1T DE112017004148T DE112017004148T5 DE 112017004148 T5 DE112017004148 T5 DE 112017004148T5 DE 112017004148 T DE112017004148 T DE 112017004148T DE 112017004148 T5 DE112017004148 T5 DE 112017004148T5
Authority
DE
Germany
Prior art keywords
circuit
state
programmable logic
task
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017004148.1T
Other languages
English (en)
Inventor
Yuki Okamoto
Yoshiyuki Kurokawa
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.)
Semiconductor Energy Laboratory Co Ltd
Original Assignee
Semiconductor Energy Laboratory Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Energy Laboratory Co Ltd filed Critical Semiconductor Energy Laboratory Co Ltd
Publication of DE112017004148T5 publication Critical patent/DE112017004148T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • G11C11/4125Cells incorporating circuit means for protecting against loss of information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017581Coupling arrangements; Interface arrangements programmable
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Bereitgestellt wird ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung, die einen CPU und eine PLD beinhaltet, die selbst in einem Sperrzustand Daten halten können. Die Halbleitervorrichtung beinhaltet einen Prozessor, eine programmierbare logische Vorrichtung und eine Zustandssteuerschaltung. Die programmierbare logische Vorrichtung beinhaltet eine erste nichtflüchtige Speicherschaltung und weist dann, wenn sie ausgeschaltet ist, eine Funktion zum Halten von Daten auf, die durch eine arithmetische Verarbeitung erhalten werden. Die Zustandssteuerschaltung erhält Daten über die Menge einer Task, die gemäß einem Befehl des Prozessors von der programmierbaren logischen Vorrichtung ausgeführt wird. Die programmierbare logische Vorrichtung erfasst den Zustand des Ablaufs der Task und gibt ein Signal an die Zustandssteuerschaltung aus. Die Zustandssteuerschaltung überwacht die Menge der Task und den Zustand des Ablaufs der Task und schaltet die programmierbare logische Vorrichtung aus, wenn die Task abgeschlossen wird.

Description

  • Technisches Gebiet
  • Eine Ausführungsform der vorliegenden Erfindung betrifft ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung.
  • Stand der Technik
  • Als Vorrichtung, deren Schaltungskonfiguration beliebig von einem Benutzer geändert werden kann, ist eine programmierbare logische Vorrichtung (programmable logic device, PLD) bekannt.
  • Ein Logikelement, das in der PLD enthalten ist, beinhaltet eine Lookup-Tabelle (LUT) und ein Register. Wenn Daten, die in einem Konfigurationsspeicher gespeichert sind, der in der LUT enthalten ist, geändert werden, kann eine Funktion des Logikelements geändert werden.
  • Patentdokument 1 offenbart eine Schaltungskonfiguration, bei der ein Transistor, der in dessen Kanalbildungsbereich ein als Halbleiter dienendes Metalloxid enthält (OS-Transistor), mit einem Gate eines Transistors, der in dessen Kanalbildungsbereich Silizium enthält (Si-Transistors), verbunden ist. Bei der Schaltungskonfiguration können Konfigurationsdaten und Daten in dem Register gehalten werden, selbst wenn sich die PLD in einem Sperrzustand befindet.
  • Patentdokument 2 offenbart eine Konfiguration, bei der ein OS-Transistor mit einem Gate eines Si-Transistors verbunden ist und Daten in dem Register selbst dann gehalten werden, wenn sich ein Hauptprozessor (central processing unit, CPU) in einem Sperrzustand befindet. Der CPU führt gemäß einem auszuführenden Programm verschiedene Arten von arithmetischen Verarbeitungen aus. Eine PLD oder ein Grafikprozessor (GPU) kann als Coprozessor verwendet werden, um die Rechenleistung des CPU zu verbessern.
  • [Referenz]
  • [Patentdokument]
    • [Patentdokument 1] US-Patentanmeldung mit der Veröffentlichungsnummer 2014/0126271
    • [Patentdokument 2] US-Patentanmeldung mit der Veröffentlichungsnummer 2012/0170355
  • Offenbarung der Erfindung
  • Es ist zu erwarten, dass durch die Kombination aus der vorstehenden CPU und PLD, die Daten selbst im Sperrzustand halten können, eine verbesserte Rechenleistung und ein geringerer Stromverbrauch erzielt werden. Um diese zu erzielen, ist es wünschenswert, dass der CPU und/oder die PLD während einer angemessenen Periode ausgeschaltet sind/ist, so dass der Stromverbrauch verringert werden kann, ohne die Rechenleistung zu verringern.
  • Eine Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung bereitzustellen, die einen CPU und eine PLD beinhaltet, die selbst in einem Sperrzustand Daten halten können.
  • Eine Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung, die einen Prozessor, eine programmierbare logische Vorrichtung und eine Zustandssteuerschaltung beinhaltet. Wenn die programmierbare logische Vorrichtung ausgeschaltet ist, hält sie Daten, die durch eine arithmetische Verarbeitung erhalten werden, in einer ersten nichtflüchtigen Speicherschaltung. Die Zustandssteuerschaltung hält Daten entsprechend einem Zustand einer Task, die gemäß einem Befehl des Prozessors von der programmierbaren logischen Vorrichtung ausgeführt wird. Die programmierbare logische Vorrichtung erfasst einen Zustand des Ablaufs der Task und gibt ein Signal an die Zustandssteuerschaltung aus. Die Zustandssteuerschaltung schaltet die programmierbare logische Vorrichtung aus, wenn die Task abgeschlossen wird.
  • Eine weitere Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung, die einen Prozessor, eine programmierbare logische Vorrichtung, eine Zustandssteuerschaltung und eine Strommanagementeinheit beinhaltet. Wenn die programmierbare logische Vorrichtung ausgeschaltet ist, hält sie Daten, die durch eine arithmetische Verarbeitung erhalten werden, in einer ersten nichtflüchtigen Speicherschaltung. Wenn der Prozessor ausgeschaltet ist, hält er Daten, die durch eine arithmetische Verarbeitung erhalten werden, in einer zweiten nichtflüchtigen Speicherschaltung des Prozessors. Die Zustandssteuerschaltung hält Daten entsprechend einem Zustand einer Task, die gemäß einem Befehl des Prozessors von der programmierbaren logischen Vorrichtung ausgeführt wird. Die programmierbare logische Vorrichtung erfasst einen Zustand des Ablaufs der Task und gibt ein Signal an die Zustandssteuerschaltung aus. Die Zustandssteuerschaltung schaltet die programmierbare logische Vorrichtung aus, wenn die Task abgeschlossen wird. Die Strommanagementeinheit schaltet den Prozessor aus, wenn der Befehl abgeschlossen wird.
  • Bei jeder der vorstehenden Ausführungsformen umfasst die programmierbare logische Vorrichtung vorzugsweise einen ersten programmierbaren Bereich und einen zweiten programmierbaren Bereich. Der erste programmierbare Bereich weist eine Schaltungskonfiguration auf, bei der der Zustand des Ablaufs der Task erfasst wird. Der zweite programmierbare Bereich weist eine Schaltungskonfiguration auf, bei der eine arithmetische Verarbeitung auf Basis der Task ausgeführt wird.
  • Es sei angemerkt, dass weitere Ausführungsformen der vorliegenden Erfindung nachstehend in der Beschreibung von Ausführungsformen und in den Zeichnungen gezeigt werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung bereitzustellen, die einen CPU und eine PLD beinhaltet, die Daten selbst in einem Sperrzustand halten können. Dieses Steuerverfahren kann eine Verbesserung der Rechenleistung und einen geringen Stromverbrauch erzielen.
  • Figurenliste
    • 1 ist ein Blockschema, das eine Ausführungsform der vorliegenden Erfindung darstellt.
    • 2 ist ein Zustandsübergangsdiagramm, das eine Ausführungsform der vorliegenden Erfindung darstellt.
    • 3 ist ein Flussdiagramm, das eine Ausführungsform der vorliegenden Erfindung zeigt.
    • 4 ist ein Blockschema, das eine PLD darstellt.
    • 5 ist ein Blockschema, das eine PLD darstellt.
    • 6 ist ein Blockschema, das eine Ausführungsform der vorliegenden Erfindung darstellt.
    • 7 ist ein Diagramm, das ein Konfigurationsbeispiel einer PLD darstellt.
    • 8 ist ein Diagramm, das ein Konfigurationsbeispiel eines LE darstellt.
    • 9A und 9B sind Diagramme, die jeweils ein Konfigurationsbeispiel einer Schaltung darstellen.
    • 10 ist ein Diagramm, das ein Konfigurationsbeispiel einer Schaltung darstellt.
    • 11A und 11B sind Diagramme, die jeweils ein Konfigurationsbeispiel einer Schaltung darstellen.
    • 12 ist ein Diagramm, das ein Konfigurationsbeispiel einer Schaltung darstellt.
    • 13A und 13B sind Diagramme, die jeweils ein Konfigurationsbeispiel einer Schaltung darstellen.
  • Beste Art der Ausführung der Erfindung
  • Nachfolgend werden Ausführungsformen anhand von Zeichnungen beschrieben. Es sei angemerkt, dass die Ausführungsformen in verschiedenen Modi ausgeführt werden können, und es erschließt sich einem Fachmann ohne Weiteres, dass Modi und Details auf verschiedene Weise geändert werden können, ohne dabei vom Erfindungsgedanken und Schutzbereich der vorliegenden Erfindung abzuweichen. Deshalb sollte eine Ausführungsform der vorliegenden Erfindung nicht als auf die Beschreibung der folgenden Ausführungsformen beschränkt angesehen werden.
  • In dieser Beschreibung und dergleichen wird mit einem Metalloxid ein Oxid eines Metalls im weiteren Sinne gemeint. Metalloxide werden in einen Oxidisolator, einen Oxidleiter (darunter auch einen durchsichtigen Oxidleiter), einen Oxidhalbleiter (oxide semiconductor; auch einfach als OS bezeichnet) und dergleichen eingeteilt. Beispielsweise wird ein Metalloxid, das in einer Halbleiterschicht eines Transistors verwendet wird, in einigen Fällen als Oxidhalbleiter bezeichnet. Das heißt, dass ein Metalloxid mit mindestens einer Verstärkungsfunktion, einer Gleichrichterfunktion oder einer Schaltfunktion als Metalloxidhalbleiter oder kurz als OS bezeichnet werden kann. Des Weiteren ist ein OS-FET ein Transistor, der ein Metalloxid oder einen Oxidhalbleiter enthält.
  • In dieser Beschreibung und dergleichen wird ein Metalloxid, das Stickstoff enthält, in einigen Fällen auch als Metalloxid bezeichnet. Zudem kann ein Metalloxid, das Stickstoff enthält, als Metalloxynitrid bezeichnet werden.
  • In dieser Beschreibung und dergleichen könnte „Kristall mit Ausrichtung bezüglich der c-Achse (c-axis aligned crystal, CAAC)“ oder „wolkenartig ausgerichtetes Verbundmaterial (cloud-aligned composite, CAC)“ angegeben werden. CAAC bezeichnet ein Beispiel für eine Kristallstruktur, und CAC bezeichnet ein Beispiel für eine Funktion oder eine Materialzusammensetzung.
  • In dieser Beschreibung und dergleichen weist ein CAC-OS oder ein CAC-Metalloxid eine leitende Funktion in einem Teil des Materials auf und weist eine isolierende Funktion in einem anderen Teil des Materials auf; als Ganzes weist der CAC-OS oder das CAC-Metalloxid eine Funktion eines Halbleiters auf. In dem Fall, in dem der CAC-OS oder das CAC-Metalloxid in einer Halbleiterschicht eines Transistors verwendet wird, ermöglicht die leitende Funktion, dass Elektronen (oder Löcher) fließen, die als Ladungsträger dienen, und ermöglicht die isolierende Funktion nicht, dass Elektronen fließen, die als Ladungsträger dienen. Durch die komplementäre Wirkung der leitenden Funktion und der isolierenden Funktion kann der CAC-OS oder das CAC-Metalloxid eine Schaltfunktion (Ein-/Ausschaltfunktion) aufweisen. In dem CAC-OS oder CAC-Metalloxid kann eine Trennung der Funktionen jede Funktion maximieren.
  • In dieser Beschreibung und dergleichen umfasst der CAC-OS oder das CAC-Metalloxid leitende Bereiche und isolierende Bereiche. Die leitenden Bereiche weisen die oben beschriebene leitende Funktion auf, und die isolierenden Bereiche weisen die oben beschriebe isolierende Funktion auf. In einigen Fällen sind die leitenden Bereiche und die isolierenden Bereiche in der Größenordnung von Nanoteilchen in dem Material getrennt. In einigen Fällen sind die leitenden Bereiche und die isolierenden Bereiche in dem Material ungleichmäßig verteilt. Die leitenden Bereiche werden in einigen Fällen wolkenartig gekoppelt beobachtet, wobei ihre Grenzen unscharf sind.
  • Des Weiteren weisen in einigen Fällen in dem CAC-OS oder dem CAC-Metalloxid die leitenden Bereiche und die isolierenden Bereiche jeweils eine Größe von größer als oder gleich 0,5 nm und kleiner als oder gleich 10 nm, bevorzugt größer als oder gleich 0,5 nm und kleiner als oder gleich 3 nm auf, und sie sind in dem Material dispergiert.
  • Der CAC-OS oder das CAC-Metalloxid enthält Komponenten mit unterschiedlichen Bandlücken. Der CAC-OS oder das CAC-Metalloxid enthält beispielsweise eine Komponente mit einer großen Lücke aufgrund des isolierenden Bereichs und eine Komponente mit einer kleinen Lücke aufgrund des isolierenden Bereichs. Im Falle einer derartigen Zusammensetzung fließen Ladungsträger hauptsächlich in der Komponente mit einer kleinen Lücke. Die Komponente mit einer kleinen Lücke komplementiert die Komponente mit einer großen Lücke, und Ladungsträger fließen auch in der Komponente mit einer großen Lücke in Zusammenhang mit der Komponente mit einer kleinen Lücke. Folglich kann in dem Fall, in dem der oben beschriebene CAC-OS oder das CAC-Metalloxid in einem Kanalbereich eines Transistors verwendet wird, eine hohe Stromtreiberfähigkeit in dem Durchlasszustand des Transistors, d. h. ein hoher Durchlassstrom und eine hohe Feldeffektbeweglichkeit, erhalten werden.
  • Mit anderen Worten: CAC-OS oder CAC-Metalloxid kann als Matrix-Verbundmaterial oder Metall-Matrix-Verbundmaterial bezeichnet werden.
  • (Ausführungsform 1)
  • Bei dieser Ausführungsform wird ein Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung beschrieben. In dieser Beschreibung ist mit einer Halbleitervorrichtung im Allgemeinen eine Vorrichtung gemeint, die unter Nutzung von Halbleitereigenschaften arbeiten kann. Insbesondere ist mit einer Halbleitervorrichtung eine Vorrichtung oder ein System gemeint, die/das eine Schaltung, wie z. B. einen CPU oder eine PLD, beinhaltet.
  • <Konfiguration einer Halbleitervorrichtung>
  • 1 ist ein Blockschema einer Halbleitervorrichtung. Die Halbleitervorrichtung in 1 beinhaltet einen CPU 11, einen Speicher 12 („MEM“ in dem Diagramm), einen Bus 13 („BUS“ in dem Diagramm), eine PLD 21, eine Strommanagementeinheit 31 („PMU“ in dem Diagramm), eine Zustandssteuerschaltung 32 („FCTR“ in dem Diagramm), einen Multiplexer 51 („MUX“ in dem Diagramm) und Konfigurations-ROMs 52A, 52B und 52C („ROM1“, „ROM2“ und „ROM3“ in dem Diagramm).
  • Der Bus 13 weist eine Funktion auf, den CPU 11 mit verschiedenen Modulen zu verbinden. Die PLD 21 ist eine Schaltung, die zur Umschaltung einer Task gemäß Konfigurationsdaten und zur Ausführung der Task geeignet ist. Die PLD 21 dient als feldprogrammierbare Gateanordnung (field programmable gate array, FPGA). Die Zustandssteuerschaltung 32 weist eine Funktion zum Steuern des Zustands der PLD 21 auf. Die Konfigurations-ROMs 52A bis 52C sind jeweils eine Schaltung zum Speichern von Konfigurationsdaten entsprechend einer Task der PLD 21. Der Multiplexer 51 ist eine Schaltung zum Auswählen eines beliebigen der Konfigurations-ROMs 52A bis 52C.
  • Wie in 1 dargestellt, umfasst ein vorgeschlagenes System eine Stromdomäne 10 („Domäne 1“ in dem Diagramm), eine Stromdomäne 20 („Domäne 2“ in dem Diagramm) und eine Stromdomäne 30 („Domäne 3“ in dem Diagramm). Die Stromdomäne 10 umfasst den CPU 11, den Speicher 12 und den Bus 13. Die Stromdomäne 20 umfasst die PLD 21. Die Stromdomäne 30 umfasst die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32. Es sei angemerkt, dass die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32 in unterschiedlichen Domänen bereitgestellt sein können.
  • Der CPU 11 führt verschiedene Arten von arithmetischen Verarbeitungen gemäß einem Programm aus. Der CPU 11 wird auch als Prozessor bezeichnet. Der CPU 11 erkennt den Speicher 12, die Strommanagementeinheit 31, die Zustandssteuerschaltung 32 und die PLD 21 als Speicher, die bestimmten logischen Adressen zugeordnet sind. Das heißt, dass ein Adresssignal, das von dem CPU 11 übertragen worden ist, über eine Adresssignalleitung ADD und den Bus 13 auf ein gewünschtes Modul übertragen wird, so dass der CPU 11 auf das gewünschte Modul zugreifen kann. In dem Fall, in dem ein Zugriff erfolgt, werden gewünschte Daten über eine Datensignalleitung DATA übertragen. Hier werden eine Adresssignalleitung und eine Datensignalleitung des Speichers 12 als ADDMe bzw. DATAMe bezeichnet. Eine Adresssignalleitung und eine Datensignalleitung der Strommanagementeinheit 31 werden als ADDPm bzw. DATAPm bezeichnet. Eine Adresssignalleitung und eine Datensignalleitung der Zustandssteuerschaltung 32 werden als ADDFc bzw. DATAFc bezeichnet. Eine Adresssignalleitung und eine Datensignalleitung der PLD 21 werden als ADDF bzw. DATAF bezeichnet.
  • Es sei angemerkt, dass der CPU 11 eine arithmetische Verarbeitung oder eine Datenverarbeitung ausführen kann, die die PLD 21 nicht ausführt. Des Weiteren kann der CPU 11 bestimmen, welche Einheit, die PLD 21 oder der CPU 11 selbst, eine spezifische arithmetische Verarbeitung mit höherer Effizienz ausführen kann.
  • Der Speicher 12 ist ein Arbeitsspeicher des CPU 11 und weist eine Funktion zum Speichern von Verarbeitungsdaten des CPU 11 auf.
  • Die Strommanagementeinheit 31 dient als Schaltung zum Steuern der Stromzufuhr der Stromdomäne 10 und steuert das Einschalten/Ausschalten der Stromdomäne 10 gemäß einem Befehl von dem CPU 11. Außerdem dient die Strommanagementeinheit 31 als Timer. Dementsprechend kann dann, wenn sich die Stromdomäne 10 in einem Sperrzustand befindet, die Stromdomäne 10 von einem Sperrzustand periodisch in einen Durchlasszustand zurückkehren. Außerdem kann die Strommanagementeinheit 31 ein Triggersignal TRIG von außerhalb des Systems empfangen. Mit dem Triggersignal TRIG kann die Stromdomäne 10 von einem Sperrzustand in einen Durchlasszustand zurückkehren.
  • Die PLD 21 ist mit der Adresssignalleitung ADDF und der Datensignalleitung DATAF verbunden, und der CPU 11 kann über die Adresssignalleitung ADDF und die Datensignalleitung DATAF auf die PLD 21 zugreifen. Die PLD 21 ist über eine Signalleitung TASK und einen Signalbus CTR mit der Zustandssteuerschaltung 32 verbunden. Des Weiteren ist die PLD 21 über den Multiplexer 51 mit den Konfigurations-ROMs 52A, 52B und 52C (ROM1, ROM2 und ROM3) verbunden und kann Konfigurationsdaten von einem von dem Multiplexer 51 ausgewählten ROM der Konfigurations-ROMs 52A bis 52C empfangen, so dass die Schaltungskonfiguration geändert werden kann.
  • Die Zustandssteuerschaltung 32 weist eine Funktion auf, das Einschalten/Ausschalten der PLD 21 (der Stromdomäne 20) gemäß einem Ausgabesignal von der PLD 21 über die Signalleitung TASK zu steuern. Insbesondere übermittelt dann, wenn eine bestimmte Task abgeschlossen worden ist, der Zustandssteuerschaltung 32 die PLD 21 die Beendigung der bestimmten Task über die Signalleitung TASK. Die Zustandssteuerschaltung 32 beinhaltet ein Register, das Daten hält, die einem Zustand der bestimmten Task entsprechen; das Register speichert Daten darüber, ob die bestimmte Task abgeschlossen worden ist oder nicht. In dem Fall, in dem die Zustandssteuerschaltung 32 Daten von der PLD 21 empfängt, die die Beendigung der bestimmten Task zeigen, kann die Zustandssteuerschaltung 32 die PLD 21 (die Stromdomäne 20) ausschalten. Ein Register, das in jedem Logikelement in der PLD 21 enthalten ist, umfasst einen nichtflüchtigen Bereich, und daher können Daten in dem Register in der PLD 21 in den nichtflüchtigen Bereich gesichert werden, kurz bevor die PLD 21 (die Stromdomäne 20) ausgeschaltet wird. Somit kann selbst dann, wenn die PLD 21 (die Stromdomäne 20) ausgeschaltet wird, ein Ergebnis einer arithmetischen Verarbeitung durch die PLD 21 (Daten in dem Register) für eine lange Periode gehalten werden.
  • Des Weiteren weist die Zustandssteuerschaltung 32 eine Funktion auf, die Schaltungskonfiguration der PLD 21 zu ändern. Die PLD 21 kann die Schaltungskonfiguration ändern, indem mittels eines Ausgabesignals, das von der Zustandssteuerschaltung 32 über den Signalbus CTR übertragen wird, Konfigurationsdaten von einem gewünschten der Konfigurations-ROMs 52A bis 52C erhalten werden. Hier kann die Zustandssteuerschaltung 32 ein gewünschtes Konfigurations-ROM auswählen, indem Daten darüber, welches Konfigurations-ROM ausgewählt werden soll, über eine Leitung SEL auf den Multiplexer 51 übertragen werden. Es sei angemerkt, dass die vorstehende Steuerung auch von dem CPU 11 ausgeführt werden kann.
  • Der CPU 11 weist eine Funktion auf, periodisch Daten darüber, ob die bestimmte Task abgeschlossen worden ist oder nicht, zu überwachen, die in dem Register gespeichert sind, das Daten hält, die einem Zustand der bestimmten Task der Zustandssteuerschaltung 32 entsprechen. In dem Fall, in dem die bestimmte Task abgeschlossen worden ist, fordert der CPU 11 die Zustandssteuerschaltung 32 auf, die PLD 21 hochzufahren (die Stromdomäne 20 einzuschalten). Die Zustandssteuerschaltung 32 schaltet die PLD 21 (die Stromdomäne 20) gemäß der Aufforderung ein. Zu diesem Zeitpunkt können in der PLD 21 Daten von dem nichtflüchtigen Bereich in das Register, das in jedem Logikelement enthalten ist, zurückgesichert werden. Das heißt, dass Daten vor der Ausschaltung der PLD 21 (der Stromdomäne 20) zurückgesichert werden können. Der CPU 11 kann über den Bus 13 auf die PLD 21 zugreifen und kann daher Daten zurückgewinnen, die in dem Register in der PLD 21 gespeichert sind.
  • Auf die vorstehende Weise kann der CPU 11 ein Ergebnis einer arithmetischen Verarbeitung der PLD 21 erhalten.
  • Es sei angemerkt, dass in der Halbleitervorrichtung in 1 eine Konfiguration zum Einsatz kommen kann, bei der die Vielzahl von PLDs 21 in der Stromdomäne 20 bereitgestellt ist. Die Vielzahl von PLDs kann in unterschiedlichen Stromdomänen bereitgestellt sein. Bei der Konfiguration, bei der die Vielzahl von PLDs 21 bereitgestellt ist, kann der CPU 11 bestimmen, welche der PLDs 21 zu einer arithmetischen Verarbeitung geeignet ist. Alternativ kann bei der Halbleitervorrichtung in 1 eine Konfiguration zum Einsatz kommen, die eine unterschiedliche Verarbeitungsvorrichtung beinhaltet, die ein GPU oder dergleichen beinhaltet. Bei der Konfiguration kann der CPU 11 bestimmen, welche Einheit, die PLD 21 oder der GPU, zu einer arithmetischen Verarbeitung geeignet ist.
  • 2 ist ein Zustandsübergangsdiagramm der PLD 21. 3 ist ein Zeitdiagramm, das die Arbeitweise des Systems zeigt, das in 1 dargestellt ist. In 2 und 3 bezeichnet ein Zustand „cpu_proc“ einen Verarbeitungszustand des CPU 11.
  • Es werden Zustände und Signale in dem Zeitdiagramm in 3 beschrieben.
  • Ein Zustand „cpu_moni“ bezeichnet einen Zustand, in dem der CPU 11 die Zustandssteuerschaltung 32 überwacht, um festzustellen, ob eine Task der PLD 21 abgeschlossen worden ist oder nicht. In dem Fall, in dem der Zustand „cpu_moni“ „OFF“ zeigt, überwacht der CPU 11 nicht, ob die Task abgeschlossen worden ist oder nicht. In dem Fall, in dem der Zustand „cpu_moni“ „ON“ zeigt, überwacht der CPU 11, ob die Task abgeschlossen worden ist oder nicht.
  • Ein Signal trig ist ein Signal einer Signalleitung TRIG, die mit der Strommanagementeinheit 31 und der Zustandssteuerschaltung 32 verbunden ist. Das Signal trig ist ein Signal zum Einschalten der Stromdomäne 10 und der Stromdomäne 20 in einem Sperrzustand. Das Signal trig ist ein Signal, das von außen eingegeben wird. Es sei angemerkt, dass, wie vorstehend beschrieben, die Strommanagementeinheit 31 als Timer dienen kann. In diesem Fall wird der Zeitpunkt, zu dem die Stromdomäne 10 und die Stromdomäne 20 eingeschaltet werden, unter Verwendung des Timers bestimmt.
  • Ein Signal power 1 ist ein Signal, das zeigt, ob der Stromdomäne 10 Strom zugeführt wird oder nicht. In dem Fall, in dem das Signal power 1 auf einem hohen Pegel liegt, ist die Stromdomäne 10 eingeschaltet. In dem Fall, in dem das Signal power 1 auf einem niedrigen Pegel liegt, ist die Stromdomäne 10 ausgeschaltet.
  • Ein Signal power 2 ist ein Signal, das zeigt, ob der Stromdomäne 20 Strom zugeführt wird oder nicht. In dem Fall, in dem das Signal power 2 auf einem hohen Pegel liegt, ist die Stromdomäne 20 eingeschaltet. In dem Fall, in dem das Signal power 2 auf einem niedrigen Pegel liegt, ist die Stromdomäne 20 ausgeschaltet.
  • Ein Signal prog ist ein Signal zum Steuern der Konfiguration der Schaltungskonfiguration der PLD 21. Wenn das Signal prog auf einen hohen Pegel geht, beginnt die PLD 21 die Konfiguration der Schaltung. Als Konfigurationsdaten zu diesem Zeitpunkt werden Daten eines gewünschten Konfigurations-ROM verwendet.
  • Ein Signal task, das Daten darüber zeigt, ob eine Task der PLD 21 abgeschlossen worden ist oder nicht, wird von der PLD 21 über die Signalleitung TASK an die Zustandssteuerschaltung 32 ausgegeben. Das Signal task auf einem hohen Pegel bedeutet die Beendigung der Task.
  • Ein Signal save ist ein Signal zum Sichern von Daten von den Registern in den Logikelementen der PLD 21 in den nichtflüchtigen Bereich. Das Signal save auf einem hohen Pegel bedeutet, dass Daten von den Registern in den nichtflüchtigen Bereich gesichert werden.
  • Ein Signal load ist ein Signal zum Zurücksichern von Daten von dem nichtflüchtigen Bereich in die Register in den Logikelementen der PLD 21. Das Signal load auf einem hohen Pegel bedeutet, dass Daten von dem nichtflüchtigen Bereich in die Register zurückgesichert werden.
  • Es sei angemerkt, dass das Signal power 2, das Signal prog, das Signal save und das Signal load Signale von der Zustandssteuerschaltung 32 sind, die zum Steuern der PLD 21 verwendet werden und über den Signalbus CTR übertragen werden.
  • Als Nächstes werden jeweilige Zustände in dem in 2 gezeigten Zustandsübergangsdiagramm der PLD 21 beschrieben.
  • Bei allen Zuständen („ALL STATE“ in dem Diagramm) wird dann, wenn ein Rücksetzsignal res der PLD 21 auf einen hohen Pegel geht (res = 1), der Zustand der PLD 21 zu einem Rücksetzzustand 60 („RES“ in dem Diagramm).
  • Wenn der Zustand der PLD 21 der Zustand 60 ist und das Rücksetzsignal res der PLD 21 auf einen niedrigen Pegel geht (res = 0), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 61 („WAIT“ in dem Diagramm) auf. Bei dem Zustand 61 handelt es sich um einen Zustand, in dem auf einen Befehl von dem CPU 11 gewartet wird.
  • Wenn der Zustand der PLD 21 der Zustand 61 ist und das Signal prog auf einen hohen Pegel geht (prog = 1), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 62 („CFG“ in dem Diagramm) auf. Bei dem Zustand 62 handelt es sich um einen Zustand, in dem eine Konfiguration der PLD 21 ausgeführt wird.
  • Wenn die Konfiguration der PLD 21 abgeschlossen worden ist und das Signal prog auf einen niedrigen Pegel geht (prog = 0), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 63 („PROC“ in dem Diagramm) auf. Bei dem Zustand 63 handelt es sich um einen Zustand, in dem die PLD 21 eine arithmetische Verarbeitung gemäß dem Befehl von dem CPU 11 ausführt.
  • Wenn die PLD 21 die arithmetische Verarbeitung in dem Zustand 63 abschließt, überträgt die PLD 21 Daten, die die Beendigung einer Task zeigen, über die Signalleitung TASK auf die Zustandssteuerschaltung 32. Insbesondere geht das Signal task auf einen niedrigen Pegel (task = 1), und die Daten, die die Beendigung der Task zeigen, werden übertragen. Wenn das Signal task auf einen hohen Pegel geht, tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 64 („DONE“ in dem Diagramm) auf. Bei dem Zustand 64 handelt es sich um einen Zustand, in dem die Task der PLD 21 abgeschlossen worden ist.
  • Wenn die Task der PLD 21 abgeschlossen worden ist, gibt die Zustandssteuerschaltung 32 das Signal save über den Signalbus CTR in die PLD 21 ein. Insbesondere geht das Signal save auf einen hohen Pegel (save = 1). Wenn das Signal save auf einen hohen Pegel geht, tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 65 („SAVE“ in dem Diagramm) auf. Bei dem Zustand 65 handelt es sich um einen Zustand, in dem Daten von den Registern in den Logikelementen der PLD 21 in den nichtflüchtigen Bereich gesichert werden.
  • Wenn in dem Zustand 65 die Sicherung der Daten in den Registern abgeschlossen worden ist, ändert die Zustandssteuerschaltung 32 den Pegel des Signals power 2 über den Signalbus CTR. Insbesondere wird das Signal power 2 von einem hohen Pegel zu einem niedrigen Pegel geändert. Wenn das Signal power 2 auf einen niedrigen Pegel geht (power 2 = 0), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 66 („SSLEEP“ in dem Diagramm) auf. Bei dem Zustand 66 handelt es sich um einen Zustand, in dem die PLD 21 ausgeschaltet ist, d. h. einen Zustand, in dem die Stromzufuhr unterbrochen ist.
  • Wenn sich die PLD 21 in dem Zustand 66 befindet und das Signal power 2 auf einen hohen Pegel geht (power 2 = 1), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 67 („SWAKE“ in dem Diagramm) auf. Bei dem Zustand 67 handelt es sich um einen Zustand, in dem die PLD 21 von einem Sperrzustand zu einem Durchlasszustand geändert wird, d. h. einen Zustand, in dem Strom zugeführt wird.
  • Wenn sich die PLD 21 in dem Zustand 67 befindet und das Signal load auf einen hohen Pegel geht (load = 1), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 68 („LOAD“ in dem Diagramm) auf. Bei dem Zustand 68 handelt es sich um einen Zustand, in dem die Daten, die in dem Zustand 65 von den Registern in den nichtflüchtigen Bereich gesichert sind, zurückgesichert werden.
  • Wenn sich die PLD 21 in dem Zustand 68 befindet und der Verarbeitungszustand des CPU 11, d. h. der Zustand „cpu_proc“, zu einem Zustand wird, in dem ein Ergebnis einer arithmetischen Verarbeitung der PLD 21 gelesen wird („get_data“ in dem Diagramm, cpu_proc = get_data), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 69 („SEND“ in dem Diagramm) auf. Bei dem Zustand 69 handelt es sich um einen Zustand, in dem das Ergebnis der arithmetischen Verarbeitung der PLD 21 auf den CPU 11 übertragen wird. Insbesondere liest der CPU 11 Daten von dem Register, das das Ergebnis der arithmetischen Verarbeitung der PLD 21 speichert.
  • Wenn der CPU 11 die Daten empfängt, führt der CPU 11 Befehle zum Ausschalten der Stromdomäne 10 und der Stromdomäne 20 an die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32 aus. Die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32 sorgen gemäß den Befehlen dafür, dass das Signal power 1 und das Signal power auf einen niedrigen Pegel gehen. Wenn sich die PLD 21 in dem Zustand 69 befindet und das Signal power 2 auf einen niedrigen Pegel geht (power 2 = 0), tritt bei der PLD 21 ein Zustandsübergang zu einem Zustand 70 („LSLEEP“ in dem Diagramm) auf.
  • Wenn das Signal trig von außen auf einen hohen Pegel geht, während sich die PLD 21 in dem Zustand 70 befindet, schalten die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32 die Stromdomäne 10 und die Stromdomäne 20 ein. Insbesondere stellen die Strommanagementeinheit 31 und die Zustandssteuerschaltung 32 das Signal power 1 und das Signal power 2 auf einen hohen Pegel ein. Wenn sich die PLD 21 in dem Zustand 70 befindet und das Signal power 2 auf einen hohen Pegel geht (power 2 = 1), tritt bei der PLD 21 ein Zustandsübergang zu dem Zustand 61 auf.
  • Es wird das Zeitdiagramm in 3 beschrieben. Es sei angemerkt, dass ein Zustand „fpga_state“ in dem Zeitdiagramm in 3 den Zustand der PLD 21 darstellt. Der Zustand „fpga_state“ in 3 entspricht einem der Zustände 61 bis 70, die anhand von 2 beschrieben worden sind.
  • Vor der Zeit T0 befindet sich die PLD 21 in dem Zustand 61. Zu der Zeit T0 geht das Signal prog auf einen hohen Pegel. Dementsprechend wird der Zustand „fpga_state“ zu dem Zustand 62, und daher wird bei der PLD 21 eine Konfiguration ausgeführt.
  • Zu der Zeit T1 wird die Konfiguration der PLD 21 abgeschlossen und geht das Signals prog auf einen niedrigen Pegel, wodurch der Zustand „fpga _state“ zu dem Zustand 63 wird und eine arithmetische Verarbeitung einer bestimmten Task bei der PLD 21 ausgeführt wird.
  • Vor der Zeit T2 zeigt der Zustand „cpu_moni“ „OFF“, so dass nicht überwacht wird, ob die Task der PLD 21 abgeschlossen worden ist oder nicht. Zu der Zeit T2 zeigt der Zustand „cpu_moni“ „ON“ und überwacht daher der CPU 11 die Zustandssteuerschaltung 32, um festzustellen, ob die Task der PLD 21 abgeschlossen worden ist oder nicht. Da tritt nichts auf, weil die Task der PLD 21 vor der Zeit T2 noch nicht abgeschlossen ist.
  • Zu der Zeit T3 zeigt der Zustand „cpu_moni“ „OFF“, und damit endet eine Periode, während der der CPU 11 überwacht, ob die Task der PLD 21 abgeschlossen worden ist oder nicht.
  • Zu der Zeit T4 wird die Task der PLD 21 abgeschlossen und geht das Signal task auf einen hohen Pegel. Die Zustandssteuerschaltung 32 empfängt Daten, die die Beendigung der Task der PLD 21 zeigen, und schaltet die PLD 21 (die Stromdomäne 20) aus. Insbesondere wird zuerst das Signal save auf einen hohen Pegel eingestellt, Daten in dem Register in jedem Logikelement der PLD 21 werden in den nichtflüchtigen Bereich gesichert, und danach wird zu der Zeit T5 das Signal power 2 auf einen niedrigen Pegel eingestellt, wodurch die PLD 21 (die Stromdomäne 20) ausgeschaltet wird. Während der Periode vor der Ausschaltung der PLD 21 wird der Zustand „fpga _state“ zu dem Zustand 64, dem Zustand 65 und dem Zustand 66 in dieser Reihenfolge.
  • Zu der Zeit T6 zeigt der Zustand „cpu_moni“ „ON“ und überwacht daher der CPU 11 die Zustandssteuerschaltung 32, um festzustellen, ob die Task der PLD 21 abgeschlossen worden ist oder nicht. Da die Task der PLD 21 abgeschlossen worden ist, werden zu diesem Zeitpunkt Daten, die die Beendigung der Task der PLD 21 zeigen, auf den CPU 11 übertragen. Der CPU 11 sendet Befehle zum Einschalten der PLD 21 (der Stromdomäne 20) an die Zustandssteuerschaltung 32. Insbesondere kann die Zustandssteuerschaltung 32 die PLD 21 (die Stromdomäne 20) einschalten. Das heißt, dass das Signal power 2 auf einen hohen Pegel geht. Hier geht das Signal load hoch. Wenn das Signal load auf einen hohen Pegel geht, können Daten von dem nichtflüchtigen Bereich in das Register in jedem Logikelement der PLD 21 zurückgesichert werden. Während einer Periode bis zur Zurücksicherung der Daten von dem nichtflüchtigen Bereich in das Register ändert sich der Zustand „fpga _state“ zu dem Zustand 67 und dem Zustand 68 in dieser Reihenfolge.
  • Zu der Zeit T7 wird der Zustand „cpu_proc“ zu dem Signalverarbeitungszustand „get_data“. Insbesondere griff der CPU 11 auf die PLD 21 zu, um Daten zu erhalten, die in dem Register in jedem Logikelement der PLD 21 gespeichert sind. Wenn die Daten, die in dem Register gespeichert sind, erhalten werden, wird der Zustand „fpga _state“ zu dem Zustand 69.
  • Zu der Zeit T8 schließt der CPU 11 das Erhalten der Daten von der PLD 21 ab. Danach schaltet die Strommanagementeinheit 31 die Stromdomäne 10 und die Stromdomäne 20 aus. Insbesondere gehen das Signal power 1 und das Signal power 2 auf einen niedrigen Pegel. Wenn das Signal power 1 und das Signal power 2 auf einen niedrigen Pegel gehen, ändert sich der Zustand „fpga ­_state“ zu dem Zustand 70.
  • Zu der Zeit T9 wird das Signal trig auf einem hohen Pegel von außen eingegeben. Das heißt, dass die Stromdomäne 10 und die Stromdomäne 20 eingeschaltet werden. Insbesondere gehen das Signal power 1 und das Signal power 2 auf einen hohen Pegel. Wenn das Signal power 1 und das Signal power 2 auf einen hohen Pegel gehen, ändert sich der Zustand „fpga _state“ zu dem Zustand 61.
  • Auf die vorstehende Weise kann die PLD 21 nach der Beendigung einer Task ausgeschaltet werden und können die PLD 21 und der CPU 11 nach dem Erhalten von Daten ausgeschaltet werden. Obwohl die Stromdomäne 10 und die Stromdomäne 20 zu der Zeit T6 ausgeschaltet werden, werden dann, wenn der CPU 11 oder die PLD 21 eine weitere Task hat, die Stromdomäne 10 und die Stromdomäne 20 nicht ausgeschaltet, so dass die Task fortgesetzt werden kann.
  • Es wird anhand von 4 und 5 beschrieben, wie das Signal task nach der Beendigung einer Task der PLD 21 erzeugt wird.
  • 4 stellt ein Konfigurationsbeispiel einer PLD 21A dar, die als PLD 21 in 1 verwendet werden kann. Die PLD 21A umfasst einen programmierbaren Bereich 22 („programmierbarer Bereich 1“ in dem Diagramm), einen programmierbaren Bereich 23 („programmierbarer Bereich 2“ in dem Diagramm), eine Steuerschaltung 24 („CC“ in dem Diagramm), eine Bitleitungstreiberschaltung 25 („Bit-Treiber“ in dem Diagramm) und eine Wortleitungstreiberschaltung 26 („Wort-Treiber“ in dem Diagramm).
  • Die programmierbaren Bereiche 22 und 23 beinhalten jeweils Logikelemente, Leitungen zwischen den Logikelementen, Leitungsschalter und eine Benutzer-I/O (user I/O, user input/output). In dem programmierbaren Bereich 22 kann die Schaltungskonfiguration gemäß Befehlen von dem CPU 11 über die Adresssignalleitung ADDF und die Datensignalleitung DATAF geändert werden. Insbesondere kann der programmierbare Bereich 22 eine Konfiguration einer einfachen Schaltung, wie z. B. eines Zählers, aufweisen. In dem programmierbaren Bereich 23 kann die Schaltungskonfiguration gemäß Daten in den Konfigurations-ROMs 52A bis 52C geändert werden, und aufgrund der Schaltungskonfiguration kann eine komplizierte arithmetische Verarbeitung ausgeführt werden.
  • Ein Signalbus CTR(C) ist ein Bus zum Übertragen eines Steuersignals zum Ändern der Schaltungskonfiguration des programmierbaren Bereichs 23. Die Steuerschaltung 24 empfängt das Steuersignal über den Signalbus CTR(C), und die Schaltungskonfiguration des programmierbaren Bereichs 23 wird unter Verwendung der Wortleitungstreiberschaltung 26 und der Bitleitungstreiberschaltung 25 geändert.
  • Ein Signalbus CTR(SL) ist ein Bus zum Übertragen eines Steuersignals (save oder load) zum Sichern von Daten, die sich in den Registern in den Logikelementen des programmierbaren Bereichs 23 befinden, in einen nichtflüchtigen Bereich oder zum Zurücksichern von Daten von dem nichtflüchtigen Bereich in das Register. Die Daten in den Registern können gemäß dem Steuersignal über den Signalbus CTR(SL) gesichert oder zurückgesichert werden.
  • <Konfigurationsbeispiel 1 zum Erhalten von Daten über die Beendigung einer Task>
  • Es wird davon ausgegangen, dass der CPU 11 Daten über den Rechenaufwand der PLD 21A und die Anzahl von Takten, die für die arithmetische Verarbeitung der PLD 21A erforderlich sind, erhält. Von dem CPU 11 wird eine Schaltung, wie z. B. ein Zähler, in dem programmierbaren Bereich 22 konfiguriert. Der programmierbare Bereich 22 kann eine Schaltungskonfiguration aufweisen, die zum Zählen der Anzahl von Takten, die für die arithmetische Verarbeitung der PLD 21A erforderlich sind, verwendet werden kann, so dass das Signal task übertragen werden kann, wenn die Anzahl von Takten einen bestimmten Wert erreicht hat.
  • Das Zählen beginnt in dem programmierbaren Bereich 22 gleichzeitig mit dem Beginn der arithmetischen Verarbeitung. Wenn die arithmetische Verarbeitung in dem programmierbaren Bereich 23 abgeschlossen worden ist, erreicht der Wert, der in dem programmierbaren Bereich 22 gezählt worden ist, einen bestimmten Wert und daher wird das Signal task, das Daten ist, die die Beendigung der Task der PLD 21A zeigen, über die Signalleitung TASK auf die Zustandssteuerschaltung 32 übertragen.
  • Auf die vorstehende Weise können die Daten, die die Beendigung der Task der PLD 21A zeigen, auf die Zustandssteuerschaltung 32 übertragen werden.
  • <Konfigurationsbeispiel 2 zum Erhalten von Daten über die Beendigung einer Task>
  • Es wird ein weiteres Beispiel für ein Verfahren zum Erhalten von Daten über die Beendigung der Task der PLD 21A beschrieben. Wenn die PLD 21A eine spezifische arithmetische Verarbeitung ausführt, wird die Anzahl von Takten, die für eine einzelne arithmetische Verarbeitung erforderlich sind, eindeutig bestimmt und kann daher in dem programmierbaren Bereich 23 gezählt werden.
  • Beispielsweise wird der Fall beschrieben, in dem die PLD 21A eine Multiplikationsverarbeitung von 32 Bits × 32 Bits ausführt. In dem Fall, in dem die Multiplikationsverarbeitung mit höchstens 32 Takten abgeschlossen worden ist, kann der programmierbare Bereich 23 eine Schaltungskonfiguration aufweisen, die zur Zählung von 32 Takten geeignet ist.
  • Der CPU 11 kann Daten darüber, wie oft die PLD 21A eine einzelne arithmetische Verarbeitung wiederholt, auf die PLD 21A übertragen. Mit anderen Worten: Der CPU 11 kann Daten über die Menge an Daten, die einer arithmetischen Verarbeitung unterzogen werden sollen, im Voraus auf die PLD 21A übertragen. In diesem Fall empfängt der programmierbare Bereich 22 die Daten über die Menge an Daten, die einer arithmetischen Verarbeitung unterzogen werden sollen, und kann eine Schaltungskonfiguration zum Zählen der Anzahl von Takten aufweisen, bis die Menge an Daten erreicht wird, die einer arithmetischen Verarbeitung der PLD 21A unterzogen werden sollen. Wenn der Zählwert, der in dem programmierbaren Bereich 22 gezählt worden ist, einen bestimmten Wert erreicht hat, wird das Signal task, das Daten ist, die die Beendigung der Task der PLD 21A zeigen, über die Signalleitung TASK auf die Zustandssteuerschaltung 32 übertragen.
  • Auf die vorstehende Weise können die Daten, die die Beendigung der Task der PLD 21A zeigen, auf die Zustandssteuerschaltung 32 übertragen werden.
  • <Konfigurationsbeispiel 3 zum Erhalten von Daten über die Beendigung einer Task>
  • 5 stellt ein Konfigurationsbeispiel dar, das sich von demjenigen unterscheidet, das in 4 dargestellt ist. Die Konfiguration, die in 5 dargestellt ist, unterscheidet sich von derjenigen, die in 4 dargestellt ist, dahingehend, dass der programmierbare Bereich 22 nicht enthalten ist. Bei der Konfiguration in 5 werden Daten, mit denen bestimmt werden kann, ob eine Task einer PLD 21B abgeschlossen worden ist oder nicht, im Voraus in dem Konfigurations-ROM gespeichert, das die Schaltungskonfiguration des programmierbaren Bereichs 23 bestimmt.
  • Wenn beispielsweise eine spezifische arithmetische Verarbeitung ausgeführt wird, wird die Anzahl von Takten bestimmt, die für die arithmetische Verarbeitung erforderlich sind; demgemäß wird eine Schaltung, die bei der arithmetischen Verarbeitung einen Zählwert zählt, in dem programmierbaren Bereich 23 konfiguriert. Dementsprechend kann das Signal task, das Daten ist, die die Beendigung der Task der PLD 21B zeigen, erzeugt werden.
  • Insbesondere wird dann, wenn die PLD 21 B eine Multiplikationsverarbeitung von 32 Bits × 32 Bits ausführt, die mit höchstens 32 Takten abgeschlossen wird, das Signal task auf einem hohen Pegel zu dem Zeitpunkt, zu dem der Zählwert zu 32 geworden ist, an die Signalleitung TASK ausgegeben, wodurch Daten darüber, ob die Task der PLD 21B abgeschlossen worden ist oder nicht, auf die Zustandssteuerschaltung 32 übertragen werden können.
  • Diese Ausführungsform kann nach Bedarf mit einer beliebigen der anderen Ausführungsformen kombiniert werden.
  • (Ausführungsform 2)
  • 6 stellt ein Konfigurationsbeispiel dar, das sich von demjenigen in 1 unterscheidet. Die Konfiguration, die in dem Blockschema der 6 dargestellt ist, unterscheidet sich von der Konfiguration in 1 dahingehend, dass ein Multiplexer 53 („MUX“ in dem Diagramm) und Sensormodule 54A, 54B und 54C („SEN1“, „SEN2“ und „SEN3“ in dem Diagramm) enthalten sind.
  • Die Sensormodule 54A bis 54C sind jeweils beispielsweise ein Beleuchtungsstärkesensor, ein Farbsensor, ein Beschleunigungssensor, ein Dehnungssensor, ein Wärmesensor, ein Drucksensor, ein Abstandssensor oder dergleichen.
  • Die PLD 21 weist eine Funktion auf, eine arithmetische Verarbeitung eines Ausgabewerts, der von jedem der Sensormodule 54A bis 54C ausgegeben worden ist, auszuführen und Daten an den CPU 11 auszugeben. Die PLD 21 wählt ein Signal eines bestimmten Sensormoduls aus den Sensormodulen 54A bis 54C unter Verwendung des Multiplexers 53 gemäß einer Schaltungskonfiguration aus, die durch Daten von der Zustandssteuerschaltung 32 und den Konfigurations-ROMs 52A bis 52C bestimmt wird.
  • Die Sensormodule 54A bis 54C weisen jeweils eine Funktion zum Erfassen einer spezifischen Änderung auf. Die Sensormodule können Daten darüber, ob es eine Änderung gibt oder nicht, auf die Zustandssteuerschaltung 32 übertragen. In dem Fall, in dem eine spezifische Änderung bei den Sensormodulen erfasst wird, wird ein Signal detect darüber, ob es eine Änderung gibt oder nicht, über eine Leitung DETECT auf die Zustandssteuerschaltung 32 übertragen. In dem Fall, in dem beispielsweise eines der Sensormodule ein Beschleunigungssensor ist und eine physikalische Änderung durch den Beschleunigungssensor erfasst wird, wird das Signal detect über die Leitung DETECT übertragen.
  • Die Zustandssteuerschaltung 32 kann gemäß dem Signal detect über den Signalbus CTR dafür sorgen, dass die PLD 21 eine Task beginnen. In diesem Fall bedeutet die Task das Ausführen einer gewünschten arithmetischen Verarbeitung an einen von Ausgabewerten, die von den Sensormodulen ausgegeben werden.
  • Wie vorstehend beschrieben, wird in dem Fall, in dem die Task der PLD 21 abgeschlossen worden ist, das Signal task, das die Beendigung der Task zeigt, über die Signalleitung TASK auf die Zustandssteuerschaltung 32 übertragen, werden Daten von den Registern in der PLD 21 in den nichtflüchtigen Bereich gesichert und kann dann die PLD 21 ausgeschaltet werden.
  • Es sei angemerkt, dass bei der Konfiguration dieser Ausführungsform der CPU 11 nicht notwendigerweise Daten über einen Zeitpunkt erhält, zu dem die PLD 21 eine Task beginnt.
  • In dem Fall, in dem der CPU 11 keine Daten über den Zeitpunkt erhält, zu dem die PLD 21 die Task beginnt, ist es wirkungsvoll, dass der CPU 11 ein spezifisches Register in der Zustandssteuerschaltung 32 periodisch überwacht, um festzustellen, ob die Task der PLD 21 abgeschlossen worden ist oder nicht.
  • Im Falle der Verwendung des Systems, das in 6 dargestellt ist, kann die PLD 21 eingeschaltet werden, um eine arithmetische Verarbeitung lediglich bei einer Änderung auszuführen, die durch das Sensormodul erfasst wird. Nach der Beendigung der arithmetischen Verarbeitung kann die PLD 21 ausgeschaltet werden, und das Ergebnis der arithmetischen Verarbeitung kann zu einem Zeitpunkt übertragen werden, zu dem eine Anforderung von dem CPU 11 gestellt wird.
  • Diese Ausführungsform kann nach Bedarf mit einer beliebigen der anderen Ausführungsformen kombiniert werden.
  • (Ausführungsform 3)
  • Bei dieser Ausführungsform wird ein Konfigurationsbeispiel einer PLD, die bei jeder der bei den vorstehenden Ausführungsformen beschriebenen Halbleitervorrichtungen verwendet werden kann, beschrieben.
  • <Konfigurationsbeispiel einer PLD>
  • 7 stellt eine Konfiguration einer PLD 200 dar. Die PLD 200 kann als PLD 21 der Ausführungsform 1 verwendet werden. Ein Multi-Kontext-Verfahren kann auf die PLD 200 angewandt werden.
  • Die PLD 200 beinhaltet eine logische Einheit, eine Eingabe-/Ausgabeeinheit und eine Peripherieschaltungseinheit. Die logische Einheit beinhaltet Logik-Arrays (LAs) 211 und 212 sowie Schalter-Arrays (SWAs) 221 bis 223. Die Eingabe-/Ausgabeeinheit beinhaltet Eingabe-/Ausgabearrays (IOAs) 224 und 225. Die Peripherieschaltungseinheit beinhaltet Schaltungen mit einer Funktion zum Ansteuern der logischen Einheit und der Eingabe-/Ausgabeeinheit. Die Peripherieschaltungseinheit beinhaltet beispielsweise einen Taktsignalgenerator 230, eine Konfigurationssteuerung 231, eine Kontextsteuerung 232, eine Spaltentreiberschaltung 234 und eine Zeilentreiberschaltung 235.
  • Die LAs 211 und 212 beinhalten jeweils eine Vielzahl von LEs 240. Bei dem Beispiel in 7 beinhaltet das LA 211 zehn LEs 240 (LE <00> bis LE <09>), und das LA 212 beinhaltet zehn LEs 240 (LE <10> bis LE <19>); jedoch kann die Anzahl von LEs 240 beliebig bestimmt werden. Die IOAs 224 und 225 weisen eine Funktion zum Steuern der Eingabe und Ausgabe von Signalen zwischen externen Anschlüssen der PLD 200 und den LAs 211 und 212 auf.
  • Die IOAs 224 und 225 beinhalten jeweils eine Vielzahl von Eingabe-/Ausgabeschaltungen (IOs). Bei dem Beispiel in 7 beinhaltet das IOA 224 zehn Eingabe-/Ausgabeschaltungen (IO <00> bis IO <09>), und das IOA 225 beinhaltet zehn Eingabe-/Ausgabeschaltungen (IOs <10> bis <19>). Die IO <00> bis IO <19> sind mit voneinander unterschiedlichen externen Anschlüssen verbunden.
  • Die SWAs 221 bis 223 beinhalten jeweils eine Vielzahl von RSs 280. Die Ausdrücke in den RSs 280 in der Zeichnung repräsentieren die Funktionen der RSs 280. Beispielsweise weist ein durch „LEO* bis 1000“ dargestellter RS 280 eine Funktion eines Schalters zwischen den Ausgangsknoten des LE <00> bis LE <09> und dem Eingangsknoten der IO <00> auf, und es wird endsprechend den Konfigurationsdaten und Daten zum Auswählen eines Kontexts (nachstehend auch als Kontextdaten bezeichnet) die Verbindung zwischen dem LE <00> bis LE <09> und der IO <00> bestimmt.
  • Der Taktsignalgenerator 230 weist eine Funktion zum Erzeugen eines Taktsignals oder mehrerer Taktsignale auf, das/die bei der PLD 200 verwendet wird/werden. Die Spaltentreiberschaltung 234 weist eine Funktion zum Erzeugen von Konfigurationsdaten auf. Die Zeilentreiberschaltung 235 weist eine Funktion zum Erzeugen eines Signals zum Auswählen eines Konfigurationsspeichers auf. Die Konfigurationssteuerung 231 weist eine Funktion zum Steuern der Spaltentreiberschaltung 234 und der Zeilentreiberschaltung 235 auf. Die Kontextsteuerung 232 weist eine Funktion zum Erzeugen von Kontextdaten auf.
  • <Konfigurationsbeispiel des LE>
  • 8 stellt ein Konfigurationsbeispiel des LE 240 dar. Das LE 240 ist eine programmierbare logische Schaltung und beinhaltet eine Konfigurationsspeichereinheit 250 und eine Logikzelle (LCELL) 260.
  • Die Konfigurationsspeichereinheit 250 weist eine Funktion zum Speichern von Konfigurationsdaten auf. Die Funktion des LE 240 wird entsprechend Konfigurationsdaten, die in der Konfigurationsspeichereinheit 250 gespeichert sind, bestimmt.
  • Das LE 240 weist eine Funktion zum Erzeugen von Daten durch Ausführen einer vorbestimmten logischen Behandlung an eingegebenen Daten Din und zum Ausgeben der Daten als Ausgangsdaten Dout auf. Das LE 240 beinhaltet eine exklusive OR (XOR)-Schaltungsgruppe 261, eine LUT 262, eine Carry-Logik 263, einen Wähler (SEL) 264, eine Flip-Flop-Schaltung (FF) 265 und einen Wähler (SEL) 266. Das FF 265 weist eine Funktion eines Registers auf. Das FF 265 beinhaltet einen Anschluss D, in den Daten eingegeben werden, einen Anschluss XR, in den ein Rücksetzsignal RST eingegeben wird, einen Anschluss, in den ein Taktsignal CLK eingegeben wird, und einen Anschluss Q, aus dem Daten ausgegeben werden. Die Logikfunktion der LCELL 260 wird durch die Konfigurationsdaten gesteuert, die von der Konfigurationsspeichereinheit 250 ausgegeben werden.
  • Die Daten Din werden von einem RS 280 eingegeben. Ferner werden die Daten Dout an einen anderen RS 280 ausgegeben. In dem Fall, in dem ein Carry-Chain mit einer Vielzahl von LEs 240 ausgebildet ist, werden das Eingeben und Ausgeben von Carry-Signalen zwischen der Vielzahl von LEs 240 ausgeführt. In dem Fall, in dem ein Register-Chain mit einer Vielzahl von LEs 240 ausgebildet ist, werden das Eingeben und Ausgeben von Register-Chain-Signalen zwischen den benachbarten LEs 240 ausgeführt.
  • <Konfigurationsbeispiel eines Konfigurationsspeichers>
  • Die LEs 240 und die RSs 280 in der PLD 200 beinhalten jeweils einen Konfigurationsspeicher. Nachstehend werden Konfigurationsbeispiele eines Konfigurationsspeichers, der bei den LEs 240 oder den RSs 280 verwendet wird, beschrieben.
  • Ein Konfigurationsspeicher beinhaltet eine Speicherschaltung mit einer Funktion zum Speichern von Konfigurationsdaten. Die Speicherschaltung, die in dem Konfigurationsspeicher enthalten ist, kann flüchtig oder nicht flüchtig sein. Beispiele für die flüchtige Speicherschaltung umfassen ein SRAM. Beispiele für die nichtflüchtige Speicherschaltung umfassen einen Flash-Speicher, ein Ferroelectric Random Access Memory (FeRAM), ein Magnetoresistive Random Access Memory (MRAM), ein Phase Change Random Access Memory (PRAM) und ein Resistive Random Access Memory (ReRAM).
  • Insbesondere wird dabei vorzugsweise eine Schaltung, die einen Transistor, der einen Oxidhalbleiter in einem Kanalbildungsbereich enthält (nachstehend auch als OS-Transistor bezeichnet), beinhaltet, als Speicherschaltung verwendet. Ein Oxidhalbleiter weist eine größere Bandlücke und eine niedrigere Ladungsträgerdichte auf als andere Halbleiter, wie z. B. Silizium, und daher ist der Sperrstrom eines OS-Transistors sehr niedrig. Wenn ein derartiger OS-Transistor in einem Konfigurationsspeicher enthalten ist, kann der Konfigurationsspeicher Konfigurationsdaten für eine sehr lange Periode behalten, und außerdem kann, wie nachstehend beschrieben, die Fläche des Konfigurationsspeichers verringert werden.
  • [Konfigurationsbeispiel 1]
  • 9A stellt ein Konfigurationsbeispiel einer Speicherschaltung dar, die als Konfigurationsspeicher verwendet werden kann. Eine Speicherschaltung 300 beinhaltet eine Vielzahl von Schaltungen 310. Obwohl zwei Schaltungen 310 (Schaltungen 310[0] und 310[1]) in 9A als Beispiel dargestellt sind, ist die Anzahl von Schaltungen 310 nicht auf zwei beschränkt. Vorbestimmte Konfigurationsdaten sind in der Schaltung 310 gespeichert; somit kann die Verbindung zwischen einer Leitung IN und einer Leitung OUT gesteuert werden. Deshalb kann die Speicherschaltung 300 als RS 280 verwendet werden.
  • Die Schaltung 310 beinhaltet Transistoren 311, 312 und 313 sowie einen Kondensator 314. Obwohl die Transistoren 311, 312 und 313 hier der n-Kanal-Typ sind, können sie der p-Kanal-Typ sein. Ein Transistor, der mit „OS“ gekennzeichnet ist, ist ein OS-Transistor.
  • Ein Gate des Transistors 311 ist mit einer Leitung WL verbunden, ein Anschluss von Source und Drain des Transistors 311 ist mit einem Gate des Transistors 312 und einer Elektrode des Kondensators 314 verbunden, und der andere davon ist mit einer Leitung BL verbunden. Ein Anschluss von Source und Drain des Transistors 312 ist mit der Leitung IN verbunden, und der andere davon ist mit einem Anschluss von Source und Drain des Transistors 313 verbunden. Ein Gate des Transistors 313 ist mit einer Leitung CTX verbunden, und der andere Anschluss von Source und Drain des Transistors 313 ist mit der Leitung OUT verbunden. Die andere Elektrode des Kondensators 314 ist mit einer Leitung verbunden, der ein vorbestimmtes Potential zugeführt wird. Hier wird ein Knoten, der mit dem einen Anschluss von Source und Drain des Transistors 311, dem Gate des Transistors 312 und der einen Elektrode des Kondensators 314 verbunden ist, als Knoten N1 bezeichnet.
  • Als Nächstes wird eine Arbeitsweise der Schaltung 310 beschrieben. Als Erstes wird das Potential der Leitung WL derart eingestellt, dass der Transistor 311 eingeschaltet wird. Ein Potential der Leitung BL wird dem Knoten N1 zugeführt (Schreiben von Konfigurationsdaten). Es sei angemerkt, dass die Leitung WL mit der Zeilentreiberschaltung 235 verbunden ist (siehe 7). Das Potential der Leitung WL kann durch die Zeilentreiberschaltung 235 gesteuert werden.
  • Als Nächstes wird das Potential der Leitung WL derart eingestellt, dass der Transistor 311 ausgeschaltet wird, wodurch der Knoten N1 in einen schwebenden Zustand versetzt wird, und das Potential an dem Knoten N1 wird gehalten (Halten von Konfigurationsdaten). Hier wird der Leitungszustand des Transistors 312, der zwischen der Leitung IN und der Leitung OUT bereitgestellt ist, durch das Potential des Knotens N1 bestimmt. Folglich kann der Leitungszustand zwischen der Leitung IN und der Leitung OUT durch Steuern des Potentials des Knotens N1 gesteuert werden. Da die Speicherschaltung 300, die eine derartige Schaltung 310 beinhaltet, als Schalter zum Steuern des Leitungszustands zwischen Leitungen dient, kann die Speicherschaltung 300 als Konfigurationsspeicher des RS 280 verwendet werden. In dem Fall, in dem die Speicherschaltung 300 als Konfigurationsspeicher des RS 280 verwendet wird, sind die Leitung IN und die Leitung OUT mit der IO bzw. dem LE 240 verbunden.
  • Es sei angemerkt, dass die Speicherschaltung 300 die Schaltung 310[0] und die Schaltung 310[1] beinhaltet, die die Leitung OUT teilen. Indem vorbestimmte Potentiale den Leitungen CTX[0] und CTX[1] zugeführt werden, kann entweder die Schaltung 310[0] oder die Schaltung 310[1] ausgewählt werden. Folglich kann die Speicherschaltung 300 als Multi-Kontext-Konfigurationsspeicher verwendet werden.
  • Insbesondere wird dann, wenn der Context [0] ausgewählt wird, die Leitung CTX[0] derart eingestellt, dass der Transistor 313 der Schaltung 310[0] eingeschaltet wird. Außerdem wird die Leitung CTX[1] derart eingestellt, dass der Transistor 313 der Schaltung 310[1] ausgeschaltet wird. Auf diese Weise wird der Leitungszustand zwischen der Leitung IN und der Leitung OUT durch das Potential des Knotens N1 in der Schaltung 310[0] gesteuert. In dem Fall, in dem der Context [1] ausgewählt wird, wird die Leitung CTX[0] derart eingestellt, dass der Transistor 313 der Schaltung 310[0] ausgeschaltet wird, und die Leitung CTX[1] wird derart eingestellt, dass der Transistor 313 der Schaltung 310[1] eingeschaltet wird. Auf diese Weise wird der Leitungszustand zwischen der Leitung IN und der Leitung OUT durch das Potential des Knotens N1 in der Schaltung 310[1] gesteuert. Folglich kann der Kontext zum Steuern des Leitungszustands zwischen der Leitung IN und der Leitung OUT durch Steuern der Potentiale der Leitungen CTX[0] und CTX[1] ausgewählt werden.
  • Hier ist der Transistor 311 ein OS-Transistor und weist einen sehr niedrigen Sperrstrom auf. Deshalb kann das Potential des Knotens N1 in einer Periode, in der sich der Transistor 311 im Sperrzustand befindet, für eine lange Zeit gehalten werden. Folglich kann die Häufigkeit von Aktualisierungen von Konfigurationsdaten erheblich verringert werden, wodurch der Stromverbrauch der PLD 200 verringert werden kann. Außerdem können selbst in einer Periode, in der die Stromversorgung zu der Schaltung 310 unterbrochen ist, Konfigurationsdaten für eine lange Zeit behalten werden.
  • Außerdem kann die Schaltung 310 unter Verwendung eines OS-Transistors mit wenigen Transistoren (drei Transistoren in der Schaltung 310) ausgebildet werden. Folglich kann die Fläche der PLD 200 verringert werden. Ferner kann ein OS-Transistor über einem anderen Transistor angeordnet sein. Wenn der Transistor 311 über dem Transistor 312 oder dem Transistor 313 angeordnet ist, kann die Fläche der Schaltung 310 verringert werden; als Ergebnis kann die Fläche der PLD 200 weiter verringert werden.
  • Außerdem müssen in dem Fall, in dem das Multi-Kontext-Verfahren in der PLD 200 verwendet wird, Konfigurationsdaten, die einer Vielzahl von Kontexten entsprechen, in einem Konfigurationsspeicher gespeichert sein, was eine drastische Zunahme der Fläche des Konfigurationsspeichers verursachen könnte. Jedoch kann, wie vorstehend beschrieben, die Verwendung der einen OS-Transistor enthaltenden Speicherschaltung 300 eine Zunahme der Fläche des Konfigurationsspeichers unterdrücken. Aus diesen Gründen wird besonders bevorzugt ein OS-Transistor in der PLD 200 verwendet, bei der das Multi-Kontext-Verfahren zum Einsatz kommt.
  • Es sei angemerkt, dass Materialien der anderen Transistoren als des OS-Transistors in 9A nicht eigens beschränkt sind. Beispielsweise kann ein Transistor, dessen Kanalbildungsbereich in einem Teil eines Substrats, das einen einkristallinen Halbleiter beinhaltet, gebildet wird (der Transistor wird nachstehend auch als einkristalliner Transistor bezeichnet), verwendet werden. Als Substrat, das einen einkristallinen Halbleiter enthält, kann ein einkristallines Siliziumsubstrat, ein einkristallines Germaniumsubstrat oder dergleichen angegeben werden. Da der einkristalline Transistor einen Hochgeschwindigkeitsbetrieb ausführen kann, ermöglicht die Verwendung des einkristallinen Transistors in der Speicherschaltung, dass die Speicherschaltung mit einer höheren Geschwindigkeit arbeitet. Als jeder der anderen Transistoren als der OS-Transistor kann auch ein Transistor, dessen Kanalbildungsbereich in einem Film, der einen anderen Halbleiter als einen Oxidhalbleiter enthält, gebildet wird, verwendet werden. Beispiele für den anderen Halbleiter als einen Oxidhalbleiter umfassen Silizium, Germanium, Siliziumgermanium, Siliziumkarbid, Galliumarsenid, Aluminiumgalliumarsenid, Indiumphosphid, Galliumnitrid und einen organischen Halbleiter. Jeder der vorstehenden Halbleiter mit Ausnahme eines Oxidhalbleiters kann ein folgender Halbleiter sein: ein einkristalliner Halbleiter oder ein nicht-einkristalliner Halbleiter, wie z. B. ein amorpher Halbleiter, ein mikrokristalliner Halbleiter oder ein polykristalliner Halbleiter. Diese Transistoren können als andere Transistoren als nachstehend beschriebener OS-Transistor verwendet werden.
  • 9B stellt ein weiteres Konfigurationsbeispiel der Schaltung 310 dar. Die in 9B dargestellte Schaltung 310 weist eine Konfiguration auf, die eine Schaltung 315 anstelle des Kondensators 314 in 9A beinhaltet. Die Schaltung 315 bildet eine Inverterschleife. Das Potential des Knotens N1 kann durch die Schaltung 315 auf einem hohen Potential oder einem niedrigen Potential gehalten werden. Es sei angemerkt, dass die vorstehend beschriebenen Transistoren mit Ausnahme des OS-Transistors als Transistor 311 verwendet werden können. In diesem Fall ist die Schaltung 310 flüchtig.
  • [Konfigurationsbeispiel 2]
  • 10 stellt ein Konfigurationsbeispiel einer anderen Speicherschaltung dar, die als Konfigurationsspeicher verwendet werden kann. Eine Speicherschaltung 400 beinhaltet Schaltungen 410. Obwohl zwei Schaltungen 410 (Schaltungen 410[0] und 410[1]) in 10 als Beispiel dargestellt sind, ist die Anzahl von Schaltungen 410 nicht auf zwei beschränkt.
  • Die Schaltung 410 beinhaltet Transistoren 411 und 412, einen Kondensator 413, Transistoren 414 und 415, einen Kondensator 416 und einen Transistor 417. Obwohl hier die Transistoren 411, 412, 414, 415 und 417 der n-Kanal-Typ sind, können sie auch der p-Kanal-Typ sein.
  • Ein Gate des Transistors 411 ist mit einer Leitung WL verbunden, ein Anschluss von Source und Drain des Transistors 411 ist mit einem Gate des Transistors 412 und einer Elektrode des Kondensators 413 verbunden, und der andere davon ist mit einer Leitung BL verbunden. Ein Anschluss von Source und Drain des Transistors 412 ist mit einer Leitung verbunden, der ein vorbestimmtes Potential (hier ein hohes Stromversorgungspotential VDD) zugeführt wird, und der andere davon ist mit einem Anschluss von Source und Drain des Transistors 417 verbunden. Die andere Elektrode des Kondensators 413 ist mit einer Leitung verbunden, der ein vorbestimmtes Potential zugeführt wird. Ein Gate des Transistors 414 ist mit der Leitung WL verbunden, ein Anschluss von Source und Drain des Transistors 414 ist mit einem Gate des Transistors 415 und einer Elektrode des Kondensators 416 verbunden, und der andere Anschluss von Source und Drain des Transistors 414 ist mit einer Leitung BLb verbunden. Ein Anschluss von Source und Drain des Transistors 415 ist mit einer Leitung verbunden, der ein vorbestimmtes Potential (hier ein niedriges Stromversorgungspotential VSS, wie z. B. ein Erdpotential) zugeführt wird, und der andere Anschluss von Source und Drain des Transistors 415 ist mit einem Anschluss von Source und Drain des Transistors 417 verbunden. Die andere Elektrode des Kondensators 416 ist mit einer Leitung verbunden, der ein vorbestimmtes Potential zugeführt wird. Ein Gate des Transistors 417 ist mit einer Leitung CTX verbunden, und der andere Anschluss von Source und Drain des Transistors 417 ist mit der Leitung OUT verbunden.
  • Hier wird ein Knoten, der mit dem einen Anschluss von Source und Drain des Transistors 411, dem Gate des Transistors 412 und der einen Elektrode des Kondensators 413 verbunden ist, als Knoten N2 bezeichnet. Ferner wird ein Knoten, der mit dem einen Anschluss von Source und Drain des Transistors 414, dem Gate des Transistors 415 und der einen Elektrode des Kondensators 416 verbunden ist, als Knoten N3 bezeichnet. Es sei angemerkt, dass der Leitung BLb ein invertiertes Signal eines Signals, das der Leitung BL zugeführt wird, zugeführt wird.
  • Ein hohes Potential ist in einem des Knotens N2 und des Knotens N3 als Konfigurationsdaten gespeichert, und ein niedriges Potential ist in dem anderen des Knotens N2 und des Knotens N3 als Konfigurationsdaten gespeichert. Daher ist einer der Transistoren 412 und 415 eingeschaltet, und der andere davon ist ausgeschaltet. Demzufolge kann der Leitung OUT ein hohes oder niedriges Potential selektiv zugeführt werden. Da die Speicherschaltung 400, die eine derartige Schaltung 410 beinhaltet, eine Funktion zum Steuern eines an die Leitung OUT ausgegebenen logischen Werts aufweist, kann die Speicherschaltung 400 als Konfigurationsspeicher des LE 240 verwendet werden. In dem Fall, in dem die Speicherschaltung 400 als Konfigurationsspeicher des LE 240 verwendet wird, ist die Leitung OUT mit anderen logischen Schaltungen, dem RS 280 und dergleichen verbunden. Es sei angemerkt, dass die Speicherung der Konfigurationsdaten in dem Knoten N2 und dem Knoten N3 durch einen Betrieb, der dem Betrieb der Schaltung 310 in 9A ähnlich ist, ausgeführt werden kann.
  • Es sei angemerkt, dass die Speicherschaltung 400 die Schaltung 410[0] und die Schaltung 410[1] beinhaltet, die die Leitung OUT teilen. Indem vorbestimmte Potentiale den Leitungen CTX[0] und CTX[1] zugeführt werden, kann eine der Schaltung 410[0] und der Schaltung 410[1] ausgewählt werden. Folglich kann die Speicherschaltung 300 als Multi-Kontext-Konfigurationsspeicher verwendet werden.
  • Insbesondere wird dann, wenn der Context [0] ausgewählt wird, die Leitung CTX[0] derart eingestellt, dass der Transistor 417 der Schaltung 410[0] eingeschaltet wird. Außerdem wird die Leitung CTX[1] derart eingestellt, dass der Transistor 417 der Schaltung 410[1] ausgeschaltet wird. Auf diese Weise wird das Potential der Leitung OUT durch die Potentiale der Knoten N2 und N3 in der Schaltung 410[0] gesteuert. In dem Fall, in dem der Context [1] ausgewählt wird, wird die Leitung CTX[0] derart eingestellt, dass der Transistor 417 der Schaltung 410[0] ausgeschaltet wird, und die Leitung CTX[1] wird derart eingestellt, dass der Transistor 417 der Schaltung 410[1] eingeschaltet wird. Auf diese Weise wird das Potential der Leitung OUT durch die Potentiale der Knoten N2 und N3 in der Schaltung 410[1] gesteuert. Folglich kann der Kontext zum Steuern des Potentials der Leitung OUT durch Steuern der Potentiale der Leitungen CTX[0] und CTX[1] ausgewählt werden.
  • Bei der Schaltung 410 werden OS-Transistoren als Transistoren 411 und 414 verwendet. Deshalb können der Stromverbrauch und die Fläche, wie bei der Schaltung 310, bei der Schaltung 410 verringert werden.
  • Außerdem kann die Speicherschaltung 400 eine Schaltung 420 beinhalten. Die Schaltung 420 beinhaltet einen Inverter 421 und einen Transistor 422. Ein Eingangsanschluss und ein Ausgangsanschluss des Inverters 421 sind mit der Leitung OUT bzw. einem Gate des Transistors 422 verbunden. Ein Anschluss von Source und Drain des Transistors 422 ist mit der Leitung OUT verbunden, und der andere davon ist mit einer Leitung, der ein vorbestimmtes Potential (hier ein hohes Stromversorgungspotential VDD) zugeführt wird, verbunden. Die Schaltung 420 weist eine Funktion zum Behalten des Potentials der Leitung OUT auf, wodurch verhindert werden kann, dass die Leitung OUT schwebt. Daher kann verhindert werden, dass das Potential der Leitung OUT zu dem Zwischenpotential wird, und eine Erzeugung eines Durchbruchstroms bei einem Schaltungselement, das mit der Leitung OUT verbunden ist, kann vermieden werden.
  • 11A und 11B stellen jeweils ein weiteres Konfigurationsbeispiel der Schaltung 410 dar. Die in 11A dargestellte Schaltung 410 weist eine Konfiguration auf, die Schaltungen 418 und 419 anstelle der Kondensatoren 413 und 416 in 10 beinhaltet. Die Schaltungen 418 und 419 bilden jeweils eine Inverterschleife. Das Potential des Knotens N2 kann durch die Schaltung 418 auf einem hohen Potential oder einem niedrigen Potential gehalten werden, und durch die Schaltung 419 kann das Potential des Knotens N3 auf einem hohen Potential oder einem niedrigen Potential gehalten werden. Es sei angemerkt, dass die vorstehenden beschriebenen Transistoren mit Ausnahme des OS-Transistors als Transistoren 411 und 414 verwendet werden können. In diesem Fall ist die Schaltung 410 flüchtig.
  • Obwohl in 10 und 11A das Gate des Transistors 411 und das Gate des Transistors 414 mit der gleichen Leitung WL verbunden sind, können sie mit unterschiedlichen Leitungen verbunden sein. 11B stellt eine Konfiguration dar, bei der das Gate des Transistors 411 mit einer Leitung WLa verbunden ist und das Gate des Transistors 414 mit einer Leitung WLb verbunden ist.
  • [Konfigurationsbeispiel 3]
  • Eine Schaltung, bei der ein nichtflüchtiger Speicher und ein OS-Transistor kombiniert werden, kann als Konfigurationsspeicher verwendet werden. 12 stellt ein Konfigurationsbeispiel einer derartigen Speicherschaltung dar. Es ist ein Konfigurationsbeispiel einer Speicherschaltung 500 dargestellt. Die Speicherschaltung 500 beinhaltet eine Schaltung 510 und eine Schaltung 520. Es sei angemerkt, dass die Speicherschaltung 500 beispielsweise als Transistor 311 und Schaltung 315 in 9B, als Transistor 411 und Schaltung 418 in 11A oder als Transistor 414 und Schaltung 419 in 11A verwendet werden kann.
  • Die Schaltung 510 beinhaltet Transistoren 511 bis 516. Die Transistoren 511, 512, 515 und 516 sind der n-Kanal-Typ, und die Transistoren 513 und 514 sind der p-Kanal-Typ. Es sei angemerkt, dass die Transistoren 511 und 512 jeweils ein n-Kanal-Transistor oder ein p-Kanal-Transistor sein können.
  • Ein Gate des Transistors 511 ist mit einer Leitung WL verbunden. Ein Anschluss von Source und Drain des Transistors 511 ist mit einem Anschluss von Source und Drain des Transistors 513, einem Anschluss von Source und Drain des Transistors 515, einem Gate des Transistors 514 und einem Gate des Transistors 516 verbunden. Der andere Anschluss von Source und Drain des Transistors 511 ist mit einer Leitung BL verbunden. Ein Gate des Transistors 512 ist mit einer Leitung WL verbunden. Ein Anschluss von Source und Drain des Transistors 512 ist mit einem Anschluss von Source und Drain des Transistors 514, einem Anschluss von Source und Drain des Transistors 516, einem Gate des Transistors 513 und einem Gate des Transistors 515 verbunden. Der andere Anschluss von Source und Drain des Transistors 512 ist mit einer Leitung BLb verbunden. Der andere Anschluss von Source und Drain des Transistors 513 und der andere Anschluss von Source und Drain des Transistors 514 sind jeweils mit einer Leitung, der ein vorbestimmtes Potential (hier ein hohes Stromversorgungspotential VDD) zugeführt wird, verbunden. Der andere Anschluss von Source und Drain des Transistors 515 und der andere Anschluss von Source und Drain des Transistors 516 sind jeweils mit einer Leitung, der ein vorbestimmtes Potential (hier ein niedriges Stromversorgungspotential VSS) zugeführt wird, verbunden. Ein Knoten, der mit dem Gate des Transistors 513 und dem Gate des Transistors 515 verbunden ist, wird als Knoten N5 bezeichnet, und ein Knoten, der mit dem Gate des Transistors 514 und dem Gate des Transistors 516 verbunden ist, wird als Knoten N4 bezeichnet.
  • Auf diese Weise weist die Schaltung 510 die Konfiguration einer SRAM-Zelle auf, die ein flüchtiger Speicher ist. Der Knoten N4 und der Knoten N5 entsprechen den Knoten, an denen Konfigurationsdaten behalten werden.
  • Die Schaltung 520 beinhaltet Transistoren 521 und 522 sowie Kondensatoren 523 und 524. Hier sind die Transistoren 521 und 522 OS-Transistoren.
  • Ein Gate des Transistors 521 ist mit einer Leitung WE verbunden, ein Anschluss von Source und Drain des Transistors 521 ist mit einer Elektrode des Kondensators 523 verbunden, und der andere Anschluss von Source und Drain des Transistors 521 ist mit dem Knoten N5 verbunden. Ein Gate des Transistors 522 ist mit der Leitung WE verbunden, ein Anschluss von Source und Drain des Transistors 522 ist mit einer Elektrode des Kondensators 524 verbunden, und der andere Anschluss von Source und Drain des Transistors 522 ist mit dem Knoten N4 verbunden. Die andere Elektrode des Kondensators 523 und die andere Elektrode des Kondensators 524 sind jeweils mit einer Leitung verbunden, der ein vorbestimmtes Potential zugeführt wird. Die Leitung, der ein vorbestimmtes Potential zugeführt wird, kann eine Stromversorgungsleitung mit hohem Potential oder eine Stromversorgungsleitung mit niedrigem Potential (z. B. eine Erdleitung) sein. Alternativ kann eine Leitung, deren Potential geändert werden kann, verwendet werden. Ein Knoten, der mit dem einen Anschluss von Source und Drain des Transistors 521 und der einen Elektrode des Kondensators 523 verbunden ist, wird als Knoten N6 bezeichnet, und ein Knoten, der mit dem einen Anschluss von Source und Drain des Transistors 522 und der einen Elektrode des Kondensators 524 verbunden ist, wird als Knoten N7 bezeichnet.
  • Bei der Speicherschaltung 500 ist der Knoten N4, der dem Knoten entspricht, an dem Daten behalten werden, über den Transistor 522 mit dem Knoten N7 verbunden, bei dem es sich um den OS-Transistor handelt. Bei der Speicherschaltung 500 ist ebenfalls der Knoten N5, der dem Knoten entspricht, an dem Daten behalten werden, mit dem Knoten N6 über den Transistor 521 verbunden, bei dem es sich um einen OS-Transistor handelt. Daher können die Daten, die in der Schaltung 510 behalten sind, die die Konfiguration einer SRAM-Zelle aufweist, in den Knoten N6 und den Knoten N7 gesichert werden. Des Weiteren können die Daten, die gesichert worden sind, in die Schaltung 510 zurückgesichert werden.
  • Insbesondere wird in einer Periode, in der keine Daten geschrieben oder von der Schaltung 510 gelesen werden, das Potential der Leitung WE auf den hohen Pegel eingestellt, um die Transistoren 521 und 522 einzuschalten, wodurch die Daten, die an dem Knoten N4 behalten sind, und die Daten, die an dem Knoten N5 behalten sind, in den Knoten N7 bzw. den Knoten N6 gesichert werden können. Danach wird das Potential der Leitung WE auf den niedrigen Pegel eingestellt, um die Transistoren 521 und 522 auszuschalten, wodurch die Potentiale der Knoten N6 und N7 behalten werden. Dann wird das Potential der Leitung WE wieder auf den hohen Pegel eingestellt, um die Transistoren 521 und 522 einzuschalten, wodurch die Daten, die in die Knoten N6 und N7 gesichert worden sind, in die Knoten N4 und N5 zurückgesichert werden können. Indem das hohe Stromversorgungspotential VDD bei der Datensicherung erhöht und bei der Datenrücksicherung gesenkt wird, können die Datensicherung und Datenrücksicherung stabiler ausgeführt werden.
  • Die Transistoren 521 und 522 sind hier OS-Transistoren und weisen sehr niedrigen Sperrstrom auf. Deshalb können dann, wenn sich die Transistoren 521 und 522 im Sperrzustand befinden, das Potential des Knotens N6 und das Potential des Knotens N7 für eine lange Zeit behalten werden. Deshalb können selbst dann, wenn die Stromzufuhr zu der Speicherschaltung 500 unterbrochen wird, die Daten behalten werden, die in der Speicherschaltung 500 gespeichert sind, indem die Daten, die an den Knoten N4 und N5 behalten sind, kurz vor dem Unterbrechen der Stromzufuhr zu der Speicherschaltung 500 in den Knoten N6 und N7 gesichert werden. Nachdem die Stromzufuhr zu der Speicherschaltung 500 wiederaufgenommen worden ist, können die Daten, die an den Knoten N6 und N7 behalten sind, in die Knoten N4 und N5 zurückgesichert werden.
  • Da die Speicherschaltung 500 die Konfiguration einer SRAM-Zelle aufweist, ist es erforderlich, dass die Transistoren 511 bis 516 mit hoher Geschwindigkeit arbeiten. Deshalb werden vorzugsweise Transistoren, die Silizium in deren Kanalbildungsbereichen enthalten (nachstehend auch als Si-Transistoren bezeichnet), oder dergleichen als Transistoren 511 bis 516 verwendet.
  • Außerdem befinden sich vorzugsweise in einer Periode, in der der Speicherschaltung 500 Strom zugeführt wird und die Schaltung 510 als SRAM-Zelle arbeitet, die Transistoren 521 und 522 im Sperrzustand. Dies kann eine Behinderung eines Hochgeschwindigkeitsbetriebs der Schaltung 510 verhüten.
  • Obwohl 12 ein Beispiel darstellt, in dem die Schaltung 520 die Transistoren 521 und 522 sowie die Kondensatoren 523 und 524 beinhaltet, können der Transistor 521 und der Kondensator 523 weggelassen werden, oder der Transistor 522 und der Kondensator 524 können weggelassen werden.
  • In 12 wird eine SRAM-Zelle mit sechs Transistoren, bei der es sich um eine flüchtige Speicherzelle handelt, als Schaltung 520 verwendet; jedoch ist die Konfiguration nicht darauf beschränkt und eine unterschiedliche flüchtige Speicherzelle kann als Schaltung 520 verwendet werden. Wenn eine flüchtige Speicherzelle verwendet wird, die sich von der SRAM-Zelle mit sechs Transistoren unterscheidet, ermöglichen ebenfalls ein OS-Transistor und ein Kondensator, die mit der flüchtigen Speicherzelle wie in 12 verbunden sind, die Datensicherung und Datenrücksicherung.
  • Auf die vorstehend beschriebene Weise werden bei der Speicherschaltung 500 Daten, die in der Schaltung 510 gespeichert sind, in die Schaltung 520 gesichert und von ihr behalten; daher können die Daten selbst in einer Periode behalten werden, in der der Speicherschaltung 500 kein Strom zugeführt wird. Des Weiteren können, nachdem die Stromzufuhr wiederaufgenommen worden ist, die Daten, die von der Schaltung 520 behalten sind, in die Schaltung 510 zurückgesichert werden. Dementsprechend kann die Stromzufuhr zu der Speicherschaltung 500 in der Datenhalteperiode unterbrochen werden, was den Stromverbrauch verringern kann.
  • Außerdem kann ein OS-Transistor über einem Si-Transistor angeordnet sein. Deshalb kann die Schaltung 520 über der Schaltung 510 angeordnet sein. Dementsprechend kann eine Zunahme der Fläche der Speicherschaltung 500 unterdrückt werden.
  • [Konfigurationsbeispiel 4]
  • Der bei dieser Ausführungsform beschriebene OS-Transistor kann ein Paar von Gates beinhalten. Unter Verwendung der in jeder der 9A und 9B dargestellten Schaltung 310 als Beispiel sind die Konfigurationen, bei denen der OS-Transistor mit einem Paar von Gates versehen ist, in 13A und 13B dargestellt. Es sei angemerkt, dass eines von einem Paar von Gates in einem Transistor als Vorder-Gate oder einfach als Gate bezeichnet werden kann und das andere desselben als Rück-Gate bezeichnet werden kann.
  • Der in 13A dargestellte Transistor 311 beinhaltet ein Rück-Gate, das mit dem Vorder-Gate verbunden ist. In diesem Fall ist das Potential des Vorder-Gates gleich dem Potential des Rück-Gates.
  • Der in 13B dargestellte Transistor 311 beinhaltet ein Rück-Gate, das mit einer Leitung BGL verbunden ist. Die Leitung BGL weist eine Funktion zum Zuführen eines vorbestimmten Potentials zu dem Rück-Gate auf. Die Schwellenspannung des Transistors 311 kann durch Steuern des Potentials der Leitung BGL gesteuert werden. Die Leitung BGL kann mit der Zeilentreiberschaltung 235 verbunden sein (siehe 7). Das Potential der Leitung BGL kann durch die Zeilentreiberschaltung 235 gesteuert werden. Außerdem wird die Leitung BGL von den Schaltungen 310 in der gleichen Zeile geteilt.
  • Obwohl die Beispiele, bei denen das Rück-Gate in dem Transistor 311 der Schaltung 310 bereitgestellt ist, in 13A und 13B dargestellt sind, kann ein beliebiger der OS-Transistoren dieser Ausführungsform in ähnlicher Weise mit einem Rück-Gate versehen sein.
  • Wie vorstehend beschrieben, ermöglicht die Verwendung eines OS-Transistors bei einem Konfigurationsspeicher bei einer Ausführungsform der vorliegenden Erfindung Verringerungen der Fläche und des Stromverbrauchs der PLD.
  • Diese Ausführungsform kann nach Bedarf mit einer beliebigen der anderen Ausführungsformen kombiniert werden.
  • <Anmerkungen über die Erläuterung dieser Beschreibung und dergleichen>
  • In dieser Beschreibung und dergleichen werden Ordnungszahlen, wie z. B. „erstes“, „zweites“ und „drittes“, verwendet, um eine Verwechslung zwischen Komponenten zu vermeiden. Daher beschränken diese Begriffe nicht die Anzahl oder Reihenfolge der Komponenten.
  • Darüber hinaus werden in einem Blockdiagramm in dieser Beschreibung und dergleichen Komponenten funktionell eingeteilt und durch Blöcke gezeigt, die voneinander unabhängig sind. Jedoch ist es bei einer realen Schaltung und dergleichen manchmal schwierig, derartige Komponenten funktionell einzuteilen, und es gibt einen Fall, in dem sich eine Schaltung auf eine Vielzahl von Funktionen bezieht, oder einen Fall, in dem sich eine Vielzahl von Schaltungen auf eine Funktion bezieht. Deshalb zeigen Blöcke in einem Blockdiagramm nicht notwendigerweise Komponenten, die in dieser Beschreibung beschrieben werden; ihre Erläuterung kann je nach Sachlage gegebenenfalls mit einem weiteren Begriff erfolgen.
  • In den Zeichnungen werden die gleichen Elemente oder Elemente, die ähnliche Funktionen aufweisen, Elemente, die unter Verwendung des gleichen Materials ausgebildet werden, Elemente, die gleichzeitig ausgebildet werden, oder dergleichen mit den gleichen Bezugszeichen bezeichnet, und ihre Beschreibung wird in einigen Fällen nicht wiederholt.
  • In dieser Beschreibung oder dergleichen werden die Begriffe „ein Anschluss von Source und Drain“ (oder eine erste Elektrode oder ein erster Anschluss) und „der andere Anschluss von Source und Drain“ (oder eine zweite Elektrode oder ein zweiter Anschluss) verwendet, um die Verbindungsbeziehung eines Transistors zu beschreiben. Das liegt daran, dass eine Source und ein Drain eines Transistors je nach der Struktur, den Betriebsbedingungen oder dergleichen des Transistors gegeneinander ausgetauscht werden können. Es sei angemerkt, dass die Source oder der Drain des Transistors je nach Sachlage gegebenenfalls auch als Source- (oder Drain-) Anschluss, Source- (oder Drain-) Elektrode oder dergleichen bezeichnet werden kann.
  • In dieser Beschreibung und dergleichen können „Spannung“ und „Potential“ gegeneinander ausgetauscht werden. Der Begriff „Spannung“ bezieht sich auf eine Potentialdifferenz von einem Bezugspotential. Wenn beispielsweise das Bezugspotential ein Erdpotential ist, kann „Spannung“ durch „Potential“ ersetzt werden. Das Erdpotential bedeutet nicht notwendigerweise 0 V. Potentiale sind relative Werte, und das Potential, das an eine Leitung oder dergleichen angelegt wird, wird in einigen Fällen in Abhängigkeit vom Bezugspotential geändert.
  • In dieser Beschreibung und dergleichen ist ein Schalter leitend (Durchlasszustand) oder nichtleitend (Sperrzustand), um zu bestimmen, ob Strom dort hindurch fließt oder nicht. Alternativ weist ein Schalter eine Funktion auf, um einen Strompfad auszuwählen und zu ändern.
  • Beispiele für einen Schalter sind ein elektrischer Schalter, ein mechanischer Schalter und dergleichen. Das heißt: Jedes Element kann ohne Beschränkung auf ein bestimmtes Element als Schalter verwendet werden, solange es einen Strom steuern kann.
  • Im Falle der Verwendung eines Transistors als Schalter bezieht sich ein „Durchlasszustand“ des Transistors auf einen Zustand, in dem eine Source und ein Drain des Transistors elektrisch kurzgeschlossen sind. Des Weiteren bezieht sich ein „Sperrzustand“ des Transistors auf einen Zustand, in dem die Source und der Drain des Transistors elektrisch getrennt sind. In dem Fall, in dem ein Transistor lediglich als Schalter arbeitet, ist die Polarität (Leitfähigkeitstyp) des Transistors nicht eigens auf einen bestimmten Typ beschränkt.
  • In dieser Beschreibung und dergleichen ist dann, wenn beschrieben wird, dass „A und B sind miteinander verbunden“, der Fall, in dem A und B elektrisch miteinander verbunden sind, zusätzlich zu dem Fall, in dem A und B direkt miteinander verbunden sind, mit eingeschlossen. Dabei ist mit dem Ausdruck „A und B sind verbunden“ gemeint, dass elektrische Signale zwischen A und B übertragen und empfangen werden können, wenn ein Objekt mit einer elektrischen Funktion zwischen A und B vorhanden ist.
  • Bezugszeichenliste
  • N1: Knoten, N2: Knoten, N3: Knoten, N4: Knoten, N5: Knoten, N6: Knoten, N7: Knoten, power 1: Signal, power 2: Signal, ROM3: ROM, SEN3: SEN, T0: Zeit, T1: Zeit, T2: Zeit, T3: Zeit, T4: Zeit, T5: Zeit, T6: Zeit, T7: Zeit, T8: Zeit, T9: Zeit, 10: Stromdomäne, 11: CPU, 12: Speicher, 13: Bus, 20: Stromdomäne, 21: PLD, 21A: PLD, 21B: PLD, 22: programmierbarer Bereich, 23: programmierbarer Bereich, 24: Steuerschaltung, 25: Bitleitungstreiberschaltung, 26: Wortleitungstreiberschaltung, 30: Stromdomäne, 31: Strommanagementeinheit, 32: Zustandssteuerschaltung, 51: Multiplexer, 52A: Konfigurations-ROM, 52C: Konfigurations-ROM, 53: Multiplexer, 54A: Sensormodul, 54C: Sensormodul, 60: Zustand, 61: Zustand, 62: Zustand, 63: Zustand, 64: Zustand, 65: Zustand, 66: Zustand, 67: Zustand, 68: Zustand, 69: Zustand, 70: Zustand, 200: PLD, 211: LA, 212: LA, 221: SWA, 223: SWA, 224: IOA, 225: IOA, 230: Taktsignalgenerator, 231: Konfigurationssteuerung, 232: Kontextsteuerung, 234: Spaltentreiberschaltung, 235: Zeilentreiberschaltung, 240: LE, 250: Konfigurationsspeichereinheit, 260: LCELL, 261: Schaltungsgruppe, 262: LUT, 263: Carry-Logik, 265: FF, 280: RS, 300: Speicherschaltung, 310: Schaltung, 311: Transistor, 312: Transistor, 313: Transistor, 314: Kondensator, 315: Schaltung, 400: Speicherschaltung, 410: Schaltung, 411: Transistor, 412: Transistor, 413: Kondensator, 414: Transistor, 415: Transistor, 416: Kondensator, 417: Transistor, 418: Schaltung, 419: Schaltung, 420: Schaltung, 421: Inverter, 422: Transistor, 500: Speicherschaltung, 510: Schaltung, 511: Transistor, 512: Transistor, 513: Transistor, 514: Transistor, 515: Transistor, 516: Transistor, 520: Schaltung, 521: Transistor, 522: Transistor, 523: Kondensator und 524: Kondensator.
  • Diese Anmeldung basiert auf der japanischen Patentanmeldung mit der Seriennr. 2016-161049 , eingereicht beim japanischen Patentamt am 19. August 2016, deren gesamter Inhalt hiermit zum Gegenstand der vorliegenden Offenlegung gemacht ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2016161049 [0165]

Claims (16)

  1. Verfahren zum Steuern einer Halbleitervorrichtung, das die folgenden Schritte umfasst: Eingeben erster Daten in eine nichtflüchtige Speicherschaltung einer programmierbaren logischen Vorrichtung; Halten zweiter Daten in einer Zustandssteuerschaltung gemäß einem Prozessor; Erfassen eines Zustands des Ablaufs einer Task der programmierbaren logischen Vorrichtung durch die Zustandssteuerschaltung; Eingeben eines Signals in die Zustandssteuerschaltung, wobei das Signal dem Zustand des Ablaufs der Task der programmierbaren logischen Vorrichtung entspricht; und Ausschalten der programmierbaren logischen Vorrichtung nach einer Beendigung der Task der programmierbaren logischen Vorrichtung, wobei die ersten Daten durch eine arithmetische Verarbeitung der programmierbaren logischen Vorrichtung vor dem Schritt zum Ausschalten der programmierbaren logischen Vorrichtung erhalten werden, und wobei die zweiten Daten einem Zustand der Task der programmierbaren logischen Vorrichtung entsprechen.
  2. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 1, wobei die nichtflüchtige Speicherschaltung in einem Register der programmierbaren logischen Vorrichtung enthalten ist.
  3. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 1, wobei ein Register der programmierbaren logischen Vorrichtung ferner eine flüchtige Speicherschaltung umfasst.
  4. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 1, wobei der Prozessor dazu konfiguriert ist, über einen Bus auf die nichtflüchtige Speicherschaltung zuzugreifen.
  5. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 1, wobei die nichtflüchtige Speicherschaltung eines der folgenden Bauelemente umfasst: einen Flash-Speicher, einen Ferroelectric Random Access Memory, einen Magnetoresistive Random Access Memory, einen Phase Change Random Access Memory, einen Resistive Random Access Memory und einen Transistor, der einen Oxidhalbleiter enthält.
  6. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 1, wobei die programmierbare logische Vorrichtung einen ersten programmierbaren Bereich und einen zweiten programmierbaren Bereich umfasst, wobei der erste programmierbare Bereich eine Schaltungskonfiguration aufweist, bei der der Zustand des Ablaufs der Task erfasst wird, und wobei der zweite programmierbare Bereich eine Schaltungskonfiguration aufweist, bei der eine arithmetische Verarbeitung auf Basis der Task ausgeführt wird.
  7. Verfahren zum Steuern einer Halbleitervorrichtung, das die folgenden Schritte umfasst: Eingeben erster Daten in eine erste nichtflüchtige Speicherschaltung einer programmierbaren logischen Vorrichtung; Eingeben zweiter Daten in eine zweite nichtflüchtige Speicherschaltung eines Prozessors; Halten dritter Daten in einer Zustandssteuerschaltung gemäß einem Befehl des Prozessors; Erfassen eines Zustands des Ablaufs einer Task der programmierbaren logischen Vorrichtung durch die Zustandssteuerschaltung; Eingeben eines Signals in die Zustandssteuerschaltung, wobei das Signal dem Zustand des Ablaufs der Task der programmierbaren logischen Vorrichtung entspricht; Ausschalten der programmierbaren logischen Vorrichtung nach einer Beendigung der Task der programmierbaren logischen Vorrichtung; und Ausschalten des Prozessors durch eine Strommanagementeinheit nach einer Beendigung des Befehls des Prozessors, wobei die ersten Daten durch eine arithmetische Verarbeitung der programmierbaren logischen Vorrichtung vor dem Schritt zum Ausschalten der programmierbaren logischen Vorrichtung erhalten werden, wobei die zweiten Daten durch eine arithmetische Verarbeitung des Prozessors vor dem Schritt zum Ausschalten des Prozessors erhalten werden, und wobei die dritten Daten einem Zustand der Task der programmierbaren logischen Vorrichtung entsprechen.
  8. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 7, wobei die erste nichtflüchtige Speicherschaltung in einem Register der programmierbaren logischen Vorrichtung enthalten ist.
  9. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 7, wobei der Prozessor dazu konfiguriert ist, über einen Bus auf die erste nichtflüchtige Speicherschaltung zuzugreifen.
  10. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 7, wobei die programmierbare logische Vorrichtung eine erste programmierbare Fläche und eine zweite programmierbare Fläche umfasst, wobei der erste programmierbare Bereich eine Schaltungskonfiguration aufweist, bei der der Zustand des Ablaufs der Task erfasst wird, und wobei der zweite programmierbare Bereich eine Schaltungskonfiguration aufweist, bei der eine arithmetische Verarbeitung auf Basis der Task ausgeführt wird.
  11. Verfahren zum Steuern einer Halbleitervorrichtung, das die folgenden Schritte umfasst: Eingeben eines ersten Signals in eine Zustandssteuerschaltung, wenn eine Task einer programmierbaren logischen Vorrichtung abgeschlossen wird; Eingeben erster Daten in eine nichtflüchtige Speicherschaltung einer programmierbaren logischen Vorrichtung nach dem Eingeben des ersten Signals; und Ausgeben eines zweiten Signals, um die programmierbare logische Vorrichtung durch einen Prozessor nach dem Eingeben der ersten Daten auszuschalten, wobei die ersten Daten durch die Task der programmierbaren logischen Vorrichtung erhalten werden.
  12. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 11, wobei die Zustandssteuerschaltung das erste Signal in einem Register der Zustandssteuerschaltung hält.
  13. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 12, wobei der Prozessor dazu konfiguriert ist, über einen Bus auf das Register der Zustandssteuerschaltung zuzugreifen.
  14. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 11, wobei der Prozessor dazu konfiguriert ist, ein drittes Signal zu empfangen, wenn die programmierbare logische Vorrichtung die Task der programmierbaren logischen Vorrichtung beginnt.
  15. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 11, wobei ein Register der programmierbaren logischen Vorrichtung die nichtflüchtige Speicherschaltung und eine flüchtige Speicherschaltung umfasst.
  16. Verfahren zum Steuern einer Halbleitervorrichtung nach Anspruch 11, wobei die nichtflüchtige Speicherschaltung eines der folgenden Bauelemente umfasst: einen Flash-Speicher, einen Ferroelectric Random Access Memory, einen Magnetoresistive Random Access Memory, einen Phase Change Random Access Memory, einen Resistive Random Access Memory und einen Transistor, der einen Oxidhalbleiter enthält..
DE112017004148.1T 2016-08-19 2017-08-10 Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung Pending DE112017004148T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016161049 2016-08-19
JP2016-161049 2016-08-19
PCT/IB2017/054876 WO2018033834A1 (en) 2016-08-19 2017-08-10 Method for controlling power supply in semiconductor device

Publications (1)

Publication Number Publication Date
DE112017004148T5 true DE112017004148T5 (de) 2019-05-23

Family

ID=61191658

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004148.1T Pending DE112017004148T5 (de) 2016-08-19 2017-08-10 Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung

Country Status (6)

Country Link
US (2) US10564698B2 (de)
JP (1) JP7073060B2 (de)
KR (1) KR102420735B1 (de)
CN (1) CN109565280B (de)
DE (1) DE112017004148T5 (de)
WO (1) WO2018033834A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006789B2 (ja) * 2011-06-03 2016-10-12 ▲蘇▼州宝▲時▼得▲電▼▲動▼工具有限公司 電池
US10276578B2 (en) * 2017-06-25 2019-04-30 United Microelectronics Corp. Dynamic oxide semiconductor random access memory(DOSRAM) having a capacitor electrically connected to the random access memory (SRAM)
JP7109973B2 (ja) * 2018-04-13 2022-08-01 株式会社半導体エネルギー研究所 半導体装置
JP2020155177A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 半導体装置
CN113126734B (zh) * 2021-04-14 2022-11-22 武汉瑞纳捷半导体有限公司 一种单总线芯片的电源电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016161049A (ja) 2015-03-02 2016-09-05 倉敷化工株式会社 リンクブラケット

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4609986A (en) 1984-06-14 1986-09-02 Altera Corporation Programmable logic array device using EPROM technology
US4642487A (en) 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4896296A (en) 1985-03-04 1990-01-23 Lattice Semiconductor Corporation Programmable logic device configurable input/output cell
JPH0731908B2 (ja) 1985-10-09 1995-04-10 株式会社東芝 半導体記憶装置
US4885719A (en) 1987-08-19 1989-12-05 Ict International Cmos Technology, Inc. Improved logic cell array using CMOS E2 PROM cells
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
JP3922653B2 (ja) 1993-03-17 2007-05-30 ゲイトフィールド・コーポレイション ランダムアクセスメモリ(ram)ベースのコンフィギュラブルアレイ
US5789942A (en) 1995-09-07 1998-08-04 Nec Corporation High speed signal level converting circuit having a reduced consumed electric power
JP4103968B2 (ja) 1996-09-18 2008-06-18 株式会社半導体エネルギー研究所 絶縁ゲイト型半導体装置
JP3106998B2 (ja) 1997-04-11 2000-11-06 日本電気株式会社 メモリ付加型プログラマブルロジックlsi
US6057707A (en) 1997-06-20 2000-05-02 Altera Corporation Programmable logic device incorporating a memory efficient interconnection device
US6097212A (en) 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
JP3185727B2 (ja) 1997-10-15 2001-07-11 日本電気株式会社 プログラマブル機能ブロック
JP4493741B2 (ja) 1998-09-04 2010-06-30 株式会社半導体エネルギー研究所 半導体装置の作製方法
KR100317331B1 (ko) 1999-11-11 2001-12-24 박종섭 불휘발성 강유전체 메모리 소자 및 그 제조방법
KR100516693B1 (ko) 2003-04-02 2005-09-22 주식회사 하이닉스반도체 불휘발성 프로그래머블 로직 회로
US6384628B1 (en) 2000-03-31 2002-05-07 Cypress Semiconductor Corp. Multiple voltage supply programmable logic device
DE60039587D1 (de) 2000-05-31 2008-09-04 St Microelectronics Srl Schaltungsanordnung zum Programmieren von Daten in Referenzzellen einer nichtflüchtigen Multibitspeicheranordnung
TW463393B (en) 2000-08-25 2001-11-11 Ind Tech Res Inst Structure of organic light emitting diode display
JP4014801B2 (ja) 2000-12-28 2007-11-28 株式会社ルネサステクノロジ 不揮発性メモリ装置
KR100394574B1 (ko) 2001-04-10 2003-08-14 삼성전자주식회사 워드라인 결함 체크회로를 구비한 불휘발성 반도체메모리장치
US6631146B2 (en) 2001-07-06 2003-10-07 Intel Corporation Tunable laser control system
EP1324495B1 (de) 2001-12-28 2011-03-30 Fujitsu Semiconductor Limited Programmierbare Logikschaltung mit ferroelektrischem Konfigurationsspeicher
US6809425B1 (en) 2003-08-15 2004-10-26 Silicon Storage Technology, Inc. Integrated circuit with a reprogrammable nonvolatile switch having a dynamic threshold voltage (VTH) for selectively connecting a source for a signal to a circuit
US6756632B1 (en) 2003-08-15 2004-06-29 Silicon Storage Technology, Inc. Integrated circuit with a reprogrammable nonvolatile switch for selectively connecting a source for a signal to a circuit
US6834009B1 (en) 2003-08-15 2004-12-21 Silicon Storage Technology, Inc. Integrated circuit with a three transistor reprogrammable nonvolatile switch for selectively connecting a source for a signal to a circuit
US7221580B1 (en) 2003-08-27 2007-05-22 Analog Devices, Inc. Memory gain cell
US7098689B1 (en) 2003-09-19 2006-08-29 Xilinx, Inc. Disabling unused/inactive resources in programmable logic devices for static power reduction
US6940307B1 (en) 2003-10-22 2005-09-06 Altera Corporation Integrated circuits with reduced standby power consumption
JP2005157620A (ja) 2003-11-25 2005-06-16 Matsushita Electric Ind Co Ltd 半導体集積回路
JP4398281B2 (ja) 2004-02-27 2010-01-13 富士重工業株式会社 データ記録装置およびデータ記録装置のシャットダウン方法
JP2005346819A (ja) 2004-06-02 2005-12-15 Renesas Technology Corp 半導体装置
JP2006107127A (ja) 2004-10-05 2006-04-20 Nec Electronics Corp 半導体集積回路装置
US7863611B2 (en) 2004-11-10 2011-01-04 Canon Kabushiki Kaisha Integrated circuits utilizing amorphous oxides
US20060119382A1 (en) 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
JP4560502B2 (ja) 2005-09-06 2010-10-13 キヤノン株式会社 電界効果型トランジスタ
JP5078246B2 (ja) 2005-09-29 2012-11-21 株式会社半導体エネルギー研究所 半導体装置、及び半導体装置の作製方法
EP1995787A3 (de) 2005-09-29 2012-01-18 Semiconductor Energy Laboratory Co, Ltd. Halbleitervorrichtung mit halbleitender Oxidschicht und Herstellungsverfahren dafür
CN101313470B (zh) 2005-11-25 2010-09-22 松下电器产业株式会社 逻辑块控制系统及逻辑块控制方法
US7486111B2 (en) 2006-03-08 2009-02-03 Tier Logic, Inc. Programmable logic devices comprising time multiplexed programmable interconnect
US8599111B2 (en) 2006-03-10 2013-12-03 Canon Kabushiki Kaisha Driving circuit of display element and image display apparatus
US7689821B2 (en) * 2006-03-30 2010-03-30 Agere Systems Inc. Processor with configurable association between interface signal lines and clock domains
US7797664B2 (en) 2006-06-23 2010-09-14 National Institute Of Advanced Industrial Science And Technology System for configuring an integrated circuit and method thereof
JP4332545B2 (ja) 2006-09-15 2009-09-16 キヤノン株式会社 電界効果型トランジスタ及びその製造方法
US7800400B2 (en) 2007-01-12 2010-09-21 Altera Corporation Configuration random access memory
JP5196870B2 (ja) 2007-05-23 2013-05-15 キヤノン株式会社 酸化物半導体を用いた電子素子及びその製造方法
US7620926B1 (en) 2007-03-20 2009-11-17 Xilinx, Inc. Methods and structures for flexible power management in integrated circuits
US8429749B2 (en) * 2007-03-27 2013-04-23 National Institute Of Advanced Industrial Science And Technology Packet data comparator as well as virus filter, virus checker and network system using the same
JP5197058B2 (ja) 2007-04-09 2013-05-15 キヤノン株式会社 発光装置とその作製方法
JP5414161B2 (ja) 2007-08-10 2014-02-12 キヤノン株式会社 薄膜トランジスタ回路、発光表示装置と及びそれらの駆動方法
WO2009034953A1 (ja) 2007-09-10 2009-03-19 Idemitsu Kosan Co., Ltd. 薄膜トランジスタ
WO2009063584A1 (ja) 2007-11-13 2009-05-22 Panasonic Corporation プログラマブルデバイス、デバイス制御方法及び情報処理システム
US7652502B2 (en) 2007-12-29 2010-01-26 Unity Semiconductor Corporation Field programmable gate arrays using resistivity sensitive memories
US7816947B1 (en) 2008-03-31 2010-10-19 Man Wang Method and apparatus for providing a non-volatile programmable transistor
US7852114B2 (en) 2008-08-14 2010-12-14 Nantero, Inc. Nonvolatile nanotube programmable logic devices and a nonvolatile nanotube field programmable gate array using same
JP5781720B2 (ja) 2008-12-15 2015-09-24 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の製造方法
US7973556B1 (en) 2009-03-05 2011-07-05 Xilinx, Inc. System and method for using reconfiguration ports for power management in integrated circuits
US8072237B1 (en) 2009-06-04 2011-12-06 Altera Corporation Computer-aided design tools and memory element power supply circuitry for selectively overdriving circuit blocks
KR101903918B1 (ko) 2009-10-16 2018-10-02 가부시키가이샤 한도오따이 에네루기 켄큐쇼 논리 회로 및 반도체 장치
KR101996773B1 (ko) 2009-10-21 2019-07-04 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
KR20220153647A (ko) 2009-10-29 2022-11-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
EP2526622B1 (de) 2010-01-20 2015-09-23 Semiconductor Energy Laboratory Co. Ltd. Halbleiterbauelement
US20120017035A1 (en) * 2010-07-16 2012-01-19 Plx Technology, Inc. Runtime reprogramming of a processor code space memory area
TWI525614B (zh) 2011-01-05 2016-03-11 半導體能源研究所股份有限公司 儲存元件、儲存裝置、及信號處理電路
KR101899880B1 (ko) 2011-02-17 2018-09-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 lsi
US8667192B2 (en) 2011-02-28 2014-03-04 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
JP5879165B2 (ja) 2011-03-30 2016-03-08 株式会社半導体エネルギー研究所 半導体装置
WO2012157532A1 (en) 2011-05-16 2012-11-22 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US9673823B2 (en) 2011-05-18 2017-06-06 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method of driving semiconductor device
US8779799B2 (en) 2011-05-19 2014-07-15 Semiconductor Energy Laboratory Co., Ltd. Logic circuit
US8581625B2 (en) 2011-05-19 2013-11-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
JP5820336B2 (ja) 2011-05-20 2015-11-24 株式会社半導体エネルギー研究所 半導体装置
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
US8760193B2 (en) * 2011-07-01 2014-06-24 Tabula, Inc. Configurable storage elements
JP5795921B2 (ja) * 2011-09-21 2015-10-14 株式会社東芝 Icカード、携帯可能電子装置、icカードの制御方法
JP5899748B2 (ja) * 2011-09-27 2016-04-06 セイコーエプソン株式会社 媒体処理装置、及び、媒体処理装置の制御方法
JP6125850B2 (ja) 2012-02-09 2017-05-10 株式会社半導体エネルギー研究所 半導体装置及び半導体装置の作製方法
JP5876752B2 (ja) * 2012-03-12 2016-03-02 ルネサスエレクトロニクス株式会社 半導体装置及び携帯端末装置
US9372694B2 (en) * 2012-03-29 2016-06-21 Semiconductor Energy Laboratory Co., Ltd. Reducing data backup and recovery periods in processors
US9654107B2 (en) 2012-04-27 2017-05-16 Semiconductor Energy Laboratory Co., Ltd. Programmable LSI
US9285848B2 (en) * 2012-04-27 2016-03-15 Semiconductor Energy Laboratory Co., Ltd. Power reception control device, power reception device, power transmission and reception system, and electronic device
SG10201608665WA (en) 2012-05-02 2016-12-29 Semiconductor Energy Lab Co Ltd Programmable logic device
US9571103B2 (en) 2012-05-25 2017-02-14 Semiconductor Energy Laboratory Co., Ltd. Lookup table and programmable logic device including lookup table
CN104321967B (zh) 2012-05-25 2018-01-09 株式会社半导体能源研究所 可编程逻辑装置及半导体装置
JP6377317B2 (ja) 2012-05-30 2018-08-22 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US10127569B2 (en) * 2012-07-06 2018-11-13 Oracle International Corporation Service design and order fulfillment system with service order design and assign provider function
JP2014032723A (ja) 2012-08-03 2014-02-20 Toshiba Corp プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法
JP2014052918A (ja) * 2012-09-07 2014-03-20 Canon Inc 演算装置およびその制御方法
WO2014073374A1 (en) 2012-11-06 2014-05-15 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof
JP6254834B2 (ja) 2012-12-06 2017-12-27 株式会社半導体エネルギー研究所 半導体装置
US9286985B2 (en) * 2013-02-12 2016-03-15 Kabushiki Kaisha Toshiba Semiconductor device with power mode transitioning operation
KR102112367B1 (ko) 2013-02-12 2020-05-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
JP6368155B2 (ja) 2013-06-18 2018-08-01 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US9379713B2 (en) 2014-01-17 2016-06-28 Semiconductor Energy Laboratory Co., Ltd. Data processing device and driving method thereof
JP6036719B2 (ja) 2014-01-30 2016-11-30 コニカミノルタ株式会社 プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法
CN105960633B (zh) 2014-02-07 2020-06-19 株式会社半导体能源研究所 半导体装置、装置及电子设备
US10055232B2 (en) 2014-02-07 2018-08-21 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device comprising memory circuit
JP2015215706A (ja) * 2014-05-08 2015-12-03 株式会社東芝 Icカード発行用データ処理装置、icカード発行装置、icカード発行システム、icカード発行用データ処理プログラム、icカード発行プログラム
US20160132099A1 (en) * 2014-11-10 2016-05-12 Novi Security, Inc. Security Sensor Power Management
JP2017135698A (ja) 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016161049A (ja) 2015-03-02 2016-09-05 倉敷化工株式会社 リンクブラケット

Also Published As

Publication number Publication date
WO2018033834A1 (en) 2018-02-22
US10564698B2 (en) 2020-02-18
KR102420735B1 (ko) 2022-07-14
JP2018033132A (ja) 2018-03-01
CN109565280A (zh) 2019-04-02
JP7073060B2 (ja) 2022-05-23
KR20190039149A (ko) 2019-04-10
US11281285B2 (en) 2022-03-22
US20200183483A1 (en) 2020-06-11
CN109565280B (zh) 2023-02-17
US20180052508A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
DE112017004148T5 (de) Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung
DE3424765C2 (de) Mikrocomputer
DE2654278C2 (de)
DE3606406A1 (de) Konfigurierbares logikelement
DE10207312A1 (de) Ferroelektrische nichtflüchtige Logikelemente
DE2503318A1 (de) Speicheranordnung zum speichern eines eingangssignals mit einer mehrzahl bits
DE2222521C3 (de) N-stufiger Ringzähler
DE2544974A1 (de) Anordnung zum darstellen logischer funktionen
DE1816356A1 (de) Monolythischer Halbleiterspeicher
DE1293848B (de) Mit Feldeffekttransistoren aufgebaute logische Schaltung mit mehreren Eingaengen und zwei Ausgaengen
DE2011794C3 (de) Halbleiterspeicheranordnung
DE1499843B2 (de) Anordnung mit mindestens einer Speicherzelle mit mehreren Transistoren
DE2423551A1 (de) Kapazitiver speicher fuer binaerdaten
DE2707456A1 (de) Dynamischer ram-speicher/direktzugriffspeicher
DE102011000542A1 (de) Überlappendes Schreibverfahren eines NVM
DE102012201789A1 (de) Nicht-flüchtige CMOS-kompatible Logikschaltungen und zugehörige Betriebsverfahren
DE112017001059T5 (de) Halbleiterschaltkreis, verfahren zur ansteuerung des halbleiterschaltkreises und elektronische vorrichtung
DE2351554C2 (de) Speicher für direkten Zugriff mit dynamischen Speicherzellen
DE2234310A1 (de) Logischer schaltkreis mit mindestens einer taktleitung
DE2152109C3 (de) Speichermatrix mit einem Feldeffekt-Halbleiterbauelement je Speicherplatz
DE102005023911A1 (de) Halbleiterschaltungsvorrichtung und Verfahren zum Betreiben der Halbleiterschaltvorrichtung
DE102019201830A1 (de) Integrierter Pegelumsetzer
DE102019116903A1 (de) Verarbeitungs- und speichervorrichtung und -system
DE2128792A1 (de) Schaltungsanordnung mit mindestens einem Feldeffekttransistor
DE2704796C3 (de) Dynamische Halbleiter-Speicherzelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed