DE112022000550T5 - Komplementäre chip-zu-chip-schnittstelle - Google Patents

Komplementäre chip-zu-chip-schnittstelle Download PDF

Info

Publication number
DE112022000550T5
DE112022000550T5 DE112022000550.5T DE112022000550T DE112022000550T5 DE 112022000550 T5 DE112022000550 T5 DE 112022000550T5 DE 112022000550 T DE112022000550 T DE 112022000550T DE 112022000550 T5 DE112022000550 T5 DE 112022000550T5
Authority
DE
Germany
Prior art keywords
pins
transmit
chip
external interface
integrated circuit
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
DE112022000550.5T
Other languages
English (en)
Inventor
Sergio Kolor
Dany Davidov
Mark Pilip
Nir Leshem
Lior Zimet
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE112022000550T5 publication Critical patent/DE112022000550T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Ein System schließt eine erste Instanz und eine zweite Instanz einer integrierten Schaltung ein. Die integrierten Schaltungen schließen jeweilige externe Schnittstellen mit einem physischen Stiftlayout ein, das Sende- und Empfangsstifte für einen bestimmten Bus, die sich in komplementären Positionen relativ zu einer Symmetrieachse befinden, aufweist. Die externen Schnittstellen der ersten und der zweiten Instanz der integrierten Schaltung sind so positioniert, dass die Sende- und Empfangsstifte für das gegebene E/A-Signal auf der ersten Instanz jeweils an den Empfangs- und Sendestiften für das gegebene E/A-Signal auf der zweiten Instanz ausgerichtet sind.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die hierin beschriebenen Ausführungsformen beziehen sich auf Systems-on-a-Chip (SOCs) und insbesondere auf Schnittstellen zum Koppeln mehrerer SOCs.
  • Beschreibung des Stands der Technik
  • Die integrierten Schaltungen (ICs) eines System-on-a-Chip (SOC) schließen im Allgemeinen einen oder mehrere Prozessoren, die als zentrale Verarbeitungseinheiten (CPUs) für ein System dienen, zusammen mit verschiedenen anderen Komponenten, wie Speichersteuerungen und Peripheriekomponenten, ein. Zusätzliche Komponenten, einschließlich einer oder mehrerer zusätzlicher ICs, können in einer bestimmten SOC-IC eingeschlossen sein, um eine gegebene Vorrichtung zu bilden. Das Erhöhen einer Anzahl von Prozessoren und anderen diskreten Komponenten, die in einer SOC-IC eingeschlossen sind, kann für eine erhöhte Leistung wünschenswert sein. Zusätzlich können Kosteneinsparungen in einer Vorrichtung erreicht werden, indem die Anzahl anderer Komponenten reduziert wird, die zusätzlich zu der SOC-IC benötigt werden, um die gegebene Vorrichtung zu bilden. Die Vorrichtung kann kompakter (von einer kleineren Größe) sein, wenn mehr vom Gesamtsystem in eine einzige IC integriert ist. Durch das Integrieren von mehr Komponenten in das SOC kann des Weiteren ein reduzierter Stromverbrauch für die Vorrichtung als Ganze erreicht werden.
  • Ein gegebenes SOC kann in einer Vielfalt von Anwendungen verwendet werden, mit unterschiedlichen Leistungs-, Kosten- und Stromüberlegungen. Für eine kostenempfindliche Anwendung ist möglicherweise zum Beispiel die Leistung nicht so wichtig wie die Kosten und der Stromverbrauch. Andererseits werden möglicherweise für eine leistungsorientierte Anwendung die Kosten und der Stromverbrauch nicht hervorgehoben. Dementsprechend kann eine Reihe von SOC-Designs verwendet werden, um die Vielfalt von Anwendungen zu unterstützen.
  • Das Erhöhen der Wiederverwendung eines gegebenen SOC-Designs kann wünschenswert sein, um Kosten zu reduzieren, die mit dem Entwerfen, Verifizieren, Herstellen und Beurteilen eines neuen SOC-Designs verbunden sind. Dementsprechend ist eine Technik zum Skalieren eines einzelnen SOC-Designs für eine Reihe von Anwendungen wünschenswert.
  • KURZDARS TELLUNG
  • In einer Ausführungsform schließt ein System eine erste Instanz einer integrierten Schaltung mit einer externen Schnittstelle mit einem physischen Stiftlayout mit Sende- und Empfangsstiften für einen gegebenen bestimmten Bus, die sich in komplementären Positionen relativ zu einer Symmetrieachse befinden, ein. Das System schließt ferner eine zweite Instanz der integrierten Schaltung mit der externen Schnittstelle ein. Die externen Schnittstellen der ersten und zweiten Instanz der integrierten Schaltung können so positioniert sein, dass die Sende- und Empfangsstifte für den bestimmten Bus an der ersten Instanz jeweils an den Empfangs- und Sendestiften für den bestimmten Bus an der zweiten Instanz ausgerichtet sind.
  • In einer weiteren Ausführungsform kann die integrierte Schaltung eine Vielzahl von Senderschaltungen und eine Vielzahl von Empfängerschaltungen einschließen, die jeweiligen einer Vielzahl von Sendestiften und einer Vielzahl von Empfangsstiften entsprechen. Die Vielzahl von Senderschaltungen und die Vielzahl von Empfängerschaltungen können in einem physischen Layout angeordnet sein, das dem physischen Stiftlayout entspricht. In einer anderen Ausführungsform kann die integrierte Schaltung eine Vielzahl von On-Chip-Routern einschließen, die mit einer Busschaltung gekoppelt sind, die eine Kommunikation auf dem Chip und zwischen der ersten und der zweiten Instanz der integrierten Schaltung unterstützt. Die Vielzahl von On-Chip-Routern kann mit jeweiligen Abschnitten der externen Schnittstelle gekoppelt sein.
  • In einer Ausführungsform können die Sende- und Empfangsstifte der externen Schnittstelle in Sätze von Stiften gruppiert sein. Die Sätze von Stiften können eine übliche Anzahl von Stiften aufweisen, und einzelne der Vielzahl von On-Chip-Routern können einem jeweiligen oder mehreren der Sätze von Stiften zugewiesen sein. In einem weiteren Beispiel kann ein bestimmter On-Chip-Router der Vielzahl von On-Chip-Routern eine bestimmte Anzahl von Stiften einschließen, die sich von der üblichen Anzahl unterscheidet. Mindestens ein Stift des jeweiligen einen oder der mehreren Sätze von Stiften, die dem bestimmten On-Chip-Router zugewiesen sind, kann ungenutzt sein.
  • In einem Beispiel kann ein erster On-Chip-Router der Vielzahl von On-Chip-Routern mit dem Sendestift für ein gegebenes E/A-Signal gekoppelt sein. Ein zweiter On-Chip-Router der Vielzahl von On-Chip-Routern kann mit dem Empfangsstift für ein gegebenes E/A-Signal gekoppelt sein. Der erste On-Chip-Router kann mit dem zweiten On-Chip-Router gekoppelt sein. In einem anderen Beispiel kann das System ferner einen Schnittstellenwrapper einschließen, wobei der Schnittstellenwrapper konfiguriert ist, um den Sendestift zu einer Standardstiftbelegung im ersten On-Chip-Router zu leiten und den Empfangsstift zu einer Nichtstandardstiftbelegung im zweiten On-Chip-Router zu leiten.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die folgende detaillierte Beschreibung nimmt Bezug auf die begleitenden Zeichnungen, die nun kurz beschrieben werden.
    • 1 veranschaulicht ein Blockdiagramm einer Ausführungsform eines Systems mit zwei integrierten Schaltungen, die miteinander gekoppelt sind.
    • 2 zeigt ein Blockdiagramm einer Ausführungsform einer integrierten Schaltung mit einer externen Schnittstelle.
    • 3 stellt ein Blockdiagramm eines Systems mit zwei integrierten Schaltungen unter Verwendung eines Schnittstellenwrappers dar, um Stiftbelegungen jeweiliger externer Schnittstellen zu leiten.
    • 4 veranschaulicht ein Blockdiagramm einer Ausführungsform einer integrierten Schaltung mit einer externen Schnittstelle, die Stiftbündel verwendet.
    • 5A stellt zwei Beispiele von zwei integrierten Schaltungen dar, die unter Verwendung komplementärer Schnittstellen miteinander gekoppelt sind.
    • 5B stellt zwei zusätzliche Beispiele von zwei integrierten Schaltungen dar, die miteinander gekoppelt sind.
    • 6 veranschaulicht ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Übertragen von Daten zwischen zwei gekoppelten integrierten Schaltungen.
    • 7 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Leiten von Signaldaten zwischen einer externen Schnittstelle und On-Chip-Routern innerhalb einer integrierten Schaltung.
    • 8 stellt verschiedene Ausführungsformen von Systemen dar, die gekoppelte integrierte Schaltungen einschließen.
    • 9 zeigt ein Blockdiagramm eines beispielhaften computerlesbaren Mediums gemäß einigen Ausführungsformen.
  • Während in dieser Offenbarung beschriebene Ausführungsformen verschiedenen Abänderungen und alternativen Formen unterliegen können, sind spezifische Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt und werden hierin detailliert beschrieben. Es versteht sich jedoch, dass die Zeichnungen und die detaillierte Beschreibung dazu die Ausführungsformen der offenbarten besonderen Form nicht einschränken sollen, sondern dass im Gegenteil alle Modifikationen, Äquivalente und Alternativen, die innerhalb des Wesens und Schutzumfangs der beiliegenden Patentansprüche sind, abgedeckt werden sollen.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Wie vorstehend beschrieben, kann ein gegebenes IC-Design in einer Vielfalt von Anwendungen mit einer Reihe von Leistungs- und Kostenüberlegungen verwendet werden. Zusätzlich kann die Wiederverwendung eines bestehenden IC-Designs Kosten im Vergleich zum Entwerfen, Verifizieren, Herstellen und Beurteilen eines neuen IC-Designs reduzieren. Eine Technik zum Skalieren eines einzelnen IC-Designs über eine Reihe von Anwendungen besteht darin, mehrere Instanzen der IC in Anwendungen zu verwenden, die Leistung im Vergleich zu Kosten hervorheben, und eine einzelne Instanz der IC in den kostenempfindlichen Anwendungen zu verwenden.
  • Die Verwendung mehrerer Instanzen der IC kann mehrere Herausforderungen darstellen. Einige Anwendungen, zum Beispiel mobile Vorrichtungen, verfügen über einen begrenzten Platz für mehrere ICs, die eingeschlossen werden sollen. Des Weiteren kann, um die Latenz zu reduzieren, die mit der Kommunikation zwischen ICs verbunden ist, eine externe Schnittstelle zwischen ICs eine große Anzahl von Stiften einschließen, wodurch eine große Anzahl von Bits parallel zwischen zwei oder mehr ICs ausgetauscht werden kann. Zum Beispiel kann eine Schnittstelle für ein Mehrkern-SOC einen systemweiten Kommunikationsbus mit Hunderten oder sogar tausend oder mehr parallel verlaufenden Signalen verwenden. Um zwei oder mehr eines solchen SOC miteinander zu koppeln, kann eine Schnittstelle erforderlich sein, die Zugriff auf einen signifikanten Abschnitt des Kommunikationsbusses bereitstellt, was möglicherweise hundert oder mehr Stifte erfordert, die über die zwei oder mehr Chips verdrahtet werden sollen. Zusätzlich sollten, um die interne Kommunikationsfrequenz des Kommunikationsbusses zu erreichen oder um sich dieser auch nur anzunähern, die Zeiteigenschaften der großen Anzahl von Stiften der Schnittstelle zwischen ICs konsistent sein, um zu vermeiden, dass unterschiedliche Bits eines gleichen Datenworts auf unterschiedlichen Taktzyklen ankommen. Das Herstellen einer großen Hochgeschwindigkeitsschnittstelle mit einer einzelnen Stiftanordnung, sodass zwei oder mehr Instanzen eines gleichen IC-Chips in einem kleinen physischen Raum miteinander gekoppelt werden können, kann eine signifikante Herausforderung für IC-Designer darstellen.
  • Wie weiter unten erläutert wird, beschreibt die vorliegende Offenbarung die Verwendung von „komplementären“ Schnittstellen zwischen ICs. Die vorliegende Offenbarung erkennt, dass solche Schnittstellen zwischen ICs das Koppeln von zwei oder mehr Instanzen eines gleichen IC-Designs in begrenztem Raum unterstützen und Skalierbarkeit eines IC-Designs bereitstellen, um eine Reihe von Anwendungen zu unterstützen. Eine solche skalierbare Schnittstelle kann eine Stiftanordnung einschließen, die es ermöglicht, dass zwei ICs physisch mit wenig bis keiner Kreuzung von Drähten zwischen den zwei ICs gekoppelt werden, wenn die zwei ICs flächig zueinander weisend oder entlang eines gemeinsamen Rands der beiden Chips platziert sind. Um die Konsistenz der Leistungseigenschaften über die Stifte der Schnittstelle zu erhöhen, kann ein einzelnes Design für eine kleinere Anzahl von Stiften, z. B. sechzehn, zweiunddreißig oder dergleichen, wiederholt werden, bis eine gewünschte Anzahl von Stiften für die Schnittstelle implementiert ist. Eine solche Schnittstelle zwischen ICs kann es einer IC ermöglichen, in einer breiten Palette von Anwendungen verwendet zu werden, indem eine Leistungserhöhung durch Kopplung von zwei oder mehr Instanzen der IC ermöglicht wird. Diese Schnittstelle kann ferner ermöglichen, dass die zwei oder mehr ICs auf eine Weise miteinander gekoppelt werden, die es ermöglicht, dass die gekoppelten ICs in mobilen Anwendungen oder anderen Anwendungen, in denen der physische Raum für mehrere ICs begrenzt ist, verwendet werden.
  • Zwei Schnittstellen zwischen ICs können als „komplementär“ im Sinne dieser Offenbarung bezeichnet werden, wenn Stifte mit „komplementären Funktionen“ so positioniert sind, dass sie „komplementäre Layouts“ aufweisen. Ein Paar Schnittstellenstifte weist „komplementäre Funktionen“ auf, wenn ein erster dieser Stifte auf einer integrierten Schaltung dazu ausgelegt ist, von einem zweiten dieser Stifte auf einer anderen integrierten Schaltung aufgenommen zu werden. Senden und Empfangen sind ein Beispiel für komplementäre Funktionen, da ein Sendestift auf einer IC, der ein Ausgangssignal eines bestimmten Bits eines Datenworts bereitstellt, dazu ausgelegt ist, mit einem Empfangsstift auf einer anderen IC gekoppelt zu werden, der das bestimmte Bit des Datenworts als ein Eingangssignal akzeptiert. In ähnlicher Weise wird ein Stift, der einen Taktsignalausgang trägt, so betrachtet, dass er eine komplementäre Funktion zu einem zugehörigen Stift aufweist, der in der Lage ist, das Taktsignal als Eingabe zu empfangen.
  • Es wird darauf hingewiesen, dass der Begriff „Symmetrieachse“ über diese gesamte Offenbarung hinweg verwendet wird. Verschiedene Ausführungsformen einer Symmetrieachse sind in 1, 2, 4, 5A und 5B gezeigt und nachstehend unter Bezugnahme auf diese Figuren beschrieben.
  • Stifte mit komplementärer Funktion weisen ein komplementäres Layout auf, wenn die Stifte relativ zu einer Symmetrieachse der Schnittstelle so angeordnet sind, dass eine erste integrierte Schaltung, die die Schnittstelle aufweist, neben oder gekoppelt mit einer zweiten Instanz der integrierten Schaltung angeordnet ist, sodass die Stifte, die die komplementären Funktionen aufweisen, ausgerichtet sind. Es kann auch so ausgedrückt werden, dass sich solche Stifte in „komplementären Positionen“ befinden. Ein Beispiel für ein komplementäres Layout wären Sendestifte für bestimmte Signale (z. B. Bit 0 und Bit 1 eines Datenbusses), die am weitesten bzw. am zweitweitesten von der Symmetrieachse entfernt auf einer Seite der Achse positioniert sind, wobei die komplementären Empfangsstifte (z. B. Bit 0 und Bit 1 des Datenbusses) am weitesten und am zweitweitesten von der Symmetrieachse entfernt auf einer gegenüberliegenden Seite der Achse platziert sind. In einer solchen Ausführungsform kann eine erste Instanz einer IC mit der komplementären Schnittstelle relativ zu einer zweiten Instanz der IC mit der gleichen Schnittstelle zwischen ICs positioniert sein, sodass die Sendestifte der ersten Instanz an den Empfangsstiften der zweiten Instanz ausgerichtet sind und sodass die Empfangsstifte der ersten Instanz an den Sendestiften der zweiten Instanz ausgerichtet sind. Wie in Bezug auf 5A und 5B weiter erläutert wird, werden Stifte auf zwei identischen Schnittstellen als „ausgerichtet“ angesehen, wenn die Umfänge der beiden Schnittstellen aneinander ausgerichtet sind und eine gerade Linie, die senkrecht zu den beiden Schnittstellen ist, durch die betreffenden Stifte gezogen werden kann. Das Ausrichtungskonzept, wie es sich auf Stifte einer Schnittstelle bezieht, wird nachstehend in Bezug auf 5A und 5B weiter beschrieben.
  • Ein solches komplementäres Stiftlayout ermöglicht es, dass die erste und die zweite Instanz über ihre jeweiligen externen Schnittstellen gekoppelt werden können, ohne dass sich Signalpfade zwischen den beiden Instanzen kreuzen. Ein Paar Schnittstellenstifte, die komplementäre Funktionen sowie komplementäre Positionen aufweisen, werden als „komplementäre Stifte“ bezeichnet. Paare von Sende- und Empfangsstiften werden hierin verwendet, um ein Beispiel für komplementäre Stifte zu zeigen. In anderen Ausführungsformen können komplementäre Stifte jedoch Paare von bidirektionalen Stiften einschließen, die so konfiguriert sind, dass Signale in beiden Richtungen basierend auf Einstellungen eines oder mehrerer Steuersignale gesendet werden können. Zum Beispiel können komplementäre Stifte eines Datenbusses konfigurierbar sein, um Daten abhängig davon zu senden oder zu empfangen, ob Daten gelesen oder geschrieben werden.
  • Es wird darauf hingewiesen, dass, wie hierin erwähnt, eine Schnittstelle immer noch als komplementär betrachtet werden kann, wenn nur ein Abschnitt der komplementären Stiftfunktionen der Schnittstelle in komplementären Positionen ist. Zum Beispiel kann eine gegebene Schnittstelle zwischen ICs Stifte einschließen, die einer Vielzahl von Kommunikationsbussen zugeordnet sind, wie zwei oder mehr von einem Speicherbus, einem Anzeigebus, einem Netzwerkbus und dergleichen. Die gegebene Schnittstelle zwischen ICs wird als komplementär angesehen, wenn Stifte mit komplementären Funktionen, die mindestens einem der eingeschlossenen Busse zugeordnet sind, in einem komplementären Layout relativ zu der Symmetrieachse der gegebenen Schnittstelle angeordnet sind. Andere Busse der Schnittstelle und/oder andere Signale, die nicht direkt mit einem bestimmten Kommunikationsbus verbunden sind, weisen möglicherweise keine Stifte in komplementären Positionen auf.
  • Es wird darauf hingewiesen, dass in den in dieser Offenbarung veranschaulichten Beispielen auf die Verwendung von zwei oder mehr ICs eines gleichen Designs Bezug genommen wird. Es wird in Betracht gezogen, dass eine gleiche externe Schnittstelle mit einem gleichen physischen Stiftlayout verwendet werden kann, um ICs mit einem unterschiedlichen Design zu koppeln. Zum Beispiel kann eine Familie unterschiedlicher IC-Designs das gleiche Design externer Schnittstellen über die Familie hinweg einschließen, um verschiedene Kombinationen von Instanzen von zwei oder mehr der ICs zu ermöglichen. Eine solche Vielfalt von Kombinationen kann eine hochskalierbare Systemlösung über eine breite Palette von Anwendungen bereitstellen, wodurch zum Beispiel die Verwendung kleinerer, weniger teurer Mitglieder der Familie in kostenempfindlichen Anwendungen und die Verwendung teurerer, leistungsfähigerer Mitglieder der Familie in leistungsgeminderten Anwendungen ermöglicht wird. Mitglieder der Familie können auch mit einem kleinen, leistungsarmen Mitglied zur Verwendung in Modi mit reduzierter Leistung und einem Mitglied mit hoher Leistung zur Verwendung, wenn komplexe Prozesse und/oder viele parallele Prozesse durchgeführt werden müssen, kombiniert werden.
  • In einigen Ausführungsformen befindet sich die externe Schnittstelle physisch entlang eines Rands eines Chips einer IC. Ein solcher physischer Ort kann eine Vielfalt von Mehrchipkonfigurationen unterstützen, wie das Platzieren von zwei oder mehr Chips auf einer koplanaren Oberfläche, wobei die Ränder, die die externe Schnittstelle einschließen, am nächsten an einem benachbarten Chip ausgerichtet sind, um eine Drahtlänge zu reduzieren, wenn die externen Schnittstellen gekoppelt sind. In einem anderen Beispiel kann ein Chip eines Paares nach oben weisend angeordnet sein, während der andere nach unten weist, wobei sie dann durch ihre jeweiligen Schnittstellen ausgerichtet sind. In einer Ausführungsform, in der nur eine einzelne der ICs eingeschlossen ist, kann die Platzierung der externen Schnittstelle entlang eines Rands des Chips ermöglichen, dass die externe Schnittstelle zum Beispiel während eines Wafersägevorgangs physisch entfernt wird.
  • 1 veranschaulicht ein Blockdiagramm einer Ausführungsform eines Systems, das zwei Instanzen einer IC, die über jeweilige externe Schnittstellen gekoppelt sind, einschließt. Wie veranschaulicht, schließt das System 100 integrierte Schaltungen 101a und 101b (zusammen integrierte Schaltungen 101) ein, die über ihre externen Schnittstellen 110a bzw. 110b (zusammen externe Schnittstellen 110) gekoppelt sind. Die Symmetrieachse 140 ist als vertikale gestrichelte Linie gezeigt, die senkrecht zu den und durch die Mitte der Schnittstellen 110a und 110b angeordnet ist. Die Symmetrieachse stellt eine Referenz für das physische Layout von Stiften bereit, die in externen Schnittstellen 110 enthalten sind, einschließlich der Sendestifte 120a und 120b und der Empfangsstifte 125a und 125b, die einem bestimmten Bus zugeordnet sind. Es wird darauf hingewiesen, dass, wie gezeigt, die Schnittstellen 110a und 110b in den integrierten Schaltungen 101a bzw. 101b zentriert sind. In anderen Ausführungsformen kann jedoch eine externe Schnittstelle näher an einer bestimmten Seite der integrierten Schaltung positioniert sein.
  • Wie gezeigt, schließt die integrierte Schaltung 101a eine externe Schnittstelle 110a mit einem physischen Stiftlayout ein, bei dem sich der Sendestift 120a und der Empfangsstift 125a für einen bestimmten Bus in komplementären Positionen 130 relativ zu der Symmetrieachse 140 befinden. Die integrierte Schaltung 101a ist ein IC-Design, das eine bestimmte Funktion mit einer endlichen Bandbreite durchführt. Zum Beispiel kann die integrierte Schaltung 101a ein universeller Mikroprozessor oder ein Mikrocontroller, ein Digitalsignalprozessor, ein Grafik- oder Audioprozessor oder eine andere Art von System-on-a-Chip sein. In einigen Anwendungen kann eine einzelne Instanz einer integrierten Schaltung 101 eine geeignete Leistungsbandbreite bereitstellen. In anderen Anwendungen können mehrere integrierte Schaltungen 101 verwendet werden, um die Leistungsbandbreite zu erhöhen. In einigen Anwendungen können die mehreren integrierten Schaltungen 101 als einzelnes System konfiguriert sein, in dem das Vorhandensein mehrerer integrierter Schaltungen für Software, die auf dem einzelnen System ausgeführt wird, transparent ist.
  • Wie in 1 gezeigt, ist der Empfangsstift 125b in der externen Schnittstelle 110b komplementär zu dem Sendestift 120a der externen Schnittstelle 110a. Dementsprechend ist das E/A-Signal 115a, das über den Sendestift 120a gesendet wird, dasselbe wie das E/A-Signal 115a, das von dem Empfangsstift 125b empfangen wird. In ähnlicher Weise ist der Empfangsstift 125a der externen Schnittstelle 110a komplementär zu dem Sendestift 120b der externen Schnittstelle 110b. Das von dem Sendestift 120b gesendete E/A-Signal 115b ist daher dasselbe Signal wie das E/A-Signal 115b, das von dem Empfangsstift 125a empfangen wird. Das E/A-Signal 115a kann zum Beispiel einem Datenbit 0 des bestimmten Busses in den integrierten Schaltungen 101a und 101b entsprechen. Dementsprechend würde das E/A-Signal 115b auch dem Datenbit 0 des bestimmten Busses in den integrierten Schaltungen 101a und 101b entsprechen.
  • Wie veranschaulicht, wird ein komplementäres Stiftlayout durch Platzieren des Sendestifts 120a und des Empfangsstifts 120a in einer gleichen Reihenfolge relativ zu der Symmetrieachse 140 ermöglicht, wobei jeder Stift der zehnte Stift von der Symmetrieachse 140 ist. In der veranschaulichten Ausführungsform sind der Sendestift 120a und der Empfangsstift 120a auch als in einem gleichen physischen Abstand 135 von, aber auf gegenüberliegenden Seiten der Symmetrieachse 140 angeordnet gezeigt.
  • Die zwei Instanzen der externen Schnittstelle 110 können daher in der Lage sein, direkt miteinander gekoppelt zu werden. Obwohl eine solche physische Stiftsymmetrie eine wünschenswerte Stiftausrichtung ermöglichen kann, wenn die integrierte Schaltung 101b in eine entgegengesetzte Position von der integrierten Schaltung 101a gedreht wird, wird dieser Grad an Stiftsymmetrie nicht als Anforderung für alle Ausführungsformen komplementärer Schnittstellen betrachtet.
  • Wie veranschaulicht, ist die integrierte Schaltung 101a mit einer zweiten Instanz, einer integrierten Schaltung 101b, gekoppelt. Die integrierten Schaltungen 101a und 101b sind zwei Instanzen einer gleichen IC und schließen daher jeweilige Instanzen derselben Schaltungen, gleiche Merkmale und, wie gezeigt, dieselbe externe Schnittstelle 110 ein. Dementsprechend schließt die integrierte Schaltung 101b eine externe Schnittstelle 110b mit einem physischen Stiftlayout, das einen Sendestift 120b und einen Empfangsstift 125b für das gegebene Eingangs-/Ausgangssignal (E/A-Signal) aufweist, die sich in komplementären Positionen relativ zu der Symmetrieachse 140 befinden.
  • Um integrierte Schaltungen 101 zu koppeln, sind die externen Schnittstellen 110 der ersten und der zweiten Instanz der integrierten Schaltung 101 so positioniert, dass der Sendestift 120a und der Empfangsstift 125a für das E/A-Signal 115 auf der integrierten Schaltung 101a an dem Empfangsstift 125b bzw. dem Sendestift 120b für das E/A-Signal 115 auf der integrierten Schaltung 101b ausgerichtet sind. Durch Drehen des Chips der integrierten Schaltung 101b um 180 Grad und Platzieren eines gemeinsamen Rands der zwei integrierten Schaltungen 101 aneinander angrenzend ist der Sendestift 120a der integrierten Schaltung 101a physisch an den Empfangsstift 125b der integrierten Schaltung 101b angrenzend angeordnet. In ähnlicher Weise ist der Empfangsstift 125a der integrierten Schaltung 101a physisch an den Sendestift 120b der integrierten Schaltung 101b angrenzend angeordnet. Wie hierin verwendet, bezieht sich „angrenzend“ auf einen physischen Ort von zwei oder mehr Schaltungselementen, die so angeordnet sind, dass Drähte, die zwei Elemente koppeln, keine Drähte benachbarter Sätze ähnlicher Elemente kreuzen. Zum Beispiel deuten hinsichtlich Stiften der zwei externen Schnittstellen angrenzende Stifte daraufhin, dass ein Draht von einem gegebenen Stift der ersten Instanz zu einem komplementären Stift der zweiten Instanz keinen Draht kreuzt, der verwendet wird, um einen der benachbarten Stifte der ersten und der zweiten Instanz zu koppeln.
  • Der Sendestift 120a ist mit dem Empfangsstift 125b und der Empfangsstift 125a ist mit dem Sendestift 120b über jeweilige Drähte 145 gekoppelt. Es wird darauf hingewiesen, dass sich, wie hierin verwendet, ein „Draht“ auf jedes geeignete leitfähige Medium bezieht, das es ermöglicht, dass ein Signal zwischen gekoppelten Paaren von Sende- und Empfangsstiften der externen Schnittstellen 110 übertragen wird. Zum Beispiel kann ein Draht einem Verbindungsdraht entsprechen, der zwischen dem Sendestift 120a und dem Empfangsstift 125b angebracht ist. Zusätzlich kann eine Interposervorrichtung verwendet werden, um die Stifte der externen Schnittstelle 110a mit den Stiften der externen Schnittstelle 110b zu koppeln. In einigen Ausführungsformen kann die integrierte Schaltung 101a entweder mit oder ohne Interposervorrichtung zwischen den zwei Chips der integrierten Schaltung umgedreht und flächig zueinander weisend mit der integrierten Schaltung 101b verbunden sein.
  • Andere Stifte der externen Schnittstelle 110 können auch in ähnlichen komplementären Positionen angeordnet sein, sodass für eine Gruppe von Sendestiften der externen Schnittstelle 110 eine komplementäre Gruppe von Empfangsstiften in einer gleichen Reihenfolge relativ zu der Symmetrieachse 140 auf der gegenüberliegenden Seite von der Gruppe von Sendestiften angeordnet ist. Ein solches Layout führt zu einer symmetrischen Stiftanordnung, bei der ein Paar von Stiften, die eine gleiche Anzahl von Stiften von der Symmetrieachse 140, jedoch auf gegenüberliegenden Seiten, sind, komplementäre Funktionen aufweisen, z. B. ist ein Stift des Paares ein Sendestift und der andere ein Empfangsstift.
  • Unter Verwendung dieses komplementären Stiftlayouts schließt das Senden von Daten durch die integrierte Schaltung 101a das Senden eines Abschnitts eines Datenpakets über den Sendestift 120a, der sich in einem bestimmten Abstand von der Symmetrieachse 140 befindet, und das Empfangen des Abschnitts des Datenpakets über den Empfangsstift 125b, der sich in demselben bestimmten Abstand von der Symmetrieachse 140 befindet, durch die integrierte Schaltung 101b ein. In ähnlicher Weise werden die verbleibenden Abschnitte des Datenpakets durch andere Sendestifte parallel zum ersten Abschnitt an komplementäre Empfangsstifte gesendet, die in gleichem Abstand von der Symmetrieachse 140 angeordnet sind. Es wird darauf hingewiesen, dass das komplementäre Stiftlayout auch dazu führen kann, dass die Drähte 145, die zwischen der externen Schnittstelle 110a und 110b verbunden sind, ähnlich lang sind. Diese Ähnlichkeit kann dazu beitragen, dass das Datenpaket parallel gesendet und empfangen wird, wodurch der Versatz zwischen verschiedenen Bits des Datenpakets sowie jeglichen Taktsignalen, die zum Abtasten des Datenpakets verwendet werden, reduziert wird.
  • Durch Verwenden des vorstehend beschriebenen komplementären Stiftlayouts kann eine externe Schnittstelle auf einer integrierten Schaltung implementiert werden, die es ermöglicht, mehrere Instanzen der integrierten Schaltung in einer Weise miteinander zu koppeln, die die Verwendung in Anwendungen mit beschränktem Platz ermöglicht, während eine Leistungsanforderung der Anwendung erfüllt wird. Die Wiederverwendung einer bestehenden integrierten Schaltung über eine erweiterte Palette von Anwendungen kann die Design- und Produktionskosten reduzieren, die ansonsten mit dem Entwerfen einer neuen integrierten Schaltung verbunden sind, um die Leistungsanforderungen einer oder mehrerer Anwendungen der erweiterten Palette zu erfüllen.
  • Es wird darauf hingewiesen, dass es sich bei dem System 100, wie in 1 veranschaulicht, lediglich um ein Beispiel handelt. Die Veranschaulichung von 1 wurde vereinfacht, um für diese Offenbarung relevante Merkmale hervorzuheben. Verschiedene Ausführungsformen können unterschiedliche Konfigurationen der Schaltungselemente einschließen. /um Beispiel ist die externe Schnittstelle 110 mit zwanzig Stiften gezeigt. In anderen Ausführungsformen kann jede geeignete Anzahl von Stiften in der externen Schnittstelle eingeschlossen sein, einschließlich zum Beispiel über tausend Stifte. Obwohl nur zwei Instanzen der integrierten Schaltung gezeigt sind, wird in Betracht gezogen, dass zusätzliche Instanzen in anderen Ausführungsformen eingeschlossen sein können. Die Symmetrieachse 140 ist als durch die Mitte der integrierten Schaltungen 101a und 101b verlaufend dargestellt. In anderen Ausführungsformen können die externe Schnittstelle und daher die Symmetrieachse außerhalb der Mitte der integrierten Schaltung positioniert sein.
  • Die in 1 veranschaulichte integrierte Schaltung ist nur mit einer externen Schnittstelle gezeigt. Verschiedene integrierte Schaltungen können jede geeignete Anzahl von zusätzlichen Schaltungsblöcken einschließen. Ein Beispiel für eine integrierte Schaltung mit zusätzlichen Schaltungsblöcken ist in 2 gezeigt.
  • Übergehend zu 2 ist ein Diagramm einer Ausführungsform einer integrierten Schaltung mit einer externen Schnittstelle gezeigt. Wie veranschaulicht, schließt die integrierte Schaltung 101 die externe Schnittstelle 110 ein, die mit On-Chip-Routern 240a-240e gekoppelt ist, die wiederum mit jeweiligen von mehreren Busschaltungen gekoppelt sind, die die Busschaltungen 250, 255 und 258 einschließen. Die verschiedenen Busschaltungen sind mit jeweiligen Sätzen von Funktionsschaltungen 260a-260f gekoppelt. Die externe Schnittstelle 110 ist mit einer Vielzahl von Sendestiften 120 und Empfangsstiften 125 sowie zugehörigen Senderschaltungen 230 und Empfängerschaltungen 235 gezeigt. Die integrierte Schaltung 101, wie gezeigt, entspricht einem IC-Design für beide integrierten Schaltungen 101a und 101b in 1.
  • Wie veranschaulicht, sind die Busschaltungen 250-258 konfiguriert, um gegebene Daten zwischen der Vielzahl von Funktionsschaltungen 260a-260f (zusammen Funktionsschaltungen 260) zu übertragen. Die Busschaltungen 250, 255 und 258 stellen jeweilige Kommunikationspfade zwischen verschiedenen Sätzen von Funktionsschaltungen, einschließlich der externen Schnittstelle 110 und jeweiligen Sätzen von Funktionsschaltungen 260, bereit. Jede der Busschaltungen 250-258 kann einen jeweiligen Satz von Netzwerkprotokollen und/oder bestimmte Datentypen unterstützen. Zum Beispiel kann die Busschaltung 258 zum Übertragen von Grafikdaten verwendet werden, während die Busschaltung 250 Universaldaten unterstützen kann, und die Busschaltung 255 wird für Audiodaten verwendet.
  • Die Busschaltungen 250, 255 und 258 können zusammen eine Kommunikations-Fabric innerhalb der integrierten Schaltung 101 zum Übertragen von Datentransaktionen zwischen verschiedenen Funktionsschaltungen 260 und zusätzlichen Funktionsschaltungen, die nicht veranschaulicht sind, bilden. Um auf die externe Schnittstelle 110 und daher eine andere Instanz der integrierten Schaltung 101 zuzugreifen, ist jede der Busschaltungen 250-258 mit einem jeweiligen oder mehreren der On-Chip-Router 240 gekoppelt, die wiederum mit einer oder mehreren Senderschaltungen 230 und Empfängerschaltungen 235, die in der externen Schnittstelle 110 enthalten sind, gekoppelt sind. Die On-Chip-Router 240a und 240d stellen, wie gezeigt, verschiedene Zugangspunkte in die Busschaltung 250 bereit und können sich physisch an verschiedenen Orten auf der integrierten Schaltung 101, wie in der Nähe der zugehörigen Sender- und Empfängerschaltungen, befinden. In ähnlicher Weise stellen die On-Chip-Router 240b und 240c unterschiedliche Zugangspunkte in die Busschaltung 255 bereit, und der On-Chip-Router 240e stellt einen Zugangspunkt in die Busschaltung 258 bereit.
  • Wie veranschaulicht, ist eine Vielzahl von Senderschaltungen 230 in der externen Schnittstelle 110 mit einem bestimmten Satz von Sendestiften 220 gekoppelt, und eine Vielzahl von Empfängerschaltungen 235 ist mit einem bestimmten Satz von Empfangsstiften 225 gekoppelt. Diese Senderschaltungen 230 und Empfängerschaltungen 235 können physisch durch ihren entsprechenden Satz von Sendestiften 220 und Satz von Empfangsstiften 225 angeordnet sein. Ein solcher gemeinsamer Ort dieser Schaltungen kann den Zeitversatz zwischen einem Zeitpunkt, zu dem ein gegebener des Satzes von Senderschaltungen 230 in einer ersten Instanz der integrierten Schaltung 101 einen bestimmten Signalpegel aktiviert, und einem späteren Zeitpunkt, zu dem ein entsprechender des Satzes von Empfängerschaltungen auf einer zweiten Instanz der integrierten Schaltung 101 den aktivierten Signalpegel empfängt, reduzieren. Dieser Zeitversatz kann in IC-Designs zunehmen, in denen die Senderschaltungen 230 und/oder Empfängerschaltungen 235 weiter von ihren jeweiligen Sende- und Empfangsstiften entfernt platziert sind.
  • Der bestimmte Satz von Sendestiften 220 ist in einem bestimmten Layout relativ zu der Symmetrieachse 140 der externen Schnittstelle 110 angeordnet. Der bestimmte Satz von Empfangsstiften 225 ist in einem komplementären Layout zu dem bestimmten Layout relativ zu der Symmetrieachse 140 angeordnet. Dementsprechend ist, wenn zwei Instanzen der integrierten Schaltung 101 einander zugewandt angeordnet sind, wobei eine der Instanzen um 180 Grad von der anderen Instanz umgekehrt ist, der gegebene Sendestift 120 an dem entsprechenden Empfangsstift 125 ausgerichtet. Die externe Schnittstelle 110 ist konfiguriert, um bestimmte Daten zwischen den Busschaltungen 250-258 und der anderen Instanz der integrierten Schaltung 101 zu übertragen.
  • Die On-Chip-Router 240 übertragen die bestimmten Daten über eine Vielzahl von Signalen zwischen einer zugehörigen Busschaltung 250-258 und einer externen Schnittstelle 110. Die On-Chip-Router 240 können konfiguriert sein, um ein oder mehrere Datenpakete, die an eine jeweiligen der Busschaltungen 250-258 gesendet werden sollen, in die Warteschlange zu stellen und/oder ein oder mehrere Datenpakete, die von der jeweiligen Busschaltung empfangen werden sollen, in die Warteschlange zu stellen. Zum Beispiel kann der On-Chip-Router 240a eine Reihe von Datenpaketen von der anderen Instanz der integrierten Schaltung 101 über die externe Schnittstelle 110 empfangen. In einigen Ausführungsformen kann der On-Chip-Router 240a ein oder mehrere Datenpakete der Reihe puffern, während er auf verfügbare Bandbreite in der Busschaltung 250 wartet, bevor er die empfangenen Datenpakete sendet. Das Gegenteil kann ebenfalls auftreten, wobei der On-Chip-Router 240a Datenpakete von der Busschaltung 250 puffert, während er auf Bandbreite wartet, um die Pakete an die andere Instanz der integrierten Schaltung 101 zu senden. In anderen Ausführungsformen kann der On-Chip-Router 240a die Funktionsschaltung 260a oder 260b veranlassen, das Senden eines Datenpakets zu verzögern, bis Bandbreite an dem Bus 250 und/oder Ressourcen in einer Zielschaltung verfügbar sind, um das Datenpaket zu empfangen. Zusätzlich können die On-Chip-Router 240 Logikschaltungen zum Bestimmen eines endgültigen Ziels für ein empfangenes Datenpaket, z. B. eine bestimmte (oder mehrere) der Funktionsschaltungen 260, einschließen. In einigen Ausführungsformen können die On-Chip-Router 240 Datensignale, die von der externen Schnittstelle 110 empfangen werden, unter Verwendung eines Datenprotokolltyps in einen anderen Datenprotokolltyp, der mit der zugehörigen Busschaltung kompatibel ist, umwandeln.
  • Wie offenbart, schließt die integrierte Schaltung 101 die Vielzahl von Senderschaltungen 230 und die Vielzahl von Empfängerschaltungen 235 ein, die jeweiligen der Vielzahl von Sendestiften 120 und der Vielzahl von Empfangsstiften 125 entsprechen. Die Senderschaltungen 230 schließen Schaltlogik zum Führen von Datensignalen auf entsprechende Sendestifte 120 ein. Zum Beispiel können die Senderschaltungen 230 Treiberschaltungen einschließen, die konfiguriert sind, um einen bestimmten Spannungspegel von einem Signal zu empfangen, das von einem zugehörigen On-Chip-Router 240 erzeugt wird, und dann einen entsprechenden Spannungspegel auf einem zugehörigen Sendestift 120 erzeugen, sodass eine entsprechende Empfängerschaltung 235 in der anderen Instanz der integrierten Schaltung 101 diesen Spannungspegel erkennen kann. Die Empfängerschaltungen 235 können zum Beispiel Eingangsschaltungen einschließen, die konfiguriert sind, um zu erkennen, ob der empfangene Spannungspegel auf einem entsprechenden der Empfangsstifte 125 über oder unter einem bestimmten Spannungsschwellenwert liegt, und dann einen entsprechenden Logikpegel auf einem Signal zu erzeugen, das an einen zugehörigen On-Chip-Router 240 gesendet wird. Die Senderschaltungen 230 und die Empfängerschaltungen 235, wie gezeigt, sind in einem physischen Layout angeordnet, das dem bestimmten komplementären Layout relativ zu der Symmetrieachse 140 entspricht.
  • Die On-Chip-Router 240 schließt ein Paar von On-Chip-Routern (z. B. die On-Chip-Router 240a und 240d) ein, die mit einer gemeinsamen Busschaltung (z. B. der Busschaltung 250) gekoppelt sind. Der On-Chip-Router 240a ist mit einem bestimmten Satz von Sende- und Empfangsstiften der externen Schnittstelle 110, die sich auf der linken Seite der Symmetrieachse 140 befinden, gekoppelt. Der On-Chip-Router 240d ist mit einem anderen Satz von Sende- und Empfangsstiften der externen Schnittstelle, die sich auf der rechten Seite der Symmetrieachse 140 befinden und komplementär zu dem bestimmten Satz von Sende- und Empfangsstiften sind, gekoppelt. Zum Beispiel weist ein gegebener Sendestift 120, der mit dem On-Chip-Router 240a gekoppelt ist, einen entsprechenden komplementären Empfangsstift 125 auf, der mit dem On-Chip-Router 240d gekoppelt ist.
  • Ein Beispiel für einen Datenaustausch zwischen einer bestimmten Funktionsschaltung einer ersten Instanz der integrierten Schaltung 101 (z. B. der Funktionsschaltung 260a) und einer anderen Funktionsschaltung einer zweiten Instanz der integrierten Schaltung 101 (z. B. einer zweiten Instanz der Funktionsschaltung 260b) schließt das Senden, durch die Funktionsschaltung 260a in der ersten Instanz, von ersten Daten über den Satz von Sendestiften 220 der externen Schnittstelle 110 der ersten Instanz ein. Dieses Senden umfasst das Senden eines bestimmten Satzes von Signalen an die zweite Instanz über die externe Schnittstelle 110 unter Verwendung des On-Chip-Routers 240a. Das Empfangen der ersten Daten durch die zweite Instanz umfasst das Empfangen des bestimmten Satzes von Signalen über einen Satz von Empfangsstiften 225 der externen Schnittstelle 110, die in der zweiten Instanz mit dem On-Chip-Router 240d gekoppelt sind, durch die zweite Instanz. Der On-Chip-Router 240d kann dann die empfangenen ersten Daten über die Busschaltung 250 der zweiten Instanz an die zweite Instanz der Funktionsschaltung 260b leiten.
  • Daten, die von der Funktionsschaltung 260b der zweiten Instanz an die Funktionsschaltung 260a der ersten Instanz gesendet werden, wiederholen diesen Prozess. Die zweite Instanz der integrierten Schaltung 101 sendet zweite Daten über den Satz von Sendestiften 220 der externen Schnittstelle 110 der zweiten Instanz, einschließlich des Sendens eines anderen Satzes von Signalen über die externe Schnittstelle 110 unter Verwendung des On-Chip-Routers 240a der zweiten Instanz an die erste Instanz. Das Empfangen der zweiten Daten über den Satz von Empfangsstiften 225 der externen Schnittstelle 110 der ersten Instanz durch die erste Instanz umfasst das Empfangen eines anderen Satzes von Signalen von der zweiten Instanz über die externe Schnittstelle 110 unter Verwendung des On-Chip-Routers 240d der ersten Instanz. Die empfangenen zweiten Daten werden dann über die Busschaltung 250 der ersten Instanz an die Funktionsschaltung 260a geleitet. Daten können daher unter Verwendung der entsprechenden Sätze von komplementären Sendestiften 120 und Empfangsstiften 125 zwischen den zwei Instanzen der integrierten Schaltung 101 ausgetauscht werden.
  • Des Weiteren ist der On-Chip-Router 240a über die Busschaltung 250 mit dem On-Chip-Router 240d und mit dem Satz von Sendestiften 220 gekoppelt. In ähnlicher Weise ist der On-Chip-Router 240d mit dem Satz von Empfangsstiften 225 gekoppelt. Die Funktionsschaltung 260a in der ersten Instanz kann daher Daten über die externe Schnittstelle 110 unter Verwendung des komplementären Satzes von On-Chip-Routern 240a und 240d senden und empfangen. Die Funktionsschaltung 260b der zweiten Instanz kann in ähnlicher Weise Daten über die externe Schnittstelle 110 unter Verwendung des komplementären Satzes von On-Chip-Routern 240a und 240d der zweiten Instanz senden und empfangen. Dementsprechend können es die gekoppelten externen Schnittstellen 110 der ersten und der zweiten Instanz den jeweiligen Kommunikations-Fabrics der zwei Instanzen ermöglichen, als ein einzelnes kohärentes Kommunikations-Fabric zu fungieren, wodurch ermöglicht wird, dass Datenpakete zwischen Funktionsschaltungen auf gegenüberliegenden Chips auf eine ähnliche Weise wie Datenpakete ausgetauscht werden, die zwischen zwei Funktionsschaltungen auf demselben Chip ausgetauscht werden. Aus einer funktionellen Perspektive können die zwei Instanzen der integrierten Schaltung 101 als eine einzelne integrierte Schaltung arbeiten.
  • Es wird darauf hingewiesen, dass die Ausführungsform von 2 ein Beispiel ist. In anderen Ausführungsformen kann eine andere Kombination von Elementen eingeschlossen sein. Zum Beispiel kann eine andere Anzahl von Busschaltungen und/oder On-Chip-Routern eingeschlossen sein. Obwohl 2 26 Stifte darstellt, die in der externen Schnittstelle 110 eingeschlossen sind, kann in anderen Ausführungsformen jede geeignete Anzahl von Stiften eingeschlossen sein.
  • In der Beschreibung von 1 und 2 werden verschiedene Paare von Stiften der externen Schnittstelle 110 als komplementär beschrieben. In einigen Ausführungsformen ist eine Reihenfolge von Bits von Daten, die über einen bestimmten Satz von Sendestiften einer ersten Instanz eines IC übertragen werden, möglicherweise nicht direkt am komplementären Satz von Empfangsstiften einer zweiten Instanz der IC ausgerichtet. Eine Ausführungsform einer IC, die zeigt, wie eine Fehlausrichtung von Datenbits behandelt werden kann, ist in 3 gezeigt.
  • Unter Bezugnahme auf 3 sind zwei Instanzen der integrierten Schaltung 101 gezeigt, die über ihre jeweiligen Instanzen der externen Schnittstelle 110 gekoppelt sind. Wie gezeigt, stellt das System 300 eine Ausführungsform dar, in der empfangene Daten im Vergleich zu den Sendedaten fehlausgerichtet sind. Das System 300 schließt die integrierten Schaltungen 101a und 101b jeweils mit einer jeweiligen externen Schnittstelle 110a und 110b und einem jeweiligen Paar von On-Chip-Routern ein: On-Chip-Router 340a und 340b in der integrierten Schaltung 101a und On-Chip-Router 340c und 340d auf der integrierten Schaltung 101b. Für das veranschaulichte Beispiel entspricht der On-Chip-Router 340a der integrierten Schaltung 101a dem On-Chip-Router 340c der integrierten Schaltung 101b. In ähnlicher Weise entspricht der On-Chip-Router 340b dem On-Chip-Router 340d. Jede der integrierten Schaltungen 101a und 101b schließt ferner einen jeweiligen der Schnittstellenwrapper 350a und 350b ein, die konfiguriert sind, um einzelne Signale zwischen den jeweiligen On-Chip-Routern und den externen Schnittstellen zu leiten.
  • Wie veranschaulicht, sind die Sende- und Empfangsstifte der externen Schnittstelle 110a und 110b in Sätze von Stiften, einschließlich jeweiliger Sender- und Empfängerschaltungen, gruppiert. Diese Sätze von Stiften weisen eine übliche Anzahl von Stiften, acht im veranschaulichten Beispiel, auf, obwohl jede geeignete Anzahl verwendet werden kann. Diese übliche Anzahl von Stiften kann verwendet werden, um ein Design für die Sätze von Stiften zu standardisieren. Jeder Satz von Stiften kann einen gemeinsamen Satz von Signalen zum Steuern von Taktsignalen, Leistung und dergleichen einschließen. Zum Beispiel empfängt jeder Stift eines gegebenen Satzes ein gleiches gategesteuertes Taktsignal und kann mit einem gleichen gategesteuerten Leistungsknoten und/oder einem gleichen gategesteuerten Bezugsmasseknoten gekoppelt sein. Das Verwenden einer kleinen Anzahl (z. B. eines oder zwei) von Designs für die Sätze von Stiften kann eine Entwicklungszeit für die externe Schnittstelle verringern sowie eine Gleichförmigkeit für die Platzierung sowie für die Leistungseigenschaften (z. B. Anstiegs- und Abfallzeiten) für jeden der Stifte der externen Schnittstellen 110a und 110b erhöhen. Wie zuvor offenbart, kann, obwohl nur zweiunddreißig Stifte für jede Instanz der externen Schnittstelle 110 veranschaulicht sind, die externe Schnittstelle 110 tatsächlich Hunderte oder Tausende von Stiften einschließen. Dementsprechend kann das Standardisieren von Sätzen von Stiften, die in dem Schnittstellendesign als eine Einheit implementiert werden sollen, zu einer erheblichen Reduzierung der Zeiten führen, die zum Entwerfen und Validieren der externen Schnittstelle 110 erforderlich sind.
  • Einzelne der Vielzahl der On-Chip-Router 340a-340d sind einem jeweiligen oder mehreren der Sätze von Stiften zugewiesen. Zum Beispiel ist der On-Chip-Router 340a dem Satz von Sendestiften 320a und dem Satz von Empfangsstiften 325a zugewiesen. Ebenso sind die On-Chip-Router 340b-340d einem jeweiligen Satz von Sendestiften und einem jeweiligen Satz von Empfangsstiften zugewiesen. In verschiedenen Ausführungsformen können diese Zuweisungen fest oder programmierbar sein, z. B. werden Sätze von Stiften durch Einstellen eines bestimmten Konfigurationsregisters (nicht gezeigt) zugewiesen. Es wird darauf hingewiesen, dass Empfangs- und Sendestifte in der dargestellten Ausführungsform in separate Sätze gruppiert sind. In anderen Ausführungsformen, wie nachstehend gezeigt wird, kann ein Satz von Stiften sowohl Sende- als auch Empfangsstifte einschließen.
  • Zusätzlich sind einzelne der Vielzahl von On-Chip-Routern 340a-340d einer jeweiligen Busschaltung zugewiesen und sind daher mit einer Vielzahl von Funktionsschaltungen, die auf derselben integrierten Schaltung 101 eingeschlossen sind, gekoppelt. In einigen Ausführungsformen kann eine physische Ausrichtung von On-Chip-Routern 340 vorzugsweise auf die jeweilige Busschaltung implementiert werden, mit der der On-Chip-Router gekoppelt ist. Zum Beispiel können die On-Chip-Router 340a und 340b so instanziiert sein, dass sie um 180 Grad voneinander gedreht sind, um an einer gemeinsamen Busschaltung ausgerichtet zu sein, die die integrierte Schaltung 101a umgibt. In einer solchen Ausführungsform sind die Stifte des On-Chip-Routers 340b möglicherweise nicht am Satz von Empfangsstiften 325b und/oder am Satz von Sendestiften 320b der externen Schnittstelle 110a ausgerichtet. Zusätzlich kann der Schnittstellenwrapper 350a mehrere Instanzen derselben Komponente einschließen, die um 180 Grad voneinander instanziiert sind. In einem solchen Fall sind die Sende- und Empfangsstifte des Schnittstellenwrappers 350a möglicherweise nicht an den Stiften der externen Schnittstelle 110a ausgerichtet. Dementsprechend kann eine Fähigkeit, Stiftsignale durch den Schnittstellenwrapper 350a umzuleiten, erwünscht sein.
  • Wie gezeigt, schließt jeder der On-Chip-Router 340a-340d sechs Ausgangssignale und sechs Eingangssignale ein, die sich von der üblichen Anzahl von Stiften, acht, unterscheiden. Dementsprechend sind zwei Stifte jedes der Sätze von Stiften 320 und 325, die jedem On-Chip-Router 340 zugewiesen sind, ungenutzt. Die On-Chip-Router 340a-340d unterstützen jeweils ein bestimmtes Netzwerkprotokoll, wie vorstehend in Bezug auf 2 beschrieben. In einigen Fällen, wie in 3 gezeigt, schließt ein bestimmtes Netzwerkprotokoll möglicherweise keine Anzahl von Stiften ein, die an der üblichen Anzahl von Stiften, die in den Sätzen von Stiften eingeschlossen sind, ausgerichtet ist. Da das Entfernen der zusätzlichen Stifte Leistungseigenschaften der verbleibenden Stifte beeinflussen könnte (z. B. könnte sich eine parasitäre Kapazität, die von jedem der verbleibenden Stifte beobachtet wird, unterscheiden, wodurch die Anstiegs- und Abfallzeiten beeinträchtigt werden), werden in einigen Ausführungsformen die nicht relevanten Stifte in den jeweiligen Sätzen belassen.
  • Jeder Satz von Sendestiften 320 schließt, wie gezeigt, einen Sendepuffer ein, und in ähnlicher Weise schließt jeder Satz von Empfangsstiften 325 einen Empfangspuffer ein. Da acht Sendestifte oder acht Empfangsstifte in jedem Satz eingeschlossen sind, können die jeweiligen Sende- und Empfangspuffer als ein Datenbyte abgerufen werden. Zum Beispiel kann der On-Chip-Router 340a Daten an den On-Chip-Router 340d senden. Der On-Chip-Router 340a sendet sechs Ausgangssignale an den Schnittstellenwrapper 350a. Der Schnittstellenwrapper 350a ist konfiguriert, um den Satz von Sendestiften 320a zu einer Standardstiftbelegung in dem On-Chip-Router 340a zu leiten. Wie gezeigt, ist diese Standardzuweisung eine direkte Zuweisung, bei der ein Bit 0 des Satzes von Sendestiften 320a mit einem Bit 0 des On-Chip-Routers 340a gekoppelt ist und so weiter bis zu einem Bit 5 des Satzes von Sendestiften 320a, das einem Bit 5 des On-Chip-Routers 340a zugewiesen ist. Diese Bitzuweisung geht davon aus, dass das Bit 0 dem äußersten linken Stift der Sätze von Stiften in der externen Schnittstelle 110a entspricht.
  • Es ist zu beachten, dass die integrierte Schaltung 101b in Bezug auf die integrierte Schaltung 101a um 180 Grad gedreht ist. Dementsprechend entspricht das Bit 0 dem äußersten rechten Stift der Sätze von Stiften in der externen Schnittstelle 110b. Da die Drähte 145 zwischen der externen Schnittstelle 110 und 110b, wie gezeigt, direkt sind, ist das Bit 0 des Satzes von Sendestiften 320 mit dem Bit 7 des Satzes von Empfangsstiften 325d gekoppelt, und in ähnlicher Weise ist das Bit 5 des Satzes von Sendestiften 320a mit dem Bit 2 des Satzes von Empfangsstiften 325d gekoppelt. Dementsprechend leitet der Schnittstellenwrapper 350b den Satz von Empfangsstiften 325d unter Verwendung einer Nichtstandardstiftbelegung zu dem On-Chip-Router 340d.
  • In ähnlicher Weise kann das Senden von Daten von dem On-Chip-Router 340d an den On-Chip-Router 340a das Senden von Signalen durch den On-Chip-Router 340d über den Satz von Sendestiften 320d der externen Schnittstelle 110b unter Verwendung einer Nichtstandardstiftbelegung einschließen, um den Satz von Sendestiften 320d an den On-Chip-Router 340d zu leiten. Das Empfangen der Daten durch den On-Chip-Router 340a über den Satz von Empfangsstiften 325a der externen Schnittstelle 110a umfasst das Leiten des Satzes von Empfangsstiften 325a zu dem On-Chip-Router 340a unter Verwendung der Standardstiftbelegung.
  • In einigen Ausführungsformen können die Schnittstellenwrapper 350a und 350b das Leiten zwischen einem gegebenen On-Chip-Router 340 und den Sende- und Empfangsstiften des einen oder der mehreren zugewiesenen Sätze von Stiften auf jedem gegebenen Taktzyklus anpassen, während dessen keine Daten von dem gegebenen On-Chip-Router 340 übertragen werden. Zum Beispiel kann eine Menge bestimmter Daten zwischen dem On-Chip-Router 340b und dem On-Chip-Router 340c gesendet werden. Der Schnittstellenwrapper 350a leitet für einen ersten Abschnitt der bestimmten Daten die Vielzahl von Signalen zwischen dem On-Chip-Router 340b und dem Satz von Sendestiften 320b unter Verwendung einer ersten Stiftbelegung und leitet dann für einen zweiten Abschnitt der bestimmten Daten die Vielzahl von Signalen zwischen dem On-Chip-Router 340b und dem Satz von Sendestiften 320b unter Verwendung einer zweiten Stiftbelegung, die sich von der ersten Stiftbelegung unterscheidet, um.
  • Die integrierten Schaltungen 101a und 101b können z. B. jeweils einen oder mehrere Verarbeitungskerne einschließen, die in der Lage sind, Anweisungen einer bestimmten Anweisungssatzarchitektur auszuführen. Dementsprechend können Anweisungen eines bestimmten Programms einen Kern veranlassen, die Stiftbelegungen in den Schnittstellenwrappern 350a und/oder 350b zu bestimmten Zeitpunkten oder für bestimmte Arten von Daten zu modifizieren. Zum Beispiel können Bilddaten gesendet werden, indem eine Stiftbelegung verwendet wird und dann auf eine andere Stiftbelegung für Audiodaten oder für Befehle, die den Bilddaten zugeordnet sind, umgeschaltet wird. Zusätzlich können die Schnittstellenwrapper 350a und 350b in der Lage sein, Stiftbelegungen für einen On-Chip-Router umzuleiten, während ein anderer Router auf derselben IC Daten sendet oder empfängt.
  • Es wird darauf hingewiesen, dass die Beispiele von 3 lediglich zum Zeigen offenbarter Konzepte dienen. Das System 300 wurde vereinfacht, um die beschriebenen Techniken klar zu veranschaulichen. In anderen Ausführungsformen können zusätzliche Sätze von Sende- und Empfangsstiften in den externen Schnittstellen sowie zusätzliche On-Chip-Router eingeschlossen sein. Andere Schaltungsblöcke der integrierten Schaltungen 101a und 101b wurden der Klarheit halber weggelassen.
  • 3 beschreibt, wie Sätze von Stiften in der externen Schnittstelle implementiert und verwendet werden können. Verschiedene Techniken können zum Implementieren solcher Sätze von Stiften verwendet werden. In 3 sind die Stifte der externen Schnittstelle in Sätze von Sendestiften gruppiert, die von den Sätzen von Empfangsstiften getrennt sind. 4 veranschaulicht ein weiteres Beispiel für das Gruppieren von Sätzen von Stiften, die sowohl Sende- als auch Empfangsstifte einschließen.
  • Übergehend zu 4 ist ein Blockdiagramm einer Ausführungsform einer integrierten Schaltung mit einer externen Schnittstelle gezeigt. In der veranschaulichten Ausführungsform schließt die integrierte Schaltung 101 die externe Schnittstelle 410 und die On-Chip-Router 440a-440d (zusammen die On-Chip-Router 440) ein. Die externe Schnittstelle 410 schließt vier Sätze von Sende- und Empfangsstiften, Bündel 450a-450d (zusammen Bündel 450), ein, in denen die Sende- und Empfangsstifte in einem komplementären Layout relativ zu der Symmetrieachse 140 angeordnet sind. Jedes der veranschaulichten Bündel 450a-450d schließt acht Stifte, vier Sendestifte und vier Empfangsstifte, ein.
  • Wie veranschaulicht, sind die Sende- und Empfangsstifte der externen Schnittstelle 410 in Sätze von Stiften, Bündel 450a-450d, gruppiert, wobei jedes der Bündel 450 eine übliche Anzahl von Stiften (acht) aufweist. Die On-Chip-Router 440 sind einem jeweiligen der Bündel 450 zugewiesen. In anderen Ausführungsformen können jedoch einer oder mehrere der On-Chip-Router 440 zu zwei oder mehr Bündeln 450 zugewiesen sein. Wie vorstehend beschrieben, können Sätze von Sende- und Empfangsstiften unter Verwendung der standardisierten Bündel 450 implementiert werden, um die Konsistenz über die Stifte der externen Schnittstelle 410 hinweg zu erhöhen. Innerhalb jedes Bündels 450 teilen sich die enthaltenen Sende- und Empfangsstifte ein gemeinsames Leistungssignal und Taktsignal.
  • Jedes Bündel 450 kann mit jedem geeigneten Leistungssignal und Taktsignal gekoppelt sein. Wie gezeigt, sind die Bündel 450a und 450d gekoppelt, um das Leistungssignal 460a und das Taktsignal 465a zu empfangen, während die Bündel 450b und 450c gekoppelt sind, um das Leistungssignal 460b und das Taktsignal 465b zu empfangen. In einigen Ausführungsformen kann das Leistungssignal 460a unabhängig von dem Leistungssignal 460b gesteuert werden, einschließlich zum Beispiel unter Verwendung eines anderen Spannungspegels und/oder durch Implementieren verschiedener Leistungsgatter, um die jeweiligen Bündel 450 zu aktivieren/deaktivieren. In ähnlicher Weise kann das Taktsignal 465a auch unabhängig von dem Taktsignal 465b gesteuert werden. Demgemäß kann das Taktsignal 465a unabhängig von dem Taktsignal 465b aktiviert und/oder auf eine bestimmte Frequenz eingestellt werden. In der vorliegenden Ausführungsform sind die Bündel 450a und 450d ein komplementäres Paar, ebenso wie die Bündel 450b und 450c. Zusätzlich zur Verwendung eines standardisierten Stiftbündels zum Implementieren jedes der Bündel 450 kann die Verwendung von gemeinsamen Leistungs- und Taktsignalen für ein komplementäres Paar von Bündeln 450 die Leistungskonstanz zwischen den zwei Bündeln 450 eines komplementären Paares weiter erhöhen.
  • Wie gezeigt, sind die On-Chip-Router 440a und 440d den Bündeln 450a bzw. 450d zugewiesen. In ähnlicher Weise sind die On-Chip-Router 440b und 440c jeweils den Bündeln 450b und 450c zugewiesen. Die On-Chip-Router 440a und 440d schließen eine gleiche Anzahl von Sende- und Empfangsstiften ein, wie sie in einem standardisierten Bündel eingeschlossen sind, was zu keinen ungenutzten Stiften in den Bündeln 450a und 450d führt. Die On-Chip-Router 440b und 440c schließen dagegen weniger Sende- und Empfangsstifte ein als die übliche Anzahl von Stiften, die in einem standardisierten Bündel enthalten sind, was zu einem ungenutzten Sendestift und einem ungenutzten Empfangsstift in den Bündeln 450b bzw. 450c führt.
  • Die On-Chip-Router 440a und 440d können, wie veranschaulicht, Datenpakete über die Bündel 450a und 450d unter Verwendung aller Sendestifte der jeweiligen Bündel senden. Zu einem anderen Zeitpunkt können die On-Chip-Router 440a und 440d jedoch eine Vielzahl von Datenpaketen senden, wobei einige der Vielzahl von Datenpaketen eine geringere Anzahl von Bits einschließen, was zur Verwendung von weniger als allen Sendestiften des jeweiligen Bündels 450 führt. Ebenso können beim Empfangen von Datenpaketen weniger als alle Empfangsstifte in dem Bündel 450a und 450d verwendet werden, um ein gegebenes Datenpaket zu empfangen.
  • Es wird darauf hingewiesen, dass 4 lediglich ein Beispiel der offenbarten Konzepte ist. Obwohl vier On-Chip-Router und vier Stiftbündel gezeigt sind, kann in anderen Ausführungsformen jede geeignete Anzahl eingeschlossen sein. Wie veranschaulicht, sind innerhalb jedes Stiftbündels vier Sendestifte und vier Empfangsstifte gezeigt. In anderen Ausführungsformen kann jede geeignete Anzahl von Sende- und Empfangsstiften eingeschlossen sein. In einigen Ausführungsformen kann sich die Anzahl von Sendestiften von der Anzahl von Empfangsstiften unterscheiden. In anderen Ausführungsformen können Sende- und Empfangsstifte in separaten Bündeln implementiert sein.
  • In 1 und 3 sind zwei integrierte Schaltungen über ihre jeweiligen externen Schnittstellen gekoppelt gezeigt. In einigen Ausführungsformen können die zwei integrierten Schaltungen auf einer koplanaren Oberfläche platziert sein, wobei beide ICs in eine gleiche Richtung weisen und eine IC so gedreht ist, dass die Stifte ihrer jeweiligen externen Schnittstellen auf eine Weise ausgerichtet sind, die es den Stiften der zwei externen Schnittstellen ermöglicht, gekoppelt zu werden, ohne Drähte zu kreuzen. In anderen Ausführungsformen, wie in 5A und 5B gezeigt, können zwei ICs flächig zueinander weisend befestigt sein, wobei ihre jeweiligen externen Schnittstellen ausgerichtet sind. 5B stellt ferner ein Beispiel für zwei Chips dar, die über eine nicht ausgerichtete externe Schnittstelle gekoppelt sind.
  • Übergehend zu 5A sind nun zwei Ausführungsformen zur Befestigung von zwei integrierten Schaltungen zusammen über eine externe Schnittstelle dargestellt. In einer Ausführungsform zeigt das System 500 einen Chip der integrierten Schaltung 501a, der mit dem Chip der integrierten Schaltung 501b unter Verwendung von Lötkugeln 540 gekoppelt ist. In einer anderen Ausführungsform stellt das System 505 den Chip der integrierten Schaltung 501a mit dem Chip der integrierten Schaltung 501b unter Verwendung der Interposervorrichtung 530 sowie von zwei Sätzen von Lötkugeln 545 gekoppelt dar. In der vorliegenden Ausführungsform entsprechen die Chips der integrierten Schaltung 501a und 501b den integrierten Schaltungen 101a und 101b in 1.
  • Wie in 1 gezeigt, können die externen Schnittstellen der integrierten Schaltungen 101a und 101b unter Verwendung von Drähten (z. B. Lötverbindungsdrähten oder Mikrostreifenleitern, die auf Leiterplatten abgeschieden sind) mit den zwei Chips gekoppelt sein, die auf einer koplanaren Oberfläche platziert sind, wobei die Flächen beider Chips in eine gleiche Richtung weisen. Eine solche Technik kann eine kostengünstige Montagelösung ermöglichen, kann aber eine Oberfläche einer zugehörigen Leiterplatte erfordern, die größer als eine Grundfläche der zwei Chips ist. Um diese Grundfläche zu reduzieren, schließt das System 500 zwei Chips der integrierten Schaltung 501a und 501b ein, die flächig zueinander weisend angeordnet sind, wobei Stifte der jeweiligen externen Schnittstellen ausgerichtet und unter Verwendung von Lötkugeln 540 direkt miteinander verlötet sind. Zum Beispiel ist der Sendestift 120a direkt an den Empfangsstift 125b gelötet, und der Empfangsstift 125a ist direkt an den Sendestift 120b gelötet. Das vorstehend beschriebene komplementäre Stiftlayout für die externen Schnittstellen 110 in 1 ermöglicht dieses direkte Löten zwischen verschiedenen Instanzen derselben Schnittstelle. Die Platzierung komplementärer Paare von Stiften in gleichem Abstand von der Symmetrieachse 140 stellt die Ausrichtung bereit, die die Direktverbindungen ermöglicht.
  • Das System 505 stellt eine ähnliche Lösung wie das System 500 dar, aber mit einer Hinzufügung der Interposervorrichtung 530a, um eine leitfähige Verbindung zwischen einer externen Schnittstelle jedes Chips bereitzustellen. In dem System 505 wird der Sendestift 120a des Chips der integrierten Schaltung 501a an einen bestimmten Stift der Interposervorrichtung 530a gelötet. Dieser bestimmte Stift wird dann an den Empfangsstift 125b gelötet. In ähnlicher Weise wird der Empfangsstift 125a an einen anderen Stift der Interposervorrichtung 530a gelötet, der wiederum an den Sendestift 120b gelötet wird. Obwohl die Interposervorrichtung 530a das Leiten von Stiften des Chips der integrierten Schaltung 501a an Stifte des Chips der integrierten Schaltung 501b, die nicht physisch ausgerichtet sind, ermöglichen kann, ermöglicht die Verwendung des komplementären Stiftlayouts für die externen Schnittstellen des Chips der integrierten Schaltung 501a und 501b, dass die Interposervorrichtung 530a direkte Leitungspfade zwischen den zwei Chips aufweist. Eine solche direkte Verbindung kann einen physischen Pfad zwischen Stiften der integrierten Schaltung 501a und 501b im Vergleich zum Leiten von Verbindungen zwischen fehlausgerichteten Stiften auf den zwei Chips reduzieren. Die Verwendung der Interposervorrichtung 530a kann ferner das Leiten eines oder mehrerer Stifte der externen Schnittstellen oder anderer Stifte eines der Chips der integrierten Schaltung 501a und 501b an einen Rand der Interposervorrichtung 530 ermöglichen, wo die Stifte zum Beispiel mit anderen integrierten Schaltungen gekoppelt werden können.
  • In 5A sind die Stifte der externen Schnittstellen der integrierten Schaltungen 501a und 501b mit komplementären Stiften dargestellt, die in gleichem Abstand von der Symmetrieachse 140 sind. In einigen Ausführungsformen können nicht alle Stifte einer Schnittstelle ein solches äquidistantes Stiftlayout einschließen. Nun Bezug nehmend auf 5B sind zwei weitere Beispiele von zwei gekoppelten ICs gezeigt. Die ICs, die in den Systemen 510 und 515 eingeschlossen sind, schließen jedoch keine Stifte ein, die alle in gleichem Abstand von der Symmetrieachse sind.
  • Wie veranschaulicht, zeigt das System 510 ein Beispiel einer externen Schnittstelle, die komplementäre Stifte einschließt. Ähnlich wie bei dem Chip der integrierten Schaltung 501a und 501b sind die Chips der integrierten Schaltung 502a und 502b zwei Instanzen eines gleichen Designs der integrierten Schaltung, die durch ein gemeinsames externes Schnittstellendesign gekoppelt sind. Die Stifte der externen Schnittstelle des Chips der integrierten Schaltung 502a und 502b schließen Sende- und Empfangsstifte für zwei Busse, Bus 560 und Bus 565, ein. Die Stifte für den Bus 565 sind in zwei Abschnitte pro Chip aufgeteilt, Bus 565a und 565b auf dem Chip der integrierten Schaltung 502a und Bus 565c und 565d auf dem Chip der integrierten Schaltung 502b. Jeder Chip schließt auch jeweilige Stifte für den Bus 560 ein, 560a auf dem Chip der integrierten Schaltung 502a und 560b auf dem Chip der integrierten Schaltung 502b. Die komplementären Stifte des Busses 565a und 565d sind nicht in gleichem Abstand von der Symmetrieachse 140, und obwohl die Stifte in einer gleichen Reihenfolge angeordnet sind, kann keine gerade Linie, die parallel zu den Rändern des Chips ist, durch die Stifte der Busse 565a und 565d gezogen werden, und Ähnliches gilt bei den Stiften der Busse 565b und 565c. Dementsprechend sind die Stifte des Busses 565 nicht ausgerichtet.
  • Wie gezeigt, sind die Stifte des Busses 560a, die komplementäre Funktionen aufweisen, auch nicht in gleichem Abstand von der Symmetrieachse 140 angeordnet. Im Gegensatz zu den Stiften des Busses 565 können jedoch Linien parallel zu den Rändern des Chips durch die komplementären Paare von Stiften der Busse 560a und 560b gezogen werden. Dementsprechend sind die Stifte des Busses 560 ausgerichtet.
  • Das System 515, wie dargestellt, zeigt ein Beispiel einer externen Schnittstelle, die nicht komplementär ist. Wie das System 510 schließt das System 515 zwei Instanzen eines gleichen Designs der integrierten Schaltung ein, den Chip der integrierten Schaltung 503a und 503b. In dem System 515 sind die Stifte der externen Schnittstelle nicht ausgerichtet, und folglich kreuzen sich mehrere Signalpfade. Zum Beispiel kreuzt der Signalpfad zwischen dem Sendestift 120a und dem Empfangsstift 125b den Pfad von dem Sendestift 121a und dem Empfangsstift 126b. Auf der gegenüberliegenden Seite der Symmetrieachse 140 kreuzt der Signalpfad zwischen dem Sendestift 120b und dem Empfangsstift 125a den Pfad von dem Sendestift 121b und dem Empfangsstift 126a. Aufgrund dieser Fehlausrichtung werden die integrierten Schaltungen 503a und 503b nicht als eine komplementäre Schnittstelle aufweisend betrachtet.
  • Es wird darauf hingewiesen, dass die Ausrichtung komplementärer Stifte einer externen Schnittstelle zu einer Verringerung einer Rauschkopplung zwischen benachbarten Signalen führen kann. Wenn sich zwei oder mehr Signalpfade kreuzen, können die Drähte, die Signale tragen, in unmittelbare Nähe kommen, was wiederum eine Anfälligkeit für eine Rauschkopplung erhöhen kann, bei der ein erster Signalpfad elektromagnetische Störungen von Signalübergängen auf einem zweiten Signalpfad empfängt. Je näher die beiden Signalpfade sind, desto größer ist die Anfälligkeit, dass Rauschen zwischen den beiden Pfaden übertragen wird. Durch Ausrichten der Stifte der Schnittstelle kann ein geeigneter Abstand zwischen benachbarten Signalpfaden aufrechterhalten werden, wodurch die Rauschanfälligkeit auf ein akzeptables Niveau reduziert wird. Das ausgerichtete Stiftlayout kann ferner eine Länge der Signalpfade durch die Interposervorrichtung reduzieren, was eine Impedanz zwischen den komplementären Stiftpaaren reduzieren kann, wodurch der Betrieb des Systems bei niedrigeren Spannungspegeln und/oder höheren Taktfrequenzen erfolgen kann.
  • Es wird ferner darauf hingewiesen, dass die Beispiele von 5A und 5B lediglich zum Zeigen der offenbarten Techniken dienen. Andere Techniken zum Koppeln von zwei oder mehr IC-Chips werden in Betracht gezogen. Zum Beispiel können in einigen Ausführungsformen Stifte für jeden von zwei oder mehr IC-Chips mit Verbindungen zwischen dem Chip, die durch die Leiterplatte geführten werden, direkt mit einer Leiterplatte gekoppelt sein.
  • Die vorstehend in Bezug auf 1-5 beschriebenen Schaltungen und Techniken können zwei externe Schnittstellen unter Verwendung einer Vielfalt von Verfahren koppeln. Zwei Verfahren im Zusammenhang mit dem Koppeln von Schnittstellen sind nachstehend in Bezug auf 6 und 7 beschrieben.
  • Übergehend zu 6 wird nun ein Flussdiagramm für eine Ausführungsform eines Verfahrens zum Koppeln von zwei integrierten Schaltungen miteinander gezeigt. Das Verfahren 600 kann von einem System durchgeführt werden, das zwei oder mehr Instanzen einer integrierten Schaltung einschließt, wie dem System 100 in 1. Unter Bezugnahme auf 1 und 6 zusammen beginnt das Verfahren 600 bei Block 610.
  • Bei Block 610 schließt das Verfahren 600 das Senden von ersten Daten über einen Satz von Sendestiften der externen Schnittstelle 110a durch die integrierte Schaltung 101a an die integrierte Schaltung 101b ein. Wie gezeigt, sind die integrierten Schaltungen 101a und 101b zwei Instanzen eines gemeinsamen Designs der integrierten Schaltung. Somit ist ein physisches Stiftlayout der zwei Instanzen gleich. In anderen Ausführungsformen wird jedoch in Betracht gezogen, dass jeweilige Instanzen von zwei unterschiedlichen integrierten Schaltungen verwendet werden können. In 1 sind Sendestifte der externen Schnittstelle 110a der integrierten Schaltung 101a mit jeweiligen Empfangsstiften der externen Schnittstelle 110b der integrierten Schaltung 101b gekoppelt, einschließlich des Sendestifts 120a, der mit dem Empfangsstift 125b gekoppelt ist. Die integrierte Schaltung 101a kann daher eine externe Schnittstelle 110a verwenden, um die ersten Daten an die integrierte Schaltung 101b zu senden.
  • Das Verfahren 600 schließt bei Block 620 ferner das Empfangen von zweiten Daten über einen Satz von Empfangsstiften der externen Schnittstelle 110a durch die integrierte Schaltung 101a von der integrierten Schaltung 101b ein. Wie veranschaulicht, sind Empfangsstifte der externen Schnittstelle 110a mit jeweiligen Empfangsstiften der externen Schnittstelle 110b gekoppelt, einschließlich des Empfangsstifts 125a, der mit dem Sendestift 120b gekoppelt ist. Der Satz von Sendestiften und der Satz von Empfangsstiften befinden sich in komplementären Positionen relativ zu der Symmetrieachse 140 der integrierten Schaltung 101. Dementsprechend entsprechen die Sendestifte 120a und 120b einem gleichen Sendestift in dem gemeinsamen Design der integrierten Schaltung. Ebenso entsprechen die Empfangsstifte 125a und 125b einem gleichen Empfangsstift in dem gemeinsamen Design der integrierten Schaltung. Dieses komplementäre Stiftlayout der externen Schnittstelle relativ zu der Symmetrieachse 140 ermöglicht es, dass die zwei Instanzen des gemeinsamen Designs der integrierten Schaltung durch ihre jeweiligen externen Schnittstellen gekoppelt werden können, ohne dass Stifte der externen Schnittstelle umgeleitet werden müssen. Stattdessen können Direktverbindungen zwischen den externen Schnittstellen 110a und 110b möglich sein, ohne zugehörige Drähte zu kreuzen. Eine solche Technik zum Koppeln der zwei Instanzen der gemeinsamen integrierten Schaltung kann eine externe Schnittstelle mit einer großen Anzahl von Stiften (z. B. größer als tausend Stifte) ermöglichen.
  • In einigen Ausführungsformen kann das Verfahren 600 bei Block 620 enden oder kann sich in anderen Ausführungsformen als Reaktion darauf wiederholen, dass neue Daten zwischen den zwei integrierten Schaltungen 101a und 101b ausgetauscht werden sollen. Es wird darauf hingewiesen, dass das Verfahren von 6 lediglich ein Beispiel für das Koppeln von zwei integrierten Schaltungen ist.
  • Unter Bezugnahme auf 7 wird nun ein Flussdiagramm für eine Ausführungsform eines Verfahrens zum Leiten von Signalen zwischen Stiften einer externen Schnittstelle und einem oder mehreren On-Chip-Routern veranschaulicht. In ähnlicher Weise wie bei dem vorstehenden Verfahren 600 kann das Verfahren 700 durch ein System mit zwei oder mehr integrierten Schaltungen, wie das System 300 in 3, durchgeführt werden. Unter Bezugnahme auf 3 und 7 zusammen beginnt das Verfahren 700 bei Block 710.
  • Das Verfahren 700 schließt bei Block 710 das Leiten, durch die integrierte Schaltung 101a, des Satzes von Sendestiften 320b an den On-Chip-Router 340b unter Verwendung einer Nichtstandardstiftbelegung zum Senden von ersten Daten über den Satz von Sendestiften 320a ein. Wie in 3 gezeigt, schließt die integrierte Schaltung 101a den Schnittstellenwrapper 350a ein, der konfiguriert ist, um Signale von den On-Chip-Routern 340a und 340b zu jeweiligen Sätzen von Sende- und Empfangsstiften in der externen Schnittstelle 110a zu leiten. Der Schnittstellenwrapper 350a kann eine Standardstiftbelegung zum Leiten des Satzes von Sendestiften 320b verwenden, um Signale von dem On-Chip-Router 340b auszugeben. Unter einigen Bedingungen kann der Schnittstellenwrapper 350a jedoch konfiguriert sein, um die Ausgangssignale von dem On-Chip-Router 340b an den Satz von Sendestiften 320b unter Verwendung einer Nichtstandardstiftbelegung umzuleiten. Zum Beispiel weist, wie in 3 gezeigt, der On-Chip-Router 340b weniger Ausgangssignale auf als eine Anzahl von Sendestiften, die in den Satz von Sendestiften 320b eingeschlossen sind. Die Nichtstandardstiftbelegung kann verwendet werden, um anzupassen, wo einzelne Bits der ersten Daten durch die integrierte Schaltung 101b empfangen werden.
  • Bei Block 720 schließt das Verfahren 700 das Leiten, durch die integrierte Schaltung 101a, des Satzes von Empfangsstiften 325a an den On-Chip-Router 340a unter Verwendung einer Standardstiftbelegung zum Empfangen von zweiten Daten über den Satz von Empfangsstiften 325a ein. Wie veranschaulicht, kann der Schnittstellenwrapper 350a in einigen Fällen ferner dazu konfiguriert sein, die Standardstiftbelegung zu verwenden, um den Satz von Empfangsstiften 325a mit dem On-Chip-Router 340a zu koppeln, zum Beispiel wenn der Schnittstellenwrapper 350b in der integrierten Schaltung 101b eine Nichtstandardstiftbelegung verwendet, um eine Stiftbelegung umzuleiten, bevor die zweiten Daten von dem Satz von Sendestiften 320d in der externen Schnittstelle 110b gesendet werden, sodass die einzelnen Bits der zweiten Daten in einer gewünschten Reihenfolge ankommen.
  • Eine solche Verwendung von Standard- und Nichtstandardstiftbelegungen kann eine Flexibilität der externen Schnittstellen von zwei integrierten Schaltungen erhöhen, die miteinander gekoppelt sind. Durch Ermöglichen, dass Signale zwischen den externen Schnittstellen und den On-Chip-Routern umgeleitet werden, kann eine Konsistenz von Signalen, die zwischen den zwei externen Schnittstellen verlaufen, im Vergleich zum Umleiten von Signalen über Drähte zwischen den zwei externen Schnittstellen erhöht werden. Zusätzlich können programmierbare Leitungsfähigkeiten der Schnittstellenwrapper eine Flexibilität der externen Schnittstellen erhöhen, was möglicherweise ermöglicht, dass die externen Schnittstellen für eine erhöhte Anzahl von Datentypen verwendet werden, die zwischen den integrierten Schaltungen übertragen werden sollen, ohne dass Daten vor dem Senden vorverarbeitet oder empfangene Daten nachverarbeitet werden müssen, um übertragene Datenbits in einer korrekten Bitposition zu platzieren.
  • Es wird darauf hingewiesen, dass das Verfahren von 7 lediglich ein Beispiel für das Leiten von Daten zwischen einem On-Chip-Router und einer externen Schnittstelle ist. Das Verfahren 700 kann durch beliebige Instanzen der in 1-5 offenbarten integrierten Schaltungen durchgeführt werden. Variationen der offenbarten Verfahren werden in Betracht gezogen, einschließlich Kombinationen von Vorgängen der Verfahren 600 und 700. Zum Beispiel kann Block 710 des Verfahrens 700 vor der Durchführung von Block 610 in dem Verfahren 600 durchgeführt werden, und Block 720 kann vor der Durchführung von Block 620 des Verfahrens 600 durchgeführt werden.
  • 1-7 veranschaulichen Einrichtungen und Verfahren für ein System, das ein Koppeln von zwei oder mehr integrierten Schaltungen unter Verwendung einer externen Schnittstelle mit einem komplementären Stiftlayout einschließt. Jede Ausführungsform der offenbarten Systeme kann in einer oder mehreren von einer Vielfalt von Computersystemen, wie einem Desktop-Computer, Laptop-Computer, Smartphone, Tablet, einer am Körper tragbaren Vorrichtung und dergleichen, eingeschlossen sein. In einigen Ausführungsformen können die vorstehend beschriebenen Schaltungen auf einem System-on-Chip (SoC) oder einer anderen Art von integrierter Schaltung implementiert sein. Ein Blockdiagramm, das eine Ausführungsform des Computersystems 800 veranschaulicht, ist in 8 veranschaulicht. Das Computersystem 800 kann in einigen Ausführungsformen jede offenbarte Ausführungsform der Systeme 100, 300, 500 und 505 einschließen.
  • In der veranschaulichten Ausführungsform schließt das System 800 mindestens eine Instanz eines System-on-Chip (SoC) 806 ein, das mehrere Typen von Verarbeitungsschaltungen, wie eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder etwas anderes, eine Kommunikations-Fabric und Schnittstellen zu Speichern und Eingabe-/Ausgabevorrichtungen, einschließen kann. In einigen Ausführungsformen schließen ein oder mehrere Prozessoren in dem SoC 806 mehrere Ausführungsspuren und eine Warteschlange für die Anweisungsausgabe ein. In verschiedenen Ausführungsformen ist das SoC 806 mit einem externen Speicher 802, Peripheriegeräten 804 und einer Leistungsversorgung 808 gekoppelt.
  • Es wird außerdem eine Leistungsversorgung 808 bereitgestellt, die dem SoC 806 die Versorgungsspannungen sowie dem Speicher 802 und/oder den Peripheriegeräten 804 eine oder mehrere Versorgungsspannungen zuführt. In verschiedenen Ausführungsformen stellt die Leistungsversorgung 808 eine Batterie (z. B. eine wiederaufladbare Batterie in einem Smartphone, einem Laptop- oder Tablet-Computer oder einer anderen Vorrichtung) dar. In einigen Ausführungsformen ist mehr als eine Instanz des SoC 806 eingeschlossen (und ist auch mehr als ein externer Speicher 802 eingeschlossen).
  • Der Speicher 802 ist ein beliebiger Speichertyp, wie ein dynamischer Direktzugriffsspeicher (DRAM), ein synchroner DRAM (SDRAM), ein SDRAM mit doppelter Datenrate (DDR, DDR2, DDR3 usw.) (einschließlich mobiler Versionen der SDRAMs, wie mDDR3 usw., und/oder Niedrigleistungsversionen der SDRAMs, wie LPDDR2 usw.), ein RAMBUS DRAM (RDRAM), ein statischer RAM (SRAM) usw. Eine oder mehrere Speichervorrichtungen sind auf eine Leiterplatte gekoppelt, um Speichermodule, wie Single Inline Memory Modules (SIMMs), Dual Inline Memory Modules (DIMMs) usw., zu bilden. Alternativ sind die Vorrichtungen mit einem SoC oder einer integrierten Schaltung in einer Chip-on-Chip-Konfiguration, einer Packageon-Package-Konfiguration oder einer Multichipmodulkonfiguration montiert.
  • Die Peripheriegeräte 804 schließen eine beliebige gewünschte Schaltlogik, abhängig vom Typ des Systems 800, ein. Zum Beispiel schließen die Peripheriegeräte 804 in einer Ausführungsform Vorrichtungen für verschiedene Typen von drahtloser Kommunikation, wie Wi-Fi, Bluetooth, Mobilfunk, globales Positionsbestimmungssystem usw., ein. In einigen Ausführungsformen schließen die Peripheriegeräte 804 auch eine zusätzliche Speicherung, einschließlich einer RAM-Speicherung, einer Solid-State-Speicherung oder einer Plattenspeicherung, ein. Die Peripheriegeräte 804 schließen Benutzerschnittstellenvorrichtungen, wie einen Anzeigebildschirm, einschließlich Berührungsanzeigebildschirmen oder Mehrfachberührungsanzeigebildschirmen, Tastatur- oder andere Eingabevorrichtungen, Mikrofone, Lautsprecher usw., ein.
  • Wie veranschaulicht, ist das System 800 derart gezeigt, dass es Anwendung in einem breiten Spektrum von Bereichen findet. Zum Beispiel kann das System 800 als Teil der Chips, Schaltlogik, Komponenten usw. eines Desktop-Computers 810, Laptop-Computers 820, Tablet-Computers 830, Mobilfunk- oder Mobiltelefons 840 oder Fernsehgeräts 850 (oder einer Set-Top-Box, die mit einem Fernsehgerät gekoppelt ist) genutzt werden. Ebenfalls veranschaulicht sind eine Smartwatch und eine Gesundheitsüberwachungsvorrichtung 860. In einigen Ausführungsformen kann eine Smartwatch eine Vielfalt von rechenbezogenen Universalfunktionen einschließen. Zum Beispiel kann die Smartwatch Zugriff auf E-Mail, einen Mobiltelefondienst, einen Benutzerkalender und so weiter bereitstellen. In verschiedenen Ausführungsformen kann eine Gesundheitsüberwachungsvorrichtung eine dedizierte medizinische Vorrichtung sein oder anderweitig eine dedizierte gesundheitsbezogene Funktionalität einschließen. Zum Beispiel kann eine Gesundheitsüberwachungsvorrichtung die Vitalparameter eines Benutzers überwachen, die Nähe eines Benutzers zu anderen Benutzern zum Zweck der epidemiologischen Abstandswahrung, Kontaktverfolgung verfolgen, die Kommunikation im Fall einer Gesundheitsnotlage an einen Notfalldienst bereitstellen und so weiter. In verschiedenen Ausführungsformen kann die vorstehend erwähnte Smartwatch einige oder keine gesundheitsüberwachungsbezogenen Funktionen einschließen. Andere am Körper tragbare Vorrichtungen 870 werden ebenfalls in Betracht gezogen, wie Vorrichtungen, die um den Hals getragen werden, Vorrichtungen, die an Mützen oder anderer Kopfbekleidung getragen werden, Vorrichtungen, die im menschlichen Körper implantierbar sind, Brillen, die dazu ausgelegt sind, eine Erfahrung einer erweiterten und/oder virtuellen Realität bereitzustellen, und so weiter.
  • Das System 800 kann ferner als Teil eines Cloud-basierten Dienstes/von Cloud-basierten Diensten 880 verwendet werden. Zum Beispiel können die zuvor erwähnten Vorrichtungen und/oder andere Vorrichtungen auf Rechenressourcen in der Cloud (d. h. entfernt angeordnete Hardware- und/oder Softwareressourcen) zugreifen. Ebenfalls in 8 veranschaulicht ist die Anwendung des Systems 800 auf verschiedene Transportmodi 890. Zum Beispiel kann das System 800 in den Steuer- und/oder Unterhaltungssystemen von Flugzeugen, Zügen, Bussen, Mietautos, Personenkraftwagen, Wasserfahrzeugen, von Privatbooten bis zu Kreuzfahrtschiffen, (Miet- oder eigenen) Rollern und so weiter verwendet werden. In verschiedenen Fällen kann das System 800 verwendet werden, um eine automatisierte Führung (z. B. selbstfahrende Fahrzeuge), eine allgemeine Systemsteuerung und etwas anderes bereitzustellen.
  • Es wird darauf hingewiesen, dass die große Vielfalt potenzieller Anwendungen für das System 800 eine Vielfalt von Leistungs-, Kosten- und Stromverbrauchsanforderungen einschließen kann. Dementsprechend kann eine skalierbare Lösung vorteilhaft sein, die die Verwendung einer oder mehrerer integrierter Schaltungen ermöglicht, um eine geeignete Kombination von Leistung, Kosten und Stromverbrauch bereitzustellen. Diese und viele andere Ausführungsformen sind möglich und werden in Betracht gezogen. Es wird darauf hingewiesen, dass die in 8 veranschaulichten Vorrichtungen und Anwendungen nur veranschaulichend sind und nicht einschränkend sein sollen. Andere Vorrichtungen sind möglich und werden in Betracht gezogen.
  • Wie in Bezug auf 8 offenbart, kann das Computersystem 800 zwei oder mehr integrierte Schaltungen einschließen, die miteinander gekoppelt und innerhalb eines Personalcomputers, Smartphones, Tablet-Computers oder einer anderen Art von Rechenvorrichtung eingeschlossen sind. Ein Prozess zum Entwerfen und Herstellen einer integrierten Schaltung unter Verwendung von Designinformationen ist nachstehend in 9 dargestellt.
  • 9 ist ein Blockdiagramm, das ein Beispiel für ein nichttransitorisches computerlesbares Speichermedium, das Schaltungsdesigninformationen speichert, gemäß einigen Ausführungsformen veranschaulicht. Die Ausführungsform von 9 kann in einem Prozess verwendet werden, um integrierte Schaltungen zu entwerfen und herzustellen, wie zum Beispiel die integrierten Schaltungen 101a und 101b, wie in mehreren Figuren gezeigt. In der veranschaulichten Ausführungsform ist das Halbleiterherstellungssystem 920 konfiguriert, um die auf dem nichttransitorischen computerlesbaren Speichermedium 910 gespeicherten Designinformationen 915 zu verarbeiten und die integrierte Schaltung 930 (z. B. die integrierte Schaltung 101) basierend auf den Designinformationen 915 herzustellen.
  • Das nichttransitorische computerlesbare Speichermedium 910 kann einen beliebigen von verschiedenen geeigneten Typen von Speichervorrichtungen oder Speicherungsvorrichtungen umfassen. Bei dem nichttransitorischen computerlesbaren Speichermedium 910 kann es sich um ein Installationsmedium, z. B. eine CD-ROM, Disketten oder eine Bandvorrichtung; einen Computersystemspeicher oder Direktzugriffsspeicher, wie DRAM, DDR-RAM, SRAM, EDO-RAM, Rambus-RAM usw.; einen nichtflüchtigen Speicher, wie einen Flash-Speicher, Magnetmedien, z. B. eine Festplatte oder eine optische Speicherung; Register oder andere ähnliche Typen von Speicherelementen usw. handeln. Das nichttransitorische computerlesbare Speichermedium 910 kann auch andere Typen von nichttransitorischem Speicher oder Kombinationen davon einschließen. Das nichttransitorische computerlesbare Speichermedium 910 kann zwei oder mehr Speichermedien einschließen, die sich an unterschiedlichen Positionen befinden können, z. B. in unterschiedlichen Computersystemen, die über ein Netzwerk verbunden sind.
  • Die Designinformationen 915 können unter Verwendung von beliebigen von verschiedenen geeigneten Computersprachen spezifiziert werden, einschließlich Hardwarebeschreibungssprachen, wie ohne Einschränkung: VHDL, Verilog, SystemC, SystemVerilog, RHDL, M, MyHDL usw. Die Designinformationen 915 können von dem Halbleiterherstellungssystem 920 verwendet werden, um mindestens einen Abschnitt der integrierten Schaltung 930 herzustellen. Das Format der Designinformationen 915 kann von dem mindestens einen Halbleiterherstellungssystem, wie dem Halbleiterherstellungssystem 920, erkannt werden. In einigen Ausführungsformen können die Designinformationen 915 eine Netzliste einschließen, die Elemente einer Zellbibliothek sowie deren Konnektivität spezifiziert. Eine oder mehrere Zellbibliotheken, die während der Logiksynthese von Schaltungen verwendet werden, die in der integrierten Schaltung 930 eingeschlossen sind, können auch in den Designinformationen 915 eingeschlossen sein. Solche Zellbibliotheken können Informationen einschließen, die Vorrichtungs- oder Transistorebene-Netzlisten, Maskendesigndaten, Charakterisierungsdaten und dergleichen von Zellen angeben, die in der Zellbibliothek eingeschlossen sind.
  • Die integrierte Schaltung 930 kann in verschiedenen Ausführungsformen eine oder mehrere benutzerdefinierte Makrozellen, wie Speicher, Analog- oder Mischsignalschaltungen und dergleichen, einschließen. In solchen Fällen können die Designinformationen 915 Informationen in Bezug auf enthaltene Makrozellen einschließen. Solche Informationen können, ohne darauf beschränkt zu sein, eine Schemaerfassungsdatenbank, Maskendesigndaten, Verhaltensmodelle und Netzlisten auf Vorrichtungs- oder Transistorebene einschließen. Wie hierin verwendet, können Maskendesigndaten gemäß dem Grafikdatensystem (GDSII) oder einem beliebigen anderen geeigneten Format formatiert werden.
  • Das Halbleiterherstellungssystem 920 kann ein beliebiges von verschiedenen geeigneten Elementen einschließen, die konfiguriert sind, um integrierte Schaltungen herzustellen. Dies kann zum Beispiel Elemente zum Abscheiden von Halbleitermaterialien (z. B. auf einem Wafer, was eine Maskierung einschließen kann), Entfernen von Materialien, Ändern der Form abgeschiedener Materialien, Modifizieren von Materialien (z. B. durch Dotieren von Materialien oder Modifizieren dielektrischer Konstanten unter Verwendung von ultravioletter Bearbeitung) usw. einschließen. Das Halbleiterherstellungssystem 920 kann auch konfiguriert sein, um verschiedene Tests von hergestellten Schaltungen auf ihre korrekte Funktion durchzuführen.
  • In verschiedenen Ausführungsformen ist die integrierte Schaltung 930 konfiguriert, um gemäß einem durch die Designinformationen 915 spezifizierten Schaltungsdesign zu arbeiten, was das Durchführen einer beliebigen der hierin beschriebenen Funktionalitäten einschließen kann. Zum Beispiel kann die integrierte Schaltung 930 beliebige der verschiedenen hierin gezeigten oder beschriebenen Elemente einschließen. Ferner kann die integrierte Schaltung 930 konfiguriert sein, um verschiedene hierin beschriebene Funktionen in Verbindung mit anderen Komponenten durchzuführen. Ferner kann die hierin beschriebene Funktionalität durch mehrere verbundene integrierte Schaltungen, wie die integrierten Schaltungen 101a und 101b in 1 und 3, durchgeführt werden. Wie hierin verwendet, impliziert ein Ausdruck der Form „Designinformationen, die ein Design einer Schaltung spezifizieren, die konfiguriert ist, um zu ...“ nicht, dass die betreffende Schaltung hergestellt werden muss, damit das Element erfüllt wird. Vielmehr gibt dieser Ausdruck an, dass die Designinformationen eine Schaltung beschreiben, die nach der Fertigung dazu konfiguriert wird, die angegebenen Aktionen auszuführen, oder die spezifizierten Komponenten einzuschließen.
  • Die vorliegende Offenbarung schließt Bezugnahmen auf „Ausführungsformen“ ein, die nicht einschränkende Implementierungen der offenbarten Konzepte sind. Bezugnahmen auf „Ausführungsform“, „eine Ausführungsform“, „eine bestimmte Ausführungsform“, „einige Ausführungsformen“, „verschiedene Ausführungsformen“ und dergleichen beziehen sich nicht notwendigerweise auf dieselbe Ausführungsform. Eine große Anzahl möglicher Ausführungsformen wird in Betracht gezogen, einschließlich detailliert beschriebener spezifischer Ausführungsformen, sowie Modifikationen oder Alternativen, die in das Wesen oder den Schutzumfang der Offenbarung fallen. Nicht alle Ausführungsformen weisen notwendigerweise beliebige oder alle der hierin beschriebenen potenziellen Vorteile auf.
  • Sofern nicht anders angegeben, sollen die spezifischen Ausführungsformen den Schutzumfang von Ansprüchen, die basierend auf dieser Offenbarung formuliert werden, nicht auf die offenbarten Formen einschränken, selbst wenn nur ein einzelnes Beispiel in Bezug auf ein bestimmtes Merkmal beschrieben wird. Die offenbarten Ausführungsformen sollen somit veranschaulichend und nicht einschränkend sein, sofern keine gegenteiligen Angaben vorhanden sind. Die Anmeldung soll Alternativen, Modifikationen und Äquivalente abdecken, die für Fachleute, denen diese Offenbarung zugute kommt, offensichtlich sind.
  • Besondere Merkmale, Strukturen oder Eigenschaften können auf jegliche geeignete Weise kombiniert werden, die mit dieser Offenbarung im Einklang steht. Die Offenbarung soll somit jedes Merkmal oder jede Kombination von Merkmalen, die hierin offenbart sind (entweder explizit oder implizit), oder jede Verallgemeinerung davon einschließen. Dementsprechend können während der Weiterverfolgung dieser Anwendung (oder einer Anwendung, welche die Priorität dieser beansprucht) neue Ansprüche auf eine beliebige solche Kombination von Merkmalen formuliert werden. Insbesondere können mit Bezug auf die angehängten Ansprüche Merkmale von abhängigen Ansprüchen mit denen der unabhängigen Ansprüche kombiniert werden, und Merkmale der jeweiligen unabhängigen Ansprüche können in jeder geeigneten Weise und nicht nur in den in den angehängten Ansprüchen aufgeführten spezifischen Kombinationen kombiniert werden.
  • Während zum Beispiel die beiliegenden abhängigen Ansprüche derart formuliert sind, dass jeder von einem einzigen anderen Anspruch abhängt, werden auch zusätzliche Abhängigkeiten in Betracht gezogen, einschließlich der folgenden: Anspruch 3 (könnte von einem der Ansprüche 1-2 abhängen); Anspruch 4 (einem vorstehenden Anspruch); Anspruch 5 (Anspruch 4) usw. Wo dies geeignet ist, wird auch in Betracht gezogen, dass in einem vorgegebenen Typ (z. B. Einrichtung) formulierte Ansprüche auf entsprechende Ansprüche eines anderen vorgegebenen Typs (z. B. Verfahren) hindeuten.
  • ***
  • Da diese Offenbarung ein rechtliches Dokument ist, können verschiedene Begriffe und Phrasen einer behördlichen und rechtlichen Auslegung unterliegen. Es wird hiermit bekannt gemacht, dass die folgenden Absätze sowie Definitionen, die in der gesamten Offenbarung bereitgestellt werden, beim Bestimmen, wie basierend auf dieser Offenbarung formulierte Ansprüche auszulegen sind, verwendet werden sollen.
  • Bezugnahmen auf die Singularformen, wie „ein“, „eine“ und „der“, „die“, „das“, sollen „ein oder mehrere“ bedeuten, sofern der Kontext nicht eindeutig etwas anderes vorschreibt. Eine Bezugnahme auf „ein Element“ in einem Anspruch schließt somit zusätzliche Instanzen des Elements nicht aus.
  • Das Wort „kann/können“ wird hierin in einem erlaubenden Sinn (d. h. das Potenzial aufweisend, in der Lage sein) und nicht in einem obligatorischen Sinn (d. h. muss/müssen) verwendet.
  • Die Begriffe „umfassend“ und „einschließlich“ und Formen davon sind offen und bedeuten „einschließlich, ohne darauf beschränkt zu sein“.
  • Wenn der Begriff „oder“ in dieser Offenbarung in Bezug auf eine Liste von Optionen verwendet wird, wird er im Allgemeinen derart verstanden, dass er in dem einschließenden Sinn verwendet wird, sofern nicht der Kontext etwas anderes vorsieht. Somit ist eine Angabe von „x oder y“ äquivalent zu „x oder y oder beide“ und deckt x, aber nicht y, y, aber nicht x, und sowohl x als auch y ab. Andererseits macht eine Phrase, wie „entweder x oder y, aber nicht beide“ deutlich, dass „oder“ im exklusiven Sinn verwendet wird.
  • Eine Angabe von „w, x, y oder z oder eine beliebige Kombination davon“ oder „mindestens eines von ... w, x, y und z“ soll alle Möglichkeiten abdecken, die ein einzelnes Element bis zur Gesamtanzahl von Elementen im Satz beinhalten. Bei dem Satz [w, x, y, z] decken diese Phrasen zum Beispiel jedes einzelne Element des Satzes (z. B. w, aber nicht x, y oder z), beliebige zwei Elemente (z. B. w und x, aber nicht y oder z), beliebige drei Elemente (z. B. w, x und y, aber nicht z) und alle vier Elemente ab. Die Phrase „mindestens eines von ... w, x, y und z“ bezieht sich somit auf mindestens ein Element des Satzes [w, x, y, z], wodurch alle möglichen Kombinationen in dieser Liste von Optionen abgedeckt werden. Diese Phrase darf nicht derart ausgelegt werden, dass es erforderlich ist, dass mindestens eine Instanz von w, mindestens eine Instanz von x, mindestens eine Instanz von y und mindestens eine Instanz von z vorhanden sind.
  • Verschiedene „Kennzeichnungen“ können in dieser Offenbarung vor Substantiven stehen. Sofern nicht der Kontext etwas anderes vorsieht, beziehen sich verschiedene Kennzeichnungen, die für ein Merkmal (z. B. „erste Schaltung“, „zweite Schaltung“, „bestimmte Schaltung“, „gegebene Schaltung“ usw.) verwendet werden, auf verschiedene Instanzen des Merkmals. Die Kennzeichnungen „erste/r/s“, „zweite/r/s“ und „dritte/r/s“, wenn sie auf ein bestimmtes Merkmal angewendet werden, implizieren keinen Typ von Reihenfolge (z. B. räumlich, zeitlich, logisch usw.), sofern nicht anders angegeben.
  • Innerhalb dieser Offenbarung können unterschiedliche Entitäten (die verschiedentlich als „Einheiten“, „Schaltungen“, andere Komponenten usw. bezeichnet werden können) als „konfiguriert“, um eine oder mehrere Aufgaben oder Operationen durchzuführen, beschrieben oder beansprucht werden. Diese Formulierung - [Entität], die konfiguriert ist, um [eine oder mehrere Aufgaben durchzuführen] - wird hierin verwendet, um sich auf eine Struktur (d. h. etwas Physisches) zu beziehen. Insbesondere wird diese Formulierung verwendet, um anzugeben, dass diese Struktur angeordnet ist, um die eine oder die mehreren Aufgaben während des Betriebs durchzuführen. Eine Struktur kann als „konfiguriert, um“ eine Aufgabe durchzuführen, bezeichnet werden, selbst wenn die Struktur aktuell nicht betrieben wird. Somit bezieht sich eine Entität, die als „konfiguriert, um“ eine Aufgabe durchzuführen, beschrieben oder angegeben ist, auf etwas Physisches, wie eine Vorrichtung, eine Schaltung, einen Speicher, der Programmanweisungen speichert, die ausführbar sind, um die Aufgabe zu implementieren, usw. Diese Wendung wird hierin nicht verwendet, um auf etwas nicht Greifbares Bezug zu nehmen.
  • Die Hardware-Schaltungen können jede Kombination von Schaltlogik kombinatorischer Logik, getakteten Datenspeichervorrichtungen, wie beispielsweise Flops, Register, Latches usw., endlichen Zustandsautomaten, Speicher, wie beispielsweise statischen Speicher mit wahlfreiem Zugriff oder eingebetteten dynamischen Speicher mit wahlfreiem Zugriff, benutzerspezifisch gestalteter Schaltlogik, analoger Schaltlogik, programmierbaren Logikanordnungen usw. einschließen. In ähnlicher Weise können vielfältige Einheiten/Schaltungen/Komponenten der Zweckmäßigkeit wegen in der Beschreibung so beschrieben sein, dass sie eine Aufgabe oder Aufgaben durchführen. Solche Beschreibungen sollten so interpretiert werden, als würden sie den Ausdruck „konfiguriert“ enthalten.
  • In einer Ausführungsform können Hardware-Schaltungen gemäß dieser Offenbarung durch Codieren der Beschreibung der Schaltung in einer Hardware-Beschreibungssprache (hardware description language (HDL)), wie beispielsweise Verilog oder VHDL, implementiert werden. Die HDL-Beschreibung kann gegenüber einer Bibliothek von Zellen synthetisiert werden, die für eine gegebene Technologie zur Herstellung integrierter Schaltungen gestaltet ist, und kann aus Gründen der Zeittaktung, Energie und anderen Gründen modifiziert werden, um zu einer endgültigen Gestaltungsdatenbank zu führen, die an eine Gießerei übermittelt werden kann, um Masken zu erzeugen und letztendlich die integrierte Schaltung zu produzieren. Manche Hardware-Schaltungen oder Abschnitte davon können auch in einem schematischen Editor benutzerdefiniert ausgestaltet und zusammen mit synthetisierter Schaltlogik in das Design der integrierten Schaltung eingegliedert werden. Die integrierten Schaltungen können Transistoren einschließen und können ferner andere Schaltungselemente einschließen (z. B. passive Elemente, wie beispielsweise Kondensatoren, Widerstände, Spulen usw.) und eine Verbindung zwischen den Transistoren und Schaltungselementen herstellen. Manche Ausführungsformen können mehrere integrierte Schaltungen implementieren, die miteinander gekoppelt sind, um die Hardware-Schaltungen zu implementieren, und/oder diskrete Elemente können in manchen Ausführungsformen verwendet werden. Alternativ kann das HDL-Design zu einer programmierbaren Logikanordnung, wie einer anwenderprogrammierbaren Gate-Anordnung (FPGA), synthetisiert werden und kann in der FPGA implementiert werden.
  • Der Begriff „konfiguriert, um“ soll nicht „konfigurierbar, um“ bedeuten. Eine unprogrammierte FPGA würde zum Beispiel nicht als „konfiguriert, um“ eine spezifische Funktion durchzuführen, betrachtet werden. Diese unprogrammierte FPGA kann jedoch „konfigurierbar, um“ diese Funktion durchzuführen, sein.
  • Das Angeben in den beiliegenden Ansprüchen, dass eine Struktur „konfiguriert ist, um“ eine oder mehrere Aufgaben durchzuführen, ist ausdrücklich nicht dazu gedacht, sich auf 35 U.S.C. § 112(f) für dieses Anspruchselement zu berufen. Wenn sich der Anmelder während des Erteilungsverfahrens auf die Anwendung von Abschnitt 112(f) berufen möchte, gibt er Anspruchselemente unter Verwendung des Konstrukts „Mittel zum“ [Durchführen einer Funktion] an.
  • Die Phrase „basierend auf“ wird verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Begriff schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Bestimmung beeinflussen können. Das heißt, eine Bestimmung kann ausschließlich auf angegebenen Faktoren basieren oder auf den angegebenen Faktoren sowie anderen, nicht angegebenen Faktoren basieren. Man betrachte die Phrase „A basierend auf B bestimmen“. Diese Phrase gibt an, dass B ein Faktor ist, der verwendet wird, um A zu bestimmen, oder der die Bestimmung von A beeinflusst. Diese Phrase schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie C, basieren kann. Diese Phrase soll auch eine Ausführungsform abdecken, in der A ausschließlich basierend auf B bestimmt wird. Wie hierin verwendet, ist die Phrase „basierend auf/auf der Grundlage von“ gleichbedeutend mit der Phrase „basierend mindestens teilweise auf“.
  • Die Phrase „als Reaktion auf“ beschreibt einen oder mehrere Faktoren, die eine Wirkung auslösen. Diese Wendung schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Wirkung beeinflussen oder anderweitig auslösen können. Das heißt, eine Wirkung kann ausschließlich als Reaktion auf diese Faktoren erfolgen oder kann als Reaktion auf die angegebenen Faktoren sowie andere, nicht angegebene Faktoren erfolgen. Man betrachte die Wendung „A als Reaktion auf B durchführen“. Diese Wendung gibt an, dass B ein Faktor ist, der die Durchführung von A auslöst. Diese Wendung schließt nicht aus, dass ein Durchführen von A auch als Reaktion auf einen anderen Faktor, wie C, erfolgen kann. Diese Wendung soll auch eine Ausführungsform abdecken, in der A ausschließlich als Reaktion auf B durchgeführt wird.

