DE69924486T2 - Spezielle schnittstellenarchitektur für eine hybride schaltung - Google Patents

Spezielle schnittstellenarchitektur für eine hybride schaltung Download PDF

Info

Publication number
DE69924486T2
DE69924486T2 DE69924486T DE69924486T DE69924486T2 DE 69924486 T2 DE69924486 T2 DE 69924486T2 DE 69924486 T DE69924486 T DE 69924486T DE 69924486 T DE69924486 T DE 69924486T DE 69924486 T2 DE69924486 T2 DE 69924486T2
Authority
DE
Germany
Prior art keywords
fpga
asic
interface
architecture according
interface architecture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69924486T
Other languages
English (en)
Other versions
DE69924486D1 (de
Inventor
W. King CHAN
Chiu William SHU
Sinan Kaptanoglu
Fung Chi CHENG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsemi SoC Corp
Original Assignee
Actel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Actel Corp filed Critical Actel Corp
Publication of DE69924486D1 publication Critical patent/DE69924486D1/de
Application granted granted Critical
Publication of DE69924486T2 publication Critical patent/DE69924486T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

  • Die vorliegende Erfindung betrifft eine integrierte Hybridschaltung, welche einen FPGA-Teil und einen ASIC-Teil enthält. Insbesondere betrifft diese Erfindung eine Schnittstelle zwischen dem FPGA- und dem ASIC-Teil einer integrierten Hybridschaltung.
  • Ein feldprogrammierbares Gatterfeld (FPGA, von engl. Field Programmable Gate Array) kann zur Ausführung vieler verschiedener Logikfunktionen programmiert werden, was es Entwicklern möglich macht, Schaltungen für spezifische Anwendungen zu entwickeln. Andere Vorteile eines FPGA sind, dass die Entwicklungszeit kurz ist, so dass es viel schneller auf den Markt gebracht werden kann, und das Design sich problemlos ändern lässt. Bei einem FPGA bleiben aber viele der Gatter eventuell ungenutzt. Eine anwendungsspezifische integrierte Schaltung (ASIC, von engl. Application-Specific Integrated Circuit) ist dagegen nur für das Ausführen bestimmter spezifischer Aufgaben ausgelegt und führt daher nicht zu unnützen Gattern. Das Design und die Testphase einer ASIC ist dagegen recht komplex und teuer, da eine ASIC maskenprogrammiert werden muss, und daher macht die Fertigung einer ASIC finanziell nur Sinn, wenn die ASIC in großen Mengen hergestellt wird.
  • Eine integrierte Hybridschaltung (IC, von engl. Integrated Circuit) bietet einige der Vorteile beider Designs. Eine Hybrid-IC umfasst sowohl einen FPGA- als auch einen ASIC-Teil. Bei der Entwicklung einer Hybrid-IC ist ein Hauptanliegen das Vorsehen einer geeigneten Schnittstelle zwischen dem FPGA- und dem ASIC-Teil der IC. Damit die IC ihre Aufgaben einwandfrei erfüllen kann, müssen die FPGA- und ASIC-Teile effektiv miteinander kommunizieren können. Herkömmlicherweise wird die Schnittstelle so ausgelegt, dass der ASIC-Teil durch die Grenzfläche zwischen dem FPGA-Teil und dem ASIC-Teil unter Verwendung mehrerer Verbindungen zwischen der Kante des ASIC-Teils und der Kante des FPGA-Teils zur Kommunikation mit dem FPGA-Teil veranlasst wird, wie nachstehend beschrieben wird.
  • 1A1F zeigen verschiedene Beispiele unterschiedlicher Designs der Schaltungsanordnungsarchitektur einer vorbekannten Hybrid-IC. In 1A1F weist jede IC 2 mehrere I/O-Module 10 auf, welche entlang des Umfangs der IC 2 verlaufen, wobei die Ausrichtung des FPGA-Teils 14 und des ASIC-Teils 2 in den Figuren unterschiedlich ist.
  • 1A zeigt einen kleineren ASIC-Teil 12, der unter einem größeren FPGA-Teil 14 angeordnet ist. 1B zeigt einen größeren ASIC-Teil 12, der unter einem kleineren FPGA-Teil 14 angeordnet ist. 1C zeigt einen ASIC-Teil 12, der an der Ecke rechts unten eines FPGA-Teils 14 angeordnet ist. 1D zeigt einen ASIC-Teil 12, der an der Ecke links oben eines FPGA-Teils 14 angeordnet ist. 1E zeigt einen ASIC-Teil 12, der in einem FPGA-Teil 14 nahe der Ecke rechts unten angeordnet ist. 1F zeigt einen FPGA-Teil 14, der in einem ASIC-Teil 12 nahe der Ecke oben links angeordnet ist. Es versteht sich, dass andere Ausrichtungen des FPGA-Teils 14 und des ASIC-Teils 12 der IC 2 auf dem Gebiet bekannt sind.
  • In 2 werden der FPGA-Teil 14 und der ASIC-Teil 12 von IC 2, die in 1A dargestellt sind, in größerem Detail gezeigt. In 2 besteht der FPGA-Teil 14 aus einer Anordnung von Logikmodulen 16, wobei horizontale und vertikale Routing-Ressourcen für das Verbinden der Logikmodule 16 sowie für die Kommunikation mit dem ASIC-Teil 12 vorgesehen sind. Die Kommunikation zwischen dem ASIC-Teil 12 und dem FPGA-Teil 14 wird dann durch Verbinden des ASIC-Teils 12 mit der Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 verwirklicht. Die Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 ist mit den vertikalen oder horizontalen Routing-Ressourcen verbunden. Signale werden dann von dem ASIC-Teil 12 durch die Grenzfläche zwischen dem ASIC-Teil 12 und dem FPGA-Teil 14 und durch die horizontalen und vertikalen Routing-Ressourcen geschickt, bis sie die erwünschten Logikmodule 16 erreichen. Die Kommunikation von den Logikmodulen 16 des FPGA-Teils 14 zu dem ASIC-Teil 12 wird in umgekehrter Weise durch Senden von Signalen von den erwünschten Logikmodulen 16 durch die horizontalen und vertikalen Routing-Ressourcen des FPGA-Teils 14 bis zum Erreichen der Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 und in den ASIC-Teil 12 verwirklicht.
  • 3 zeigt eine andere Ausführung einer vorbekannten Hybrid-IC. Diese Ausführung enthält einen FPGA-Teil 14 mit einem hierarchischen Design mit mehreren Ebenen (in diesem Beispiel ein hierarchisches Design mit drei Ebenen) an Stelle einfach einer Anordnung von Logikmodulen. Der FPGA-Teil 14 umfasst neun Logikblöcke 18 mit horizontalen und vertikalen Routing-Ressourcen. Jeder Logikblock 18 umfasst weitere neun Logikblöcke 20 mit lokalen Routing-Ressourcen. Die Logikblöcke in der zweiten Ebene des hierarchischen Designs werden in dieser Schrift als Cluster bezeichnet, um sie von den Logikblöcken in der ersten Ebene des hierarchischen Designs zu unterscheiden. Es versteht sich jedoch, dass der Begriff „Cluster" nicht als Beschränkung der Erfindung auf ein Design mit nur drei Ebenen verstanden werden sollte, da ein solches hierarchisches Design denkbar eine unbegrenzte Anzahl an Ebenen, jede mit Logikblöcken und lokalen Routing-Ressourcen, aufweisen kann. Jeder der Logikblöcke (Cluster) 20 umfasst dann mehrere Logikblöcke, welche in diesem Beispiel Logikmodule mit lokalen Routing-Ressourcen sind, sie können aber auch konfigurierbare Funktionsgeneratoren, eine Logikblöcke, welche eine andere Ebene von Logikblöcken enthalten, etc. sein.
  • Die Kommunikation zwischen dem ASIC-Teil 12 und dem FPGA-Teil 14 wird durch Verbinden des ASIC-Teils 12 mit der Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 und der ersten Ebene horizontaler oder vertikaler Routing-Ressourcen mit der Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 verwirklicht. Dann werden Signale von dem ASI-Teil 12 durch die Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 und durch die horizontalen und vertikalen Routing-Ressourcen an der ersten hierarchischen Ebene (die zwischen jedem Logikblock 18 angeordneten Routing-Ressourcen) geschickt. Die Signale gelangen dann zu den horizontalen und vertikalen Routing-Ressourcen an der zweiten hierarchischen Ebene (den Routing-Ressourcen zwischen jedem Logikblock oder Cluster 20) und dann zu der dritten hierarchischen Ebene (den Routing-Ressourcen zwischen jedem Logikblock auf dieser Ebene).
  • Die beschriebenen Schnittstellen haben mehrere Nachteile. Zum einen laufen diese Schnittstellen bei verhältnismäßig geringen Geschwindigkeiten. Diese geringe Geschwindigkeit wird durch die relativ großen Strecken zwischen den Logikmodulen und der Schnittstelle noch langsamer. Zum anderen liegt an der Grenzfläche zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 in diesen Arten von Design häufig eine Routing-Verstopfung vor. Das Entschärfen dieser Routing-Verstopfung unter Verwendung einer Routing-Ressource macht es erforderlich, dass zwischen dem FPGA-Teil 14 und dem ASIC-Teil 12 der Routing-Ressource beträchtlicher Platz zugeteilt wird.
  • Neben dem Routing- und Geschwindigkeitsproblem vorbekannter Schnittstellen kann die feste Pinposition und die Reihenfolge der von dem ASIC- 12 zu dem FPGA-Teil 14 gesandten Signale Platz- und Routenschwierigkeiten der FPGA verursachen. Ferner kann auch die asymmetrische Anzahl an I/O-Verbindungen, die für jede Seite des FPGA-Teils benötigt werden, Platz- und Routenschwierigkeiten der FPGA verursachen.
  • Ein anderer Nachteil dieser Schnittstellen ist die Erfordernis, dass sowohl der FPGA-Teil 14 als auch der ASIC-Teil 12 während der Designphase an der IC 2 festverdrahtet werden. Dies verhindert die Nutzung von austauschbaren Modulen für den FPGA-Teil 14 und den ASIC-Teil 12.
  • Es ist eindeutig eine Schnittstelle zwischen dem FPGA-Teil und dem ASIC-Teil einer Hybrid-IC erforderlich, die nicht unter den Nachteilen des Stands der Technik leidet.
  • WO 98/13938 offenbart ein heterogenes IC-Bauelement, welches eine FPGA umfasst, die mit einem mit Maske ausgelegten anwendungsspezifischen Logikbereich verbunden ist. Das Routing von Signalen wird als Kombination aus mit Maske ausgelegten und feldprogrammierbaren Verbindungen umgesetzt.
  • Die vorliegende Erfindung gibt eine Schnittstellenarchitektur nach den beigefügten Ansprüchen an die Hand. Das Schnittstellendesign für eine Hybrid-IC verwendet eigene Schnittstellenleiterzüge, um Signale distributiv mit den Logikblöcken des FPGA-Teils verbinden zu lassen, was eine schnellere und effizientere Kommunikation zwischen dem FPGA- und dem ASIC-Teil der Hybrid-IC ermöglicht.
  • Nach einer ersten erfindungsgemäßen Ausführung werden mehrere eigens vorgesehene Schnittstellenleiterzüge direkt zwischen dem ASIC-Teil und jedem einzelnen Logikblock auf der niedrigsten Ebene des FPGA-Teils einer Hybrid-IC verbunden. Durch Versehen einer direkten Verbindung von dem ASIC-Teil zu den einzelnen Logikblöcken des FPGA-Teils können die lokalen Routing-Ressourcen umgangen werden. Dadurch wird die Verstopfung im System geringer.
  • Nach einer zweiten erfindungsgemäßen Ausgestaltung werden die eigens vorgesehenen Schnittstellenleiterzüge direkt zwischen dem ASIC-Teil mit Logikblöcken auf jeder Ebene des FPGA-Teils einer Hybrid-IC verbunden. Die Verbindung mit der niedrigsten Ebene von Logikblöcken wird durch Verwenden lokaler Routing-Ressourcen verwirklicht. Dieses Design hat den Vorteil, dass einige der lokalen Routing-Ressourcen umgangen, Verstopfung entschärft und die Geschwindigkeit erhöht wird, wobei aber einige lokale Routing-Ressourcen die Verbindung mit den Logikblöcken auf der niedrigsten Ebene des FPGA-Teils der Hybrid-IC vornehmen können.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1A1F zeigen verschiedene Anordnungen des ASIC-Teils und des FPGA-Teils einer vorbekannten Hybrid-IC.
  • 2 zeigt eine vorbekannte erste Ausführung der Anordnung von Logikmodulen und deren Verbindung mit einem ASIC-Teil einer Hybrid-IC.
  • 3 zeigt eine vorbekannte zweite Ausführung der Anordnung von Logikmodulen und deren Verbindung mit einem ASIC-Teil einer Hybrid-IC.
  • 4 zeigt eine allgemeine Ansicht einer bevorzugten erfindungsgemäßen Ausführung.
  • 5 zeigt die Ausführung aus 4 in größerem Detail, wobei die innere Funktionsweise des FPGA-ASIC-Routingkanals, der Schnittstellenpuffer und der direkten Schnittstellenleiterzüge gezeigt wird.
  • 6 zeigt die Ausführung aus 4 in größerem Detail, wobei sie veranschaulicht, wie die direkten Schnittstellenleiterzüge mit den Logikmodulen oder den lokalen oder globalen Routing-Ressourcen verbunden sind.
  • 7 zeigt eine andere erfindungsgemäße Ausführung, welche das Hinzufügen von JTAG- oder anderen Diagnosepuffern zur Verbindung zwischen dem ASIC-Teil und dem FPGA-Teil der Hybrid-IC veranschaulicht.
  • 8 zeigt die Ausführung aus 7 in größerem Detail, wobei sie die innere Funktionsweise des FPGA-ASIC-Routingkanals, der Schnittstellenpuffer, der JTAG-Puffer und der direkten Schnittstellenleiterzüge veranschaulicht.
  • 9 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, wie die I/O-Module durch die Schnittstelle zwischen dem FPGA-Teil und dem ASIC-Teil direkt mit der FPGA verbunden werden können.
  • 10 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, wie die Schnittstelle zu zwei Seiten des IC erweitert werden kann.
  • 11 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, wie der ASIC-Teil direkt mit den Schnittstellenpuffern verbunden werden kann, ohne durch einen programmierbaren Routingkanal zu verlaufen.
  • 12 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, dass der ASIC-Teil direkt mit dem FPGA-Teil verbunden werden kann, ohne durch einen programmierbaren Routingkanal oder Schnittstellenpuffer zu verlaufen.
  • 13 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, dass die I/O-Module oder Schnittstellenpuffer in den einzelnen Komponenten angeordnet werden können.
  • 14 zeigt eine andere erfindungsgemäße Ausführung, welche veranschaulicht, dass die I/O-Module oder Schnittstellenpuffer in den einzelnen Komponenten angeordnet werden können, wobei sie sich nur in der unteren Reihe von Komponenten befinden.
  • EINGEHENDE BESCHREIBUNG DER ERFINDUNG
  • Der Fachmann auf dem Gebiet wird erkennen, dass die folgende Beschreibung der vorliegenden Erfindung nur veranschaulichend und in keiner Weise einschränkend ist. Für einen solchen Fachmann sind andere Ausführungen der Erfindung nahe liegend.
  • Nach einer ersten erfindungsgemäßen Ausführung werden mehrere eigens vorgesehene Schnittstellenleiterzüge direkt zwischen dem ASIC-Teil und jedem einzelnen Logikblock auf der untersten Ebene des FPGA-Teils einer Hybrid-IC verbunden. Durch Vorsehen einer direkten Verbindung von dem ASIC-Teil zu den einzelnen Logikblöcken des FPGA-Teils können die lokalen Routing-Ressourcen umgangen werden. Dadurch gibt es weniger Verstopfung im System.
  • Nach einer zweiten erfindungsgemäßen Ausgestaltung werden mehrere eigens vorgesehene Schnittstellenleiterzüge direkt zwischen dem ASIC-Teil und Logikblöcken auf einer beliebigen Ebene des FPGA-Teils einer Hybrid-IC verbunden. Das Design hat den Vorteil, dass einige der lokalen Routing-Ressourcen umgangen werden, Verstopfung verringert und die Geschwindigkeit erhöht wird, aber einige lokale Routing-Ressourcen die Verbindung zu den Logikblöcken auf der niedrigsten Ebene des FPGA-Teils der Hybrid-IC vornehmen können.
  • Ein Durchschnittsfachmann wird erkennen, dass der FPGA-Teil ein hierarchisches Design bestehend aus einer beliebigen Anzahl an Ebenen aufweisen kann, wobei jede Ebene einen oder mehrere Blöcke enthält, jeder Block möglicherweise eine weitere Ebene oder Blöcke oder – auf der niedrigsten Ebene des Designs – ein Logikmodul, einen konfigurierbaren Funktionsgenerator etc. enthalten kann. Jede Ebene des hierarchischen Designs kann dann auch lokale Routing-Ressourcen haben, was die Kommunikation zwischen jedem Block, aber auch die Kommunikation mit einem eigens vorgesehenen Schnittstellenleiterzug ermöglicht, wenn der Designer dies wünscht.
  • In 4 wird eine hierarchische FPGA-Architektur ähnlich der oben unter Bezug auf 3 beschriebenen Architektur dargestellt. Die hierarchische FPGA-Architektur weist kurz gesagt verschiedene horizontale und vertikale Verbindungsleiter auf, die Gruppen von Logikressourcen auf jeder Ebene in dem hierarchischen Design programmierbar verbinden. 4 veranschaulicht weiterhin die Architektur einer Hybrid-IC 2 mit eigens vorgesehenen Schnittstellenleiterzügen 24, welche auf der niedrigsten Ebene des FPGA-Teils 14 zwischen dem ASIC-Teil 12 und jedem Logikblock 20 verbunden sind. Die Erfindung ist nicht auf die direkte Verbindung mit den Logikblöcken 20 im hierarchischen Design von 4 beschränkt, sondern kann auch zum direkten Verbinden mit den Logikblöcken auf jeder Ebene des FPGA-Teils 14 jeder Hybrid-IC eingesetzt werden. In einer alternativen Ausführung können die eigens vorgesehenen Schnittstellenleiterzüge 24 mit den lokalen Verbindungsleitern zwischen den Logikblöcken 20 eines FPGA-Teils einer Hybrid-IC verbunden werden. Dies kann durch Verbinden der eigens vorgesehenen Schnittstellenleiterzüge 24 mit den lokalen Verbindungsleitern an der Kante eines auf einer höheren Ebene angeordneten Blocks 22 verwirklicht werden.
  • In 4 werden Schnittstellenpuffer 26 und ein Routingkanal 28 zwischen den FPGA-Teilen und dem ASIC-Teil positioniert. Die eigens vorgesehenen Schnittstellenleiterzüge 24 verlaufen von den einzelnen Komponenten zu den Schnittstellenpuffern 26. Die Schnittstellenpuffer 26 sind mit dem Routingkanal 28 verbunden, welcher wiederum mit dem ASIC-Teil 12 verbunden ist. Somit läuft ein Signal von dem ASIC-Teil 12 durch den Routingkanal 28, dann durch die Schnittstellenpuffer 26, dann zu den eigens vorgesehenen Schnittstellenleiterzügen, welche die Verbindung zu den einzelnen Logikmodulen abschließen. Die Schnittstellenpuffer 26 und der Routingkanal 28 sind jedoch optionale Bauelemente und sind für die Nutzung der vorliegenden Erfindung nicht erforderlich.
  • 5 zeigt die Schnittstellenpuffer 26 und den FPGA-ASIC-Routingkanal 28 aus 4 in größerem Detail. Jeder Schnittstellenpuffer 26 kann einen Ausgangspuffer 30, einen Eingangspuffer 32, erste, zweite und dritte Multiplexer 34-1, 34-2 und 34-3, ein konfigurierbares Register, Speicher oder programmierbare Elemente 36 enthalten und kann auch ein erstes und zweites lokales Freigabeelement 38-1 und 38-2 enthalten. Das erste und das zweite lokale Freigabeelement 38-1 und 38-2 können mit Programmierelementen in dem FPGA-ASIC-Routingkanal 28 verbunden sein. Der Schnittstellenpuffer 26 ist aber nicht auf dieses Design beschränkt und kann jede Art von Puffer- oder Logikbauelement sein, das Puffern vornimmt. Daher können von dem ASIC-Teil 12 zu dem FPGA-Teil 14 zu sendende Signale zuerst den FPGA-ASIC-Routingkanal 28 durchlaufen, welcher sie zu den entsprechenden lokalen Freigabeelementen 38 leitet, welche wiederum den Schnittstellenpuffer 26 zu dem entsprechenden eigens vorgesehenen nach innen laufenden Schnittstellenleiterzug durchlaufen, welcher zu einem Logikblock in dem FPGA-Teil 14 führt. Sollten die gleichen Signale an mehrere Logikblöcke eines FPGA-Teils 14 gleichzeitig geschickt werden müssen, können globale Freigabeelemente 40 verwendet werden, welche mit allen Schnittstellenpuffern in gleicher Weise verbinden, wie die lokalen Freigabeelemente 38 mit einzelnen Schnittstellenpuffern verbinden.
  • Signale von dem FPGA-Teil 14 zu dem ASIC-Teil 12 werden in umgekehrter Richtung gehandhabt. Ein interessantes Ergebnis des Designs der in 5 dargestellten Schnittstellenpuffer ist die Fähigkeit der Schnittstellenpuffer, das Ausgangssignal des FPGA-Teils 14 zurück in den FPGA-Teil 14 zu leiten, ohne zuerst den FPGA-ASIC-Routingkanal 28 oder den ASIC 14 selbst zu durchlaufen. Dies bietet mehr Flexibilität bei Design und Programmierung dieser integrierten Schaltungen, da die Kommunikation zwischen Elementen des FPGA-Teils 14 ohne Verwendung von Routing-Ressourcen innerhalb des FPGA-Teils 14 selbst erleichtert werden kann.
  • Der in 5 dargestellte FPGA-ASIC-Routingkanal 28 kann entweder festverdrahtet sein oder mehrere Programmierelemente 42 enthalten. Diese Programmierelemente können Elemente wie zum Beispiel ein SRAM, ein Antifuse und ein EPROM sein. Diese Routing-Ressource wird eingesetzt, um die Signalverteilung zwischen dem ASIC-Teil 12 und dem FPGA-Teil 14 zu erleichtern. Es versteht sich für den Durchschnittsfachmann, dass es viele Möglichkeiten gibt, diese Signalverteilung zu verwirklichen, wovon nur eine durch einen FPGA-ASIC-Routingkanal 28 erfolgt.
  • 6 zeigt in größerem Detail die Verbindungen zwischen den eigens vorgesehenen Schnittstellenleiterzügen und den einzelnen Blöcken oder Modulen oder den lokalen oder globalen Routing-Ressourcen des FPGA-Teils 14 des Hybrid-FPGA-ASIC 2 von 4. In 6 werden Logikmodule als Blöcke 44 auf der niedrigsten Ebene des FPGA-Teils 14 dargestellt. Der Durchschnittsfachmann wird aber erkennen, dass eine beliebige Anzahl verschiedener Arten von Modulen auf der niedrigsten Ebene eines FPGA-Teils 14 angeordnet werden kann. 6 zeigt drei der vielen verschiedenen Möglichkeiten, wie die eigens vorgesehenen Schnittstellenleiterzüge 24 verbunden werden können. Übergang 46 zeigt einen eigens vorgesehenen Schnittstellenleiterzug 24, welcher mit einem Block (Cluster) 20 in der zweiten Ebene des hierarchischen Designs festverdrahtet ist. Übergang 48 zeigt einen eigens vorgesehenen Schnittstellenleiterzug 24, welcher mit einem Block (Cluster) 20 in der zweiten Ebene des hierarchischen Designs durch Verwendung eines programmierbaren Elements festverdrahtet ist. In den mit jedem der Übergänge 46 und 48 verbundenen Blöcken 20 müssen lokale Routing-Ressourcen im Block 20 die Verbindung zwischen den eigens vorgesehenen Schnittstellenleiterzügen 24 und dem Logikblock 44 auf der niedrigsten Ebene des Designs herstellen. Übergang 50 zeigt einen eigens vorgesehenen Schnittstellenleiterzug 24, welche auf der niedrigsten Ebene des FPGA-Teils 14 direkt mit einem Block 44 verbunden ist.
  • Das Verbinden der eigens vorgesehenen Schnittstellenleiterzüge direkt mit jedem Block 44 auf der niedrigsten Ebene des FPGA-Teils 14 führt zu weniger Verstopfung und daher zu Kommunikationen bei höherer Geschwindigkeit durch die integrierte Schaltung. Die Verbindung direkt mit jedem Block 44 auf der niedrigsten Ebene des FPGA-Teils 14 erfordert jedoch eine große Anzahl an direkten Schnittstellenleiterzügen 24. Daher kann es wünschenswert sein, einen Teil oder alle der eigens vorgesehenen Schnittstellenleiterzüge 24 mit Blöcken auf einer höheren Ebene des hierarchischen Designs zu verbinden und die lokalen Routing-Ressourcen die Verbindung abschließen zu lassen. Dies reduziert die Anzahl an eigens vorgesehenen Schnittstellenleiterzügen 24, welche auf der IC erforderlich sind. Zwar reduziert dies auch die Geschwindigkeit der Kommunikationen, doch ist es immer noch schneller als die vorbekannten Schnittstellen und vermeidet die Routing-Verstopfung an der FPGA-ASIC-Grenzfläche, die im Stand der Technik eintritt.
  • In einer in 7 gezeigten alternativen Ausführung wird ein JTAG oder ein anderes diagnostisches 52 Merkmal mit mehreren JTAG- oder Diagnosepuffern 54 gezeigt. Dieses Merkmal ist beim Testen der Hybrid-IC 2 nützlich.
  • 8 zeigt in größerem Detail den unteren Teil einer IC, welche einen solchen JTAG oder ein anderes Diagnosemerkmal 52 aufweist, die in 7 gezeigt werden. Ein Durchschnittsfachmann wird erkennen, dass der JTAG oder ein anderes Diagnosemerkmal 52 nur eine Möglichkeit für das Testen einer Hybrid-IC ist und es viele Möglichkeiten der Umsetzung gibt, wovon nur eine in den Figuren gezeigt wird.
  • In einer in 9 gezeigten anderen alternativen Ausführung können I/O-Module 10, welche in den vorherigen Figuren direkt an dem ASIC-Teil 12 angebracht waren, stattdessen direkt mit dem FPGA 14 verbunden werden, entweder mit oder ohne den JTAG oder ein anderes Diagnosemerkmal 52, den FPGA-ASIC-Routingkanal 28 und die Schnittstellenpuffer 26. Zudem können die I/O-Module 10 direkt mit dem FPGA-ASIC-Routingkanal 28 oder mit dem JTAG oder den anderen Diagnosepuffern 52 verbunden werden. Einzelne I/O-Module können auch mit mehr als einem Bauelement verbunden werden, wodurch gleichzeitig ein Eingangs- oder Ausgangssignal zu vielen Bauelementen geliefert wird.
  • In 10 wird erfindungsgemäß eine zweite Seite 72 der Hybrid-IC gezeigt. Eigens vorgesehene Schnittstellenleiterzüge von der zweiten Seite 72 können entweder direkt mit den Logikblöcken des FPGA-Teils 14 verbinden oder mit den eigens vorgesehenen Schnittstellenleiterzügen der ersten Seite unter Verwendung programmierbarer Elemente oder dergleichen. Der Durchschnittsfachmann wird erkennen, dass es viele Möglichkeiten gibt, die eigens vorgesehenen Schnittstellenleiterzüge der zweiten Seite 72 entweder mit dem FPGA-Teil 14 oder mit den eigens vorgesehenen Schnittstellenleiterzügen der ersten Seite zu verbinden. Es ist auch eindeutig, dass die vorliegende Erfindung analog auf eine drei- oder vierseitige Ausführung übertragen werden kann.
  • 11 zeigt ein Beispiel einer Hybrid-IC 2, die Schnittstellenpuffer 26 nutzt, aber keinen FPGA-ASIC-Routingkanal. 12 zeigt ein Beispiel einer Hybrid-IC 2, die weder Schnittstellenpuffer noch einen FPGA-ASIC-Routingkanal nutzt, sondern stattdessen den ASIC-Teil 12 direkt mit dem FPGA-Teil 14 durch die eigens vorgesehenen Schnittstellenleiterzüge verbindet.
  • 13 zeigt eine andere Art der Platzierung von Schnittstellenpuffern oder I/O-Modulen an dem Hybrid-FPGA-ASIC. Ein Eingangs-/Ausgangsmodul (IOM) 82 oder ein Schnittstellenpuffer 84 können in die Logikblöcke in dem FPGA-Teil angeordnet werden, falls der Designer dies wünscht. 14 zeigt ein Design ähnlich dem von 13, wobei lediglich jeder IOM 82 und Schnittstellenpuffer 84 in der unteren Reihe von Blöcken oder Clustern platziert wird, um die Länge der eigens vorgesehenen Schnittstellenleiterzüge zu verringern, die sie mit dem ASIC-Teil verbinden.

Claims (20)

  1. Schnittstellenarchitektur in einer integrierten Schaltung, welche umfasst: – einen FPGA-Teil (14) der integrierten Schaltung mit Logikblöcken (20) für das Implementieren von logischen Funktionen und mit Verbindungskonnektoren für das programmierbare Verbinden der Logikblöcke; – einen ASIC-Teil (12) der integrierten Schaltung mit maskenprogrammierten Logikschaltungen und maskenprogrammierten Verbindungsleitern zwischen den Logikschaltungen; – maskenprogrammierte zugeordnete Schnittstellenspuren (24), welche zwischen den Logikblöcken in dem FPGA-Teil und den maskenprogrammierten Verbindungsleitern in dem ASIC-Teil angeschlossen sind; und – Schnittstellenpuffer, welche in Reihe mit den zugeordneten Schnittstellenspuren zwischen dem FPGA-Teil und dem ASIC-Teil angeordnet sind; dadurch gekennzeichnet, dass: jeder der Schnittstellenpuffer umfasst: – einen Eingangspuffer (32) – einen Ausgangspuffer (30), wobei der Ausgangspuffer mit dem Eingangspuffer verbunden ist; – drei Multiplexer, wobei zwei der Multiplexer (34-1, 34-2) mit dem Ausgangspuffer verbunden sind und einer der Multiplexer (34-3) mit dem Eingangspuffer verbunden ist; und – ein konfigurierbares Register, einen konfigurierbaren Speicher oder ein konfigurierbares programmierbares Element (36), welcher bzw. welches mit jedem Satz Multiplexer verbunden ist.
  2. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass die Verbindungsleiter in dem FPGA-Teil lokale Routing-Ressourcen umfassen.
  3. Schnittstellenarchitektur nach Anspruch 1, welche weiterhin einen zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordneten FPGA-ASIC Routing-Kanal umfasst.
  4. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass der FPGA-Teil ein hierarchisches Design mit mehreren Ebenen aufweist, wobei jede der Ebenen lokale Routing-Ressourcen und mehrere Blöcke enthält, wobei jeder der Blöcke entweder ein Modul oder eine andere der Ebenen umfasst.
  5. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass der FPGA-Teil der integrierten Schaltung mehrere Ebenen aufweist, wobei jede der Ebenen lokale Routing-Ressourcen und mehrere Blöcke enthält, wobei jeder der Blöcke entweder ein Modul oder eine andere der Ebenen umfasst; und dass die maskenprogrammierten zugeordneten Schnittstellenspuren zwischen den Modulen oder Blöcken in dem FPGA-Teil und den maskenprogrammierten Verbindungsleitern in dem ASIC-Teil angeschlossen sind.
  6. Schnittstellenarchitektur nach Anspruch 5, dadurch gekennzeichnet, dass jeder der Blöcke in dem FPGA-Teil lokale Routing-Ressourcen enthält.
  7. Schnittstellenarchitektur nach Anspruch 5, welche weiterhin einen zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordneten FPGA-ASIC-Routingkanal umfasst.
  8. Schnittstellenarchitektur nach Anspruch 3 oder 7, dadurch gekennzeichnet, dass der FPGA-ASIC-Routingkanal maskenprogrammierbar ist.
  9. Schnittstellenarchitektur nach Anspruch 3 oder 7, dadurch gekennzeichnet, dass der FPGA-ASIC-Routingkanal feldprogrammierbar ist.
  10. Schnittstellenarchitektur nach Anspruch 1, welche weiterhin zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordnete JTAG-Puffer umfasst.
  11. Schnittstellenarchitektur nach Anspruch 1 oder 9, welche weiterhin mehrere am Umfang der IS angeordnete I/O-Module umfasst.
  12. Schnittstellenarchitektur nach Anspruch 11, dadurch gekennzeichnet, dass eines oder mehrere der I/O-Module durch einen Routingkanal mit dem FPGA-Teil verbunden ist/sind.
  13. Schnittstellenarchitektur nach Anspruch 11, dadurch gekennzeichnet, dass eines oder mehrere der I/O-Module an dem ASIC-Teil angeschlossen ist/sind.
  14. Schnittstellenarchitektur nach Anspruch 11 bei Abhängigkeit von Anspruch 9, dadurch gekennzeichnet, dass eines oder mehrere der I/O-Module an dem FPGA-ASIC-Routingkanal angeschlossen ist/sind.
  15. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an einer Seite des FPGA-Teils befindet.
  16. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an zwei Seiten des FPGA-Teils befindet.
  17. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an drei Seiten des FPGA-Teils befindet.
  18. Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an vier Seiten des FPGA-Teils befindet.
  19. Integrierte Schaltung mit einer Schnittstellenarchitektur nach einem der vorhergehenden Ansprüche.
  20. Maske mit einem Muster, welches mindestens einen Teil einer Prozessschicht darstellt, welche zum Bilden einer integrierten Schaltung nach Anspruch 19 verwendbar ist.
DE69924486T 1998-04-28 1999-04-05 Spezielle schnittstellenarchitektur für eine hybride schaltung Expired - Lifetime DE69924486T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69054 1998-04-28
US09/069,054 US7389487B1 (en) 1998-04-28 1998-04-28 Dedicated interface architecture for a hybrid integrated circuit
PCT/US1999/007484 WO1999056394A1 (en) 1998-04-28 1999-04-05 Dedicated interface architecture for a hybrid integrated circuit

Publications (2)

Publication Number Publication Date
DE69924486D1 DE69924486D1 (de) 2005-05-04
DE69924486T2 true DE69924486T2 (de) 2006-02-16

Family

ID=22086436

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69924486T Expired - Lifetime DE69924486T2 (de) 1998-04-28 1999-04-05 Spezielle schnittstellenarchitektur für eine hybride schaltung

Country Status (4)

Country Link
US (2) US7389487B1 (de)
EP (1) EP1080531B1 (de)
DE (1) DE69924486T2 (de)
WO (1) WO1999056394A1 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
DE60025196T2 (de) 1999-05-07 2006-09-07 Infineon Technologies Ag Heterogenes programmierbares gatterfeld
US6665817B1 (en) 1999-05-07 2003-12-16 Morphics Technology, Inc. Apparatus and method for implementing a wireless system-on-a-chip with a reprogrammable tester, debugger, and bus monitor
AU5127500A (en) 1999-05-07 2000-11-21 Morphics Technology, Inc. Apparatus and methods for dynamically defining variably sized autonomous sub-arrays within a programmable gate array
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
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
US6605962B2 (en) * 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7921323B2 (en) * 2004-05-11 2011-04-05 L-3 Communications Integrated Systems, L.P. Reconfigurable communications infrastructure for ASIC networks
US8018248B2 (en) * 2006-09-21 2011-09-13 Quicklogic Corporation Adjustable interface buffer circuit between a programmable logic device and a dedicated device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8111577B2 (en) 2007-04-17 2012-02-07 Cypress Semiconductor Corporation System comprising a state-monitoring memory element
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US7761690B2 (en) * 2007-07-26 2010-07-20 International Business Machines Corporation Method, apparatus and computer program product for dynamically selecting compiled instructions
US7724032B2 (en) * 2007-08-20 2010-05-25 Altera Corporation Field programmable gate array with integrated application specific integrated circuit fabric
US7865862B2 (en) * 2007-11-08 2011-01-04 International Business Machines Corporation Design structure for dynamically selecting compiled instructions
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
US8368423B2 (en) * 2009-12-23 2013-02-05 L-3 Communications Integrated Systems, L.P. Heterogeneous computer architecture based on partial reconfiguration
US8397054B2 (en) * 2009-12-23 2013-03-12 L-3 Communications Integrated Systems L.P. Multi-phased computational reconfiguration
EP2372490A1 (de) * 2010-03-31 2011-10-05 Robert Bosch GmbH Schaltungsanordnung für ein Datenverarbeitungssystem und Verfahren zur Datenverarbeitung
DE102010003521A1 (de) * 2010-03-31 2011-10-06 Robert Bosch Gmbh Modulare Struktur zur Datenverarbeitung
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
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
CN103534692B (zh) * 2011-05-17 2016-10-19 阿尔特拉公司 对接混合集成器件中的硬逻辑和软逻辑的系统和方法
EP2710479B1 (de) * 2011-05-17 2017-11-15 Altera Corporation Systeme und verfahren für schnittstellen zwischen harter und weicher logik in einer integrierten hybridvorrichtung
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
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
US9214045B1 (en) 2014-08-29 2015-12-15 Freescale Semiconductor, Inc. Flash memory express erase and program
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10970119B2 (en) 2017-03-28 2021-04-06 Intel Corporation Technologies for hybrid field-programmable gate array application-specific integrated circuit code acceleration
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3473160A (en) 1966-10-10 1969-10-14 Stanford Research Inst Electronically controlled microelectronic cellular logic array
US4433331A (en) 1981-12-14 1984-02-21 Bell Telephone Laboratories, Incorporated Programmable logic array interconnection matrix
US4700088A (en) 1983-08-05 1987-10-13 Texas Instruments Incorporated Dummy load controlled multilevel logic single clock logic circuit
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4642487A (en) 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
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
US5083083A (en) 1986-09-19 1992-01-21 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
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
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
US5187393A (en) 1986-09-19 1993-02-16 Actel Corporation Reconfigurable programmable interconnect architecture
US4969121A (en) 1987-03-02 1990-11-06 Altera Corporation Programmable integrated circuit logic array device having improved microprocessor connectability
JPH0254576A (ja) 1988-08-18 1990-02-23 Mitsubishi Electric Corp ゲートアレイ
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US4930097A (en) 1988-12-30 1990-05-29 Intel Corporation Architecture for an improved performance of a programmable logic device
US5212652A (en) 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5400262A (en) 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
DE4008791A1 (de) 1990-03-19 1991-09-26 Slt Lining Technology Gmbh Anordnung zur abdeckung geneigter schuettstoffflaechen
US5198705A (en) 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5073729A (en) 1990-06-22 1991-12-17 Actel Corporation Segmented routing architecture
US5191241A (en) 1990-08-01 1993-03-02 Actel Corporation Programmable interconnect architecture
EP0481703B1 (de) 1990-10-15 2003-09-17 Aptix Corporation Verbindungssubstrat mit integrierter Schaltung zur programmierbaren Verbindung und Probenuntersuchung
US5224056A (en) * 1991-10-30 1993-06-29 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning algorithm
US5107146A (en) 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
US5313119A (en) 1991-03-18 1994-05-17 Crosspoint Solutions, Inc. Field programmable gate array
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
JPH05252025A (ja) * 1991-10-28 1993-09-28 Texas Instr Inc <Ti> 論理モジュールおよび集積回路
WO1993012638A1 (en) 1991-12-18 1993-06-24 Crosspoint Solutions, Inc. Extended architecture for field programmable gate array
US5208491A (en) 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5475830A (en) * 1992-01-31 1995-12-12 Quickturn Design Systems, Inc. Structure and method for providing a reconfigurable emulation circuit without hold time violations
US5347181A (en) * 1992-04-29 1994-09-13 Motorola, Inc. Interface control logic for embedding a microprocessor in a gate array
US5646547A (en) 1994-04-28 1997-07-08 Xilinx, Inc. Logic cell which can be configured as a latch without static one's problem
US5317698A (en) 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5424589A (en) 1993-02-12 1995-06-13 The Board Of Trustees Of The Leland Stanford Junior University Electrically programmable inter-chip interconnect architecture
JPH06275718A (ja) 1993-03-19 1994-09-30 Toshiba Corp ゲートアレイ回路
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
TW396312B (en) 1993-12-30 2000-07-01 At & T Corp Method and apparatus for converting field-programmable gate array implementations into mask-programmable logic cell implementations
US5808351A (en) 1994-02-08 1998-09-15 Prolinx Labs Corporation Programmable/reprogramable structure using fuses and antifuses
US5682107A (en) 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
DE69525741D1 (de) 1994-04-14 2002-04-11 Btr Inc Architektur und verbindungsschema für programmierbare logische schaltungen
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
US5606266A (en) 1994-11-04 1997-02-25 Altera Corporation Programmable logic array integrated circuits with enhanced output routing
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
US5847577A (en) 1995-02-24 1998-12-08 Xilinx, Inc. DRAM memory cell for programmable logic devices
US5701091A (en) 1995-05-02 1997-12-23 Xilinx, Inc. Routing resources for hierarchical FPGA
AU5718196A (en) 1995-05-03 1996-11-21 Btr, Inc. Scalable multiple level interconnect architecture
US5850564A (en) 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
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
US5671432A (en) * 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5631578A (en) 1995-06-02 1997-05-20 International Business Machines Corporation Programmable array interconnect network
US5732246A (en) 1995-06-07 1998-03-24 International Business Machines Corporation Programmable array interconnect latch
US5838954A (en) 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing 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
US5594367A (en) * 1995-10-16 1997-01-14 Xilinx, Inc. Output multiplexer within input/output circuit for time multiplexing and high speed logic
US5880492A (en) 1995-10-16 1999-03-09 Xilinx, Inc. Dedicated local line interconnect layout
US5815004A (en) 1995-10-16 1998-09-29 Xilinx, Inc. Multi-buffered configurable logic block output lines in a field programmable gate array
US5870586A (en) 1996-01-31 1999-02-09 Xilinx, Inc. Configuration emulation of a programmable logic device
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
US5869979A (en) * 1996-04-05 1999-02-09 Altera Corporation Technique for preconditioning I/Os during reconfiguration
US5847441A (en) 1996-05-10 1998-12-08 Micron Technology, Inc. Semiconductor junction antifuse circuit
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5742181A (en) * 1996-06-04 1998-04-21 Hewlett-Packard Co. FPGA with hierarchical interconnect structure and hyperlinks
US5828538A (en) 1996-06-21 1998-10-27 Quicklogic Corporation Power-up circuit for field programmable gate arrays
US5825201A (en) 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US5859544A (en) 1996-09-05 1999-01-12 Altera Corporation Dynamic configurable elements for programmable logic devices
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
US5959466A (en) * 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
US5878051A (en) * 1997-02-05 1999-03-02 Lockheed Martin Corp. Assembly-level bist using field-programmable gate array
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
US5991908A (en) * 1997-09-29 1999-11-23 Xilinx, Inc. Boundary scan chain with dedicated programmable routing
US6334207B1 (en) * 1998-03-30 2001-12-25 Lsi Logic Corporation Method for designing application specific integrated circuits
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6943583B1 (en) * 2003-09-25 2005-09-13 Lattice Semiconductor Corporation Programmable I/O structure for FPGAs and the like having reduced pad capacitance

Also Published As

Publication number Publication date
DE69924486D1 (de) 2005-05-04
US7389487B1 (en) 2008-06-17
EP1080531B1 (de) 2005-03-30
EP1080531A1 (de) 2001-03-07
WO1999056394A1 (en) 1999-11-04
US8990757B2 (en) 2015-03-24
US20080204074A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
DE69924486T2 (de) Spezielle schnittstellenarchitektur für eine hybride schaltung
EP0202456B1 (de) In integrierter Technik hergestellter Logik-Array-Baustein
DE102004014472B4 (de) Anwendungsspezifischer integrierter Halbleiter-Schaltkreis
DE60128960T2 (de) Architektur für ziegelförmig aufbaubares nutzerprogrammierbares gatterfeld
DE3712178C2 (de)
DE4425552C2 (de) Gatterarray
DE2556274C2 (de) Programmierbare logische Schaltung
DE2754354A1 (de) Programmierbare logische baugruppenanordnung
DE10313926A1 (de) Halbleiterbauelement mit einem auf Zellen beruhenden Grundelementaggregat, welches ein vorspringendes Teil in einem aktiven Gebiet aufweist
DE3716868A1 (de) Integrierte schaltung mit hohem integrationsgrad
EP0051693A1 (de) Elektrisch umschaltbarer Festwertspeicher
DE60012639T2 (de) Verbindungsressourcen für programmierbare logische integrierte schaltungen
EP0073946A2 (de) Verfahren und Anordnung zur Funktionsprüfung einer programmierbaren Logikanordnung
DE2916065C2 (de) Datenverarbeitungseinrichtung
DE69811795T2 (de) Integrierte Schaltung zur Taktsignalversorgung und Verfahren zu ihrer Herstellung
DE10164606B4 (de) Flip-Chip-Halbleitereinrichtung mit außerhalb von Energiezufuhranschlussflächen angeordneten Signalanschlussflächen
DE19652870B4 (de) Halbleiterspeichervorrichtung
DE3543471C1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
DE2846957A1 (de) Binaerer zaehler
DE69833720T2 (de) Integrierte Halbleiterschaltung mit On-Chip Kondensatoren
DE4327290C2 (de) Integrierte Halbleiterschaltung
EP0166027B1 (de) In C-MOS-Technik realisierte Basiszelle
EP0269811B1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
EP0244605B1 (de) In integrierter Technik hergestellter Logik-Array-Baustein zur Erstellung integrierter Schaltungen
DE10101630B4 (de) Halbleiterspeicherbauelement mit Eingabe-/Ausgabeleitungsstruktur

Legal Events

Date Code Title Description
8364 No opposition during term of opposition