DE102012203038A1 - System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen - Google Patents

System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen Download PDF

Info

Publication number
DE102012203038A1
DE102012203038A1 DE102012203038A DE102012203038A DE102012203038A1 DE 102012203038 A1 DE102012203038 A1 DE 102012203038A1 DE 102012203038 A DE102012203038 A DE 102012203038A DE 102012203038 A DE102012203038 A DE 102012203038A DE 102012203038 A1 DE102012203038 A1 DE 102012203038A1
Authority
DE
Germany
Prior art keywords
die
clock
clock load
load information
model
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.)
Withdrawn
Application number
DE102012203038A
Other languages
English (en)
Inventor
Larry J. Thayer
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies Enterprise IP Singapore Pte Ltd
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 Avago Technologies Enterprise IP Singapore Pte Ltd filed Critical Avago Technologies Enterprise IP Singapore Pte Ltd
Publication of DE102012203038A1 publication Critical patent/DE102012203038A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Systeme und Verfahren zur Verteilungsanalyse einer integrierten Stapel-Die-Schaltung (IC) werden beschrieben. Die integrierte Stapel-Die-Schaltung weist einen primären Die auf, und Taktlastinformationen für den primären Die des ICs werden bestimmt. Zusätzlich kann ein Taktlastmodell erzeugt werden unter Verwendung der Taktlastinformationen für den primären Die. Taktlastinformationen für einen zweiten Die, der mit dem primären Die gekoppelt ist, können auch bestimmt werden. Die Taktlastinformationen für den zweiten Die können in das Taktlastmodell eingefügt werden, um ein verbessertes Taktlastmodell für den Stapel-Die-IC zu erzeugen, der dann analysiert werden kann, als wenn er ein Einzel-Die-IC wäre.