Claims (20)

  1. System, umfassend: eine erste Instanz einer integrierten Schaltung mit einer externen Schnittstelle mit einem physischen Stiftlayout mit Sende- und Empfangsstiften für einen bestimmten Bus, die sich in komplementären Positionen relativ zu einer Symmetrieachse befinden; und eine zweite Instanz der integrierten Schaltung mit der externen Schnittstelle; wobei die externen Schnittstellen der ersten und der zweiten Instanz der integrierten Schaltung so positioniert sind, dass die Sende- und Empfangsstifte für den bestimmten Bus an der ersten Instanz jeweils an den Empfangs- und Sendestiften für den bestimmten Bus an der zweiten Instanz ausgerichtet sind.
  2. System nach Anspruch 1, wobei die integrierte Schaltung eine Vielzahl von Senderschaltungen und eine Vielzahl von Empfängerschaltungen einschließt, die jeweiligen einer Vielzahl von Sendestiften und einer Vielzahl von Empfangsstiften entsprechen, und wobei die Vielzahl von Senderschaltungen und die Vielzahl von Empfängerschaltungen in einem physischen Layout angeordnet sind, das dem physischen Stiftlayout entspricht.
  3. System nach Anspruch 1, wobei die integrierte Schaltung eine Vielzahl von On-Chip-Routern einschließt, die mit einer Busschaltung gekoppelt sind, die eine Kommunikation auf dem Chip und zwischen der ersten und der zweiten Instanz der integrierten Schaltung unterstützt, und wobei die Vielzahl von On-Chip-Routern mit jeweiligen Abschnitten der externen Schnittstelle gekoppelt sind.
  4. System nach Anspruch 3, wobei die Sende- und Empfangsstifte der externen Schnittstelle in Sätze von Stiften gruppiert sind, wobei die Sätze von Stiften eine übliche Anzahl von Stiften aufweisen und wobei einzelne der Vielzahl von On-Chip-Routern einem jeweiligen oder mehreren der Sätze von Stiften zugewiesen sind.
  5. System nach Anspruch 4, wobei ein bestimmter On-Chip-Router der Vielzahl von On-Chip-Routern eine bestimmte Anzahl von Stiften einschließt, die sich von der üblichen Anzahl unterscheidet, und wobei mindestens ein Stift des jeweiligen oder der jeweiligen mehreren der Sätze von Stiften, die dem bestimmten On-Chip-Router zugewiesen sind, ungenutzt sind.
  6. System nach Anspruch 3, wobei ein erster On-Chip-Router der Vielzahl von On-Chip-Routern mit dem Sendestift für ein gegebenes E/A-Signal gekoppelt ist; wobei ein zweiter On-Chip-Router der Vielzahl von On-Chip-Routern mit dem Empfangsstift für das gegebene E/A-Signal gekoppelt ist und wobei der erste On-Chip-Router mit dem zweiten On-Chip-Router gekoppelt ist.
  7. System nach Anspruch 6, ferner umfassend einen Schnittstellenwrapper, wobei der Schnittstellenwrapper konfiguriert ist zum: Leiten des Sendestifts zu einer Standardstiftbelegung im ersten On-Chip-Router und Leiten des Empfangsstifts zu einer Nichtstandardstiftbelegung im zweiten On-Chip-Router.
  8. Verfahren, umfassend: Senden von ersten Daten über einen Satz von Sendestiften einer externen Schnittstelle an eine zweite Instanz der integrierten Schaltung durch eine erste Instanz einer integrierten Schaltung und Empfangen von zweiten Daten über einen Satz von Empfangsstiften der externen Schnittstelle von der zweiten Instanz der integrierten Schaltung durch die erste Instanz der integrierten Schaltung, wobei sich der Satz von Sendestiften und der Satz von Empfangsstiften in komplementären Positionen relativ zu einer Symmetrieachse der integrierten Schaltung befinden.
  9. Verfahren nach Anspruch 8, wobei das Senden der ersten Daten über den Satz von Sendestiften der externen Schnittstelle durch die erste Instanz das Senden eines bestimmten Satzes von Signalen an die zweite Instanz über die externe Schnittstelle unter Verwendung eines bestimmten On-Chip-Routers umfasst.
  10. Verfahren nach Anspruch 9, wobei das Empfangen von Daten über den Satz von Empfangsstiften der externen Schnittstelle durch die erste Instanz das Empfangen eines anderen Satzes von Signalen von der zweiten Instanz über die externe Schnittstelle unter Verwendung eines anderen On-Chip-Routers umfasst.
  11. Verfahren nach Anspruch 8, wobei der Satz von Sendestiften eine erste Anzahl von Stiften einschließt und wobei das Senden von Daten über den Satz von Sendestiften der externen Schnittstelle durch die erste Instanz das Senden der Daten in einer Vielzahl von Datenpaketen umfasst, wobei einige der Vielzahl von Datenpaketen eine zweite Anzahl von Bits einschließen und wobei die zweite Anzahl kleiner als die erste Anzahl ist.
  12. Verfahren nach Anspruch 11, ferner umfassend das Senden einer anderen Vielzahl von Datenpaketen zu einem anderen Zeitpunkt, wobei einige der anderen Vielzahl von Datenpaketen die erste Anzahl von Bits einschließen.
  13. Verfahren nach Anspruch 8, wobei ein bestimmter Sendestift des Satzes von Sendestiften und ein komplementärer Empfangsstift des Satzes von Empfangsstiften in einem gleichen Abstand von der Symmetrieachse angeordnet sind.
  14. Verfahren nach Anspruch 8, wobei das Senden der ersten Daten über den Satz von Sendestiften der externen Schnittstelle durch die erste Instanz das Leiten des Satzes von Sendestiften an einen ersten On-Chip-Router unter Verwendung einer Nichtstandardstiftbelegung umfasst; und wobei das Empfangen der zweiten Daten über den Satz von Empfangsstiften der externen Schnittstelle durch die erste Instanz das Leiten des Satzes von Empfangsstiften an einen zweiten On-Chip-Router unter Verwendung einer Standardstiftbelegung umfasst.
  15. (Aktuell geändert) Einrichtung, umfassend: eine Busschaltung, die konfiguriert ist, um gegebene Daten zwischen einer Vielzahl von Funktionsschaltungen zu übertragen; eine externe Schnittstelle, die mit der Busschaltung gekoppelt ist und eine Vielzahl von Senderschaltungen, die mit einem bestimmten Satz von Sendestiften gekoppelt ist, und eine Vielzahl von Empfängerschaltungen, die mit einem bestimmten Satz von Empfangsstiften gekoppelt ist, einschließt; wobei der bestimmte Satz von Sendestiften in einem bestimmten Layout relativ zu einer Symmetrieachse der externen Schnittstelle angeordnet ist; wobei der bestimmte Satz von Empfangsstiften in einem komplementären Layout zu dem bestimmten Layout relativ zur Symmetrieachse angeordnet ist und wobei die externe Schnittstelle konfiguriert ist, um bestimmte Daten zwischen der Busschaltung und einer anderen Einrichtung zu übertragen.
  16. Einrichtung nach Anspruch 15, ferner umfassend eine Vielzahl von On-Chip-Routern, die konfiguriert sind, um die bestimmten Daten zwischen der Busschaltung und der externen Schnittstelle über eine Vielzahl von Signalen zu übertragen.
  17. Einrichtung nach Anspruch 16, ferner umfassend einen Schnittstellenwrapper, der mit der Vielzahl von On-Chip-Routern und mit der externen Schnittstelle gekoppelt ist und konfiguriert ist zum: Leiten der Vielzahl von Signalen zwischen den On-Chip-Routern und der externen Schnittstelle für einen ersten Abschnitt der bestimmten Daten unter Verwendung einer ersten Stiftbelegung und Umleiten der Vielzahl von Signalen zwischen den On-Chip-Routern und der externen Schnittstelle für einen zweiten Abschnitt der bestimmten Daten unter Verwendung einer zweiten Stiftbelegung, die sich von der ersten Stiftbelegung unterscheidet.
  18. Einrichtung nach Anspruch 16, wobei die externe Schnittstelle eine Vielzahl von Sätzen von Sende- und Empfangsstiften einschließt und wobei Leistungssignale und Taktsignale unabhängig für gegebene der Vielzahl von Sätzen gesteuert werden.
  19. Einrichtung nach Anspruch 18, wobei ein bestimmter On-Chip-Router der Vielzahl von On-Chip-Routern mit zwei oder mehr Sätzen der Vielzahl von Sätzen von Sende- und Empfangsstiften gekoppelt ist; und wobei eine Anzahl von Datenbits, die durch den bestimmten On-Chip-Router parallel unterstützt wird, kleiner ist als eine Gesamtanzahl von Sende- und Stiften, die in den zwei oder mehr Sätzen eingeschlossen sind.
  20. Einrichtung nach Anspruch 16, wobei die Busschaltung eine Vielzahl von Bussen einschließt, wobei die Vielzahl von On-Chip-Routern ein Paar On-Chip-Router einschließt, die mit einem gemeinsamen Bus der Vielzahl von Bussen gekoppelt sind; und wobei ein erster des Paares von On-Chip-Routern mit einem bestimmten Satz von Sende- und Empfangsstiften der externen Schnittstelle, die sich auf einer Seite der Symmetrieachse befinden, gekoppelt ist; und wobei ein zweiter des Paares von On-Chip-Routern mit einem anderen Satz von Sende- und Empfangsstiften der externen Schnittstelle, die sich auf einer gegenüberliegenden Seite der Symmetrieachse befinden und die komplementär zu dem bestimmten Satz von Sende- und Empfangsstiften sind, gekoppelt ist.
