next up previous contents
Next: 5.4 Erzeugung des Simulationsgitters Up: 5. Geometrische Modellierung und Previous: 5.2 Punktsuche

Unterabschnitte


5.3 Geometrische Operationen und Modellierung

Bisher wurde gezeigt, wie Geometrien gespeichert werden, bzw. wie man darin effizient sucht, nicht aber wie man sie erzeugen oder verändern kann. Selten wird für eine Simulation die Struktur im entsprechenden Datenformat händisch eingegeben, da eine solche Eingabe aufwendig und sehr fehleranfällig wäre. Deshalb ist es notwendig, dass eine komplexe dreidimensionale Struktur mittels geometrischer Operationen aus mehreren ,,Einzelteilen`` aufgebaut werden kann.

Extrusion

Vielfach liegt eine Beschreibung der Struktur in einem zweidimensionalen Format vor (Layout). Um daraus einen dreidimensionalen Körper zu erzeugen verschiebt man die zweidimensionale Fläche entlang einer Achse normal auf die Zeichenebene um einen bestimmten Abstand (Dicke). Dieser Vorgang wird als Extrusion bezeichnet. Man kann anstatt in Richtung der Oberflächennormale auch entlang einer vorgegebenen Kurve verschieben. Zusätzlich können auch gewisse Parameter des zweidimensionalen Objektes während des Verschiebens verändert werden. Dabei ist jedoch darauf zu achten, dass es zu keinen Selbstdurchdringungen oder Kollisionen mit anderen Objekten kommt.

Boolesche Operationen

Darunter versteht man die logische Verknüpfung von Körpern mittels Operationen wie UND, ODER, OHNE, wie zuvor bei der CSG-Darstellung erläutert. CSG-Geometrien können ohne zusätzlichen Aufwand direkt miteinander verknüpft werden.

Auch bei der Voxeldarstellung ist eine Implementierung relativ einfach. Die logische Operation kann hier Voxel für Voxel ausgeführt werden.

Boolesche Operationen sind an sich nur für zwei Materialarten (bzw. Material/kein Material) definiert. Eine Erweiterung auf mehrere Materialien kann durch Aufstellen von Verknüpfungsregeln oder einer Entscheidungstabelle vorgenommen werden.

Bei Geometrien in BRep-Darstellung und unstrukturierten Gittern sind Boolesche Operationen deutlich komplizierter zu realisieren. Sollen zwei Geometrien miteinander verknüpft werden, muss jede Fläche und Linie der ersten Geometrie mit jeder Fläche und Linie der zweiten verschnitten werden. Dabei muss man (besonders bei schleifenden Schnitten) darauf achten, dass durch numerische Fehler keine Inkonsistenzen auftreten. Hier ist es oft nützlich, Flächen, Linien und Punkte mit einer sogenannten Epsilon-Umgebung zu versehen. Schneiden sich beispielsweise zwei Linien nicht direkt in einem Punkt, sondern kommen sie einander lediglich so nahe, dass ihr Abstand kleiner dem vorgegebenen $ \epsilon$ ist, dann wird dieser Fall als Schnitt gewertet. Natürlich kann auch ein zu groß gewähltes $ \epsilon$ falsche Entscheidungen bewirken und damit Inkonsistenzen herbeiführen. Im Regelfall sind aber die Abstände innerhalb gegebener Geometrien groß gegenüber den erwarteten numerischen Ungenauigkeiten, sodass die Verwendung von Epsilon-Umgebungen meist zur Erhöhung der Robustheit beiträgt.

Doppelt vorkommende Flächen, Linien, oder Punkte müssen nach dem Verschneiden entfernt werden. Danach werden die Solids rekonstruiert und gemäß den Verknüpfungsregeln das Material gewählt.

Eine Vereinfachung ergibt sich bei unstrukturierten Gittern wenn man als Solids ausschließlich Tetraeder zulässt [130]. Treten beim Verschneiden andere Polyeder auf, so werden diese sofort wieder in Tetraeder aufgespalten. Der Vorteil dabei ist, dass man mit simplen Datenstrukturen das Auslangen findet und die Implementierung der Schnittfunktionen stark vereinfacht wird. Das aus solchen Operationen resultierende Tetraedergitter ist allerdings nicht direkt für die Simulation geeignet, da es in den meisten Fällen zu fein und von schlechter Qualität ist.

Verschneidung mittels Octree

Boolesche Operationen mit BRep-Geometrien oder unstrukturierten Gittern lassen sich durch die Verwendung erweiterter Octrees deutlich beschleunigen. Dazu wird für beide Geometrien ein Octree parallel aufgebaut. Mit parallel ist hier gemeint, dass beide Bäume die selbe Topologie haben, bzw. bis zur gleichen Tiefe verfeinert sind. Die logische Verknüpfung wird dann Blatt für Blatt durch beide Bäume ausgeführt. Für jede Kombination von Blatttypen wird eine Funktion implementiert, die die Verknüpfung durchführt. Handelt es sich dabei um zwei Solid-Blätter ist das Resultat trivialerweise ebenfalls ein Solid laut den Verknüpfungsregeln. Bei einem Solid-Blatt und einen Blatt anderen Typs hat das Ergebnis den Typ des zweiten Blattes. Bei zwei Flächen-Blättern wird zuerst getestet, ob sich die Flächen innerhalb des Würfels schneiden. Ist dies der Fall, entsteht ein Linien-Blatt, ansonsten wird weiter verfeinert. Bei einem Flächen- und einem Linien-Blatt kann ein Punkt-Blatt entstehen, oder es wird weiter verfeinert, ebenso bei zwei Linien-Blättern. Bei einem Flächen- und einem Punkt-Blatt ergibt sich wiederum ein Punkt-Blatt, wenn der Punkt innerhalb der Fläche liegt, ansonsten muss verfeinert werden. Zwei Punkt-Blätter ergeben wieder ein Punkt-Blatt, wenn beide Punkte die selben Koordinaten haben, ansonsten wird verfeinert.5.2

Nach dem Verschneiden kann man die Geometrie noch vergröbern, indem man alle Elemente, die nicht strukturbestimmend sind, entfernt (z.B. benachbarte Solids mit gleichem Material können zusammengelegt werden und die trennende Fläche entfernt werden ...).

Modellierung durch Topografie-Simulation

Konventionelle Modellierungsverfahren gehen davon aus, dass die erzeugte Struktur genau dem vorgegeben Entwurf entspricht. Im Fall der Modellierung von Verbindungsstrukturen werden aus den einzelnen Masken für Metalllagen und Vias mittels Extrusion Schichten erzeugt, die dann aufeinandergestapelt die dreidimensionale Struktur ergeben [131].

Vor allem bei Strukturen, die nahe an die prozesstechnischen Grenzen kommen, treten jedoch teilweise große Abweichungen zwischen Entwurf und erzeugter Struktur auf. Dabei können etwa Abrundungen, Hohlräume, nicht-planare Schichten, abgeschrägte Seitenflächen usw. entstehen. Diese Unterschiede werden vor allem durch Abbildungsfehler in den Lithografieschritten, sowie Abweichungen in den Ätz-, Depositions- und Planarisierungsprozessen verursacht [132,133] und haben zum Teil große Auswirkungen auf die elektrischen Eigenschaften der erzeugten Verbindungsstrukturen. Um diese Auswirkungen zu berücksichtigen, ist es notwendig, anstatt die geometrische Struktur direkt aus der Maskeninformation geometrisch zu erzeugen, die einzelnen Prozessschritte nacheinander mittels Topografiesimulation zu modellieren.

Um einen Ätz- oder Depositionsschritt zu simulieren, wird folgendermaßen vorgegangen: Zuerst wird die Prozessdauer in eine Reihe kleinerer Zeitschritte diskretisiert. Zu jedem Zeitschritt wird dann für jeden Punkt der Oberfläche die Ätz- bzw. Depositionsrate nach physikalischen Modellen berechnet, wodurch man Vektoren erhält, die die Lage der Oberfläche nach diesem Zeitschritt beschreiben.

Zur Konstruktion der neuen Oberfläche gibt es Verfahren, die auf polygonalen (BRep) oder zellulären (Voxel) Modellen basieren.5.3Bei polygonalen Verfahren werden die Geometriepunkte der Oberfläche entlang der berechneten Vektoren verschoben. Bei Ecken und Spitzen, sowie an konkaven Stellen kann es notwendig sein, zusätzliche Punkte (sowie Linien und Flächen) einzufügen bzw. zu entfernen. Der weit aufwendigste Teil bei diesem Verfahren ist jedoch das Erkennen und Entfernen bzw. die Vermeidung sogenannter ,,Oberflächenschleifen``. Sie entstehen beispielsweise, wenn bei einer Deposition die Geometrie über einer konkaven Stelle ,,zusammenwächst``, sodass eine Selbstdurchdringung und somit eine inkonsistente Darstellung entstehen würde [134].

Dieses Problem kann bei den zellulären Verfahren nicht auftreten und man erreicht damit eine gute Robustheit, allerdings auf Kosten eines höheren Speicher- und Rechenaufwands. Besonders viel Speicher wird benötigt, wenn eine extrem hohe Auflösung zur genauen Diskretisierung von dünnen Schichten notwendig ist [135]. Das Ergebnis der zellulären Topografiesimulation ist leider nicht unmittelbar für nachfolgende FEM-Simulationen brauchbar, da die Gitterdichte viel zu hoch ist. Auch wenn man die Voxelgeometrie direkt in eine Oberflächendarstellung umwandelt, erhält man aufgrund der vielen Stufen eine große Anzahl kleiner Oberflächenelemente, was einer effizienten Weiterverarbeitung hinderlich ist. Um eine geeignete polygonale Darstellung zu erhalten, bedarf es deshalb spezieller Glättungs- und Vergröberungsmethoden.



Fußnoten

... verfeinert.5.2
Zur Vereinfachung der Darstellung wurde das graue Blatt außer Acht gelassen.
... basieren.5.3
Anmerkung: Prinzipiell würde sich auch die CSG-Darstellung anbieten, da CSG Geometrien immer konsistent sind. Es ist mir jedoch keine derartige Implementierung bekannt.

next up previous contents
Next: 5.4 Erzeugung des Simulationsgitters Up: 5. Geometrische Modellierung und Previous: 5.2 Punktsuche

R. Sabelka: Dreidimensionale Finite Elemente Simulation von Verdrahtungsstrukturen auf Integrierten Schaltungen