DE69838462T2 - Verbesserte feldprogrammierbare Gatteranordnung - Google Patents

Verbesserte feldprogrammierbare Gatteranordnung Download PDF

Info

Publication number
DE69838462T2
DE69838462T2 DE69838462T DE69838462T DE69838462T2 DE 69838462 T2 DE69838462 T2 DE 69838462T2 DE 69838462 T DE69838462 T DE 69838462T DE 69838462 T DE69838462 T DE 69838462T DE 69838462 T2 DE69838462 T2 DE 69838462T2
Authority
DE
Germany
Prior art keywords
fpga
integrated circuit
programmable
circuit
mask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69838462T
Other languages
English (en)
Other versions
DE69838462D1 (de
Inventor
Samuel W. Mountain View Beal
Sinan San Carlos Kaptonoglu
Jung-Cheun San Jose Lien
William Palo Alto Shu
King W. Los Altos Chan
William C. Sunnyvale Plants
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.)
Microsemi SoC Corp
Original Assignee
Actel 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 Actel Corp filed Critical Actel Corp
Publication of DE69838462D1 publication Critical patent/DE69838462D1/de
Application granted granted Critical
Publication of DE69838462T2 publication Critical patent/DE69838462T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security
    • 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
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • 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/17724Structural details of logic blocks
    • H03K19/17732Macroblocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Diese Erfindung betrifft das Gebiet der vor Ort programmierbaren Logikbausteine (FPGAs, vom engl. Field Programmable Gate Arrays). Insbesondere betrifft sie eine Vorrichtung zum Ausweiten der Funktionalität von FPGAs durch Vorsehen eines Mittels für das Einschließen von anwender-spezifizierten Funktionen durch Einschließen eines anderen Funktionsschaltungsaufbaus auf dem integrierten Schaltungschip mit dem FPGA-Schaltungsaufbau und insbesondere mit einem solchen Schaltungsaufbau, der als maskenprogrammierbare Logikbausteinbereiche auf der integrierten Schaltung implementiert ist.
  • 2. Stand der Technik
  • Eine integrierte Schaltung nutzt ein Netz aus Metallverbindungen zwischen den einzelnen Halbleiterbestandteilen, die mit standardmäßigen photolithographischen Prozessen während der Scheibenherstellung strukturiert werden. Zum Verbessern der Flexibilität der Verbindungen können mehrere Ebenen von metallisierten Leiterbildern verwendet werden.
  • Es ist seit langem bekannt, dass ein anwenderprogrammierbares Verbindungsverfahren oder die Herstellerprogrammierbarkeit kurz vor Lieferung niedrigere Anlagenkosten und schnellere Lieferzeit erlauben würden. Zu diesem Zweck wurden Logikbausteinschaltungen entwickelt.
  • Eine Logikbausteinschaltung ist eine Anordnung unspezifischer Torschaltungen mit unspezifischen Verdrahtungskanälen. Zum Implementieren einer bestimmten Schaltungsfunktion wird die Schaltung in die Anordnung abgebildet und die Verdrahtungskanäle und geeigneten Verbindungen werden zum Implementieren der erforderlichen Schaltungsverbindungen, die die Schaltungsfunktion bilden, programmiert.
  • Eine Logikbausteinschaltung kann zum Implementieren praktisch jeder Funktionsgruppe programmiert werden. Eingangssignale werden von der programmierten Schaltung verarbeitet, um die erwünschte Gruppe von Ausgaben zu erzeugen. Solche Eingaben fließen von dem System des Anwenders durch Eingangspuffer, dann durch die Schaltung und schließlich mittels Ausgangspuffer wieder aus dem System des Anwenders heraus. Solche Puffer bieten beliebige oder alle der folgenden Eingangs-/Ausgangsfunktionen (I/O): Spannungsverstärkung, Stromverstärkung, Pegelumsetzung, Verzögerung, Signalentkoppelung oder Hysterese.
  • Wenn die Verdrahtungskanäle und geeigneten Verbindungen von dem Hersteller nach den Konstruktionsmasken programmiert werden, dann wird die Logikbausteinschaltung als maskenprogrammierbarer Logikbaustein bezeichnet.
  • Wenn die Verdrahtungskanäle und geeigneten Verbindungen von dem Anwender gemäß programmierbaren Schaltungselementen programmiert werden, dann wird die Logikbausteinschaltung als FPGA bezeichnet.
  • Es gibt im Wesentlichen zwei Konfigurationen von programmierbaren Schaltungselementen, die genutzt werden, um dem Anwender Flexibilität beim Programmieren des FPGA zu bieten. In der ersten Konfiguration, die zum Beispiel durch EI Gamal, et al. in dem U.S. Patent Nr. 4,758,745 offenbart wird, kann der FPGA von dem Anwender dauerhaft programmiert werden. In der zweiten Konfiguration, die zum Beispiel durch Freeman in dem U.S. Patent Nr. 4,870,302 offenbart wird, kann der FPGA von dem Anwender veränderlich programmiert werden.
  • Im Vergleich bietet ein maskenprogrammierbarer Logikbaustein höhere Funktionalität und Leistung und eine effizientere Platznutzung, während ein FPGA geringere Konstruktionskosten und größere Anwenderflexibilität bietet. Ferner kann ein maskenprogrammierbarer Logikbaustein eine Auswahl an I/O-Funktionen und häufig bei höherer Geschwindigkeit als ein FPGA bieten. Eine andere dedizierte Funktionsschaltung kann ebenfalls höhere Funktionalität und Leistung als ihre aus FPGA-Komponenten konfigurierte Entsprechung bieten.
  • Das Nebeneinanderbestehen eines FPGA und eines maskenprogrammierbaren Logikbausteins in einer Vorrichtung, die von dem Anwender programmiert werden kann, wird in dem technischen IBM-Offenbarungsbulletin, Band 38, Nr. 4, April 1995, Seite 499 XP002042363 „Mixture of Field and Factory Programmed Logic Cells in a Single Device", offenbart. Khan U.R. et al: „FPGA architectures for ASIC hardware emulators", ASIC Conference and Exhibit, 1993. Proceedings of the sixth annual IEEE International Conference, Rochester, NY, USA, 27. Sept. – 1. Okt. 1993, Seiten 336–340, XP010144144 ISBN: 0-7803-1375-5, offenbart die Verwendung von „Wegen mit geringem Laufzeitunterschied und hoher Ausgangslast" zum Verbessern der Datenwege in FPGAs.
  • Aufgaben und Vorteile der Erfindung
  • Demgemäß besteht eine Aufgabe der vorliegenden Erfindung darin, einen verbesserten FGA vorzusehen, der die Funktionalität, Leistung und Effizienz eines maskenprogrammierbaren Logikbausteins bieten kann, während die niedrigeren Konstruktionskosten und die Anwenderflexibilität eines FPGA erhalten bleiben.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, einen FPGA mit den von einem maskenprogrammierbaren Logikbaustein gebotenen verbesserten Eingangs-/Ausgangsfähigkeiten vorzusehen.
  • Eine noch andere Aufgabe der vorliegenden Erfindung besteht darin, die integrierte Schaltungstechnologie von FPGAs mit der eines anderer Funktionsschaltungsaufbaus auf dem gleichen integrierten Schaltungschip zu kombinieren.
  • Diese und viele andere Aufgaben und Vorteile der vorliegenden Erfindung werden für den Durchschnittsfachmann bei Heranziehen der Zeichnungen und der folgenden Beschreibung der Erfindung offensichtlich.
  • Kurzdarlegung der Erfindung
  • Erfindungsgemäß wird wie in Anspruch 1 beansprucht ein verbesserter FPGA offenbart. Ein Bereich eines integrierten Schaltungschips umfasst einen dedizierten Funktionsschaltungsaufbau oder maskenprogrammierbaren Schaltungsaufbau zum Vorsehen von kritischen Schaltungsfunktionen, die die unter Verwendung nur von vor Ort programmierbaren Herstellungsverfahren nicht angemessen oder kosteneffektiv. implementiert werden können.
  • Eine erfindungsgemäße integrierte FPGA-Schaltung umfasst mehrere Logikzellen oder Logikmodule, die in einer Anordnung oder Matrix platziert sind. Die Anordnung weist eine Gruppe von vertikalen Verdrahtungskanälen und eine Gruppe von horizontalen Verdrahtungskanälen auf, die von dem Anwender zum Verbinden der verschiedenen Logikzellen programmiert werden, um die erforderlichen Logikfunktionen zu implementieren.
  • Die Verbindungen zu den Verdrahtungskanälen werden von anwenderprogrammierbaren Verbindungselementen hergestellt, die an der Schnittstelle von beliebigen zwei zu verbindenden Drähten angeordnet sind. Zum Herstellen einer Verbindung wird das anwenderprogrammierbare Verbindungselement programmiert, was zu einer elektrischen Verbindung geringer Impedanz zwischen den beiden Drähten führt. Es können verschiedene Arten von anwenderprogrammierbaren Verbindungselementen wie Antifuses, Pass-Transistoren, Speicherelemente, nichtflüchtigem Speicher einschließlich Flash, EEPROMs und EPROMS, in der erfindungsgemäßen Architektur verwendet werden.
  • Um eine effizientere Nutzung der Verdrahtungskanäle zu bieten, werden mehrere dieser programmierbaren Elemente zum Segmentieren der vertikalen und horizontalen Kanäle in kürzere Drahtlängen verwendet. Diese Segmente können miteinander verbunden werden, um durch Programmieren der programmierbaren Elemente längere Drahtverbindungen zu bilden, oder können unverändert bleiben, um unabhängige Segment-Drahtlängen vorzusehen und das mehrfache Verwenden der gleichen Verdrahtungskanalposition für verschiedene Schaltungsverbindungen zu ermöglichen.
  • Der Programmierschaltungsaufbau ist typischerweise am Rand der Anordnung angeordnet. Programmier- und Anschlussflexibilitätsinformationen werden in die Programmierschaltung verschoben, und geeignete elektrische Spannungen werden zum Bewirken der erwünschten Verbindungsstrukturen angelegt. Die gleichen vertikalen und horizontalen Kanäle, die für Verdrahtungskanäle bei Normalbetrieb verwendet werden, können zum Programmieren der verschiedenen Verbindungen und zum Vorsehen eines vollständigen Tests der Anordnungsmodule und Verdrahtungswege verwendet werden. Alternativ kann ein direktes Programmieren einzelner Elemente durchgeführt werden. Die verschiedenen Schaltungen und Prozesse zum Programmieren von anwenderprogrammierbaren Verbindungselementen sind auf dem Gebiet gut bekannt und sind nicht Teil der vorliegenden Erfindung. Einzelheiten der Programmierung werden hier nicht erläutert, um ein unnötiges Komplizieren der Offenbarung zu vermeiden.
  • Die in dem FPGA-Bereich der Anordnung verwendeten Logikmodule können universelle Logikelemente sein, die bei der Implementierung von Direktzugriffslogikfunktionen, die durch die Verwendung ausgewählter anwenderprogrammierbarer Elemente festgelegt werden, sehr effizient sind. Der Durchschnittsfachmann wird erkennen, dass zahlreiche unterschiedliche Module zur Verfügung stehen.
  • Mindestens ein Bereich der Anordnung ist nicht von Logikmodulen belegt, sondern umfasst stattdessen einen anderen Schaltungsaufbau. In einer Ausführung der Erfindung umfasst der andere Schaltungsaufbau eine maskenprogrammierbare Schaltung, beispielsweise einen maskenprogrammierbaren Logikbaustein. Andere spezifische Ausführungen der Erfindung umfassen Schaltungen wie Analog-Blöcke (A/D, D/A, Spannungsreferenz, Operationsverstärker, Komparatoren, PLL, DPLL, DLL, Kristalloszillatoren), spezialisierte digitale Blöcke (SRAM, DRAM, ROM, PROM, EPROM, EEPROM, FIFO, Multiplexer, Mikroprozessoren, eingebettete Steuerungen, ALU, Gleitpunktprozessor, DSP, Feldrechner) und spezialisierte I/O-Funktionen (GTL, PECL, LVDS, Bus-Steuerungen für PCI, ISDA, EISA, RAMBUS, etc., Netzwerk-Sender-Empfänger, serielle Hochgeschwindigkeitsverbindungen).
  • Ein Schnittstellenschaltungsaufbau ermöglicht das Herstellen von Verbindungen zwischen der maskenprogrammierbaren Schaltung, den Logikmodulen in der Anordnung und einem I/O-Schaltungsaufbau, der an I/O-Kontaktstifte auf der integrierten Schaltung anbindet Nach einer Ausgestaltung der vorliegenden Erfindung sind eine oder mehrere Logikmodulstellen an oder nahe der Schnittstelle zwischen dem FPGA-Bereich und dem maskenprogrammierbaren Bereich der integrierten Schaltung durch Schnittstellenschaltungen zum Herstellen von Verbindungen zwischen dem FPGA-Bereich und dem maskenprogrammierbaren Bereich der integrierten Schaltung belegt.
  • Der Endnutzer wählt aus einem breiten Bereich an Funktionen und spezifiziert sie gegenüber dem Hersteller. Der Hersteller wiederum programmiert einige Funktionen mit Hilfe von maskenprogrammierbaren Verfahren in die integrierte Schaltung, wobei es dem Anwender überlassen bleibt, andere Funktionen unter Verwendung des vor Ort programmierbaren Bereichs der integrierten Schaltung in die integrierte Schaltung zu programmieren.
  • In einer erfindungsgemäßen Ausführung enthält der maskenprogrammierbare Bereich der integrierten Schaltung einen Logikbaustein zum Implementieren eines breiten Bereichs an Funktionen. Der maskenprogrammierbare Logikbaustein ist mittels eines Schaltungsschnittstellenbereichs der integrierten Schaltung mit dem FPGA verbunden. Die Schaltungsschnittstelle kann entweder maskenprogrammierbare oder vor Ort programmierbare Schaltungen zum Steuern und Verarbeiten der Signale enthalten, die von und zu sowohl dem maskenprogrammierbaren Logikbaustein als auch dem FPGA fließen. Der maskenprogrammierbare Logikbaustein, der FPGA und die Schaltungsschnittstelle sind alle mit einem I/O-Bereich der integrierten Schaltung verbunden. Der I/O-Bereich der integrierten Schaltung kann entweder maskenprogrammierbare oder vor Ort programmierbare Schaltungen zum Steuern und Verarbeiten der Signale enthalten, die von externen Quellen in die integrierte Schaltung fließen oder aus der integrierten Schaltung zu externen Quellen fließen.
  • In einer alternativen erfindungsgemäßen Ausführung enthält der maskenprogrammierbare Bereich der integrierten Schaltung I/O-Schaltungen zum Implementieren eines breiten Bereichs an Funktionen zum Steuern und Verarbeiten der Signale, die von externen Quellen in die integrierte Schaltung fließen oder aus der integrierten Schaltung zu externen Quellen fließen. Die maskenprogrammierbaren I/O-Schaltungen sind mittels eines Schaltungsschnittstellenbereichs der integrierten Schaltung mit dem FPGA verbunden. Die Schaltungsschnittstelle kann entweder maskenprogrammierbare oder vor Ort programmierbare Schaltungen zum Steuern und Verarbeiten der Signale enthalten, die von und zu dem FPGA fließen. Sowohl die Schaltungsschnittstelle als auch der FPGA können auch direkt Signale von externen Quellen erhalten oder Signale an diese senden.
  • Der Fachmann wird die allgemeine Anwendbarkeit des maskenprogrammierbaren verbesserten FPGA, der hierin offenbart wird, bei anderen Arten von Schaltungen, sowohl analog als auch digital, erkennen.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer bevorzugten erfindungsgemäßen Ausführung mit sowohl einem FPGA-Bereich als auch einem maskenprogrammierbaren Logikbausteinbereich.
  • 2 ist ein Blockdiagramm einer bevorzugten erfindungsgemäßen Ausführung einer Schnittstellenschaltung, die zwischen dem FPGA-Bereich, dem maskenprogrammierbaren Bereich und einem I/O-Treiber der integrierten Schaltung angeordnet ist.
  • 3 ist ein schematisches Diagramm einer derzeit bevorzugten Ausführung der Schnittstellenschaltung von 2.
  • 4 ist ein Blockdiagramm einer erfindungsgemäßen Ausführung mit sowohl einem FPGA-Bereich als auch einem maskenprogrammierbaren Logikbausteinbereich, wobei eine veranschaulichende I/O-Routing-Anordnung gezeigt wird.
  • Beschreibung der bevorzugten Ausführungen
  • Der Durchschnittsfachmann wird erkennen, dass die folgende Beschreibung der vorliegenden Erfindung lediglich veranschaulichend ist und in keiner Weise einschränkend sein soll. Für einen Fachmann sind andere Ausführungen der Erfindung bei Prüfung der enthaltenen Offenbarung nahe liegend.
  • Unter Bezug zunächst auf 1 wird ein Blockdiagramm einer bevorzugten Ausführung einer verbesserten integrierten FPGA-Schaltung 10 gezeigt. Die integrierte Schaltung 10 wird eine Reihe von Blöcken umfassend gezeigt. Die Anzahl, Größe und Position der Blöcke, die in 1 gezeigt werden, ist für die erfindungsgemäße Arbeitsweise nicht ausschlaggebend, und die in 1 gezeigte Anordnung dient nur dem Zweck der Veranschaulichung. Der Durchschnittsfachmann wird erkennen, dass eine großen Anzahl alternativer Implementierungen möglich sind, die innerhalb des Schutzumfangs der vorliegenden Erfindung enthalten sind.
  • Zunächst enthält die integrierte Schaltung 10 einen FPGA-Bereich 12. Der FPGA 12 umfasst eine Anordnung von Logikfunktionsmodulen und unspezifischen Verdrahtungskanälen, die miteinander und mit dem I/O der integrierten Schaltung 10 mittels anwenderprogrammierbarer Verbindungselemente verbindbar sind, wie auf dem Gebiet bekannt ist. Der Endanwender kann den FPGA 12 so konfigurieren, dass er einen breiten Bereich an Funktionen in der integrierten Schaltung 10 ausführt. Die verwendeten Verfahren zum Implementieren anwenderdefinierter Funktionen, die einen FPGA einsetzen, sind dem Durchschnittsfachmann gut bekannt und werden hierin nicht näher offenbart.
  • Zudem umfasst die integrierte Schaltung 10 Bereiche 14 und 16 anderen Schaltungsaufbaus. Zur Offenbarung der hierin offenbarten veranschaulichenden Ausführung ist der andere Schaltungsaufbau ein maskenprogrammierbarer Logikbaustein. Der Durchschnittsfachmann wird aus dieser Offenbarung erkennen, dass viele andere Arten von Schaltungsaufbau in den Bereichen 14 und 16 vorbehaltlich lediglich von Kompatibilität mit dem FPGA-Herstellungsprozess verwendet werden können. Die Anzahl anderer Arten von Schaltungsfunktionen, die in den Bereichen 14 und 16 eingesetzt werden könnten, ist somit praktisch unbegrenzt. Der Durchschnittsfachmann wird auch nachvollziehen, dass, auch wenn in dem Blockdiagramm von 1 zwei Bereiche 14 und 16 gezeigt werden, ein solcher Bereich oder mehr als zwei Bereiche in eine erfindungsgemäße integrierte Schaltung integriert werden könnten.
  • Die maskenprogrammierbaren Logikbausteine in den Bereichen 14 und 16 umfassen eine Anordnung von unspezifischen Toren mit unspezifischen Verdrahtungskanälen. Während der Herstellung werden diese Tore in den maskenprogrammierbaren Logikbausteinbereichen 14 und 16 miteinander verbunden, um beliebige Funktionen aus einem breiten Bereich von Funktionen in der integrierten Schaltung 10 zu implementieren. Die in die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 programmierten Funktionen werden im Allgemeinen von einem Anwender vorgegeben oder spiegeln eine Industrienorm wieder. Die zum Implementieren von Funktionen unter Verwendung eines maskenprogrammierbaren Logikbausteins verwendeten Verfahren sind dem Durchschnittsfachmann gut bekannt und werden hierin nicht weiter offenbart.
  • Die integrierte Schaltung 10 umfasst einen Schnittstellenbereich 18. Der Schnittstellenbereich 18 umfasst eine beliebige Anzahl und Auswahl an Elementen, die zwischen dem FPGA-Bereich 12, den maskenprogrammierbaren Logikbausteinbereichen 14 und 16 und dem I/O der integrierten Schaltung 10 eine Verbindung herstellen. Die Schaltungsschnittstellenelemente können so einfach wie eine Direktverbindung zwischen dem FPGA-Bereich 12 und den maskenprogrammierbaren Logikbausteinbereichen 14 und 16 oder so kompliziert wie ein Logikmodul sein, das die Verbindung zwischen dem FPGA-Bereich 12 und den maskenprogrammierbaren Logikbausteinbereichen 14 und 16 steuert und/oder konditioniert. Die Wahl von Schaltungsschnittstellenelementen wird im Allgemeinen durch die Natur des in den Bereichen 14 und 16 und in dem FPGA-Bereich 12 angeordneten Schaltungsaufbaus bestimmt. Die zum Implementieren der Schaltungsschnittstellenelemente verwendeten Verfahren werden zum Teil durch die zum Implementieren der Funktionen in dem FPGA 12 und dem maskenprogrammierbaren Logikbaustein 14 verwendeten Verfahren vorgegeben. Die zum Implementieren der Schaltungsschnittstellenelemente verwendeten Verfahren sind dem Durchschnittsfachmann gut bekannt und werden hierin nicht weiter offenbart.
  • Ein verteiltes Vorgehen wird bevorzugt für die Anordnung der I/O-Verbindungen an den Bereichen 14 und 16 durch die Matrix von Logikmodulen in der zum Konfigurieren des FPGA-Bereichs 12 der integrierten Schaltung 10 verwendeten Software-Bibliothek ergriffen. Bei manchen Implementierungen sind feste Positionen, d.h. Logikmodule, so definiert, dass sie so gleichmäßig, wie die Schaltungsanordnung es zulässt, mit den Bereichen 14 und 16 verbindbar sind.
  • Die integrierte Schaltung 10 umfasst auch einen I/O-Abschnitt 20. Der I/O-Abschnitt 20 sieht die erforderlichen Elemente zur Verbindung zwischen der integrierten Schaltung 10 und anderen Komponenten in einem externen System vor. Während der I/O-Abschnitt 20 an einer einzigen Stelle in dem Blockdiagramm von 1 gezeigt wird, wird der Durchschnittsfachmann erkennen, dass der I/O 20 für effiziente Nutzung über dem Bereich des Chips, auf dem die integrierte Schaltung 10 hergestellt ist, verteilt sein kann.
  • Die physikalische Verbindung mit dem externen Anwender wird durch Kontaktflecken 22a, 22b, 22c und 22d vorgesehen. Ein Durchschnittsfachmann wird erkennen, dass die Anzahl und Position der Kontaktflecken 22a, 22b, 22c und 22d je nach der bestimmen Anwendung, die für den erfindungsgemäßen Betrieb erforderlich ist, breit variieren kann.
  • Die Kontaktflecken 22a, 22b, 22c und 22d sind mit dem I/O-Abschnitt 20 verbunden. Der I/O-Abschnitt 20 ist mit der I/O-Schnittstelle 24 verbunden, die eine beliebige Anzahl und Auswahl an maskenprogrammierbaren und/oder vor Ort programmierbaren Elementen umfasst, die zwischen dem externen Anwender und einem oder allen aus: FPGA-Bereich 12, maskenprogrammierbaren Logikbausteinbereichen 14 und 16 und der an der integrierten Schaltung 10 befindlichen Schaltungsschnittstelle 18 eine Verbindung vorsieht. Die I/O-Schnittstellenelemente können so einfach wie eine Direktverbindung zwischen dem externen Anwender und der integrierten Schaltung 10 oder so kompliziert wie ein Logikmodul, das die Verbindung zwischen dem externen Anwender und der integrierten Schaltung 10 steuert und/oder konditioniert, sein. Die Wahl der I/O-Schnittstellenelemente wird im Allgemeinen von dem Anwender vorgegeben oder spiegelt eine Industrienorm wieder. Die zum Implementieren der I/O-Schnittstellenelemente verwendeten Verfahren sind dem Durchschnittsfachmann gut bekannt und werden hierin nicht weiter offenbart.
  • Die Leistungs- und Funktionalitätssteigerung des in 1 gezeigten maskenprogrammierbaren verbesserten FPGA ist solcher Art, dass ein breiter Anwendungsbereich möglich ist. Einige spezifische Anwendungen werden nun offenbart, sie stellen aber keineswegs den gesamten Umfang der Anwendungen dar, die innerhalb der vorliegenden Erfindung möglich sind.
  • Zum Beispiel können Dreizustandspuffer in die Schaltungsschnittstelle 18 entweder durch vor Ort programmierbare oder maskenprogrammierbare Verfahren programmiert werden. Diese Dreizustandspuffer können dann während eines Test- oder Normalbetriebs nach Bedarf zum Isolieren des FPGA-Bereichs 12 von dem maskenprogrammierbaren Logikbaustein 14 und/oder umgekehrt verwendet werden.
  • Alternativ können Transistoren wie Hochspannungs-Pass-Gates in die Schaltungsschnittstelle 18 programmiert und zur Isolierung verwendet werden. In jedem Fall kann der Zustand der Isolierung von dem externen Anwender durch den I/O-Abschnitt 20 durch gezieltes Ein- oder Ausschalten der Isolierung ermittelt werden.
  • Eine andere Nutzung für einen der maskenprogrammierbaren Logikbausteinbereiche 14 oder 16 besteht darin, ihn als Dechiffrierungsschaltung zu konfigurieren. Diese Dechiffrierungsschaltung empfängt verschlüsselte Konfigurationsdaten von dem externen Anwender, entschlüsselt diese Daten und leitet die entschlüsselten Daten weiter zum FPGA-Bereich 12. Der Durchschnittsfachmann wird erkennen, dass zu diesem Zweck der maskenprogrammierbare Logikbausteinbereich 14 oder 16 als eine von zahlreichen bekannten Dechiffrierungsschaltungen ausgelegt werden kann.
  • Wenn einer der maskenprogrammierbaren Logikbausteinbereiche 14 oder 16 als Dechiffrierungsschaltung ausgelegt wurde, wird der FPGA-Bereich 12 der integrierten Schaltung mit einer Konfigurationssteuerschaltung programmiert, die die entschlüsselten Konfigurationsdaten empfängt und sie zum Konfigurieren der programmierbaren Elemente des FPGA 12 nutzt, um die von dem externen Anwender gewünschte Funktion auszuführen. Auf diese Weise kann die Konfiguration des FPGA 12 mit Ausnahme der Personen, die die verschlüsselten Konfigurationsdaten erzeugt haben, vertraulich gehalten werden. Dies ist insbesondere nützlich, wenn der FPGA 12 eines der bekannten durch Anwender umprogrammierbaren Verbindungselemente einsetzt.
  • Die Fähigkeit zum Umprogrammieren der veränderlich programmierbaren Schaltungselemente in dem FPGA 12 ist eine andere Nutzung, wofür die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 programmiert werden können. Zunächst ermöglicht dies das Ändern einer von dem FPGA-Bereich 12 ausgeführten Funktion basierend auf festgelegten Kriterien. Zum anderen ermöglicht dies das Programmieren des FPGA-Bereichs 12 in solcher Art, dass eine von dem maskenprogrammierbaren Logikbaustein 14 ausgeführte Funktion geändert wird.
  • Zusätzlich zum Umprogrammieren des FPGA 12 können die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 mit einer eingebauten Testfolge zum Testen des FPGA 12 auf Anweisung des externen Anwenders oder automatisch bei Start programmiert werden. Dem Durchschnittsfachmann sind zahlreiche Testschaltungen dieser Art bekannt.
  • Die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 können auch eingesetzt werden, um eine standardisierte Schnittstelle zwischen dem externen Anwender und dem FPGA 12 vorzusehen. Zunächst können die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 Busschnittstellenfunktionen wie PCI, VME oder USB ausführen. Zum anderen können die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 Funktionen eines lokalen Netzwerks (LAN) wie Ethernet, Frame Relay und ATM ausführen.
  • Eine andere Nutzung für einen der maskenprogrammierbaren Logikbausteinbereiche 14 und 16 ist das Auslegen als Mikroprozessor oder eingebettete Steuerung, in Form einer der zahlreichen beliebten Bauarten, die in der Industrie zum Einsatz kommen.
  • Erfindungsgemäß ist der FPGA 12 mit einer hohen Ausgangslast programmiert, die maskenprogrammierbaren Logikbausteinbereiche 14 und 16 sind mit einem Takttreiber mit hohem Antrieb und geringem Laufzeitunterschied programmiert. Takttreiberstufen mit geringem Laufzeitunterschied sind auf dem Gebiet gut bekannt.
  • Der zum Erzeugen und Programmieren des in 1 gezeigten maskenprogrammierbaren verbesserten FPGA verwendete Prozess beruht auf einer Kombination von Verfahren, die dem Durchschnittsfachmann gut bekannt sind. Der allgemeine Prozess wird nachstehend umrissen.
  • Zunächst wird der allgemeine Bedarf ermittelt, dem die integrierte Schaltung 10 entsprechen soll. Dies kann ausschließlich auf Spezifikationen, die von einem Anwender oder einer Anwendergruppe geliefert werden, oder auf einer Entscheidung, die allein vom Hersteller beruhend auf Marktanalyse getroffen wird, beruhen.
  • Als Nächstes legt der Hersteller die Einzelheiten der integrierten Schaltung 10 fest, wobei er sicherstellt, dass so viel Flexibilität wie möglich zugestanden wird. Dies umfasst das Auswählen der relativen Größen der Blöcke der integrierten Schaltung 10 und der Logikschaltungen, die in jedem Block zur Verfügung stehen. Dann fertigt der Hersteller die integrierte Schaltung 10 und programmiert mit Hilfe von maskenprogrammierbaren Verfahren einige Funktionen in die integrierte Schaltung 10. Diese Funktionen können so einfach wie eine Verbindung oder so kompliziert wie eine Standardschnittfläche oder ein Mikroprozessor sein.
  • Die integrierte Schaltung 10 wird dann entweder zum Anwender geliefert, der mit Hilfe der anwenderprogrammierbaren Verbindungselemente zusätzliche Funktionen in die integrierte Schaltung 10 programmiert. Der Durchschnittsfachmann wird erkennen, dass der Schritt des Maskenprogrammierens entsprechend individuellen Anwenderspezifikationen ausgeführt werden könnte. Das Ergebnis der Programmierung ist eine integrierte Schaltung 10, die eine Schaltung enthält, die eine verbesserte, vom Anwender festgelegte Funktion ausführt.
  • Wenn die integrierte Schaltung 10 umkonfigurierbare anwenderprogrammierbare Elemente umfasst, kann die Endkonfiguration der integrierten Schaltung entweder durch den Hersteller oder durch den Anwender geändert werden, und die sich ergebende Funktion kann ebenfalls geändert werden. Dies führt zu einer flexibleren integrierten Schaltung.
  • Nach einer anderen Ausgestaltung der vorliegenden Erfindung können die Bereiche 14 und 16 so programmiert werden, dass sie durch deren Konfigurieren in einer aus einer Reihe vorab festgelegter Betriebsarten arbeiten. In einer Programmierbetriebsart können ein oder mehrere I/O-Kontaktstifte der integrierten Schaltung zum Konfigurieren der Funktion der Bereiche 14 und 16 verwendet werden. In einer Betriebsart können diese I/O-Kontaktstifte für normale I/O-Funktionen verwendet werden. Den I/O-Kontaktstiften duale Funktionen zuzuweisen ist auf dem Gebiet gut bekannt.
  • Zudem können die Bereiche 14 und 16 deaktiviert werden, was einen Verkauf der integrierten Schaltung allein als FPGA ermöglicht. Wenn diese Bereiche von der Programmiersoftware als nicht vorhanden erkannt werden, erscheint kein Schaltungsaufbau in der die integrierte Schaltung beschreibenden Verbindungsliste.
  • Unter Bezug nun auf 2 wird ein Blockdiagramm einer bevorzugten Ausführung einer erfindungsgemäßen Schnittstellenschaltung 30 zur Verwendung zwischen dem FPGA-Bereich 12, einem der maskenprogrammierbaren Bereiche 14 oder 16 und einem I/O-Treiber 32 der integrierten Schaltung dargestellt. Die Schnittstellenschaltung 30 kann für jeden I/O-Kontaktstift 34 verwendet werden, der direkten Zugriff auf die maskenprogrammierbaren Bereiche 14 oder 16 hat.
  • Der I/O-Pad 34 wird abhängig davon, ob der I/O-Pad 34 als Eingang oder als Ausgang der integrierten Schaltung 10 dient, von der Padtreiberschaltung 32 angesteuert oder steuert diese an. Wie für den Durchschnittsfachmann ersichtlich ist, umfasst die Padtreiberschaltung 32 einen bidirektionalen Puffer mit einem Eingangspuffer 38 und einem Ausgangspuffer 40, der für drei Zustände ausgelegt ist. Die drei Signalleitungen, die der Padtreiberschaltung 32 zugeordnet sind, sind die Padeingangsleitung (PI) 42, die Padausgangsleitung (PO) 44 und die Padaktivierungsleitung (PE) 46. Die PI-Leitung 42 befördert Eingangssignale vom Ausgang des Eingangspuffers 38, die PO-Leitung 44 befördert Ausgangssignale zum Eingang des Ausgangspuffers 40 und die PE-Leitung 46 ist die Dreizustandssteuerung für den Ausgangspuffer 40. Die Arbeitsweise der Padtreiberschaltung 32 ist auf dem Gebiet gut bekannt.
  • Erfindungsgemäß sieht die Schnittstellenschaltung 30 eine Möglichkeit vor, die Padtreiberschaltung 32 mit sowohl dem FPGA-Bereich 12 als auch den maskenprogrammierbaren Bereichen 14 oder 16 der integrierten Schaltung 10 kommunizieren zu lassen. Jeder von FPGA-Bereich 12 und maskenprogrammierbaren Bereichen 14 oder 16 weist drei ihm zugeordnete Signalleitungen auf. Der FPGA-Bereich 12 hat eine Signaleingangsleitung (FI) 48, eine Signalsausgangsleitung (FO) 50 und eine Signalaktivierungsleitung (FE) 52. Die FI-Leitung 48 befördert Eingangssignale in den FPGA-Bereich 12, die FO-Leitung 50 befördert Ausgangssignale von dem FPGA-Bereich 12 und die PE-Leitung 52 ist eine Dreizustandsteuerleitung. Die maskenprogrammierbaren Bereiche 14 und 16 haben drei ihnen zugeordnete Signalleitungen: die Signaleingangsleitung (GI) 54, die Signalausgangsleitung (GO) 56 und die Signalaktivierungsleitung (GE) 58. Die GI-Leitung 54 befördert Eingangssignale in den maskenprogrammierbaren Bereich 14 oder 16, die GO-Leitung 56 befördert Ausgangssignale von dem maskenprogrammierbaren Bereich 14 oder 16 und die GE-Leitung 58 ist eine Dreizustandsteuerleitung. Der Durchschnittsfachmann wird erkennen, dass eine Schnittstelle 30 für jeden I/O der integrierten Schaltung 10 vorgesehen werden kann.
  • Unter Bezug nun auf 3 wird ein schematisches Diagramm einer derzeit bevorzugten Ausführung der Schnittstellenschaltung 30 von 2 dargestellt. Ein erster Multiplexer 60 weist einen von einem Steuersignal Q0 angesteuerten Steuereingang, einen von dem FE-Signal angesteuerten ersten Dateneingang, einen von dem GE-Eingangssignal angesteuerten zweiten Dateneingang und einen das PE-Signal darstellenden Ausgang auf. Ein zweiter Multiplexer 62 weist einen von einem Steuersignal Q0 angesteuerten Steuereingang, einen von dem FO-Signal angesteuerten ersten Dateneingang, einen von dem GO-Eingangssignal angesteuerten zweiten Dateneingang und einen das PO-Signal darstellenden Ausgang auf. Ein dritter Multiplexer 64 weist einen Steuereingang, einen von dem PI-Signal angesteuerten ersten Dateneingang, einen von dem GO-Eingangssignal angesteuerten zweiten Dateneingang und einen das FI-Signal darstellenden Ausgang auf. Ein vierter Multiplexer 66 weist einen Steuereingang, einen von dem PI-Signal angesteuerten ersten Dateneingang, einen von dem FO-Eingangssignal angesteuerten zweiten Dateneingang und einen das GI-Signal darstellenden Ausgang auf.
  • Die ersten bis vierten Multiplexer 6, 62, 64 und 66 werden bevorzugt mit Hilfe von Dreizustandspuffern statt Pass-Transistoren gebildet. Die Verwendung dieser Dreizustandspuffer ermöglicht das Ansteuern langer Leitungen.
  • Ein fünfter Multiplexer 68 weist einen von einem Steuersignal Q1 angesteuerten Steuereingang, einen von dem PE-Signal angesteuerten ersten Dateneingang, einen von einem Steuersignal Q2 angesteuerten zweiten Dateneingang und einen den Steuereingang des dritten Multiplexers 64 ansteuernden Ausgang auf. Ein sechster Multiplexer 70 weist einen von einem Steuersignal Q3 angesteuerten Steuereingang, einen von dem PE-Signal angesteuerten ersten Dateneingang, einen von dem Q4-Eingangssignal angesteuerten zweiten Dateneingang und einen den Steuereingang des vierten Multiplexers 66 ansteuernden Ausgang auf.
  • Das Steuer-Bit QO ermöglicht es entweder dem FPGA-Bereich 12 oder dem maskenprogrammierbaren Bereich 14 oder 16, den für drei Zustände ausgelegten Ausgangspuffer 40 zu steuern, indem entweder die FO- oder FE-Leitungen oder die GO- und GE-Leitungen als Quelle für die PO- bzw. PE-Leitungen gewählt werden.
  • Die Steuer-Bits Q1 und Q2 ermöglichen das Beliefern des FI-Eingangs zum FPGA-Bereich 12 durch entweder das GO- oder das PI-Signal. Wenn Q1 = 1, ist die Auswahl abhängig vom Zustand des Q2-Steuerbits statisch. Wenn Q1 = 0, ist die FI-Quellenwahl abhängig vom Wert von PE dynamisch. Dies ist nützlich, wenn Q0 = 1 (d.h. der maskenprogrammierbare Logikbausteinbereich 14 oder 16 ist zum Steuern des in drei Zuständen auslegbaren Ausgangspuffers 40 programmiert), da es dem FPGA-Bereich 12 das Überwachen externer Daten, die mittels des Eingangspuffers 38 und PI in die integrierte Schaltung gebracht werden können, wenn der in drei Zuständen auslegbare Ausgangspuffer 40 deaktiviert ist (PE = 0), und das Überwachen interner Daten, die die integrierte Schaltung mittels GO und des in drei Zuständen auslegbaren Ausgangspuffers 40 verlassen können, wenn er aktiviert ist (PE = 1), ermöglicht.
  • In ähnlicher Weise ermöglichen die Steuer-Bits Q3 und Q4 ermöglichen das Beliefern des GI-Eingangs zum maskenprogrammierbaren Logikbausteinbereich 12 durch entweder das FO- oder das PI-Signal. Wenn Q3 = 1, ist die Auswahl abhängig vom Zustand des Q4-Steuerbits statisch. Wenn Q3 = 0, ist die GI-Quellenwahl abhängig vom Wert von PE dynamisch. Dies ist nützlich, wenn Q0 = 0 (d.h. der FPGA-Bereich 12 ist zum Steuern des in drei Zuständen auslegbaren Ausgangspuffers 40 programmiert), da es dem maskenprogrammierbaren Bereich 14 oder 16 das Überwachen externer Daten, die mittels des Eingangspuffers 38 und PI in die integrierte Schaltung gebracht werden können, wenn der in drei Zuständen auslegbare Ausgangspuffer 40 deaktiviert ist (PE = 0), und das Überwachen interner Daten, die die integrierte Schaltung mittels FO und des in drei Zuständen auslegbaren Ausgangspuffers 40 verlassen können, wenn er aktiviert ist (PE = 1), ermöglicht.
  • Die Q0- bis Q4-Steuerbits können durch anwenderprogrammierbare Verbindungselemente gesteuert werden, die während der FPGA-Vorrichtungsprogrammierung durch den Endanwender gezielt programmiert werden können. Zum Beispiel kann jeder der Q0- bis Q4-Knoten separat aktiv oder passiv hochgezogen werden, sofern er nicht durch Programmieren eines diesem zugeordneten anwenderprogrammierbaren Verbindungselements nach unten gezogen wird.
  • Somit wird der Knoten QO veranschaulichend mit VDD durch eine Hochziehvorrichtung 72 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer 74 angezeigter Kreis gezeigt wird. Der Knoten Q1 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung 76 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer 78 angezeigter Kreis gezeigt wird. Der Knoten Q2 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung 80 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer 82 angezeigter Kreis gezeigt wird. Der Knoten Q3 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung 84 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer 86 angezeigter Kreis gezeigt wird. Der Knoten Q4 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung 88 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer 90 angezeigter Kreis gezeigt wird.
  • Die Tabellen 1 und 2 sind Wahrheitstabellen, die die Arbeitsweise der Schnittstelle 30 erklären TABELLE 1: FI-ARBEITSWEISE
    QO Q1 Q2 ANMERKUNGEN
    0 0 0 Nicht verwendet
    0 0 1 Nicht verwendet
    0 1 0 FPGA-Eingang FI immer von I/O-Pad-Eingang PI
    0 1 1 FPGA-Eingang FI immer von Logikbausteinausgang GO
    1 0 0 Dreizustandssignal, gesteuert von Logikbaustein; FPGA überwacht GO, wenn Ausgang, PI, wenn Eingang
    1 0 1 Nicht verwendet
    1 1 0 FPGA-Eingang FI immer von I/O-Pad-Eingang PI
    1 1 1 FPGA-Eingang FI immer von Logikbausteinausgang GO
    TABELLE 2: GI-ARBEITSWEISE
    QO Q3 Q4 ANMERKUNGEN
    0 0 0 Dreizustandssignal, gesteuert von Logikbaustein; FPGA überwacht GO, wenn Ausgang, PI, wenn Eingang
    0 0 1 Nicht verwendet
    0 1 0 Logikbausteineingang Glimmer von I/O-Pad-Eingang PI
    0 1 1 Logikbausteineingang Glimmer von FPGA-Ausgang FO
    1 0 0 Nicht verwendet
    1 0 1 Nicht verwendet
    1 1 0 Logikbausteineingang Glimmer von I/O-Pad-Eingang PI
    1 1 1 Logikbausteineingang Glimmer von FPGA-Ausgang FO
  • Die Steuersignale QO bis Q4 können ebenfalls von Registern gesteuert werden, um die Signalwegdefinitionen als Funktion von Zeit zu ändern, wie auf dem Gebiet bekannt ist.
  • 4 ist ein Blockdiagramm einer bevorzugten Ausführung einer erfindungsgemäßen integrierten Schaltung 100 mit sowohl einem FPGA-Bereich 102 als auch einem anderen Schaltungsbereich 104, der zum Beispiel ein maskenprogrammierbarer Logikbausteinbereich sein kann. 4 zeigt eine andere veranschaulichende I/O-Routing-Anordnung zur Verwendung in der vorliegenden Erfindung.
  • Um den Umfang des integrierten Schaltungschips sind mehrere I/O-Pads 106a bis 106j angeordnet, wie auf dem Gebiet bekannt ist. Der Durchschnittsfachmann wird erkennen, dass (in 4 nicht dargestellte) I/O-Puffer vorgesehen werden können.
  • Zudem sind mehrere Verdrahtungskanäle an der integrierten Schaltung angeordnet. Jeder Verdrahtungskanal umfasst mehrere Verbindungsleiter. Mehrere dieser Verdrahtungskanäle werden in 4 sowohl in horizontaler als auch vertikaler Richtung angeordnet gezeigt. Der Durchschnittsfachmann wird aber erkennen, dass viel mehr Verdrahtungskanäle, als in 4 gezeigt werden, typischerweise in einer integrierten Schaltung vorhanden sind, die nach der Lehre der vorliegenden Erfindung gebaut ist.
  • Zum Beispiel werden drei horizontale Verdrahtungskanäle gezeigt. Der oberste horizontale Verdrahtungskanal umfasst Verbindungsleiter 108a bis 108d. Der mittlere horizontale Verdrahtungskanal umfasst Verbindungsleiter 110a bis 110d. Der untere horizontale Verdrahtungskanal umfasst Verbindungsleiter 112a bis 112d.
  • Zudem werden in 4 zwei vertikale Verdrahtungskanäle gezeigt. Der äußerste linke vertikale Verdrahtungskanal umfasst Verbindungsleiter 114a bis 114d. Der äußerste rechte vertikale Verdrahtungskanal umfasst Verbindungsleiter 116a bis 116d.
  • Wenngleich dies in der Figur nicht gezeigt wird, wird der Durchschnittsfachmann nachvollziehen, dass die Verbindungsleiter unterschiedliche Längen aufweisen können. Einige erstrecken sich über die volle Länge (oder Breite) der Anordnung, und einige sind in mindestens zwei Segmente unterteilt, um die Verbindungsfähigkeit der integrierten Schaltung 100 zu maximieren.
  • Nach der in 4 gezeigten Ausgestaltung der Erfindung sind einige der I/O-Pads 106a bis 106j mit Verbindungsleitern festverdrahtet und einige sind mit den Verbindungsleitern programmierbar verbindbar. Die I/O-Pads 106a, 106c, 106f, 106h und 106j sind mit den Verbindungsleitern 108a, 116d, 112b, 112a bzw. 114d festverdrahtet. Die I/O-Pads 106b, 106d, 106e, 106g und 106i sind mit jedem der Verbindungsleiter in den Verdrahtungskanälen, die ihre Leiter schneiden, programmierbar verbindbar. Zum Beispiel ist I/O-Pad 106b mit einem der Verbindungsleiter 108a bis 108d mittels einzelner anwenderprogrammierbarer Verbindungselemente verbindbar, die an den Bereichen, an denen der I/O-Pad die Verbindungsleiter schneidet, als kleine Kreise gezeigt werden.
  • Zudem sind die einzelnen Verbindungsleiter beim Schneiden von Verdrahtungskanälen mittels einzelner anwenderprogrammierbarer Verbindungselemente, die als kleine Kreise an den Bereichen gezeigt werden, an denen sich die Verbindungsleiter schneiden, miteinander programmierbar verbindbar.
  • Zum Beispiel sind die Verbindungsleiter 108a bis 108d mit jedem der Verbindungsleiter 114a bis 114d oder einem der Verbindungsleiter 116a bis 116d programmierbar verbindbar.
  • Die Eingänge und Ausgänge einzelner Logikfunktionsmodule in dem FPGA-Bereich 102 der integrierten Schaltung 100 sind mit den Verbindungsleitern in der gleichen, vorstehend beschriebenen Weise programmierbar verbindbar. Veranschaulichende Eingänge oder Ausgänge 118, 120, 122, 124, 126, 128 und 130 werden gezeigt, wie sie die verschiedenen Verdrahtungskanäle schneiden, und werden mit darin enthaltenen einzelnen Verbindungsleitern mittels anwenderprogrammierbarer Verbindungselemente, die als kleine Kreise gezeigt werden, verbindbar gezeigt.
  • Die Eingänge und Ausgänge des anderen Schaltungsbereichs 104 der integrierten Schaltung 100 haben zwei Arten von Verbindungsfähigkeit zu den I/O-Pads 106a bis 106j. Der Eingang/Ausgang 132 ist zum Beispiel mit einem Verbindungsleiter 112b festverdrahtet, der mit dem I/O-Pad 106f festverdrahtet ist. Der Eingang/Ausgang 134 ist mit einem beliebigen der Verbindungsleiter 112a bis 112d programmierbar verbindbar und somit auch mit dem I/O-Pad 106e mittels anwenderprogrammierbarer Verbindungselemente programmierbar verbindbar.
  • Die Eingang/die Ausgänge 136 und 138 des anderen Schaltungsbereichs 104 sind mit den Verbindungsleitern 110a bzw. 110d festverdrahtet, und der Eingang/die Ausgänge 140 und 142 des anderen Schaltungsbereichs 104 sind mit einem beliebigen der Verbindungsleiter 110a bis 110d programmierbar verbindbar, alle mittels anwenderprogrammierbarer Verbindungselemente.
  • Während veranschaulichende Ausführungen und Anwendungen dieser Erfindung gezeigt und beschrieben wurden, wäre für einen Durchschnittsfachmann offensichtlich, dass viel mehr Abwandlungen, als vorstehend erwähnt wurden, möglich sind, ohne von den hierin dargelegten erfinderischen Konzepten abzuweichen.

