DE69924486T2 - Spezielle schnittstellenarchitektur für eine hybride schaltung - Google Patents
Spezielle schnittstellenarchitektur für eine hybride schaltung Download PDFInfo
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures 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.
-
1A –1F zeigen verschiedene Beispiele unterschiedlicher Designs der Schaltungsanordnungsarchitektur einer vorbekannten Hybrid-IC. In1A –1F weist jede IC2 mehrere I/O-Module10 auf, welche entlang des Umfangs der IC2 verlaufen, wobei die Ausrichtung des FPGA-Teils14 und des ASIC-Teils2 in den Figuren unterschiedlich ist. -
1A zeigt einen kleineren ASIC-Teil12 , der unter einem größeren FPGA-Teil14 angeordnet ist.1B zeigt einen größeren ASIC-Teil12 , der unter einem kleineren FPGA-Teil14 angeordnet ist.1C zeigt einen ASIC-Teil12 , der an der Ecke rechts unten eines FPGA-Teils14 angeordnet ist.1D zeigt einen ASIC-Teil12 , der an der Ecke links oben eines FPGA-Teils14 angeordnet ist.1E zeigt einen ASIC-Teil12 , der in einem FPGA-Teil14 nahe der Ecke rechts unten angeordnet ist.1F zeigt einen FPGA-Teil14 , der in einem ASIC-Teil12 nahe der Ecke oben links angeordnet ist. Es versteht sich, dass andere Ausrichtungen des FPGA-Teils14 und des ASIC-Teils12 der IC2 auf dem Gebiet bekannt sind. - In
2 werden der FPGA-Teil14 und der ASIC-Teil12 von IC2 , die in1A dargestellt sind, in größerem Detail gezeigt. In2 besteht der FPGA-Teil14 aus einer Anordnung von Logikmodulen16 , wobei horizontale und vertikale Routing-Ressourcen für das Verbinden der Logikmodule16 sowie für die Kommunikation mit dem ASIC-Teil12 vorgesehen sind. Die Kommunikation zwischen dem ASIC-Teil12 und dem FPGA-Teil14 wird dann durch Verbinden des ASIC-Teils12 mit der Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 verwirklicht. Die Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 ist mit den vertikalen oder horizontalen Routing-Ressourcen verbunden. Signale werden dann von dem ASIC-Teil12 durch die Grenzfläche zwischen dem ASIC-Teil12 und dem FPGA-Teil14 und durch die horizontalen und vertikalen Routing-Ressourcen geschickt, bis sie die erwünschten Logikmodule16 erreichen. Die Kommunikation von den Logikmodulen16 des FPGA-Teils14 zu dem ASIC-Teil12 wird in umgekehrter Weise durch Senden von Signalen von den erwünschten Logikmodulen16 durch die horizontalen und vertikalen Routing-Ressourcen des FPGA-Teils14 bis zum Erreichen der Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 und in den ASIC-Teil12 verwirklicht. -
3 zeigt eine andere Ausführung einer vorbekannten Hybrid-IC. Diese Ausführung enthält einen FPGA-Teil14 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-Teil14 umfasst neun Logikblöcke18 mit horizontalen und vertikalen Routing-Ressourcen. Jeder Logikblock18 umfasst weitere neun Logikblöcke20 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-Teil14 wird durch Verbinden des ASIC-Teils12 mit der Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 und der ersten Ebene horizontaler oder vertikaler Routing-Ressourcen mit der Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 verwirklicht. Dann werden Signale von dem ASI-Teil12 durch die Grenzfläche zwischen dem FPGA-Teil14 und dem ASIC-Teil12 und durch die horizontalen und vertikalen Routing-Ressourcen an der ersten hierarchischen Ebene (die zwischen jedem Logikblock18 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 Cluster20 ) 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-Teil12 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-Teil14 und dem ASIC-Teil12 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-Teil14 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-Teil12 während der Designphase an der IC2 festverdrahtet werden. Dies verhindert die Nutzung von austauschbaren Modulen für den FPGA-Teil14 und den ASIC-Teil12 . - 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
-
1A –1F 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 aus4 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 aus4 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 aus7 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 auf3 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-IC2 mit eigens vorgesehenen Schnittstellenleiterzügen24 , welche auf der niedrigsten Ebene des FPGA-Teils14 zwischen dem ASIC-Teil12 und jedem Logikblock20 verbunden sind. Die Erfindung ist nicht auf die direkte Verbindung mit den Logikblöcken20 im hierarchischen Design von4 beschränkt, sondern kann auch zum direkten Verbinden mit den Logikblöcken auf jeder Ebene des FPGA-Teils14 jeder Hybrid-IC eingesetzt werden. In einer alternativen Ausführung können die eigens vorgesehenen Schnittstellenleiterzüge24 mit den lokalen Verbindungsleitern zwischen den Logikblöcken20 eines FPGA-Teils einer Hybrid-IC verbunden werden. Dies kann durch Verbinden der eigens vorgesehenen Schnittstellenleiterzüge24 mit den lokalen Verbindungsleitern an der Kante eines auf einer höheren Ebene angeordneten Blocks22 verwirklicht werden. - In
4 werden Schnittstellenpuffer26 und ein Routingkanal28 zwischen den FPGA-Teilen und dem ASIC-Teil positioniert. Die eigens vorgesehenen Schnittstellenleiterzüge24 verlaufen von den einzelnen Komponenten zu den Schnittstellenpuffern26 . Die Schnittstellenpuffer26 sind mit dem Routingkanal28 verbunden, welcher wiederum mit dem ASIC-Teil12 verbunden ist. Somit läuft ein Signal von dem ASIC-Teil12 durch den Routingkanal28 , dann durch die Schnittstellenpuffer26 , dann zu den eigens vorgesehenen Schnittstellenleiterzügen, welche die Verbindung zu den einzelnen Logikmodulen abschließen. Die Schnittstellenpuffer26 und der Routingkanal28 sind jedoch optionale Bauelemente und sind für die Nutzung der vorliegenden Erfindung nicht erforderlich. -
5 zeigt die Schnittstellenpuffer26 und den FPGA-ASIC-Routingkanal28 aus4 in größerem Detail. Jeder Schnittstellenpuffer26 kann einen Ausgangspuffer30 , einen Eingangspuffer32 , erste, zweite und dritte Multiplexer34-1 ,34-2 und34-3 , ein konfigurierbares Register, Speicher oder programmierbare Elemente36 enthalten und kann auch ein erstes und zweites lokales Freigabeelement38-1 und38-2 enthalten. Das erste und das zweite lokale Freigabeelement38-1 und38-2 können mit Programmierelementen in dem FPGA-ASIC-Routingkanal28 verbunden sein. Der Schnittstellenpuffer26 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-Teil12 zu dem FPGA-Teil14 zu sendende Signale zuerst den FPGA-ASIC-Routingkanal28 durchlaufen, welcher sie zu den entsprechenden lokalen Freigabeelementen38 leitet, welche wiederum den Schnittstellenpuffer26 zu dem entsprechenden eigens vorgesehenen nach innen laufenden Schnittstellenleiterzug durchlaufen, welcher zu einem Logikblock in dem FPGA-Teil14 führt. Sollten die gleichen Signale an mehrere Logikblöcke eines FPGA-Teils14 gleichzeitig geschickt werden müssen, können globale Freigabeelemente40 verwendet werden, welche mit allen Schnittstellenpuffern in gleicher Weise verbinden, wie die lokalen Freigabeelemente38 mit einzelnen Schnittstellenpuffern verbinden. - Signale von dem FPGA-Teil
14 zu dem ASIC-Teil12 werden in umgekehrter Richtung gehandhabt. Ein interessantes Ergebnis des Designs der in5 dargestellten Schnittstellenpuffer ist die Fähigkeit der Schnittstellenpuffer, das Ausgangssignal des FPGA-Teils14 zurück in den FPGA-Teil14 zu leiten, ohne zuerst den FPGA-ASIC-Routingkanal28 oder den ASIC14 selbst zu durchlaufen. Dies bietet mehr Flexibilität bei Design und Programmierung dieser integrierten Schaltungen, da die Kommunikation zwischen Elementen des FPGA-Teils14 ohne Verwendung von Routing-Ressourcen innerhalb des FPGA-Teils14 selbst erleichtert werden kann. - Der in
5 dargestellte FPGA-ASIC-Routingkanal28 kann entweder festverdrahtet sein oder mehrere Programmierelemente42 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-Teil12 und dem FPGA-Teil14 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-Routingkanal28 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-Teils14 des Hybrid-FPGA-ASIC2 von4 . In6 werden Logikmodule als Blöcke44 auf der niedrigsten Ebene des FPGA-Teils14 dargestellt. Der Durchschnittsfachmann wird aber erkennen, dass eine beliebige Anzahl verschiedener Arten von Modulen auf der niedrigsten Ebene eines FPGA-Teils14 angeordnet werden kann.6 zeigt drei der vielen verschiedenen Möglichkeiten, wie die eigens vorgesehenen Schnittstellenleiterzüge24 verbunden werden können. Übergang46 zeigt einen eigens vorgesehenen Schnittstellenleiterzug24 , welcher mit einem Block (Cluster)20 in der zweiten Ebene des hierarchischen Designs festverdrahtet ist. Übergang48 zeigt einen eigens vorgesehenen Schnittstellenleiterzug24 , 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änge46 und48 verbundenen Blöcken20 müssen lokale Routing-Ressourcen im Block20 die Verbindung zwischen den eigens vorgesehenen Schnittstellenleiterzügen24 und dem Logikblock44 auf der niedrigsten Ebene des Designs herstellen. Übergang50 zeigt einen eigens vorgesehenen Schnittstellenleiterzug24 , welche auf der niedrigsten Ebene des FPGA-Teils14 direkt mit einem Block44 verbunden ist. - Das Verbinden der eigens vorgesehenen Schnittstellenleiterzüge direkt mit jedem Block
44 auf der niedrigsten Ebene des FPGA-Teils14 führt zu weniger Verstopfung und daher zu Kommunikationen bei höherer Geschwindigkeit durch die integrierte Schaltung. Die Verbindung direkt mit jedem Block44 auf der niedrigsten Ebene des FPGA-Teils14 erfordert jedoch eine große Anzahl an direkten Schnittstellenleiterzügen24 . Daher kann es wünschenswert sein, einen Teil oder alle der eigens vorgesehenen Schnittstellenleiterzüge24 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ügen24 , 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 diagnostisches52 Merkmal mit mehreren JTAG- oder Diagnosepuffern54 gezeigt. Dieses Merkmal ist beim Testen der Hybrid-IC2 nützlich. -
8 zeigt in größerem Detail den unteren Teil einer IC, welche einen solchen JTAG oder ein anderes Diagnosemerkmal52 aufweist, die in7 gezeigt werden. Ein Durchschnittsfachmann wird erkennen, dass der JTAG oder ein anderes Diagnosemerkmal52 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-Module10 , welche in den vorherigen Figuren direkt an dem ASIC-Teil12 angebracht waren, stattdessen direkt mit dem FPGA14 verbunden werden, entweder mit oder ohne den JTAG oder ein anderes Diagnosemerkmal52 , den FPGA-ASIC-Routingkanal28 und die Schnittstellenpuffer26 . Zudem können die I/O-Module10 direkt mit dem FPGA-ASIC-Routingkanal28 oder mit dem JTAG oder den anderen Diagnosepuffern52 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-Teils14 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-Teil14 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-IC2 , die Schnittstellenpuffer26 nutzt, aber keinen FPGA-ASIC-Routingkanal.12 zeigt ein Beispiel einer Hybrid-IC2 , die weder Schnittstellenpuffer noch einen FPGA-ASIC-Routingkanal nutzt, sondern stattdessen den ASIC-Teil12 direkt mit dem FPGA-Teil14 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 Schnittstellenpuffer84 können in die Logikblöcke in dem FPGA-Teil angeordnet werden, falls der Designer dies wünscht.14 zeigt ein Design ähnlich dem von13 , wobei lediglich jeder IOM82 und Schnittstellenpuffer84 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)
- 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. - Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass die Verbindungsleiter in dem FPGA-Teil lokale Routing-Ressourcen umfassen.
- Schnittstellenarchitektur nach Anspruch 1, welche weiterhin einen zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordneten FPGA-ASIC Routing-Kanal umfasst.
- 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.
- 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.
- Schnittstellenarchitektur nach Anspruch 5, dadurch gekennzeichnet, dass jeder der Blöcke in dem FPGA-Teil lokale Routing-Ressourcen enthält.
- Schnittstellenarchitektur nach Anspruch 5, welche weiterhin einen zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordneten FPGA-ASIC-Routingkanal umfasst.
- Schnittstellenarchitektur nach Anspruch 3 oder 7, dadurch gekennzeichnet, dass der FPGA-ASIC-Routingkanal maskenprogrammierbar ist.
- Schnittstellenarchitektur nach Anspruch 3 oder 7, dadurch gekennzeichnet, dass der FPGA-ASIC-Routingkanal feldprogrammierbar ist.
- Schnittstellenarchitektur nach Anspruch 1, welche weiterhin zwischen den zugeordneten Schnittstellenspuren und dem ASIC-Teil angeordnete JTAG-Puffer umfasst.
- Schnittstellenarchitektur nach Anspruch 1 oder 9, welche weiterhin mehrere am Umfang der IS angeordnete I/O-Module umfasst.
- Schnittstellenarchitektur nach Anspruch 11, dadurch gekennzeichnet, dass eines oder mehrere der I/O-Module durch einen Routingkanal mit dem FPGA-Teil verbunden ist/sind.
- Schnittstellenarchitektur nach Anspruch 11, dadurch gekennzeichnet, dass eines oder mehrere der I/O-Module an dem ASIC-Teil angeschlossen ist/sind.
- 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.
- Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an einer Seite des FPGA-Teils befindet.
- Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an zwei Seiten des FPGA-Teils befindet.
- Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an drei Seiten des FPGA-Teils befindet.
- Schnittstellenarchitektur nach Anspruch 1, dadurch gekennzeichnet, dass sich der ASIC-Teil angrenzend an vier Seiten des FPGA-Teils befindet.
- Integrierte Schaltung mit einer Schnittstellenarchitektur nach einem der vorhergehenden Ansprüche.
- Maske mit einem Muster, welches mindestens einen Teil einer Prozessschicht darstellt, welche zum Bilden einer integrierten Schaltung nach Anspruch 19 verwendbar ist.
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)
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)
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 |
-
1998
- 1998-04-28 US US09/069,054 patent/US7389487B1/en not_active Expired - Fee Related
-
1999
- 1999-04-05 EP EP99916389A patent/EP1080531B1/de not_active Expired - Lifetime
- 1999-04-05 WO PCT/US1999/007484 patent/WO1999056394A1/en active IP Right Grant
- 1999-04-05 DE DE69924486T patent/DE69924486T2/de not_active Expired - Lifetime
-
2008
- 2008-05-02 US US12/114,143 patent/US8990757B2/en not_active Expired - Fee Related
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 |