Description

  • Hintergrund
  • Ein Ziel beim Entwerfen von integrierten Schaltungs (integrated circuit, „IC“)-Chips ist es, die Leistungs- bzw. Energieverteilung zu optimieren, um Spannungsabfälle innerhalb des ICs zu minimieren und sicherzustellen, dass jede Komponente oder Teilbereich des Chips (zum Beispiel Transistoren, funktionelle Schaltungsblöcke, etc.) mit der optimalen Versorgungsspannung versorgt werden. Ein anderes Ziel ist es, sicherzustellen, dass verschiedene Komponenten des ICs zu der gewünschten Zeit in Übereinstimmung mit Taktsignalimpulsen arbeiten.
  • Energieversorgungsspannungen und Taktsignalimpulse werden üblicherweise zu einem IC von einer externen Leistungsversorgungsquelle durch Leitungsoder Bondpads (interconnect or bond pads) auf dem IC zugeführt. Die Leistungsversorgung für die verschiedenen Komponenten des ICs und Taktsignale zu den gewünschten Komponenten werden von den Leitungs- oder Bondpads durch metallische Leiter (metal conductors) oder andere geeignete Verdrahtung (wiring), insgesamt hierin als „Leiterbahnen“ (traces) bezeichnet, geleitet. Üblicherweise trägt bzw. transportiert eine Leiterbahn entweder eine Leistungsversorgung oder ein Taktsignal, aber nicht beides.
  • Leiterbahnen können auf oder in einer oder mehreren Schichten des ICs sowohl für horizontale als auch vertikale Leistungs- oder Taktsignalverteilung in einer Vielzahl von Mustern gebildet werden, die regelmäßig oder unregelmäßig in der Form sein können. Zusätzlich können die Spuren bzw. Leiterbahnen auf oder in den verschiedenen Ebenen eines ICs im Material sowie in Breite, Durchmesser und sogar Länge abhängig von dem Muster variieren. Dementsprechend kann die ohmsche Last, die durch eine Leiterbahn in einem Pfad zu einer bestimmten Komponente des ICs (wie Transistoren, funktionelle Schaltungsblöcke, etc.) verursacht wird, anders sein als die ohmsche Last, die durch eine Leiterbahn(en) in einem anderen Verteilungspfad verursacht wird.
  • Übliche digitale ICs weisen eine große Anzahl von getakteten Komponenten wie Flipflops, Registern, Auffangregister und ähnliches auf, die den Zustand in Antwort auf Taktsignalimpulse ändern. Es ist wünschenswert, die Zustandsänderungen für Gruppen solcher IC-Komponenten zu synchronisieren, indem sie an dasselbe Taktsignal gebunden werden. Zu diesem Zweck verwendet der IC üblicherweise einen Taktbaum (clock tree) oder Verzweigungsnetzwerk (branching network) von Leitern (conductors) und Zwischenspeichern (buffers), um alle Komponenten zu synchronisieren, die zu bzw. mit einem bestimmten Taktsignal getaktet sind.
  • Wenn der IC-Chip entworfen wurde und die Positionen der getakteten Komponenten in dem IC-Layout bzw. -Aufbau bekannt sind, kann ein Taktbaumsynthesewerkzeug (clock tree synthesis tool, CTS-Werkzeug) verwendet werden, um automatisch ein verteiltes Taktnetzwerk (als Taktbaum bezeichnet) zu erzeugen, um Taktsignale zu den gewünschten Komponenten bereitzustellen. Erzeugen des Taktbaumes kann Anlegen bzw. Entwerfen der Leiter oder Leiterbahnen aufweisen, die die Taktsignale zu den gewünschten Komponenten verteilen, üblicherweise in einer Weise, die versucht sicherzustellen, dass die Taktsignale alle gewünschten Komponenten zu derselben Zeit erreichen. Unterschiede in Ankunftszeiten jedes Taktsignalimpulses zwischen den Komponenten, die zusammen getaktet sind, wird als „Versatz“ (skew) bezeichnet.
  • Nachdem der Taktbaum erzeugt wurde und die Spuren bzw. Leiterbahnen angelegt wurden, kann der Versatz bzw. die Verzögerung zwischen Komponenten, die zusammen getaktet sind, minimiert oder „ausbalanciert“ werden. Das CTS-Werkzeug kann üblicherweise verwendet werden, um den Taktbaum auszubalancieren, indem Zwischenspeicher in ausgewählten Zweigen des Taktbaumes platziert werden, um die Verzögerung des Taktsignals entlang dieses Taktbaumzweiges oder Signalpfades anzupassen. Zwischenspeicher erreichen dies üblicherweise, indem die Rate, bei der die Kapazität von Taktbaumleitern (capacitance of clock tree conductors) stromabwärts des Zwischenspeichers geladen werden, in Abhängigkeit von der Größe und Zusammensetzung des Zwischenspeichers, der in einem bestimmten Taktbaumzweig verwendet wird, erhöht oder verringert wird. Somit kann das CTS-Werkzeug die Anzahl, Position, Größe, kapazitive Ladung, Zusammensetzung, etc. der Zwischenspeicher, die verwendet werden, um den Versatz auf einen akzeptablen Pegel für den IC zu minimieren, auswählen.
  • Jedoch sind solche Taktbaumerzeugungs- und Ausbalancierungsschwierigkeiten in fortgeschrittenem IC-Design, wie den verschiedenen „System auf einem Chip“-Entwürfen (system on a chip designs) oder anwendungsspezifischer integrierter Schaltungen (application specific integrated circuits, „ASIC“), einschließlich Stapel-Die-ICs bzw. ICs mit gestapelten Dies bzw. ungehäusten Chips (stacked-die ICs), zusammengesetzt. Entwickler müssen den Taktbaum erzeugen und ausbalancieren, nicht nur für getaktete Komponenten auf einem Chip für solche fortgeschrittenen Entwürfe, sondern potentiell über mehrere Chips hinweg, während zu derselben Zeit die Taktungsleistungsanforderungen für den Stapel-Die-IC erfüllt werden müssen. Dies ist eine Aufgabe, für die die meisten herkömmlichen CTS-Werkzeuge nicht ausgestattet sind.
  • Dementsprechend wird ein System und Verfahren benötigt, das einfach und effektiv Taktverteilungsnetzwerke für Stapel-Die-ICs unter Verwendung herkömmlicher Einzel-Die-Analysewerkzeuge (single-die analysis tools) analysieren kann.
  • Zusammenfassung
  • Systeme und Verfahren zur Verteilungsanalyse einer integrierten Stapel-Die-Schaltung (IC) werden beschrieben. Das Verfahren weist das Bestimmen von Taktlastinformationen (clock load information) für einen primären Die des ICs auf. Ein Taktlastmodell (clock load model) in einer Ausführungsform kann erzeugt werden, indem die Taktlastinformationen für den primären Die verwendet werden. Zusätzlich können Taktlastinformationen für einen zweiten Die, der elektrisch mit dem primären Die gekoppelt ist, bestimmt werden. Die Taktlastinformationen für den zweiten Die können in das Taktlastmodell eingefügt werden, um ein verbessertes Taktlastmodell für den Stapel-Die-IC zu erzeugen, der dann analysiert werden kann, als wenn er ein Einzel-Die-IC (single-die IC) wäre.
  • Kurze Beschreibung der Zeichnungen
  • In den Figuren beziehen sich ähnliche Bezugszeichen auf ähnliche Teile durch die verschiedenen Ansichten hinweg, wenn nicht anders angegeben. Für Bezugszeichen mit Bezeichnungen wie „52“ und „52‘“, können die „‘“-Bezeichnungen zwei ähnliche Teile oder Elemente, die in derselben Figur oder unterschiedlichen Figuren vorhanden sind, unterscheiden. Solche Bezeichnungen für Bezugszeichen können weggelassen werden, wenn beabsichtigt ist, dass ein Bezugszeichen alle Teile, die dasselbe Bezugszeichen in allen Figuren haben, umfasst.
  • 1 stellt eine Seitenansicht eines beispielhaften Stapel-Die-ICs dar, für den die vorliegende Erfindung eine Leistungsverteilungsanalyse bereitstellen kann;
  • 2 ist ein Diagramm, das ein beispielhaftes Taktlastmodell eines Teilbereichs des Stapel-Die-ICs darstellt, der in 1 dargestellt ist;
  • 3 ist ein Diagramm, das ein beispielhaftes Taktlastmodell des Stapel-Die-ICs, der in 1 dargestellt ist, darstellt;
  • 4 stellt ein beispielhaftes Verfahren zum Analysieren eines Verteilungsnetzwerks eines Stapel-Die-ICs dar; und
  • 5 ist ein Blockdiagramm eines beispielhaften Systems zum Implementieren des Verfahrens, das in 4 dargestellt ist.
  • Detaillierte Beschreibung
  • Das Wort „beispielhaft“ wird hierin verwendet, um „als ein Beispiel, ein Exemplar, oder Veranschaulichung dienend“ zu bedeuten. Ein beliebiger Aspekt, der hierin als „beispielhaft“ beschrieben ist, ist nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten auszulegen.
  • In dieser Beschreibung kann der Begriff „Anwendung“ auch Daten beinhalten, die einen ausführbaren Inhalt haben, wie: Objektcode, Skripte, Bytecode, Auszeichnungssprache-Dateien (markup language files), und Patches. Zusätzlich kann eine „Anwendung“, auf die hierin Bezug genommen wird, auch Dateien beinhalten, die in der Art nicht ausführbar sind, wie Dokumente, die geöffnet werden müssen, oder andere Dateien, auf die zugegriffen werden muss.
  • Der Begriff „Inhalt“ kann auch Dateien beinhalten, die ausführbaren Inhalt haben, wie: Objektcode, Skripte, Bytecode, Auszeichnungssprache-Dateien und Patches. Zusätzlich kann „Inhalt“, wie er hierin bezeichnet wird, auch Dateien beinhalten, die in ihrer Art nicht ausführbar sind, wie Dokumente, die geöffnet werden müssen, oder andere Dateien, auf die zugegriffen werden muss.
  • Wie in dieser Beschreibung verwendet sind die Begriffe „Datenbank“, „Modul“, „System“, „Element“ und ähnliches beabsichtigt, dass sie sich auf computerbezogene Einheiten beziehen, entweder Hardware, Firmware, eine Kombination von Hardware und Software, Software oder Software in der Ausführung. Beispielsweise kann ein Element einen Prozess, der auf einem Prozessor läuft, ein Prozessor, ein Objekt, ein Ausführbares, ein Thread einer Ausführung, ein Programm und/oder ein Computer sein, aber ist nicht darauf beschränkt. Zur Veranschaulichung kann sowohl eine Anwendung auf einer Rechnervorrichtung laufen als auch die Rechnervorrichtung ein Element sein.
  • In ähnlicher Weise können ein oder mehrere Elemente innerhalb eines Prozesses und/oder Ausführungs-Threads liegen und eine Komponente kann auf einem Computer und/oder verteilt zwischen zwei oder mehreren Computern positioniert sein. Zusätzlich können diese Elemente von verschiedenen computerlesbaren Medien ausgeführt werden, die verschiedene Datenstrukturen haben, die darauf gespeichert sind. Die Elemente können über lokale und/oder entfernte Prozesse wie in Übereinstimmung mit einem Signal, das ein oder mehrere Datenpakete aufweist, kommunizieren (zum Beispiel Daten von einer Komponente interagierend mit einem anderen Element oder Komponente in einem lokalen System, verteilten System und/oder über ein Netzwerk wie das Internet mit anderen Systemen über das Signal).
  • Bezugnehmend auf 1 stellt diese Figur eine Seitenansicht eines beispielhaften Stapel-Die-ICs dar, für den die Ausführungsformen der vorliegenden Erfindung eine Energie- bzw. Leistungsverteilungsanalyse bereitstellen können. 1 zeigt ein IC-Gehäuse bzw. -Package 10, das ein Substrat 12 aufweist, das aus irgendeinem geeigneten Substratmaterial gebildet sein kann. Gemäß der beispielhaften Ausführungsform dienen ein oder mehrere Lötkugeln 14 dazu, das Substrat 12 elektrisch mit dem primären Die 16 zu verbinden und Energie und/oder Taktsignale zu dem primären Die 16 bereitzustellen.
  • Der primäre Die 16 kann aus Silizium oder irgendeinem anderen geeigneten Material gebildet sein. Zusätzlich weist der primäre Die 16 ein oder mehrere Transistoren oder andere Komponenten (zum Beispiel funktionelle Schaltkreise) auf, die elektrisch und mechanisch mit einer oder mehreren der Lötkugeln 14 über leitende Verdrahtung (conductive wiring) oder Leiterbahnen, die in oder auf dem primären Die 16 positioniert sind, verbunden werden. Solche leitende Verdrahtung oder Leiterbahnen können aus irgendeinem geeigneten leitenden Material hergestellt sein, einschließlich beispielsweise Kupfer. Zusätzlich, wie es dem Fachmann bekannt sein würde, gibt es verschiedene andere Verfahren und/oder Strukturen, die verwendet werden können, um den primären Die 16 mit dem Substrat 12 zu verbinden und/oder Leistung an den primären Die 16 bereitzustellen, wie beispielsweise Drahtverbindungen (wire bonds).
  • Der primäre Die 16 wird einen Taktsignalerzeuger, der Taktsignalimpulse erzeugt, aufweisen, oder mit diesem gekoppelt sein. Die Taktsignalimpulse werden sich zu den gewünschten Komponenten (zum Beispiel Transistoren, funktionelle Schaltkreise, Flipflops, Register, etc.) entlang getrennter leitender Verdrahtung oder Leiterbahnen bewegen, als denen, die Leistung zu den Komponenten des primären Dies 16 bereitstellen. Solche Taktsignalleiterbahnen werden üblicherweise in speziellen Schichten des primären Dies 16 positioniert sein. Zusätzlich, wie oben diskutiert, können solche Taktsignalleiterbahnen in dem primären Die 16 auch ein oder mehrere Zwischenspeicher von variierender Größe, kapazitiver Ladung, Anzahl von Stufen, Schwellwertspannung, etc. an spezifischen Orten aufweisen, um zu helfen, den Versatz der Taktsignale, die zu den gewünschten Komponenten des primären Dies 16 gesendet werden, zu minimieren.
  • Wie in 1 dargestellt weist das beispielhafte IC-Package 10 auch einen zweiten Die 20 auf, der elektrisch und mechanisch mit der oberen Oberfläche des primären Dies 16 mittels ein oder mehrerer Lötpunkte 18 verbunden ist. Der zweite Die 20 kann aus Silizium oder irgendeinem anderen geeigneten Material gebildet sein. Zusätzlich wird der zweite Die 20 einen oder mehrere Transistoren oder andere Komponenten (zum Beispiel funktionelle Schaltkreise) aufweisen, die elektrisch mit einem oder mehreren der Lötpunkte 18 über leitende Verdrahtungen oder Leiterbahnen, die in oder auf dem zweiten Die 20 positioniert sind, verbunden werden. Solche leitenden Verdrahtungen oder Leiterbahnen können aus irgendeinem geeigneten leitenden Material, einschließlich beispielsweise Kupfer, hergestellt sein. Zusätzlich, wie es dem Fachmann bekannt sein würde, gibt es verschiedene andere Verfahren und/oder Strukturen, die verwendet werden können, um den zweiten Die 20 mit dem primären Die 16 zu verbinden und/oder Leistung zu dem zweiten Die 20 bereitzustellen, wie beispielsweise Drahtverbindungen.
  • Ein oder mehrere der Lötpunkte 18, die den zweiten Die 20 mit dem primären Die 16 verbinden, können Taktsignale zu Komponenten des zweiten Dies 20 leiten, von denen gewünscht wird, dass sie getaktet werden. Der eine oder die mehreren Lötpunkte 18, die die Taktsignale zu dem zweiten Die 20 leiten, leiten üblicherweise nicht auch Leistung bzw. Energie zu dem zweiten Die 20. Somit kann ein bestimmter Lötpunkt 18 Taktsignale oder elektrische Energie zu dem zweiten Die 20 leiten, aber nicht beides. Der zweite Die 20 wird auch leitende Verdrahtungen oder Leiterbahnen aufweisen, um die Taktsignale zu gewünschten Komponenten des zweiten Dies 20 (zum Beispiel Transistoren, funktionelle Schaltkreise, Flipflops, Register, etc.) zu übermitteln. Diese Taktsignalleiterbahnen werden getrennt von der leitenden Verdrahtung oder den Leiterbahnen sein, die Leistung zu den Komponenten des zweiten Dies bereitstellen, und solche Taktsignalleiterbahnen werden üblicherweise in spezifischen Schichten des zweiten Dies 16 positioniert sein. Zusätzlich, wie auch bei den Taktsignalleiterbahnen für den primären Die 16, können die Taktsignalleiterbahnen in dem zweiten Die 20 ein oder mehrere Zwischenspeicher von variierenden Größen, kapazitiver Ladung, Anzahl von Stufen, Schwellwertspannung, etc. an spezifischen Positionen aufweisen, um zu helfen, den Versatz der Taktsignale, die zu den gewünschten Komponenten des zweiten Dies 20 gesendet werden, zu minimieren.
  • Abhängig von dem gewünschten IC-Package 10 können der primäre Die 16 und/oder der sekundäre Die 20 Prozessoren, Speicherblöcke (einschließlich ohne Beschränkung DRAM, Flash-ROM, EEPROM, oder RAM) anwenderprogrammierbare Gate-Arrays (field-programmable gate arrays), analoge Komponenten oder irgendeine ähnliche Komponente oder irgendeine Kombination davon sein. Beim Entwerfen des primären Dies 16 und/oder des sekundären Dies 20 werden die Spannungs- und Taktsignalerfordernisse für jeden (und die verschiedenen Teile oder Teilbereiche von jedem) berücksichtigt werden müssen, um korrektes Arbeiten sicherzustellen, Spannungen und Zeitablauf werden aufrechterhalten. Ein beispielhaftes Verfahren zum Berechnen für die Spannungserfordernisse in einem Einzel-Die-IC-Package ist, die verschiedenen Teilbereiche des Dies als Schaltkreise zu modellieren, was die Energielast für jeden Teilbereich des Dies zeigt. In ähnlicher Weise ist ein beispielhaftes Verfahren zum Berechnen für die Taktzeitablauferfordernisse in einem Einzel-Die-IC-Package, die verschiedenen Teilbereiche des Dies als Schaltkreise zu modellieren, was die Zwischenspeicher und Taktverteilungslast für jeden Teilbereich des Dies (dargestellt mittels Kondensatoren) zeigt.
  • Sich 2 zuwendend ist diese Figur ein Diagramm eines beispielhaften Taktverteilungslastmodells 50 des primären Dies 16 des Stapel-Die-ICs, der in 1 dargestellt ist. Wie mit einem Einzel-Die-IC-Package kann der primäre Die 16 des Stapel-Die-ICs direkt durch eine Vielzahl bekannter Verfahren und unter Verwendung einer Vielzahl von bekannten Modellierungsanwendungen modelliert werden. In der beispielhaften Ausführungsform gezeigt in 2 zeigt das Taktverteilungslastmodell 50 die Taktverteilungslasten 52, 52‘ und 52‘‘ für die verschiedenen Teilbereiche, Transistoren, funktionellen Schaltkreise, etc. des primären Dies 16, die zusammen getaktet werden. Obwohl drei Taktverteilungslasten 52, 52‘ und 52‘‘ in der beispielhaften Ausführungsform gezeigt in 2 dargestellt sind, können weniger oder mehr Taktverteilungslasten vorhanden sein und/oder in unterschiedlichen Konfigurationen angeordnet sein, abhängig von der Art des Dies, der modelliert wird, und/oder wie viele Komponenten des Dies gewünscht sind, zusammen getaktet zu werden.
  • Zusätzlich sind die Taktverteilungslasten 52, 52‘ und 52‘‘ als RC-Lasten (RC loads) gezeigt, die das RC-Netzwerk (RC network) der Taktverteilungsverbindung (clock distribution interconnect) aufweisen, wobei beispielsweise die Taktverteilungslast (clock distribution load) 52 den spezifischen Widerstand in dem Leiter aufweist, der den Versorgungsstrom 54 zu dem Kondensator 56 bereitstellt. Andere Arten des Zeigens oder Modellierens der Taktverteilungslasten 52, 52‘ und 52‘‘ sind auch möglich, wie dem Fachmann bekannt wäre. Man beachte, dass in der Ausführungsform gezeigt in 2 der Wert jeder Taktverteilungslast 52, 52‘ und 52‘‘ die Last aufweist, die durch den Pfad verursacht wird, der Leistung zu dem Teilbereich zuführt, der modelliert wird (zum Beispiel irgendeine Last von der Taktsignalleiterbahn).
  • Unter Verwendung dieses Modellierungssystems kann die Taktverteilungslast des primären Dies 16 analysiert werden und die Netto-Taktverteilungslast 58 des primären Dies 16 kann berechnet werden. Als Teil der Analyse können die Taktlasten ausbalanciert werden, und Bereiche, bei denen überhöhter Versatz vorhanden ist, können identifiziert werden, so dass der Entwurf korrigiert werden kann, wie beispielsweise mittels des Hinzufügens von einem oder mehreren Taktzwischenspeichern 59, die gestaltet sind, um die Verzögerung (delay) eines Taktimpulses zu einem oder mehreren getakteten Komponenten des primären Dies 16 zu erhöhen oder zu verringern. Solche Taktzwischenspeicher 59 können in Transistorgröße, kapazitiver Ladung, Anzahl von Stufen, Schwellwertspannung, etc. wie gewünscht variieren. Zusätzlich kann der Versatz auf andere Arten adressiert werden, wie mittels Anpassen des spezifischen Widerstandes der Taktsignalleiterbahn zu einer bestimmten getakteten Komponente des primären Dies 16.
  • Man beachte, dass beispielhafte Ausführungsformen das Messen und/oder Analysieren von Taktlasten diskutieren, die aus einem RC-Netzwerk bestehen. Wie ein Fachmann verstehen würde, könnten andere Ausführungsformen andere Eigenschaften messen und/oder analysieren, aus denen eine Taktlast bestimmt oder abgeleitet werden kann, ohne von den Prinzipien und dem Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Des Weiteren, wie in 3 dargestellt, können zusätzliche Dies, wie der zweite Die 20, auch zusammen mit dem primären Die 16 modelliert werden, um die Taktverteilung des gesamten IC-Packages 10 zu analysieren. 3 ist ein Diagramm, das ein beispielhaftes Taktverteilungslastmodell eines Stapel-Die-IC-Packages 10 zeigt, wie das gezeigt in 1. Wie in 3 gezeigt, kann ein zweites Taktverteilungslastmodell 60 aus dem zweiten Die 20 hergestellt werden. In dem beispielhaften zweiten Taktverteilungslastmodell 60 dargestellt in 3 werden sekundäre Taktlasten 62, 62‘ und 62‘‘ für die verschiedenen Komponenten des sekundären Dies 20 bestimmt, die gewünscht sind, zusammen mit den Komponenten des primären Dies 16 getaktet zu werden. Obwohl drei sekundäre Taktlasten 62, 62‘ und 62‘‘ in der beispielhaften Ausführungsform gezeigt in 3 dargestellt sind, können weniger oder mehr Taktlasten vorhanden sein und/oder in unterschiedlichen Konfigurationen angeordnet sein, abhängig von der Art des Dies, der modelliert wird, und/oder wie viele Komponenten des zweiten Dies 20 zusammen getaktet werden.
  • Zusätzlich sind die sekundären Taktlasten 62, 62‘ und 62‘‘ in 3 als RC-Lasten gezeigt, die das RC-Netzwerk der Taktverteilungsverbindung aufweisen, wobei beispielsweise die Taktverteilungslast 62 den spezifischen Widerstand in dem Leiter aufweist, der den Versorgungsstrom 64 zu dem Kondensator 66 bereitstellt. Andere Arten des Zeigens oder Modellierens der Taktverteilungslasten 62, 62‘ und 62‘‘ sind auch möglich, wie es dem Fachmann bekannt wäre. In der Tat können in manchen Ausführungsformen die sekundären Taktverteilungslasten 62, 62‘ und/oder 62‘‘ durch den Entwickler geschätzt werden, wie etwa durch Zuordnen eines Taktlastwertes basierend auf der Art der Komponente, die die sekundäre Taktverteilungslast 62, 62‘ und/oder 62‘‘ darstellt. Man beachte, dass in der Ausführungsform gezeigt in 3B der Wert von jeder sekundären Taktverteilungslast 62, 62‘ und 62‘‘ die Last aufweist, die durch den Pfad verursacht wird, der Leistung zu dem Teilbereich zuführt, der modelliert wird (zum Beispiel irgendeine Last von der Taktsignalleiterbahn).
  • In der beispielhaften Ausführungsform gezeigt in 3 werden, sobald die sekundären Taktverteilungslasten 62, 62‘ und 62‘‘ bestimmt sind, sie auf das Taktverteilungslastmodell 50B für den primären Die 16 (siehe 2) projiziert bzw. hochgerechnet, was ein verbessertes Taktverteilungslastmodell 70 erzeugt, und welches das Taktverteilungsnetzwerk für beide der Dies in dem Stapel-Die-IC-Package 10 dargestellt in 2 darstellt. Man beachte, dass die Position der sekundären Taktverteilungslasten 62, 62‘ und/oder 62‘‘ auf dem verbesserten Taktverteilungslastmodell 70 mittels der Taktsignalverbindungen zwischen dem primären Die 16 und dem zweiten Die 20 bestimmt werden kann.
  • Das veranschaulichende Stapel-Die-IC-Package 10 gezeigt in 1 als ein Beispiel verwendend stellt der primäre Die 16 Taktsignale zu dem zweiten Die 20 durch ein oder mehrere Taktsignallötpunkte 18 bereit (siehe 1). In diesem Beispiel kann die sekundäre Taktverteilungslast 62 ein oder mehrere Komponenten auf dem zweiten IC 20 darstellen, der Taktsignale von einem einzelnen Lötpunkt 18 empfängt. Dementsprechend würde in diesem Beispiel die sekundäre Taktlast 62 auf dem verbesserten Taktverteilungslastmodell 70 an einer Position, die der Position auf dem primären Die 16 des Lötpunktes 18 entspricht, der das Taktsignal zu der sekundären Taktverteilungslast 62 bereitstellt, positioniert sein. Fortfahrend mit diesem Beispiel kann der Wert der sekundären Taktverteilungslast 62 einen kombinierten Wert der Taktlasten von mehreren Komponenten und/oder funktionellen Schaltkreisen auf dem sekundären Die 20, die zusammen getaktet werden, den kombinierten Lasten von allen Taktsignalpfaden, die diese verschiedenen Komponenten verbinden, und irgendeiner Last, die mit der Übertragung des Taktsignals von dem primären Die 16 zu dem sekundären Die 20 durch den Lötpunkt 18 assoziiert ist, darstellen. Dieser Prozess kann wiederholt werden, bis alle der sekundären Taktverteilungslasten 62, 62‘ und 62‘‘ auf das verbesserte Taktverteilungslastmodell 70 mit ihren korrekten oder geschätzten Werten in den korrekten Positionen erfasst oder auf dieses projiziert bzw. hochgerechnet sind.
  • Sobald das verbesserte Taktverteilungslastmodell 70 vervollständigt ist, kann das Taktverteilungsnetzwerk des gesamten Stapel-Die-IC-Packages 10 analysiert werden, als wenn es ein Einzel-Die-IC wäre. Beispielsweise kann die gesamte Taktverteilungsenergie 78 berechnet werden, als wenn es ein Einzel-Die-IC wäre, während nach wie vor die Gesamttaktlast berücksichtigt wird, die sowohl durch den primären Die 16 als auch den zweiten Die 20 benötigt wird. Als Teil der Analyse können die Taktlasten ausbalanciert werden, und Bereiche, bei denen überhöhter Versatz vorhanden ist, können identifiziert werden, so dass der Entwurf korrigiert werden kann, wie durch das Hinzufügen von einem oder mehreren Taktzwischenspeichern 80, die gestaltet sind, um die Verzögerung eines Taktimpulses zu einer oder mehreren getakteten Komponenten des primären Dies 16 und/oder des zweiten Dies 20 zu erhöhen oder zu verringern. Solche Taktzwischenspeicher 80 können in Größe, kapazitiver Ladung, Anzahl von Stufen, Schwellwertspannung, etc. wie gewünscht variieren. Zusätzlich kann der Versatz auf andere Weise adressiert werden, wie durch das Anpassen des spezifischen Widerstandes der Taktsignalleiterbahn zu einer bestimmten getakteten Komponente des primären Dies 16 und/oder zweiten Dies 20.
  • Die beispielhaften Ausführungsformen diskutieren das Messen und/oder Analysieren von Taktlasten, die ein RC-Netzwerk aufweisen. Wie ein Fachmann anerkennen würde, könnten andere Ausführungsformen andere Eigenschaften messen und/oder analysieren, von denen eine Taktlast bestimmt oder abgeleitet werden kann, ohne von den Prinzipien und dem Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Zusätzlich, während die obigen Ausführungsformen einen primären Die 16 und einen zweiten Die 20 diskutieren, können andere Ausführungsformen einen primären Die 16 mit mehreren zweiten Dies 20 aufweisen, die an verschiedenen Positionen auf dem primären Die 16 positioniert sind, und mit dem primären Die 16 durch eine Vielzahl von Verfahren verbunden sind, die das Empfangen von Taktsignalen von dem primären Die 16 erlauben. In ähnlicher Weise können zusätzliche Ausführungsformen einen primären Die 16, einen zweiten Die 20, der an dem primären Die 16 angebracht ist, und einen oder mehrere zusätzliche Dies, die an dem zweiten Die 20 angebracht sind, aufweisen, die einen vertikalen Stapel von Dies auf den primären Die 16 durch eine Vielzahl von Verfahren erzeugen, die den Empfang von Taktsignalen von dem primären Die 16 erlauben. Solche vertikalen Stapel können durch Silizium-Durchkontaktierungen (silicon vias), größere Lötkugeln, große Kugeln, oder andere Mittel, die dem Fachmann bekannt sind, erzeugt werden. In solchen Ausführungsformen kann das Modellieren oder die Abschätzung von Taktlasten für sukzessive Dies wie oben beschrieben ablaufen, wobei die Lasten von jedem Die auf dem Modell des darunter liegenden Dies erfasst werden, bis die Lasten für alle Dies, die gewünscht sind, analysiert zu werden, erfasst und/oder auf das verbesserte Taktverteilungslastmodell 70 für das Multi-Die-IC-Package 10 projiziert bzw. hochgerechnet (projected onto) sind.
  • Bezugnehmend nun auf 4 stellt diese Figur ein beispielhaftes Verfahren 100 zum Analysieren der Verteilung eines Stapel-Die-IC-Packages 10 und insbesondere Analysieren einer Taktverteilung in dieser Ausführungsform dar. Wie relativ zu 1 und den nachfolgenden Figuren beschrieben, kann ein veranschaulichendes Stapel-Die-IC-Package 10 einen primären Die 16 aufweisen, der mittels einem oder mehrerer Lötpunkte 18 mit einem zweiten Die 20 verbunden ist und Taktsignale durch diese bereitstellt. Beginnend bei Schritt 105 von 4 kann Lastinformation für den primären Die 16 bestimmt werden, wie durch Erzeugen eines Verteilungslastmodells 50, das die Taktlasten 52, 52‘ und 52‘‘ der Komponenten des beispielhaften primären Dies 16 darstellt, die zusammen getaktet werden.
  • Sobald die Taktlastinformation für den primären Die 16 bestimmt ist, kann er optional in Übereinstimmung mit Schritt 110 analysiert werden, um Verteilungsaspekte bzw. -probleme zu identifizieren, wie in dieser Ausführungsform Bereiche, Pfade oder Taktbaumzweige, an denen überhöhter Versatz vorhanden ist. Diese Analyse kann verwendet werden, um irgendwelche Entwurfdefekte in dem primären Die 16 wenn gewünscht zu korrigieren und/oder den Netto-Takt 58 des primären Dies zu bestimmen.
  • Für Multi-Die-IC-Packages 10 wie das beispielhafte IC-Package 10 dargestellt in 1 wird die Lastinformation für einen Die, der an dem primären Die 16 angebracht ist, wie der zweite Die 20 von 1, bei Schritt 115 bestimmt. In dieser Ausführungsform wird die Lastinformation Taktlastinformation. Taktlastinformation kann für den zweiten Die 20 bestimmt werden, indem die Taktlasten der verschiedenen Komponenten des zweiten Dies 20, die zusammen getaktet werden, separat modelliert werden. Zusätzlich können ein oder mehrere Teilbereiche der Taktlastinformation durch Abschätzung durch den Entwickler bestimmt werden, wie durch Zuordnen eines Taktlastwertes basierend auf der Art der Komponente, die die sekundäre Taktlast 62, 62‘ und/oder 62‘‘ darstellt. In manchen Ausführungsformen kann der modellierte oder geschätzte Wert der sekundären Taktlast 62, 62‘ und/oder 62‘‘ die Last von dem bestimmten Teilbereich des zweiten Dies 20 aufweisen, sowie irgendeine Last, die anfällt oder durch den Pfad, der das Taktsignal zu der Komponente, die getaktet wird, zuführt, verursacht wird.
  • In manchen Ausführungsformen hat der primäre Die 16 mehrere zweite Dies 20, die daran angebracht sind, horizontal auf dem primären Die 16 und/oder vertikal gestapelt auf nachfolgenden zweiten Dies 20. Für solche Ausführungsformen wird eine Bestimmung bei Schritt 120 durchgeführt, ob Lastinformation für alle gewünschten angebrachten Dies bestimmt wurde. Diese Bestimmung kann automatisch aufgrund von vorher gesetzten Parametern für das IC-Package 10, das analysiert wird, oder durch andere Verfahren durchgeführt werden, wie beispielsweise indem ein Entwickler manuell zusätzliche Dies auswählt, Teil der Analyse zu sein, oder ein Entwickler einen oder mehrere zusätzliche Dies aus einem Menü, Popup-Fenster oder ähnlichem auf einem Computerbildschirm, entweder bevor oder während der Analyse, auswählt, Teil der Analyse zu sein.
  • Wenn Lastinformation nicht für alle gewünschten angebrachten Dies bestimmt wurde, kehrt das Verfahren 100 zu Schritt 115 zurück und bestimmt Taktlastinformationen in dieser Ausführungsform für den nächsten gewünschten angebrachten Die. Wenn Taktlastinformation für alle gewünschten angebrachten Dies bestimmt wurde, wird ein verbessertes Verteilungslastmodell 70 bei Schritt 125 erzeugt, das für diese Ausführungsform ein verbessertes Taktverteilungslastmodell darstellt. Das verbesserte Verteilungslastmodell 70 kann die Taktlastinformation für alle gewünschten angebrachten Dies zusammen mit der Taktlastinformation für den primären Die 16 erfassen, oder Projizierungen bzw. Hochrechnungen von diesen aufweisen. Das verbesserte Verteilungslastmodell 70 kann auch berücksichtigen, wo auf dem primären Die 16 Lastinformation von angebrachten Dies zuzuordnen ist, wie beispielsweise an einer Position auf dem primären Die 16, die der Position von einem oder mehreren Lötpunkten 18 entspricht, die Taktsignale von dem primären Die 16 zu einem zweiten Die 20 bereitstellen.
  • Man beachte, dass in manchen Ausführungsformen das verbesserte Verteilungslastmodell 70 erzeugt werden kann, nachdem alle der Lastinformationen für alle gewünschten angebrachten Dies bestimmt wurde. In anderen Ausführungsformen kann das verbesserte Verteilungslastmodell 70 als Teil eines iterativen Prozesses erzeugt werden. Der iterative Prozess zum Erzeugen des verbesserten Verteilungslastmodells 70 kann das Erzeugen des verbesserten Verteilungslastmodells 70 durch Hinzufügen von Taktlastinformation von jedem zusätzlichen Die im Gegenzug zu der Taktlastinformation für den primären Die 16 aufweisen. Alternativ kann in anderen Ausführungsformen der iterative Prozess das Beginnen mit der Taktlastinformation eines zweiten Dies 20, Hinzufügen der Taktlastinformation für jeden darunter liegenden Die in einem vertikalen Stapel und Beenden mit dem Hinzufügen oder Projizieren bzw. Hochrechnen der kumulativen Taktlastinformation für alle angebrachten Dies auf die Taktlastinformation für den primären Die 16 aufweisen.
  • Sobald das verbesserte Verteilungslastmodell 70 vervollständigt ist, wird es bei Schritt 130 analysiert, um Verteilungsaspekte zu identifizieren, die in dieser Ausführungsform Taktverteilungsaspekte sind. Indem das verbesserte Verteilungslastmodell 70 erzeugt wird, kann das Taktverteilungsnetzwerk des gesamten Stapel-Die-IC-Packages 10 analysiert werden, als wenn es ein Einzel-Die-IC wäre. Beispielsweise kann der gesamte Netto-Takt (total net clock) 78 für das IC-Package 10 berechnet werden, als wenn es ein Einzel-Die-IC wäre, während nach wie vor die gesamte Taktlast, die durch den primären Die 16, den zweiten Die 20 und irgendwelche zusätzlichen gewünschten angebrachten Dies benötigt wird, berücksichtigt wird. In ähnlicher Weise können als Teil der Analyse irgendwelche „Hot Spots“ bzw. „Gefahrenherde“ oder inakzeptable Versatzpegel auf dem primären Die 16 und/oder irgendwelchen angebrachten Dies, wie dem zweiten Die 20, dargestellt in 1, identifiziert werden.
  • Obwohl in 4 nicht gezeigt, kann das beispielhafte Verfahren 100 iterativ verwendet werden, um die Verteilung eines Stapel-Die-ICs 10 zu korrigieren. In anderen Worten kann beispielsweise das Verfahren 100 verwendet werden, um potentielle „Hot Spots“ oder in dieser Ausführungsform Taktverteilungsprobleme zu identifizieren. Einmal identifiziert kann der Entwurf korrigiert werden, um diese identifizierten Taktverteilungsprobleme zu eliminieren. Das Verfahren 100 kann dann wiederum an dem korrigierten Entwurf verwendet werden, um weitere oder neue Verteilungsprobleme zur Korrektur zu identifizieren. Diese Iterationen können wiederholt werden, bis es keine weiteren Veränderungen oder Abwandlungen gibt, die an dem IC 10 gemacht werden, und/oder keine Taktverteilungsprobleme, die in der Analyse des verbesserten Lastmodells 70 identifiziert sind.
  • Bezugnehmend auf 5 ist diese Figur ein Blockdiagramm eines beispielhaften Systems 200, das verwendet werden kann, um das Verfahren dargestellt in 4 durchzuführen, einschließlich für die beispielhaften Ausführungsformen, die oben beschrieben sind. Das beispielhafte System 200 kann eine Rechnervorrichtung 210, wie einen Desktop-Computer, einen Laptop-Computer, einen Tablet-Computer, Smartphone oder ähnliches, entweder als freistehende Vorrichtung oder als Teil einer größeren Vorrichtung, aufweisen.
  • Wie in 5 dargestellt weist die Rechnervorrichtung 210 einen Prozessor 220 auf, der fähig ist, Anweisungen auszuführen, der mit einem Speicher 230 gekoppelt ist, der fähig ist, Anweisungen, Daten, Code, Anwendungen oder ähnliches zu speichern. Der Speicher 230 kann Anweisungen für ein oder mehrere der Verfahrensschritte, die hierin beschrieben sind, aufweisen. Der Speicher 230 kann eine Verteilungsanalyse-Anwendung 240 aufweisen, die eine separate Anwendung zur Verwendung mit einer IC-Entwurfs- oder Modellierungsanwendung oder -Software (nicht gezeigt) sein kann oder Teil einer IC-Entwurfs- oder Modellierungsanwendung oder -Software (nicht gezeigt) sein kann.
  • Alternativ kann die Verteilungsanalyse-Anwendung in einem Speicher abseits des Speichers 230 liegen oder kann in Firmware, Hardware, Software oder irgendeiner Kombination davon implementiert sein, und kann in andere Komponenten der Rechnervorrichtung 210 eingebettet sein.
  • Des Weiteren können der Prozessor 220 und der Speicher 230 als ein Mittel zum Ausführen von einem oder mehreren der Verfahrensschritte, die hierin beschrieben sind, dienen. Eine Datenbank 250 kann auch mit der Rechnervorrichtung 210 verbunden sein. Die Datenbank 250 kann Informationen aufweisen, die mit dem Durchführen von einem oder mehreren der Verfahrensschritte, die hierin beschrieben sind, assoziiert sind, oder kann Informationen aufweisen, die mit einem oder mehreren des IC-Packages 10, des primären Dies 16, des zweiten Dies 20, zusätzlichen Dies, die an dem primären Die 16 angebracht sind, und/oder Komponenten von irgendeinem von diesem assoziiert sind.
  • 5 zeigt, dass das beispielhafte System 200 auch einen Server 310 in Kommunikation mit der Rechnervorrichtung 210 durch einen Kommunikationslink bzw. -verbindung 260 aufweisen kann. Die Kommunikations- bzw. Nachrichtenverbindung 260 kann verkabelte oder kabellose Verbindungen sein und beispielhafte kabellose Verbindungen weisen Hochfrequenz(„RF“)-Verbindungen, Infrarot-Verbindungen, akustische Verbindungen und andere kabellose Medien auf, aber sind nicht darauf beschränkt. Die Kommunikationsverbindung 260 kann ein Großraumnetzwerk (wide area network, „WAN“), ein lokales Netzwerk (local area network, „LAN“), das Internet, ein Fernsprechnetzwerk (public switched telephone network, „PSTN“), ein Funkruf-Netzwerk (paging network) oder eine Kombination davon aufweisen.
  • Der Server 310 kann einen Prozessor 320 und einen Speicher 330 aufweisen, der mit dem Prozessor 320 gekoppelt ist. Der Speicher 330 kann Anweisungen zum Ausführen von einem oder mehreren der Verfahrensschritte, die hierin beschrieben sind, aufweisen. Des Weiteren können der Prozessor 320 und der Speicher 330 als ein Mittel zum Ausführen von einem oder mehreren der Verfahrensschritte, die hierin beschrieben sind, dienen. Wie dargestellt kann der Speicher 330 eine Verteilungsanalyse-Anwendung 340 aufweisen, die eine separate Anwendung zur Verwendung mit einer IC-Entwurfs- oder Modellierungs-Anwendung oder -Software (nicht gezeigt) sein kann oder Teil einer IC-Entwurfs- oder Modellierungs-Anwendung oder -Software (nicht gezeigt) sein kann.
  • Die Verteilungsanalyse-Anwendung 340 innerhalb des Servers 310 kann ähnlich zu der Verteilungsanalyse-Anwendung 240 sein, die innerhalb der Rechnervorrichtung 210 gespeichert ist, oder die Verteilungsanalyse-Anwendung 240, die innerhalb der Rechnervorrichtung 210 gespeichert ist, kann eine Thin-Client-, Unteranwendung, oder anderer Code oder Anwendung sein, die erlaubt, dass die Rechnervorrichtung 210 die Verteilungsanalyse-Anwendung 340, die auf dem Server 310 gespeichert ist, ausführt.
  • Eine Datenbank 350 kann auch mit dem Server 310 verbunden sein. Die Datenbank 350 kann Informationen aufweisen, die mit dem Durchführen von einem oder mehreren der Verfahrensschritte, die hierin beschrieben sind, assoziiert sind, oder kann Informationen aufweisen, die mit einem oder mehreren des IC-Packages 10, des primären Dies 16, des zweiten Dies 20, zusätzlichen Dies, die an dem primären Die 16 angebracht sind, und/oder Komponenten von irgendeinem von diesen assoziiert sind.
  • Bestimmte Schritte in den Prozessen oder Prozessflüssen, die in dieser Beschreibung beschrieben sind, gehen natürlicher Weise anderen voraus, damit die Erfindung wie beschrieben funktioniert. Jedoch ist die Erfindung nicht auf die Reihenfolge der beschriebenen Schritte beschränkt, wenn eine solche Reihenfolge oder Abfolge die Funktionalität der Erfindung nicht ändert. Das heißt, dass erkannt ist, dass manche Schritte vor, nach oder parallel (im Wesentlichen simultan mit) anderen Schritten durchgeführt werden können, ohne von dem Schutzumfang und der Idee der Erfindung abzuweichen. In manchen Beispielen können bestimmte Schritte weggelassen oder nicht durchgeführt werden, ohne von der Erfindung abzuweichen. Des Weiteren sind Worte wie „danach“, „dann“, „als Nächstes“, etc. nicht dazu gedacht, die Reihenfolge der Schritte zu beschränken. Die Worte werden einfach verwendet, um den Leser durch die Beschreibung des beispielhaften Verfahrens durchzuleiten.
  • Zusätzlich ist jemand mit durchschnittlichen Programmierkenntnissen in der Lage, Computercode zu schreiben oder geeignete Hardware und/oder Schaltkreise zu identifizieren, um die offenbarte Erfindung ohne Schwierigkeit basierend auf den Flussdiagrammen und der zugeordneten Beschreibung in dieser Beschreibung beispielsweise zu implementieren. Daher wird die Offenbarung einer bestimmten Menge an Programmcode-Anweisungen oder detaillierten Hardware-Vorrichtungen als nicht notwendig für ein adäquates Verständnis, wie die Erfindung durchzuführen und zu verwenden ist, betrachtet. Die erfinderische Funktionalität der beanspruchten Computerimplementierten Prozesse ist detaillierter in der obigen Beschreibung und in Verbindung mit den Figuren, die verschiedene Prozessflüsse darstellen können, erläutert.
  • In einem oder mehreren beispielhaften Aspekten können die Funktionen, die beschrieben sind, in Hardware, Software, Firmware oder irgendeiner Kombination davon implementiert werden. Wenn in Software implementiert, können die Funktionen auf einem computerlesbaren Medium gespeichert werden oder als eine oder mehrere Anweisungen oder Code auf einem computerlesbaren Medium übermittelt werden. Computerlesbare Medien weisen sowohl Computerspeichermedien als auch Kommunikationsmedien auf, einschließlich irgendeines Mediums, das die Übertragung eines Computerprogramms von einem Ort zu einem anderen vereinfacht.
  • Ein Speichermedium kann irgendein verfügbares Medium sein, auf das durch einen Computer zugegriffen werden kann. Beispielsweise und nicht als Beschränkung können solche computerlesbaren Medien RAM, ROM, EEPROM, CD-ROM oder andere optische Diskettenspeicherung, magnetische Diskettenspeicherung oder andere magnetische Speichervorrichtungen, oder irgendein anderes Medium aufweisen, das verwendet werden kann, um gewünschten Programmcode in der Form von Anweisungen oder Datenstrukturen zu tragen oder zu speichern und auf das mittels eines Computers zugegriffen werden kann.
  • Daher wird, obwohl ausgewählte Aspekte dargestellt und im Detail beschrieben wurden, verstanden werden, dass verschiedene Ersetzungen und Abwandlungen daran gemacht werden können, ohne von der Idee und dem Schutzumfang der vorliegenden Erfindung, wie durch die folgenden Ansprüche definiert, abzuweichen.

Claims (14)

  1. Ein Verfahren zur Verteilungsanalyse einer integrierten Stapel-Die-Schaltung (IC), wobei das Verfahren aufweist: Bestimmen von Taktlastinformationen für einen primären Die des ICs; Erzeugen eines Taktlastmodells unter Verwendung der Taktlastinformationen für den primären Die; Bestimmen von Taktlastinformationen für einen zweiten Die des ICs, der mit dem primären Die gekoppelt ist; Einfügen der Taktlastinformationen für den zweiten Die in das Taktlastmodell, um ein verbessertes Taktlastmodell zu erzeugen; und Analysieren des verbesserten Taktlastmodells.
  2. Das Verfahren gemäß Anspruch 1, wobei die Taktlastinformationen für den zweiten Die des ICs Lastinformationen für zumindest eine Komponente des zweiten Dies, die mit zumindest einer Komponente des primären Dies getaktet wird, aufweist.
  3. Das Verfahren gemäß Anspruch 2, wobei die Taktlastinformationen für den zweiten Die des ICs des Weiteren Taktlastinformationen für einen Taktsignalverteilungspfad zu der zumindest einen Komponente des zweiten Dies aufweisen, insbesondere wobei der Taktsignalverteilungspfad des Weiteren einen Lötpunkt zwischen dem primären Die und dem zweiten Die aufweist.
  4. Das Verfahren gemäß Anspruch 1, wobei der Schritt des Bestimmens der Taktlastinformationen für den zweiten Die des ICs des Weiteren aufweist: Erzeugen eines Zweiter-Die-Taktlastmodells für den zweiten Die unter Verwendung der Taktlastinformationen für den zweiten Die.
  5. Das Verfahren gemäß Anspruch 1, weiterhin aufweisend: Bestimmen von Taktlastinformationen für einen dritten Die des ICs, der mit dem primären Die gekoppelt ist; und Einfügen der Taktlastinformationen für den dritten Die in das Taktlastmodell, um das verbesserte Taktlastmodell zu erzeugen, insbesondere wobei der Schritt des Bestimmens von Taktlastinformationen für den dritten Die des ICs des Weiteren aufweist: Erzeugen eines Dritter-Die-Taktlastmodells für den dritten Die unter Verwendung der Taktlastinformationen für den dritten Die.
  6. Das Verfahren gemäß Anspruch 1, weiterhin aufweisend: Bestimmen von Taktlastinformationen für einen dritten Die des ICs, der mit dem zweiten Die gekoppelt ist; und Einfügen der Taktlastinformationen für den dritten Die in das Taktlastmodell, um das verbesserte Taktlastmodell zu erzeugen, insbesondere wobei der Schritt des Einfügens der Taktlastinformationen für den dritten Die in das Taktlastmodell des Weiteren aufweist: Einfügen der Taktlastinformationen für den dritten Die in die Taktlastinformationen für den zweiten Die.
  7. Das Verfahren gemäß Anspruch 1, wobei der primäre Die zumindest einen von einem Prozessor, DRAM, Flash-Speicher, ROM, EEPROM, RAM, anwenderprogrammierbarem Gate-Array oder analoger Komponente aufweist, und/oder wobei der zweite Die zumindest eines von einem Prozessor, DRAM, Flash-Speicher, ROM, EEPROM, RAM, anwenderprogrammierbarem Gate-Array oder analoger Komponente aufweist.
  8. Ein Verfahren zur Verteilungsanalyse einer integrierten Stapel-Die-Schaltung (IC), wobei das Verfahren aufweist: Bestimmen von Taktlastinformationen für einen primären Die des ICs; Erzeugen eines Taktlastmodells unter Verwendung der Taktlastinformationen für den primären Die; Analysieren des Taktlastmodells, um zu bestimmen, wenn die Taktlastinformationen in dem Taktlastmodell einen Schwellwert überschreiten; Umgestalten eines Teilbereichs des primären Dies, wenn die Taktlastinformationen den Schwellwert überschreiten; Bestimmen von Taktlastinformationen für einen zweiten Die des ICs, der mit dem primären Die gekoppelt ist; Einfügen der Taktlastinformationen für den zweiten Die in das Taktlastmodell, um ein verbessertes Taktlastmodell zu erzeugen; und Analysieren des verbesserten Taktlastmodells, um zu bestimmen, wenn die Taktlastinformationen in dem verbesserten Taktlastmodell den Schwellwert überschreiten.
  9. Das Verfahren gemäß Anspruch 8, weiterhin aufweisend: Umgestalten eines Teilbereichs des primären Dies, wenn die Taktlastinformationen in dem verbesserten Taktlastmodell den Schwellwert überschreiten.
  10. Das Verfahren gemäß Anspruch 8, weiterhin aufweisend: Umgestalten eines Teilbereichs des zweiten Dies, wenn die Taktlastinformationen in dem verbesserten Taktlastmodell den Schwellwert überschreiten.
  11. Das Verfahren gemäß Anspruch 8, wobei der Schritt des Bestimmens von Taktlastinformationen für den zweiten Die des ICs des Weiteren aufweist: Erzeugen eines Zweiter-Die-Taktlastmodells für den zweiten Die unter Verwendung der Taktlastinformationen für den zweiten Die.
  12. Das Verfahren gemäß Anspruch 8, weiterhin aufweisend: Bestimmen von Taktlastinformationen für einen dritten Die des ICs, der mit dem primären Die gekoppelt ist; und Einfügen der Taktlastinformationen für den dritten Die in das Taktlastmodell, um das verbesserte Taktlastmodell zu erzeugen, insbesondere wobei der Schritt des Bestimmens von Taktlastinformationen für den dritten Die des ICs weiterhin aufweist: Erzeugen eines Dritter-Die-Taktlastmodells für den dritten Die unter Verwendung der Taktlastinformationen für den dritten Die.
  13. Das Verfahren gemäß Anspruch 8, weiterhin aufweisend: Bestimmen von Taktlastinformationen für einen dritten Die des ICs, der mit dem zweiten Die gekoppelt ist; und Einfügen der Taktlastinformationen für den dritten Die in das Taktlastmodell, um das verbesserte Taktlastmodell zu erzeugen, insbesondere wobei der Schritt des Einfügens der Taktlastinformationen für den dritten Die in das Taktlastmodell des Weiteren aufweist: Einfügen der Taktlastinformationen für den dritten Die in die Taktlastinformationen für den zweiten Die.
  14. Das Verfahren gemäß Anspruch 12, weiterhin aufweisend: Umgestalten eines Teilbereichs des dritten Dies, wenn die Taktlastinformationen in dem verbesserten Taktlastmodell den Schwellwert überschreiten.