Claims (1)

  1. Integrierte Schaltungsanordnung mit mehreren Bereichen, welche umfasst: mindestens einen vor Ort programmierbaren Logikbausteinbereich; mindestens einen maskenprogrammierbaren Logikbausteinbereich; mindestens einen Schnittstellenbereich der Schaltung, welcher Kommunikation zwischen dem mindestens einen vor Ort programmierbaren Logikbausteinbereich und dem mindestens einen maskenprogrammierbaren Logikbausteinbereich vorsieht; und mindestens einen Eingangs-/Ausgangsbereich zum Vorsehen von Eingabe/Ausgabe zur integrierten Schaltungsanordnung, dadurch gekennzeichnet, dass der mindestens eine vor Ort programmierbare Logikbausteinbereich mit hoher Ausgangslast zu programmieren ist und dass der mindestens eine maskenprogrammierbare Logikbausteinbereich zum Anschließen an die hohe Ausgangslast mit einer Takttreiberstufe mit hohem Antrieb und geringem Laufzeitunterschied zu programmieren ist.
DE69838462T 1997-02-28 1998-02-03 Verbesserte feldprogrammierbare Gatteranordnung Expired - Lifetime DE69838462T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US807455 1997-02-28
US08/807,455 US6150837A (en) 1997-02-28 1997-02-28 Enhanced field programmable gate array

Publications (2)

Publication Number Publication Date
DE69838462D1 DE69838462D1 (de) 2007-10-31
DE69838462T2 true DE69838462T2 (de) 2008-06-12

Family

ID=25196411

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69838462T Expired - Lifetime DE69838462T2 (de) 1997-02-28 1998-02-03 Verbesserte feldprogrammierbare Gatteranordnung
DE69813974T Expired - Lifetime DE69813974T2 (de) 1997-02-28 1998-02-03 Programmierbares gatterfeld mit erhöhter leistung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69813974T Expired - Lifetime DE69813974T2 (de) 1997-02-28 1998-02-03 Programmierbares gatterfeld mit erhöhter leistung

Country Status (6)

Country Link
US (6) US6150837A (de)
EP (5) EP0901716B1 (de)
JP (1) JP3926398B2 (de)
KR (1) KR100491662B1 (de)
DE (2) DE69838462T2 (de)
WO (1) WO1998038741A1 (de)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
DE19654846A1 (de) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6150837A (en) * 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US5874834A (en) * 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US7389487B1 (en) * 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6356637B1 (en) * 1998-09-18 2002-03-12 Sun Microsystems, Inc. Field programmable gate arrays
US6311316B1 (en) * 1998-12-14 2001-10-30 Clear Logic, Inc. Designing integrated circuit gate arrays using programmable logic device bitstreams
US6762621B1 (en) * 1998-12-31 2004-07-13 Actel Corporation Programmable multi-standard I/O architecture for FPGAs
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
WO2000052825A1 (en) 1999-03-04 2000-09-08 Altera Corporation Interconnection resources for programmable logic integrated circuit devices
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
US6625787B1 (en) * 1999-08-13 2003-09-23 Xilinx, Inc. Method and apparatus for timing management in a converted design
US6552410B1 (en) 1999-08-31 2003-04-22 Quicklogic Corporation Programmable antifuse interfacing a programmable logic and a dedicated device
AU1409901A (en) * 1999-11-16 2001-05-30 Aladdin Knowledge Systems Ltd. Preventing unauthorized use of active content generator software
US6519753B1 (en) * 1999-11-30 2003-02-11 Quicklogic Corporation Programmable device with an embedded portion for receiving a standard circuit design
US6769109B2 (en) 2000-02-25 2004-07-27 Lightspeed Semiconductor Corporation Programmable logic array embedded in mask-programmed ASIC
US6694491B1 (en) * 2000-02-25 2004-02-17 Lightspeed Semiconductor Corporation Programmable logic array embedded in mask-programmed ASIC
US6803785B1 (en) * 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
EP1170868B1 (de) * 2000-07-04 2008-08-27 Sun Microsystems, Inc. Anwenderprogrammierbare Gatterfelder (FPGA) und Verfahren zur Bearbeitung von FPGA-Konfigurationsdaten
US6476636B1 (en) * 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US7055125B2 (en) 2000-09-08 2006-05-30 Lightspeed Semiconductor Corp. Depopulated programmable logic array
US6628140B2 (en) * 2000-09-18 2003-09-30 Altera Corporation Programmable logic devices with function-specific blocks
EP1417590A2 (de) * 2000-10-02 2004-05-12 Altera Corporation (a Delaware Corporation) Programmierbare logische integrierte schaltung mit spezifischen prozessorkomponenten
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7024653B1 (en) * 2000-10-30 2006-04-04 Cypress Semiconductor Corporation Architecture for efficient implementation of serial data communication functions on a programmable logic device (PLD)
US7380131B1 (en) 2001-01-19 2008-05-27 Xilinx, Inc. Copy protection without non-volatile memory
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US6650140B2 (en) * 2001-03-19 2003-11-18 Altera Corporation Programmable logic device with high speed serial interface circuitry
US6605962B2 (en) * 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
JP3485106B2 (ja) * 2001-05-11 2004-01-13 セイコーエプソン株式会社 集積回路装置
JP2002368727A (ja) * 2001-06-04 2002-12-20 Nec Corp 半導体集積回路
GB2376321B (en) * 2001-06-08 2005-04-20 Hewlett Packard Co Electronic interface device
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US6633182B2 (en) 2001-09-05 2003-10-14 Carnegie Mellon University Programmable gate array based on configurable metal interconnect vias
US7191339B1 (en) * 2001-09-10 2007-03-13 Xilinx, Inc. System and method for using a PLD identification code
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US6747479B1 (en) * 2001-12-05 2004-06-08 Cypress Semiconductor Corp. Interface scheme for connecting a fixed circuitry block to a programmable logic core
US6646466B1 (en) * 2001-12-05 2003-11-11 Cypress Semiconductor Corp. Interface scheme for connecting a fixed circuitry block to a programmable logic core
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
ATE402446T1 (de) 2002-02-18 2008-08-15 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US6886143B1 (en) * 2002-03-29 2005-04-26 Altera Corporation Method and apparatus for providing clock/buffer network in mask-programmable logic device
US6693454B2 (en) * 2002-05-17 2004-02-17 Viasic, Inc. Distributed RAM in a logic array
US6873185B2 (en) * 2002-06-19 2005-03-29 Viasic, Inc. Logic array devices having complex macro-cell architecture and methods facilitating use of same
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7782398B2 (en) * 2002-09-04 2010-08-24 Chan Thomas M Display processor integrated circuit with on-chip programmable logic for implementing custom enhancement functions
US7480010B2 (en) * 2002-09-04 2009-01-20 Denace Enterprise Co., L.L.C. Customizable ASIC with substantially non-customizable portion that supplies pixel data to a mask-programmable portion in multiple color space formats
US7202908B2 (en) * 2002-09-04 2007-04-10 Darien K. Wallace Deinterlacer using both low angle and high angle spatial interpolation
US7346876B2 (en) * 2002-09-04 2008-03-18 Darien K. Wallace ASIC having dense mask-programmable portion and related system development method
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US20040267520A1 (en) * 2003-06-27 2004-12-30 Roderick Holley Audio playback/recording integrated circuit with filter co-processor
US8352724B2 (en) * 2003-07-23 2013-01-08 Semiconductor Energy Laboratory Co., Ltd. Microprocessor and grid computing system
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7521960B2 (en) * 2003-07-31 2009-04-21 Actel Corporation Integrated circuit including programmable logic and external-device chip-enable override control
US6990010B1 (en) 2003-08-06 2006-01-24 Actel Corporation Deglitching circuits for a radiation-hardened static random access memory based programmable architecture
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7112991B1 (en) * 2003-12-24 2006-09-26 Altera Corporation Extended custom instructions
DE602005014446D1 (de) * 2004-02-12 2009-06-25 Nxp Bv Tung mit io-verbindungen
US7081771B2 (en) * 2004-02-20 2006-07-25 Lattice Semiconductor Corporation Upgradeable and reconfigurable programmable logic device
CA2462497A1 (en) * 2004-03-30 2005-09-30 Dspfactory Ltd. Method and system for data logging in a listening device
US7138824B1 (en) 2004-05-10 2006-11-21 Actel Corporation Integrated multi-function analog circuit including voltage, current, and temperature monitor and gate-driver circuit blocks
US7478355B2 (en) * 2004-05-21 2009-01-13 United Microelectronics Corp. Input/output circuits with programmable option and related method
US7135888B1 (en) * 2004-07-22 2006-11-14 Altera Corporation Programmable routing structures providing shorter timing delays for input/output signals
US8566616B1 (en) * 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US20060080632A1 (en) * 2004-09-30 2006-04-13 Mathstar, Inc. Integrated circuit layout having rectilinear structure of objects
US7334208B1 (en) 2004-11-09 2008-02-19 Viasic, Inc. Customization of structured ASIC devices using pre-process extraction of routing information
US7116181B2 (en) * 2004-12-21 2006-10-03 Actel Corporation Voltage- and temperature-compensated RC oscillator circuit
US7119398B1 (en) 2004-12-22 2006-10-10 Actel Corporation Power-up and power-down circuit for system-on-a-chip integrated circuit
US7446378B2 (en) * 2004-12-29 2008-11-04 Actel Corporation ESD protection structure for I/O pad subject to both positive and negative voltages
JP4450737B2 (ja) * 2005-01-11 2010-04-14 富士通株式会社 半導体集積回路
US7919979B1 (en) * 2005-01-21 2011-04-05 Actel Corporation Field programmable gate array including a non-volatile user memory and method for programming
US7627291B1 (en) * 2005-01-21 2009-12-01 Xilinx, Inc. Integrated circuit having a routing element selectively operable to function as an antenna
US20070247189A1 (en) * 2005-01-25 2007-10-25 Mathstar Field programmable semiconductor object array integrated circuit
JPWO2006115212A1 (ja) * 2005-04-21 2008-12-18 松下電器産業株式会社 アルゴリズム更新システム
US7716497B1 (en) 2005-06-14 2010-05-11 Xilinx, Inc. Bitstream protection without key storage
KR101299420B1 (ko) 2005-09-30 2013-08-29 프리스케일 세미컨덕터, 인크. Nicam 프로세서
US7653448B2 (en) * 2005-09-30 2010-01-26 Freescale Semiconductor, Inc. NICAM processing method
US7538574B1 (en) 2005-12-05 2009-05-26 Lattice Semiconductor Corporation Transparent field reconfiguration for programmable logic devices
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US7378868B2 (en) * 2006-01-19 2008-05-27 Altera Corporation Modular I/O bank architecture
US7375549B1 (en) 2006-02-09 2008-05-20 Lattice Semiconductor Corporation Reconfiguration of programmable logic devices
US20070203596A1 (en) * 2006-02-28 2007-08-30 Accel Semiconductor Corporation Fm transmission
US7459931B1 (en) 2006-04-05 2008-12-02 Lattice Semiconductor Corporation Programmable logic devices with transparent field reconfiguration
US7554358B1 (en) 2006-04-05 2009-06-30 Lattice Semiconductor Corporation Programmable logic devices with user non-volatile memory
US7570078B1 (en) 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US7378873B1 (en) 2006-06-02 2008-05-27 Lattice Semiconductor Corporation Programmable logic device providing a serial peripheral interface
US7495970B1 (en) * 2006-06-02 2009-02-24 Lattice Semiconductor Corporation Flexible memory architectures for programmable logic devices
JP2008016663A (ja) * 2006-07-06 2008-01-24 Sharp Corp 再構成可能な集積回路デバイス
JP4932369B2 (ja) * 2006-07-27 2012-05-16 ローム株式会社 音声信号増幅回路およびそれを用いたオーディオ装置ならびにボリウム切換方法
US7378874B2 (en) * 2006-08-31 2008-05-27 Viasic, Inc. Creating high-drive logic devices from standard gates with minimal use of custom masks
US8018248B2 (en) * 2006-09-21 2011-09-13 Quicklogic Corporation Adjustable interface buffer circuit between a programmable logic device and a dedicated device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7508231B2 (en) 2007-03-09 2009-03-24 Altera Corporation Programmable logic device having redundancy with logic element granularity
US7456653B2 (en) * 2007-03-09 2008-11-25 Altera Corporation Programmable logic device having logic array block interconnect lines that can interconnect logic elements in different logic blocks
US7692309B2 (en) * 2007-09-06 2010-04-06 Viasic, Inc. Configuring structured ASIC fabric using two non-adjacent via layers
US20090144595A1 (en) * 2007-11-30 2009-06-04 Mathstar, Inc. Built-in self-testing (bist) of field programmable object arrays
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US20100277201A1 (en) * 2009-05-01 2010-11-04 Curt Wortman Embedded digital ip strip chip
US8547135B1 (en) 2009-08-28 2013-10-01 Cypress Semiconductor Corporation Self-modulated voltage reference
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
DE102010033780A1 (de) 2010-08-09 2012-02-09 Volkswagen Ag Integrierte Schaltungseinheit
US8418006B1 (en) 2010-12-07 2013-04-09 Xilinx, Inc. Protecting a design for an integrated circuit using a unique identifier
US8427193B1 (en) 2010-12-07 2013-04-23 Xilinx, Inc. Intellectual property core protection for integrated circuits
US8386990B1 (en) 2010-12-07 2013-02-26 Xilinx, Inc. Unique identifier derived from an intrinsic characteristic of an integrated circuit
US8686753B1 (en) * 2011-04-08 2014-04-01 Altera Corporation Partial reconfiguration and in-system debugging
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9007243B2 (en) * 2012-09-05 2015-04-14 IQ-Analog Corporation System and method for customizing data converters from universal function dice
US9553590B1 (en) 2012-10-29 2017-01-24 Altera Corporation Configuring programmable integrated circuit device resources as processing elements
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9634667B2 (en) 2014-08-29 2017-04-25 Cypress Semiconductor Corporation Integrated circuit device with programmable analog subsystem
US9473144B1 (en) 2014-11-25 2016-10-18 Cypress Semiconductor Corporation Integrated circuit device with programmable analog subsystem
US10452392B1 (en) 2015-01-20 2019-10-22 Altera Corporation Configuring programmable integrated circuit device resources as processors
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
WO2020144758A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 秘密計算装置及びクライアント装置

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195352A (en) * 1977-07-08 1980-03-25 Xerox Corporation Split programmable logic array
US4415818A (en) 1979-01-16 1983-11-15 Nippon Telegraph & Telephone Corp. Programmable sequential logic circuit devices
JPS58500096A (ja) 1981-01-16 1983-01-13 ジョンソン,ロバ−ト・ロイス 広範囲な相互接続サブストレ−ト
US4458163A (en) * 1981-07-20 1984-07-03 Texas Instruments Incorporated Programmable architecture logic
US4527115A (en) * 1982-12-22 1985-07-02 Raytheon Company Configurable logic gate array
JPS6050940A (ja) * 1983-08-31 1985-03-22 Toshiba Corp 半導体集積回路
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4774421A (en) * 1984-05-03 1988-09-27 Altera Corporation Programmable logic array device using EPROM technology
US4713792A (en) * 1985-06-06 1987-12-15 Altera Corporation Programmable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits
US4803162A (en) 1984-05-15 1989-02-07 Fluorodiagnostic Limited Partners Composition, article and process for detecting a microorganism
US4609986A (en) * 1984-06-14 1986-09-02 Altera Corporation Programmable logic array device using EPROM technology
US4933577A (en) * 1985-03-22 1990-06-12 Advanced Micro Devices, Inc. Output circuit for a programmable logic array
US4684830A (en) * 1985-03-22 1987-08-04 Monolithic Memories, Inc. Output circuit for a programmable logic array
US4742252A (en) * 1985-03-29 1988-05-03 Advanced Micro Devices, Inc. Multiple array customizable logic device
US4963768A (en) * 1985-03-29 1990-10-16 Advanced Micro Devices, Inc. Flexible, programmable cell array interconnected by a programmable switch matrix
US5225719A (en) * 1985-03-29 1993-07-06 Advanced Micro Devices, Inc. Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix
US5151623A (en) * 1985-03-29 1992-09-29 Advanced Micro Devices, Inc. Programmable logic device with multiple, flexible asynchronous programmable logic blocks interconnected by a high speed switch matrix
US4677318A (en) * 1985-04-12 1987-06-30 Altera Corporation Programmable logic storage element for programmable logic devices
US4691161A (en) * 1985-06-13 1987-09-01 Raytheon Company Configurable logic gate array
US4718057A (en) * 1985-08-30 1988-01-05 Advanced Micro Devices, Inc. Streamlined digital signal processor
US4638187A (en) * 1985-10-01 1987-01-20 Vtc Incorporated CMOS output buffer providing high drive current with minimum output signal distortion
US4771285A (en) * 1985-11-05 1988-09-13 Advanced Micro Devices, Inc. Programmable logic cell with flexible clocking and flexible feedback
US4758747A (en) * 1986-05-30 1988-07-19 Advanced Micro Devices, Inc. Programmable logic device with buried registers selectively multiplexed with output registers to ports, and preload circuitry therefor
JP2546228B2 (ja) * 1985-12-20 1996-10-23 株式会社日立製作所 選択回路
US4772811A (en) * 1986-07-04 1988-09-20 Ricoh Company, Ltd. Programmable logic device
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5367208A (en) 1986-09-19 1994-11-22 Actel Corporation Reconfigurable programmable interconnect architecture
US5015885A (en) * 1986-09-19 1991-05-14 Actel Corporation Reconfigurable programmable interconnect architecture
US4857774A (en) * 1986-09-19 1989-08-15 Actel Corporation Testing apparatus and diagnostic method for use with programmable interconnect architecture
US5451887A (en) 1986-09-19 1995-09-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5172014A (en) * 1986-09-19 1992-12-15 Actel Corporation Programmable interconnect architecture
US5187393A (en) * 1986-09-19 1993-02-16 Actel Corporation Reconfigurable programmable interconnect architecture
US4721868A (en) * 1986-09-23 1988-01-26 Advanced Micro Devices, Inc. IC input circuitry programmable for realizing multiple functions from a single input
US4983959A (en) * 1986-10-01 1991-01-08 Texas Instruments Incorporated Logic output macrocell
US4969121A (en) * 1987-03-02 1990-11-06 Altera Corporation Programmable integrated circuit logic array device having improved microprocessor connectability
US4783606A (en) * 1987-04-14 1988-11-08 Erich Goetting Programming circuit for programmable logic array I/O cell
US4928023A (en) * 1987-08-27 1990-05-22 Texas Instruments Incorporated Improved output buffer having reduced noise characteristics
US5165166A (en) * 1987-09-29 1992-11-24 Microelectronics And Computer Technology Corporation Method of making a customizable circuitry
US5068603A (en) * 1987-10-07 1991-11-26 Xilinx, Inc. Structure and method for producing mask-programmed integrated circuits which are pin compatible substitutes for memory-configured logic arrays
US4847612A (en) 1988-01-13 1989-07-11 Plug Logic, Inc. Programmable logic device
US5023484A (en) * 1988-09-02 1991-06-11 Cypress Semiconductor Corporation Architecture of high speed synchronous state machine
US4987319A (en) 1988-09-08 1991-01-22 Kawasaki Steel Corporation Programmable input/output circuit and programmable logic device
IT1225638B (it) * 1988-12-28 1990-11-22 Sgs Thomson Microelectronics Dispositivo logico integrato come una rete di maglie di memorie distribuite
US4912345A (en) * 1988-12-29 1990-03-27 Sgs-Thomson Microelectronics, Inc. Programmable summing functions for programmable logic devices
US4930097A (en) * 1988-12-30 1990-05-29 Intel Corporation Architecture for an improved performance of a programmable logic device
US5083293A (en) * 1989-01-12 1992-01-21 General Instrument Corporation Prevention of alteration of data stored in secure integrated circuit chip memory
US4933898A (en) * 1989-01-12 1990-06-12 General Instrument Corporation Secure integrated circuit chip with conductive shield
US4952934A (en) * 1989-01-25 1990-08-28 Sgs-Thomson Microelectronics S.R.L. Field programmable logic and analogic integrated circuit
US4940909A (en) * 1989-05-12 1990-07-10 Plus Logic, Inc. Configuration control circuit for programmable logic devices
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5457409A (en) 1992-08-03 1995-10-10 Advanced Micro Devices, Inc. Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices
US5644496A (en) 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5489857A (en) 1992-08-03 1996-02-06 Advanced Micro Devices, Inc. Flexible synchronous/asynchronous cell structure for a high density programmable logic device
US5231588A (en) * 1989-08-15 1993-07-27 Advanced Micro Devices, Inc. Programmable gate array with logic cells having symmetrical input/output structures
US5212652A (en) 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5377124A (en) 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5027011A (en) * 1989-10-31 1991-06-25 Sgs-Thomson Microelectronics, Inc. Input row drivers for programmable logic devices
US4978905A (en) * 1989-10-31 1990-12-18 Cypress Semiconductor Corp. Noise reduction output buffer
US5448493A (en) * 1989-12-20 1995-09-05 Xilinx, Inc. Structure and method for manually controlling automatic configuration in an integrated circuit logic block array
US5028821A (en) * 1990-03-01 1991-07-02 Plus Logic, Inc. Programmable logic device with programmable inverters at input/output pads
DE4008791A1 (de) * 1990-03-19 1991-09-26 Slt Lining Technology Gmbh Anordnung zur abdeckung geneigter schuettstoffflaechen
US5140193A (en) * 1990-03-27 1992-08-18 Xilinx, Inc. Programmable connector for programmable logic device
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5045726A (en) * 1990-05-16 1991-09-03 North American Philips Corporation Low power programming circuit for user programmable digital logic array
US5085885A (en) * 1990-09-10 1992-02-04 University Of Delaware Plasma-induced, in-situ generation, transport and use or collection of reactive precursors
DE69133311T2 (de) 1990-10-15 2004-06-24 Aptix Corp., San Jose Verbindungssubstrat mit integrierter Schaltung zur programmierbaren Verbindung und Probenuntersuchung
JPH0714024B2 (ja) * 1990-11-29 1995-02-15 川崎製鉄株式会社 マルチチップモジュール
US5166557A (en) * 1991-01-02 1992-11-24 Texas Instruments Incorporated Gate array with built-in programming circuitry
US5107146A (en) 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
US5416367A (en) 1991-03-06 1995-05-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5220213A (en) * 1991-03-06 1993-06-15 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5313119A (en) * 1991-03-18 1994-05-17 Crosspoint Solutions, Inc. Field programmable gate array
US5384499A (en) 1991-04-25 1995-01-24 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
US5557136A (en) 1991-04-26 1996-09-17 Quicklogic Corporation Programmable interconnect structures and programmable integrated circuits
US5701027A (en) 1991-04-26 1997-12-23 Quicklogic Corporation Programmable interconnect structures and programmable integrated circuits
US5191242A (en) * 1991-05-17 1993-03-02 Advanced Micro Devices, Inc. Programmable logic device incorporating digital-to-analog converter
US5153462A (en) * 1991-05-21 1992-10-06 Advanced Micro Devices, Inc. Programmable logic device incorporating voltage comparator
EP0518701A3 (en) 1991-06-14 1993-04-21 Aptix Corporation Field programmable circuit module
US5221865A (en) 1991-06-21 1993-06-22 Crosspoint Solutions, Inc. Programmable input/output buffer circuit with test capability
US5187392A (en) * 1991-07-31 1993-02-16 Intel Corporation Programmable logic device with limited signal swing
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
US5883850A (en) 1991-09-03 1999-03-16 Altera Corporation Programmable logic array integrated circuits
US5550782A (en) 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US5260610A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5633830A (en) 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5576554A (en) 1991-11-05 1996-11-19 Monolithic System Technology, Inc. Wafer-scale integrated circuit interconnect structure architecture
DE69226150T2 (de) * 1991-11-05 1999-02-18 Hsu Fu Chieh Redundanzarchitektur für Schaltungsmodul
JPH07502377A (ja) * 1991-12-18 1995-03-09 クロスポイント・ソルーションズ・インコーポレイテッド フィールドプログラマブルゲートアレイのための拡張アーキテクチャ
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5254886A (en) * 1992-06-19 1993-10-19 Actel Corporation Clock distribution scheme for user-programmable logic array architecture
US5646547A (en) 1994-04-28 1997-07-08 Xilinx, Inc. Logic cell which can be configured as a latch without static one's problem
EP0584910B1 (de) 1992-08-03 1996-09-04 Advanced Micro Devices, Inc. Programmierbare logische Vorrichtung
US5490042A (en) * 1992-08-10 1996-02-06 Environmental Research Institute Of Michigan Programmable silicon circuit board
AU4798793A (en) 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5317698A (en) 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
US5404033A (en) * 1992-08-20 1995-04-04 Swift Microelectronics Corporation Application specific integrated circuit and placement and routing software with non-customizable first metal layer and vias and customizable second metal grid pattern
US5432388A (en) 1992-08-27 1995-07-11 At&T Global Information Solutions Company Repeatedly programmable logic array using dynamic access memory
US5432708A (en) 1992-10-08 1995-07-11 Aptix Corporation Multichip module integrated circuit device having maximum input/output capability
GB9223226D0 (en) 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5414638A (en) * 1992-12-18 1995-05-09 Aptix Corporation Programmable interconnect architecture
US5452229A (en) * 1992-12-18 1995-09-19 Lattice Semiconductor Corporation Programmable integrated-circuit switch
US5301143A (en) * 1992-12-31 1994-04-05 Micron Semiconductor, Inc. Method for identifying a semiconductor die using an IC with programmable links
US5357153A (en) 1993-01-28 1994-10-18 Xilinx, Inc. Macrocell with product-term cascade and improved flip flop utilization
US5424589A (en) * 1993-02-12 1995-06-13 The Board Of Trustees Of The Leland Stanford Junior University Electrically programmable inter-chip interconnect architecture
GB9303084D0 (en) 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
JPH06243677A (ja) 1993-02-19 1994-09-02 Hitachi Ltd 半導体記憶装置とメモリ装置及びその品種設定方法
US5329181A (en) * 1993-03-05 1994-07-12 Xilinx, Inc. Complementary macrocell feedback circuit
US5550839A (en) 1993-03-12 1996-08-27 Xilinx, Inc. Mask-programmed integrated circuits having timing and logic compatibility to user-configured logic arrays
US5317212A (en) * 1993-03-19 1994-05-31 Wahlstrom Sven E Dynamic control of configurable logic
JPH06275718A (ja) * 1993-03-19 1994-09-30 Toshiba Corp ゲートアレイ回路
US5311080A (en) 1993-03-26 1994-05-10 At&T Bell Laboratories Field programmable gate array with direct input/output connection
US5349249A (en) * 1993-04-07 1994-09-20 Xilinx, Inc. Programmable logic device having security elements located amongst configuration bit location to prevent unauthorized reading
US5381058A (en) * 1993-05-21 1995-01-10 At&T Corp. FPGA having PFU with programmable output driver inputs
US5444394A (en) * 1993-07-08 1995-08-22 Altera Corporation PLD with selective inputs from local and global conductors
US5402014A (en) * 1993-07-14 1995-03-28 Waferscale Integration, Inc. Peripheral port with volatile and non-volatile configuration
US5447167A (en) * 1993-07-27 1995-09-05 Fleischaker; William J. Hand pressure level threshold sensor
EP0665998A4 (de) 1993-08-03 1996-06-12 Xilinx Inc Fpga-schaltkreis mit mikroprozessor.
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5457644A (en) 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
US5488317A (en) * 1993-10-22 1996-01-30 Texas Instruments Incorporated Wired logic functions on FPGA's
US5563592A (en) 1993-11-22 1996-10-08 Altera Corporation Programmable logic device having a compressed configuration file and associated decompression
US5394031A (en) * 1993-12-08 1995-02-28 At&T Corp. Apparatus and method to improve programming speed of field programmable gate arrays
JPH09509797A (ja) * 1993-12-13 1997-09-30 ラティス・セミコンダクター・コーポレイション プログラマブル論理デバイスに於ける特定用途向けモジュール
US5563526A (en) 1994-01-03 1996-10-08 Texas Instruments Incorporated Programmable mixed-mode integrated circuit architecture
US5742179A (en) 1994-01-27 1998-04-21 Dyna Logic Corporation High speed programmable logic architecture
US5572409A (en) 1994-02-08 1996-11-05 Prolinx Labs Corporation Apparatus including a programmable socket adapter for coupling an electronic component to a component socket on a printed circuit board
US5590305A (en) 1994-03-28 1996-12-31 Altera Corporation Programming circuits and techniques for programming logic
US5504439A (en) 1994-04-01 1996-04-02 Xilinx, Inc. I/O interface cell for use with optional pad
US5469473A (en) 1994-04-15 1995-11-21 Texas Instruments Incorporated Transceiver circuit with transition detection
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
US5424655A (en) 1994-05-20 1995-06-13 Quicklogic Corporation Programmable application specific integrated circuit employing antifuses and methods therefor
US5600267A (en) 1994-06-24 1997-02-04 Cypress Semiconductor Corporation Apparatus for a programmable CML to CMOS translator for power/speed adjustment
US5559465A (en) 1994-07-29 1996-09-24 Cypress Semiconductor Corporation Output preconditioning circuit with an output level latch and a clamp
US5426379A (en) * 1994-07-29 1995-06-20 Xilinx, Inc. Field programmable gate array with built-in bitstream data expansion
JPH0869447A (ja) 1994-08-31 1996-03-12 Toshiba Corp データ処理装置
US5548228A (en) 1994-09-28 1996-08-20 Altera Corporation Reconfigurable programmable logic device having static and non-volatile memory
US5761099A (en) 1994-11-04 1998-06-02 Altera Corporation Programmable logic array integrated circuits with enhanced carry routing
US5559447A (en) 1994-11-17 1996-09-24 Cypress Semiconductor Output buffer with variable output impedance
US5583749A (en) 1994-11-30 1996-12-10 Altera Corporation Baseboard and daughtercard apparatus for reconfigurable computing systems
US5577050A (en) 1994-12-28 1996-11-19 Lsi Logic Corporation Method and apparatus for configurable build-in self-repairing of ASIC memories design
US5581199A (en) 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
GB2297409B (en) 1995-01-27 1998-08-19 Altera Corp Programmable logic devices
US5493239A (en) * 1995-01-31 1996-02-20 Motorola, Inc. Circuit and method of configuring a field programmable gate array
US5537341A (en) 1995-02-10 1996-07-16 Jonathan Rose Complementary architecture for field-programmable gate arrays
US5566123A (en) 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
US5642262A (en) 1995-02-23 1997-06-24 Altera Corporation High-density programmable logic device in a multi-chip module package with improved interconnect scheme
US5847577A (en) 1995-02-24 1998-12-08 Xilinx, Inc. DRAM memory cell for programmable logic devices
US5581198A (en) 1995-02-24 1996-12-03 Xilinx, Inc. Shadow DRAM for programmable logic devices
US5572148A (en) 1995-03-22 1996-11-05 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5570040A (en) 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5751162A (en) 1995-04-06 1998-05-12 Texas Instruments Incorporated Field programmable gate array logic module configurable as combinational or sequential circuits
US5530378A (en) 1995-04-26 1996-06-25 Xilinx, Inc. Cross point interconnect structure with reduced area
US5563528A (en) 1995-05-02 1996-10-08 Xilinx, Inc. Multiplexer for programmable logic device
US5600597A (en) 1995-05-02 1997-02-04 Xilinx, Inc. Register protection structure for FPGA
US5850564A (en) 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
US5543730A (en) 1995-05-17 1996-08-06 Altera Corporation Techniques for programming programmable logic array devices
US5625301A (en) 1995-05-18 1997-04-29 Actel Corporation Flexible FPGA input/output architecture
US5640106A (en) 1995-05-26 1997-06-17 Xilinx, Inc. Method and structure for loading data into several IC devices
US5646546A (en) 1995-06-02 1997-07-08 International Business Machines Corporation Programmable logic cell having configurable gates and multiplexers
US5652529A (en) 1995-06-02 1997-07-29 International Business Machines Corporation Programmable array clock/reset resource
US5521529A (en) 1995-06-02 1996-05-28 Advanced Micro Devices, Inc. Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation
US5671432A (en) 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5646544A (en) 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US5568081A (en) 1995-06-07 1996-10-22 Cypress Semiconductor, Corporation Variable slew control for output buffers
JP3736855B2 (ja) 1995-07-10 2006-01-18 ジーリンクス インコーポレイテッド フィールドプログラマブル・ゲートアレイ及びインテリジェント・メモリを含んでいるシステム
US5559450A (en) 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
US5754826A (en) * 1995-08-04 1998-05-19 Synopsys, Inc. CAD and simulation system for targeting IC designs to multiple fabrication processes
US5581501A (en) 1995-08-17 1996-12-03 Altera Corporation Nonvolatile SRAM cells and cell arrays
US5583450A (en) 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
US5701441A (en) 1995-08-18 1997-12-23 Xilinx, Inc. Computer-implemented method of optimizing a design in a time multiplexed programmable logic device
US5838954A (en) 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US5646545A (en) 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5600263A (en) 1995-08-18 1997-02-04 Xilinx, Inc. Configuration modes for a time multiplexed programmable logic device
US5565793A (en) 1995-08-22 1996-10-15 Altera Corporation Programmable logic array integrated circuit devices with regions of enhanced interconnectivity
US5661685A (en) 1995-09-25 1997-08-26 Xilinx, Inc. Programmable logic device with configurable power supply
US5642058A (en) 1995-10-16 1997-06-24 Xilinx , Inc. Periphery input/output interconnect structure
US5600264A (en) 1995-10-16 1997-02-04 Xilinx, Inc. Programmable single buffered six pass transistor configuration
US5594367A (en) 1995-10-16 1997-01-14 Xilinx, Inc. Output multiplexer within input/output circuit for time multiplexing and high speed logic
US5815004A (en) 1995-10-16 1998-09-29 Xilinx, Inc. Multi-buffered configurable logic block output lines in a field programmable gate array
US5880492A (en) 1995-10-16 1999-03-09 Xilinx, Inc. Dedicated local line interconnect layout
US5583452A (en) 1995-10-26 1996-12-10 Xilinx, Inc. Tri-directional buffer
US5687235A (en) * 1995-10-26 1997-11-11 Novell, Inc. Certificate revocation performance optimization
US5650734A (en) 1995-12-11 1997-07-22 Altera Corporation Programming programmable transistor devices using state machines
US5594690A (en) 1995-12-15 1997-01-14 Unisys Corporation Integrated circuit memory having high speed and low power by selectively coupling compensation components to a pulse generator
US5914906A (en) 1995-12-20 1999-06-22 International Business Machines Corporation Field programmable memory array
US5760602A (en) 1996-01-17 1998-06-02 Hewlett-Packard Company Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA
US5870586A (en) 1996-01-31 1999-02-09 Xilinx, Inc. Configuration emulation of a programmable logic device
US5635851A (en) 1996-02-02 1997-06-03 Xilinx, Inc. Read and writable data bus particularly for programmable logic devices
US5737766A (en) 1996-02-14 1998-04-07 Hewlett Packard Company Programmable gate array configuration memory which allows sharing with user memory
US5744980A (en) 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US5835998A (en) 1996-04-04 1998-11-10 Altera Corporation Logic cell for programmable logic devices
US5687325A (en) 1996-04-19 1997-11-11 Chang; Web Application specific field programmable gate array
US5847441A (en) 1996-05-10 1998-12-08 Micron Technology, Inc. Semiconductor junction antifuse circuit
US5825201A (en) 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US5828538A (en) 1996-06-21 1998-10-27 Quicklogic Corporation Power-up circuit for field programmable gate arrays
US5859544A (en) 1996-09-05 1999-01-12 Altera Corporation Dynamic configurable elements for programmable logic devices
US5881245A (en) * 1996-09-10 1999-03-09 Digital Video Systems, Inc. Method and apparatus for transmitting MPEG data at an adaptive data rate
US5880597A (en) 1996-09-18 1999-03-09 Altera Corporation Interleaved interconnect for programmable logic array devices
US5825202A (en) 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US5883526A (en) 1997-04-17 1999-03-16 Altera Corporation Hierarchical interconnect for programmable logic devices
US5828230A (en) 1997-01-09 1998-10-27 Xilinx, Inc. FPGA two turn routing structure with lane changing and minimum diffusion area
US5880598A (en) 1997-01-10 1999-03-09 Xilinx, Inc. Tile-based modular routing resources for high density programmable logic device
US5821776A (en) 1997-01-31 1998-10-13 Actel Corporation Field programmable gate array with mask programmed analog function circuits
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US6751723B1 (en) * 2000-09-02 2004-06-15 Actel Corporation Field programmable gate array and microcontroller system-on-a-chip
US6825690B1 (en) * 2003-05-28 2004-11-30 Actel Corporation Clock tree network in a field programmable gate array
US6838902B1 (en) * 2003-05-28 2005-01-04 Actel Corporation Synchronous first-in/first-out block memory for a field programmable gate array
US7385419B1 (en) * 2003-05-30 2008-06-10 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array

Also Published As

Publication number Publication date
DE69838462D1 (de) 2007-10-31
EP1237280A2 (de) 2002-09-04
EP1237281A2 (de) 2002-09-04
US7382155B2 (en) 2008-06-03
US20050081177A1 (en) 2005-04-14
EP1237281A3 (de) 2005-08-03
EP1229652A3 (de) 2005-08-03
WO1998038741A1 (en) 1998-09-03
EP1229652A2 (de) 2002-08-07
US6791353B1 (en) 2004-09-14
DE69813974D1 (de) 2003-06-05
US20110234258A1 (en) 2011-09-29
DE69813974T2 (de) 2003-11-06
EP0901716B1 (de) 2003-05-02
EP0901716A1 (de) 1999-03-17
US6150837A (en) 2000-11-21
JP3926398B2 (ja) 2007-06-06
KR20000065061A (ko) 2000-11-06
US20100244894A1 (en) 2010-09-30
EP1229651A2 (de) 2002-08-07
US8258811B2 (en) 2012-09-04
US7755386B2 (en) 2010-07-13
US7977970B2 (en) 2011-07-12
US20080197878A1 (en) 2008-08-21
EP1229651A3 (de) 2005-08-03
EP1237280B1 (de) 2007-09-19
KR100491662B1 (ko) 2005-09-27
JP2000509948A (ja) 2000-08-02
EP1237280A3 (de) 2005-08-17

