-
Die
Erfindung betrifft ein Verfahren zur Prüfung des Layouts einer elektronischen
Schaltung nach dem Oberbegriff des Anspruchs 1 und eine Vorrichtung
zur Prüfung
einer elektronischen Schaltung nach Anspruch 13 und einer Verwendung
nach Anspruch 14.
-
Am
Anfang des Herstellungsprozesses hochintegrierter elektronischer
Schaltungen für
Halbleiterbauelemente (z.B. DRAM) steht der Layoutentwurf, durch
den die Funktionalität
der Schaltung bestimmt wird. Durch das Layout wird die physische Umsetzung
der Schaltung, z.B. auf einem Silizium-Wafer, festgelegt.
-
Bekannte
Verfahren zur Herstellung der Schaltung auf dem Wafer basieren auf
Lithographie, d.h. dass unter anderem das Schaltungslayout erst auf
eine Maske und anschließend
durch Belichtung der Maske auf dem Wafer abgebildet wird.
-
Die
Herstellung eines Chips erfolgt in vielen Schritten. Jeder der Herstellungsschritte
weist eine intrinsische Ungenauigkeit auf, die idealerweise bereits
beim Layoutentwurf berücksichtigt
werden sollte. Dazu werden Regeln bereitgestellt (so genannte Design-
oder Layoutregeln), die beim Layoutentwurf beachtet werden müssen, um
eine tatsächliche
spätere
Herstellbarkeit des Layouts sicherzustellen. Beispielsweise können solche
Layoutregeln den Mindestabstand zweier Transistoren oder die Breite
von Metallbahnen bestimmen.
-
Nach
Fertigstellung des Layoutentwurfes wird das Layout nach diesen Layoutregeln
(DRC design rule check) geprüft
und gegebenenfalls korrigiert. Dieser Schritt wird Verifikation genannt
und wird durch Computer durchgeführt.
Da die Bauelemente einer integrierten Schaltung im Layout durch
Polygone dargestellt sind, beziehen sich die Layoutregeln auf die
geometrischen Eigenschaften der Polygone sowie deren geometrische
Verhältnisse
untereinander. Beispielsweise ist eine aus einem p-leitenden und
einem n-leitenden Gebiet bestehende Diode im Layout durch aneinander
stoßende
Rechtecke dargestellt.
-
Eine
Layoutregel kann sich im einfachsten Fall auf ein einziges Maß beziehen.
Komplexe Layoutregeln hingegen stellen eine große Anzahl von Maßen zueinander
in Beziehung.
-
Komplexe
Layoutregeln sind meist nur unter Verwendung zahlreicher Befehle
zu formulieren, wodurch die Rechenzeit in einem unerwünschten
Maß zunimmt.
Manche Layoutregeln sind gar so formuliert, dass der Befehlssatz
der Verifikationssoftware nicht ausreicht und so genannte Dummyfehler
(vermeintliche Fehler) in Kauf genommen werden müssen. Dummyfehler bedeuten,
dass die geometrischen Regeln nicht mehr in allen Bereichen eines Chiplayouts
gelten.
-
Dabei
besteht das Problem, dass bei vielen komplexen Prozessen die Anzahl
der Dummyfehler so stark ansteigt, dass die „wahren" Fehler nicht mehr erkannt werden.
-
Ein
weiteres Problem ist, dass in der Praxis die Verifikation eines
Layouts in manchen Bereichen mit einer Lithographiesimulation erfolgen
muss, da eine Verifikation mit konventionellen DRC nicht mehr ausreicht.
Somit werden zwei nicht miteinander integrierte Verfahren für die Verifikation
benötigt,
was den Verifikationsaufwand in die Höhe treibt. Ferner ist die Korrektheit
eines Layouts nicht mehr eindeutig nachweisbar, da unterschiedliche
Verifikationen herangezogen werden.
-
Diese
Probleme führen
dazu, dass manuelle Inspektionen oder andere „Ausnahmebehandlungen" vorgenommen werden
müssen.
Dazu dienen handgezeichnete Waiverebenen oder die Katalogisierung von
bekannten Fehlermustern.
-
Die
vorliegende Erfindung hat zur Aufgabe, diese Probleme zumindest
abzumindern. Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene
Erfindung gelöst.
Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu
entnehmen.
-
Die
Erfindung wird nachfolgend unter Bezugnahme auf die Figuren der
Zeichnungen an mehreren Ausführungsbeispielen
näher erläutert. Es
zeigen:
-
1 eine Übersicht über den
Ablauf einer Ausführungsform
des erfindungsgemäßen Verfahrens;
-
2 eine Übersicht über den
ersten Programmblock einer Ausführungsform;
-
3 ein
Beispiel für
ein Layout mit Wiederholungen von Strukturen;
-
4 das
Beispiel der 4 ohne Wiederholungen;
-
5A,
B Darstellungen einer hierarchischen Struktur mit vier Instanzen
einer Zelle;
-
6A bis 6E Schritte
zur Generierung einer Zellklasse;
-
7A bis 7D Schritte
zur Generierung einer Umgebung;
-
8A bis 8D Beispiele
für drei
Zellklassen;
-
9A,
B Beispiele für
Zellcluster;
-
10 Beispiel
für die
Klassen-Repräsentanten;
-
11 Beispiel
für Referenzzelle;
-
12 Übersicht über den
zweiten Programmblock, Pre-DRC;
-
13A, B Beispiel für Cell-Mismatches (Unterschiede);
-
14A bis 14D Beispiel
für einen
Umgebungs-Mismatch;
-
15 Venn-Diagramm
zur Illustration der Matches und Mismatches (Unterschiede);
-
16A bis 16C Beispiel
für eine
Abdeckung;
-
17A bis 17C Beispiel
für einen DRC-Schritt
nach einem PreDRC-Schritt.
-
Im
Folgenden wird ohne Einschränkung
der Allgemeinheit beispielhaft ein Array als Spezialfall eines Layouts
zur Beschreibung verwendet. Unter einem Array wird hier ein sehr
regelmäßiges Layout verstanden,
wie z.B. ein Speicherfeld eines DRAM-Speicherchips. In 3 ist
ein solches Array dargestellt. Das Verfahren und auch die Vorrichtung sind
für Layouts
allgemein anwendbar.
-
Die
hier beschriebenen Ausführungsformen des
erfindungsgemäßen Verfahrens
gehen von drei Verifikationsschritten A, B, C aus, die im Folgenden detaillierter
beschrieben werden.
- A) Eine Abdeckungsprüfung prüft, wie
weit ein Layout durch Simulationen abgedeckt werden muss. Dabei
wird für
eine Fehlersuche gespeichert, was simulierbar ist oder simuliert ist.
Dazu wird die simulierte Layout Geometrie in einer Zellendatenbank 13 (LibOut)
gespeichert.
- B) Die Zellendatenbank 13 (LibOut) wird u.a. in einem
nachfolgenden Schritt, dem Pre Design-Rule Check (PreDRC) verwendet.
- C) Anschließend
findet vorteilhafterweise ein konventioneller und/oder auch modifizierter
Design Rule Check (DRC) statt.
-
Alle
drei Schritte (A, B, C) werden im Folgenden detailliert beschrieben.
Wesentlich ist vor allem die Kombination der ersten beiden Verifikationsschritte
A, B. Bevor die Schritte A, B, C beschrieben werden, wird anhand
von 1 das Zusammenwirken dieser Schritte dargestellt.
-
In 1 ist
dargestellt, dass der wesentliche Input für den Schritt A (die Abdeckungsprüfung) das Einlesen
eines oder auch mehrerer Layouts 10 und der Zellenliste 11 ist.
-
Ziel
der Abdeckungsprüfung
A ist es, Umgebungen zu finden, in denen Zellen immer wieder vorkommen,
so dass die nachfolgenden Schritte vereinfacht werden können.
-
Als
Output werden Layout-Clips 12 generiert.
-
Wichtig
für das
Folgende ist die Generierung einer Datenbank u.a. mit den Umgebungen
der Zellen, der Zellen-Datenbank (LibOut) 13. Ferner enthält die Zellen-Datenbank
(LibOut) 13 Klassen, die bei der Abdeckungsprüfung A ermittelt
wurden.
-
Diese
Zellen-Datenbank (LibOut) 13 wird dann zusammen mit einem
zu prüfenden
Layout 10' im
PreDRC eingelesen (siehe 12). Dabei
findet ein Vergleich des zu prüfenden
Layouts und der Zellen-Datenbank (LibOut) statt. Das zu prüfende Layout 10' kann zum Beispiel
eine Weiterentwicklung eines bereits früher untersuchten Layouts 10 sein,
wobei Teile des früheren
Layouts 10 in das zu untersuchende Layout 10' übernommen
wurden.
-
Schließlich folgt
als vorteilhafter Schritt ein an sich bekannter DRC als Schritt
C. Dabei können bestimmte
DRC Regeln übersprungen
werden, wenn die Zellen im zu untersuchenden Layout 10' mit denen der
Zellen-Datenbank (LibOut) 13 übereinstimmen.
-
Dabei
wird jeweils vorausgesetzt, dass die Ausführung der Schritte automatisch
erfolgt, d.h. durch ein Computerprogramm oder einen Mikroprozessor.
-
A) Abdeckungsprüfung (siehe 2)
-
Die
Abdeckungsprüfung
A geht von folgendem Input aus:
- – Einer
Zellenliste 11. Die Zellenliste 11 enthält bereits
eine Liste von Zellen, die simuliert werden sollen. Zellen, die
nur mittels geometrischer Regeln geprüft werden sollen, sind in dieser
Zellenliste nicht enthalten.
- – Einer
Darstellung eines Layouts 10, z.B. in Form einer DFII Datenbank.
- – Dem
Namen einer Top-Zelle 15 im Layout 10 und die
Bestimmung mindestens eines Check-Lagers 16 (d.h. der Bezeichnung
des gerade geprüften
Lagers).
-
Mit
diesem Input werden die folgenden drei Schritte ausgeführt:
-
1. Bildung einer Abdeckungsliste 21 aus
der Zellenliste 11.
-
Die
Abdeckungsliste 21 wird aus der Zellenliste 11 generiert,
aus der die Hüllflächen (bounding boxes)
der Zellen bestimmbar sind. Die abgedeckte Fläche im zu simulierenden Lager
wird dann aus den Hüllflächen errechnet.
Das erhaltene Lager stellt dann diese Teile des gesamten Layouts
dar, die durch die Simulation abgedeckt werden und die nicht mittels
eines üblichen
DRC geprüft
werden.
-
In 3 ist
eine Übersichtsdarstellung
eines Arrays 100 gegeben, bei dem der größte Teil 101 des Arrays
für eine
Simulation vorgesehen ist. Da das Array sehr regulär aufgebaut
ist, d.h. sehr viele Wiederholungen vorkommen, müssen nur bestimmte Zellen des
Arrays simuliert werden, beispielsweise Word-Line Driver oder Sense-Amplifier.
-
In 4 ist
das Array gemäß 3 dargestellt,
wobei die Zellinstanzen 101 weggelassen wurden, die nicht
mehr simuliert werden müssen,
da Wiederholungen vorliegen. Die im Folgenden beschriebenen Schritte
dienen u.a. dazu, eine Datenbasis zu erstellen, die diese Wiederholungen
aufzeigt und späteren
Verfahrensschritten B, C zur Verfügung stellt. Gerade hier zeigen
sich die vorteilhaften Wirkungen der vorliegenden Erfindung.
-
2. Klassifizierung der Zellen (Verfahrensschritt 22 in 2).
-
Wenn
eine Abdeckung durch eine Anzahl von Zellen definiert ist, wird
jede Instanz jeder ausgewählten
Zelle in ihrer speziellen Umgebung analysiert. Instanzen innerhalb
der gleichen Umgebung werden automatisch jeweils einer Zellen-Umgebungklasse zu
geordnet, was im Folgenden einzeln beschrieben wird.
-
Für jede Zelle
in der Zellenliste wird eine Umgebung für jede flache Instanz innerhalb
einer Top-Zelle generiert. In 5A ist
eine hierarchische Struktur einer beispielhaften Anordnung von Zellen
L, C, R, B, F eines Layouts dargestellt. Die Zelle F ist jeweils
in Zelle B instantiiert. Die Zellen B sind Parent-Zellen für die Zellen
F. Die Zellen C sind Parent-Zellen für die Zellen B. Die TOP Zelle
ist die Parent-Zelle
für die
Zellen L, C und R.
-
In 5B ist
die hierarchische Zellenstruktur in einer anderen Darstellung wiedergegeben,
die Verdrahtungen der Zellen deutlich macht. In beiden Fällen gibt
es vier Instanzen der Zelle F innerhalb der TOP Hierarchie.
-
Für die weitere
Betrachtung werden die Begriffe des Check-Layers und des Referenz-Lagers eingeführt. Das
Check-Lager ist das Lager, für
das eine Lithographie Simulation durchgeführt werden soll.
-
Referenz-Lager
sind Lager, die für
die Beurteilung des Simulationsergebnisses notwendig sind. Das Referenz-Lager
ist z.B. eine Kontaktlochebene, auf der geprüft wird, ob ein simuliertes
Layout tatsächlich
auch funktioniert.
-
In
Zusammenhang mit den 6A bis 6E und 7A bis 7D werden
die einzelnen Schritte zum Aufbau der Zellenumgebung dargestellt.
-
6A stellt
die gleiche Struktur wie die 5B dar,
wobei das Check-Lager, d.h. die Verbindung zwischen den einzelnen
Zellen, dargestellt sind.
-
In
einem ersten Schritt wird für
jede Zelle in den Check-Layers
und Referenz-Lagers ein Zellenrand (bounding box) bestimmt (in 6A bis 6E beispielhaft
fett dargestellte Umrandung für
die linke Instanz der Zelle F). Der Zellenrand schließt insbesondere
alle Shapes (z.B. einen Kontakt oder eine Leitung) ein, die sich
in der Zelle befinden.
-
Anschließend wird
um jeden Zellenrand eine Halo gebildet, indem der Zellenrand um
einen vorbestimmten Offset H vergrößert wird. In 6A, 6C, 6D und 6E ist
dies durch einen gestrichelten Kasten angedeutet. Der Offset H ist
in 6A dargestellt. Das Offset kann z.B. 1 bis 2 μm betragen.
-
6B zeigt
eine auseinander gezogene Darstellung der einzelnen Zellen mit deren
Verbindungen. 6C zeigt die Halo um die erste
Instanz der Zelle F zusammen mit inneren Verdrahtungen.
-
Als
Nächstes
werden geometrisch benachbarten Zellen automatisch untersucht, indem
alle Teile von Shapes, die innerhalb der Halo liegen, der Zelle
zugerechnet werden, alle Teile von Shapes, die außerhalb
der Halo liegen, werden abgeschnitten. 6D zeigt
den Zustand vor dem Abschneiden, 6E den
Zustand danach. Die Zelle wird nun nur noch ohne die inneren Verdrahtungen
betrachtet (vergleiche z.B. 6C mit 6E),
indem diese Verdrahtungen aus der Darstellung entfernt werden.
-
Dieses
Vorgehen wird in Zusammenhang mit den 7A, 7B, 7C und 7D beschrieben.
In 7A, 78, 7C, 7D ist
zusätzlich
zu dem Check-Lager noch das Referenz-Lager dargestellt.
-
In 7A ist
die gleiche Zelle wie in 6C dargestellt,
d.h. einschließlich
der inneren Verdrahtungen. In 7B ist
die Zelle ohne die inneren Verdrahtungen, aber mit den Shapes dargestellt,
die sich aus den Überlappungen
mit benachbarten Zellen ergeben. In 7C sind
nur die inneren Verdrahtungen der Zelle dargestellt. In einem ersten
Schritt wird ein Clipping am gestrichelten Rechteck der 7A und 7B durchgeführt, so
dass in 7D keine Shapes außerhalb
des gestrichelten Randes vorkommen. Zieht man die Strukturen der 7C in
jeder Ebene für
sich von dem geclippten Zwischenergebnis ab (logisches UND NICHT),
so bleibt eine Zelle ohne innere Verdrahtungen übrig (Es bleibt lediglich ein
Kontakt übrig,
der durch ein Quadrat dargestellt ist), wobei innerhalb der Halo
die Verbindungen noch bestehen bleiben. Die 7D entspricht
der 6E.
-
Diese
Schritte werden für
alle Referenz-Lagers wiederholt.
-
Diese
reduzierte Repräsentation
der Zelle wird als Umgebung bezeichnet.
-
Diese
Umgebungen werden normalisiert, z.B. werden alle Shapes der Umgebung
in das Koordinatensystem der Zelle transformiert. Dies geschieht,
um geometrische Verhältnisse
für eine
Klasseneinteilung vergleichbar zu machen. Dazu gehört die Wahl
eines geeigneten Koordinatensystems.
-
Es
zeigt sich, dass in einem Array sehr viele Zellen die gleiche Umgebung
aufweisen, d.h. die Zelle gemäß 6E stellt
z.B. einen allgemeinen Typus dar, der auch an anderen Stellen des
Arrays vorkommt.
-
Ausgehend
von diesen Umgebungen für jede
Instanz werden nun Klassen gebildet. Auf Grund der vorgenommenen
Normalisierung sind die Zellen untereinander vergleichbar. Ein Vergleich
ermöglicht, dass
die flachen Zell-Instanzen in Zellen-Umgebungs-Klassen eingeteilt werden
können.
Alle Zell-Instanzen
einer Klasse haben die gleiche Umgebung (siehe z.B. 6E).
Umgekehrt haben Zell-Instanzen unterschiedlicher Klassen unterschiedliche Umgebungen.
-
Die
Einteilung der Instanzen in Klassen ist in 8A, 8B, 8C und 8D dargestellt.
In 8A ist das Layout analog der 5A oder 6A dargestellt.
Hier ist interessant, dass vier Instanzen der Zelle F in drei Klassen
eingruppiert werden können.
Die beiden mittleren Zellen F (8C) gehören derselben
Klasse an.
-
Für jede Klasse
wird ein Klassenrepräsentant 102 im
ausgeflachten Layout (siehe 10 doppelt
schraffierte Bereiche) gewählt.
Damit kann eine Klasse von Zellen gezielt an einem Beispiel simuliert werden,
was Zeitersparnis bringt.
-
3. Bestimmung von Ausschnitten, insbesondere Clustern,
im Array
-
Zur
Vereinfachung der Simulation ist es vorteilhaft, mehrere Zellen
zusammenzufassen. Wie zuvor beschrieben, werden dazu mehrere Klassenrepräsentanten
ausgewählt.
Einander räumlich
benachbarte Klassenrepräsentanten 102 werden
zu Clustern 103 (einfach schraffierte Felder in 10) zusammengefasst,
so dass diese Cluster als Ganzes einer Simulation unterzogen werden
können.
-
Wenn
zwei Klassenrepräsentanten 102 sich überlappen
oder einen geringeren Abstand haben, als ein Offset einer Halo,
werden sie zu einem Cluster zusammengefasst. Anders formuliert,
zwei Instanzen von unterschiedlichen Clustern 103 werden
immer mindestens durch einen Halo Offset voneinander getrennt.
-
In 9A werden
die drei Zellrepräsentanten 102 (siehe 8B, 8C, 8D)
zu einem Cluster zusammengefasst.
-
In 9B wird
ein anderes Beispiel für
einen Cluster angegeben, der durch einen bestimmten Abstand der
Halo charakterisiert wird.
-
In 10 ist
die gleiche Ansicht wie in 3 und 4 dargestellt,
wobei die Cluster 103 (schraffierte Felder) und die Klassenrepräsentanten 102 (doppelt
schraffierte Felder) dargestellt sind.
-
Jede
Klassen-Zelle enthält
die Geometrie der entsprechenden Klasse, die Zellenbegrenzung (ein
Rechteck) und eine Instanz einer Referenzzelle der klassifizierten
Zelle (automatische Auswahl). Diese Instanz wird an den Ursprung
der klassifizierten Zelle gesetzt (11).
-
Am
Ende der drei Schritte wird das Ergebnis automatisch in der Klassen-Datenbank
(LibOut) 13 gespeichert. Die Klassen-Datenbank (LibOut) 13 enthält neben
Informationen über
die ermittelten Zellenklassen auch Simulationsdaten. Die für die Ausführungsformen
der Erfindung wesentlichen Zellenklassen beschreiben alle Umgebungsklassen,
die nach dem oben beschriebenen Verfahren ermittelt wurden.
-
Es
ist für
die hier beschriebene Ausführungsform
der Erfindung wesentlich, dass ein zu prüfendes Layout 10' unter Verwendung
der Klassen-Datenbank 13 (LibOut) (das Daten auch über andere
Layouts enthält)
einer Überprüfung unterzogen
wird, die dem eigentlichen DRC vorgelagert ist (siehe 1); dem
Pre-DRC (siehe 12).
-
Der
Pre-DRC (Verfahrensschritt B in 1) umfasst
vorteilhafterweise folgende Schritte (siehe 12):
- a) Auslesen 31 der Klassen-Datenbank
(LibOut) 13. Die Klassen-Datenbank (LibOut) 13 wird
als Referenz-Layout 17 für die Überprüfung verwendet. Ausgelesen
werden ferner der Name der Top-Zelle 15 und die Zellenliste 11,
die in einem früheren
Lauf mit einem der vorgehenden Schritte (2 bis 10)
ermittelt worden waren. Auch erfolgt ein Einlesen des zu untersuchenden
Layouts 10' eines
Chips.
- b) Automatisches Vergleichen 32 jeder Referenzzelle
in der Klassen-Datenbank (LibOut) 13 mit der entsprechenden
Zelle auf dem zu untersuchenden Layout 10' des Chip. Die Referenzzelle dient
dazu, eine Vorlage für
den Vergleich zu haben, wobei eine beim Vergleich ermittelte Abweichung
als Fehler aufgefasst wird. Ein Beispiel ist, dass als Referenz-Layout 10 (in
der LibOut enthalten) ein Speicherbaustein für 512 MB verwendet wird, wobei
das zu untersuchende Layout 10' ein 1 GB Layout aufweist. Auch
wenn die beiden Layouts 10, 10' sehr unterschiedlich sind, findet sich
doch eine große Übereinstimmung
einzelner Zellenklassen, so dass die Simulation des 1 GB Layouts
vereinfacht wird. Durch die Verwendung des PreDRC kann der Aufwand
erheblich verringert werden.
- c) Automatische Ermittlung 33 neuer Klassen für alle Zellen
in der Zellenliste 11 mit dem Chip als Topzelle. Für die Ermittlung
der Klassen werden die gleichen Methoden verwendet, die oben u.a. im
Zusammenhang mit 8 beschrieben wurden.
Dabei geht der PreDRC von den bekannten Zellenklassen aus.
- d) Automatische Ermittlung von Unterschieden 35 zwischen
der Klassen-Datenbank (LibOut) 13 (d.h. des Referenz-Layouts),
der Zellenliste 11 und dem zu untersuchenden Chip-Layout 10'. Die Unterschiede
(wie z.B. im obigen Beispiel erläutert)
werden anhand der 13, 14 und 15 näher beschrieben.
- e) Automatische Bestimmung einer Abdeckungsfläche 34 (siehe
z.B. 16).
-
Der
Schritt e) kann auch vor Schritt d) ausgeführt werden. Alternativ können beide
Schritte auch parallel ausgeführt
werden.
-
Im
Folgenden wird auf drei Unterschiede (mismatches) eingegangen, die
durch den PreDRC ermittelt werden.
-
In 13 ist ein Zellen-Layout Unterschied dargestellt.
Ein Zellen-Layout Unterschied liegt vor, wenn sich die Geometrie
des Zellen-Layouts auf dem Chip von der Geometrie der Referenzzelle
(11) in der Zellen-Datenbank (LibOut) 13 unterscheidet. Wenn
ein solcher Unterschied auftritt, bedeutet dies, dass die Zellen-Datenbank
nicht das gleiche Array/Layout beschreibt, das untersucht wird;
es muss etwas korrigiert werden.
-
Der
Unterschied zwischen den Layouts 10, 10' werden z.B.
mittels eines EXOR Schrittes bestimmt.
-
In 13A ist dargestellt, dass in der Zellen-Datenbank
(LibOut) eine Referenzkopie einer Zelle F enthalten ist. In 13B sind zwei Zellen dargestellt, die sich in
dem zu untersuchenden Layout 10' finden. Beide unterscheiden sich
in ihrer Geometrie von der Referenzkopie, was zu einem Unterschied
führt,
der durch das PreDRC ermittelt wird.
-
Eine
andere Form eines zu ermittelnden Unterschiedes wird in 14 dargestellt. Dabei geht es um einen
Unterschied in den Umgebungen. Dies tritt auf, wenn bei der Untersuchung
des Layouts 10' eine Klasse
ermittelt wird, die nicht mit einer Klasse in der Zellen-Datenbank
(LibOut) 13 übereinstimmt.
-
In 14A ist das Layout 10 dargestellt, das zu
der Klassenbildung in der Zellen-Datenbank (LibOut) geführt hat
(14B). Es handelt sich um das Beispiel, das bereits
in Zusammenhang mit 8 dargestellt
worden war.
-
Bei
der Analyse des zu untersuchenden Layouts 10' des Chips (14C)
stellt sich heraus, dass eine Umgebung nicht mit einer Umgebung
in der Zellen-Datenbank (LibOut) 13 übereinstimmt. Dies ist eine
Instanz einer neuen Klasse. Wie oben erläutert, wird ein Unterschied
hier als Fehler gewertet, so dass eine gesonderte Prüfung notwendig
ist. Dies ist ein wesentliches Ergebnis der Ausführungsform des erfindungsgemäßen Verfahrens.
-
Ein
weiterer Unterschied, der durch den PreDRC ermittelt wird, sind
Unterschiede in den Zellenbezeichnungen, wobei die Unterschiede
zwischen dem zu prüfen
Layout und der Zellenliste und zwischen der Zellen-Datenbank (LibOut)
und der Zellenliste bestehen können.
-
Die
erste Menge 41 enthält
alle Zellenamen der Zellenliste, die zweite Menge 42 enthält alle
Zellennamen der Zellen-Datenbank
(LibOut), die dritte Menge 43 enthält alle Zellennamen des zu
untersuchenden Layouts.
-
Eine
vierte Menge 44 enthält
alle Zellen, die zwar in der Zellenliste genannt sind, aber nicht
im zu untersuchenden Layout 10' vorkommen.
-
Eine
fünfte
Menge 45 enthält
alle Zellen, die zwar in der LibOut enthalten sind, nicht aber in
der Zellenliste.
-
Eine
sechste Menge 46 enthält
alle Zellen, die zwar in dem zu untersuchenden Layout 10' und der Zellenliste
enthalten sind, nicht aber in der LibOut.
-
Die
vierte, fünfte
und sechste Menge 44, 45, 46 werden automatisch
als Unterschiede ermittelt und daher wie Fehler behandelt, die eine
Intervention eines Benutzers erfordern.
-
Die
Zellen, die zwar in der LibOut 13 vorkommen, nicht aber
in der Zellenliste, werden in dieser Ausführungsform nicht behandelt.
-
In 16A bis 16C wird
dargestellt, wie sich die Ermittlung einer neuen Klasse (d.h. eines Unterschiedes
zwischen dem vorab gespeicherten Layout 10 in der Zellen-Datenbank
LibOut 13 und dem zu untersuchenden Layout 10') auf die Bildung einer
Abdeckung auswirkt.
-
In 16A ist grundsätzlich
die gleiche Situation mit vier Instanzen der Zelle F dargestellt,
wie in 5. Allerdings ist die Umgebung
der zweiten Zelle F von rechts gegenüber der Vorlage modifiziert,
da ein rechteckiges Shape 200 (eingekreist) vorkommt. Dies
führt zu
einer neuen Klasse, die in der Zellendatenbank LibOut 13 nicht
enthalten ist.
-
In 16B ist die Abdeckung 201 (schraffiert)
dargestellt, dies sich aus der Abdeckungsprüfung (1, Schritt
A) ergeben hat). Der Unterschied hat die Folge, dass die Abdeckung 202 für das geänderte Layout
in 16C anders ist, d.h. die geänderte Zelle fällt nach
dem PreDRC (1, Schritt B) aus der Abdeckung 202 heraus,
da sie nicht mit dem Bekannten übereinstimmt.
Wie oben dargestellt, wird im PreDRC grundsätzlich der gleiche Klassenbildungsmechanismus
ausgeführt,
so dass die geänderte
Situation zu einer neuen Klasse führt.
-
Im
Anschluss an den PreDRC-Schritt (B) erfolgt ein an sich bekannter
Design-Rule Check (C), wobei Modifikationen vorgenommen werden können (siehe 1, 17).
-
Anhand
von 17A bis 17C wird
deutlich gemacht, welche Auswirkungen die effiziente Gestaltung
einer Abdeckung bei einem darauf folgenden DRC-Schritt hat.
-
In 17A ist schematisch ein Ausschnitt eines zu prüfenden Layouts 10' dargestellt.
Innerhalb des regelmäßigen zu
untersuchenden Musters des Layouts 10' liegen Bereiche, die als Fehler 400 identifiziert
wurden. Zwei Teile des zu untersuchenden Layouts 10' werden durch
Abdeckungen 201 erfasst, die nach den oben beschriebenen
Verfahren ermittelt wurden.
-
In 17B ist dargestellt, dass ein normaler DRC, d.h.
ohne Abdeckungen, alle Fehler, d.h. auch sehr viele Dummy-Errors,
berücksichtigen
müsste.
-
Verwendet
man hingegen die Abdeckungen 201, so wird anhand von 17C deutlich, dass Bereiche, deren Dummy-Fehler
nicht mehr untersucht werden müssen,
da sie von den Abdeckungen 201 erfasst sind, deutlich kleiner
sind. Die hier dargestellte Ausführungsform
geht davon aus, dass alle Dummy-Fehler,
die sich einer Abdeckung zuordnen lassen, herausfallen, so dass
sogar Dummy-Fehler, die zwischen den Abdeckungen 201 liegen,
herausfallen.
-
Die
Erfindung beschränkt
sich in ihrer Ausführung
nicht auf die vorstehend angegebenen bevorzugten Ausführungsbeispiele.
Vielmehr ist eine Anzahl von Varianten denkbar, die von dem erfindungsgemäßen Verfahren
und der erfindungsgemäßen Vorrichtung
auch bei grundsätzlich
anders gearteten Ausführungen
Gebrauch machen.