DE112012003335T5 - Integrierte Schaltung - Google Patents

Integrierte Schaltung Download PDF

Info

Publication number
DE112012003335T5
DE112012003335T5 DE112012003335.3T DE112012003335T DE112012003335T5 DE 112012003335 T5 DE112012003335 T5 DE 112012003335T5 DE 112012003335 T DE112012003335 T DE 112012003335T DE 112012003335 T5 DE112012003335 T5 DE 112012003335T5
Authority
DE
Germany
Prior art keywords
unit cell
signal
circuit
logic
array
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.)
Withdrawn
Application number
DE112012003335.3T
Other languages
English (en)
Inventor
Tomoyasu Itoh
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE112012003335T5 publication Critical patent/DE112012003335T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays
    • H03K19/17712Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays one of the matrices at least being reprogrammable

Abstract

Es werden eine integrierte Schaltung, die in der Lage ist, sämtliche Faktoren, d. h. Bereich, Kosten, Logikänderungsfunktion, Betriebsfrequenz, Flexibilität, Durchsatz und Energieverbrauch, zu verbessern, und ein rekonfigurierbarer Prozessor, der in der Lage ist, eine Befehlsfunktion zu ändern, geschaffen. Einheitszellen, die jeweils vier Eingänge und zwei Ausgänge aufweisen, sind in einem Ziegelmuster angeordnet, um ein rekonfigurierbares Array zu bilden. Auf der Grundlage von Auswahlinformationen werden eine A/L-Auswahl und eine B/R-Auswahl durchgeführt. Auf der Grundlage von Konfigurationsinformationen werden ein Ausgang einer logischen Operation von Eingängen, die A/L, B, B/R und A sind, und nicht invertierte/invertierte Eingänge zu einer benachbarten Einheitszelle ausgegeben.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft im Allgemeinen eine integrierte Schaltung und insbesondere eine integrierte Schaltung, die in der Lage ist, eine Logik zu rekonfigurieren, einen rekonfigurierbaren Prozessor, der einen Befehlssatz aufweist, der in der Lage ist, eine Funktion zu ändern, und ein Kompilierungsprozessverfahren. Die vorliegende Erfindung betrifft eine verbesserte Erfindung der Erfindung (im Folgenden als Basiserfindung bezeichnet), die in der von derselben Anmelderin eingereichten PCT/JP2011/053225 beschrieben ist.
  • STAND DER TECHNIK
  • Herkömmlich werden in einer integrierten Halbleiterschaltung eine hohe Performance und ein kleiner Chipbereich durch Entwerfen einer zweckgebundenen LSI (Large Scal Integrated Circuit, integrierte Schaltung großen Ausmaßes) realisiert, und es wird ein Herstellungsverfahren mit niedrigen Kosten durch eine Massenproduktion realisiert. Es ist jedoch eine Entwicklung für jede individuelle Anwendung notwendig, und daher erhöhen sich die Entwicklungskosten. Außerdem ist es nicht einfach, eine Funktion einer zweckgebundenen LSI zu ändern. Im Allgemeinen ist es, wenn es notwendig ist, die Funktion zu ändern, notwendig, einen Teil oder den gesamten Entwurf sowie den Herstellungsprozess neu aufzubauen.
  • Wenn eine Funktion in einem FPGA (field programmable gate array, feldprogrammmierbares Gatterarray) geändert wird, ist es nicht notwendig, den Herstellungsprozess neu auszuführen, aber es ist notwendig, den Entwurfsprozess nach dem RTL-Entwurf (Register Transfer Level, Registerübertragungsebene) neu auszuführen. Insbesondere ist bei dem Zeitpunktentwurf die Länge eines Verdrahtungskanals zur Verbindung von logischen Elementen unbekannt, bis die logischen Elemente entworfen sind. Da die Menge an Umwegen des Verdrahtungskanalpfads groß ist, weist das FPGA im Allgemeinen eine niedrigere Betriebsfrequenz als die zweckgebundene LSI und eine ASIC (Application Specific Integrated Circuit, anwendungsspezifische integrierte Schaltung) auf. Somit besteht das Problem, dass sich die maximale Betriebsfrequenz des FPGA jedes Mal ändern kann, wenn das FPGA neu entworfen wird. Da ein großer Kanalbereich notwendig ist, um logische Elemente zu verbinden, ist außerdem eine Chipfläche des FPGA einige Male oder zehn Mal so groß wie diejenige der zweckgebundenen LSI, und daher ist eine Verringerung der Kosten des FPGA schwierig.
  • Softwareprozesse eines Prozessors oder eines DSP (Digital Signal Processor, digitaler Signalprozessor) sind bei einer Funktionsänderung flexibel und weisen eine hohe allgemeine Vielseitigkeit auf, so dass eine Massenproduktion und niedrige Kosten allgemein möglich sind. Die Softwareprozesse sind jedoch im Allgemeinen mit ihren Bit-um-Bit-Basisoperationen im Vergleich zu Produkt-Summen-Operationen und Register-um-Register-Basislogikoperationen schlecht. Außerdem können die Softwareprozesse bei einer komplizierten Kommunikationsverarbeitung oder einer fortgeschrittenen Bildverarbeitung keine ausreichende Performance im Vergleich zu einer zweckgebundenen LSI bieten. Ein typischer Ansatz zur Verbesserung der Performance ist eine Erhöhung der Betriebsfrequenz. Dieses ergibt jedoch das Problem, dass sich der Energieverbrauch erhöht.
  • Ein DRP (Dynamic Reconfigurable Processor, dynamisch rekonfigurierbarer Prozessor) ist in der Lage, eine Funktionsänderung zu bewältigen, und es wird erwartet, dass im Vergleich zu einer Softwareverarbeitung eine Hochgeschwindigkeitsverarbeitung mittels eines typischen Prozessors möglich ist. Die Anzahl der logisch rekonfigurierbaren Elemente in einem vorhandenen Produkt beträgt etwa von 16 bis 1024 und ist kleiner als bei dem FPGA. Dieses stellt ein Flexibilitätsproblem dar. Außerdem benötigen einige DRPs einen relativ großen Verdrahtungskanalbereich zur Verbindung der logisch rekonfigurierbaren Elemente. In einigen Fällen ist eine große Menge an Umwegen der Verdrahtung zur Verbindung mit diesem Verdrahtungskanal notwendig. Somit ist eine Signalübertragungsverzögerung, die ein kritischer Pfad ist, groß. Eine Erhöhung der Betriebsfrequenz ist im Vergleich zu einer zweckgebundenen LSI schwierig. Außerdem wird ein Verdrahtungskanalbereich zur Verbindung eines logisch rekonfigurierbaren Elementes mit einem Speicher für das logisch rekonfigurierbare Element benötigt. Aufgrund der großen Fläche ist eine Kostenverringerung im Vergleich zu einer zweckgebundenen LSI und einer ASIC schwierig.
  • LITERATUR DES STANDS DER TECHNIK
  • PATENTLITERATUR
    • Patentliteratur 1: JP 2000-232162 A
    • Patentliteratur 2: JP 2000-138579 A
    • Patentliteratur 3: JP H9-74351 A
    • Patentliteratur 4: JP H5-74935 A
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • VON DER ERFINDUNG ZU LÖSENDES PROBLEM
  • Typabhängig weisen herkömmliche integrierte Schaltungen die folgenden Nachteile auf.
    • (1) Eine zweckgebundene LSI kann einen hohen Durchsatz erzielen, benötigt aber eine Überarbeitung des Entwurfs und des Halbleiterherstellungsprozesses jedes Mal, wenn eine Funktionsänderung gefordert ist.
    • (2) Ein FPGA benötigt keinen Halbleiterherstellungsprozess für jede Anwendung, weist jedoch ein Problem hinsichtlich der Betriebsfrequenz und der Kosten auf.
    • (3) Ein DSP weist eine allgemeine Vielseitigkeit auf und kann eine Funktionsänderung flexibel handhaben, weist jedoch das Problem mit der Bit-um-Bit-Basisoperationseffizienz, dem Durchsatz und dem Energieverbrauch auf.
    • (4) Ein DRP kann die Funktionsänderung flexibel handhaben, weist jedoch ein Problem hinsichtlich der Flexibilität und der Betriebsfrequenz auf.
  • Diese weisen sowohl Vorteile als auch Nachteile in Bezug auf die Logikänderbarkeit eines logischen Elements, die Anzahl der logisch rekonfigurierbaren Elemente, die Betriebsfrequenz, die Chipfläche, die allgemeine Vielseitigkeit, den Energieverbrauch und die Kosten auf. Daher sollte in Abhängigkeit von der Anwendung, den Entwicklungskosten oder den Geschäftsbedingungen der Typ des integrierten Schaltungsprodukts geeignet ausgewählt werden.
  • Die vorliegende Erfindung entstand im Hinblick auf diese Probleme und dient zum Verbessern einer herkömmlichen integrierten Schaltung.
  • Insbesondere ist es eine erste Aufgabe, eine integrierte Schaltung zu schaffen, die einen Verdrahtungskanalbereich zur elektrischen Verbindung von Einheitszellen, die logisch rekonfigurierbare Elemente enthalten, minimieren kann.
  • Es ist eine zweite Aufgabe, eine integrierte Schaltung zu schaffen, die flexibel eine große Kombinationsschaltung (Kombinationsschaltung großen Ausmaßes) schaffen kann, wenn Einheitszellen, die logisch rekonfigurierbare Elemente enthalten, in einem Array angeordnet sind, so dass ein Blattzellenmodul gebildet wird.
  • Es ist eine dritte Aufgabe, eine integrierte Schaltung zu schaffen, die eine effiziente Implementierung einer Schaltungsfunktion bzw. Schaltkreisfunktion ermöglicht, wenn Einheitszellen, die logisch rekonfigurierbare Elemente enthalten, in einem Array angeordnet sind, so dass ein Blattzellenmodul gebildet wird.
  • Es ist eine vierte Aufgabe, ein Schaltungsausmaß eines Speicherelements, das eine Logik eines logisch rekonfigurierbaren Elements bestimmt, hinsichtlich der Größe zu verringern.
  • MITTEL ZUM LÖSEN DER PROBLEME
  • Um die obigen Probleme zu lösen, weist eine integrierte Schaltung nach Anspruch 1 ein Array auf, in dem mehrere Einheitszellen, die jeweils eine vorbestimmte Gestalt aufweisen, in einer Matrix angeordnet sind, wobei
    jede Einheitszelle ein logisch rekonfigurierbares Element, ein Speicherelement zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements, mehrere Eingangsanschlüsse, die mit dem logisch rekonfigurierbaren Element verbunden sind, und mehrere Ausgangsanschlüsse, die mit dem logisch rekonfigurierbaren Element verbunden sind, enthält;
    in den Einheitszellen der Matrix die Einheitszellen jeder Reihe um einen vorbestimmten Versatz verschoben sind, um das Array zu bilden,
    elektrische Verbindungen zwischen den Einheitszellen, die das Array bilden, die folgenden Strukturen aufweisen:
    • (1) ein Eingangsanschluss einer Einheitszelle ist mit einem Ausgangsanschluss einer ersten benachbarten Einheitszelle, die in einer Spaltenrichtung benachbart zu der einen Einheitszelle angeordnet ist und die in einer Reihenrichtung in Bezug auf die eine Einheitszelle um den vorbestimmten Versatz verschoben ist, elektrisch verbunden;
    • (2) ein anderer Eingangsanschluss der einen Einheitszelle ist mit einem Ausgangsanschluss einer zweiten benachbarten Einheitszelle, die in der Reihenrichtung benachbart zu der einen Einheitszelle angeordnet ist, elektrisch verbunden; und
    • (3) die Verbindung, die in (1) definiert ist, und die Verbindung, die in (2) definiert ist, werden auch für die anderen Einheitszellen des Arrays verwendet.
  • Gemäß der in Anspruch 1 definierten Erfindung, die diese Strukturen aufweist, enthalten die Einheitszellen in dem Array in jeder Reihe die logisch rekonfigurierbaren Elemente, die mit einem vorbestimmten Versatz zueinander verschoben angeordnet sind. Außerdem ist das Array derart aufgebaut, dass ein Eingangsanschluss einer Einheitszelle mit einem Ausgangsanschluss einer ersten benachbarten Einheitszelle, die in einer Spaltenrichtung benachbart zu der einen Einheitszelle angeordnet ist und in einer Reihenrichtung in Bezug auf die eine Einheitszelle um den vorbestimmten Versatz verschoben ist, elektrisch verbunden ist; ein anderer Eingangsanschluss der einen Einheitszelle mit einem Ausgangsanschluss einer zweiten benachbarten Einheitszelle, die in der Reihenrichtung benachbart zu der einen Einheitszelle ist, elektrisch verbunden ist; und diese Arten der Verbindung auch für die anderen Einheitszellen des Arrays verwendet werden. Daher wird es möglich, eine integrierte Schaltung zu schaffen, die einen Verdrahtungskanalbereich zum elektrischen Verbinden der Einheitszellen, die jeweils das logisch rekonfigurierbare Element enthalten, minimieren kann.
  • Gemäß der vorliegenden Erfindung des Anspruchs 2, der auf der integrierten Schaltung nach Anspruch 1 basiert,
    weist die integrierte Schaltung die integrierte Schaltung auf, die mehrere der Arrays aufweist;
    weist die integrierte Schaltung eine Schnittstellenschaltung auf, die die Arrays elektrisch verbindet; und
    führt die integrierte Schaltung über die Schnittstellenschaltung eine Signalkommunikation zwischen den Arrays durch.
  • Gemäß der in Anspruch 2 beanspruchten Erfindung können die Arrays, die mit der Schnittstellenschaltung elektrisch verbunden sind, um die Signalkommunikation durchzuführen, für die integrierte Schaltung bereitgestellt werden. Daher wird es möglich, eine große integrierte Schaltung zu schaffen, die einfach erweiterbar ist.
  • Außerdem wird gemäß Anspruch 3 der vorliegenden Erfindung, der auf der integrierten Schaltung nach Anspruch 2 basiert, Folgendes beansprucht:
    Die Schnittstellenschaltung enthält ein Speicherelement zum Speichern von Daten, die von dem Array ausgegeben werden, und weist eine Signalumgehungsfunktion zum Umleiten eines Signals, das in einen Eingangsanschluss des Speicherelements eingegeben wird, wenn ein vorbestimmtes Signal an einen vorbestimmten Anschluss des Speicherelements angelegt wird, zu einem Ausgangsanschluss des Speicherelements auf;
    wenn das vorbestimmte Signal an den vorbestimmten Anschluss des Speicherelements angelegt wird, leitet die Schnittstellenschaltung die Signalkommunikation zwischen den Arrays, die mit der Schnittstellenschaltung verbunden sind, um; und wenn die Signalkommunikation nicht umgeleitet wird, wird die Schnittstellenschaltung als eine sequenzielle Schaltung betrieben, die die Daten, die von dem Array ausgegeben werden, speichert.
  • Gemäß der in Anspruch 3 beanspruchten Erfindung, die die obigen Strukturen aufweist, leitet die Schnittstellenschaltung die Signalkommunikation zwischen den Arrays, die mit der Schnittstellenschaltung verbunden sind, um, wenn das vorbestimmte Signal an den vorbestimmten Anschluss des Speicherelements angelegt wird. Wenn die Signalkommunikation nicht umgeleitet wird, wird die Schnittstellenschaltung als eine sequenzielle Schaltung betrieben, die die Daten, die von dem Array ausgegeben werden, speichert. Wenn die Einheitszellen, die jeweils das logisch rekonfigurierbare Element enthalten, in dem Array angeordnet sind, so dass sie ein Blattzellenmodul bilden, wird es daher möglich, eine integrierte Schaltung zu schaffen, die flexibel eine große Kombinationsschaltung implementiert.
  • Außerdem wird gemäß Anspruch 4 der vorliegenden Erfindung, der auf der integrierten Schaltung nach einem der Ansprüche 1–3 basiert, Folgendes beansprucht:
    In dem Array ist ein Ausgangsanschluss der Einheitszelle mit einem Eingangsanschluss einer beliebigen anderen Einheitszelle, die in einer nächsten unteren Reihe und in einer Reihenrichtung in Bezug auf die Einheitszelle angeordnet ist, verbunden.
  • Gemäß der in Anspruch 4 beanspruchten Verbindung wird es möglich, eine effiziente Implementierung einer Schaltungsfunktion bereitzustellen, da ein Ausgangsanschluss der Einheitszelle mit einem Eingangsanschluss einer beliebigen anderen Einheitszelle verbunden ist, die in einer nächsten unteren Reihe und in einer Reihenrichtung in Bezug auf die Einheitszelle angeordnet ist.
  • Außerdem wird gemäß Anspruch 5 der vorliegenden Erfindung, der auf der integrierten Schaltung nach einem der Ansprüche 1–5 basiert, Folgendes beansprucht:
    Das Speicherelement zum Bestimmen der Logik des logisch rekonfigurierbaren Elements enthält einen ersten PMOS-Transistor, einen zweiten PMOS-Transistor, einen ersten NMOS-Transistor und einen zweiten NMOS-Transistor und weist die folgenden Strukturen auf:
    • (1) ein Drain des ersten PMOS-Transistors und ein Drain des ersten NMOS-Transistors sind miteinander verbunden und sind mit einem Gate des zweiten PMOS-Transistors und einem Gate des zweiten NMOS-Transistors verbunden;
    • (2) ein Drain des zweiten PMOS-Transistors und ein Drain des zweiten NMOS-Transistors sind miteinander verbunden und sind mit einem Gate des ersten NMOS-Transistors verbunden und dienen als ein Ausgangsanschluss;
    • (3) eine Source des ersten PMOS-Transistors dient als ein Eingangsanschluss des logisch konfigurierbaren Elements für Logikkonfigurationsdaten;
    • (4) eine Source des ersten NMOS-Transistors ist mit GND verbunden und eine Source des zweiten PMOS-Transistors ist mit einer Energiequelle verbunden;
    • (5) ein Gate des ersten PMOS-Transistors dient als ein Steuergate eines Dateneingangs;
    • (6) in einem Anfangszustand ist eine Source des zweiten NMOS-Transistors mit einem Energiequellenpegel verbunden; und
    • (7) nach einer Fixierung von Haltedaten geht ein elektrisches Potenzial der Source des zweiten NMOS-Transistors von dem Energiequellenpegel in einen GND-Pegel über; und
    • (8) das Speicherelement ist gemäß (1) bis (7) aufgebaut.
  • Gemäß der in Anspruch 5 beanspruchten Erfindung, die die obigen Strukturen aufweist, wird es möglich, ein Schaltungsausmaß des logisch rekonfigurierbaren Elements zu verringern, da das Speicherelement zum Bestimmen der Logik des logisch rekonfigurierbaren Elements unter Verwendung von zwei PMOS-Transistoren und zwei NMOS-Transistoren wie in Anspruch 5 definiert aufgebaut ist.
  • VORTEILHAFTE WIRKUNGEN DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung sind in dem Array die Einheitszellen, die jeweils die logisch rekonfigurierbaren Elemente enthalten, in jeder Reihe mit einem vorbestimmten Versatz verschoben angeordnet. Außerdem ist das Array derart aufgebaut, dass ein Eingangsanschluss einer Einheitszelle mit einem Ausgangsanschluss einer ersten benachbarten Einheitszelle elektrisch verbunden ist, die in einer Spaltenrichtung benachbart zu der einen Einheitszelle angeordnet und in einer Reihenrichtung in Bezug auf die eine Einheitszelle um den vorbestimmten Versatz verschoben ist; ein anderer Eingangsanschluss der einen Einheitszelle mit einem Ausgangsanschluss einer zweiten benachbarten Einheitszelle elektrisch verbunden ist, die in der Reihenrichtung benachbart zu der einen Einheitszelle angeordnet ist; und diese Arten der Verbindung auch für die anderen Einheitszellen des Arrays verwendet werden. Daher wird es möglich, eine integrierte Schaltung zu schaffen, die einen Verdrahtungskanalbereich zur elektrischen Verbindung zwischen den Einheitszellen, die jeweils das logisch rekonfigurierbare Element enthalten, minimieren kann.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt eine Schaltung (Schaltkreis) einer Blattzelle basierend auf der Basiserfindung dar.
  • 2 stellt eine Schaltung eines Blattzellenmoduls dar, in dem mehrere Blattzellen basierend auf der Basiserfindung regelmäßig angeordnet sind.
  • 3 stellt mehrere regelmäßig angeordnete Blattzellen und eine Rückkopplungsschaltung basierend auf der Basiserfindung dar.
  • 4 stellt Blattzellenmodule, die über eine Schnittstellenschaltung basierend auf der Basiserfindung kombiniert sind, dar.
  • 5 stellt eine integrierte Schaltung dar, bei der ein Blattzellenmodul mit einem Bus verbunden ist.
  • 6 stellt eine Architektur eines rekonfigurierbaren Prozessors basierend auf der Basiserfindung dar.
  • 7 stellt eine integrierte Schaltung dar, bei der ein rekonfigurierbarer Prozessor und ein Blattzellenmodul mit einem Bus verbunden sind.
  • 8 stellt einen Prozessfluss eines rekonfigurierbaren Prozessors basierend auf der Basiserfindung dar.
  • 9 stellt ein konkretes Beispiel einer integrierten Schaltung basierend auf der Basiserfindung dar.
  • 10 stellt einen logischen Ausdruck zum Darstellen eines Prinzips basierend auf der Basiserfindung dar.
  • 11 ist ein konzeptionelles Diagramm eines logisch rekonfigurierbaren Elements basierend auf der Basiserfindung.
  • 12 ist ein Diagramm, das eine Einheitszelle unter Verwendung von zwei logischen Ausdrücken der 10 darstellt.
  • 13 ist ein Diagramm, das eine Operation einer Einheitszelle darstellt.
  • 14 ist ein Diagramm, das eine Operation einer Einheitszelle darstellt.
  • 15 ist ein Diagramm, das eine Operation einer Einheitszelle darstellt.
  • 16 ist ein Diagramm, das ein Array und dessen Funktion basierend auf der Basiserfindung darstellt.
  • 17 ist ein Gatterebenenschaltungsdiagramm, das einen Logikelementblock gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 18 stellt Wahrheitswerte eines Logikelementblocks gemäß einer Ausführungsform basierend auf der Basiserfindung dar.
  • 19 ist ein Gatterebenenschaltungsdiagramm, das eine Einheitszelle gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 20 ist ein Transistorebenenschaltungsdiagramm, das eine Einheitszelle gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 21 ist ein Gatterebenenschaltungsdiagramm, das ein Array gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 22 ist ein Gatterebenenschaltungsdiagramm, das ein Array gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 23 ist ein Gatterebenenschaltungsdiagramm, das eine Einheitszelle gemäß einer Modifikation basierend auf der Basiserfindung darstellt.
  • 24 ist ein Transistorebenenschaltungsdiagramm, das eine Einheitszelle gemäß einer Modifikation basierend auf der Basiserfindung darstellt.
  • 25 ist ein Gatterebenenschaltungsdiagramm, das ein Array einer Modifikation basierend auf der Basiserfindung darstellt.
  • 26 ist ein Gatterebenenschaltungsdiagramm, das ein Array einer Modifikation basierend auf der Basiserfindung darstellt.
  • 27 ist ein Gatterebenenschaltungsdiagramm, das ein Array gemäß einer Modifikation basierend auf der Basiserfindung darstellt.
  • 28 ist ein Layout-Diagramm, das ein Array und ein Unterarray gemäß einer Ausführungsform basierend auf der Basiserfindung darstellt.
  • 29 stellt ein Verwendungsbeispiel gemäß einer Ausführungsform basierend auf der Basiserfindung dar.
  • 30 stellt ein Verwendungsbeispiel gemäß einer Ausführungsform basierend auf der Basiserfindung dar.
  • 31 stellt ein Verwendungsbeispiel gemäß einer Ausführungsform basierend auf der Basiserfindung dar.
  • 32 ist ein Diagramm, das eine Ausführungsform der vorliegenden Erfindung (Modifikation basierend auf der Basiserfindung) darstellt.
  • 33A stellt eine beispielhafte Form der Verwendung gemäß der Ausführungsform, die in 32 dargestellt ist, dar.
  • 33B stellt eine Modifikation einer Ausführungsform der vorliegenden Erfindung dar.
  • 33C stellt im Detail eine Schaltung einer Einheitszelle, die in der Ausführungsform der 33B dargestellt ist, dar.
  • 33D stellt Wahrheitswerte der 33C gemäß der vorliegenden Erfindung dar.
  • 33E stellt Wahrheitswerte der 33C gemäß der vorliegenden Erfindung dar.
  • 33F stellt eine Logikabbildung basierend auf der Basiserfindung dar.
  • 33G stellt eine Logikabbildung entsprechend einer Schaltungsstruktur der 33B basierend auf der vorliegenden Erfindung dar.
  • 34 stellt einen Prozessfluss eines Logikzellenkompilierers basierend auf der vorliegenden Erfindung dar.
  • 35 ist ein Schaltungsdiagramm, das eine kleinere Anzahl von Transistoren als die Schaltungen der 20 und 24 aufweist.
  • 36 stellt Wahrheitswerte der 35 basierend auf der vorliegenden Erfindung dar.
  • 37 ist ein Diagramm, das einen Transistor zum Bereitstellen der Schaltung der 35 basierend auf der vorliegenden Erfindung darstellt.
  • 38A ist ein Schaltungsdiagramm, das eine Modifikation basierend auf der vorliegenden Erfindung darstellt.
  • 38B ist ein Schaltungsdiagramm, das eine Modifikation basierend auf der vorliegenden Erfindung darstellt.
  • 38C stellt Wahrheitswerte entsprechend den Schaltungsstrukturen der 38A und 38B dar.
  • 38D stellt Wahrheitswerte entsprechend den Schaltungsstrukturen der 38A und 38B dar.
  • 39 stellt eine weitere Modifikation einer Ausführungsform basierend auf der vorliegenden Erfindung dar.
  • 40 stellt Wahrheitswerte entsprechend den Schaltungsstrukturen der 39 dar.
  • 41 stellt eine Modifikation dar, bei der ein Übertragungsgatter in dem Schaltungsdiagramm der 38A, 38B modifiziert ist.
  • 42 ist ein Diagramm, das ein D-Flip-Flop darstellt, das eine Umleitungsfunktion basierend auf der vorliegenden Erfindung aufweist.
  • 43 ist ein Diagramm, das Wahrheitswerte entsprechend den Schaltungsstrukturen der 42 darstellt.
  • 44 ist ein Array-Layout-Diagramm, das eine Seitenschleifenverbindung basierend auf der vorliegenden Erfindung darstellt.
  • MODI ZUM AUSFÜHREN DER ERFINDUNG
  • 1-1 Umriss der Basiserfindung
  • Im Folgenden wird ein Umriss einer Basiserfindung beschrieben. Hinsichtlich der in den Zeichnungen dargestellten Verdrahtungen repräsentiert eine Kreuzung von zwei Linien in einer Kreuzgestalt eine Abwesenheit einer elektrischen Verbindung. Die Kreuzung von zwei Linien in einer T-Gestalt repräsentiert das Vorhandensein einer elektrischen Verbindung.
  • Wie es in 1 gezeigt ist, weist eine strukturelle Einheit einer Integrationsschaltung, die Blattzelle (Einheitszelle) 7 genannt ist und auf der Basiserfindung basiert, mehrere logisch rekonfigurierbare Elemente 1, mehrere Speicherelemente 2, einen Logikdatensignalkanal 3, einen Logikrekonfigurationsdatenkanal 4, einen Steuersignalkanal 5 der Speicherelemente 2 zur logischen Rekonfiguration und einen Eingangs-/Ausgangsanschluss 6 auf. Das logisch rekonfigurierbare Element 1 enthält eine Schaltung für eine Produkt-Summen-Logik, eine Summen-Produkt-Logik, eine Ringsummenlogik oder Ähnliches. Das Speicherelement 2 zur logischen Konfiguration ist als ein Speicherelement (Speicherelement zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements 1) zum Definieren einer Logik des logisch rekonfigurierbaren Elements 1 ausgebildet. Das Speicherelement 2 kann ein Latch, ein Flip-Flop, einen SRAM, einen DRAM, einen Flash-Speicher oder Ähnliches enthalten. Hier werden das Speicherelement 2 zur logischen Konfiguration und das logisch rekonfigurierbare Element 1 gemeinsam als Logikelementblock bezeichnet. Ein manueller Entwurf oder ein CAD-Werkzeug-Entwurf erhöht die Dichte und optimiert eine Fortpflanzungsverzögerung eines logischen Datensignals, den elektrischen Energieverbrauch und eine Fläche. Wenn sämtliche logischen Dateneingangssignale jeweils in sämtliche logisch rekonfigurierbaren Elemente 1 eingegeben werden, werden eine Änderung und eine Unterteilung eines Signalpfads zwischen dem Eingangsanschluss und dem Ausgangsanschluss der Blattzelle 7 ausgeführt. Wenn die Informationen in dem Speicherelement für die logische Konfiguration neu geschrieben werden, wird die Änderung der Logik des logisch rekonfigurierbaren Elements ausgeführt.
  • Wie es in 2 beispielsweise gezeigt ist, sind mehrere Blattzellen 7, die manuell entworfen und logisch rekonfigurierbar sind, mit einer vorbestimmten Regelmäßigkeit wie beispielsweise einem Ziegelmuster (in einem Array angeordnet, in dem Blattzellen 7 auf einer Reihenbasis verschoben und in einer Matrix angeordnet sind) angeordnet, so dass eine Übertragungsverzögerungszeit zwischen logischen Datensignalanschlüssen der logisch rekonfigurierbaren Blattzellen 7, die in einer Aufwärts-Abwärts-Richtung in der Zeichnung benachbart zueinander sind, minimiert wird und dass ein Abstand zwischen den Datensignalanschlüssen der Speicherelemente zur logischen Konfiguration ebenfalls minimiert wird. Die Logikänderung und die Signalpfadänderung oder -unterteilung sind durch Neuschreiben der Informationen in den Speicherelementen zur logischen Konfiguration in den Blattzellen 7, die mit der vorbestimmten Regelmäßigkeit wie beispielsweise einem Ziegelmuster angeordnet sind, ausführbar.
  • Gemäß 3 sind für jedes logische Datensignal der Signalselektor und das Speicherelement wie beispielsweise die Flip-Flop-Schaltung und die Latch-Schaltung auf einer Stromaufseite und einer Stromabseite des logisch rekonfigurierbaren Blattzellenmoduls 71 (Unterarray) angeordnet, das mehrere logisch rekonfigurierbare Blattzellen 7 enthält, die mit der vorbestimmten Regelmäßigkeit angeordnet sind. Das logische Datenausgangssignal des Blattzellenmoduls 71 wird in einen logischen Dateneingangssignalanschluss des Speicherelements 9 wie beispielsweise der Flip-Flop-Schaltung oder der Latch-Schaltung über den logischen Datensignalselektor 8 eingegeben. Das logische Datenausgangssignal des Speicherelements 9 wie beispielsweise der Flip-Flop-Schaltung oder der Latch-Schaltung wird über einen Rückkopplungssignalselektor 10 in einen vorherigen Rückkopplungssignalselektor 11 zurückgeführt. Außerdem wird das logische Datenausgangssignal über den vorherigen logischen Datensignalselektor 12 zu dem logischen Dateneingangssignalanschluss des vorherigen Speicherelements 13 wie der Flip-Flop-Schaltung oder der Latch-Schaltung zurückgeführt. Das Speicherelement 13 dient als eine sequenzielle Schaltung zum Realisieren einer Logikschaltung und speichert ein Ausgangssignal des logischen Datensignalselektors 12.
  • Die Rückkopplungsschaltung (Schnittstellenschaltung des Blattzellenmoduls) ist mittels des Rückkopplungssignalselektors 11, des logischen Datensignalselektors 12 und des Speicherelements 13 (sequenzielle Schaltung aufgebaut. Außerdem werden mehrere Blattzellenmodule 71 von den Blattzellen 7 bereitgestellt, die in der oberen Richtung und der unteren Richtung dieser Rückkopplungsschaltung angeordnet sind, so dass die Blattzellenmodule 71 als ein Unterarray ausgebildet sind. Als Ergebnis werden das Speichern des logischen Datensignals und die Rückkopplung des logischen Datensignals auf skalierbare Weise auf einer Blattzellenbasis ausgeführt.
  • Das heißt, da mehrere Unterarrays 71 mittels der Schnittstellenschaltung elektrisch verbunden sind, um eine integrierte Schaltung, die Signalkommunikationen durchführt, bereitzustellen, ist es möglich, eine große integrierte Schaltung zu realisieren, die auf einfache Weise erweiterbar ist. In 3 sind vier Reihen in dem Unterarray 71 vorgesehen. Alternativ können mehr als vier Reihen in dem Unterarray 71 zwischen den Schnittstellenschaltungen vorgesehen sein. Die Speicherkapazität zum Speichern des logischen Datensignals kann entsprechend einem Verhältnis zwischen den logisch rekonfigurierbaren Blattzellen, die mit der vorbestimmten Regelmäßigkeit angeordnet sind, und den Speicherelementen wie der Flip-Flop-Schaltung oder der Latch-Schaltung beliebig eingestellt werden.
  • Die auf der Basiserfindung basierende integrierte Schaltung kann gleichzeitig den Signalpfad und die Logik durch Neuschreiben der Informationen des Speicherelements zur logischen Konfiguration rekonfigurieren. Aufgrund dessen kann eine Testschaltung ohne Verwendung einer zweckgebundenen Testschaltung rekonfiguriert werden, und es kann ein Selbsttest einer Schaltung durch Rekonfigurieren einer Selbstdiagnoseschaltung ausgeführt werden. Wenn ein Fehler auf der Grundlage eines Ergebnisses des Schaltungstests erfasst wird, wird die Rekonfiguration für einen Signalpfad zum Umgehen einer fehlerhaften Schaltung durch Neuschreiben der Informationen des Speicherelements 2 zur logischen Konfiguration ausgeführt. Somit arbeitet die Schaltung sogar dann, wenn der fehlerhafte Teil existiert, normal.
  • Es sind mehrere logisch rekonfigurierbare Blattzellenmodulgruppen 14, die jeweils durch mehrere logisch rekonfigurierbare Blattzellen 7 bereitgestellt werden, die mit der Regelmäßigkeit angeordnet sind, aufeinanderfolgend über die Blattzellenmodulgruppenschnittstellenschaltung 15 miteinander gekoppelt. Ein beispielhaftes Verfahren zum Ausdehnen bzw. Erweitern einer Funktion wird im Folgenden beschrieben. 4 ist ein Beispiel eines komplexen Moduls in einem Fall, in dem zwei logisch rekonfigurierbare Blattzellenmodulgruppen 14 miteinander gekoppelt sind. Die Blattzellenmodulgruppe 14 ist eine Schaltung, die dem Blattzellenmodul 71 und der Rückkopplungsschaltung (der Schnittstellenschaltung des Blattzellenmoduls) der 3 entspricht. Jede logisch rekonfigurierbare Blattzellenmodulgruppe 14 ist mit der Logikkonfigurationssteuerschaltung 16 gekoppelt. Die Steuerschaltung 16 führt eine Steuerung zum Schreiben, Speichern und Löschen der Informationen hinsichtlich der logischen Konfiguration in dem Konfigurationsspeicherelement der Blattzelle 7 durch. Da die Konfigurationsspeicherelemente strukturell und separat in der Blattzellenmodulgruppe 14 angeordnet sind, kann außerdem der Signalkanalbereich zwischen der Logikkonfigurationssteuerschaltung 16 und der Blattzellenmodulgruppe 14 kleiner als bei einem herkömmlichen FPGA oder DRP sein.
  • Es können eine oder mehrere logisch rekonfigurierbare Blattzellenmodulgruppen 14 mit dem Systembus oder dem lokalen Bus 17 über eine Busschnittstellenschaltung 18 und die Blattzellenmodulgruppenschnittstellenschaltung 15 verbunden sein. 5 zeigt ein Beispiel einer Schaltungskonfiguration, bei der ein komplexes Modul mittels zweier logisch rekonfigurierbarer Blattzellenmodulgruppen 14 bereitgestellt wird und mit dem Bus verbunden ist
  • Eine logisch rekonfigurierbare Blattzellenmodulgruppe 19, die mit der vorbestimmten Regelmäßigkeit angeordnet ist, ist für einen Prozessor verwendbar. 6 zeigt ein Beispiel einer Architektur eines rekonfigurierbaren Prozessors, bei dem das logisch rekonfigurierbare Blattzellenmodul 19 in den Datenbus der Befehlsausführungsverarbeitungsschaltung des Prozessors eingefügt ist und die Informationen des Speicherelements 2 zur logischen Konfiguration, das in jeder Blattzelle angeordnet ist, neu geschrieben werden, so dass eine Funktion eines Befehlssatzes änderbar ist. Dieses ist eine Prozessorarchitektur, die sowohl die Anweisung, die von der ALU (arithmetische Logikeinheit) 20 ausgeführt wird, als auch den Befehlssatz, dessen Funktion mittels der Blattzellenmodulgruppe 14 änderbar ist, aufweist. In diesem Architekturbeispiel erzeugt die Befehlsfunktionsänderungssteuerschaltung 22 die Funktionsänderungsinformationen und die Zeitpunktinformationen über die Funktionsänderung entsprechend dem Befehl, der von der Steuereinheit 21 decodiert wird, wenn es sich um einen funktionsänderbaren Befehl handelt. Entsprechend den Informationen rekonfiguriert die Blattzellenmodulkonfigurationssteuerschaltung 23 die logische Funktion der Blattzellenmodulgruppe 14. Außerdem wird ein normaler Befehl, der keine Funktionsänderung bereitstellt, von der ALU 20 wie gewöhnlich ausgeführt.
  • Es sind eine oder mehrere logisch rekonfigurierbare Blattzellenmodulgruppen 14, die mit der vorbestimmten Regelmäßigkeit basierend auf der Basiserfindung angeordnet sind, über die Busschnittstellenschaltung mit dem Systembus oder dem lokalen Bus verbindbar. Einer oder mehrere konfigurierbare Prozessoren, die den funktionsänderbaren Befehlssatz aufweisen, sind über die Busschnittstellenschaltung mit dem Systembus oder dem lokalen Bus verbindbar. 7 zeigt ein Beispiel einer Systemkonfiguration, bei der ein Systembus 24 mit dem rekonfigurierbaren Prozessor 25, der den funktionsänderbaren Befehlssatz aufweist, drei komplexen Blattzellenmodulen 26 und einer Speichersteuerung 27 verbunden ist und außerdem ein lokaler Bus 29 mit einem logisch rekonfigurierbaren Blattzellenmodul 30 und einer Peripherie-Schaltung 31 über eine Busbrücke 28 verbunden ist.
  • 8 ist ein Flussdiagramm eines Kompilierungsverfahrens eines Prozessors, der einen funktionsänderbaren Befehlssatz aufweist. Ein Sourceprogrammcode, der mit einer Computerhochsprache 32 wie beispielsweise einer C++-Computersprache oder einer JAVA-Sprache (eingetragene Marke) programmiert ist, wird mittels eines primären Compilers 33 kompiliert, der nur einen Befehlssatz, der als Standard eines normalen Befehlssatzes des rekonfigurierbaren Prozessors definiert ist, oder einen funktionsänderbaren Befehlssatz verwendet. Somit wird ein Primärobjekt 34 erzeugt. Ein Objektcodeanalyseprozess 35 wird durchgeführt, um zu analysieren: Informationen über eine Erscheinungshäufigkeit, eine Funktion, eine Kombination, eine Erscheinungsreihenfolge und Ähnliches der Objektcodes, die in dem Primärobjekt erscheinen; Informationen über jedes Register des konfigurierbaren Prozessors; Informationen über einen Stapel; Informationen über eine Registerdatei; Informationen über einen Programmzähler; und Informationen über einen Pipeline-Status und Ähnliches, so dass ein optimaler Befehlscode 36 des funktionsänderbaren Befehls erzeugt wird. Alternativ ist es möglich, ein Primärobjekt 37 einer dritten Partei als Eingabe der Objektcodeanalyse zu verwenden. Durch den sekundären Compiler 38 werden der optimale Befehlscode 36 mit der optimal geänderten Funktion und das primäre Objekt 34 oder das primäre Objekt 37 der dritten Partei durch einen optimalen Objektcode ersetzt, der eine kleinere Anzahl von Schritten aufweist, so dass in dem optimalen Objektcode der optimale Befehlscode 36 verwendet wird und die Funktion optimal definiert ist. Außerdem führt der sekundäre Compiler 38 eine Neuzuordnung einer Adresse wie beispielsweise einer relativen Sprungadresse, einer absoluten Sprungadresse und einer Bezugsdatenadresse entsprechend der Adresse eines Codes, der in dem Ersetzungsprozess gelöscht wird, aus. Somit erzeugt der sekundäre Compiler 38 ein sekundäres Objekt 39. Schließlich verbindet der Linker (Verbinder) 40 das sekundäre Objekt 39 (verlinkt dieses), so dass der ausführbare Binärcode 41 erzeugt wird. Hier ist das erzeugte sekundäre Objekt dadurch gekennzeichnet, dass es eine kleinere Anzahl von Schritten in dem Objektcode als das primäre Objekt aufweist. Somit wird der Durchsatz des Prozessors verbessert.
  • 9 zeigt ein Beispiel eines konkreten SoC (System auf Chip) basierend auf der Basiserfindung. In diesem Beispiel ist der Systembus mit einem rekonfigurierbaren Prozessor, der einen funktionsänderbaren Befehlssatz aufweist, zwei logisch konfigurierbaren Blattzellenmodulgruppen 50, einer Speichersteuerung 51, einer USB-Steuerung 52 und einer Ethernet-Steuerung (eingetragene Marke) 53 verbunden. Außerdem sind das logisch rekonfigurierbare Blattzellenmodul, eine Flash-Speicherschnittstelle 56 als periphere Schaltung, eine I2C-Schnittstelle 57 und eine GPIO-Schnittstelle 58 über die Busbrücke 54 mit dem lokalen Bus 55 integriert.
  • 1-2 Beschreibung der Basiserfindung im Hinblick auf einen anderen Aspekt
  • Im Folgenden wird die Basiserfindung im Hinblick auf einen anderen Aspekt beschrieben.
  • Die integrierte Schaltung, die auf der Basiserfindung basiert, ist eine integrierte Schaltung, die ein Array aufweist, in dem Einheitszellen, die eine vorbestimmte Gestalt aufweisen, in einer Matrix angeordnet sind. Die Einheitszelle enthält einen ersten Eingangsanschluss, einen zweiten Eingangsanschluss, erste und zweite Ausgangsanschlüsse, einen ersten Logikelementblock und einen zweiten Logikelementblock.
  • Dem ersten Eingangsanschluss wird ein erstes Signal zugeführt. Dem zweiten Eingangsanschluss wird ein zweites Signal zugeführt. Die ersten und zweiten Ausgangsanschlüsse sind an jeweiligen den ersten und zweiten Eingangsanschlüssen gegenüberliegenden Positionen angeordnet. Der erste Logikelementblock empfängt das erste Signal und das zweite Signal und gibt entsprechend ersten Konfigurationsinformationen eines der folgenden Signale an den ersten Ausgangsanschluss aus: ein Signal, das ein Logikrechenergebnis des ersten Signals und des zweiten Signals betrifft, das erste Signal, ein inverses Signal des ersten Signals, das zweite Signal oder ein inverses Signal des zweiten Signals. Der zweite Logikelementblock empfängt das erste Signal und das zweite Signal und gibt entsprechend zweiten Konfigurationsinformationen eines der folgenden Signale an den zweiten Ausgangsanschluss aus: ein Signal, das ein Logikrechenergebnis des ersten Signals und des zweiten Signals betrifft, das erste Signal, ein inverses Signal des ersten Signals, das zweite Signal oder ein inverses Signal des zweiten Signals.
  • Es kann vorteilhaft sein, wenn die Einheitszelle außerdem eine erste Speicherelementgruppe zum Speichern der ersten Konfigurationsinformationen und eine zweite Speicherelementgruppe zum Speichern der zweiten Konfigurationsinformationen enthält.
  • Die erste Speicherelementgruppe und die zweite Speicherelementgruppe werden mittels mehrerer Flip-Flop-Schaltungen bereitgestellt. Bei diesen Flip-Flop-Schaltungen kann es vorteilhaft sein, eine Datenverdrahtungsgruppe zum Zuführen der ersten Konfigurationsinformationen und der zweiten Konfigurationsinformationen in einer Spaltenrichtung auszubilden. Außerdem kann es bei diesen Flip-Flop-Schaltungen vorteilhaft sein, eine Steuersignalverdrahtung zum Latchen der ersten Konfigurationsinformationen und der zweiten Konfigurationsinformationen in einer Reihenrichtung auszubilden.
  • Vorzugsweise kann der erste Logikelementblock vier Logikgatter mit drei Eingängen und ein Logikgatter mit vier Eingängen enthalten, in das die Ausgänge von den Logikgattern mit drei Eingängen eingegeben werden. Die ersten Konfigurationsinformationen, das erste Signal oder das inverse Signal des ersten Signals und das zweite Signal oder das inverse Signal des zweiten Signals werden in jedes Logikgatter mit drei Eingängen eingegeben. Vorzugsweise kann der zweite Logikelementblock vier Logikgatter mit drei Eingängen und ein Logikgatter mit vier Eingängen enthalten, in das die Ausgänge von den Logikgatters mit drei Eingängen eingegeben werden. Die zweiten Konfigurationsinformationen, das erste Signal oder das inverse Signal des ersten Signals und das zweite Signal oder das inverse Signal des zweiten Signals werden in jedes Logikgatter mit drei Eingängen eingegeben.
  • Vorzugsweise können die Einheitszellen in dem Array in einer ersten Reihe mit einem vorbestimmten Versatz angeordnet sein, und die Einheitszellen in einer zweiten Reihe, die benachbart zu der ersten Reihe ist, sind mit dem vorbestimmten Versatz angeordnet und um die Hälfte des Versatzes in Bezug auf die erste Reihe verschoben. Somit sind die Einheitszellen derart angeordnet, dass der zweite Ausgangsanschluss der Einheitszelle in der ersten Reihe mit dem ersten Eingangsanschluss der Einheitszelle in der zweiten Reihe verbunden ist und der erste Ausgangsanschluss der Einheitszelle in der ersten Reihe mit dem zweiten Eingangsanschluss der Einheitszelle in der zweiten Reihe verbunden ist.
  • Vorzugsweise können die Einheitszellen in dem Array in N Reihen angeordnet sein. Die Einheitszellen in einer Reihe mit einer ungeraden Nummer (d. h. einer ersten Reihe, dritten Reihe, ..., und (N – 1)-ten Reihe) sind mit einem vorbestimmten Versatz angeordnet, und die Einheitszellen in einer Reihe mit einer geraden Nummer (d. h. einer zweiten Reihe, vierten Reihe, ..., und N-ten Reihe) sind mit dem vorbestimmten Versatz angeordnet und um die Hälfte des Versatzes verschoben. Somit sind die Einheitszellen derart angeordnet, dass der zweite Ausgangsanschluss der Einheitszelle in der Reihe mit der ungeraden Nummer mit dem ersten Eingangsanschluss der Einheitszelle in der Reihe mit der geraden Nummer verbunden ist und der erste Ausgangsanschluss der Einheitszelle in der Reihe mit der ungeraden Nummer mit dem zweiten Eingangsanschluss der Einheitszelle in der Reihe mit der geraden Nummer verbunden ist, so dass das Array ein Unterarray aufweist. Eine Latch-Schaltungsreihe, die von Latch-Schaltungen zum Latchen des Ausgangs jeder Einheitszelle in der N-ten Reihe bereitgestellt wird, ist an einem Ende des Unterarrays angeordnet.
  • Vorzugsweise kann das Array außerdem eine Rückkopplungsverdrahtung zum Zurückführen oder Rückkoppeln des Ausgangs der Latch-Schaltung zu dem ersten Eingangsanschluss oder dem zweiten Eingangsanschluss der Einheitszelle in der ersten Reihe enthalten.
  • In dem Array sind die Einheitszellen in M Reihen angeordnet. Außerdem kann die integrierte Schaltung vorzugsweise enthalten: einen Bus zum Übertragen von Daten; eine erste Busschnittstellenschaltung, die entlang einer ersten Seite des Arrays ausgebildet ist und die Daten, die von dem Bus zugeführt werden, zu dem ersten Eingangsanschluss und/oder dem zweiten Eingangsanschluss der Einheitszelle in der ersten Reihe des Arrays sendet; und eine zweite Busschnittstellenschaltung, die die Daten, die von dem ersten Ausgangsanschluss und/oder dem zweiten Ausgangsanschluss der Einheitszelle in der M-ten Reihe des Arrays zugeführt werden, an den Bus sendet.
  • Vorzugsweise kann die integrierte Schaltung außerdem einen Funktionsblock enthalten, der mit dem Bus gekoppelt ist und eine vorbestimmte Funktion aufweist.
  • Das Array weist die Einheitszellen, die in M Reihen angeordnet sind, auf. Außerdem kann die integrierte Schaltung vorzugsweise einen ersten Datenbus, einen zweiten Datenbus und einen dritten Datenbus, die Daten übertragen, enthalten. Der erste Datenbus und der zweite Datenbus werden zum Eingeben von Daten verwendet. Die Schaltung kann außerdem eine Logikoperationsschaltung zum Ausgeben eines Logikoperationsergebnisses an den dritten Datenbus enthalten. Der erste Eingangsanschluss und/oder der zweite Eingangsanschluss der Einheitszelle in der ersten Reihe des Arrays sind mit dem ersten Datenbus oder dem zweiten Datenbus gekoppelt. Der erste Ausgangsanschluss und/oder der zweite Ausgangsanschluss der Einheitszelle in der M-ten Reihe des Arrays sind mit dem dritten Datenbus gekoppelt.
  • Vorzugsweise kann die integrierte Schaltung außerdem eine Steuerschaltung zum dynamischen Rekonfigurieren der ersten Konfigurationsinformationen und der zweiten Konfigurationsinformationen enthalten.
  • Außerdem schafft die Basiserfindung ein Verfahren zum Verwenden der integrierten Schaltung, um die obige Aufgabe zu lösen.
  • In dem Verfahren, das die oben beschriebene integrierte Schaltung verwendet, können die ersten Konfigurationsinformationen vorzugsweise derart ausgebildet sein, dass der erste Logikelementblock das zweite Signal oder das inverse Signal des zweiten Signals dem ersten Ausgangsanschluss zuführt oder der zweite Logikelementblock das erste Signal oder das inverse Signal des ersten Signals dem zweiten Ausgangsanschluss zuführt. Somit stellt der erste Logikelementblock oder der zweite Logikelementblock im Wesentlichen dieselbe Operation wie die Verdrahtung, die entlang einer schrägen Richtung angeordnet ist, bereit. In dem Verfahren, das die oben beschriebene integrierte Schaltung verwendet, können vorzugsweise die ersten Konfigurationsinformationen und die zweiten Konfigurationsinformationen dynamisch rekonfiguriert werden.
  • In dem Verfahren, das die oben beschriebene integrierte Schaltung verwendet, können vorzugsweise die ersten Konfigurationsinformationen und die zweiten Konfigurationsinformationen derart ausgebildet sein, dass eine fehlerhafte Zelle mittels Testen der Operation der Einheitszelle erfasst wird und die Einheitszelle, die basierend auf der Erfassung als die fehlerhafte Zelle spezifiziert wird, umgangen wird.
  • 1-3 Erläuterung der mathematischen Basis der Basiserfindung und des Prinzips der Basiserfindung
  • In der Booleschen Algebra werden sämtliche logischen Operationen durch geeignetes Auswählen von S0, S1, S2 und S3 in der in 10 definierten logischen Gleichung realisiert.
  • 11 stellt ein Modell 59 (konzeptionelles Diagramm) des logisch rekonfigurierbaren Elements dar. In 11 gibt das logisch rekonfigurierbare Element, wenn es das Eingangssignal x1 (Eingang x1) und das Eingangssignal x2 (Eingang x2) empfängt, ein Signal f1(x1, x2) aus, um ein logisches Operationsergebnis auszugeben. Durch Auswählen von S0 = 0, S1 = 1, S2 = 0 und S3 = 1 stellt das logisch rekonfigurierbare Element das Ausgangssignal f1(x1, x2) = x2 bereit. Wenn diese Auswahl durchgeführt wird, wird das Eingangssignal x2 mit dem Ausgangssignal, d. h. dem Ausgangssignal f1(x1, x2) verbunden, als ob das Eingangssignal x2 eine Verdrahtung ist. Mit anderen Worten, durch geeignetes Auswählen von S0, S1, S2 und S3 kann das logisch rekonfigurierbare Element als eine Verdrahtung dienen.
  • 12 zeigt eine Einheitszelle, die zwei Ausgangssignale entsprechend zwei Eingangssignalen unter Verwendung von zwei logischen Gleichungen der 10 ausgibt. Durch geeignetes Auswählen von S00, S01, S02, S03, S10, S11, S12, S13 ist es möglich, sämtliche Kombinationen von logischen Operationen zu realisieren.
  • Wie es in 13 gezeigt ist, kann die Einheitszelle die logische Operation zum Ausgeben des Ausgangssignals f1(x1, x2) und des Ausgangssignals f2(x1, x2) unter Verwendung von zwei logisch rekonfigurierbaren Elementen bereitstellen, wenn das Eingangssignal x1(Eingang x1) und das Eingangssignal x2(Eingang x2) eingegeben werden. Wenn S00 = 0, S01 = 1, S02 = 0 und S03 = 1 ausgewählt werden und S10 = 0, S11 = 0, S12 = 1 und S13 = 1 ausgewählt werden, werden das Ausgangssignal f1(x1, x2) = x2 und das Ausgangssignal f2(x1, x2) = x1 erhalten. Wenn diese Auswahlvorgänge durchgeführt werden, wird das Eingangssignal x2 mit dem Ausgangssignal, d. h. dem Ausgangssignal f1(x1, x2), verbunden, als ob das Eingangssignal x2 eine Verdrahtung ist, und das Eingangssignal x1 wird mit dem Ausgangssignal, d. h. dem Ausgangssignal f2(x1, x2), verbunden, als ob das Eingangssignal x1 eine Verdrahtung ist. Mit anderen Worten, wenn S00, S01, S02, S03, S10, S11, S12 und S13 geeignet ausgewählt werden, können die beiden logisch rekonfigurierbaren Elemente als Kreuzungsverdrahtungen dienen.
  • 14 zeigt ein Beispiel zum Erhalten des Ausgangssignals f1(x1, x2) = x2 und des Ausgangssignals f2(x1, x2) = x2 unter Verwendung von logisch rekonfigurierbaren Elementen. Das heißt, die Einheitszellen können mit einer Verzweigungsfunktion zum Ausgeben eines Ausgangssignals f2(x1, x2) = x2 als Antwort auf ein Eingangssignal x2 (Eingang x1) und zum Ausgeben eines Ausgangssignals f1(x1, x2) = x2 als Antwort auf ein Eingangssignal x2 (Eingang x2) versehen sein. Diese Logik kann durch Auswählen von S00 = 0, S01 = 1, S02 = 0, S03 = 1 und Auswählen von S10 = 1, S11 = 1, S12 = 0, S13 = 0 bereitgestellt werden. Mit anderen Worten, durch geeignetes Auswählen von S00, S01, S02, S03, S10, S11, S12, S13 können die beiden logisch rekonfigurierbaren Elemente als eine Verzweigungsverdrahtung des Eingangssignals x2 dienen.
  • 15 zeigt ein Beispiel zum Erhalten des Ausgangssignals f1(x1, x2) = x1 und des Ausgangssignals f2(x1, x2) = x1 unter Verwendung von logisch rekonfigurierbaren Elementen. Das heißt, die Einheitszellen können mit einer Verzweigungsfunktion zum Ausgeben eines Ausgangssignals f2(x1, x2) = x1 als Antwort auf ein Eingangssignal x1 (Eingang x1) und zum Ausgeben eines Ausgangssignals f1(x1, x2) = x1 als Antwort auf ein Eingangssignal x1 (Eingang x2) versehen sein. Diese Logik kann durch Auswählen von S00 = 0, S01 = 0, S02 = 1, S03 = 1 und Auswählen von S10 = 0, S11 = 0, S12 = 1, S13 = 1 bereitgestellt werden. Mit anderen Worten, durch geeignetes Auswählen von S00, S01, S02, S03, S10, S11, S12, S13 können die beiden logisch rekonfigurierbaren Elemente als eine Verzweigungsverdrahtung des Eingangssignals x1 dienen.
  • 16 zeigt ein Beispiel, bei dem die Einheitszellen (Blattzellen) 60, die in 12 und 13 dargestellt sind, in ein Array gepackt sind. In diesem Array sind die Einheitszellen in der ersten Reihe und den Reihen mit der ungeraden Nummer mit einem vorbestimmten Versatz angeordnet, und die Einheitszellen in der zweiten Reihe und den Reihen mit der geraden Nummer sind mit dem vorbestimmten Versatz angeordnet und um die Hälfte des Versatzes verschoben.
  • Die Ausgangssignale f2(x1, x2) der Einheitszellen in der ersten Reihe und den Reihen mit der ungeraden Nummer sind mit den Eingangssignalen x1 der Einheitszellen in der zweiten Reihe und den Reihen mit der geraden Nummer verbunden, und die Ausgangssignale f1(x1, x2) der Einheitszellen in der ersten Reihe und den Reihen mit der ungeraden Nummer sind mit den Eingangssignalen x2 der Einheitszellen in der zweiten Reihe und den Reihen mit der geraden Nummer verbunden.
  • Durch obige Konfiguration und durch geeignetes Auswählen von S00, S01, S02, S03, S10, S11, S12, S13 der Einheitszellen können die Einheitszellen als Kreuzungsverdrahtung (13), Verzweigungsverdrahtung (14, 15), diagonale Verdrahtung und Ähnliches dienen, so dass ein Signal in einer diagonalen Richtung übertragen werden kann. Als Ergebnis kann auf ein Verdrahtungsbereich zwischen Einheitszellen, der in einem FPGA und Ähnlichem benötigt wird, verzichtet werden. Dieses kann eine Verringerung der Größe erzielen.
  • Ausführungsformen
  • 2-1 Konfiguration des Logikelementblocks
  • 17 ist ein Diagramm, das eine Gatterebenenschaltungsstruktur (d. h. den Logikelementblock) des oben beschriebenen logisch rekonfigurierbaren Elements und der oben beschriebenen Speicherelementgruppe darstellt. Die Speicherelementgruppe speichert Konfigurationsinformationen zum Konfigurieren einer Funktion des logisch rekonfigurierbaren Elements.
  • Das logisch rekonfigurierbare Element 110 weist vier NAND-Gatter 101, 102, 103 und 104 mit drei Eingängen auf. Das logisch rekonfigurierbare Element weist außerdem ein NAND-Gatter 105 mit vier Eingängen auf, in das sämtliche Ausgänge der vier NAND-Gatter mit drei Eingängen eingegeben werden.
  • Ein logischer Ausdruck für einen Ausgang des logisch rekonfigurierbaren Elements 110 ist in 17 gezeigt. Einem Anschluss X wird ein Ausgang X auf der Grundlage einer logischen Operation von Signalen c0, c1, c2, c3, a, b, die Anschlüssen C0, C1, C2, C3, einem Anschluss A und einem Anschluss B zugeführt werden, zugeführt. Die Signale c0, c1, c2, c3, das Signal a und das Signal b entsprechen S0, S1, S2, S3, Eingang x1 und Eingang x2, die jeweils in den 1015 dargestellt sind.
  • Eine Gruppe von Speicherelementen 111 (Speicherelemente zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements 110) weist vier Flip-Flops 106, 107, 108 und 109 auf. Zu einem Zeitpunkt, zu dem das Steuersignal, das dem Anschluss L zugeführt wird, von 1 (hoher Pegel) in 0 (niedriger Pegel) übergeht, werden c0, c1, c2 und c3 (Konfigurationsinformationen), die Daten der Anschlüsse C0, C1, C2 und C3 sind, in die jeweiligen vier Flip-Flops 106, 107, 108 und 109 eingegeben. Die eingegebenen Daten c0, c1, c2 und c3 werden an das logisch rekonfigurierbare Element 110 übertragen.
  • 18 ist ein Diagramm, das darstellt, wie das logisch rekonfigurierbare Element eine logische Operation durchführt, und das darstellt, welche Daten an den Ausgangsanschluss X in Abhängigkeit davon, welche Kombination der Konfigurationsinformationen c0, c1, c2, c3 vorliegt, ausgegeben werden. Wenn die Einstellungsinformationen gleich 0000 sind, ist der Ausgang stets 0. Wenn die Einstellungsinformationen gleich 1000 sind, ist der Ausgang ein logisches UND (auch AND in den Zeichnungen) zwischen a und b. Wenn die Einstellungsinformationen gleich 0100 sind, ist der Ausgang ein logisches UND zwischen NICHT a und b. Wenn die Einstellungsinformationen gleich 1100 sind, ist der Ausgang gleich b (dient als eine Verdrahtung). Wenn die Einstellungsinformationen gleich 0010 sind, ist der Ausgang ein logisches UND zwischen a und NICHT b. Wenn die Einstellungsinformationen gleich 1010 sind, ist der Ausgang gleich a (dient als eine Verdrahtung). Wenn die Einstellungsinformationen gleich 0110 sind, ist der Ausgang ein logisches XOR zwischen a und b. Wenn die Einstellungsinformationen gleich 1110 sind, ist der Ausgang ein logisches ODER (auch OR in den Zeichnungen) zwischen a und b. Wenn die Einstellungsinformationen gleich 0001 sind, ist der Ausgang ein logisches NOR zwischen a und b. Wenn die Einstellungsinformationen gleich 0101 sind, ist der Ausgang ein logisches NICHT (auch NOT in den Zeichnungen) a. Wenn die Einstellungsinformationen gleich 1101 sind, ist der Ausgang ein logisches ODER zwischen nicht a und b. Wenn die Einstellungsinformationen gleich 0011 sind, ist der Ausgang ein logisches NICHT b. Wenn die Einstellungsinformationen gleich 1011 sind, ist der Ausgang ein logisches ODER zwischen a und NICHT b. Wenn die Einstellungsinformationen gleich 0111 sind, ist der Ausgang ein logisches NAND zwischen a und b. Wenn die Einstellungsinformationen gleich 1111 sind, ist der Ausgang stets gleich 1.
  • 2-2 Einheitszellenstruktur
  • 19 ist ein Gatterebenenschaltungsdiagramm einer Einheitszelle (Blattzelle) 60.
  • Die Einheitszelle 60 weist zwei logisch rekonfigurierbare Elemente 121 und 122 sowie Speicherelementgruppen 123 und 124 (Speicherelemente zum Bestimmen der Logik der logisch rekonfigurierbaren Elemente 121 und 122) auf.
  • Jedes logisch rekonfigurierbare Element 121, 122 weist vier NAND-Gatter mit drei Eingängen ähnlich denjenigen, die in 17 dargestellt sind, und ein NAND-Gatter 105 mit vier Eingängen, in das sämtliche Ausgänge der vier NAND-Gatter mit drei Eingängen eingegeben werden, auf.
  • Das logisch rekonfigurierbare Element 121 führt einem Anschluss X einen Ausgang X basierend auf einer logischen Operation der Signale c0, c1, c2, c3, a, b, die den Anschlüssen C0, C1, C2, C3, einem Anschluss A und einem Anschluss B zugeführt werden, zu.
  • Die Speicherelementgruppe 123 weist vier Flip-Flops auf. Zu dem Zeitpunkt, zu dem das Steuersignal, das dem Anschluss L zugeführt wird, von 1 (hoher Pegel) in 0 (niedriger Pegel) übergeht und das Steuersignal, das dem Anschluss /L(L) zugeführt wird, von 0 in 1 übergeht, werden c0, c1, c2 und c3 (Konfigurationsinformationen), die Daten der Anschlüsse C0, C1, C2, C3, sind, den jeweiligen vier Flip-Flops 106, 107, 108 und 109 zugeführt. Die zugeführten Daten c0, c1, c2 und c3 werden an das logisch rekonfigurierbare Element 121 übertragen.
  • Das logisch rekonfigurierbare Element 122 führt einem Anschluss Y einen Ausgang y basierend auf einer logischen Operation der Signale c4, c5, c6, c7, a, b, die den Anschlüssen C4, C5, C6, C7, einem Anschluss A und einem Anschluss B zugeführt werden, zu.
  • Die Speicherelementgruppe 124 weist vier Flip-Flops auf. Zu dem Zeitpunkt, zu dem das Steuersignal, das dem Anschluss L zugeführt wird, von 1 (hoher Pegel) in 0 (niedriger Pegel) übergeht und das Steuersignal, das dem Anschluss /L zugeführt wird, von 0 in 1 übergeht, werden c4, c5, c6 und c7 (Konfigurationsinformationen), die Daten der Anschlüsse C4, C5, C6 und C7 sind, den jeweiligen vier Flip-Flops zugeführt (dieses unterscheidet sich von der Schaltung der 1). Die zugeführten Daten c4, c5, c6 und c7 werden an das logisch rekonfigurierbare Element 122 übertragen.
  • Die Anschlüsse C0, C1, C2, C3 sind mit den Anschlüssen Q0, Q1, Q2, Q3 über Verdrahtungen, die die Einheitszelle 60 von oben nach unten durchdringen, verbunden. Die Anschlüsse Q0, Q1, Q2, Q3 sind mit den Anschlüssen C4, C5, C6, C7 der Einheitszelle 60 in einer nicht gezeigten nächsten Reihe verbunden.
  • Die Anschlüsse C4, C5, C6, C7 sind mit den Anschlüssen Q0, Q1, Q2, Q3 über Verdrahtungen, die die Einheitszelle 60 von oben nach unten durchdringen, verbunden. Die Anschlüsse Q4, Q5, Q6, Q7 sind mit den Anschlüssen C0, C1, C2, C3 der Einheitszelle 60 in einer nicht gezeigten nächsten Reihe verbunden.
  • Der Anschluss L und der Anschluss /L sind jeweils mit einem Anschluss N und einem Anschluss /N(N) über Verdrahtungen, die die Einheitszelle 60 von links nach rechts durchdringen, verbunden. Der Anschluss N und der Anschluss /N sind jeweils mit einem Anschluss L und einem Anschluss /L in einer benachbarten Einheitszelle, die nicht gezeigt ist, auf einer rechten Seite in derselben Reihe verbunden.
  • Ein Layout der Einheitszelle 60 ist näherungsweise rechteckig mit einer längeren Seite in der Breitenrichtung. Entlang der oberen Seite des Rechtecks sind die Anschlüsse C0, C1, C2, C3, A, C4, C5, C6, C7, B angeordnet. Entlang der unteren Seite sind die Anschlüsse Q0, Q1, Q2, Q3, X, Q4, Q5, Q6, Q7, Y angeordnet. Entlang der linken Seite sind die Anschlüsse L und /L angeordnet. Entlang der rechten Seite sind die Anschlüsse N und /N angeordnet.
  • 20 ist ein Schaltungsdiagramm, das die Einheitszelle 60 der 19 auf einer Transistorebene darstellt. Der Anschluss A ist mit einem Inverter 125 und einem Inverter 126 verbunden. Der Anschluss B ist mit einem Inverter 127 und einem Inverter 128 verbunden. Der Inverter 125 erzeugt ein Signal /a*, (a*), das ein invertiertes Signal eines Signals a ist, das dem Anschluss A zugeführt wird. Der Inverter 126 erzeugt ein Signal a*, das dieselbe Phase wie das Signal a aufweist und ein verstärktes Signal des Signals a ist. Der Inverter 127 erzeugt ein Signal /b* (b*), das ein invertiertes Signal eines Signals b ist, das dem Anschluss B zugeführt wird. Der Inverter 128 erzeugt ein Signal b*, das dieselbe Phase wie das Signal b aufweist und ein verstärktes Signal des Signals b ist. Die Signale /a*, a*, /b*, b* werden selektiv in viele NAND-Gatter mit drei Eingängen eingegeben.
  • 2-3 Array-Struktur
  • 21 ist ein Gatterebenenschaltungsdiagramm des Arrays ist, in dem die Einheitszellen der 20 in einer Matrix angeordnet sind, wobei die Zellen um die Hälfte eines Versatzes auf einer Reihenbasis verschoben sind, wie es in 16 gezeigt ist. Diese Struktur stellt eine große Vielzahl von Kombinationslogikschaltungen bereit. Da die Verdrahtung in der schrägen Richtung von dem Logikelementblock realisiert wird, werden kein Verdrahtungsbereich und Verbindungsbereich wie in dem Stand der Technik benötigt und verwendet, so dass eine kleinere rekonfigurierbare Schaltung erhalten werden kann. Gemäß der vorliegenden Erfindung bezieht sich die Minimierung des Verdrahtungsbereichs und des Verbindungsbereichs darauf, eine spezielle Verdrahtung am kürzesten auszubilden, um eine Schaltungsstruktur (integrierte Schaltung) zu schaffen, die keinen relativ großen Verdrahtungsbereich zur Verbindung der logisch rekonfigurierbaren Elemente benötigt, wobei die spezielle Verdrahtung eine Verdrahtung ist, die benötigt wird, um die benachbarten Einheitszellen 60 anzuordnen und ihre Anschlüsse zu verbinden.
  • 22 stellt eine Schaltung zum Zuführen der Konfigurationsinformationen c0, c1, c2, c3, c4, c5, c6, c7 zum Bestimmen der Logik des logisch rekonfigurierbaren Elements zu jeder Einheitszelle 60 dar.
  • Es sind Flip-Flops entsprechend den Anschlüssen C0, C1, C2, C3, C4, C5, C6, C7 ausgebildet. Diese Flip-Flop-Schaltungen 131138 stellen ein Schieberegister bereit. Die Konfigurationsinformationen des logisch rekonfigurierbaren Elements werden von dem Anschluss CD des linken Endes (d. h. Konfigurationsdatenanschluss) seriell zugeführt. Die Datenverschiebung wird durch Toggeln (wiederholtes Zuführen eines Taktsignals von 0 nach 1 und von 1 nach 0) eines Steuersignals, das einem nicht gezeigten Taktsignalanschluss zugeführt wird, durchgeführt.
  • Außerdem sind Flip-Flop-Schaltungen 141, 142, 143 ... entsprechend den Anschlüssen L, /L in jeder Reihe ausgebildet. Diese Flip-Flop-Schaltungen 141, 142, 143 ... stellen Schieberegister bereit. Von dem Anschluss CDH des linken Endes (Konfigurationsdatenhalteanschluss) wird ein Konfigurationsdatenhaltesignal an die Flip-Flop-Schaltungen 141, 142, 143 ... von unten nach oben übertragen. Dadurch wird zunächst die Logik der Einheitszelle 60 in der unteren Reihe in dem Blattzellenmodul, das in der Zeichnung dargestellt ist, konfiguriert. Anschließend wird die Logik der Einheitszelle 60 in der zweiten Reihe von unten konfiguriert. Dann wird die Logik der Einheitszelle 60 in der nächsten oberen Reihe konfiguriert. Diese Operation wird für sämtliche Reihen der Einheitszellen 60, die in dem Blattzellenmodul angeordnet sind (22 stellt nur drei Reihen dar), durchgeführt. Diese Operation wird im Folgenden genauer beschrieben. Bei der Schaltungsstruktur der 22 werden die Schieberegister 141, 142, 143 ... zunächst gesetzt oder zurückgesetzt, so dass die Latch-Schaltungen (Speicherelemente) sämtlicher Logikelementblöcke einen Durchgangszustand annehmen. Anschließend werden die Konfigurationsinformationen seriell von dem CD-Anschluss in die Schieberegister 131, 132, 133, 134, 135, 136, 137, 138 ... eingegeben, um eine Schiebeoperation dieser Schieberegister 131, 132, 133, 134, 135, 136, 137, 138 durchzuführen, so dass die Konfigurationsinformationen in den Logikkonfigurationsspeichern in jeder Reihe gesetzt bzw. geschrieben werden. Dann wird durch Anlegen des Datenhaltesignals (1 oder 0) an den CDH-Anschluss die Logik der Reihe der Einheitszelle, die in der Zeichnung als die unterste Reihe dargestellt ist, konfiguriert. Dann werden durch erneutes Eingeben des Taktsignals in die Schieberegister 141, 142, 143 ..., wobei die Zyklusnummer der Nummer des Schieberegisters entspricht, die Konfigurationsinformationen für die Einheitszellen 60 in der nächsten oberen Reihe gesetzt. Diese Operation zum Konfigurieren der Logik der Einheitszellen 60 in der Reihe wird wiederholt durchgeführt, nachdem die Latch-Schaltungen sämtlicher Logikelementblöcke wie oben beschrieben in den Durchgangszustand versetzt wurden. Dadurch wird die Logik des logisch rekonfigurierbaren Elements auf einer Reihe-um-Reihe-Basis von der dargestellten untersten Reihe zu der obersten Reihe bestimmt, um schließlich die Logik sämtlicher logisch rekonfigurierbarer Elemente zu fixieren. Auf diese Weise wird die Rekonfiguration der logischen Elemente durchgeführt. Die Operation zum Fixieren der Logik sämtlicher logisch rekonfigurierbarer Elemente kann derart durchgeführt werden, dass durch Ändern einer Verschiebungsrichtung einer sequenziellen Schaltung der Konfigurationsschaltung der 22 die Logik des logisch rekonfigurierbaren Elements auf einer Reihe-um-Reihe-Basis von der obersten Reihe zu der untersten Reihe bestimmt wird, um schließlich die Logik sämtlicher logisch rekonfigurierbarer Elemente zu fixieren.
  • 2-4 Modifikationen der Einheitszelle und des Arrays
  • 23 ist ein Gatterebenenschaltungsdiagramm einer Einheitszelle (Blattzelle) 61 gemäß einer Modifikation.
  • Ein Unterschied zu der Schaltung der 19 besteht darin, dass die Anschlüsse zum Zuführen der Signale c0, c1, c2, c3 die Anschlüsse C0, /C0, C1, /C1, C2, /C2, C3, /C3 (das Zeichen „/” bezeichnet ein komplementäres Signal und entspricht in den Zeichnungen „”) enthalten, so dass auch komplementäre Signale zugeführt werden. Außerdem enthalten die Anschlüsse zum Zuführen der Signale c4, c5, c6, c7 die Anschlüsse C4, /C4, C5, /C5, C6, /C6, C7, /C7, so dass auch komplementäre Signale zugeführt werden.
  • 24 ist ein Schaltungsdiagramm, das die Einheitszelle 61 der 23 auf einer Transistorebene darstellt. Wenn die Konfigurationsinformationen unter Verwendung der komplementären Signale zugeführt werden, wird die Anzahl der Transistoren (Tr) in der Flip-Flop-Schaltung verringert.
  • 25 ist ein Transistorebenenschaltungsdiagramm des Arrays, bei dem die Einheitszellen 61 der 23 in einer Matrix angeordnet sind und die Einheitszellen um die Hälfte des Versatzes auf einer Reihenbasis verschoben sind.
  • 26 stellt eine Gatterebenenschaltung zum Zuführen der Konfigurationsinformationen c0, /c0, c1, /c1, c2, /c2, c3, /c3, c4, /c4, c5, /c5, c6, /c6, c7, /c7 zu jeder Einheitszelle 61 der 23 dar. Die komplementären Ausgänge der Flip-Flop-Schaltungen werden jeweils zugeführt.
  • 27 stellt auf einer Gatterebene eine andere Schaltung zum Zuführen der Einstellungsinformationen C0, /c0, c1, /c1, c2, /c2, C3, /c3, c4, /c4, c5, /c5, c6, /c6, c7, /c7 zu jeder Einheitszelle 61 der 23 dar. Die Konfigurationsdaten sind in „Konfigurationsdaten 1” zum Konfigurieren der linksseitigen Speicherelementgruppe in der Einheitszelle 61 und in „Konfigurationsdaten 2” zum Konfigurieren der rechtsseitigen Speicherelementgruppe in der Einheitszelle 61 aufgeteilt. Aufgrund dieser Struktur können die Konfigurationsinformationen schnell erneuert werden.
  • 2-5 Rückkopplungsschaltung
  • Wie es anhand von 3 erläutert wurde, kann das Array mehrere Unterarrays enthalten, die in einer Spaltenrichtung angeordnet sind, und die Rückkopplungsschaltung kann zwischen den Unterarrays eingefügt sein.
  • 28 zeigt ein Beispiel des Arrays, bei dem die Rückkopplungsschaltungen b00 bis b31 eingefügt sind.
  • Das Array enthält die Unterarrays 151, 152, 153, und ein Unterarray enthält gemäß diesem Beispiel Einheitszellen in sechzehn Reihen (ein Teil der Unterarrays 151, 153 ist in 58 weggelassen). Die Anzahl der Rückkopplungsschaltungen b00 bis b31 ist gleich dem Zweifachen der Gesamtanzahl der Logikelementblöcke, die in einer Reihe der Einheitszellen enthalten sind (die Anzahl der Elemente in der Einheitszelle der 28 ist gleich zwei). Die Rückkopplungsschaltungen sind mit den Ausgangsanschlüssen X und den Ausgangsanschlüssen Y der Einheitszellen in den letzten Reihen der Unterarrays 151, 152 verbunden. Die Struktur der Rückkopplungsschaltung ist dieselbe wie die anhand von 3 erläuterte. Die Rückkopplungsschaltung enthält eine Flip-Flop-Schaltung 13 (Speicherelement), einen Logikdatensignalselektor 12 einer vorherigen Stufe und einen Rückkopplungssignalselektor 11. Außerdem gibt es in der Rückkopplungsschaltung eine Elementgruppe zum Speichern der Konfigurationsinformationen und Signalleitungen zum Senden der Konfigurationsinformationen.
  • 29 zeigt ein Beispiel einer Schaltung, bei der die Einheitszellen 7, 60, 61 als vertikale Verdrahtung, als schräge Verdrahtung, als Unterteilungsverdrahtung und Ähnliches dienen, und es werden ebenfalls Rückkopplungsschaltungen verwendet.
  • 30 zeigt ein Beispiel eines Addierers mit einem 8-Bit-Carry, bei dem die Einheitszellen 7, 60, 61 als eine vertikale Verdrahtung, XOR (ausschließlich-oder), UND (logisches Produkt), ODER (logische Summe) und Ähnliches dienen, und es wird ebenfalls eine Rückkopplungsschaltung verwendet.
  • 31 zeigt ein Beispiel eines Schieberegisters, bei dem die Einheitszellen 7, 60, 61 als vertikale Verdrahtung und schräge Verdrahtung dienen, und es wird ebenfalls eine Rückkopplungsschaltung verwendet. In den Einheitszellen des Unterarrays der 29, 30, 31 repräsentiert eine dicke durchgezogene Linie, die durch das Unterarray verläuft und die Rückkopplungsschaltungen auf oberen und unteren Seiten des Unterarrays erreicht, einen Verdrahtungspfad in einer Schaltung.
  • 2-6 System, das die Einheitszelle (Blattzelle) verwendet
  • Das System, das die Blattzelle, die in den 4 bis 9 erläutert wurde, verwendet, ähnelt demjenigen, das in der vorliegenden Ausführungsform verwendet wird.
  • 2-7 Test für die Einheitszelle
  • Vorzugsweise kann das oben beschriebene Array, das die Einheitszellen 7, 60, 61 verwendet, wie folgt verwendet werden.
  • Zunächst wird auf die im Folgenden beschriebene Weise überprüft, ob sämtliche Einheitszellen funktionieren.
  • Sämtliche Muster oder Degenerationsmuster (d. h. ein Untersatz von Mustern, der im Wesentlichen eine Erfassung sämtlicher Muster ermöglicht) jeder Konfigurationsinformationen c0, c1, c2, c3, c4, c5, c6, c7 werden jeder Einheitszelle 7, 60, 61 zugeführt, um die Operation jeder Einheitszelle 7, 60, 61 zu überprüfen.
  • Wenn sich die Operation von einer erwarteten Operation unterscheidet, wird eine fehlerhafte Zelle auf der Grundlage der Beziehung zwischen dem obigen Muster und dem Ausgang spezifiziert. Dieses schafft eine Fehlerzellenspezifizierungsroutine.
  • Tatsächlich werden, wenn die Schaltung erzeugt wird, die Konfigurationsinformationen derart festgelegt, dass die Einheitszelle 7, 60, 61, die als die fehlerhafte Zelle identifiziert wird, umgangen wird. Wenn die Einstellungsinformationen festgelegt sind, ist es möglich, das Zellenarray sogar dann zu verwenden, wenn das Zellenarray die fehlerhafte Zelle enthält.
  • 3-1 Beispiel der Verwendung eines Logikelementblocks mit drei oder vier Eingängen
  • 32 stellt eine Ausführungsform der vorliegenden Erfindung dar, die eine Modifikation basierend auf der Basiserfindung ist. Der oben beschriebene Inhalt, der auf der Basiserfindung basiert, kann für die unten beschriebene Erfindung verwendet werden, solange die Natur dieses erlaubt.
  • In den Beispielen, die bis zu der 31 dargestellt sind, wird die Einheitszelle durch Kombinieren von zwei Logikelementblöcken mit zwei Eingängen aufgebaut. Außerdem werden Daten, die von einer Seite (der benachbarten Einheitszelle auf einer oberen Seite der 2, 3, 16, 21, 22, 2531) eingegeben werden, mittels einer logischen Operation verarbeitet, und das Ergebnis wird zu einer anderen Einheitszelle (der benachbarten Einheitszelle auf einer unteren Seite der 2, 3, 16, 21, 22, 2531) ausgegeben. Insbesondere sind die Einheitszellen regelmäßig angeordnet, sodass die Einheitszellen elektrisch miteinander verbindbar sind, ohne eine Verdrahtung für eine Verbindung von unten nach oben zu führen. Somit ermöglichen die Beispiele, die bis zu der 31 gezeigt sind, eine elektrische Verbindung zwischen den Einheitszellen unter Verwendung einer minimalen Verdrahtung auf der Grundlage der technischen Idee, dass die Einheitszellen benachbart angeordnet sind und die vertikal benachbarten Einheitszellen direkt verbunden sind.
  • Im Gegensatz dazu wird gemäß der Ausführungsform der vorliegenden Erfindung, die in 32 dargestellt ist, die Einheitszelle 62 durch Kombinieren von zwei Logikelementblöcken 621 mit drei Eingängen aufgebaut. Insbesondere führt, wie es in der Zeichnung dargestellt ist, ein Logikelementblock 621 in der Einheitszelle 62 eine logische Operation von drei Eingangssignalen durch, von denen zwei an zwei Eingängen der oberen benachbarten Einheitszelle 62 anliegen und das andere an einem Eingang der linken oder rechten benachbarten Einheitszelle 62 anliegt (oder der Logikelementblock 621 in der Einheitszelle 62 spielt die Rolle einer Verdrahtung). Ein Ergebnis der logischen Operation wird an eine untere Seite, eine rechte Seite oder eine linke Seite der Einheitszelle 62 ausgegeben. Das heißt, durch regelmäßiges Anordnen der Einheitszellen ist es möglich, die obere Einheitszelle und die untere Einheitszelle elektrisch zu verbinden und die linke Einheitszelle und die rechte Einheitszelle miteinander zu verbinden, ohne eine Verdrahtung in verschwendender Weise zu verwenden. Das Beispiel, das in 32 gezeigt ist (dieselbe in den Schaltungsbeispielen der 33 und anschließenden Zeichnungen), ermöglicht eine direkte elektrische Verbindung zwischen den Einheitszellen mittels einer minimalen. Verdrahtung auf der Grundlage der technischen Idee, dass die Einheitszellen in einer Unten/Oben-Richtung und einer Links/Rechts-Richtung angeordnet sind und in der Unten/Oben-Richtung und der Links/Rechts-Richtung direkt verbunden sind.
  • Die rechteckigen Einheitszellen 62 sind in einer Matrix angeordnet und um die Hälfte des Versatzes auf einer Reihenbasis verschoben. Die Einheitszelle 62 erhält das Signal x1 und das Signal x2 von der Einheitszelle 62 in der vorherigen benachbarten Reihe (einer Reihe auf der oberen Seite in der Zeichnung) und das Signal x3 von der benachbarten Einheitszelle 62, die zu derselben Reihe gehört (wenn die Einheitszellen auf der rechten Seite und der linken Seite der Einheitszelle 62 vorhanden sind, erhält die Einheitszelle 62 die Signale x3 von der rechten Seite und der linken Seite). Durch Empfangen dieser Signale führt die Einheitszelle 62 ein invertiertes Signal oder nicht invertiertes Signal von einem der Signale oder ein Ergebnis der logischen Operation entsprechend der Logikkonfigurationsinformationen der Einheitszelle 62 in der letzteren benachbarten Reihe (eine Reihe auf der unteren Seite in der Zeichnung) oder der benachbarten Einheitszelle 62 in derselben Reihe (links oder rechts in der Zeichnung) zu. Wie es oben beschrieben wurde, kann die Einheitszelle in der Ausführungsform der vorliegenden Erfindung ein Signal nicht nur von den Einheitszellen in oberen und unteren Richtungen, sondern ebenfalls in linken und rechten Richtungen (Matrixrichtung) empfangen und an diese ausgeben. Dadurch wird im Vergleich zu dem Beispiel, das die Logikelementblöcke mit zwei Eingängen verwendet, eine Logikschaltung mit hoher Dichte verwirklicht.
  • 33A stellt eine Verwendungsform der Ausführungsform, die in 32 dargestellt ist, dar. Wie es aus dieser Verwendungsform ersichtlich ist, können die Einheitszellen 62 nicht nur in einer Oben/Unten-Richtung (Spaltenrichtung), sondern ebenfalls in einer Links/Rechts-Richtung (Reihenrichtung) verbunden werden. Als Ergebnis ist es möglich, ein Logikoperationsergebnis in einer Links/Rechtsrichtung zuzuführen und eine Verdrahtung in der Links/Rechts-Richtung zu implementieren. In 33A repräsentiert die dicke durchgezogene Linie, die durch die Logikelementblöcke 621 in den Einheitszellen verlaufen, einen Verdrahtungspfad.
  • 33B stellt eine Modifikation der Ausführungsform der vorliegenden Erfindung dar.
  • In dem Beispiel der 33B wird die Einheitszelle 63 durch Kombinieren von zwei Logikelementblöcken mit vier Eingängen aufgebaut. Diesbezüglich werden nicht sämtliche vier Eingänge A, B, L(links), R(rechts) für die logische Operation verwendet. Es wird A oder L als Eingang ausgewählt, und es wird B oder R als Eingang ausgewählt. Die ausgewählten Eingänge werden als x1 und x2 der 11 (Logikrekonfigurationselementmodell) verwendet, um die Logik oder die Verdrahtung zu implementieren. Man beachte, dass, da eine Verdrahtung in Abhängigkeit von einer zu konfigurierenden Schaltung durch den Entwurf bestimmt wird, ein Verdrahtungspfad in 33B weggelassen ist.
  • Die rechteckigen Einheitszellen 63 sind in einer Matrix angeordnet und um die Hälfte des Versatzes auf einer Reihenbasis verschoben. Die Einheitszelle 63 enthält einen Logikelementblock 631, der einen Ausgang in der x-Richtung bereitstellt, und einen Logikelementblock 632 in der y-Richtung, wie es in der Zeichnung dargestellt ist. Die Einheitszelle 63 erhält die Signale für A und B von den Einheitszellen 63 in der vorherigen benachbarten Reihe (eine Reihe auf der oberen Seite in der Zeichnung) und die Signale von L und R von den benachbarten Einheitszellen 63, die zu derselben Reihe gehören (eine linke Seite und eine rechte Seite in der Zeichnung). Der Logikelementblock 631 wählt das Signal A oder L entsprechend x-Seiten-Auswahlinformationen aus. Der Logikelementblock 631 führt der Einheitszelle 63 in der letzteren benachbarten Reihe (eine Reihe auf der unteren Seite in der Zeichnung) oder der Einheitszelle in derselben Reihe (eine linke/rechte Seite in der Zeichnung) ein invertiertes oder nicht invertiertes Signal eines der Signale oder ein Ergebnis der logischen Operation zwischen A oder L und B oder R entsprechend den x-Seiten-Konfigurationsinformationen zu. Der Logikelementblock 632 wählt das Signal A oder R entsprechend y-Seiten-Auswahlinformationen aus. Der Logikelementblock 632 führt der Einheitszelle 63 in der letzteren benachbarten Reihe (eine Reihe auf der unteren Seite in der Zeichnung) oder der Einheitszelle in derselben Reihe (eine linke/rechte Seite in der Zeichnung) ein invertiertes oder nicht invertiertes Signal eines der Signale oder ein Ergebnis der logischen Operation zwischen B oder R und A oder L entsprechend den y-Seiten-Konfigurationsinformationen zu.
  • 33C ist ein Transistorebenenschaltungsdiagramm der Einheitszelle 63, die in 33B dargestellt ist. Auch wenn ein Abschnitt zum Implementieren einer logischen Operation äquivalent zu demjenigen in der unten beschriebenen 38B ist, sind Flip-Flop-Schaltungen 161, 162, die die Auswahlkonfigurationsinformationen zum Auswählen von A oder L und zum Auswählen von B oder R speichern, hinzugefügt. Für die Flip-Flop-Schaltungen 161, 162 werden die Konfigurationsinformationen von Signalleitungen S0, /S0, S1, /S1 zugeführt. Außerdem wird entsprechend den Konfigurationsinformationen (Informationen zum Auswählen von A oder L und B oder R), die in den Flip-Flop-Schaltungen 161, 162 gespeichert sind, ein Paar komplementärer Übertragungsgatter 163, 164 betrieben. Auf diese Weise wird die Auswahl von A oder L sowie die Auswahl von B oder R durchgeführt.
  • Der x-seitige Logikelementblock und ein y-seitiger Logikelementblock bilden eine Logikoperationsschaltung durch Kombinieren mehrer Übertragungsgatter. Insbesondere wird der x-seitige Logikelementblock mittels mehrerer Übertragungsgatter geschaffen, die entsprechend dem Signal A oder L und dem Signal B oder R vier Flip-Flops 165 bis 168, die die Konfigurationsinformationen speichern, auswählen.
  • Die 33D und 33E stellen Wahrheitswerte der Schaltung der 33C dar. Wenn So gleich 0 ist, wird L als Eingang ausgewählt. Wenn So gleich 1 ist, wird A als Eingang ausgewählt. Wenn S1 gleich 0 ist, wird R als Eingang ausgewählt. Wenn S1 gleich 1 ist, wird B als Eingang ausgewählt. Die logische Operation oder die Verdrahtungsimplementation basierend auf dem Eingang, der auf diese Weise ausgewählt wird, ist dieselbe wie in der unten beschriebenen 38C.
  • Im Folgenden werden technische Wirkungen der Einheitszelle mit vier Eingängen und zwei Ausgängen, die in 33B dargestellt ist, im Vergleich zu der Einheitszelle mit zwei Eingängen und zwei Ausgängen, die in 11 bis 22 dargestellt ist, erläutert.
  • 33F ist ein Beispiel einer Logikabbildung basierend auf der Basiserfindung und stellt einen 4-Bit-Ripple-Carry-Addierer dar, der durch ein Verbindungsmodul zwischen den Einheitszellen mit zwei Eingängen und zwei Ausgängen geschaffen wird. Die Gesamtanzahl der verwendeten Einheitszellen ist gleich 45, und die Gesamtanzahl der Logikelementblöcke ist gleich 90 (eine Zelle weist zwei Logikelementblöcke auf), eine Verwendungsrate des Logikelementblocks beträgt 72,2%, eine Verwendungsrate des Logikelementblocks als ein Logikelement beträgt 22,2%, und eine Verwendungsrate des Logikelementblocks als eine Verdrahtung beträgt 50,0%. In 33F repräsentiert eine dicke durchgezogene Linie, die durch die Einheitszellen 63 verläuft, einen Verdrahtungspfad.
  • 33G zeigt ein Beispiel einer Logikabbildung der Schaltungsstruktur der 33B sowie einen 4-Bit-Ripple-Carry-Addierer, der durch ein Verbindungsmodul zwischen den Einheitszellen mit vier Eingängen und zwei Ausgängen geschaffen wird. In 33G repräsentiert eine dicke durchgezogene Linie, die durch die Einheitszellen 63 verläuft, einen Verdrahtungspfad. Die Schaltungsstruktur der 33G ist derart aufgebaut, dass eine Signalkommunikation außerdem in einer Links/Rechts-Richtung (seitliche Richtung, Reihenrichtung) durchgeführt werden kann, während 33F nur eine Verdrahtungsverbindung der Einheitszellen in einer Oben/Unten-Richtung (vertikale Richtung, Spaltenrichtung) darstellt. In 33G ist die Gesamtanzahl der verwendeten Einheitszellen 63 gleich 18, die Gesamtanzahl der Logikelementblöcke ist gleich 36, eine Verwendungsrate des Logikelementblocks ist gleich 83,3%, eine Verwendungsrate des Logikelementblocks als ein Logikelement ist gleich 55,6% und eine Verwendungsrate des Logikelementblocks als eine Verdrahtung ist gleich 27,8%. Daher verbessert die Verwendung der Einheitszellen mit vier Eingängen und zwei Ausgängen die Verwendungsrate des Logikelementblocks und verringert die Verwendungsrate der Verdrahtung und ermöglicht somit eine effiziente Logikabbildung im Vergleich zu der Schaltungsstruktur der 33F. Eine Vergrößerung der Fläche der Einheitszelle mit vier Eingängen und zwei Ausgängen beträgt nicht mehr als 25%. Somit verringert in dem Beispiel des 4-Bit-Ripple-Carry-Addierers die Änderung von der Einheitszelle mit zwei Eingängen und zwei Ausgängen, die in der Schaltungsstruktur der 33F dargestellt ist, zu der Einheitszelle mit vier Eingängen und zwei Ausgängen, die in der Schaltungsstruktur der 33G dargestellt ist, die Montagefläche auf die Hälfte. Demzufolge wird ein effizientes Layout geschaffen.
  • Auch wenn die obige Darstellung auf der Grundlage eines Vergleichs zwischen der Einheitszelle mit zwei Eingängen und zwei Ausgängen und der Einheitszelle mit vier Eingängen und zwei Ausgängen durchgeführt wurde, können diese vermischt montiert sein. Es können beispielsweise Einheitszellen mit zwei Eingängen und zwei Ausgängen in den Reihen der ungeraden Nummer angeordnet sein, und die Einheitszellen mit vier Eingängen und zwei Ausgängen können in den Reihen mit der geraden Nummer angeordnet sein. Alternativ können mehrere Reihen von Einheitszellen mit zwei Eingängen und zwei Ausgängen abwechselnd mit mehreren Reihen von Einheitszellen mit vier Eingängen und zwei Ausgängen angeordnet sein.
  • Auch wenn die Einheitszellen in den obigen Ausführungsformen und Modifikationen in einer Matrix angeordnet und auf einer Reihenbasis um die Hälfte des Versatzes unter der Annahme verschoben sind, dass dieselben rechteckigen Einheitszellen verwendet werden, kann diese Anordnung mit dem halben Versatz modifiziert werden. Der Versatz, der hier beschrieben wurde, bezieht sich auf eine Verschiebung in einer Reihe zwischen den Einheitszellen in den Reihen der geraden Nummer und den Einheitszellen in den Reihen der ungeraden Nummer, wenn die Einheitszellen angeordnet und gepackt sind.
  • Dieselben rechteckigen Zellen können beispielsweise durch Verschieben der Einheitszellen auf einer Reihenbasis um ein Drittel des Versatzes oder ein Viertel des Versatzes angeordnet sein. Außerdem können die Einheitszellen nicht in regelmäßigen Abständen bzw. Intervallen angeordnet sein. Die Einheitszellen können beispielsweise mit einer Kombination des halben Versatzes und eines Drittel Versatzes angeordnet werden.
  • Es können mehrere Einheitszellen, die unterschiedliche Logikelementblöcke aufweisen und eine unterschiedliche Gesamtanzahl von Logikelementblöcken aufweisen, verwendet und benachbart angeordnet werden. In diesem Fall liegen in Abhängigkeit von der Weise der benachbarten Anordnung mehrere Versätze unterschiedlicher Größen vor. Kurz gesagt ist die vorliegende Erfindung für beliebige Schaltungen verwendbar, solange mehrere Einheitszellen in einem Array (Oben/Unten- und Links/Rechts-Richtungen, Reihen- und Spaltenrichtungen) auf regelmäßige Weise angeordnet werden können (die Einheitszellen werden entsprechend einer bestimmten Anordnungsregel in Oben/Unten- und Links/Rechts-Richtungen, d. h. Reihen- und Spaltenrichtungen, angeordnet) und solange eine Schaltungsstruktur einen zweckgebundenen Verdrahtungskanal zur elektrischen Verbindung der Einheitszellen minimieren oder vermeiden kann.
  • Es kann schwierig sein, Eingangs-/Ausgangsanschlüsse direkt zu verbinden, um die Einheitszellen bei der tatsächlichen Herstellung eines Produkts basierend auf der vorliegenden Erfindung zu verbinden. In diesem Fall wird es durch Minimieren einer Verdrahtung und dichtes Anordnen der Einheitszellen, um die Einheitszellen zu verbinden, möglich, ein Produkt basierend auf der vorliegenden Erfindung herzustellen. Gemäß der vorliegenden Erfindung kann dieser Fall die oben beschriebene Minimierung eines Verdrahtungskanals betreffen.
  • In sämtlichen oben beschriebenen Ausführungsformen sind zwei Logikelementblöcke in der Einheitszelle ausgebildet. Alternativ können drei oder mehr Logikelementblöcke in der Einheitszelle ausgebildet sein. In diesem Fall kann die Anzahl der Eingänge und Ausgänge variabel von dem Entwurf bestimmt werden. Wenn die Blattzellen durch benachbartes Anordnen der Einheitszellen einschließlich der Einheitszellen, die diese Logikelementblöcke aufweisen, aufgebaut werden (das heißt, durch benachbartes Anordnen der Einheitszellen in unterschiedlicher Anzahl), existieren notwendigerweise Versätze mit unterschiedlichen Größen.
  • 3-2 Beispiel eines Logikzellencompilers
  • 34 stellt einen Verarbeitungsfluss eines Logikzellencompilers basierend auf der vorliegenden Erfindung dar. Es wird Eingabe von Daten, die von einem Entwickler mit einer Sprache wie beispielsweise Verilog VHDL und Ähnlichem (Daten, die mit SystemC, C, C++ oder Ähnlichem entwickelt werden, können konvertiert werden) entworfen wurden, empfangen, und es wird eine Netzliste erzeugt. Diese Netzliste wird mit einem Netzlistenanalysator analysiert und in eine Kombinationslogik, ein Flip-Flop, einen Rückkopplungspfad, einen Setz-/Rücksetzinitialisierer und Ähnliches aufgespaltet, und diese werden mit einem Logikabbilder (Logik-Mapper) integriert. Logikabbildungsdaten (Logik-Mapping-Daten), die auf diese Weise erhalten werden, entsprechen den Logikkonfigurationsinformationen der logisch rekonfigurierbaren Schaltung basierend auf der vorliegenden Erfindung und werden dem logisch rekonfigurierbaren Element wie beispielsweise einer Latch-Schaltung oder Ähnlichem (das Speicherelement zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements) zugeführt (Logikabbildung basierend auf der vorliegenden Erfindung).
  • 3-3 Beispiel einer Einheitszellenmodifikation
  • 35 ist ein Schaltungsdiagramm einer Einheitszelle 64 basierend auf der vorliegenden Erfindung, die eine geringere Anzahl von Transistoren als die Schaltungen der 20 und 24 aufweist. In der Schaltung der 20 wird die Logik unter Verwendung der Transistoren von mehreren NANDs implementiert. Die Schaltung 35 der 35 weist durch die Verwendung mehrerer Übertragungsgatter eine beachtlich kleinere Gesamtanzahl von Transistoren auf (Übertragungsgatter: eine Schaltungsstruktur, bei der ein PMOS-Transistor und ein NMOS-Transistor parallel geschaltet sind). 36 stellt Wahrheitswerte logischer Operationen, die von der Schaltung der 35 implementiert werden, dar.
  • In der Schaltung der 20 sind die Inverter kontinuierlich in zwei Stufen geschaltet, um das Flip-Flop zu bilden, das unter Verwendung der beiden Übertragungsgatter gesteuert wird, um das Speicherelement zum Speichern der Konfigurationsinformationen bereitzustellen. In der Schaltung der 35 bilden zwei PMOS-Transistoren und zwei NMOS-Transistoren das Speicherelement. Die Operation der Schaltung der 35 wird unter Verwendung der Schaltung bereitgestellt, die die Transistoren (Tr), die in 37 gezeigt sind, enthält (bilden einen SRAM mit vier Transistoren Tr1, Tr2, Tr3, Tr4).
  • 37(a), (b) zeigt Transistoren zur Bereitstellung der Schaltung der 35. 37(a), (b) stellen konkret das Speicherelement zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements dar.
  • In den 37(a), (b) sind ein Drain eines ersten PMOS-Transistors (Tr1) und ein Drain eines ersten NMOS-Transistors (Tr2) miteinander verbunden, und diese Drains sind mit einem Gate eines zweiten PMOS-Transistors (Tr3) und einem Gate eines zweiten NMOS-Transistors (Tr4) verbunden. Außerdem sind ein Drain des zweiten PMOS-Transistors (Tr3) und ein Drain des zweiten NMOS-Transistors (Tr4) miteinander verbunden, und diese Drains sind mit einem Gate des ersten PMOS-Transistors (Tr1) und einem Gate des ersten NMOS-Transistors (Tr2) verbunden, um einen Ausgangsanschluss bereitzustellen. Außerdem dient eine Source des ersten PMOS-Transistors (Tr1) als ein Eingangsanschluss des logisch rekonfigurierbaren Elements für die Logikrekonfigurationsdaten. Die Source des ersten PMOS-Transistors (Tr1) ist mit GND verbunden, und die Source des zweiten PMOS-Transistors (Tr3) ist mit der Energiequelle verbunden. Das Gate des ersten PMOS-Transistors (Tr1) dient als ein Steuergate (W) zur Dateneingabe. In einem Anfangszustand ist die Source des zweiten NMOS-Transistors (Tr4) mit einem Energiequellenpegel verbunden. Nach dem Fixieren der Haltedaten geht ein elektrisches Potenzial der Source des zweiten NMOS-Transistors (Tr4) von dem Energiequellenpegel in den GND-Pegel über. Das Speicherelement wird durch die Verbindungsstruktur der vier MOS-Transistoren realisiert.
  • 37(a) stellt einen Zustand vor dem Speichern von Daten dar. Die Source (Steuersignalanschluss 2) des Tr4 ist mit VDD2 (Energiequellenspannungspegel) verbunden. W (Steuersignalanschluss 1) entspricht 0 (niedriger Pegel). D entspricht invertierten Daten von Daten, die bei OUT gelatcht werden (0 wird bereitgestellt, wenn 1 an OUT in dem gelatchten Zustand ausgegeben wird, und 1 wird bereitgestellt, wenn 0 an OUT in dem gelatchten Zustand ausgegeben wird). VDD1 entspricht 1 (hoher Pegel, d. h. ein Pegel der Energiequellenspannung), und GND1 entspricht 0.
  • Anschließend wird, wie es in 37(b) gezeigt ist, die Source des Tr4 (Steuersignalanschluss 2) von VDD2 in GND2 (Massespannung GND-Pegel, d. h. niedriger Pegel 0) geändert. Als Ergebnis wird an OUT ein invertierter Ausgang von D ausgegeben. Wenn D gleich 0 ist, wird der Eingang unterbrochen. In diesem Zustand ist die Latch-Operation beendet. Man beachte, dass es nicht notwendig ist, das Gate von Tr4 auf 1 zu halten, um die Ausgabe von 0 an OUT zu halten. Durch Halten von D auf 1 nach Beendigung der Latch-Operation wird ein Unterschwellenleckstrom, der von D (Source) dem gegenüberliegenden Knoten (Drain) zugeführt wird, in Tr1 erzeugt, so dass das elektrische Potenzial des Gates auf 1 gehalten wird. Auf diese Weise werden nicht nur die Daten von 1, sondern auch die Daten von 0 kontinuierlich an OUT ausgegeben. Man beachte, dass die Daten an D in dem obigen Beispiel von Beginn an ausgegeben werden. Alternativ kann 0 dem D zunächst zugeführt werden, und dann können die invertierten Daten der Konfigurationsdaten zugeführt werden, und danach wird W von 0 nach 1 geändert. Außerdem sind in dem obigen Beispiel sowohl Tr1 als auch Tr3 PMOSs, und sowohl Tr2 als auch Tr4 sind NMOSs. Alternativ können ihre Polaritäten sämtlich umgekehrt sein, und die Polarität der eingegebenen Daten D kann umgekehrt sein. In diesem Fall wird dieselbe Operation erzielt.
  • Wie es oben beschrieben wurde, ist es möglich, eine Schaltungsgröße des Speicherelements, das eine Logik des logisch rekonfigurierbaren Elements bestimmt, zu verringern, da der Speicher zum Konfigurieren des logisch rekonfigurierbaren Elements unter Verwendung des SRAM, der vier Transistoren Tr aufweist, aufgebaut werden kann.
  • 3-4 Weitere Modifikation der Einheitszelle
  • 38A ist ein Transistorebenenschaltungsdiagramm (detailliertes Schaltungsdiagramm) einer Einheitszelle 65 basierend auf der vorliegenden Erfindung. Dieses Beispiel verwendet die SRAM-Schaltung, die die Logikkonfigurationsinformationen ähnlich wie in der 24 gezeigt speichert, und verwendet die Schaltung des Logikoperationsabschnitts ähnlich demjenigen in 35. Die Wahrheitswerte sind dieselben wie in 36 gezeigt.
  • 38B ist ein Transistorebenenschaltungsdiagramm (detailliertes Schaltungsdiagramm) einer Einheitszelle 66 basierend auf der vorliegenden Erfindung. Im Vergleich zu 38A sind die Ausgänge der Inverter der Eingangsstufe 661, 662 umgekehrt, und die Wahrheitswerte dieser Schaltung unterscheiden sich dementsprechend. Die Wahrheitswerte sind in den 38C und 38D gezeigt.
  • 39 ist ein Schaltungsdiagramm einer Einheitszelle 67 gemäß einer Modifikation, die auf der vorliegenden Erfindung basiert. In diesem Beispiel wird dieselbe SRAM-Schaltung, die die Logikkonfigurationsinformationen speichert, wie die in 24 gezeigte verwendet, und es wird eine Schaltungsstruktur für eine logische Operation modifiziert. 40 stellt Wahrheitswerte entsprechend der Schaltungsstruktur der 39 dar. 41 ist ein Schaltungsdiagramm, das eine Modifikation darstellt, bei der die Übertragungsgatter in den Schaltungsdiagrammen der Einheitszellen 65, 66 der 38A, 38B basierend auf der vorliegenden Erfindung modifiziert sind. In diesem Beispiel wird dieselbe SRAM-Schaltung zum Speichern der Logikkonfigurationsinformationen wie die in 24 gezeigte verwendet. Außerdem ist für einen Schaltungsabschnitt für die logische Operation ein Inverter in einer Eingangsstufe von jeweils A und B angeordnet, und ein Inverter ist in einer Ausgangsstufe von jeweils X und Y angeordnet. Die Wahrheitswerte dieses Beispiel sind in 40 gezeigt.
  • 3-5 Beispiel der Verwendung eines D-Flip-Flops für das Logikrekonfigurationszellenmodul
  • 42 stellt ein D-Flip-Flop dar, das eine Umgehungsfunktion bzw. Umleitungsfunktion aufweist. Das D-Flip-Flop weist eine Funktion zum Durchführen einer Signalumleitungsoperation von einem Anschluss D zu einem Anschluss Q auf, wenn ein Anschluss BP auf HOCH (d. h. 1) liegt, und dient als ein normales D-Flip-Flop, wenn der Anschluss BP auf NIEDRIG (d. h. 0) liegt. 43 stellt die Wahrheitswerte, die Operationen des D-Flip-Flops der 42 repräsentieren, dar. Wenn der Eingang des Anschlusses BP gleich 1 ist, befindet sich das D-Flip-Flop in einem Umleitungsmodus von dem Eingangsanschluss D zu dem Ausgangsanschluss Q (der D-Eingang und der Q-Ausgang sind beide 0 oder 1). Wenn der Eingangsanschluss BP gleich 0 ist, befindet sich das D-Flip-Flop in einem Modus einer normalen D-Flip-Flop-Operation. Anhand dieser Wahrheitswerte ist ersichtlich, dass, wenn der Eingang des Anschlusses BP gleich 1 ist, das D-Flip-Flop die Umleitungsoperation ausführt. Dieses D-Flip-Flop der 42 kann als das Speicherelement der Flip-Flop-Schaltung der 3 definiert werden. Wenn beispielsweise eine große Kombinationsschaltung in 3 notwendig ist, kann die Anzahl der logischen Stufen (in 3 vier Stufen) der Einheitszellen 7, die das Blattzellenmodul 71 bilden, unzureichend sein. Somit kann das Speicherelement 14 der 3 durch das D-Flip-Flop, das in 42 dargestellt ist, ersetzt werden, und das D-Flip-Flop kann in dem Umleitungsmodus verwendet werden, so dass durch lokales Erhöhen der Anzahl der logischen Stufen die Blattzellenmodule 71, die in der Oben/Unten-Richtung benachbart sind, wie es in 3 dargestellt ist, als eine Logikschaltung verwendet werden können, die mit demselben Takt betrieben wird. Auf diese Weise ist es durch Bereitstellen des D-Flip-Flops mit dem Umleitungsmodus von dem Eingangsanschluss D zu dem Ausgangsanschluss Q möglich, die Anzahl der Zellenstufen lokal zu ändern und eine Skalierung der Anzahl der logischen Stufen flexibel zu handhaben.
  • 3-6 Beispiel einer Seitenschleife
  • 44 ist ein Arraylayoutdiagramm, das eine Seitenschleifenverbindung darstellt. In 44, in der die Einheitszelle 74 zwei Logikelementblöcke aufweist, weist jede der Zellen 70, 71 an den linken und rechten Enden der Reihen der geraden Nummer nur einen Logikelementblock auf (die Zelle 70 weist den Logikelementblock 700 auf, und die Zelle 71 weist den Logikelementblock 710 auf). Wie es in 44 gezeigt ist, können die Signale zwischen dem linken Ende und dem rechten Ende des Blattzellenmoduls durch die Zwischenverbindung unter Verwendung einer Verdrahtung 72 und einer Verdrahtung 73 ausgetauscht werden. Das heißt, es wird eine Signalverbindung für eine Schleife in einer Breitenrichtung (Seitenschleifenverbindung) bereitgestellt. Aufgrund dessen können die Zelle 70 und die Zelle 71, in der jeweils ein Logikelementblock vorhanden ist, äquivalent zu einer Einheitszelle 70 in der Logik sein. Diese Struktur ermöglicht eine effiziente Implementation von Schaltungsfunktionen. Auch wenn 44 eine Verbindung zwischen den Einheitszellen 74, die auf rechten und linken Enden des Blattzellenmoduls angeordnet sind, darstellt, stellt dieses keine Beschränkung dar. Der Ausgangsanschluss der Einheitszelle, die das Blattzellenmodul bildet, kann beispielsweise mit dem Eingangsanschluss irgendeiner der Einheitszellen (einschließlich beider Enden der Reihe), die in einer nächsten unteren Reihe angeordnet und in einer Reihenrichtung versetzt ist, verbunden sein. Diese Verbindung ermöglicht eine effiziente Implementation von Schaltungsfunktionen wie in dem Fall der Verbindungsform, die in 44 dargestellt ist. In den oben dargestellten Ausführungsformen und Modifikationen weist die Einheitszelle eine rechteckige Gestalt auf. Dieses dient jedoch nicht zur Beschränkung der Gestalt der Einheitszelle. Insbesondere kann die Einheitszelle eine beliebige Gestalt wie beispielsweise eine rechteckige Gestalt mit abgerundeten Ecken, eine Rhombusgestalt, eine Trapezgestalt oder eine andere Gestalt aufweisen, solange eine integrierte Schaltung, die ein Blattzellenmodul enthält, einen Verdrahtungskanalbereich zur elektrischen Verbindung von Einheitszellen, die Logikelementblöcke aufweisen, minimieren kann. Außerdem kann das Blattzellenmodul, das auf der vorliegenden Erfindung basiert, durch Kombinieren unterschiedlicher Gestalten aufgebaut sein.
  • GEWERBLICHE ANWENDBARKEIT
  • Eine integrierte Schaltung und ein rekonfigurierbarer Prozessor, der in der Lage ist, eine Befehlsfunktion zu ändern, können mit verbesserten Eigenschaften, d. h. Fläche, Kosten, Logikänderungsfunktion, Betriebsfrequenz, Flexibilität, Durchsatz und Energieverbrauch, versehen werden.
  • Bezugszeichenliste
  • 161, 162, 165–168
    Flip-Flop
    163, 164
    Übertragungsgatter

Claims (5)

  1. Integrierte Schaltung, die aufweist: ein Array, in dem mehrere Einheitszellen, die jeweils eine vorbestimmte Gestalt aufweisen, in einer Matrix angeordnet sind, wobei jede Einheitszelle ein logisch rekonfigurierbares Element, ein Speicherelement zum Bestimmen einer Logik des logisch rekonfigurierbaren Elements, mehrere Eingangsanschlüsse, die mit dem logisch rekonfigurierbaren Element verbunden sind, und mehrere Ausgangsanschlüsse, die mit dem logisch rekonfigurierbaren Element verbunden sind, enthält; in den Einheitszellen der Matrix die Einheitszellen in jeder Reihe mit einem vorbestimmten Versatz verschoben sind, um das Array zu bilden; elektrische Verbindungen zwischen den Einheitszellen, die das Array bilden, die folgenden Strukturen aufweisen: (1) ein Eingangsanschluss einer Einheitszelle ist mit einem Ausgangsanschluss einer ersten benachbarten Einheitszelle elektrisch verbunden, die in einer Spaltenrichtung benachbart zu der einen Einheitszelle angeordnet ist und in einer Reihenrichtung in Bezug auf die eine Einheitszelle mit dem vorbestimmten Versatz verschoben ist; (2) ein anderer Eingangsanschluss der einen Einheitszelle ist mit einem Ausgangsanschluss einer zweiten benachbarten Einheitszelle elektrisch verbunden, die in der Reihenrichtung benachbart zu der einen Einheitszelle angeordnet ist; und (3) die Verbindung, die in (1) definiert ist, und die Verbindung, die in (2) definiert ist, werden für die Einheitszellen des Arrays, die nicht die eine Einheitszelle sind, verwendet.
  2. Integrierte Schaltung nach Anspruch 1, wobei die integrierte Schaltung mehrere der Arrays aufweist; die integrierte Schaltung eine Schnittstellenschaltung aufweist, die die Arrays elektrisch verbindet; und die integrierte Schaltung über die Schnittstellenschaltung eine Signalkommunikation zwischen den Arrays durchführt.
  3. Integrierte Schaltung nach Anspruch 2, wobei die Schnittstellenschaltung ein Speicherelement zum Speichern von Daten, die von dem Array ausgegeben werden, enthält und eine Signalumleitungsfunktion zum Umleiten eines Signals, das in einen Eingangsanschluss des Speicherelements eingegeben wird, zu einem Ausgangsanschluss des Speicherelements, wenn ein vorbestimmtes Signal an einen vorbestimmten Anschluss des Speicherelements angelegt wird, aufweist; wenn das vorbestimmte Signal an den vorbestimmten Anschluss des Speicherelements angelegt wird, die Schnittstellenschaltung die Signalkommunikation zwischen den Arrays, die mittels der Schnittstellenschaltung verbunden sind, umleitet; und die Schnittstellenschaltung, wenn sie die Signalkommunikation nicht umleitet, als eine sequenzielle Schaltung betrieben wird, die die Daten speichert, die von dem Array ausgegeben werden.
  4. Integrierte Schaltung nach einem der Ansprüche 1–3, wobei in dem Array der Ausgangsanschluss der Einheitszelle mit dem Eingangsanschluss einer beliebigen anderen Einheitszelle verbunden ist, die in einer nächsten unteren Reihe und in einer Reihenrichtung in Bezug auf die Einheitszelle angeordnet ist.
  5. Integrierte Schaltung nach einem der Ansprüche 1–4, wobei das Speicherelement zum Bestimmen der Logik des logisch rekonfigurierbaren Elements einen ersten PMOS-Transistor, einen zweiten PMOS-Transistor, einen ersten NMOS-Transistor und einen zweiten NMOS-Transistor enthält und die folgenden Strukturen aufweist: (1) ein Drain des ersten PMOS-Transistors und ein Drain des ersten NMOS-Transistors sind miteinander verbunden und sind mit einem Gate des zweiten PMOS-Transistors und einem Gate des zweiten NMOS-Transistors verbunden; (2) ein Drain des zweiten PMOS-Transistors und ein Drain des zweiten NMOS-Transistors sind miteinander verbunden und sind mit einem Gate des ersten NMOS-Transistors verbunden und dienen als ein Ausgangsanschluss; (3) eine Source des ersten PMOS-Transistors dient als ein Eingangsanschluss des Logikkonfigurationselements für Logikkonfigurationsdaten; (4) eine Source des ersten NMOS-Transistors ist mit GND verbunden, und eine Source des zweiten PMOS-Transistors ist mit einer Energiequelle verbunden; (5) ein Gate des ersten PMOS-Transistors dient als ein Steuergate eines Dateneingangs; (6) in einem Anfangszustand ist eine Source des zweiten NMOS-Transistors mit einem Energiequellenpegel verbunden; (7) nach einem Fixieren von Haltedaten geht ein elektrisches Potenzial der Source des zweiten NMOS-Transistors von dem Energiequellenpegel in einen GND-Pegel Ober; und (8) das Speicherelement ist entsprechend (1) bis (7) aufgebaut.
DE112012003335.3T 2011-08-12 2012-08-07 Integrierte Schaltung Withdrawn DE112012003335T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011176820 2011-08-12
JP2011-176820 2011-08-12
PCT/JP2012/070108 WO2013024751A1 (ja) 2011-08-12 2012-08-07 集積回路

Publications (1)

Publication Number Publication Date
DE112012003335T5 true DE112012003335T5 (de) 2014-04-30

Family

ID=47715071

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012003335.3T Withdrawn DE112012003335T5 (de) 2011-08-12 2012-08-07 Integrierte Schaltung

Country Status (5)

Country Link
US (1) US8957701B2 (de)
JP (1) JP5704240B2 (de)
CN (1) CN103828239B (de)
DE (1) DE112012003335T5 (de)
WO (1) WO2013024751A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3157172B1 (de) * 2015-10-15 2018-11-28 Menta System und verfahren zum testen und konfigurieren eines fpga
US10312918B2 (en) * 2017-02-13 2019-06-04 High Performance Data Storage And Processing Corporation Programmable logic design
JP6781089B2 (ja) * 2017-03-28 2020-11-04 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム、電子制御装置の制御方法
JP2023088120A (ja) * 2021-12-14 2023-06-26 久利寿 帝都 ソフトウェア開発装置およびソフトウェア開発プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574935A (ja) 1991-09-11 1993-03-26 Kawasaki Steel Corp プログラマブル論理回路装置
US5315178A (en) 1993-08-27 1994-05-24 Hewlett-Packard Company IC which can be used as a programmable logic cell array or as a register file
US6331274B1 (en) * 1993-11-01 2001-12-18 Nanogen, Inc. Advanced active circuits and devices for molecular biological analysis and diagnostics
US5581199A (en) * 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
JPH0974351A (ja) 1995-09-05 1997-03-18 Nippon Telegr & Teleph Corp <Ntt> プログラマブル回路装置
JP3576837B2 (ja) 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US6300792B1 (en) 1999-02-06 2001-10-09 Altera Corporation Programmable input/output pin signal multiplexing/demultiplexing circuitry for integrated circuits
JP3269526B2 (ja) 1999-02-09 2002-03-25 日本電気株式会社 プログラマブルロジックlsi
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
EP1092268B1 (de) * 1999-03-04 2008-04-23 Altera Corporation Verbindungs- und eingangs/ausgangsmittel für programmierbare logische integrierte schaltungen
JP2002538562A (ja) 1999-03-04 2002-11-12 アルテラ・コーポレーション 桁上げ選択加算付プログラマブルロジックデバイス
US6480027B1 (en) 1999-03-04 2002-11-12 Altera Corporation Driver circuitry for programmable logic devices
US6366120B1 (en) 1999-03-04 2002-04-02 Altera Corporation Interconnection resources for programmable logic integrated circuit devices
US6323680B1 (en) 1999-03-04 2001-11-27 Altera Corporation Programmable logic device configured to accommodate multiplication
JP3326560B2 (ja) * 2000-03-21 2002-09-24 日本テキサス・インスツルメンツ株式会社 半導体メモリ装置
US7767993B2 (en) * 2002-04-04 2010-08-03 Kabushiki Kaisha Toshiba Resistance change memory device
JP4414297B2 (ja) * 2004-07-09 2010-02-10 パナソニック株式会社 プログラマブルロジックデバイス、コンフィギュレーション装置、コンフィギュレーション方法
JP4488988B2 (ja) * 2005-09-13 2010-06-23 株式会社東芝 電源電位制御回路
US20090290444A1 (en) * 2005-11-28 2009-11-26 Masayuki Satoh Semiconductor device
US20100226495A1 (en) * 2007-10-29 2010-09-09 Michael Kelly Digital readout method and apparatus
US8124429B2 (en) * 2006-12-15 2012-02-28 Richard Norman Reprogrammable circuit board with alignment-insensitive support for multiple component contact types
US7724031B2 (en) * 2007-03-21 2010-05-25 Altera Corporation Staggered logic array block architecture
US20090128189A1 (en) * 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
JP5260077B2 (ja) * 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
US8884647B2 (en) 2010-02-16 2014-11-11 Denso Corporation Integrated circuit and method of using the same

Also Published As

Publication number Publication date
JP5704240B2 (ja) 2015-04-22
JPWO2013024751A1 (ja) 2015-03-05
CN103828239A (zh) 2014-05-28
CN103828239B (zh) 2016-08-17
WO2013024751A1 (ja) 2013-02-21
US8957701B2 (en) 2015-02-17
US20140145755A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE69827589T2 (de) Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
DE60128960T2 (de) Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld
DE4416881C2 (de) Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
DE69637399T2 (de) Grobkörnig strukturierte integrierte Halbleiterschaltung mit Nachschlagtabellen
DE3049437C2 (de) Matrixanordnung einer Vielzahl von Verarbeitungselementen
DE4041897C2 (de) Integrierte Schaltkreiseinrichtung und Abtastpfadsystem
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE3645224C2 (de)
DE60025196T2 (de) Heterogenes programmierbares gatterfeld
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE60033624T2 (de) Rekonfigurierungsverfahren für ein gatter von identischen funktionselementen
DE112012003335T5 (de) Integrierte Schaltung
WO2005036750A1 (de) Konfigurierbare logikschaltungsanordnung
DE69534659T2 (de) Architektur und Verbindungsmodel für programmierbare logische Schaltungen
DE602004006841T2 (de) Elektronischer schaltkreis mit einem feld programmierbarer logischer zellen
DE102020111904A1 (de) Logikschaltkreise mit erhöhten arithmetischen dichten
DE112017004291T5 (de) Integrierte Schaltungen mit spezialisierten Verarbeitungsblöcken zum Durchführen von schnellen Fourier Gleitkommatransformationen und komplexer Multiplikation
DE102018119919A1 (de) Nicht-flüchtiges computerlesbares Medium, das eine Standard-Zell-Library speichert, integrierter Schaltkreis mit synchronem Schaltkreis, und Computersystem zum Designen des integrierten Schaltkreises
DE102015109969A1 (de) Replizieren von Logikblöcken zum Ermöglichen eines erhöhten Durchsatzes
DE102021111423A1 (de) Halbleitervorrichtung und Verfahren zu ihrer Herstellung
DE4327660A1 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE4344231C2 (de) Integrierte Schaltungsvorrichtung mit Bit-Slice-Zellen
DE2112637B2 (de) Komplexe schaltungsanordnung aus einer vielzahl untereinander verschalteter integrierter schaltkreise
DE112011100551T5 (de) Integrierte schaltung und verfahren zur verwendung derselben

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

R082 Change of representative

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

R012 Request for examination validly filed
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee