-
HINTERGRUND
-
Bei Flip-Chip-Techniken werden Metallpads auf einer Oberseite eines Wafers mit integrierten Schaltkreisen (ICs) in Bezug auf die auf dem Wafer gebildeten ICs gebildet. Auf den Metallpads werden Löthöcker oder Kupferhöcker abgeschieden. Die ICs werden dann von dem Wafer als IC-Dies abgetrennt. Die abgetrennten IC-Dies werden umgedreht und auf einem Trägersubstrat so positioniert, dass die Löthöcker den Verbindern auf dem Trägersubstrat zugewandt sind. Die Löthöcker werden dann zum Beispiel unter Verwendung eines thermosonischen Bondungs- oder alternativ eines Aufschmelzlötprozesses erneut geschmolzen, so dass die ICs fest mit dem Trägersubstrat gekoppelt sind. Zwischen den geschmolzenen Lothöckern und den Verbindern werden elektrische Verbindungen gebildet. Der kleine Raum zwischen dem IC-Die und dem darunterliegenden Trägersubstrat wird mit einem elektrisch isolierenden Klebstoff unterfüllt.
-
Ein Fan-Out-Wafer-Level-Package („WLP“) kann verwendet werden, um einen Die, mehrere Dies nebeneinander oder mehrere Dies in einer vertikalen Package-on-Package-Konfiguration („POP“) zu verkapseln. Die POP-Konfiguration in Fan-out-WLPs wird durch Interconnect-Verbindungsstrukturelemente, wie zum Beispiel eine Durchkontaktierung, erreicht, die mehrere Dies vertikal verbinden.
-
Bei Fan-out-WLPs werden geprüfte „gute Dies“ (Good Dies) auf einem Trägerwafer positioniert. Es werden Schichten von Interconnect-Verbindungsstrukturelementen gebildet, die den Die mit den zugehörigen E/A-Pads und zwischen den verschiedenen Interconnect-Verbindungsschichten selbst verbinden. Die Interconnect-Verbindungen werden durch Prozesse auf Wafer-Ebene gebildet, wobei Photoresist- und Photolithographieprozesse ähnlich wie bei den Front-End-Waferherstellungsprozessen verwendet werden. Daher müssen vertikale Ausrichtungen zwischen oder bei aufeinanderfolgenden Schichten der Interconnect-Verbindungen gemanagt werden.
-
CoWoS ist eine Mehrchip-Verkapselungstechnologie auf Wafer-Ebene, die mehrere IC-Blöcke oder Chiplets nebeneinander auf einem Silizium-Interposer anordnet, um eine bessere Dichte und eine höhere Leistung bei den Interconnect-Verbindungen zu erreichen. Die Chiplets werden durch Mikrohöcker auf einem Silizium-Interposer gebondet, wodurch ein Chip-on-Wafer (CoW) entsteht. Der CoW wird anschließend so ausgedünnt, dass die TSV-Perforationen freigelegt werden. Auf der anderen Seite des Silizium-Interposers werden Cu-Höcker gebildet. Der Silizium-Interposer wird dann vereinzelt, um IC-Dies zu erhalten. Ein CoWoS-Package wird durch Bonden eines IC-Dies auf ein Package-Substrat komplettiert.
-
Die Flip-Chip-Techniken, Fan-out-WLP-Techniken oder die CoWoS-Techniken oder ähnliche Techniken, bei denen Metallhöcker oder -kugeln mit Verbindern an ein Trägersubstrat gekoppelt werden, erfordern allgemein sehr flache Montageflächen auf der Seite der Metallhöcker oder -kugeln und auf der Seite des Trägersubstrats. Das Planarisieren auf der Seite der Metallhöcker oder -kugeln lässt sich nur schwierig arrangieren oder beibehalten. Ungleiche Höhen auf den Metallhöckern oder -kugeln können zu kalten Lötstellen verursachen, das heißt die Metallhöcker oder -kugeln werden von den Verbindern auf dem Trägersubstrat getrennt.
-
Figurenliste
-
Aspekte der vorliegenden Offenbarung werden am besten anhand der folgenden detaillierten Beschreibung verstanden, wenn sie in Verbindung mit den beiliegenden Figuren gelesen wird. In den Zeichnungen bezeichnen identische Bezugszahlen ähnliche Elemente oder Handlungen, sofern der Kontext nicht etwas anderes nahe legt. Die Größen und relativen Positionen der Elemente in den Zeichnungen sind nicht unbedingt maßstabsgetreu gezeichnet. Die Abmessungen der verschiedenen Strukturelemente können vielmehr im Interesse der Übersichtlichkeit der Besprechung nach Bedarf vergrößert oder verkleinert werden.
- 1 ist ein beispielhaftes Wafer-Level-Package;
- 2A-2C zeigen beispielhaften Szenarien von zwei miteinander gekoppelten Wafern;
- 3 ist ein beispielhaftes System;
- 4 ist ein beispielhafter Controller;
- 5 ist ein beispielhafter Betriebsprozess des Controllers;
- 6 ist ein beispielhaftes Computersystem zur Implementieren des Controllers;
- 7 ist ein beispielhaftes Trenngitter einer Wafer-Oberfläche; und
- 8 ist ein beispielhafter Strukturdichteglättungsvorgang mit einem Downsampling-Pfad und einem Upsampling-Pfad.
-
DETAILLIERTE BESCHREIBUNG
-
Die vorliegende Offenbarung beschreibt Techniken zum Managen des Planarisierens von Strukturelementen, die auf einem Halbleiterwafer gebildet wurden. Die Erfinder der offenbarten Techniken beobachteten eine Korrelation zwischen einer Dichte von Mikrohöckerstrukturen, die innerhalb einer gegebenen Oberflächenabtastregion gebildet werden, die als „Strukturdichte“ bezeichnet wird, und einer Höhe der gebildeten Mikrohöcker in der gegebenen Oberflächenregion. „Strukturdichte“ bezieht sich auf das Verhältnis zwischen der Gesamtoberfläche der in einer Oberflächenregion gebildeten Mikrohöcker und einer Oberfläche des Oberflächenabtastregion. Die offenbarten Techniken erreichen eine relative Planarisierung der auf einer Waferoberfläche gebildeten Mikrohöckerstrukturen durch Justieren der Strukturdichte der in verschiedenen Regionen der Waferoberfläche gebildeten Mikrohöcker. Die Strukturdichte wird auf verschiedene Weise justiert. Zum Beispiel kann die Größe der Oberfläche eines innerhalb einer gegebenen Waferoberflächenregion gebildeten Mikrohöckers vergrößert oder verkleinert werden, um die Strukturdichte zu ändern. In einem anderen Beispiel kann ein Dummy-Mikrohöcker in eine gegebene Waferoberflächenregion eingefügt werden, um die Strukturdichte zu erhöhen.
-
Die Strukturdichteinformationen einer Abtastregion werden zunächst aus den Informationen über das physische Layoutdesign der Mikrohöcker auf einer Waferoberfläche gewonnen. Bei einer gegebenen Abtastung wird das Layout in mehrere Abtastregionen einer bestimmten Größe unterteilt. Die Strukturdichteinformationen werden für jede Abtastregion erhalten.
-
Nachdem die Strukturdichteinformationen für jede Abtastregion erhalten wurden, wird eine Strukturdichte-Planungsoperation ausgeführt, um die Strukturdichte in jeder Abtastregion anzupassen oder zu „planen“. Die Planung enthält eine lokale Korrekturoperation und eine globale Korrekturoperation. Die lokale Korrekturoperation enthält eine lokale Faltungsoperation zum Glätten oder „Verwischen“ der Strukturdichteinformationen einer Abtastregion auf der Grundlage der Strukturdichteinformationen benachbarter Abtastregionen. In einer Ausführungsform wird die Glättungsoperation durch einen Gaußfilter und einen gradientenbewussten Korrekturkern implementiert. Die benachbarten Abtastregionen können anhand verschiedener Kriterien ausgewählt werden. In einer Ausführungsform wird ein 3×3-Pooling-Kriterium verwendet, wobei eine Ziel-Abtastregion und acht umgebende Abtastregionen einen 3×3-Pool-Patch bilden. Die Strukturdichte der Ziel-Abtastregion wird auf der Grundlage der Strukturdichte der acht umgebenden Abtastregionen unter der Gaußschen Glättung geglättet. Der Pool-Patch kann auch als 4×4-, 5×5-, 6×6- oder andere Pool-Patch-Größen definiert werden.
-
Die lokale Faltungsoperation kann bei verschiedenen Abtastgrößen gemäß einem Downsampling-Pfad ausgeführt werden, wobei die Größe einer Abtastregion sequentiell zunimmt. Eine Strukturdichte eines größeren Abtastregion wird zunächst durch Mean-Pooling der geglätteten/korrigierten Strukturdichte der kleineren Abtastregionen, die in der größeren Abtastregion enthalten sind, erhalten. Nachdem die anfänglichen Strukturdichteinformationen einer jeden der größeren Abtastregionen erhalten wurden, wird eine lokale Faltungsoperation ausgeführt, um die erhaltene anfängliche Strukturdichte zu glätten.
-
Die globale Korrektur folgt einem Upsampling-Pfad, wobei die Größe der Abtastregion sequentiell abnimmt. Durch den Upsampling-Pfad oder die globalen Korrekturen werden die geglätteten Strukturdichteinformationen einer größeren Abtastregion in die Korrektur einer Strukturelementdichte einer kleineren Abtastregion einbezogen.
-
Für die lokalen oder globalen Korrekturen werden eine untere Dichtegrenze und eine obere Dichtegrenze verwendet, um die Justierung der Strukturdichte zu beschränken. Wenn die gewünschten Korrekturen an der Strukturdichte für eine Abtastregion jenseits der unteren Dichtegrenze oder der oberen Dichtegrenze liegen, so kann der Abtastregion oder anderen Abtastregionen ein Dummy-Mikrohöcker-Strukturelement hinzugefügt werden, um die Strukturdichte in der Abtastregion oder den anderen Abtastregionen zu beeinflussen.
-
Nachdem die Strukturdichte der Mikrohöcker für den gesamten Wafer korrigiert oder geplant wurde, werden diese korrigierten Strukturdichteinformationen zum Aktualisieren des Layoutdesigns der Mikrohöcker auf dem Wafer verwendet. Die Mikrohöcker werden auf dem Wafer auf der Grundlage des aktualisierten Layoutdesigns gebildet.
-
1 ist ein beispielhaftes CoWoS-Package 10. Das Package 10 enthält einen Die 100 und ein Package-Substrat 102. Der Die 100 enthält Chiplets 106, 104, die nebeneinander auf einem Silizium-Interposer 110 positioniert sind, wodurch ein Chip-on-Wafer-Die (CoW) entsteht. Der Silizium-Interposer 110 enthält eine Metallumverteilungsschicht (Metal Redistribution Layer, RDL) 112, die mehrere Metallschichten enthält, die den Chiplets 106, 104 zugewandt sind. In einer Ausführungsform enthält die Metall-RDL 112 drei Kupfer-Damaszen-Schichten und eine einzelne Aluminiumschicht. Die Chiplets 106, 104 sind jeweils über mehrere Mikrohöcker 120 mit der Metall-RDL 112 verbunden. In einigen Ausführungsformen enthalten die Mikrohöcker 120 zwei Teile 122,124. Die Teile 122 werden auf Oberflächen der Chiplets 106, 104 gebildet. Die Teile 124 werden auf der Oberfläche der RDL 112 gebildet. Die Teile 122, 124 werden zum Beispiel durch einen Aufschmelzprozess miteinander gekoppelt, um die Mikrohöcker 120 zu bilden. In einigen Ausführungsformen kann jedes der Teile 122, 124 einen Chipverbindungshöcker (C2-Höcker) enthalten, zum Beispiel einen Kupfer-Cu-Pfosten und eine Lötkappe über dem Cu-Pfosten. In einer Ausführen enthält der Mikrohöcker 120 nur eines der Teile 122 oder der Teile 124. Der Silizium-Interposer 110 enthält Silizium-Durchkontaktierungen (Through Silicon Vias, TSVs) 130 zum Verbinden der RDL 112 mit Verbindungsstrukturelementen an einer Unterseite 132 des Silizium-Interposers 110, zum Beispiel die C4-Höcker 142.
-
Der Die 100 ist mit einer Oberseite 140 des Package-Substrats 102 durch Controlled Collapsed Chip Connection-Höcker (C4-Höcker) 142 verbunden. Die C4-Höcker werden an der Unterseite 132 des Silizium-Interposers als eine Sequenz von Lötmetallisierung, Resist-Überlagerung und Löthöckermaske gebildet.
-
Lötperlen 144 werden an einer Unterseite 146 des Package-Substrats 102 gebildet. Das CoWoS-Package 10 wird durch die Lotperlen 144 mit einer gedruckten Leiterplatte 150 (Printed Circuit Board, PCB) verbunden.
-
In 1 sind der Einfachheit halber, und zum Zweck der Veranschaulichung, die Verbindungshöcker oder -perlen 120, 142, 144 so veranschaulicht, dass sie an eine flache Fläche gekoppelt sind, ohne dass dies den Schutzumfang der Offenbarung einschränkt. 2 zeigt, dass ein erster Wafer 202, 232 mit Verbindungshöckern oder -perlen 204, 234 mit einem zweiten Wafer 212, 222, 242 mit verschiedenen entsprechenden Verbindungsstrukturen 214, 224, 244 gekoppelt werden kann. Zum Beispiel zeigt 2A, dass der zweite Wafer 212 Verbindungspadstrukturelemente 214 zum Verbinden mit den Verbindungshöckern oder - perlen 204 des ersten Wafers 202 enthält. Das Verbindungspad 214 kann eine größere Grenzfläche als die Verbindungshöcker oder -perlen 204 aufweisen. 2B zeigt, dass der zweite Wafer 222 Anschlussdrahtstrukturelemente 224 zum Verbinden mit den Verbindungshöckern oder -perlen 204 des ersten Wafers 202 enthält. Das Verbindungspad 214 kann eine kleinere Grenzfläche als die Verbindungshöcker oder -perlen 204 aufweisen und kann in das Lötmaterial der Verbindungshöcker oder -perlen 204 eingebettet werden (zum Veranschaulichung mit Strichlinien gezeigt), wenn der erste Wafer 202 und der zweite Wafer 222 miteinander gekoppelt werden. 2C zeigt, dass der erste Wafer 232 verschiedene Arten von Verbindungspadstrukturelement 234, 236 auf derselben Oberfläche aufweist, um mit entsprechenden Verbindungsstrukturen 246, 244 auf dem zweiten Wafer 242 verbunden zu werden. In allen Beispielen der BILDER 2A-2C ist die Höhe H1 (nur in 2A gezeigt) der Verbindungshöcker oder -perlen 204, 234, 236 auf dem ersten Wafer 204, 232 auf die Höhe H2 (nur in 2A gezeigt) der Verbindungsstrukturen 214, 224, 244, 246 auf dem zweiten Wafer 212, 222, 242 abgestimmt, um die Verbindungen zwischen dem ersten Wafer 202, 232 und dem entsprechenden zweiten Wafer 212, 222, 242 zu vollenden. Die Unvollkommenheiten auf der Höhe H1 oder der Höhe H2 können Probleme mit kalten Lötstellen verursachen, wenn die entsprechenden Verbindungshöcker 204, 234, 236 die entsprechenden Verbindungsstrukturen 214, 224, 244, 246 nicht richtig berühren oder nicht richtig an sie gekoppelt sind.
-
In vielen Anwendungsszenarien bedeutet eine perfekte Höhe H1, dass alle Verbindungshöcker oder -perlen 204, 234, 236 auf einem jeweiligen ersten Wafer 202, 232 im Wesentlichen auf demselben Niveau liegen. Eine perfekte Höhe H2 bedeutet, dass alle Verbindungsstrukturen 214, 224, 244, 246 auf einem jeweiligen zweiten Wafer 212, 222, 242 im Wesentlichen auf demselben Niveau liegen. Die Offenbarung wird jedoch durch dieses Beispiel nicht eingeschränkt. In anderen Beispielen werden die Höhe H1 und die entsprechende Höhe H2 im Planarisierungsdesign der Verbindungshöcker oder -perlen zusammen betrachtet, und die Verbindungshöcker oder -perlen 204, 234, 236 auf einem selben ersten Wafer 204 können eine unterschiedliche Höhe H1 haben, insbesondere, wenn die entsprechenden Verbindungsstrukturen 214, 224, 244, 246 auf einem entsprechenden zweiten Wafer 212, 222, 242 eine unterschiedliche Höhe H2 aufweisen. Die hier beschriebenen Techniken können verwendet werden, um Verbindungshöcker oder -perlen auf dem ersten Wafer und/oder die Verbindungsstrukturen auf dem zweiten Wafer mit zweckmäßigen Höhen H1, H2 zu gestalten und zu formen.
-
3 ist ein beispielhaftes Strukturelementfertigungssystem 300. Das Steuerungssystem 300 enthält einen Fertigungscontroller 310, eine Strukturelementdatenbank 320 und einen Fertigungswerkzeugsatz 330. Der Fertigungswerkzeugsatz 330 enthält verschiedene Werkzeuge für verschiedene Prozesse bei der Bildung eines Strukturelements auf einem Wafer. Zum Beispiel kann der Werkzeugsatz 330 zum Bilden eines Mikrohöckers auf einer Waferoberfläche Werkzeuge zum Implementieren von Keimschichtsputtern, Photoresiststrukturierung, Galvanisierung, Photoresistabtrag, Keimschichtätzen, Verbindungshöckeraufschmelzung, Flussmittelreinigung usw. enthalten. Eines oder mehrere der Werkzeuge können während des Prozesses der Bildung der Mikrohöcker durch den Fertigungscontroller gesteuert werden. Zum Beispiel kann der Controller 310 eine Scannermaschine 332 steuern, um eine Photoresistschicht 352, die über einer Keimschicht 354 auf einem Wafer 202 gebildet wurde, so zu strukturieren, dass die Keimschicht in einer gewünschten Weise freigelegt wird, um darauf Mikrohöcker zu bilden. In einer Ausführungsform kann der Controller 310 zum Beispiel den Scanner so steuern, dass er die Öffnungen 356 mit einer kontrollierten Seitenflächengröße D1 in der Photoresistschicht 352 bildet, um die darunter liegende Keimschicht 354 freizulegen. Die kontrollierten Größen D1 der Öffnungen 356 korrelieren mit Höhen der leitfähigen Strukturen (der Einfachheit halber nicht gezeigt), zum Beispiel Mikrohöcker, die in den Öffnungen 356 gebildet werden. Somit steuert der Controller 310 durch Steuern der Größen D1 der Öffnungen 356, die in der Photoresistschicht 352 gebildet werden, die Höhen der Mikrohöcker. In einem anderen Beispiel kann der Controller 310 auch die Anzahl und/oder die Positionen der Öffnungen 356, die in der Photoresistschicht 352 ausgebildet werden, so steuern, dass die Anzahl und die Positionen der Mikrohöcker gesteuert werden.
-
Die Strukturelementdatenbank 320 kann Daten über Schichten von Strukturelementen, die auf einem Halbleiterwafer gebildet werden, speichern. Zum Beispiel kann die Strukturelementdatenbank 320 Daten von integrierten Schaltkreislayouts von Schichten, die in Front-End-of-Line-Herstellungsprozessen (FEOL), Middle-of-Line-Herstellungsprozessen (MOL) oder Back-End-of-Line-Herstellungsprozessen (BEOL) gebildet werden, Layouts von Strukturelementen, die in einem Verkapselungsprozess gebildet werden, zum Beispiel eine C4-Höcker-Bildung, und/oder Layouts von Strukturelementen, die bei der Vorbereitung einer Wafers oder Dies für einen Verkapselungsprozess gebildet werden, zum Beispiel die Bildung von TSVs oder Mikrohöckern, speichern. In einer Ausführungsform liegen die Daten in der Strukturelementdatenbank 320 im Format eines Grafikdatenbanksystems (GDS) vor, zum Beispiel GDSII, OASIS oder OASIS.MASK. Die Strukturelementdatenbank 320 kann Strukturelement-Layout-Daten in mehreren verschiedenen Formaten für verschiedene auf einem Wafer gebildete Schichten enthalten. Darüber hinaus kann der Controller 310 mit mehreren verschiedenen Strukturelementdatenbanken 320 für verschiedene Schichten in verschiedenen Halbleiterherstellungsprozessen arbeiten. Zum Beispiel können Layoutdaten, die im OASIS.MASK-Format erstellt wurden, speziell im Hinblick auf die Steuerung einer Photoresist-Bildung verwendet werden.
-
Der Controller 310, die Strukturelementdatenbank 320 und der Werkzeugsatz 330 können über ein Netzwerk 340 elektrisch oder kommunikativ miteinander gekoppelt werden. Das Netzwerk 340 kann ein beliebiges drahtgebundenes oder drahtloses Netzwerke sein, wie Internet, Intranet, Mobilfunk, drahtlose Kurzstreckenkommunikation, Nahfeldkommunikation, und andere geeignete Netzwerke. Sowohl der Controller 310 als auch die Strukturelementdatenbank 320 können durch eine oder mehrere physische Computermaschinen oder durch eine oder mehrere virtuelle Maschinen implementiert werden. Die Funktionen des Controllers 310 oder der Strukturelementdatenbank 320 können durch eine einzelne physische oder virtuelle Computervorrichtung oder durch mehrere physische oder virtuelle Vorrichtungen in einer verteilten Computerumgebung implementiert werden.
-
4 zeigt Details eines beispielhaften Controllers 310. Wie in 4 zu sehen, enthält der Controller 310 eine Verarbeitungseinheit 410 und eine Speichereinheit 420. In einer Ausführungsform kann die Verarbeitungseinheit 410 ein anwendungsspezifischer Instruktionssatzprozessor (Application-Specific Instruction Set Processor, ASIP) sein, der speziell konfiguriert ist und spezifische Instruktionssätze zum Steuern der Halbleiterwaferherstellungsprozesse enthält. Zum Beispiel ist der Instruktionssatz der Verarbeitungseinheit 410 so ausgelegt, dass er eine effiziente und schnelle Verarbeitung von Instruktionen für die spezifische Anwendung der Steuerung von Waferherstellungsprozessen ermöglicht. Die Verarbeitungseinheit 410 kann auch konfigurierbare Instruktionssätze enthalten, dergestalt, dass die Verarbeitungseinheiten 410 mit unterschiedlichen Strukturelementdatenbanken zum Steuern verschiedener Herstellungsprozesse oder verschiedener Halbleiterprodukte mit unterschiedlichem Schichtenlayout fungieren können. Zum Beispiel kann die Verarbeitungseinheit 410 mehrere Kerne enthalten, die für verschiedene statische Logiken und/oder konfigurierbare Logiken vorgesehen sind.
-
Die Speichereinheit 420 kann ein Systemspeicher sein, der unter anderem anwendungsspezifische Instruktionen speichert, die für die Funktionen und/oder Anwendungen vorgesehen sind, die sie jeweils implementieren. Zum Beispiel sind die anwendungsspezifischen Instruktionen als separate Module zum Implementieren einer Strukturextraktionseinheit 422, einer Dichteplanungseinheit 424, einer Strukturelement-Layout-Korrektureinheit 430, einer Layoutgenerierungseinheit 434 und einer Implementierungseinheit 436 vorgesehen. Die Dichteplanungseinheit 424 kann eine Referenzplanungseinheit 426 und eine Dummystrukturplanungseinheit 428 enthalten. Die Strukturelement-Layout-Korrektureinheit 430 kann eine Regel-Engine 432 enthalten oder mit dieser zusammenarbeiten.
-
Der Controller 310 kann auch eine Schnittstelleneinheit 440, eine Kommunikationseinheit 450 und andere Komponenten 460 enthalten. Die 440 kann beliebige Mensch-Maschine-Schnittstellenvorrichtungen und verwandte Komponenten enthalten, die es dem Controller 310 ermöglichen, Eingaben von einem Bediener zu empfangen. Die Kommunikationseinheit 450 kann beliebige Mensch-Maschine-Kommunikationsvorrichtungen enthalten, zum Beispiel eine HF-Komponente oder einen verdrahteten Datenport, die es dem Controller 310 ermöglichen, mit der Strukturelementdatenbank 320 und/oder dem Werkzeugsatz 330 zu kommunizieren.
-
Die Strukturextraktionseinheit 422, die Dichteplanungseinheit 424, die Strukturelement-Layout-Korrektureinheit 430, die Layoutgenerierungseinheit 434 und die Implementierungseinheit 436 enthalten jeweils dedizierte computerausführbare Instruktionen. Wenn diese Instruktionen durch die Verarbeitungseinheit 410 ausgeführt werden, so konfigurieren sie die Verarbeitungseinheit 410 so, dass sie die Funktionen einer jeden der Strukturextraktionseinheit 422, der Dichteplanungseinheit 424, der Strukturelement-Layout-Korrektureinheit 430, der Layoutgenerierungseinheit 434 und der Implementierungseinheit 436 implementiert.
-
Der Controller 310 und seine Komponenten können sich in einer einzelnen Computervorrichtung befinden oder können sich in mehreren Computervorrichtungen befinden, die in einer verteilten Computerumgebung zusammenarbeiten. Zum Beispiel können sich die Verarbeitungseinheiten und die Strukturextraktionseinheit 422, die Dichteplanungseinheit 424, die Strukturelement-Layout-Korrektureinheit 430, die Layoutgenerierungseinheit 434 und die Implementierungseinheit 436 in verschiedenen Computervorrichtungen befinden und zusammenarbeiten, um einen virtuellen Controller 310 zu bilden. Ein virtueller Controller 310 kann eine Virtualisierung in mehreren Schichten enthalten, wie eine virtuelle Maschine auf einer Anwendungsschicht und virtueller Speicher.
-
5 veranschaulicht einen Betrieb 500 des Controllers 310. In 5 wird ein beispielhafter Mikrohöcker-Bildungsprozess (µHöcker) verwendet, um den Betrieb des Controllers 310 zu veranschaulichen. Es ist zu beachten, dass der Controller 310 und seine Komponenten oder Funktionen zum Steuern der Bildung anderer Schichten oder Strukturelemente auf einem Wafer verwendet werden können. Zum Beispiel können ähnliche Operationen verwendet werden, um die Bildung anderer C2-Höcker, C4-Höcker oder Lötperlen auf einem Die, einem Trägerwafer, einem Interposer-Substrat oder sogar einer gedruckten Leiterplatte zu steuern.
-
Der beispielhafte µHöcker-Bildungsprozesses beginnt mit dem Empfang eines ankommenden Wafers, der die Front-End-Fertigungsprozesse einschließlich der FEOL-, MOL- und BEOL-Prozesse abgeschlossen hat. Auf dem empfangenen Wafer, zum Beispiel dem Wafer 202 von 3, wird eine Sequenz von Operationen wie Keimschichtsputtern, Photoresiststrukturierung, Galvanisierung, Photoresistabtrag, Keimschichtätzen, Aufschmelzen und Flussmittelreinigung ausgeführt, um die Bildung von Mikrohöckern zu vollenden. Nachdem die Mikrohöcker gebildet wurden, kann der Wafer in Dies geschnitten werden, um den Verkapselungsprozess abzuschließen.
-
Die Betrieb 500 kann zum Steuern des Photoresiststrukturierungsprozesses verwendet werden, der die Größe und die Positionen der über der Keimschicht gebildeten Mikrohöcker bestimmt.
-
In der beispielhaften Operation 510 erhält der Controller 310 die GDS-Daten bezüglich der Mikrohöcker aus der Strukturelementdatenbank 320. Die GDS-Daten stellen das Layoutdesign der Mikrohöcker auf der Grundlage des für den Wafer geltenden Chipproduktdesign- und -fertigungsprozesses bereit.
-
In der beispielhaften Operation 520 erhält die Strukturdichte-Extraktionseinheit 422 die Strukturdichte der Mikrohöcker, die auf verschiedenen Oberflächenrasterregionen gebildet wurden. Zum Beispiel wird eine Zieloberfläche des Wafers 202, wo die Mikrohöcker gebildet werden sollen, in mehrere Rasterregionen von zum Beispiel im Wesentlichen den gleichen Abmessungen segmentiert. Das Layout der Mikrohöcker wird in jede der Rasterregionen hinein abgebildet, um die Anzahl, Art und/oder Größe der Mikrohöcker zu erhalten, die in jeder der Rasterregionen gebildet werden sollen. Die Strukturdichten der Mikrohöcker werden für jede der Rasterregionen erhalten. In einer Ausführungsform wird eine Strukturdichte einer Rasterregion auf der Grundlage einer Verhältnisses zwischen einer Gesamtoberfläche der Mikrohöcker in der Rasterregion und einer Oberfläche der Rasterregion bewertet. Die Oberfläche eines Mikrohöckers kann als eine Fläche der Oberseite, eine Fläche der Unterseite oder eine Fläche einer Querschnittsebene zwischen der Oberseite und der Unterseite des Mikrohöckers oder als eine beliebige Kombination oder Mittelwertbildung davon ausgewählt werden.
-
Der folgende Algorithmus (1) kann zum Berechnen der Strukturdichte verwendet werden:
wobei w die Größe einer Rasterregion bezeichnet, p die Strukturdichte bezeichnet, und M eine Funktion der Position (x,y) ist. M nimmt entweder die Werte 0 oder 1 an, wobei der Wert 0 angibt, dass es keine Struktur gibt, und der Wert 1 angibt, dass an der Position (x,y) eine Struktur vorhanden ist.
-
In einer Ausführungsform werden für jede Rasterregion bei der Bewertung des Strukturelementdichtewertes auch die die Rasterregion umgebenden Randbereiche berücksichtigt. Die Berücksichtigung der Randbereiche einer Rasterregion hilft, willkürliches Rauschen oder Inkonsistenzen zu beseitigen, die durch die willkürliche Aufteilung der Zieloberfläche des Wafers
202 in die Rasterregionen verursacht wird. Zum Beispiel kann in einer Ausführungsform eine Subpixel-Glättungstechnik sowohl in der x-Achsen-Richtung als auch in der y-Achsen-Richtung einer lateralen X-Y-Ebene der Zieloberfläche verwendet werden, um die Bewertung der Strukturdichte einer Ziel-Rasterregion durch Berücksichtigung der Randbereichsstrukturelemente zu verbessern. Der folgende Algorithmus (2) kann zum Durchführen der Subpixel-Glättung verwendet werden:
-
In der beispielhaften Operation 530 justiert die Dichteplanungseinheit 424 die Strukturdichte jeder Rasterregion. In einem Beispiel wird die Justierung auf der Grundlage der Strukturdichte benachbarter Rasterregionen bestimmt. Das heißt, der Strukturdichtewert einer gegebenen Rasterregion wird auf der Grundlage der Strukturdichte der benachbarten Rasterregionen geglättet oder gemittelt. Es können beliebige Mittelungs- oder Glättungstechniken verwendet werden, und alle sind in der Offenbarung enthalten. In einer Ausführungsform können eine Gaußsche Glättung und ein gradientenbewusster Korrekturkern verwendet werden, um die Strukturdichteunterschiede zwischen einer Rasterregion und den benachbarten Rasterregionen zu verwischen oder zu glätten. Mathematisch gesehen wird die Gaußsche Glättung durch Falten des Strukturdichtewertes einer Rasterregion mit einer Gaußschen Funktion implementiert. Der gradientenbewusste Korrekturkern wird bei der Gaußschen Glättung verwendet, um die Unterschiede in der Strukturdichte zwischen den benachbarten Rasterregionen zu reduzieren.
-
Die Glättung der Strukturdichte auf der Grundlage benachbarter Rasterregionen kann auf mehreren Ebenen der Teilung oder Rasterung der Zieloberfläche ausgeführt werden. Die Strukturdichteglättungsoperationen auf den verschiedenen Rasterungsebenen können sequentiell ausgeführt werden. Ein von einer früheren Rasterungsebene erhaltenes Strukturglättungsergebnis kann in die Strukturglättungsoperation für eine spätere Rasterungsebene in der Sequenz einbezogen werden. In einem Downsampling-Pfad oder einer Downsampling-Sequenz nimmt die Größe einer Rasterregion, die Rastergröße, immer weiter zu. In einem Upsampling-Pfad oder einer Upsampling-Sequenz nimmt die Rastergröße immer weiter ab.
-
In der beispielhaften Operation 530 können der Downsampling-Pfad und/oder der Upsampling-Pfad beim Implementieren der Strukturdichteglättung verwendet werden. In einem Fall, in dem sowohl der Downsampling-Pfad als auch der Upsampling-Pfad verwendet werden, wird eine sequentielle Reihenfolge zwischen dem Downsampling-Pfad und dem Upsampling-Pfad gewählt. Die Auswahl kann auf einem Gewicht beruhen, das einem globalen Korrekturansatz und einem lokalen Korrekturansatz zugewiesen wird. Ein Downsampling-Pfad wird vor einem Upsampling-Pfad ausgeführt, wenn bestimmt wird, dass die Korrektur oder Glättung auf der Grundlage der Strukturdichteinformationen von lokalen Nachbarregionen (lokale Korrekturen) wichtiger ist als die Korrektur oder Glättung auf der Grundlage der Strukturdichteinformationen einer größeren Abschnitts des Wafers (globale Korrektur). Andererseits wird ein Upsampling-Pfad vor einem Downsampling-Pfad ausgeführt, wenn bestimmt wird, dass die globale Korrektur wichtiger ist als die lokale Korrektur. Ob die globale Korrektur oder die lokale Korrektur wichtiger ist, kann auf der Grundlage von Produkt- oder Prozessdesigns konkreter integrierter Schaltkreise oder anderer Halbleiterprodukte bestimmt werden, die alle in den Schutzumfang der Offenbarung fallen.
-
In einigen Beispielen kann die Dummystruktur-Planungseinheit 428 bei der Dichteplanung einen Dummyhöcker zu einer Region hinzufügen oder einen Dummyhöcker aus einer Region entfernen. Ein Dummyhöcker ist eine Struktur, die aus ähnlichen oder identischen Materialien und Prozessen wie eine Mikrohöckerstruktur besteht, während der Dummyhöcker keinen elektrischen Verbindungszwecken dient. Zum Beispiel stellt ein Dummyhöcker keine zusätzlichen elektrischen Verbindungen zwischen dem ersten Wafer 202 und dem zweiten Wafer 212, 222 her außer denen, die durch einen oder mehrere vorhandene Mikrohöcker hergestellt werden. Durch Hinzufügen oder Entfernen eines Dummyhöckers zu einer Region wird deren Strukturdichte erhöht oder verringert. In einer Ausführungsform kann sich die Größe, zum Beispiel die Oberflächengröße des Dummyhöckers, von der eines Mikrohöckers in derselben Region unterscheiden. In einigen Ausführungsformen erfolgt das Hinzufügen oder Entfernen eines Dummyhöckers auf der Grundlage des in Operation 520 bestimmten Strukturdichtewertes der Mikrohöcker. Zum Beispiel können ein oder mehrere Dummyhöcker zu einer Region hinzugefügt werden, wenn der Strukturdichtewert der Region niedriger als ein erwarteter Wert für die Region ist. Ein oder mehrere Dummyhöcker können aus einer Region entfernt werden, wenn der Strukturdichtewert der Region größer als ein erwarteter Wert für die Region ist.
-
Nachdem ein Dummyhöcker zu einer Region hinzugefügt oder aus einer Region entfernt wurde, können die Strukturdichteglättungsoperationen erneut ausgeführt werden, um die Strukturdichte zu planen.
-
In einer Ausführungsform kann die Strukturdichteplanung oder -justierung der Mikrohöcker 204 auf dem ersten Wafer 202 auch auf der Grundlage der entsprechenden Verbindungsstrukturelemente 214, 224 des zweiten Wafers 212, 222 erfolgen. Zum Beispiel haben in einem Fall, wo die Verbindungsstrukturelemente 214, 224 auf dem zweiten Wafer 212, 222 eine ungleiche Höhe H2 aufweisen, die entsprechenden Mikrohöcker 204 auf dem ersten Wafer 202 ebenfalls eine ungleiche Höhe H1, dergestalt, dass jeder Mikrohöcker 204 ordnungsgemäß mit einem entsprechenden Verbindungsstrukturelement 214, 224 verbunden werden kann. Zum Beispiel passt ein Verbindungsstrukturelement 214 von einer größeren Höhe H2 zu einem Mikrohöcker 204 mit einer kleineren Höhe H1, während ein Verbindungsstrukturelement 214 von einer kleineren Höhe H2 zu einem Mikrohöcker 204 mit einer größeren Höhe H1 passt. Die Referenzplanungseinheit 426 kann die Informationen über die Höhe H2 des entsprechenden zweiten Wafers 212, 222 erhalten und die Informationen über die passende Höhe H1 auf der Grundlage der erhaltenen Informationen über die Höhe H2 bestimmen. Die Informationen über die passende Höhe H1, zum Beispiel die Höhenvariationen zwischen den Mikrohöckern 204, können verwendet werden, um die Strukturdichte jeder Rasterregion zu justieren, da die Strukturdichte mit den Höhen der Mikrohöcker 202 korreliert.
-
Nachdem die Strukturdichte jeder Rasterregion auf der Grundlage des Betriebes der Referenzplanungseinheit 426 justiert wurde, können die Strukturdichteglättungsoperationen erneut ausgeführt werden, um die Strukturdichte zu planen. Die beispielhaften Operationen 520, 530 können iterativ ausgeführt werden, bis die erwarteten Strukturdichtewerte für jede einzelne Region erreicht sind oder bis andere Bedingungen zum Beendigung der Iteration erfüllt sind. Zum Beispiel kann die Iteration beendet werden, wenn die Gesamtzahl der Iterationsrunden einen Schwellenwert erreicht hat.
-
In der beispielhaften Operation 540 kann die Strukturelement-Layout-Korrektureinheit 430 das Layout der auf dem ersten Wafer 202 gebildeten Mikrohöcker 204 auf der Grundlage der geplanten Strukturdichte der Rasterregionen justieren. Die Justierung kann die Justierung der Oberflächengröße jedes Mikrohöcker 202 in jeder Rasterregion umfassen. Es ist zu beachten, dass die Strukturdichte einer Rasterregion als ein Verhältnis zwischen der Gesamtoberfläche der Mikrohöcker in der Rasterregion und der Oberfläche der Rasterregion bestimmt wird. In einigen Ausführungsformen wird die Oberfläche der Mikrohöcker in einer Rasterregion auf der Grundlage der geplanten Strukturdichte für die Rasterregion bestimmt oder justiert. Zum Beispiel zeigt eine höhere Strukturdichte einer Rasterregion allgemein an, dass die Gesamtoberfläche der Mikrohöcker in der Rasterregion größer ist. In einem Fall, in dem eine Rasterregion A und eine Rasterregion B die gleiche geplante Strukturdichte haben und die Rasterregion A weniger Mikrohöcker als die Rasterregion B aufweist, ist die Oberfläche der Mikrohöcker in der Rasterregion A größer als die Oberfläche der Mikrohöcker in der Rasterregion B. In einem Fall, in dem eine Rasterregion A und eine Rasterregion B die gleiche Anzahl von Mikrohöcker aufweisen und die Rasterregion A eine größere Strukturdichte als die Rasterregion B hat, wird die Oberfläche der Mikrohöcker in der Rasterregion A größer sein als die Oberfläche der Mikrohöcker in der Rasterregion B. Des Weiteren können Dummyhöcker in der Strukturdichteplanung zu einer Rasterregion hinzugefügt oder aus einer Rasterregion entfernt werden und müssen in der Layoutkorrektur implementiert werden.
-
In einigen Ausführungsformen kann die Strukturelement-Layout-Korrektureinheit 430 auch eine Position eines Mikrohöckers auf der Oberfläche des ersten Wafers 202 justieren. Die Justierung der Mikrohöcker-Position kann die Strukturdichte in der relevanten Rasterregion ändern. Die Justierung der Mikrohöcker-Position kann die Strukturdichtewerte benachbarter Rasterregionen miteinander konsistenter machen, so dass die zugehörigen Höhen der in den relevanten Rasterregionen gebildeten Mikrohöcker konsistenter sind.
-
In einer Ausführungsform kann die Strukturelement-Layout-Korrektur 430 bei der Justierung des Layouts eine Regel anwenden. Die eine oder die mehreren Regeln können Einschränkungen für die Justierung der Oberfläche oder Oberflächengröße eines Mikrohöckers vorsehen. Zum Beispiel kann eine Regel vorsehen, dass die Oberfläche eines Mikrohöckers nicht kleiner als ein Schwellenwert sein darf, dergestalt, dass eine ordnungsgemäße Verbindung mit den entsprechenden Verbindungsstrukturelementen 214, 224 gewährleistet ist. Eine Regel kann auch vorsehen, dass ein Raum zwischen zwei benachbarten Mikrohöckern nicht kleiner als ein Schwellenwert sein darf, dergestalt, dass ein unerwünschter Kurzschlussfehler vermieden wird. Die Strukturelement-Layout-Korrektur 430 kann Regeln aus der Regel-Engine 432 abrufen.
-
In der beispielhaften Operation 550 justiert oder generiert die Layoutgenerierungseinheit 434 die Prozessparameter zum Erreichen des korrigierten Layouts der auf dem ersten Wafer 202 gebildeten Mikrohöcker 204. Zu den Prozessparametern gehören alle Parameter, die sich auf das Layout der Mikrohöcker 204 beziehen. Zum Beispiel können in dem beispielhaften Szenario des Bildens von Mikrohöckern die Parameter der Photoresiststrukturen gemäß der Oberflächengröße der Mikrohöcker und den Positionen der auf dem ersten Wafer 202 gebildeten Mikrohöcker 204 justiert werden.
-
In der beispielhaften Operation 560 steuert die Implementierungseinheit 436 den Werkzeugsatz 330 bei der Bildung der Mikrohöcker 204 auf der Grundlage der durch die Layoutgenerierungseinheit 434 generierten Parameter. Zum Beispiel kann die Implementierungseinheit 436 den Betrieb des Scanners 332 bei der Bildung einer strukturierten Photoresistschicht, die Öffnungen 356 enthält, steuern, um die Keimschicht 354 zum Bilden der Mikrohöcker 202 freizulegen. Die Größen und Positionen der Öffnungen 356 werden durch die Layoutparameter gesteuert, die durch die Layoutgenerierungseinheit 434 generiert werden.
-
Nach der Bildung der strukturierten Photoresistschicht werden auf der Basis der strukturierten Photoresistschicht Mikrohöcker gebildet. Zum Beispiel werden die Mikrohöcker in den Öffnungen 356 der strukturierten Photoresistschicht gebildet. 5 ist ein veranschaulichender beispielhafter Ablauf des Bildens der Mikrohöcker, was aber nicht den Schutzumfang der Offenbarung einschränkt.
-
Zum Beispiel werden auf der Keimschicht, die durch die Öffnungen der strukturierten Photoresistschicht hindurch frei liegt, galvanisch abgeschiedene Löthöcker mit sehr engen Mittenabständen gebildet. Dann wird die Photoresistschicht entfernt. Der Wafer wird dann bei einer Temperatur oberhalb des Schmelzpunktes des Lots aufgeschmolzen, um die metallische Verbindung der Mikrohöcker mit darunter liegenden Metallpads zu vollenden und die Mikrohöcker aus der abgeschiedenen Form in eine Kugelform umzuwandeln, was den Abschluss der Bildung der Mikrohöcker signalisiert. Nach der Bildung der Mikrohöcker wird der Wafer in einzelne Chips geschnitten, die dann nachfolgende Verkapselungsprozesse wie die Bondverfahren von 2 durchlaufen. Einige beispielhafte Aufschmelzverfahren beschichten den Wafer mit einem Flussmittel und schmelzen dann den Wafer in einer Stickstoffumgebung auf. Ein solches flussmittelhaltiges Aufschmelzverfahren kann eine Flussmittelreinigungsoperation enthalten, da die Zersetzung organischer Flussmittel Rückstände hinterlassen und flüchtige Stoffe erzeugen kann, die Verunreinigungen auf dem Wafer sind. Einige Aufschmelzverfahren enthalten keine Flussmittel, und es gibt keine Flussmittelreinigungsoperation. Andere Verfahren zum Bilden von Mikrohöckern auf der Grundlage der strukturierten Photoresistschicht sind ebenfalls möglich und fallen in den Schutzumfang der Offenbarung.
-
6 zeigt eine prozessorbasierte Vorrichtung 604, die zum Implementieren verschiedener hier beschriebener Ausführungsformen geeignet ist. Zum Beispiel kann die prozessorbasierte Vorrichtung 604 für die Computersysteme des Kunden 110, der Plattform 120, des Herausgebers 130 und/oder des Inhaltsanbieters 140 von 1 repräsentativ sein. Obgleich nicht erforderlich, wird ein Teil der Ausführungsformen im allgemeinen Kontext von prozessorausführbaren Instruktionen oder prozessorausführbarer Logik beschrieben, wie zum Beispiel Programmanwendungsmodule, Objekte oder Makros, die durch einen oder mehrere Prozessoren ausgeführt werden. Dem einschlägig bewanderten Fachmann ist klar, dass die beschriebenen Ausführungsformen, wie auch andere Ausführungsformen, mit verschiedenen prozessorgestützten Systemkonfigurationen praktiziert werden können, einschließlich handgehaltener Vorrichtungen wie zum Beispiel Smartphones und Tablet-Computer, am Körper tragbarer Vorrichtungen, Multiprozessorsystemen, mikroprozessorgestützter oder programmierbarer Unterhaltungselektronik, Personalcomputern (PCs), Netzwerk-PCs, Minicomputern, Großrechnern und dergleichen.
-
Die prozessorgestützte Vorrichtung 604 kann zum Beispiel die Form eines Smartphones oder Tablet-Computers annehmen, der einen oder mehrere Prozessoren 606, einen Systemspeicher 608 und einen Systembus 610 enthält, der verschiedene Systemkomponenten, einschließlich des Systemspeichers 608 mit dem oder den Prozessoren 606 koppelt. Die prozessorgestützte Vorrichtung 604 wird hier gelegentlich im Singular erwähnt, aber dies soll nicht die Ausführungsformen auf ein einziges System beschränken, da in bestimmten Ausführungsformen mehr als ein System oder eine andere vernetzte Computervorrichtung beteiligt ist. Nicht-einschränkende Beispiele für auf dem freien Markt erhältliche Systeme sind unter anderem ARM-Prozessoren einer Vielzahl verschiedener Hersteller, Core-Mikroprozessoren von der Intel Corporation, USA, PowerPC-Mikroprozessoren von IBM, Sparc-Mikroprozessoren von Sun Microsystems, Inc., Mikroprozessoren der PA-RISC-Serie von der Hewlett-Packard Company, und Mikroprozessoren der 68xxx-Serie von der Motorola Corporation.
-
Der eine oder die mehreren Prozessoren 606 können eine beliebige Logikverarbeitungseinheit sein, zum Beispiel eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), Mikroprozessoren, digitale Signalprozessoren (DSPs), anwendungsspezifische integrierte Schaltkreise (ASICs), feldprogrammierbare Gate-Arrays (FPGAs) usw. Sofern nicht anders beschrieben, sind Aufbau und Funktionsweise der in 6 gezeigten verschiedenen Blöcke von konventioneller Art. Infolge dessen brauchen solche Blöcke hier nicht näher beschrieben zu werden, da der einschlägig bewanderte Fachmann sie versteht.
-
Der Systembus 610 kann alle bekannten Busstrukturen oder -architekturen verwenden, einschließlich eines Speicherbusses mit Speicher-Controller, eines Peripherie-Busses und eines lokalen Busses. Der Systemspeicher 608 enthält den Nurlesespeicher (ROM) 612 und den Direktzugriffsspeicher (RAM) 614. Ein Basic Input/Output System (BIOS) 616, das Teil des ROM 612 sein kann, enthält grundlegende Routinen, die bei der Übertragung von Informationen zwischen Elementen innerhalb der prozessorgestützten Vorrichtung 604 helfen, wie zum Beispiel beim Hochfahren. Einige Ausführungsformen können separate Busse für Daten, Instruktionen und Stromversorgung verwenden.
-
Die prozessorgestützte Vorrichtung 604 kann auch einen oder mehrere Festkörperspeicher enthalten, zum Beispiel Flashspeicher oder ein Festkörperlaufwerk (Solid State Drive, SSD) 618, enthalten, die einen nichtflüchtigen Speicher von computerlesbaren Instruktionen, Datenstrukturen, Programmmodulen und anderen Daten für die prozessorgestützte Vorrichtung 604 bereitstellt. Obgleich nicht gezeigt, kann die prozessorgestützte Vorrichtung 604 andere nicht-transitorische computer- oder prozessorlesbare Medien verwenden, zum Beispiel ein Festplattenlaufwerk, ein optisches Disk-Laufwerk oder ein Speicherkartenmedienlaufwerk.
-
In dem Systemspeicher 608 können Programmmodule gespeichert werden, wie zum Beispiel ein Betriebssystem 630, ein oder mehrere Anwendungsprogramme 632, andere Programme oder Module 634, Treiber 636 und Programmdaten 638.
-
Die Anwendungsprogramme 632 können zum Beispiel das Schwenken/Scrollen 632a enthalten. Eine solche Schwenk-/Scroll-Logik kann unter anderem eine Logik enthalten, die bestimmt, wann und/oder wo ein Zeiger (zum Beispiel Finger, Stift, Cursor) in ein Benutzerschnittstellenelement eintritt, das eine Region aufweist, die einen mittigen Abschnitt und mindestens einen Rand aufweist. Eine solche Schwenk-/Scroll-Logik kann unter anderem eine Logik enthalten, die eine Richtung und eine Rate bestimmt, mit der sich mindestens ein Element des Benutzerschnittstellenelements scheinbar bewegen sollte, und das Aktualisieren einer Anzeige veranlasst, um zu veranlassen, dass sich das mindestens eine Element scheinbar mit der bestimmten Rate in die bestimmte Richtung bewegt. Die Schwenk-/Scroll-Logik 632a kann zum Beispiel als eine oder mehrere ausführbare Instruktionen gespeichert werden. Die Schwenk-/Scroll-Logik 632a kann prozessor- und/oder maschinenausführbare Logik oder Instruktionen zum Generieren von Benutzerschnittstellenobjekten unter Verwendung von Daten enthalten, die die Bewegung einer Zeigers charakterisieren, zum Beispiel Daten von einem berührungsempfindlichen Display oder von einer Computermaus oder einem Computer-Trackball oder einer anderen Benutzerschnittstellenvorrichtung.
-
Der Systemspeicher 608 kann auch Kommunikationsprogramme 640 enthalten, zum Beispiel einen Server und/oder einen Web-Client oder Browser, um der prozessorgestützten Vorrichtung 604 den Zugriff auf Daten und den Austausch von Daten mit anderen Systemen wie zum Beispiel Benutzer-Computersystemen, Websites im Internet, Firmen-Intranets oder anderen Netzwerken zu ermöglichen, wie unten beschrieben. Das Kommunikationsprogramm 640 in der gezeigten Ausführungsform ist Markup Language-basiert, wie zum Beispiel Hypertext Markup Language (HTML), Extensible Markup Language (XML) oder Wireless Markup Language (WML), und arbeitet mit Markup Languages, die syntaktisch abgegrenzte Zeichen verwenden, die den Daten einer Dokuments hinzugefügt werden, um die Struktur des Dokuments darzustellen. Auf dem freien Markt sind eine Reihe von Servern und/oder Web-Clients oder Browsern erhältlich, wie zum Beispiel jene von der Mozilla Corporation aus Kalifornien und Microsoft aus Washington.
-
Das Betriebssystem 630, die Anwendungsprogramme 632, andere Programme/Module 634, Treiber 636, Programmdaten 638 und Server und/oder Browser 640 sind zwar in 6 als im Systemspeicher 608 gespeichert gezeigt, doch sie können auch auf jedem anderen einer großen Vielzahl verschiedener nicht-transitorischer prozessorlesbarer Medien (zum Beispiel Festplatte, optisches Laufwerk, SSD und/oder Flashspeicher) gespeichert werden.
-
Ein Benutzer kann Befehle und Informationen über einen Zeiger eingeben, zum Beispiel über Eingabevorrichtungen wie einen Touchscreen 648 über einen Finger 644a, einen Stift 644b oder über eine Computermaus oder einen Computer-Trackball 644c, der einen Cursor steuert. Zu anderen Eingabevorrichtungen können ein Mikrofon, ein Joystick, ein Gamepad, ein Tablet, ein Scanner, eine biometrische Scan-Vorrichtung usw. gehören. Diese und andere Eingabevorrichtungen (das heißt E/A-Vorrichtungen) sind mit dem einen oder den mehreren Prozessoren 606 über eine Schnittstelle 646 gekoppelt, wie zum Beispiel einen Touchscreen-Controller und/oder eine Universal Serial Bus-Schnittstelle (USB), die Benutzereingaben an den Systembus 610 koppelt, obgleich auch andere Schnittstellen wie zum Beispiel ein Parallelport, ein Game-Port oder eine drahtlose Schnittstelle oder ein serieller Port verwendet werden können. Der Touchscreen 648 kann über eine Videoschnittstelle 650, wie zum Beispiel einen Videoadapter, an den Systembus 610 gekoppelt werden, um Bilddaten oder Bildinformationen zum Anzeigen über den Touchscreen 648 zu empfangen. Obgleich nicht gezeigt, kann die prozessorgestützte Vorrichtung 604 auch andere Ausgabevorrichtungen wie zum Beispiel Lautsprecher, einen Vibrator, einen Haptik-Aktuator oder eine Haptik-Engine usw., enthalten.
-
Die prozessorgestützte Vorrichtung 604 arbeitet in einer vernetzten Umgebung und verwendet dafür eine oder mehrere der logischen Verbindungen zum Kommunizieren mit einem oder mehreren räumlich abgesetzten Computern, Servern und/oder Vorrichtungen über einen oder mehrere Kommunikationskanäle, zum Beispiel ein oder mehrere Netzwerke 614a, 614b. Diese logischen Verbindungen können jedes bekannte Verfahren unterstützen, das Computern das Kommunizieren erlaubt, zum Beispiel über ein oder mehrere LANs und/oder WANs, wie zum Beispiel das Internet und/oder Mobilfunknetze. Solche Netzwerkumgebungen sind in drahtgebundenen und drahtlosen unternehmensweiten Computernetzen, Intranets, Extranets, dem Internet und anderen Arten von Kommunikationsnetzen, einschließlich Telekommunikationsnetzen, Mobilfunknetzen, Paging-Netzen und anderen mobilen Netzen, allgemein bekannt.
-
Bei Verwendung in einer Netzwerkumgebung kann die prozessorgestützte Vorrichtung 604 eine oder mehrere Netzwerk-, drahtgebundene oder drahtlose Kommunikationsschnittstellen 652a, 656 (zum Beispiel Netzwerkschnittstellen-Controller, Mobilfunkvorrichtungen, WI-FI-Funkvorrichtungen oder Bluetooth-Funkvorrichtungen) zum Aufbau einer Kommunikation über das Netzwerk, zum Beispiel das Internet 614a oder das Mobilfunknetz, enthalten.
-
In einer vernetzten Umgebung können Programmmodule, Anwendungsprogramme oder Daten oder Teile davon in einem Server-Computersystem (nicht gezeigt) gespeichert werden. Der einschlägig bewanderte Fachmann erkennt, dass die in 6 gezeigten Netzwerkverbindungen nur einige Beispiele von Möglichkeiten zum Herstellen einer Kommunikation zwischen Computern sind und dass auch andere Verbindungen, einschließlich drahtlos, verwendet werden können.
-
Der Einfachheit halber sind der oder die Prozessoren 606, der Systemspeicher 608 und die Netzwerk- und Kommunikationsschnittstellen 652a, 656 so veranschaulicht, dass sie über den Systembus 610 kommunikativ miteinander gekoppelt sind und dadurch die eine Konnektivität zwischen den oben beschriebenen Komponenten bereitstellen. In alternativen Ausführungsformen der prozessorgestützten Vorrichtung 604 können die oben beschriebenen Komponenten auch auf eine andere Weise als in 6 gezeigt kommunikativ gekoppelt werden. Zum Beispiel können eine oder mehrere der oben beschriebenen Komponenten direkt mit anderen Komponenten gekoppelt sein oder können über Zwischenkomponenten (nicht gezeigt) miteinander gekoppelt sein. In einigen Ausführungsformen wird auf den Systembus 610 verzichtet, und die Komponenten werden mit Hilfe geeigneter Verbindungen direkt miteinander gekoppelt.
-
7 zeigt ein beispielhaftes Teilungsraster 700 einer Wafers mit n×m Rasterregionen und einer beispielhaften Maskenstruktur (M) 720 für eine Rasterregion. Jede der n×m Rasterregionen hat eine Rastergröße von w.
-
8 zeigt einen beispielhaften Strukturdichteglättungsvorgang 800, der einen Downsampling-Pfad 810 und einen Upsampling-Pfad 850 zur Strukturdichteglättung enthält.
-
Der beispielhafte Strukturdichteglättungsvorgang 800 von 8 wird hier mit Bezug auch auf 7 beschrieben. In der beispielhaften Strukturdichteglättung wird die Gaußsche Glättung als eine beispielhafte Glättungstechnik verwendet, die nicht den Schutzumfang der Offenbarung einschränkt. Andere Bildglättungstechniken, wie ordnungsstatistische Glättung (Mittelwert, Median) oder Tiefpass-Butterworth-Glättung, können ebenfalls für die Strukturdichteglättung auf jeder Ebene von Teilungsrastern verwendet werden.
-
8 zeigt den Strukturdichteglättungsvorgang am einem einzelnen Die als ein veranschaulichendes Beispiel. Ähnliche Strukturdichteglättungsoperationen können an mehreren Dies symmetrisch ausgeführt werden oder können an einem vollständigen Wafer, zum Beispiel einem 300 mm-Wafer oder einem 450 mm-Wafer, ausgeführt werden.
-
Der Vorgang
800 beginnt den Downsampling-Pfad
810. Auf einer ersten Rasterebene
812 beträgt die Rastergröße w = 500 µm. Eine Rasterregion enthält eine Fläche von 500 µm × 500 µm. Die anfängliche Strukturdichte p(x, y) einer Rasterregion M(x, y) wird mit Hilfe der hier beschriebenen Algorithmen (1), (2) bestimmt. Mit den anfänglichen Strukturdichtewerten für alle erhaltenen Rasterregionen wird die lokale Strukturdichtekorrektur gemäß den folgenden Algorithmen berechnet:
wobei: ρ
n einen anfänglichen Strukturdichtewert einer Rasterregion M(x, y) auf einer Rasterebene n bezeichnet, wo der Downsampling-Pfad beginnt; ρ
n' die Strukturdichte nach der lokalen Korrektur bezeichnet; K einen gradientenbewussten Korrekturkern bezeichnet; ∇ρ
n den 2D-Gradienten von ρ
n bezeichnet; σ
n eine Größe eines Clusters von σ
n × σ
n benachbarter Rasterregionen bezeichnet, die in der lokalen Korrektur verwendet werden, zum Beispiel gibt σ
n = 3 an, dass 9 benachbarte Rasterregionen, einschließlich der Rasterregion M(x, y), bei der lokalen Korrektur verwendet werden.
-
Auf einer zweiten Rasterungsebene
814 wird die Rastergröße auf w = 1500 µm erhöht. Eine Rasterregion enthält eine Fläche von 1500 µm × 1500 µm. Aufgrund der erhöhten Größe kann eine Rasterregion der zweiten Rasterebene
814 mehrere Rasterregionen der ersten Rasterebene
812 enthalten. In einer Ausführungsform ist die Regionsgröße der zweiten Rasterebene
814 die gleiche wie die Größe des Clusters benachbarter Rasterregionen, die bei der lokalen Korrekturoperation der ersten Rasterebene
812 verwendet werden. Somit enthält eine Rasterregion der zweiten Rasterebene
814 9 benachbarte Rasterregionen der ersten Rasterebene
812, das heißt , σ
n = 3. Die anfängliche Strukturdichte einer Rasterregion der zweiten Rasterebene
814 wird auf der Grundlage des korrigierten Strukturdichtewertes der Rasterregionen der ersten Rasterebene
812 bestimmt, die in der Rasterregion der zweiten Rasterebene
814 enthalten sind. In einer Ausführungsform wird der folgende Algorithmus verwendet, um den anfänglichen Strukturdichtewert einer Rasterregion der zweiten Rasterebene
814 zu bestimmen:
wobei ρ
n+1(x,y) einen anfänglichen Strukturdichtewert einer Rasterregion auf einer Rasterebene n+1 bezeichnet und ρ
n(x',y') einen lokal korrigierten Strukturdichtewert einer Rasterregion der Rasterebene n bezeichnet, die in der Rasterregion auf der Rasterebene n+1 enthalten ist.
-
Wenn die anfänglichen Strukturdichtewerte für alle Rasterregionen auf der zweiten Rasterebene 814 unter Verwendung des Algorithmus (6) erhalten werden, so wird die lokale Strukturdichtekorrektur für die zweite Rasterebene 814 unter Verwendung der Algorithmen (3), (4) und (5) berechnet.
-
Nachdem die lokalen Korrekturen für die Rasterebene 814 abgeschlossen sind, geht der Downsampling-Pfad zu einer dritten Rasterebene 816 über, wo die Rastergröße weiter auf w = 4500 µm oder das Dreifache der Rastergröße der zweiten Rasterebene 814 erhöht wird, das heißt, σn = 3. Ähnliche Operationen wie jene auf der zweiten Rasterebene 814 werden auf der dritten Rasterebene 816 auf der Grundlage der lokal korrigierten Strukturdichtewerte der zweiten Rasterebene 814 ausgeführt.
-
Die lokalen Korrekturoperationen werden des Weiteren auf jeder der Rasterebenen 818, 820 entlang des Downsampling-Pfades 810 ausgeführt, bis die Rastergröße eine Schwelle erreicht, zum Beispiel w = 40,5 mm auf der Rasterebene 820. Nachdem die lokale Korrekturoperation für die Rasterebene 820 abgeschlossen ist, beginnt der Upsampling-Pfad 850.
-
Entlang des Upsampling-Pfades
850 nimmt die Rastergröße in der Reihenfolge der Rasterebenen
820,
818,
816,
814 und
812 ab. Auf jeder Rasterebene wird die Strukturdichte einer Rasterregion auf der Grundlage der lokal korrigierten Strukturdichte des Downsampling-Pfads
810 und eines globalen Korrekturfaktors bestimmt. Der globale Korrekturfaktor wird auf der Grundlage des Strukturdichtewertes einer Rasterregion einer größeren Rastergröße w bestimmt. In einer Ausführungsform wird der folgende Algorithmus verwendet, um einen korrigierten Strukturdichtewert im Upsampling-Pfad
850 zu bestimmen:
wobei ρ
n' die Strukturdichte nach lokaler Korrektur im Downsampling-Pfad bezeichnet;
eine Strukturdichte-Untergrenze und eine Strukturdichte-Obergrenze bezeichnet; und
einen globalen Korrekturfaktor auf Rasterebene n aufgrund der Strukturdichtewerte der Rasterebene n+1 bezeichnet.
Das
kann mittels des folgenden Algorithmus bestimmt werden:
-
In einer Ausführungsform können die Strukturdichte-Untergrenze und/oder die Strukturdichte-Obergrenze auf der Grundlage von in der Regel-Engine 432 gespeicherten Regeln abgerufen oder bestimmt werden.
-
Bei dem beispielhaften Vorgang 800 wird der Downsampling-Pfad 810 vor dem Upsampling-Pfad 850 ausgeführt. Wie im vorliegenden Text beschrieben, betont diese sequentielle Reihenfolge den Einfluss der lokalen benachbarten Rasterregionen im Vergleich zum globalen Einfluss. In einem Szenario, in dem der globale Einfluss wichtiger ist als der lokale Einfluss, kann einer umgekehrte sequentielle Reihenfolge zwischen dem Downsampling-Pfad 810 und dem Upsampling-Pfad 850 gefolgt werden.
-
Obgleich nicht erforderlich, werden die Implementierungen im allgemeinen Kontext computerausführbarer Instruktionen beschrieben, wie zum Beispiel Programmanwendungsmodule, Objekte oder Makros, die auf computer- oder prozessorlesbaren Speichermedien gespeichert sind und durch einen Computer oder Prozessor ausgeführt werden. Dem einschlägig bewanderten Fachmann ist klar, dass die veranschaulichten Ausführungsformen, wie auch andere Implementierungen, auch mit anderen Systemkonfigurationen und/oder anderen Computersystemkonfigurationen praktiziert werden können, einschließlich handgehaltener Vorrichtungen, Multiprozessorsystemen, mikroprozessorgestützter oder programmierbarer Unterhaltungselektronik, Personalcomputern (PCs), Netzwerk-PCs, Minicomputern, Großrechnern und dergleichen. Die Implementierungen können in verteilten Computerumgebungen praktiziert werden, in denen Aufgaben oder Module durch räumlich abgesetzte Verarbeitungsvorrichtungen ausgeführt werden, die über ein Kommunikationsnetzwerk 150 wie zum Beispiel dem Internet miteinander verlinkt sind. In einer verteilten Computerumgebung können Programmmodule sowohl in lokalen als auch in räumlich abgesetzten Speichervorrichtungen angeordnet sein.
-
Die obige detaillierte Beschreibung hat verschiedene Implementierungen der Vorrichtungen und/oder Prozesse anhand von Blockdiagrammen, Schaubildern und Beispielen dargelegt. Soweit solche Blockdiagramme, Schaubilder und Beispiele eine oder mehrere Funktionen und/oder Operationen enthalten, ist dem Fachmann klar, dass jede Funktion und/oder Operation innerhalb solcher Blockdiagramme, Flussdiagramme oder Beispiele individuell und/oder zusammen durch eine breite Palette von Hardware, Software, Firmware oder praktisch jede Kombination davon implementiert werden können. In einer Implementierung kann der hier besprochene Gegenstand durch anwendungsspezifische integrierte Schaltkreise (ASICs) implementiert werden. Der Fachmann erkennt jedoch, dass die im vorliegenden Text offenbarten Implementierungen ganz oder teilweise gleichermaßen auch in standardmäßigen integrierten Schaltkreisen als ein oder mehrere Computerprogramme, die auf einem oder mehreren Computern laufen (zum Beispiel als ein oder mehrere Programme, die auf einem oder mehreren Computersystemen laufen), als ein oder mehrere Programme, die auf einem oder mehreren Controllern (zum Beispiel Mikrocontrollern) laufen, als ein oder mehrere Programme, die auf einem oder mehreren Prozessoren (zum Beispiel Mikroprozessoren) laufen, als Firmware oder als praktisch jede Kombination davon implementiert werden können und dass das Entwerfen der Schaltung und/oder das Schreiben des Codes für die Software und/oder Firmware vor dem Hintergrund dieser Offenbarung durchaus im Rahmen der Fähigkeiten des Durchschnittsfachmanns liegen würden.
-
Der Fachmann erkennt, dass viele der hier dargelegten Verfahren oder Algorithmen zusätzliche Aktionen verwenden können, einige Aktionen weglassen können und/oder Aktionen in einer anderen Reihenfolge als der spezifizierten ausführen können.
-
Darüber hinaus leuchtet dem Fachmann ein, dass die hier gelehrten Mechanismen als ein Programmprodukt in einer Vielzahl verschiedener Formen verbreitet werden können und dass eine veranschaulichende Implementierung gleichermaßen unabhängig von der konkreten Art des signaltransportierenden Mediums, das zum eigentlichen Durchführen der Verbreitung verwendet wird, gilt. Zu Beispielen signaltransportierender Medien gehören unter anderem die folgenden: beschreibbare Medien wie zum Beispiel Disketten, Festplatten, CD-ROMs, Digitalbänder und Computerspeicher.
-
Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele zum Implementieren verschiedener Merkmale des hier besprochenen Gegenstandes bereit. Im Folgenden werden konkrete Beispiele von Komponenten und Anordnungen beschrieben, um die vorliegende Beschreibung zu vereinfachen. Diese sind natürlich nur Beispiele und dienen nicht der Einschränkung. Zum Beispiel kann die Ausbildung eines ersten Strukturelements über oder auf einem zweiten Strukturelement in der folgenden Beschreibung Ausführungsformen enthalten, bei denen die ersten und zweiten Strukturelemente in direktem Kontakt ausgebildet sind, und können auch Ausführungsformen enthalten, bei denen zusätzliche Strukturelemente zwischen den ersten und zweiten Strukturelementen ausgebildet sein können, so dass die ersten und zweiten Strukturelemente nicht unbedingt in direktem Kontakt stehen. Darüber hinaus kann die vorliegende Offenbarung Bezugszahlen und/oder -buchstaben in den verschiedenen Beispielen wiederholen. Diese Wiederholung dient dem Zweck der Einfachheit und Klarheit und schafft nicht automatisch eine Beziehung zwischen den verschiedenen besprochenen Ausführungsformen und/oder Konfigurationen.
-
Des Weiteren können räumlich relative Begriffe, wie zum Beispiel „unterhalb“, „unter“, „unterer“, „oberhalb“, „oberer“ und dergleichen, im vorliegenden Text zur Vereinfachung der Beschreibung verwendet werden, um die Beziehung eines Elements oder Strukturelements zu einem oder mehreren anderen Elementen oder Strukturelementen, wie in den Figuren veranschaulicht, zu beschreiben. Die räumlich relativen Begriffe sollen auch andere Ausrichtungen der Vorrichtung im Gebrauch oder Betrieb neben der in den Figuren gezeigten Ausrichtung umfassen. Die Vorrichtung kann auch anders ausgerichtet sein (um 90 Grad gedreht, oder sonstige Ausrichtungen), und die im vorliegenden Text verwendeten räumlich relativen Deskriptoren können gleichermaßen entsprechend interpretiert werden.
-
In der folgenden Beschreibung werden bestimmte konkrete Details dargelegt, um ein gründliches Verständnis verschiedener Ausführungsformen der Offenbarung zu ermöglichen. Dem Fachmann ist jedoch klar, dass die Offenbarung auch ohne diese konkreten Details praktiziert werden kann. In anderen Fällen sind bekannte Strukturen im Zusammenhang mit elektronischen Komponenten und Fertigungstechniken nicht im Detail beschrieben worden, um zu vermeiden, dass wesentliche Aspekte der Beschreibungen der Ausführungsformen der vorliegenden Offenbarung unnötig in den Hintergrund treten.
-
Sofern der Kontext nichts anderes erfordert, sind in der gesamten Spezifikation und in den folgenden Ansprüchen das Wort „umfassen“ und seine Variationen, wie zum Beispiel „umfasst“ und „umfassend“, in einem offenen, inkludierenden Sinn zu verstehen, das heißt als „einschließlich, aber nicht beschränkt auf“.
-
Die Verwendung von Ordnungszahlen wie zum Beispiel „erster“, „zweiter“ und „dritter“ impliziert nicht unbedingt eine Rangfolge, sondern braucht lediglich zwischen mehreren Instanzen einer Aktion oder Struktur zu unterscheiden.
-
Wenn in dieser Spezifikation von „einer bestimmten Ausführungsform“ oder „einer Ausführungsform“ die Rede ist, so bedeutet das, dass ein bestimmtes Strukturelement, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Wendungen „in einer bestimmten Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen in dieser Spezifikation nicht unbedingt immer auf dieselbe Ausführungsform. Darüber hinaus können die besonderen Strukturelemente, Strukturen oder Eigenschaften in einer oder mehreren Ausführungsformen auf jede geeignete Weise kombiniert werden.
-
Im Sinne dieser Spezifikation und den beigefügten Ansprüchen schließen die Singularformen „ein/einer/eine“ und „der/die/das“ auch die Pluralbedeutungen ein, sofern der Inhalt nicht eindeutig etwas anderes verlangt. Es ist auch zu beachten, dass der Begriff „oder“ allgemein in der Bedeutung verwendet wird, die „und/oder“ umfasst, sofern der Inhalt nicht eindeutig etwas anderes verlangt.
-
Die vorliegende Offenbarung kann anhand der Beschreibung der folgenden Ausführungsformen noch besser verstanden werden.
-
In einer Verfahrensausführungsform werden erste Layoutdaten empfangen. Die ersten Layoutdaten repräsentieren mehrere Strukturelemente, die auf einer Oberfläche einer Wafers gebildet werden. Die Oberfläche enthält mehrere Rasterregionen unter einer ersten Teilungsebene. Für jede der mehreren Rasterregionen unter der ersten Teilungsebene wird ein anfänglicher Strukturdichtewert bestimmt. Ein geplanter Strukturdichtewert einer ersten Rasterregion der mehreren Rasterregionen wird durch Justieren eines anfänglichen Strukturdichtewertes der ersten Rasterregion auf der Grundlage eines anfänglichen Strukturdichtewertes einer zweiten Rasterregion der mehreren Rasterregionen unter der ersten Teilungsebene erhalten. Zweite Layoutdaten des ersten Rasterregion werden auf der Grundlage des geplanten Strukturdichtewertes bestimmt. Die mehreren Strukturelemente werden auf der Oberfläche des Wafers mindestens teilweise auf der Grundlage der zweiten Layoutdaten der ersten Rasterregion gebildet.
-
In einer Systemausführungsform enthält ein System ein Waferverarbeitungswerkzeug, das dafür konfiguriert ist, mehrere Verbindungsstrukturelemente auf einer Waferoberfläche zu bilden, eine Datenbank, die dafür konfiguriert ist, Designdaten der mehreren Verbindungsstrukturelemente zu speichern, und einen prozessorgestützten Controller, der dafür geeignet ist, das Waferverarbeitungswerkzeug so zu steuern, dass die mehreren Verbindungsstrukturelementen auf der Waferoberfläche gebildet werden. Der prozessorgestützte Controller ist dafür geeignet, Aktionen auszuführen, die enthalten: Teilen der Waferoberfläche in mehrere erste Rasterregionen unter einer ersten Teilungsebene; Bestimmen eines ersten Strukturdichtewertes für eine erste Rasterregion der mehreren ersten Rasterregionen; Justieren des ersten Strukturdichtewertes der ersten Rasterregion auf der Grundlage eines zweiten Strukturdichtewertes einer zweiten Rasterregion der mehreren ersten Rasterregionen; Bestimmen von Layoutdaten der ersten Rasterregion auf der Grundlage des justierten ersten Strukturdichtewertes der ersten Rasterregion; und Steuern des Waferverarbeitungswerkzeugs dergestalt, dass mehrere Verbindungsstrukturelemente auf der Oberfläche des Wafers mindestens teilweise auf der Grundlage der Layoutdaten der ersten Rasterregion gebildet werden.
-
In einer anderen Verfahrensausführungsform werden erste Layoutdaten empfangen. Die ersten Layoutdaten zeigen mehrere diskrete leitfähige Strukturen an, die auf einer Oberfläche eines ersten Substrats gebildet werden. Die mehreren diskreten leitfähigen Strukturen enthalten eine erste diskrete leitfähige Struktur, die in einer ersten Region auf der Oberfläche gebildet wird. Ein Strukturdichtewert der ersten Region wird bestimmt. Ein Höhenwert der ersten diskreten leitfähigen Struktur wird bestimmt. Der Strukturdichtewert der ersten Region wird auf der Grundlage des Höhenwertes der ersten diskreten leitfähigen Struktur justiert. Ein Layout der ersten Rasterregion wird auf der Grundlage des justierten Strukturdichtewertes bestimmt. Die mehreren diskreten leitfähigen Strukturen werden auf der Oberfläche mindestens teilweise auf der Grundlage des Layouts der ersten Rasterregion gebildet.
-
Die verschiedenen oben beschriebenen Ausführungsformen können kombiniert werden, um weitere Ausführungsformen zu erhalten. Alle US-Patente, US-Patentanmeldungspublikationen, US-Patentanmeldungen, ausländischen Patente, ausländischen Patentanmeldungen und Nichtpatentveröffentlichungen, auf die in dieser Spezifikation Bezug genommen wird und/oder die im Anmeldungsdatenblatt aufgeführt sind, werden hiermit durch Bezugnahme in vollem Umfang in den vorliegenden Text aufgenommen. Aspekte der Ausführungsformen können erforderlichenfalls modifiziert werden, um Konzepte der verschiedenen Patente, Anmeldungen und Publikationen zu verwenden, um weitere Ausführungsformen zu erhalten.
-
Diese und andere Änderungen können an den Ausführungsformen vor dem Hintergrund der obigen detaillierten Beschreibung vorgenommen werden. Im Allgemeinen dürfen die in den folgenden Ansprüchen verwendeten Begriffe nicht so ausgelegt werden, dass sie die Ansprüche auf die in der Spezifikation und den Ansprüchen offenbarten konkreten Ausführungsformen beschränken, sondern sind so auszulegen, dass sie alle möglichen Ausführungsformen zusammen mit dem vollen Umfang der Äquivalente, auf die diese Ansprüche ein Anrecht haben, enthalten. Dementsprechend werden die Ansprüche nicht durch die Offenlegung beschränkt.