DE112022000550.5T 2021-03-05 2022-03-04 Komplementäre chip-zu-chip-schnittstelle Pending DE112022000550T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/194,003 2021-03-05
US17/194,003 US20220284163A1 (en) 2021-03-05 2021-03-05 Complementary Die-to-Die Interface
PCT/US2022/018831 WO2022187572A1 (en) 2021-03-05 2022-03-04 Complementary die-to-die interface

Publications (1)

Publication Number Publication Date
DE112022000550T5 true DE112022000550T5 (de) 2023-11-23

Family

ID=81325827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000550.5T Pending DE112022000550T5 (de) 2021-03-05 2022-03-04 Komplementäre chip-zu-chip-schnittstelle

Country Status (5)

Country Link
US (1) US20220284163A1 (de)
KR (1) KR20230130134A (de)
CN (1) CN117043757A (de)
DE (1) DE112022000550T5 (de)
WO (1) WO2022187572A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842076B2 (en) * 2014-05-19 2017-12-12 Microchip Technology Incorporated Switchless USB C-connector hub
US11526644B2 (en) * 2020-11-05 2022-12-13 Nvidia Corporation Controlling test networks of chips using integrated processors

Also Published As

Publication number Publication date
US20220284163A1 (en) 2022-09-08
CN117043757A (zh) 2023-11-10
KR20230130134A (ko) 2023-09-11
TW202240421A (zh) 2022-10-16
WO2022187572A9 (en) 2023-02-02
WO2022187572A8 (en) 2023-11-02
WO2022187572A1 (en) 2022-09-09

Similar Documents

Publication Publication Date Title
DE102018006890A1 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE69432401T2 (de) Vorrichtung zur Integrierung von Bus-Master-Besitzrecht von Lokalbuslast
DE112007000443B4 (de) Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung
DE102019108376A1 (de) Sequenz zur Aushandlung und Aktivierung von Flexbus-Protokollen
DE102004009497B3 (de) Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
KR100690557B1 (ko) 시스템 온 칩 디자인을 위한 컴포넌트로서의 독립프로세서 서브시스템
DE102020113949A1 (de) Interconnect von Fabric-Die zu Fabric-Die für modularisierte integrierte Schaltungsvorrichtungen
DE112011105905B4 (de) Speichergerät mit gestapeltem Speicher, der Veränderlichkeit bei Zusammenschaltungen von Geräten erlaubt
DE60213601T2 (de) Programmierbare hardwarelogik, welche ein programmierbares interface und eine zentrale recheneinheit beinhaltet
DE102020108217A1 (de) Die-zu-Die-Verbindungsstruktur für modularisierte integrierte Schaltungsvorrichtungen
DE102016109363A1 (de) Host-port für serielle periphere schnittstellen
DE102014103186B4 (de) Halbleitervorrichtung und Halbleiterpackage
CN115525592A (zh) 用于集成电路装置的模块化外围片块
DE102019112628A1 (de) Dimm für speicherkanal mit hoher bandbreite
DE102020133243A1 (de) Skalierbare und interoperable phy-freie die-zu-die-ea-lösung
DE112017008031T5 (de) Aktive silizium-brücke
DE102019107971A1 (de) Universeller Sendeempfänger-Container
DE102012219059A1 (de) Effizientes Befehlsabbildungsschema für Kurze-Datenburstlängen- Speichervorrichtungen
DE102022109273A1 (de) Unabhängige on-chip-mehrfachverschaltung
DE112017006475T5 (de) Multi-die-gehäuse mit hoher bandbreite und niedrigem profil
DE112017006705T5 (de) Hyperchip
DE102022119686A1 (de) Kartenrandverbinder mit umgekehrter pinfussorientierung
DE112011106003T5 (de) Verbindung mehrerer Chips in einem Paket unter Verwendung von On-Package-Ein-/Ausgabe-Schnittstellen
DE102019112613A1 (de) Dimm mit hoher bandbreite
DE102020119632A1 (de) Vorrichtung, System und Verfahren zum Koppeln eines On-Chip-Netzes mit PHY-Schaltungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed