DE69838462T2 - Verbesserte feldprogrammierbare Gatteranordnung - Google Patents
Verbesserte feldprogrammierbare Gatteranordnung Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17768—Structural details of configuration resources for security
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
- H03K19/1736—Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural 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 demU.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 von2 . -
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-Schaltung10 gezeigt. Die integrierte Schaltung10 wird eine Reihe von Blöcken umfassend gezeigt. Die Anzahl, Größe und Position der Blöcke, die in1 gezeigt werden, ist für die erfindungsgemäße Arbeitsweise nicht ausschlaggebend, und die in1 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-Bereich12 . Der FPGA12 umfasst eine Anordnung von Logikfunktionsmodulen und unspezifischen Verdrahtungskanälen, die miteinander und mit dem I/O der integrierten Schaltung10 mittels anwenderprogrammierbarer Verbindungselemente verbindbar sind, wie auf dem Gebiet bekannt ist. Der Endanwender kann den FPGA12 so konfigurieren, dass er einen breiten Bereich an Funktionen in der integrierten Schaltung10 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 Bereiche14 und16 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 Bereichen14 und16 vorbehaltlich lediglich von Kompatibilität mit dem FPGA-Herstellungsprozess verwendet werden können. Die Anzahl anderer Arten von Schaltungsfunktionen, die in den Bereichen14 und16 eingesetzt werden könnten, ist somit praktisch unbegrenzt. Der Durchschnittsfachmann wird auch nachvollziehen, dass, auch wenn in dem Blockdiagramm von1 zwei Bereiche14 und16 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 und16 umfassen eine Anordnung von unspezifischen Toren mit unspezifischen Verdrahtungskanälen. Während der Herstellung werden diese Tore in den maskenprogrammierbaren Logikbausteinbereichen14 und16 miteinander verbunden, um beliebige Funktionen aus einem breiten Bereich von Funktionen in der integrierten Schaltung10 zu implementieren. Die in die maskenprogrammierbaren Logikbausteinbereiche14 und16 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 Schnittstellenbereich18 . Der Schnittstellenbereich18 umfasst eine beliebige Anzahl und Auswahl an Elementen, die zwischen dem FPGA-Bereich12 , den maskenprogrammierbaren Logikbausteinbereichen14 und16 und dem I/O der integrierten Schaltung10 eine Verbindung herstellen. Die Schaltungsschnittstellenelemente können so einfach wie eine Direktverbindung zwischen dem FPGA-Bereich12 und den maskenprogrammierbaren Logikbausteinbereichen14 und16 oder so kompliziert wie ein Logikmodul sein, das die Verbindung zwischen dem FPGA-Bereich12 und den maskenprogrammierbaren Logikbausteinbereichen14 und16 steuert und/oder konditioniert. Die Wahl von Schaltungsschnittstellenelementen wird im Allgemeinen durch die Natur des in den Bereichen14 und16 und in dem FPGA-Bereich12 angeordneten Schaltungsaufbaus bestimmt. Die zum Implementieren der Schaltungsschnittstellenelemente verwendeten Verfahren werden zum Teil durch die zum Implementieren der Funktionen in dem FPGA12 und dem maskenprogrammierbaren Logikbaustein14 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 und16 durch die Matrix von Logikmodulen in der zum Konfigurieren des FPGA-Bereichs12 der integrierten Schaltung10 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 Bereichen14 und16 verbindbar sind. - Die integrierte Schaltung
10 umfasst auch einen I/O-Abschnitt20 . Der I/O-Abschnitt20 sieht die erforderlichen Elemente zur Verbindung zwischen der integrierten Schaltung10 und anderen Komponenten in einem externen System vor. Während der I/O-Abschnitt20 an einer einzigen Stelle in dem Blockdiagramm von1 gezeigt wird, wird der Durchschnittsfachmann erkennen, dass der I/O20 für effiziente Nutzung über dem Bereich des Chips, auf dem die integrierte Schaltung10 hergestellt ist, verteilt sein kann. - Die physikalische Verbindung mit dem externen Anwender wird durch Kontaktflecken
22a ,22b ,22c und22d vorgesehen. Ein Durchschnittsfachmann wird erkennen, dass die Anzahl und Position der Kontaktflecken22a ,22b ,22c und22d je nach der bestimmen Anwendung, die für den erfindungsgemäßen Betrieb erforderlich ist, breit variieren kann. - Die Kontaktflecken
22a ,22b ,22c und22d sind mit dem I/O-Abschnitt20 verbunden. Der I/O-Abschnitt20 ist mit der I/O-Schnittstelle24 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-Bereich12 , maskenprogrammierbaren Logikbausteinbereichen14 und16 und der an der integrierten Schaltung10 befindlichen Schaltungsschnittstelle18 eine Verbindung vorsieht. Die I/O-Schnittstellenelemente können so einfach wie eine Direktverbindung zwischen dem externen Anwender und der integrierten Schaltung10 oder so kompliziert wie ein Logikmodul, das die Verbindung zwischen dem externen Anwender und der integrierten Schaltung10 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-Bereichs12 von dem maskenprogrammierbaren Logikbaustein14 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-Abschnitt20 durch gezieltes Ein- oder Ausschalten der Isolierung ermittelt werden. - Eine andere Nutzung für einen der maskenprogrammierbaren Logikbausteinbereiche
14 oder16 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-Bereich12 . Der Durchschnittsfachmann wird erkennen, dass zu diesem Zweck der maskenprogrammierbare Logikbausteinbereich14 oder16 als eine von zahlreichen bekannten Dechiffrierungsschaltungen ausgelegt werden kann. - Wenn einer der maskenprogrammierbaren Logikbausteinbereiche
14 oder16 als Dechiffrierungsschaltung ausgelegt wurde, wird der FPGA-Bereich12 der integrierten Schaltung mit einer Konfigurationssteuerschaltung programmiert, die die entschlüsselten Konfigurationsdaten empfängt und sie zum Konfigurieren der programmierbaren Elemente des FPGA12 nutzt, um die von dem externen Anwender gewünschte Funktion auszuführen. Auf diese Weise kann die Konfiguration des FPGA12 mit Ausnahme der Personen, die die verschlüsselten Konfigurationsdaten erzeugt haben, vertraulich gehalten werden. Dies ist insbesondere nützlich, wenn der FPGA12 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 Logikbausteinbereiche14 und16 programmiert werden können. Zunächst ermöglicht dies das Ändern einer von dem FPGA-Bereich12 ausgeführten Funktion basierend auf festgelegten Kriterien. Zum anderen ermöglicht dies das Programmieren des FPGA-Bereichs12 in solcher Art, dass eine von dem maskenprogrammierbaren Logikbaustein14 ausgeführte Funktion geändert wird. - Zusätzlich zum Umprogrammieren des FPGA
12 können die maskenprogrammierbaren Logikbausteinbereiche14 und16 mit einer eingebauten Testfolge zum Testen des FPGA12 auf Anweisung des externen Anwenders oder automatisch bei Start programmiert werden. Dem Durchschnittsfachmann sind zahlreiche Testschaltungen dieser Art bekannt. - Die maskenprogrammierbaren Logikbausteinbereiche
14 und16 können auch eingesetzt werden, um eine standardisierte Schnittstelle zwischen dem externen Anwender und dem FPGA12 vorzusehen. Zunächst können die maskenprogrammierbaren Logikbausteinbereiche14 und16 Busschnittstellenfunktionen wie PCI, VME oder USB ausführen. Zum anderen können die maskenprogrammierbaren Logikbausteinbereiche14 und16 Funktionen eines lokalen Netzwerks (LAN) wie Ethernet, Frame Relay und ATM ausführen. - Eine andere Nutzung für einen der maskenprogrammierbaren Logikbausteinbereiche
14 und16 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 Logikbausteinbereiche14 und16 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 Schaltung10 und der Logikschaltungen, die in jedem Block zur Verfügung stehen. Dann fertigt der Hersteller die integrierte Schaltung10 und programmiert mit Hilfe von maskenprogrammierbaren Verfahren einige Funktionen in die integrierte Schaltung10 . 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 Schaltung10 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 Schaltung10 , 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 und16 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 Bereiche14 und16 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 und16 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 Schnittstellenschaltung30 zur Verwendung zwischen dem FPGA-Bereich12 , einem der maskenprogrammierbaren Bereiche14 oder16 und einem I/O-Treiber32 der integrierten Schaltung dargestellt. Die Schnittstellenschaltung30 kann für jeden I/O-Kontaktstift34 verwendet werden, der direkten Zugriff auf die maskenprogrammierbaren Bereiche14 oder16 hat. - Der I/O-Pad
34 wird abhängig davon, ob der I/O-Pad34 als Eingang oder als Ausgang der integrierten Schaltung10 dient, von der Padtreiberschaltung32 angesteuert oder steuert diese an. Wie für den Durchschnittsfachmann ersichtlich ist, umfasst die Padtreiberschaltung32 einen bidirektionalen Puffer mit einem Eingangspuffer38 und einem Ausgangspuffer40 , der für drei Zustände ausgelegt ist. Die drei Signalleitungen, die der Padtreiberschaltung32 zugeordnet sind, sind die Padeingangsleitung (PI)42 , die Padausgangsleitung (PO)44 und die Padaktivierungsleitung (PE)46 . Die PI-Leitung42 befördert Eingangssignale vom Ausgang des Eingangspuffers38 , die PO-Leitung44 befördert Ausgangssignale zum Eingang des Ausgangspuffers40 und die PE-Leitung46 ist die Dreizustandssteuerung für den Ausgangspuffer40 . Die Arbeitsweise der Padtreiberschaltung32 ist auf dem Gebiet gut bekannt. - Erfindungsgemäß sieht die Schnittstellenschaltung
30 eine Möglichkeit vor, die Padtreiberschaltung32 mit sowohl dem FPGA-Bereich12 als auch den maskenprogrammierbaren Bereichen14 oder16 der integrierten Schaltung10 kommunizieren zu lassen. Jeder von FPGA-Bereich12 und maskenprogrammierbaren Bereichen14 oder16 weist drei ihm zugeordnete Signalleitungen auf. Der FPGA-Bereich12 hat eine Signaleingangsleitung (FI)48 , eine Signalsausgangsleitung (FO)50 und eine Signalaktivierungsleitung (FE)52 . Die FI-Leitung48 befördert Eingangssignale in den FPGA-Bereich12 , die FO-Leitung50 befördert Ausgangssignale von dem FPGA-Bereich12 und die PE-Leitung52 ist eine Dreizustandsteuerleitung. Die maskenprogrammierbaren Bereiche14 und16 haben drei ihnen zugeordnete Signalleitungen: die Signaleingangsleitung (GI)54 , die Signalausgangsleitung (GO)56 und die Signalaktivierungsleitung (GE)58 . Die GI-Leitung54 befördert Eingangssignale in den maskenprogrammierbaren Bereich14 oder16 , die GO-Leitung56 befördert Ausgangssignale von dem maskenprogrammierbaren Bereich14 oder16 und die GE-Leitung58 ist eine Dreizustandsteuerleitung. Der Durchschnittsfachmann wird erkennen, dass eine Schnittstelle30 für jeden I/O der integrierten Schaltung10 vorgesehen werden kann. - Unter Bezug nun auf
3 wird ein schematisches Diagramm einer derzeit bevorzugten Ausführung der Schnittstellenschaltung30 von2 dargestellt. Ein erster Multiplexer60 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 Multiplexer62 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 Multiplexer64 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 Multiplexer66 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 und66 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 Multiplexers64 ansteuernden Ausgang auf. Ein sechster Multiplexer70 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 Multiplexers66 ansteuernden Ausgang auf. - Das Steuer-Bit QO ermöglicht es entweder dem FPGA-Bereich
12 oder dem maskenprogrammierbaren Bereich14 oder16 , den für drei Zustände ausgelegten Ausgangspuffer40 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 Logikbausteinbereich14 oder16 ist zum Steuern des in drei Zuständen auslegbaren Ausgangspuffers40 programmiert), da es dem FPGA-Bereich12 das Überwachen externer Daten, die mittels des Eingangspuffers38 und PI in die integrierte Schaltung gebracht werden können, wenn der in drei Zuständen auslegbare Ausgangspuffer40 deaktiviert ist (PE = 0), und das Überwachen interner Daten, die die integrierte Schaltung mittels GO und des in drei Zuständen auslegbaren Ausgangspuffers40 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-Bereich12 ist zum Steuern des in drei Zuständen auslegbaren Ausgangspuffers40 programmiert), da es dem maskenprogrammierbaren Bereich14 oder16 das Überwachen externer Daten, die mittels des Eingangspuffers38 und PI in die integrierte Schaltung gebracht werden können, wenn der in drei Zuständen auslegbare Ausgangspuffer40 deaktiviert ist (PE = 0), und das Überwachen interner Daten, die die integrierte Schaltung mittels FO und des in drei Zuständen auslegbaren Ausgangspuffers40 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 Bezugsziffer74 angezeigter Kreis gezeigt wird. Der Knoten Q1 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung76 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer78 angezeigter Kreis gezeigt wird. Der Knoten Q2 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung80 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer82 angezeigter Kreis gezeigt wird. Der Knoten Q3 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung84 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer86 angezeigter Kreis gezeigt wird. Der Knoten Q4 wird veranschaulichend mit VDD durch eine Hochziehvorrichtung88 und mit der Erde durch das anwenderprogrammierbare Verbindungselement verbunden gezeigt, das als ein durch Bezugsziffer90 angezeigter Kreis gezeigt wird. - Die Tabellen 1 und 2 sind Wahrheitstabellen, die die Arbeitsweise der Schnittstelle
30 erklären TABELLE 1: FI-ARBEITSWEISEQO 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 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 Schaltung100 mit sowohl einem FPGA-Bereich102 als auch einem anderen Schaltungsbereich104 , 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 bis106j angeordnet, wie auf dem Gebiet bekannt ist. Der Durchschnittsfachmann wird erkennen, dass (in4 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 in4 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 bis108d . Der mittlere horizontale Verdrahtungskanal umfasst Verbindungsleiter110a bis110d . Der untere horizontale Verdrahtungskanal umfasst Verbindungsleiter112a bis112d . - Zudem werden in
4 zwei vertikale Verdrahtungskanäle gezeigt. Der äußerste linke vertikale Verdrahtungskanal umfasst Verbindungsleiter114a bis114d . Der äußerste rechte vertikale Verdrahtungskanal umfasst Verbindungsleiter116a bis116d . - 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-Pads106a bis106j mit Verbindungsleitern festverdrahtet und einige sind mit den Verbindungsleitern programmierbar verbindbar. Die I/O-Pads106a ,106c ,106f ,106h und106j sind mit den Verbindungsleitern108a ,116d ,112b ,112a bzw.114d festverdrahtet. Die I/O-Pads106b ,106d ,106e ,106g und106i sind mit jedem der Verbindungsleiter in den Verdrahtungskanälen, die ihre Leiter schneiden, programmierbar verbindbar. Zum Beispiel ist I/O-Pad106b mit einem der Verbindungsleiter108a bis108d 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 bis108d mit jedem der Verbindungsleiter114a bis114d oder einem der Verbindungsleiter116a bis116d programmierbar verbindbar. - Die Eingänge und Ausgänge einzelner Logikfunktionsmodule in dem FPGA-Bereich
102 der integrierten Schaltung100 sind mit den Verbindungsleitern in der gleichen, vorstehend beschriebenen Weise programmierbar verbindbar. Veranschaulichende Eingänge oder Ausgänge118 ,120 ,122 ,124 ,126 ,128 und130 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 Schaltung100 haben zwei Arten von Verbindungsfähigkeit zu den I/O-Pads106a bis106j . Der Eingang/Ausgang132 ist zum Beispiel mit einem Verbindungsleiter112b festverdrahtet, der mit dem I/O-Pad106f festverdrahtet ist. Der Eingang/Ausgang134 ist mit einem beliebigen der Verbindungsleiter112a bis112d programmierbar verbindbar und somit auch mit dem I/O-Pad106e mittels anwenderprogrammierbarer Verbindungselemente programmierbar verbindbar. - Die Eingang/die Ausgänge
136 und138 des anderen Schaltungsbereichs104 sind mit den Verbindungsleitern110a bzw.110d festverdrahtet, und der Eingang/die Ausgänge140 und142 des anderen Schaltungsbereichs104 sind mit einem beliebigen der Verbindungsleiter110a bis110d 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)
- 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.
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)
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)
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 |
-
1997
- 1997-02-28 US US08/807,455 patent/US6150837A/en not_active Expired - Lifetime
-
1998
- 1998-02-03 KR KR10-1998-0708623A patent/KR100491662B1/ko active IP Right Grant
- 1998-02-03 EP EP98906180A patent/EP0901716B1/de not_active Expired - Lifetime
- 1998-02-03 DE DE69838462T patent/DE69838462T2/de not_active Expired - Lifetime
- 1998-02-03 WO PCT/US1998/002280 patent/WO1998038741A1/en active IP Right Grant
- 1998-02-03 DE DE69813974T patent/DE69813974T2/de not_active Expired - Lifetime
- 1998-02-03 EP EP02008837A patent/EP1237281A3/de not_active Withdrawn
- 1998-02-03 EP EP02008839A patent/EP1229652A3/de not_active Withdrawn
- 1998-02-03 JP JP53766198A patent/JP3926398B2/ja not_active Expired - Lifetime
- 1998-02-03 EP EP02008838A patent/EP1229651A3/de not_active Withdrawn
- 1998-02-03 EP EP02008836A patent/EP1237280B1/de not_active Expired - Lifetime
-
2000
- 2000-09-25 US US09/819,084 patent/US6791353B1/en not_active Expired - Lifetime
-
2004
- 2004-08-10 US US10/916,214 patent/US7382155B2/en not_active Expired - Fee Related
-
2008
- 2008-04-29 US US12/111,660 patent/US7755386B2/en not_active Expired - Fee Related
-
2010
- 2010-06-04 US US12/794,279 patent/US7977970B2/en not_active Expired - Fee Related
-
2011
- 2011-06-10 US US13/158,019 patent/US8258811B2/en not_active Expired - Fee Related
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 |