DE102020113949A1 - Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen - Google Patents

Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen Download PDF

Info

Publication number
DE102020113949A1
DE102020113949A1 DE102020113949.7A DE102020113949A DE102020113949A1 DE 102020113949 A1 DE102020113949 A1 DE 102020113949A1 DE 102020113949 A DE102020113949 A DE 102020113949A DE 102020113949 A1 DE102020113949 A1 DE 102020113949A1
Authority
DE
Germany
Prior art keywords
fabric
die
interconnect
dies
microbump
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.)
Pending
Application number
DE102020113949.7A
Other languages
English (en)
Inventor
Chee Hak Teh
Chee Seng Leong
Lai Guan Tang
Han Wooi Lim
Hee Kong Phoon
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102020113949A1 publication Critical patent/DE102020113949A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/48Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
    • H01L23/482Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor consisting of lead-in layers inseparably applied to the semiconductor body
    • H01L23/4824Pads with extended contours, e.g. grid structure, branch structure, finger structure
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/48Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
    • H01L23/488Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor consisting of soldered or bonded constructions
    • H01L23/498Leads, i.e. metallisations or lead-frames on insulating substrates, e.g. chip carriers
    • H01L23/49811Additional leads joined to the metallisation on the insulating substrate, e.g. pins, bumps, wires, flat leads
    • H01L23/49816Spherical bumps on the substrate for external connection, e.g. ball grid arrays [BGA]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • H01L23/5283Cross-sectional geometry
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/538Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
    • H01L23/5382Adaptable interconnections, e.g. for engineering changes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/538Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
    • H01L23/5386Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/48Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
    • H01L23/488Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor consisting of soldered or bonded constructions
    • H01L23/498Leads, i.e. metallisations or lead-frames on insulating substrates, e.g. chip carriers
    • H01L23/49833Leads, i.e. metallisations or lead-frames on insulating substrates, e.g. chip carriers the chip support structure consisting of a plurality of insulating substrates
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