DE102012203038A 2011-02-28 2012-02-28 System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen Withdrawn DE102012203038A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/036,364 2011-02-28
US13/036,364 US8352896B2 (en) 2011-02-28 2011-02-28 System and method for distribution analysis of stacked-die integrated circuits

Publications (1)

Publication Number Publication Date
DE102012203038A1 true DE102012203038A1 (de) 2012-08-30

Family

ID=46635368

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012203038A Withdrawn DE102012203038A1 (de) 2011-02-28 2012-02-28 System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen

Country Status (2)

Country Link
US (1) US8352896B2 (de)
DE (1) DE102012203038A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677305B2 (en) 2012-06-04 2014-03-18 International Business Machines Corporation Designing a robust power efficient clock distribution network
US8775996B2 (en) * 2012-11-19 2014-07-08 International Business Machines Corporation Direct current circuit analysis based clock network design

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037822A (en) 1997-09-30 2000-03-14 Intel Corporation Method and apparatus for distributing a clock on the silicon backside of an integrated circuit
JP3441948B2 (ja) 1997-12-12 2003-09-02 富士通株式会社 半導体集積回路におけるクロック分配回路
US6316981B1 (en) 2000-03-13 2001-11-13 Intel Corporation Signal distribution network on backside of substrate
US6832361B2 (en) 2001-05-21 2004-12-14 International Business Machines Corporation System and method for analyzing power distribution using static timing analysis
US6782519B2 (en) 2001-12-18 2004-08-24 Cadence Design Systems, Inc. Clock tree synthesis for mixed domain clocks
US6829754B1 (en) 2002-06-04 2004-12-07 Lsi Logic Corporation Method and system for checking for power errors in ASIC designs
US6981233B2 (en) 2003-02-24 2005-12-27 Cadence Design Systems, Inc. Method for analyzing path delays in an IC clock tree
KR100783732B1 (ko) 2006-06-27 2007-12-07 한국과학기술원 계층적 시스템의 수치 해석 방법
US20080195986A1 (en) 2007-02-13 2008-08-14 International Business Machines Corporation Power grid tuning for dc voltage equalization
US7859117B2 (en) 2007-02-27 2010-12-28 Taiwan Semiconductor Manufacturing Company, Ltd. Clocking architecture in stacked and bonded dice
US8031475B2 (en) * 2007-07-12 2011-10-04 Stats Chippac, Ltd. Integrated circuit package system with flexible substrate and mounded package
US8028259B2 (en) 2008-02-15 2011-09-27 International Business Machines Corporation Automated method and apparatus for very early validation of chip power distribution networks in semiconductor chip designs
US8283771B2 (en) * 2008-06-30 2012-10-09 Intel Corporation Multi-die integrated circuit device and method
US8024051B2 (en) 2009-02-24 2011-09-20 Oracle America, Inc. Parallel power grid analysis
US7986042B2 (en) * 2009-04-14 2011-07-26 Monolithic 3D Inc. Method for fabrication of a semiconductor device and structure

Also Published As

Publication number Publication date
US8352896B2 (en) 2013-01-08
US20120221996A1 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
DE60103608T2 (de) Verfahren und Vorrichtung zur Analyse der Wellenform eines Quellenstroms in einer integrierten Halbleiterschaltung
DE602005002131T2 (de) Prüfvorrichtung mit Anpassung des Prüfparameters
DE102019116997B4 (de) Abgriffzellen, verfahren zu deren entwurf und schaltkreis-designsystem
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
DE112014003045T5 (de) Verfahren und System zur Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung
DE112019002628T5 (de) Vorrichtung, verfahren und system für on-chip-erzeugung eines referenztaktsignals
DE112015000530B4 (de) Master-Slave-Digitalspannungsregler
WO2009079244A1 (en) System and method for routing connections
DE112007002984T5 (de) Kompensationsverfahren zur Reduzierung des Leistungsverbrauchs in digitaler Schaltung
US20140130001A1 (en) Method of Reducing Parasitic Mismatch
DE112013005833T5 (de) Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz
DE102012203038A1 (de) System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen
DE10243765A1 (de) Halbleitervorrichtung mit Verzögerungskorrekturfunktion
DE102013114341A1 (de) Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung
WO2005022629A2 (de) Verfahren zum entwurf von integrierten schaltkreisen mit ersatz-logikgattern
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
JP2004234618A (ja) 半導体装置モデルとその作成方法及び装置
DE102016118749A1 (de) Signalwiederherstellung in Schaltwerk-Schaltung
DE112013005831T5 (de) Netzlistenabstraktion
DE60317876T2 (de) Voraussagende, adaptive stromversorgung für einen integrierten schaltkreis im test
EP3657363A1 (de) Registertransfer-modell und verfahren zur simulation eines integrierten schaltkreises
DE112013005760T5 (de) Musterbasierende Versorgungs-und-Masse(PG)-Verdrahtung und Durchkontakterzeugung
Silva et al. LPDDR4 SIPI Co-Simulation and Measurement Correlation for IOT Computer Vision Application

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

R081 Change of applicant/patentee

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE., SG

Free format text: FORMER OWNER: AVAGO TECHNOLOGIES ENTERPRISE IP (SINGAPORE) PTE. LTD., SINGAPORE, SG

Effective date: 20130619

R082 Change of representative

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

Effective date: 20130619

R012 Request for examination validly filed

Effective date: 20140303

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee