PatentDe  


Dokumentenidentifikation DE19941400A1 08.03.2001
Titel Verfahren zur Bestimmung von Daten für eine Maske sowie dessen Verwendung zur Herstellung einer Maske sowie zur Herstellung einer integrierten Schaltung
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Meyer, Dirk, Dipl.-Ing., 85635 Höhenkirchen-Siegertsbrunn, DE;
Ludwig, Burkhard, Dipl.-Ing., 81379 München, DE;
Jungmann, Angelika, Dr.rer.nat., 82008 Unterhaching, DE
Vertreter Patentanwälte Dr. Graf Lambsdorff & Dr. Lange, 81673 München
DE-Anmeldedatum 31.08.1999
DE-Aktenzeichen 19941400
Offenlegungstag 08.03.2001
Veröffentlichungstag im Patentblatt 08.03.2001
IPC-Hauptklasse G06F 17/50
IPC-Nebenklasse G03F 1/00   
Zusammenfassung Daten eines Layouts werden in hierarchischer Form durch Zellen und Zellinstanziierungen beschrieben und liegen in einem ersten Gitter vor. Die Daten für die Maske werden in einem zweiten Gitter generiert. Dazu wird für die Zellinstanziierungen jeweils der Kontext in dem zweiten Gitter bestimmt. Für die Zellinstanziierungen mit unterschiedlichem Kontext wird durch Runden und Skalieren eine Zellvariante bestimmt, die die Daten für die Maske in dem zweiten Gitter enthält, wobei das Runden und Skallieren kontextabhängig durchgeführt wird.

Beschreibung[de]

Bei der Realisierung hochintegrierter Schaltungen wird üblicherweise zunächst ein Schaltungsentwurf erstellt, in dem spezifiziert ist, welche Bauelemente vorgesehen sind und welches Schaltverhalten die integrierte Schaltung aufweisen soll. Ausgehend von diesem Schaltungsentwurf wird ein Layout erstellt, das die geometrische Form und Anordnung aller Komponenten der Schaltungsanordnung beschreibt. Zu den Komponenten sind insbesondere dotierte Gebiete, isolierende Strukturen, leitende Strukturen, Metallisierungsebenen, Kontakte, etc. zu zählen. Das Layout ist die Grundlage zur Erstellung von Maskensätzen, die nachfolgend bei der technologischen Herstellung der integrierten Schaltung verwendet werden.

Die Daten des Layouts werden zur Erstellung des Maskensatzes von einem Maskenschreibsystem verarbeitet. Da die Daten des Layouts häufig in einem anderen Gitter vorliegen, als die Daten für das Maskenschreibsystem vorliegen müssen, ist eine Transformation der Daten des Layouts erforderlich. Im folgenden wird von Daten des Layouts gesprochen, wenn die Daten in dem Gitter des Layouts gemeint sind. Es wird von Daten für die Maske gesprochen, wenn die Daten in dem Gitter, das für das Maskenschreibsystem erforderlich ist, gemeint sind.

Die Transformation der Daten des Layouts erfolgt durch Runden und/oder Skalieren der Daten. Dabei wird auch berücksichtigt, daß die Daten für das Layout gegebenenfalls durch Softwarewerkzeuge während des Entwicklungsprozesses verändert wurden oder daß die Daten des Layouts in anderen Maßeinheiten gezeichnet wurden, als der Maskensatz geschrieben werden soll.

Das Runden der Daten des Layouts erfolgt üblicherweise mit Hilfe einer Rundungsfunktions, die eine Regel enthält, wie Koordinaten von Daten zu behandeln sind, die zwischen benachbarte Gitterpunkte des Maskengitters fallen. Häufig wird ein Runden auf den nächstgelegenen Gitterpunkt gewählt, wobei zusätzlich geregelt wird, wie der Fall zu behandeln ist, daß eine Koordinate genau zwischen zwei Gitterpunkte fällt.

Im Hinblick auf die großen Datenmengen eines Layouts werden die Daten eines Layouts zumeist in hierarchischer Form beschrieben. Das heißt, es werden Ausschnitte des Layouts, die sich wiederholen, in Zellen gespeichert. Zu den Zellen wird eine Instanziierung, häufig auch Zellaufruf genannt, gespeichert, die die geometrische Anordnung und die Orientierung der Zelle festlegt. Dabei kann eine Zelle weitere Zellen enthalten, die als Subzellen bezeichnet werden. Zur Beschreibung der Hierarchie wird häufig ein Zellgraph verwendet, in dem sich keine Zelle direkt oder indirekt selbst referenziert, oder ein Instanzenbaum, dem die einzelnen Instanziierungen der Zellen zu entnehmen sind. Die oberste Ebene wird als Topzelle bezeichnet, die inklusive aller Subzellen die Daten des Layouts repräsentiert.

Die Transformation zwischen den verschiedenen Gittern kann so durchgeführt werden, daß die Zellhierarchie von hierarchischen Daten eines Layouts aufgelöst wird. Diese Vorgehensweise wird auch als Ausflachen bezeichnet und bewirkt, daß sämtliche Daten in demselben Koordinatensystem beschrieben werden. Dadurch wird die Datenmenge in typischen Layouts deutlich vergrößert. Auf vielen Computeranlagen überschreitet die Menge diese Daten die maximale Größe einer Datei und muß ebenen- und ausschnittsweise auf mehrere Dateien aufgeteilt werden. Das Aufteilen und wieder Zusammensetzen der Daten erfordert zusätzliche Bearbeitungsschritte und kann zu Fehlern führen. Ferner werden durch das Ausflachen der hierarchischen Beschreibungsform die Vorteile der hierarchischen Beschreibungsform aufgegeben, das heißt die Reduzierung der erforderlichen Rechenzeit und des Speicherbedarfs, die durch die hierarchische Beschreibungsform erzielt werden, gehen verloren. Schließlich müssen die ausgeflachten Daten des Layouts zusätzlich übertragen und gespeichert werden, was zu zusätzlichem Zeitaufwand und Kosten, zum Beispiel für Nachrüstungen von Speicherplatz, führt.

Alternativ werden die Daten des Layouts, die in hierarchischer Form vorliegen, in ihrer hierarchischen Form skaliert und gerundet. Es hat sich gezeigt, daß das zellenweise Skalieren und Runden an Zellgrenzen zu Problemen führen kann: Aufgrund der Transformationen der Zellinstanziierungen können ungewollte Veränderungen zwischen angrenzenden Zellen entstehen. Diese Veränderungen können in Überlappungen oder Lücken der geometrischen Strukturen bestehen. Stellt eine geometrische Anordnung zum Beispiel eine Leiterbahn dar, kann eine derartige Lücke zum Unterbrechen der Leiterbahn an der Zellgrenze führen. Dadurch wird die Funktionsfähigkeit der herzustellenden integrierten Schaltung gefährdet.

Der Erfindung liegt das Problem zugrunde, ein Verfahren zur Bestimmung von Daten für eine Maske anzugeben, das ausgehend von in hierarchischer Form beschriebenen Daten eines Layouts mit zugleich erhöhter Zuverlässigkeit und reduzierten Datenmengen durchführbar ist.

Dieses Problem wird gelöst durch ein Verfahren gemäß Anspruch 1. Weitere Ausgestaltungen der Erfindung gehen aus den Unteransprüchen hervor. Das Verfahren ist insbesondere geeignet zur Anwendung bei der Herstellung einer Maske. Dieses kann sowohl eine Maske, die bei der Herstellung einer integrierten Schaltung als Teil eines Maskensatzes verwendet wird, sein als auch eine Maske zur Oberflächenbearbeitung oder dergleichen. Ferner ist das Verfahren geeignet zur Herstellung eines Maskensatzes, der zur Herstellung einer integrierten Schaltung eingesetzt wird.

In dem Verfahren werden Daten eines Layouts in hierarchischer Form durch Zellen und Zellinstanziierungen beschrieben. Die Daten des Layouts liegen dabei in einem ersten Gitter vor. Die Daten für die Maske werden in einem zweiten Gitter generiert. Dabei wird für die Zellinstanziierungen jeweils der Kontext in dem zweiten Gitter bestimmt. Als Kontext wird dabei die erforderliche Transformation einer Instanziierung in dem zweiten Gitter auf einen Gitterpunkt des zweiten Gitters bezeichnet.

Meist wird zur Beschreibung der Daten in dem zweiten Gitter die Verschiebung der Daten in Einheiten des unskalierten, ersten Gitters beschrieben. Um die Periode der Verschiebung zu berechnen, werden der Skalierungsfaktor und das zweite Gitter berücksichtigt.

Nachfolgend wird für jede Zelle bestimmt, welche Zellinstanziierungen mit unterschiedlichem Kontext vorliegen. Für jede Zelle wird je Zellinstanziierung mit unterschiedlichem Kontext durch Runden und Skalieren eine Zellvariante bestimmt, die die Daten für die Maske in dem zweiten Gitter enthält, wobei das Runden und Skalieren kontextabhängig durchgeführt wird.

Da in dem Verfahren die hierarchische Struktur der Daten des Layouts erhalten bleibt, vergrößert sich die Datenmenge nur in vertretbarem Umfang. Da darüber hinaus das Runden und Skalieren kontextabhängig durchgeführt wird, wird sichergestellt, daß an den Zellgrenzen ungewollte Veränderungen der geometrischen Strukturen unterbleiben.

Vorzugsweise wird nach dem Bestimmen der Zellvarianten geprüft, ob für Zellinstanziierungen mit unterschiedlichem Kontext sich identische Zellvarianten ergeben haben und es werden diese identischen Zellvarianten eliminiert. Auf diese Weise läßt sich die Datenmenge und damit der erforderliche Speicherbedarf des Verfahrens reduzieren.

Das Verfahren ist anwendbar, wenn sich die Gitterkonstanten in dem ersten Gitter und dem zweiten Gitter unterscheiden. Es ist ebenfalls anwendbar, wenn die Daten des Layouts durch eine Skalierung so verändert wurden, daß die skalierten Gitterpunkte des ersten Gitters sich von den Gitterpunkten des zweiten Gitters unterscheiden. Dabei können die Gitterkonstanten in dem ersten Gitter und dem zweiten Gitter gleich sein.

Vorzugsweise werden die Zellvarianten so instanziiert, daß die optimierten Daten für die Maske die gleichen geometrischen Strukturen ergeben, die ein Skalieren und Runden von ausgeflachten Daten für das Layout ergibt.

Vorzugsweise wird der Kontext der Zellinstanziierungen durch eine Transformation in Bezug auf die hierarchisch nächsthöhere Zelle, die häufig als Topzelle bezeichnet wird, und durch eine Verschiebung der Lage des Instanziierungspunktes im zweiten Gitter in Gittereinheiten des skalierten ersten Gitters beschrieben. Die Transformation wird dabei zum Beispiel durch Rotationen um ganzzahlige Vielfache von π/2 und Spiegelungen an Koordinatenachsen gebildet.

Gemäß einer Ausgestaltung der Erfindung wird als Rundungsfunktion ein Runden auf den nächstgelegenen Gitterpunkt des zweiten Gitters verwendet, wobei für den Fall, daß eine zu rundende Koordinate genau in die Mitte zwischen zwei Gitterpunkte des zweiten Gitters fällt, die Koordinate auf den zahlenmäßig größeren Gitterpunkt gerundet wird.

Die Daten für die Maske werden nachfolgend zur Ansteuerung für ein Maskenschreibgerät verwendet. Dabei liegt es im Rahmen der Erfindung, die Daten für die Maske durch Transformation auf ein anderes Format zu überführen, das in das Maskenschreibgerät eingelesen wird. Bei dieser Transformation wird nur das Datenformat beeinflußt.

Mit diesem Verfahren werden ungewollte Veränderungen der Daten für die Maske vermieden. Die Daten für die Maske können in einer einzigen Datei verarbeitet werden. Die hierarchische Beschreibung der Daten des Layouts bleibt erhalten, so daß Bearbeitungsschritte dieser Daten effizient durchgeführt werden. Damit sind weitere datentechnische Bearbeitungen der Daten für die Maske, wie zum Beispiel eine physikalische Verifikation, möglich.

Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels und der Figuren näher erläutert.

Fig. 1 zeigt einen Layoutausschnitt vor dem Runden in einem ersten Gitter.

Fig. 2 zeigt die Daten für eine Maske nach dem Runden in einem zweiten Gitter.

Daten für ein Layout, die beispielsweise im Datenformat GDSII, das zum Beispiel in "Stream Format", Design Data Translators Reference, December 1995, S. A-1 ff von VSI Alliance beschrieben ist, vorliegen, werden in einen Rechner eingelesen. Nachfolgend wird für jede Zelle der Kontext aller Zellinstanziierungen bestimmt. Der Kontext wird zusammengesetzt aus der Transformation der Zellinstanziierung in Bezug zur nächsthöheren Zelle und einem Offset, der die Lage des Instanziierungspunkts im zweiten Gitter in Gittereinheit des skalierten ersten Gitters beschreibt. Die Transformation wird auf die Gruppe von Transformationen beschränkt, die durch Rotation um ein ganzzahliges Vielfaches von π/2 sowie Spiegelungen an den Koordinatenachsen gebildet wird. Nachfolgend werden die Zellvarianten generiert. Eine Zellvariante beinhaltet dabei alle Ebenen der Zelle, von der sie abgeleitet wurde. Nachfolgend werden identische Zellvarianten bestimmt und eliminiert.

Die Zellvarianten stellen die Daten für eine Maske dar. Nach Transformation dieser Daten in das Format GDSII werden in einem Maskenschreibgerät mit Hilfe dieser Daten Masken geschrieben.

Die Bestimmung aller notwendigen Zellvarianten erfolgt nach folgendem Pseudocode:

Wähle die Zelle der obersten Ebene der hierarchischen Beschreibung als aktuelle Zelle und setze den Kontext dieser Zelle als aktuellen Kontext.

Für alle Instanziierungen der betrachteten Zelle:

Bestimme den Kontext der Instanziierung aus ihrer Transformation und dem aktuellen Kontext.

Falls noch keine zu generierende Zellvariante für diese Zelle in diesem Kontext gefunden wurde.

Speichere diese zu generierende Variante.

Wiederholung der letzten drei Schritte für die betrachtete Instanziierung mit Hilfe des berechneten Kontexts.

Das Ergebnis dieses Pseudocodes ist die Menge der maximal zu erzeugenden Zellvarianten.

Zur Generierung aller Zellvarianten und Eliminierung identischer Zellvarianten wird folgender Pseudocode durchgeführt:

Für alle Zellen in einer Reihenfolge von der untersten hierarchischen Ebene zur obersten hierarchischen Ebene (sogenannte Reverse Topological Order oder umgekehrte topologische Ordnung):

Für alle Zellvarianten der aktuellen Zelle:

Skaliere und runde die Koordinaten der Geometrie der Zelle mit der Rundungsfunktion. Dabei ist der Kontext ein Argument der Rundungsfunktion.

Bestimme die Zellvarianten von Zellen, die in der aktuellen Zelle instanziiert sind, aus deren Transformation und dem Kontext der Zellinstanziierung. Falls eine Zellvariante mit dieser Geometrie und diesen instanziierten Subzellvarianten noch nicht generiert wurde.

Gebe diese Zellvariante aus.

Speichere einen Verweis auf die generierte Zellvariante.

Eine in einer Zelle instanziierte Zelle wird vielfach auch als Subzelle bezeichnet. In der hierarchischen Beschreibung des Layouts ist die in einer Zelle instanziierte Zelle um eine hierarchische Ebene tiefer als die Zelle einzuordnen.

Das Ergebnis dieses Pseudocodes ist eine Zellvariante der Zelle der obersten hierarchischen Ebene (sogenannte Topzelle), die die optimierten Daten für die Maske beinhaltet.

Zur Vereinfachung des Rechenvorgangs werden vergrößerte und um einen Winkel verschieden von 90° gedrehte Zellen ebenfalls als Zellvarianten behandelt.

Um eine kompakte Beschreibungsform von zweidimensionalen Feldern (Arrays) einer Zelle beim Runden zu erreichen, können neue Zellen generiert werden, die Teilfelder von Zellvarianten des Zellenfeldes beinhalten. Das ursprüngliche Feld der Zellen wird dann nur durch ein oder mehrere Felder dieser neu generierten Zellen ersetzt.

Zur Veranschaulichung ist in Fig. 1 ein Layout dargestellt, in dem eine Zelle, die ein F-förmiges Polygon beinhaltet, viermal in einer Topzelle instanziiert ist. Die verschiedenen Instanziierungen der Zelle sind in Fig. 1 mit Z1, Z2, Z3, Z4 bezeichnet. Die Daten des Layouts liegen in einem ersten Gitter vor, das eine Gitterkonstante G1 von 0,5 µm aufweist. Zu jeder Instanziierung Z1, Z2, Z3, Z4 ist ein lokales Koordinatensystem K1, K2, K3, K4 eingetragen.

Aus den Daten für das Layout werden durch Skalieren und Runden auf ein zweites Gitter mit einer Gitterkonstante G2 von 1 µm mit Hilfe des oben erläuterten Verfahrens Daten für eine Maske generiert. Es werden kontextabhängige Zellvarianten mit den Instanziierungen Z1', Z2', Z3', Z4' generiert. Das Ergebnis ist in Fig. 2 dargestellt, wobei die lokalen Koordinatensysteme K1, K2, K3, K4 eingetragen sind. Ein Vergleich mit Fig. 1 zeigt, daß je nach Kontext das F-förmige Polygon unterschiedlich gerundet wird. Es werden drei unterschiedliche Zellvarianten benötigt.

Werden in einem Layout, dessen Daten in einem ersten Gitter mit einer Gitterkonstante von 1 nm vorliegt und dessen Dateigröße in GDSII-Format 49,1 MB beträgt, die Daten mit einem Skalierungsfaktor von 0,11 skaliert, so ist zur Bestimmung der Daten für eine Maske in einem zweiten Gitter mit einer Gitterkonstante von 1 nm eine Datei von 66,8 MB im GDSII- Format abzuspeichern. Zum Vergleich: wird das gleiche Problem durch Ausflachen der hierarchischen Daten des Layouts und anschließendes Skalieren und Runden bearbeitet, so ergibt sich eine Dateigröße von > 2 GB im GDSII-Format.

Wird ein weiteres Layout, dessen Daten in einem ersten Gitter mit einer Gitterkonstante von 1 nm und einer Dateigröße im GDSII-Format von 234,7 MB vorliegt, mit dem Faktor 1 skaliert und werden dazu Daten für eine Maske in einem zweiten Gitter mit einer Gitterkonstanten von 10 nm bestimmt, so weist die Datei der Daten für die Maske im GDSII-Format eine Größe von 317,8 MB auf. Zum Vergleich: die Dateigröße, die bei Ausflachen der hierarchischen Daten des Layouts und anschließendem Runden und Skalieren erzielt wird, beträgt 892 MB.


Anspruch[de]
  1. 1. Verfahren zur Bestimmung von Daten für eine Maske mit Hilfe eines Rechners,
    1. - bei dem Daten eines Layouts in hierarchischer Form durch Zellen und Zellinstanziierungen beschrieben werden,
    2. - bei dem die Daten des Layouts in einem ersten Gitter vorliegen,
    3. - bei dem die Daten für die Maske in einem zweiten Gitter generiert werden,
    4. - bei dem für die Zellinstanziierungen jeweils der Kontext in dem zweiten Gitter bestimmt wird,
    5. - bei dem für jede Zelle Zellinstanziierungen mit unterschiedlichem Kontext bestimmt werden,
    6. - bei dem für jede Zelle je Zellinstanziierung mit unterschiedlichem Kontext durch Runden und Skalieren eine Zellvariante bestimmt wird, die die Daten für die Maske im zweiten Gitter enthält, wobei das Runden und Skalieren kontextabhängig durchgeführt wird.
  2. 2. Verfahren nach Anspruch 1, bei dem identische Zellvarianten eliminiert werden.
  3. 3. Verfahren nach Anspruch 1 oder 2, bei dem sich die Gitterkonstanten in dem ersten Gitter und dem zweiten Gitter unterscheiden.
  4. 4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die Zellvarianten so instanziiert werden, daß die Daten für die Maske die gleichen geometrischen Strukturen ergeben, die ein Skalieren und Runden der flachen Daten für das Layout ergibt.
  5. 5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem der Kontext der Zellinstanziierungen durch eine Transformation im Bezug auf die hierarchisch nächsthöhere Zelle und durch eine Verschiebung der Lage des Instanziierungspunktes im zweiten Gitter in Gittereinheiten des skalierten ersten Gitters beschrieben wird.
  6. 6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem als Rundungsfunktion ein Runden auf den nächstgelegenen Gitterpunkt des zweiten Gitters verwendet wird, wobei für den Fall, daß eine zu rundende Koordinate genau in die Mitte zwischen zwei Gitterpunkte des zweiten Gitters fällt, die Koordinate auf den zahlenmäßig größeren Gitterpunkt gerundet wird.
  7. 7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die Daten für die Maske zur Ansteuerung für ein Maskenschreibgerät verwendet werden.
  8. 8. Verfahren nach Anspruch 7, bei dem die Daten für die Maske nach Transformation auf ein anderes Format in das Maskenschreibgerät eingelesen werden.
  9. 9. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 8 bei der Herstellung einer Maske.
  10. 10. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 8 bei der Herstellung einer integrierten Schaltung.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com