Der hier offenbarte programmierbare Fabric-Die umfasst eine in einem Sektor des programmierbaren Logik-Fabric angeordnete direkte Interconnect-Schnittstellen-Spalte von Fabric-Die zu Fabric-Die. Jede Zeile der Interconnect-Schnittstellen-Spalte umfasst mindestens eine Interconnect-Schnittstelle, die elektrisch mit einem Microbump gekoppelt ist. Der Microbump ist für elektrische Kopplung mit einem anderen Microbump einer anderen Interconnect-Schnittstelle eines anderen Fabric-Die durch ein Zwischenglied ausgelegt. Der Fabric-Die kann mehrere Interconnect-Schnittstellen-Spalten umfassen, die sich jeweils tief in den Sektor erstrecken, wodurch latenzarme Verbindungen zwischen den Fabric-Dies ermöglicht und Routingstau verringert wird. Bei einigen Ausführungsformen kann der Fabric-Die Interconnect-Schnittstellen umfassen, die stattdessen über Logikblöcke des Sektors verteilt sind.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft Konnektivität zwischen Dies eines integrierten Schaltungssystems, wie etwa zwischen programmierbaren Fabric-Dies eines modularisierten integrierten Schaltungssystems.
  • Dieser Abschnitt soll den Leser in verschiedene Aspekte der Technik einführen, die verschiedene Aspekte der vorliegenden Offenbarung betreffen können, die nachfolgend beschrieben und/oder beansprucht werden. Diese Besprechung soll dabei hilfreich sein, dem Leser Hintergrundinformationen bereitzustellen, um ein besseres Verständnis der verschiedenen Aspekte der vorliegenden Offenbarung zu erleichtern. Dementsprechend versteht sich, dass diese Aussagen in dieser Hinsicht aufzufassen sind und nicht als Zulassungen eines Stands der Technik.
  • Moderne Elektronik, wie etwa Computer, tragbare Vorrichtungen, Netzwerkrouter, Datenzentralen, mit dem Internet verbundene Geräte und so weiter umfassen meist mindestens eine integrierte Schaltungsvorrichtung. Integrierte Schaltungsvorrichtungen können verschiedene Formen annehmen, darunter Prozessoren (z. B. CPUs (Zentralverarbeitungseinheiten)), Speichervorrichtungen und programmierbare Vorrichtungen (FPGA), um nur einige wenige Beispiel zu nennen. Die programmierbaren Vorrichtungen können insbesondere ein programmierbares Fabric von Logik umfassen, die nach der Herstellung programmiert (z. B. konfiguriert) und umprogrammiert (z. B. umkonfiguriert) werden können, um auf der Basis eines Schaltungsentwurfs vielfältige Funktionalität bereitzustellen.
  • Um die Siliziumausbeute zu verbessern, können FPGA disaggregiert oder physisch aufgeteilt und als kleinere programmierbare Logik-Fabric-Dies hergestellt werden. Die kleineren Dies können dann miteinander verbunden werden, um ein größeres FPGA zu erzeugen. In einigen Fällen können die Fabric-Dies mittels einer oder mehrerer eingebetteter Mehrfach-Die-Interconnect-Brücken (EMIB) kommunikativ gekoppelt werden, die Peripherie-Interconnects der kleineren Fabric-Dies verwenden, wie etwa AIB (Advanced Interface Busses) oder UIB (Universal Interface Busses). Die Peripherie-Interconnects können auf einer oder mehreren Uferlinien des Fabric-Die angeordnet werden, um Konsumierung von zu viel Routingschaltkreisen des Fabric-Die zu vermeiden, und können durch horizontale und/oder vertikale Eingangs-/Ausgangsschnittstellen zugänglich sein. Die horizontalen und/oder vertikalen Eingangs-/Ausgangsschnittstellen können jedoch begrenzte Reichweite in den Fabric-Die aufweisen und können aufgrund der endlichen Uferlinien bezüglich Anzahl begrenzt sein. Dementsprechend kann Routingstau auf der Fabric-Die-Uferlinie auftreten, wenn Daten zu anderen Fabric-Dies gesendet oder von diesen empfangen werden, was zu verringerter Vorrichtungsleistungsfähigkeit führt. Außerdem können die Peripherie-Interconnects so gebaut werden, dass eine Speicher- oder Sendeempfängertransaktion hoher Bandbreite unterstützt wird, und können folglich hohe Latenz aufweisen, was für Interconnect-Zwecke von Fabric-Die zu Fabric-Die ineffizient sein kann.
  • Figurenliste
  • Verschiedene Aspekte der vorliegenden Offenbarung werden bei Durchsicht der folgenden ausführlichen Beschreibung und unter Bezugnahme auf die Zeichnungen besser verständlich. Es zeigen:
    • 1 eine Blockdarstellung eines Datenverarbeitungssystems, das eine integrierte Schaltungsvorrichtung umfasst, gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 2 eine Blockdarstellung einer Entwurfs-Workstation, die Programmierung der integrierten Schaltungsvorrichtung von 1 erleichtern kann, gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 3 ein Beispiel für die integrierte Schaltungsvorrichtung von 1 mit mehreren programmierbaren Logik-Fabric-Dies gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 4 eine Draufsicht auf die integrierte Schaltungsvorrichtung von 3 gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 5 eine Seitenansicht der integrierten Schaltungsvorrichtung von 3 gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 6 eine perspektivische Ansicht eines Teils der integrierten Schaltungsvorrichtung von 3, die Zeilen eines Sektors eines Fabric-Dies der integrierten Schaltungsvorrichtung und Micropumps des Fabric-Dies zeigt, gemäß Ausführungsformen der vorliegenden Offenbarung;
    • 7 eine Darstellung von Teilen von Zeilen eines programmierbaren Logik-Fabric eine Sektors eines Fabric-Dies der integrierten Schaltungsvorrichtung von 3 mit einer Spalte von Interconnect-Blöcken gemäß Ausführungsformen der vorliegenden Offenbarung; und
    • 8 eine Darstellung von Teilen von Zeilen eines programmierbaren Logik-Fabric eines Sektors eines Fabric-Dies der integrierten Schaltungsvorrichtung von 1 mit verteilten Interconnect-Schnittstellen gemäß Ausführungsformen der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG SPEZIFISCHER AUSFÜHRUNGSFORMEN
  • Unten werden eine oder mehrere spezifische Ausführungsformen beschrieben. In dem Bestreben, diese Ausführungsformen prägnant zu beschreiben, werden in der Patentbeschreibung nicht alle Merkmale der jeweiligen konkreten Implementierung beschrieben. Es versteht sich, dass bei der Entwicklung einer solchen konkreten Implementierung, wie bei jedem Projekt in der Konstruktion und Entwicklung, zahlreiche implementationsspezifische Entscheidungen getroffen werden müssen, um die speziellen Vorgaben der Entwickler umzusetzen, etwa um system- und geschäftsrelevanten Einschränkungen, die von Implementierung zu Implementierung anders sein können, gerecht zu werden. Ferner versteht es sich, dass ein solches Entwicklungsvorhaben komplex und zeitaufwendig sein mag, jedoch vom Durchschnittsfachmann unter Zuhilfenahme dieser Offenbarung in den Phasen des Entwurfs, der Vorfertigung und der Fertigung routinemäßig ausgeführt werden könnte.
  • Wenn Elemente verschiedener Ausführungsformen der vorliegenden Offenbarung eingeführt werden, sollen die Artikel „ein“, „eine“ und „der/die/das“ bedeuten, dass es eines oder mehrere der Elemente gibt. Die Ausdrücke „umfassend“, „enthaltend“ und „aufweisend“ sollen inklusiv sein und bedeuten, dass es außer den aufgeführten Elementen zusätzliche Elemente geben kann. Zusätzlich versteht sich, dass Erwähnungen von „einer Ausführungsform“ oder „eine Ausführungsform“ der vorliegenden Offenbarung nicht so aufgefasst werden sollen, dass sie die Existenz zusätzlicher Ausführungsformen ausschließen, die die angeführten Merkmale auch enthalten.
  • Integrierte Schaltungen, wie etwa FPGAs (Field-Programmable Gate Arrays), können ein programmierbares Fabric (z. B. Logikarrayblöcke (LABs), die Log-Elemente aufweisen, wie etwa Blöcke der digitalen Signalverarbeitung (DSP), Routing-Multiplexer (MUX) und so weiter) umfassen, das konfiguriert und in einigen Fällen später umkonfiguriert werden kann, um einen Schaltungsentwurf zu realisieren. Die Herstellung monolithischer FPGA (z. B. eines als ein einzelner Die hergestellten FPGA) kann aufgrund schlechter Siliziumausbeute (z. B. einer Anzahl von nicht ordnungsgemäß arbeitenden Silizium-Dies auf einem Wafer) wirtschaftlich ineffizient und prozessintensiv sein. Um die Siliziumausbeute zu verbessern, können FPGA disaggregiert oder physisch aufgeteilt und als kleinere programmierbare Logik-Fabric-Dies hergestellt werden. Die Fabric-Dies können dann miteinander verbunden werden, um ein größeres FPGA zu erzeugen.
  • Um es Fabric-Dies zu ermöglichen, miteinander zu kommunizieren, umfasst der hier offenbarte programmierbare Fabric-Die eine Spalte eines direkten Interconnect von Fabric-Die zu Fabric-Die (z. B. eine AIB-D-Schnittstelle (Advanced Interface Bus-Direct) (bezeichnet als die „Interconnect-Schnittstelle“ oder „Interconnect-Schnittstelle zwischen Dies“), die in einer oder mehreren Zeilen oder Mengen eines Sektors von programmierbarem Logik-Fabric angeordnet ist. Die Interconnect-Schnittstelle kann über ein Silizium-Zwischenglied (das z. B. Verknüpfungen oder elektrische Signaldurchgänge umfasst) kommunikativ an eine Interconnect-Schnittstelle eines anderen Fabric-Dies angeschlossen sein.
  • Der Fabric-Die kann mehrere Interconnect-Schnittstellenspalten umfassen. Zum Beispiel kann ein Sektor eines programmierbaren Logik-Fabric des Fabric-Dies zehn Interconnect-Schnittstellenspalten umfassen, die sich tief in den Sektor erstrecken können (so dass z. B. mehrere Zeilen des Sektors die Interconnect-Schnittstellenspalten umfassen), wodurch latenzarme Verbindungen zwischen den Fabric-Dies ermöglicht werden. Außerdem kann die Platzierung der Direkt-Interconnectspalten Routingstau verglichen mit den traditionell in monolithischen FPGA-Entwürfen verwendeten HIOs/VIOs verringern.
  • Angesichts des Obigen ist 1 eine Blockdarstellung eines Datenverarbeitungssystems 10, das eine integrierte Schaltungsvorrichtung 12 umfasst, gemäß einer Ausführungsform der vorliegenden Offenbarung. Das Datenverarbeitungssystem 10 kann mehr oder weniger Komponenten als gezeigt umfassen (z. B. elektronische Anzeige, Benutzeroberflächenstrukturen, ASICs (anwendungsspezifische integrierte Schaltungen)). Das Datenverarbeitungssystem 10 kann einen oder mehrere Hostprozessoren 14 umfassen, wie etwa einen Prozessor des Typs INTEL® Xeon® oder einen anweisungsreduzierten Prozessor (z. B. einen RISC (Reduced-Instruction Set Computer), einen ARM-Prozessor (Advanced RISC Machine)), der Datenverarbeitungsanforderungen für das Datenverarbeitungssystem 10 verwalten kann (z. B. um Maschinenlernen, Videoverarbeitung, Spracherkennung, Bilderkennung, Datenkomprimierung, Datenbanksucheinstufung, Bioinformatik, Netzwerksicherheits-Musteridentifikation, räumliche Navigation oder dergleichen durchzuführen).
  • Der Hostprozessor bzw. die Hostprozessoren 14 können mit dem Speicher und/oder Speicherungsschaltkreisen 106 kommunizieren, bei denen es sich um ein greifbares, nichttransitorisches maschinenlesbares Medium handeln kann, wie etwa RAM (Direktzugriffsspeicher), ROM (Festwertspeicher), eine oder mehrere Festplatten, Flash-Speicher oder ein beliebiges anderes geeignetes optisches, magnetisches oder Halbleiter-Speicherungsmedium. Der Speicher und/oder die Speicherungsschaltkreise 16 können Daten halten, die durch das Datenverarbeitungssystem 10 zu verarbeiten sind, wie etwa prozessorausführbare Steuersoftware, Konfigurationssoftware, Systemparameter, Konfigurationsdaten usw.
  • Das Datenverarbeitungssystem 10 kann auch eine Netzwerkschnittstelle 18 umfassen, die es dem Datenverarbeitungssystem 10 erlaubt, mit anderen elektronischen Vorrichtungen zu kommunizieren. Bei einigen Ausführungsformen kann das Datenverarbeitungssystem 10 Teil einer Datenzentrale sein, die vielfältige verschiedene Anforderungen verarbeitet. Zum Beispiel kann das Datenverarbeitungssystem 10 über die Netzwerkschnittstelle 18 eine Datenverarbeitungsanforderung zum Durchführen von Maschinenlernen, Videoverarbeitung, Spracherkennung, Bilderkennung, Datenkomprimierung, Datenbank-Sucheinstufung, Bioinformatik, Netzwerksicherheits-Musteridentifikation, räumlicher Navigation oder einer anderen spezialisierten Aufgabe empfangen. Das Datenverarbeitungssystem 10 kann ferner die integrierte Schaltungsvorrichtung 12 umfassen, die die Ausführung von Datenverarbeitungsaufgaben erleichtert.
  • Ein Entwickler kann eine Entwurfs-Workstation 20 verwenden, um einen Entwurf zu entwickeln, der die integrierte Schaltungsvorrichtung 12 konfigurieren kann, wie in 2 gezeigt, gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei einigen Ausführungsformen kann der Entwickler Entwurfssoftware 24 (z. B. Intel® Quartus® von der INTEL CORPORATION) verwenden, um einen Entwurf zu erzeugen, mit dem die integrierte Schaltungsvorrichtung 12 programmiert (z. B. konfiguriert) werden kann. Zum Beispiel kann ein Entwickler eine modularisierte integrierte Schaltungsvorrichtung 12 programmieren, um eine spezifische Funktionalität so zu implementieren, wie etwa einen Schaltungsentwurf (z. B. Schaltungsentwurf auf höherer Ebene) zu implementieren, als wäre die integrierte Schaltungsvorrichtung 12 monolithisch. Die integrierte Schaltungsvorrichtung 12 kann eine programmierbare integrierte Schaltung sein, wie etwa ein FPGA (Field-Programmable Gate Array), die einen oder mehrere programmierbaren Fabric-Dies umfasst, die zusammen einen oder mehrere Schaltungsentwürfe implementieren können. Jeder programmierbare Fabric-Die kann auch eine oder mehrere Eingangs-/Ausgangs- bzw. E/A-Schnittstellen (z. B. Microbumps und/oder zugeordnete Sende-, Empfangs-, Ansteuer- und/oder Routingkomponenten) umfassen, die es dem programmierbaren Fabric-Die ermöglichen, mit anderen Vorrichtungen oder Komponenten (z. B. intern oder extern bezüglich der integrierten Schaltungsvorrichtung 12) zu kommunizieren.
  • Dementsprechend kann die Entwurfssoftware 24 einen Kompiler 26 verwenden, um eine Schaltungsentwurfskonfiguration auf niedrigerer Ebene für die integrierte Schaltungsvorrichtung 12 zu erzeugen. Das heißt, der Kompiler 26 kann maschinenlesbare Anweisungen, die die vom Entwickler spezifizierte Funktionalität repräsentieren, der integrierten Schaltungsvorrichtung 12 zum Beispiel in Form eines Konfigurationsbitstroms 28 bereitstellen. Der Hostprozessor bzw. die Hostprozessoren 14 können das Laden des Bitstroms 28 auf die integrierte Schaltungsvorrichtung 12 und die nachfolgende Programmierung des programmierbaren Fabric koordinieren.
  • Um die Skalierbarkeit und Siliziumausbeute der integrierten Schaltung 12 (z. B. des FPGA) zu verbessern, kann das programmierbare Logik-Fabric der integrierten Schaltung 12 zu mehreren kleineren programmierbaren Logik-Fabric-Dies modularisiert werden. 3 zeigt ein Beispiel für die integrierte Schaltungsvorrichtung 12 mit mehreren programmierbaren Logik-Fabric-Dies 40 gemäß Ausführungsformen der vorliegenden Offenbarung. Obwohl die integrierte Schaltungsvorrichtung 12 als ein FPGA gezeigt ist, versteht sich, dass die programmierbaren Logik-Fabric-Dies 40 für eine beliebige geeignete Art von integrierter Schaltungsvorrichtung 12 disaggregiert werden können. Die Fabric-Dies 40 können ein programmierbares Logik-Fabric 42 (auch bezeichnet als „programmierbares Fabric“, „programmierbare Logik“, „programmierbare Fabric-Schaltkreise“, „programmierbare Logikschaltkreise“ und so weiter) umfassen, das in einen oder mehrere Sektoren aufgeteilt werden kann, und erleichtern die Programmierung des FPGA 12. Es versteht sich, dass jeder Fabric-Die 40 verschiedene Instanzen des programmierbaren Logik-Fabric umfassen kann (z. B. verglichen mit anderen Fabric-Dies 40). Zum Beispiel kann ein Fabric-Die 40 eine andere (z. B. höhere oder niedrigere) Anzahl von digitalen Signalverarbeitungs- bzw. DSP-Blöcken als andere Fabric-Dies 40, eine andere (z. B. höhere oder niedrigere) Anzahl von Speicherblöcken als die anderen Fabric-Dies 40 und so weiter umfassen. Außerdem kann in einigen Fällen jeder Fabric-Die 40 Instanzen eines Kern-Fabric umfassen, die zum Beispiel Sendeempfänger und/oder Komponenten von harten Geistiges-Eigentum-Kernen umfassen können, wie etwa Prozessorkerne, Ethernetmedium-Zugangskontrolleinheiten, PCI-/PCI-Express-Steuerungen, externe Speichersteuerungen, Transistoren und so weiter.
  • Das programmierbare Logik-Fabric 42 kann in Gruppen (z. B. Spalten) angeordnet werden, die manchmal als konfigurierbare Logikblöcke (CLB) oder Logikarrayblöcke (LAB) bezeichnet werden. Das programmierbare Logik-Fabric 42 kann auch Speicher-LAB (MLAB), DSP-Blöcke, Routing-Multiplexer und so weiter umfassen. Im Betrieb kann das programmierbare Logik-Fabric 42 den Konfigurationsbitstrom 28 von dem/den Hostprozessor(en) 14 empfangen, den Konfigurationsbitstrom 28 in Bit des Konfigurations-Direktzugriffsspeichers (CRAM) der integrierten Schaltungsvorrichtung 12 speichern und kann gemäß dem Schaltungsentwurf konfiguriert werden, der in dem Konfigurationsbitstrom 28 realisiert ist, der in dem CRAM-Bit gespeichert ist. Die Fabric-Dies 40 können zur Laufzeit konfiguriert oder teilweise konfiguriert werden und/oder können zu einem späteren Zeitpunkt umkonfiguriert oder teilweise umkonfiguriert werden, wodurch Entwurfsflexibilität nach der Herstellung entsteht.
  • Kommunikation zwischen den Fabric-Dies 40 auf der integrierten Schaltungsvorrichtung 12 kann über eine eingebettete Schnittstellenbrücke erfolgen, wie etwa ein Silizium-Zwischenglied 44 (z. B. mittels signalleitender Kanäle in dem Silizium-Basismaterial). Das heißt, Fabric-interne Kommunikation in dem Fabric-Die 40 kann ohne Verwendung des Zwischenglieds 44 durchgeführt werden (z. B. ohne in die signalleitenden Kanäle des Zwischenglieds 44 eintretende Signale). Kommunikation zwischen programmierbaren Fabric-Dies (z. B. Kommunikation von Fabric-Die zu Fabric-Die zwischen zwei verschiedenen Fabric-Dies 40) kann mittels der in dem Zwischenglied 44 angeordneten Kanäle und/oder Schnittstellen erfolgen.
  • In 4 ist eine Draufsicht auf die disaggregierte FPGA-Vorrichtung 12 von 3 gemäß Ausführungsformen der vorliegenden Offenbarung gezeigt, die ferner die Konnektivität und Platzierungsarchitektur für die modularisierten programmierbaren Fabric-Dies 40 zeigt, die auch als Kacheln bezeichnet werden können. Es versteht sich, dass, obwohl die FPGA-Vorrichtung 12 mit einer bestimmten Anzahl von Fabric-Dies 40, Verbindungen und Komponenten gezeigt ist, die vorliegende Offenbarung beliebige geeignete Abwandlungen der FPGA-Vorrichtung 12 in Betracht zieht.
  • Wie abgebildet, umfassen die programmierbaren Fabric-Dies 40 der FPGA-Vorrichtung 12 jeweils mehrere Sektoren 60 des programmierbaren Logik-Fabric 62 (das dasselbe wie das oben in 3 beschriebene programmierbare Logik-Fabric 42 ist). Jeder Fabric-Die 40 umfasst auch das direkte Interconnect von Fabric-Die zu Fabric-Die (z. B. die AIB-D-Schnittstelle (Advanced Interface Bus-Direct) (die „Interconnect-Schnittstelle“) 64, die Verbindung zwischen den Dies 40 ohne Verwendung von Kommunikation auf Netzwerkbasis bereitstellt. Jede Interconnect-Schnittstelle 64 kann elektrisch mit einem Routing-Fabric (z. B. RoutingSchaltkreisen, Routing-Multiplexern und/oder anderen geeigneten Routing-Komponenten) des Fabric-Dies 40 gekoppelt sein und kann horizontale Leitungen von dem Fabric-Die 40 zu einem zweiten Fabric-Die 40 überbrücken. Insbesondere können die Interconnect-Schnittstellen 64 mit Microbumps des Fabric-Dies 40 gekoppelt werden, die über das Fabric-Die 40 verteilt sein können. Dementsprechend kann die Anzahl der Interconnect-Schnittstellen 64 für jeden Fabric-Die 40 auf der Anzahl der Microbumps des Fabric-Dies 40 basieren und/oder kann durch eine Spezifikation definiert werden, die mit der Schnittstelle zwischen Fabric-Dies 40 konform ist. Zum Beispiel kann ein Fabric-Die 40 für jeden Microbump eine Interconnect-Schnittstelle 64 aufweisen.
  • Die Interconnect-Schnittstellen 64 können in einer größeren oder kleineren Anzahl von Spalten und/oder breiteren oder dünneren Spalten verteilt werden, um Kommunikation mit vergrößerter Uferlinienreichweite und/oder vergrößerter Routing-Flexibilität zu erleichtern, ohne Kommunikation auf Netzwerkbasis (z. B. Netzwerk-auf-Chip-Komponenten) zu benutzen, so dass die Kommunikation von Fabric-Die zu Fabric-Die erfolgen kann, ohne zu viel Routingschaltkreise des programmierbaren Logik-Fabric 62 in dem Fabric-Die 40 zu konsumieren. Wie dargestellt können zum Beispiel die Interconnect-Schnittstellen 64 in fünf Spalten pro Sektor 60 verteilt werden, um somit die Uferlinienreichweite verglichen mit dem Fall, dass nur horizontale Verbindungen des Fabric-Die 40 zur Kommunikation von Fabric-Die zu Fabric-Die verwendet werden, fünffach zu vergrößern. Es versteht sich, dass eine beliebige geeignete Anzahl von Spalten von Interconnect-Schnittstellen 64 und eine beliebige geeignete Breite von Spalten in den Fabric-Dies 40 enthalten sein können, wie etwa 10 Spalten jeweils mit einer Breite von einer Interconnect-Schnittstelle 64, eine Spalte jeweils mit einer Breite von 2 Interconnect-Schnittstellen 64 und so weiter.
  • 4 zeigt außerdem Schnittstellen 66 horizontaler Eingabe/Ausgabe (HIO) und Schnittstellen 68 vertikaler Eingabe/Ausgabe (VIO), die elektrisch mit den Sektoren 60 der Fabric-Dies 40 gekoppelt werden können. Die HIO/VIO-Schnittstellen 66, 68 können das Senden von Signalen von einem ersten Fabric-Die 40 zu einer Vorrichtung oder Komponente außerhalb des ersten Fabric-Dies 40, wie etwa einem zweiten Fabric-Die 40 (z. B. über das Zwischenglied 44) ermöglichen. Da die HIO/VIO-Schnittstellen 66, 68 in der Nähe von Uferlinien (z. B. 70) der Fabric-Dies 40 angeordnet sind, kann jedoch Routingstau an den Uferlinien 70 auftreten, wenn Daten zu anderen Fabric-Dies gesendet oder von diesen empfangen werden, was zu verringerter Vorrichtungsleistungsfähigkeit führt.
  • Außerdem können, wie in 5 gezeigt, die eine Seitenansicht der disaggregierten FPGA-Vorrichtung 12 von 3 gemäß Ausführungsformen der vorliegenden Offenbarung zeigt, die Fabric-Dies 40 auf dem Silizium-Zwischenglied (z. B. passiven Zwischenglied) 44 ruhen. Jede Interconnect-Schnittstelle 64 eines Fabric-Dies 40 kann (z. B. über Routingschaltkreise des Fabric-Dies 40) elektrisch mit dem programmierbaren Logik-Fabric 42 des Fabric-Dies 40 gekoppelt werden. Außerdem kann jede Interconnect-Schnittstelle 64 über einen Draht oder Leiter 82 elektrisch mit einem jeweiligen Microbump 80 des Fabric-Dies 40 gekoppelt werden. Die Microbumps 80 können ihrerseits elektrisch mit anderen Microbumps 80 anderer Fabric-Dies 40 gekoppelt werden. Die anderen Microbumps 80 können elektrisch mit anderen Interconnect-Schnittstellen 64 der anderen Fabric-Dies 40 gekoppelt sein, die (z. B. über andere Routingschaltkreise der anderen Fabric-Dies 40) elektrisch mit dem anderen programmierbaren Logik-Fabric 42 der anderen Fabric-Dies 40 gekoppelt sein können. Wie dargestellt können, obwohl die Interconnect-Schnittstellen 64 auf einer oberen Oberfläche 86 der Fabric-Dies 40 angeordnet werden können, die Microbumps 80 auf einer unteren Oberfläche 88 der Fabric-Dies 40 angeordnet werden. Dementsprechend können sich die Drähte oder Leiter 82, die die Interconnect-Schnittstellen 64 elektrisch mit den Microbumps 80 koppeln, in die Fabric-Dies 60 und zwischen die obere und untere Oberfläche 86, 88 erstrecken. Auf diese Weise können Signale und/oder Daten zwischen Fabric-Dies 40 übertragen werden.
  • Das Silizium-Zwischenglied 44 kann seinerseits durch das Kapselungssubstrat 90 getragen werden, das elektrische Verbindungen der FPGA-Vorrichtung 12 erleichtert. Obwohl das Silizium-Zwischenglied 44 in vielen der Beispielen als passives Zwischenglied beschrieben wird, kann bei einigen Ausführungsformen das Silizium-Zwischenglied 44 auch oder als Alternative aktive Komponenten enthalten und kann ein aktives Zwischenglied sein.
  • Jeder Sektor 60 des Fabric-Dies 40 kann eine oder mehrere Zeilen oder Mengen von Logikblöcken, wie etwa zwischen 1 und 200 Zeilen (z. B. 10 Zeilen, 42 Zeilen, 43 Zeilen, 50 Zeilen, 100 Zeilen und so weiter) von Komponenten umfassen, die Verarbeitung und Routen von Daten erleichtern. Zeile 100, sowie sie in 4 zu sehen ist, kann Teil und parallel zu der Uferlinie 70 (z. B. einem Rand des Fabric-Dies 40) sein und Interconnect-Schnittstellen 64 umfassen. 6 ist eine perspektivische Ansicht eines Teils der FPGA-Vorrichtung 12 von 3 gemäß Ausführungsformen der vorliegenden Offenbarung. Wie dargestellt, können Zeilen (z. B. 100) eines Sektors 60 des Fabric-Dies 40 eine Anzahl von Blöcken mit bestimmten Komponenten, die bestimmte Funktionalitäten ermöglichen, umfassen.
  • Zum Beispiel kann die Zeile 100 Speicher-Logikarrayblöcke 102 (MLAB) umfassen, die programmierbare Funktionalität für den Fabric-Die 40 bereitstellen können und Speicherressourcen umfassen können, die kleine Menge (z. B. Kilobyte) Daten speichern können. Zeilen des Fabric-Dies 40 (einschließlich der Zeile 100) können Logikarrayblöcke (LAB) umfassen, die programmierbare Funktionalität für den Fabric-Die 40 bereitstellen können. Die MLAB 102 und LAB können auf der Basis des implementierten Schaltungsentwurfs (z. B. in Form eines Bitstroms 28, der in CRAM-Bit (Konfigurations-Direktzugriffsspeicher) der FPGA-Vorrichtung 12 entsprechend den MLAB 102 und/oder LAB programmiert ist) Logikfunktionen, arithmetische Funktionen, Registerfunktionen und dergleichen implementieren. Die Zeile 100 kann auch Blöcke 104 eines Logikelement-Eingangsmultiplexers (LEIM) umfassen, die auf der Basis des implementierten Schaltungsentwurfs (z. B. in Form eines Bitstroms 28, der in CRAM-Bit (Konfigurations-Direktzugriffsspeicher) der FPGA-Vorrichtung 12 entsprechend den MLAB 102 und/oder LAB programmiert ist) als Auswahlschaltungen wirken können, die Signale von verschiedenen Teilen des Fabric-Dies 40 routen, wie etwa zu oder von Logikblöcken in den MLAB 102 und/oder LAB.
  • Die Zeile 100 kann einen oder mehrere Interconnect-Blöcke 108 umfassen, in denen eine oder mehrere Interconnect-Schnittstellen 64 angeordnet sein können. Es kann eine beliebige geeignete Anzahl von Interconnect-Schnittstellen 64 in jedem Interconnect-Block 108 angeordnet werden, wie etwa zwischen 1 und 200 Interconnect-Schnittstellen 64, 10 und 14 Interconnect-Schnittstellen 64 und so weiter. Jede Interconnect-Schnittstelle 64 kann elektrisch mit einem jeweiligen Microbump 80 gekoppelt werden. Die Microbumps 80 können unidirektional oder bidirektional sein. Das heißt, wenn die Microbumps 80 unidirektional sind, kann jeder Microbump 80 dafür ausgelegt sein, Signale zu einem anderen Fabric-Die 40 zu senden oder Signale von einem anderen Fabric-Die 40 zu empfangen. Wenn die Microbumps 80 bidirektional sind, kann jeder Microbump 80 dafür ausgelegt sein, sowohl Signale zu einem anderen Fabric-Die 40 zu senden als auch Signale von diesem zu empfangen.
  • Dementsprechend können zum Senden von Daten zu einem anderen Fabric-Die 40 Daten auf dem Fabric-Die 40 zu der einen oder den mehreren Interconnect-Schnittstellen 64 des Interconnect-Blocks 108 gesendet werden, die sich tief in den Sektor 60 hinein erstrecken. Das heißt, Daten auf dem Fabric-Die 40 können zum Beispiel zu einem MLAB 102 der Zeile 100 gesendet werden, der an den Interconnect-Block 108 grenzt oder neben diesem liegt, um verarbeitet zu werden, oder zu einem LEIM-block 104 der Zeile 100, der an den Interconnect-Block 108 angrenzt oder neben diesem liegt, um zum Beispiel über einen RT-Block (Routing-Fabric oder Schaltkreise) 106 der Zeile 100 gemultiplext zu werden. Der RT-Block 106 kann einen oder mehrere programmierbare Interconnect-Blöcke umfassen, die ankommende Datenkanäle mit abgehenden Datenkanälen verbinden, und können somit Datensignale zwischen Blöcken der Zeile 100 routen.
  • Ähnlich können zum Empfangen von Daten von einem anderen Fabric-Die 40 die eine oder mehreren Interconnect-Schnittstellen 64 des Interconnect-Blocks 108 Daten von einem oder mehreren jeweiligen Microbumps 80 empfangen. Der Interconnect-Block 108 kann dann die Daten zum Beispiel zu einem MLAB 102 der Zeile 100 senden, der an dem Interconnect-Block 108 angrenzt oder neben diesem liegt, um verarbeitet zu werden, oder zu einem LEIM-Block 104 der Zeile 100, der an den Interconnect-Block 108 angrenzt oder neben diesem liegt, um gemultiplext zu werden. Ein RT-Block 106 der Zeile 100 kann die Daten von dem MLAB 102 oder dem LEIM-Block 104 empfangen und die Daten zur weiteren Verarbeitung zu zusätzlichen Blöcken der Zeile 100 routen. Bei einer Ausführungsform können Eingaben aus dem Kern-Fabric in die Interconnect-Schnittstellen 64 beim Senden von Daten mittels des LEIM-Blocks 104 erfolgen, und Ausgaben können direkt zu den RT-Blöcken 106 fahren.
  • Wie bereits erwähnt, kann die Interconnect-Schnittstelle 64 die Erfüllung von Konnektivitätsanforderungen zwischen Fabric-Dies 40 mit verringerter Latenz und größerer Reichweite erleichtern. Insbesondere kann die Interconnect-Schnittstelle 64 in einer oder mehreren Spalten (z. B. in dem Interconnect-Block 108) angeordnet sein und einen unidirektionalen oder bidirektionalen Puffer für Eingabe/Ausgabe (E/A) umfassen, der Draht-zu-Draht-Konnektivität erleichtert. Zum Beispiel ist 7 eine Darstellung von Teilen von Zeilen (z. B. 102, 122) des programmierbaren Logik-Fabric 42 eines Sektors 60 des Fabric-Dies 40 der FPGA-Vorrichtung 12 von 3 gemäß Ausführungsformen der vorliegenden Offenbarung. Eine erste Zeile 120 des Sektors 60 kann auf einer Uferlinie 70 des Fabric-Dies 40, als Teil davon und parallel zu dieser (z. B. angrenzend an einen anderen Fabric-Die 40) angeordnet sein, während andere Zeilen des Sektors 60 (wie z. B. die zweite Zeile 122) getrennt und weiter entfernt von (und parallel zu) der Uferlinie 70 angeordnet sein können. Dementsprechend können die Interconnect-Blöcke 108 in einer Spalte (z. B. 110) des Sektors 60 angeordnet sein und (z. B. relativ zu der Uferlinie 70) tief in den Sektor 60 reichen. Zum Beispiel kann ein Sektor 60 42 Zeilen von Logikblöcken umfassen. Wenn eine Spalte 110 von Interconnect-Blöcken 108 über den gesamten Sektor 60 reicht (z. B. von Rand zu Rand oder Uferlinie zu Uferlinie) und es 14 Interconnect-Schnittstellen 64 für jeden Interconnect-Block 108 gibt, kann die Spalte 110 von Interconnect-Blöcken 108 588 Interconnect-Schnittstellen 64 umfassen. Diese größere Reichweite kann es den Interconnect-Schnittstellen 64 ermöglichen, leichter (z. B. mit kürzerer Routing-Länge und somit Latenz) auf horizontale Leitungen des Fabric-Dies 40 zuzugreifen). Die reduzierte Latenz über den Fabric-Die 40 kann sich stark auf die Systemleistungsfähigkeit auswirken. Zum Beispiel können Leitungsverzögerungen über den Fabric-Die 40 innerhalb von 40 Pikosekunden gehalten werden. Es versteht sich, dass diese Zahlen lediglich als Anschauungsbeispiele verwendet werden und jeder Sektor 60 mehr oder weniger Zeilen von Logikblöcken aufweisen kann, jeder Interconnect-Block 108 mehr oder weniger Interconnect-Schnittstellen 64 aufweisen kann und folglich jede Spalte 110 von Interconnect-Blöcken 108 mehr oder weniger Interconnect-Schnittstellen 64 umfassen kann. Auf diese Weise kann die Interconnect-Schnittstelle 64 direkte Konnektivität von Fabric-Die zu Fabric-Die bereitstellen, ohne ein Netzwerk-auf-Chip zu durchqueren. Der Fabric-Die 40 kann auch eine oder mehrere Spalten von LAB-Blöcken 126 umfassen.
  • Dementsprechend kann zur Aufnahme der Interconnect-Schnittstelle 64 in einen Sektor eines Fabric-Dies eine Spalte von Blöcken des Sektors 60 des Fabric-Dies, wie etwa eine LAB- oder MLAB-Spalte, mit der Interconnect-Spalte 110 ersetzt werden. Zum Beispiel können in einigen Fällen fünf LAB- oder MLAB-Spalten in einem Fabric-Die mit einer Interconnect-Spalte 110 ersetzt werden, obwohl eine beliebige geeignete Anzahl von LAB- oder MLAB-Spalten (z. B. 1 bis 100) ersetzt werden kann. In einem solchen Beispiel können ungefähr 2300 Drähte oder Leiter in fünf LAB- oder MLAB-Spalten in einem Sektor einer Fabric-Dies passen. Diese Drähte oder Leiter können unabhängig als Empfangs- und/oder Sendeschaltkreise für die Interconnect-Schnittstellen 64 konfiguriert werden. Für das programmierbare Logik-Fabric 42 des Fabric-Dies 40 kann diese Ersetzung einfach so erscheinen, als wäre die LAB- oder MLAB-Spalte durch eine andere Geistiges-Eigentum-Spalte (wie z. B. eine andere LAB- oder MLAB-Spalte) ersetzt worden. Das heißt, die Interconnect-Schnittstellen 64 können voll in das Kern-Fabric des Fabric-Dies 40 integriert werden und können sich das Konfigurationsschema (z. B. Wiederverwendung von Lokalsektormanagern und/oder CRAM-Bit auf den LAB- oder MLAB-Spalten, die ersetzt werden) und/oder das Taktungsschema des Kern-Fabric teilen.
  • Bei zusätzlichen oder alternativen Ausführungsformen kann die Interconnect-Schnittstelle 64 stärker verteilt werden (z. B. im Gegensatz zur Gruppierung der Interconnect-Schnittstelle 64 in einer oder mehreren Spalten 110 von Interconnect-Blöcken 108). Zum Beispiel kann, wie in 8 gezeigt, eine Interconnect-Schnittstelle 64 gemäß Ausführungsformen der vorliegenden Offenbarung in jedem LAB 126 und MLAB 102 angeordnet werden. Obwohl eine einzige Interconnect-Schnittstelle 64 als in jedem LAB 126 und MLAB 102 angeordnet gezeigt ist, versteht sich, dass jede beliebige geeignete Anzahl von Interconnect-Schnittstellen 64 (z. B. 1 bis 20) in jedem LAB 126 und MLAB 102 angeordnet werden kann und dass die Interconnect-Schnittstellen 64 in einer beliebigen geeigneten Anzahl oder in beliebigen geeigneten Typen von Logikblöcken angeordnet werden können.
  • Das in 8 dargestellte verteilte Schema kann insbesondere für Verbindungen von Fabric-Die zu Fabric-Die nützlich sein, da es eng mit Kern-Fabric-Komponenten, wie etwa LABs 126 und RT-Block 106, gekoppelt ist. Unter bestimmten Umständen kann der mindestens in 7 dargestellte Spaltenförmige Ansatz besser geeignet sein, wie etwa, wenn Datenbusverbindung kritisch ist oder physischer Platz in den LAB 126 und/oder MLAB 102 begrenzt ist. Zum Beispiel können einige Architekturen eine bestimmte Anzahl von Dioden zur elektrostatischen Entladung umfassen, die in den LAB 126 und/oder MLAB 102 anzuordnen sind, und dementsprechend kann es in den LAB 126 und/oder MLAB 102 nicht genug Platz zur Unterbringung der Interconnect-Schnittstellen 64 geben.
  • Die Interconnect-Schnittstelle 64 kann Latenz verringern, da sie eine größere Reichweite (z. B. Verbindung) in das programmierbare Fabric 42 des Fabric-Dies 40 aufweisen kann als die in monolithischen FPGA-Entwürfen verwendeten Schnittstellen zur horizontalen und/oder vertikalen Eingabe/Ausgabe (HIO und/oder VIO), ohne Routing-Schaltkreise des Fabric-Dies 40 zu blockieren oder zu sehr zu benutzen. Das heißt, statt Daten mittels einer übermäßigen Menge an programmierbarem Fabric des Sektors zwischen Quellen-/Ziel-Logikblöcken, die tief im Fabric-Die (z. B. getrennt und weiter entfernt von der Uferlinie des Fabric-Dies) positioniert sind, und der horizontalen und/oder vertikalen Eingabe-/Ausgabeschnittstellen, die typischerweise am Rand des Fabric-Dies (wie etwa der Uferlinie) positioniert sind, routen zu müssen, ermöglicht der hier offenbarte Fabric-Die 40 das Routen von Daten zwischen den Quellen-/Ziellogikblöcken und einer typischerweise näher befindlichen Interconnect-Schnittstelle 64, die die Daten schnell zu einem jeweiligen elektrisch gekoppelten Microbump 80 (der seinerseits elektrisch mit einem Ziel-/Quellen-Fabric-Die gekoppelt sein kann) senden und von diesem empfangen kann. Anders ausgedrückt kann, da die Interconnect-Schnittstellen 64 über den Fabric-Die 40 verteilt werden können, das Routing nicht auf die Ränder des programmierbaren Fabric 42 beschränkt sein, und traditioneller Routingstau kann gemindert werden. Zum Beispiel kann die Interconnect-Schnittstelle 64 mindestens einige der vertikalen Eingabe-/Ausgabeschnittstellen ersetzen und kann zum Beispiel zehnmal mehr Reichweite für Drahtverbindung zu dem Fabric-Die 40 als die horizontalen und/oder vertikalen Eingabe-/Ausgabeschnittstellen bereitstellen.
  • Obgleich die in der vorliegenden Offenbarung dargelegten Ausführungsformen auf verschiedene Arten abwandelbar und alternativ ausführbar sind, wurden in den Zeichnungen konkrete Ausführungsformen rein beispielhaft gezeigt und hierin ausführlich beschrieben. Es versteht sich jedoch, dass die Offenbarung nicht auf die konkreten Ausführungsformen, die offenbart werden, begrenzt sein soll. Die Offenbarung soll sämtliche Abwandlungen, Äquivalente und Alternativen abdecken, die mit dem Gedanken der Offenbarung vereinbar sind und in ihren Schutzbereich fallen, wie von den folgenden beigefügten Ansprüchen definiert.
  • Die hierin dargelegten und beanspruchten Techniken beziehen sich und sind anwendbar auf physische Objekte sowie konkrete Beispiele aus der Praxis, die nachweislich den gegenwärtigen Stand der Technik verbessern, und sind deshalb nicht abstrakt, unkörperhaft oder rein theoretisch. Werden ferner in den am Ende dieser Patentschrift angehängten Ansprüchen ein oder mehrere Elemente als „Mittel zum [z. B. Durchführen einer Funktion] ...“ („means for [perform]ing [a function] ...“) oder „Schritt zum [z. B. Durchführen einer Funktion] ...“ („step for [perform]ing [a function] ...“) bezeichnet, sind diese Elemente nach § 112(f) Bd. 35 U.S.C. auszulegen. Werden in den Ansprüchen Elemente hingegen anders bezeichnet, sind diese Elemente nicht nach § 112(f) Bd. 35 U.S.C. auszulegen.

Claims (25)

  1. Integriertes Schaltungssystem, umfassend: einen ersten Fabric-Die, umfassend: eine erste Mehrzahl von Sektoren, wobei ein erster Sektor der ersten Mehrzahl von Sektoren Folgendes umfasst: eine erste Zeile von Logikblöcken, die erste programmierbare Fabric-Schaltkreise umfassen; eine in der ersten Zeile von Logikblöcken angeordnete erste Interconnect-Schnittstelle zwischen Dies, die mit den ersten programmierbaren Fabric-Schaltkreise gekoppelt ist; und einen ersten Microbump, der elektrisch mit der ersten Interconnect-Schnittstelle zwischen Dies gekoppelt ist; und einen zweiten Fabric-Die, umfassend: eine zweite Mehrzahl von Sektoren, wobei ein zweiter Sektor der zweiten Mehrzahl von Sektoren Folgendes umfasst: eine zweite Zeile von Logikblöcken, die zweite programmierbare Fabric-Schaltkreise umfassen, und eine in der zweiten Zeile von Logikblöcken angeordnete zweite Interconnect-Schnittstelle zwischen Dies, die kommunikativ mit den zweiten programmierbaren Fabric-Schaltkreisen gekoppelt ist; und einen zweiten Microbump, der elektrisch mit der zweiten Interconnect-Schnittstelle zwischen Dies gekoppelt ist, wobei: der erste Microbump und der zweite Microbump elektrisch miteinander gekoppelt sind; und die erste Interconnect-Schnittstelle zwischen Dies und die zweite Interconnect-Schnittstelle zwischen Dies dafür ausgelegt sind, Kommunikation zwischen dem ersten Fabric-Die und dem zweiten Fabric-Die über den ersten Microbump und den zweiten Microbump zu ermöglichen.
  2. Integriertes Schaltungssystem nach Anspruch 1, das ein Zwischenglied umfasst, wobei der erste Fabric-Die und der zweite Fabric-Die auf dem Zwischenglied angeordnet sind.
  3. Integriertes Schaltungssystem nach Anspruch 2, wobei der erste Microbump und der zweite Microbump über eine in dem Zwischenglied angeordnete Draht-zu-Draht-Verbindung elektrisch miteinander gekoppelt sind.
  4. Integriertes Schaltungssystem nach Anspruch 1, wobei die erste Zeile von Logikblöcken auf einer Uferlinie des ersten Fabric-Dies angeordnet und zu der Uferlinie des ersten Fabric-Dies parallel ist.
  5. Integriertes Schaltungssystem nach einem der Ansprüche 1-4, wobei der erste Sektor eine dritte Zeile von Logikblöcken umfasst, die auf einer Uferlinie des ersten Fabric-Dies und parallel zu der Uferlinie des ersten Fabric-Dies sind, wobei die erste Zeile von Logikblöcken an die dritte Zeile von Logikblöcken angrenzt und parallel zu der Uferlinie des ersten Fabric-Dies angeordnet ist.
  6. Integriertes Schaltungssystem nach einem der Ansprüche 1-4, das eine Mehrzahl von horizontalen Eingangs-/Ausgangsschnittstellen und eine Mehrzahl von vertikalen Eingangs-/Ausgangsschnittstellen umfasst, wobei die Mehrzahl von horizontalen Eingangs-/Ausgangsschnittstellen und die Mehrzahl von vertikalen Eingangs-/Ausgangsschnittstellen dafür ausgelegt sind, dem ersten Fabric-Die zu ermöglichen, mit dem zweiten Fabric-Die zu kommunizieren.
  7. Fabric-Die, umfassend: eine Uferlinie; und eine Mehrzahl von Sektoren, wobei ein Sektor der Mehrzahl von Sektoren Folgendes umfasst: eine Menge von Logikblöcken, die programmierbare Fabric-Schaltkreise umfassen, wobei die Menge von Logikblöcken von der Uferlinie des Fabric-Dies getrennt ist, und eine in der Menge von Logikblöcken angeordnete Interconnect-Schnittstelle zwischen Dies, die kommunikativ mit den programmierbaren Fabric-Schaltkreisen gekoppelt ist, wobei die Interconnect-Schnittstelle zwischen Dies für kommunikative Kopplung mit einem zweiten Fabric-Die über eine Draht-zu-Draht-Verbindung ausgelegt ist.
  8. Fabric-Die nach Anspruch 7, wobei der zweite Fabric-Die eine zweite Interconnect-Schnittstelle zwischen Dies umfasst, wobei die Interconnect-Schnittstelle zwischen Dies für kommunikative Kopplung mit der zweiten Interconnect-Schnittstelle zwischen Dies des zweiten Fabric-Dies über die Draht-zu-Draht-Verbindung ausgelegt ist.
  9. Fabric-Die nach Anspruch 7, der einen elektrisch mit der Interconnect-Schnittstelle zwischen Dies gekoppelten Microbump umfasst, wobei der Microbump auf einem Zwischenglied angeordnet ist, wobei der zweite Fabric-Die einen auf dem Zwischenglied angeordneten zweiten Microbump umfasst, wobei der Microbump und der zweite Microbump über die Draht-zu-Draht-Verbindung elektrisch miteinander gekoppelt sind.
  10. Fabric-Die nach Anspruch 9, wobei die Interconnect-Schnittstelle zwischen Dies auf einer oberen Oberfläche des Fabric-Dies angeordnet ist und wobei der Microbump auf einer unteren Oberfläche des Fabric-Dies angeordnet ist.
  11. Fabric-Die nach einem der Ansprüche 7-10, wobei der Sektor eine Mehrzahl von Interconnect-Schnittstellen zwischen Dies umfasst, die in einer Spalte des Sektors angeordnet sind, wobei die Mehrzahl von Interconnect-Schnittstellen zwischen Dies die Interconnect-Schnittstelle zwischen Dies umfasst.
  12. Fabric-Die nach einem der Ansprüche 7-10, wobei die Menge von Logikblöcken eine Mehrzahl von Logikarrayblöcken umfasst, wobei mindestens einige Logikarrayblöcke der Mehrzahl von Logikarrayblöcken eine jeweilige Interconnect-Schnittstelle zwischen Dies umfassen.
  13. Fabric-Die nach einem der Ansprüche 7-10, wobei der Sektor eine Mehrzahl von Mengen von Logikblöcken umfasst, die die Menge von Logikblöcken umfasst, wobei mindestens einige Mengen von Logikblöcken der Mehrzahl von Mengen von Logikblöcken mehrere Logikarrayblöcke umfassen, wobei mindestens einige Logikarrayblöcke der Mehrzahl von Logikarrayblöcken eine jeweilige Interconnect-Schnittstelle zwischen Dies umfassen.
  14. Fabric-Die nach einem der Ansprüche 7-10, wobei der Sektor eine zweite Menge von Logikblöcken umfasst, die auf der Uferlinie des Fabric-Dies angeordnet sind, wobei die Menge von Logikblöcken angrenzend an die zweite Menge von Logikblöcken, aber weiter von der Uferlinie entfernt als die zweite Menge von Logikblöcken, angeordnet ist.
  15. Fabric-Die, umfassend: eine Mehrzahl von Sektoren, wobei ein Sektor der Mehrzahl von Sektoren Folgendes umfasst: eine Spalte von Interconnect-Blöcken, die programmierbare Fabric-Schaltkreise umfassen; und eine Mehrzahl von Interconnect-Schnittstellen zwischen Dies, wobei mindestens eine Interconnect-Schnittstelle zwischen Dies der Mehrzahl von Interconnect-Schnittstellen zwischen Dies für kommunikative Kopplung mit einem zweiten Fabric-Die ausgelegt ist.
  16. Fabric-Die nach Anspruch 15, der eine Mehrzahl von Microbumps umfasst, wobei die mindestens eine Interconnect-Schnittstelle zwischen Dies für elektrische Kopplung mit einem jeweiligen Microbump der Mehrzahl von Microbumps ausgelegt ist.
  17. Fabric-Die nach Anspruch 16, der eine untere Oberfläche umfasst, wobei der jeweilige Microbump der Mehrzahl von Microbumps auf der unteren Oberfläche angeordnet ist.
  18. Fabric-Die nach Anspruch 17, der eine obere Oberfläche umfasst, wobei die mindestens eine Interconnect-Schnittstelle zwischen Dies auf der oberen Oberfläche angeordnet ist.
  19. Fabric-Die nach Anspruch 18, der eine Mehrzahl von Leitern umfasst, wobei mindestens ein Leiter der Mehrzahl von Leitern: die mindestens eine Interconnect-Schnittstelle zwischen Dies elektrisch mit dem jeweiligen Microbump der Mehrzahl von Microbumps koppelt; und sich von der oberen Oberfläche des Fabric-Dies zu der unteren Oberfläche des Fabric-Dies erstreckt.
  20. Fabric-Die nach einem der Ansprüche 15-19, wobei die Spalte von Interconnect-Blöcken zehn oder mehr Interconnect-Schnittstellen zwischen Dies umfasst.
  21. Verfahren, umfassend: Senden von Kommunikation von einem ersten Sektor von Field-Programmable-Gate-Array-Schaltkreisen auf einem ersten integrierten Schaltungschip auf einem Substrat über eine erste Interconnect-Schnittstelle zwischen Dies, die in einem ersten Sektor von Field-Programmable-Gate-Array-Schaltkreisen angeordnet ist; und Empfangen der Kommunikation in einem zweiten Sektor von Field-Programmable-Gate-Array-Schaltkreisen auf einem zweiten integrierten Schaltungs-Die darauf über eine zweite Interconnect-Schnittstelle zwischen Dies, die in dem zweiten Sektor von Field-Programmable-Gate-Array-Schaltkreisen angeordnet ist; wobei die erste Interconnect-Schnittstelle zwischen Dies und die zweite Interconnect-Schnittstelle zwischen Dies die Kommunikation über eine Draht-zu-Draht-Verbindung in dem Substrat senden und empfangen.
  22. Verfahren nach Anspruch 21, wobei die Draht-zu-Draht-Verbindung in dem Substrat eine Mehrzahl von Microbumps umfasst.
  23. Verfahren nach Anspruch 21 oder 22, wobei die Draht-zu-Draht-Verbindung in dem Substrat eine Draht-zu-Draht-Verbindung durch eine in dem Substrat eingebettete Mehrfach-Die-Interconnect-Brücke umfasst.
  24. Verfahren nach Anspruch 21 oder 22, wobei die Draht-zu-Draht-Verbindung in dem Substrat eine Draht-zu-Draht-Verbindung durch das Substrat umfasst, wobei das Substrat ein Zwischenglied umfasst.
  25. Verfahren nach Anspruch 21 oder 22, wobei die erste Interconnect-Schnittstelle zwischen Dies nicht in Schaltkreisen entlang einer Uferlinie des ersten integrierten Schaltungs-Dies angeordnet ist.
DE102020113949.7A 2019-06-28 2020-05-25 Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen Pending DE102020113949A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/456,647 2019-06-28
US16/456,647 US10886218B2 (en) 2019-06-28 2019-06-28 Fabric die to fabric die interconnect for modularized integrated circuit devices

Publications (1)

Publication Number Publication Date
DE102020113949A1 true DE102020113949A1 (de) 2020-12-31

Family

ID=68238122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020113949.7A Pending DE102020113949A1 (de) 2019-06-28 2020-05-25 Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen

Country Status (3)

Country Link
US (3) US10886218B2 (de)
CN (1) CN112151486A (de)
DE (1) DE102020113949A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10686731B2 (en) * 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
US10686872B2 (en) * 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
US11557541B2 (en) * 2018-12-28 2023-01-17 Intel Corporation Interconnect architecture with silicon interposer and EMIB
US10666261B2 (en) * 2018-12-28 2020-05-26 Intel Corporation High-speed core interconnect for multi-die programmable logic devices
US10886218B2 (en) * 2019-06-28 2021-01-05 Intel Corporation Fabric die to fabric die interconnect for modularized integrated circuit devices
CN111753481B (zh) * 2020-07-01 2022-03-22 无锡中微亿芯有限公司 利用有源硅连接层平衡延迟的多裸片fpga
CN112861464B (zh) * 2021-03-16 2022-08-16 上海壁仞智能科技有限公司 集成电路芯片的设计方法和集成电路芯片

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036660B2 (en) * 2019-03-28 2021-06-15 Intel Corporation Network-on-chip for inter-die and intra-die communication in modularized integrated circuit devices
US10886218B2 (en) * 2019-06-28 2021-01-05 Intel Corporation Fabric die to fabric die interconnect for modularized integrated circuit devices

Also Published As

Publication number Publication date
US20210111116A1 (en) 2021-04-15
US20190326210A1 (en) 2019-10-24
US20230378061A1 (en) 2023-11-23
US10886218B2 (en) 2021-01-05
CN112151486A (zh) 2020-12-29
US11670589B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
DE102020113949A1 (de) Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen
DE102020108217A1 (de) Die-zu-Die-Verbindungsstruktur für modularisierte integrierte Schaltungsvorrichtungen
DE102009030524B4 (de) Baugruppe und Verfahren für eine integrierte Schaltung mit mehreren Chips
US11080449B2 (en) Modular periphery tile for integrated circuit device
DE112011105905B4 (de) Speichergerät mit gestapeltem Speicher, der Veränderlichkeit bei Zusammenschaltungen von Geräten erlaubt
DE102017109163A1 (de) Skalierbare Mehrkern-Systemchip-Architektur auf mehreren Einzelchips für Highend-Mikrocontroller
DE112007000443B4 (de) Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung
DE102007039763A1 (de) Integrierte Schaltung, Chipstapel und Datenverarbeitungssystem
DE102015118002A1 (de) Zellenlayout einer Halbleitervorrichtung
DE102016212796A1 (de) Halbleitervorrichtung mit Struktur zum Verbessern von Spannungsabfall und Vorrichtung, die diese umfasst
DE102019112628A1 (de) Dimm für speicherkanal mit hoher bandbreite
DE102020111905A1 (de) Grobkörniges programmierbares routing-netz für logikvorrichtungen
DE112017006705T5 (de) Hyperchip
DE112006003503T5 (de) Mehrfachanschluss-Speicher mit Banksätzen zugeordneten Anschlüssen
DE112021002870T5 (de) Halbleiterschaltungs-entwurf und einheits-pin-anordnung
DE102007034120A1 (de) System und Verfahren zum Verbinden einer Prozessoreinheit mit einer Speichereinheit
DE112016002891T5 (de) Eine skalierbare Kreuzschienenvorrichtung und ein Verfahren zum Anordnen von Kreuzschienenschaltungen
DE112017008087T5 (de) Energie-gemeinsame zellenarchitektur
DE102006025133A1 (de) Speicher- und Speicherkommunikationssystem
DE102020115577A1 (de) Verteilte E/A-Schnittstellen in modularisierten integriertenSchaltungsvorrichtungen
DE102016213044A1 (de) Durchkontaktierungsstruktur zur Verringerung des Übersprechens zwischen differenziellen Signalpaaren
DE202012013729U1 (de) Leistungsstarke AHCI Schnittstelle
DE102016116590A1 (de) Halbleiterschaltung, welche ein Flip-Flop aufweist
DE102022109273A1 (de) Unabhängige on-chip-mehrfachverschaltung
DE112017001063T5 (de) Erstellung und Wiederverwendung anpassbarer strukturierter Verbindungen