Similar Documents

Publication Publication Date Title
DE69838462T2 (de) Verbesserte feldprogrammierbare Gatteranordnung
DE69534812T2 (de) Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration
DE69631351T2 (de) ASIC-Busstruktur auf Basis von Multiplexern
EP0202456B1 (de) In integrierter Technik hergestellter Logik-Array-Baustein
DE60025196T2 (de) Heterogenes programmierbares gatterfeld
DE69924486T2 (de) Spezielle schnittstellenarchitektur für eine hybride schaltung
DE60222513T2 (de) Programmierbare schnelle Eingangs-/Ausgangsschnittstelle
DE60128960T2 (de) Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE3645224C2 (de)
DE10313926A1 (de) Halbleiterbauelement mit einem auf Zellen beruhenden Grundelementaggregat, welches ein vorspringendes Teil in einem aktiven Gebiet aufweist
WO2005036750A1 (de) Konfigurierbare logikschaltungsanordnung
DE60027899T2 (de) System und verfahren zur unabhängigen versorgungsfolge integrierter schaltungen
DE69534659T2 (de) Architektur und Verbindungsmodel für programmierbare logische Schaltungen
DE60012639T2 (de) Verbindungsressourcen für programmierbare logische integrierte schaltungen
DE69934551T2 (de) Sende-Empfangstreiber mit programmierbarer Flankensteilheit unabhängig vom Herstellungsverfahren , der Speisespannung und der Temperatur
CN109075793A (zh) 用来减小可编程逻辑器件中结构化多路选择器占用空间并提高其良率的系统和方法
DE102005023911A1 (de) Halbleiterschaltungsvorrichtung und Verfahren zum Betreiben der Halbleiterschaltvorrichtung
DE10347975A1 (de) Einrichtung der programmierbaren Logik
DE69630352T2 (de) Programmierbarer schalter für eingangs-/ausgangssignale eines anwenderprogrammierbaren gatterfeldes
DE3641452C1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
EP0244605B1 (de) In integrierter Technik hergestellter Logik-Array-Baustein zur Erstellung integrierter Schaltungen
DE10047574A1 (de) Prozessorbusanordnung
DE102005023119A1 (de) Maskenprogrammierbares Logikmakro
JPH058576B2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition