-
Die
Erfindung bezieht sich auf ein Verfahren zum Korrigieren von Layoutfehlern
eines Layouts, beispielsweise von Layoutfehlern in einem Layout
eines elektronischen Bauelements.
-
Aus
der deutschen Offenlegungsschrift
DE 102 24 417 A1 ist ein Verfahren zum Bilden
und Klassifizieren von Fehlermarkern bekannt. Bei diesem Verfahren
wird zusätzlich
zum eigentlichen Fehlerbereich die räumliche „Umgebung" der Layoutfehler berücksichtigt.
-
Die
US-Patentschrift 6,397,373 beschäftigt sich
damit, Probleme im Umgang mit einer hohen Anzahl von DR (Design-Rule- bzw. Design-Regel-)
Verletzungen innerhalb eines komplexen Layouts zu bewältigen.
Das Verfahren bezieht sich wie die eingangs erwähnte deutsche Offenlegungsschrift
ausschließlich
auf die Klassifizierung von Fehlern, nicht jedoch auf das Beheben
erkannter Fehler.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mit
dem Layoutfehler in einem Layout – beispielsweise im Layout
einer elektronischen Schaltung – mit
möglichst
geringem Aufwand korrigiert werden können.
-
Zur
Lösung
dieser Aufgabe ist erfindungsgemäß ein Verfahren
mit den Merkmalen gemäß Patentanspruch
1 vorgesehen. Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens
sind in Unteransprüchen
angegeben.
-
Danach
ist erfindungsgemäß vorgesehen, dass
zum Beheben von Layoutfehlern eines Layouts zunächst das Layout mit Hilfe vorgegebener
Design-Regeln auf das Vorliegen von Layoutfehlern hin untersucht
wird. Anschließend
werden identische Layoutfehler in jeweils ein und derselben Fehlerklasse
zusammengefasst. Danach werden alle noch nicht korrigierten Layoutfehler
einer Fehlerklasse automatisch ohne weitere Überprüfung in identischer Weise korrigiert,
sobald die Korrektur eines als Fehler-Repräsentant der jeweiligen Fehlerklasse
herangezogenen Layoutfehlers abgeschlossen ist.
-
Ein
wesentlicher Vorteil des erfindungsgemäßen Verfahrens ist darin zu
sehen, dass ein wiederholtes manuelles Durchführen identischer Korrekturschritte
zur Korrektur von identischen Layoutfehlern überflüssig ist; denn erfindungsgemäß werden alle
identischen Layoutfehler – also
alle Fehler derselben Fehlerklasse – automatisch beseitigt, sobald einer
der Fehler der jeweiligen Fehlerklasse – sei es gesteuert durch ein
Datenverarbeitungsprogramm oder manuell – beseitigt wird.
-
Mit
anderen Worten findet also eine Korrektur identischer DR-Verletzungen durch
ein automatisiertes Übertragen
der an einer einzigen Instanz (bzw. an einem einzigen fehlerbehafteten
Layoutelement) durchgeführten
Korrekturschritte auf alle Instanzen (bzw. alle fehlerbehafteten
Layoutelemente) der betreffenden Fehlerklasse statt. Dabei ist es
für das
erfindungsgemäße Verfahren
unerheblich, ob der auslösende „Startkorrekturschritt" mittels eines interaktiven
oder vollautomatischen Verfahrens durchgeführt wird; entscheidend ist
nur, dass nach Durchführung
einer einzigen Fehler-Korrektur
identische Fehler vollautomatisch in identischer Weise korrigiert
werden. Diese vollautomatische „Nachkorrektur" führt zu einem
Produktivitätsgewinn
im Entwurfsprozess durch die Einsparung manueller Layout-Korrekturschritte.
-
Die
Auswahl des Fehler-Repräsentanten
ist im Übrigen
beliebig; so kann der Fehler-Repräsentant von einem Layout-Ingenieur ausgewählt oder maschinell – zufällig oder
nach vorgegebenen Regeln – ausgewählt werden.
-
Besonders
einfach und damit vorteilhaft lässt sich
die automatische „Nachkorrektur" der übrigen Fehler
einer Fehlerklasse mittels einer elektronischen Datenverarbeitungsanlage
(DV-Anlage) durchführen.
-
Zum
Erkennen der Layoutfehler wird das Layout beispielsweise mit Hilfe
eines physikalischen Verifikationsprogrammes geprüft; mit
einem solchen Programm lassen sich physikalische Designfehler erkennen.
-
Das
erfindungsgemäße Verfahren
lässt sich beispielsweise
in Kombination mit allen DRC-artigen (DRC: Design-Rule-Correction)-Programmen,
wie sie u. a. beim Mask-Rule-Check (MRC)-Schritt innerhalb des Entwicklungsflows
von Halbleiterbauelementen eingesetzt werden, verwenden.
-
Um
eine räumliche
Zuordnung der erkannten Layoutfehler zum Gesamt-Layout und damit
zur Layouthierarchie besonders einfach zu ermöglichen, wird es als vorteilhaft
angesehen, wenn für
jeden Layoutfehler als Instanzinformation jeweils dessen hierarchischer
Fehlerort abgespeichert wird.
-
Falls
zum Layoutentwurf eine Layoutbibliothek verwendet wird, wird es
als vorteilhaft angesehen, wenn diese in entsprechender Weise korrigiert wird,
sofern Layoutfehler auf Layoutfehler der Layoutbibliothek zurückzuführen sind.
Zukünftige
identische Fehler lassen sich so vermeiden.
-
Vorzugsweise
werden gezielt Informationen über
den Layoutfehler und/oder über
die Umgebung des Layoutfehlers extrahiert; nachfolgend lässt sich dann
die Identität
der Layoutfehler besonders einfach ausschließlich anhand der extrahierten
Informationen feststellen. Dabei können die Informationen über den
Layoutfehler beispielsweise auch geometrische Muster oder geometrische
Objekte umfassen.
-
Bevorzugt
wird ein Mustervergleich durchgeführt, indem jedes geometrische
Muster bzw. Objekt vor dem Vergleich nach vorbestimmten Regeln normalisiert
wird. Bezüglich
des Normalisierens und Vergleichens von Mustern sei auf die eingangs
genannte deutsche Offenlegungsschrift
DE 102 24 417 A1 verwiesen,
in der ein „Normalisieren" zum Zwecke des Mustervergleichs
eingehend beschrieben ist.
-
Die
Erfindung bezieht sich außerdem
auf eine Datenverarbeitungsanlage zum Beheben von Layoutfehlern.
-
Bezüglich einer
solchen Datenverarbeitungsanlage liegt der Erfindung die Aufgabe
zugrunde, eine Anlage anzugeben, mit der die Korrektur von Layoutfehlern
in einem Layout beispielsweise einer elektronischen Schaltung bzw.
eines elektronischen Bauelements mit möglichst geringem Aufwand ermöglicht wird.
-
Diese
Aufgabe wird erfindungsgemäß durch eine
Datenverarbeitungsanlage mit den Merkmalen gemäß Patentanspruch 11 gelöst. Vorteilhafte
Ausgestaltungen der erfindungsgemäßen Datenverarbeitungsanlage
sind in Unteransprüchen
angegeben.
-
Besonders
bevorzugt ist die Datenverarbeitungsanlage derart ausgestaltet,
dass sie für
jede Fehlerklasse eine benutzerseitige Eingabe abfragt, ob eine
Korrektur der jeweiligen Fehlerklasse erfolgen soll, im Falle einer
benutzerseitigen Korrekturentscheidung die benutzerseitigen Korrekturschritte zur
Korrektur des Fehler-Repräsentanten
unter Bildung von Protokolldaten protokolliert und anhand der Protokolldaten
selbsttätig
alle noch vorhandenen Layoutfehler der jeweiligen Fehlerklasse in
identischer Weise korrigiert, wie dies benutzerseitig anhand des
Fehler-Repräsentanten
durchgeführt
wurde.
-
Bezüglich der
Vorteile der erfindungsgemäßen Datenverarbeitungsanlage
sei auf die obigen Ausführungen
im Zusammenhang mit dem erfindungsgemäßen Verfahren verwiesen, denn
die Vorteile des erfindungsgemäßen Verfahrens
entsprechen im wesentlichen den Vorteilen der erfindungsgemäßen Datenverarbeitungsanlage.
-
Zur
Erläuterung
der Erfindung zeigen
-
1 bis 3 ein
Layout, anhand dessen das Beseitigen sogenannter „Notch"-Verletzungen beispielhaft
erläutert
wird, und
-
4 ein
Flussdiagramm, das ein Ausführungsbeispiel
des erfindungsgemäßen Verfahrens beispielhaft
visualisiert.
-
Bei
der Layouterstellung in einem Full- oder Semi-Custom-Flow werden
für die
physikalische Verifikation des Layouts Computerprogramme benutzt, um
den aktuellen Stand des Layouts auf die Einhaltung von physikalischen
Design-Regeln (engl. Design Rule Check, abgekürzt "DRC")
zu prüfen.
Moderne physikalische Verifikationsprogramme (DRC-Programme) greifen
dabei auf die Layout-Hierarchie zurück und zeigen DR-Verletzungen möglichst „tief" in der Layout-Hierarchie
an, um damit die nachfolgende Fehler-Korrektur beispielsweise durch einen
Layout-Ingenieur zu vereinfachen.
-
Gerade
in repetitiven (sich wiederholenden) DRAM Designs findet man häufig sehr
viele identische Designregelverletzungen, die ihren Ursprung in wiederkehrenden
Layoutstrukturen haben. Diese identischen Designregelverletzungen
zeichnen sich dadurch aus, dass der Fehlermarker selbst und das für die Designregel
relevante Layout in einer festgelegten Umgebung des Fehlermarkers
identisch sind.
-
Haben
identische Designregelverletzungen ihren Ursprung in einer Unterzelle,
die mehrfach in den gleichen Layout-Kontext eingesetzt ist, kann
die Verletzung sehr einfach korrigiert werden, indem die Designregelverletzung
in der Unterzelle ein einziges Mal behoben wird, wobei dadurch auch
alle weiteren Designregelverletzungen ebenfalls behoben sind. Häufig jedoch
gestaltet sich die Korrektur identischer Design-Regelverletzungen wesentlich komplizierter. Periodisch
auftretende identische Designregelverletzung lassen sich nicht immer
einer einzigen Zelle zuordnen, weil sie zum Beispiel in Überlappbereichen zweier
Zellen auftreten oder weil die für
die Designregelprüfung
benötigten
Eingangsdaten weit über
die Hierarchie „verstreut" sind. In beiden
Fällen
werden viele identische Design-Regelverletzungen erst in einer Oberzelle
gemeldet. Während
in DRAM-Designs das Auftreten identischer Designregelverletzungen durch
den periodischen Aufbau des Layouts auf der Hand liegt, ist das
für Logik-Designs
nicht immer unmittelbar der Fall. Jedoch können auch in Logik-Designs
identische Designregelverletzungen auftreten, z.B. bereits bei der
Library („Layout-Datenbank")-Erstellung. Obwohl
identische Designregelverletzungen in voneinander verschiedenen
Zellen des Chips auftreten können,
erfordern sie dennoch identische Korrekturschritte.
-
Im
Zusammenhang mit den 1 bis 4 wird nachfolgend
ein Ausführungsbeispiel
des erfindungsgemäßen Verfahrens
zur Fehlerbeseitigung erläutert.
Bei diesem Verfahren wird ein automatisiertes Übertragen von an einer einzigen
Instanz (bzw. einem einzigen Fehlerelement) durchgeführten Korrekturschritten
auf alle Instanzen (bzw. Fehlerelemente) derselben Fehlerklasse
mittels eines interaktiven Verfahrens durchgeführt. Dies führt zu einem Produktivitätsgewinn
im Entwurfsprozess durch die Einsparung manueller Layout-Korrekturschritte.
-
In
der 1 erkennt man einen Layoutauschnitt mit einer
Leiterbahn 10 mit zwei identischen „Design-Regel-Verletzungen", die die Design-Regel „Mindestabstand
von Strukturkanten" innerhalb
der gezeichneten Ebene verletzen. Bei beiden „Design-Regel-Verletzungen" ist jeweils ein
Layoutfehler 20 und 30 in Form einer Aussparung
(Kerbe bzw. englisch „Notch") vorhanden, die
sich in die Leiterbahn 10 hinein erstreckt. Zwar sind die
Aussparungen 20 und 30 gegeneinander räumlich verdreht,
jedoch sind sie dennoch identisch und können somit in dieselbe Fehlerklasse
einsortiert werden. Dementsprechend können die beiden Layoutfehler
auch in identischer Weise behoben werden.
-
Ein
Ausführungsbeispiel
eines Verfahrens zum Korrigieren der beiden Layoutfehler 20 und 30 wird
nachfolgend im Zusammenhang mit der 4 erläutert.
-
In
einem ersten Korrekturschritt 100 (vgl. 4)
werden Layoutdaten, die das zu korrigierende Layout – in der 1 gebildet
durch die Leiterbahn 10 – definieren, im Cadence-DFII-Format, im GDS-Format
oder in einem anderen geeigneten Format in eine Datenverarbeitungsanlage
eingespeist.
-
In
einem sich anschließenden
Fehlererkennungsschritt 110 wird das Layout mit einem herkömmlichen
physikalischen Verifikationsprogramm (z. B. das Programm „Dracula" der Fa. Cadence)
auf das Vorliegen von Layoutfehlern hin untersucht. Dabei werden
unter anderem beispielsweise die Layoutfehler 20 und 30 gemäß der 1 erfasst.
-
Nachfolgend
werden gemäß Programmschritten 120 und 130 die
entdeckten Fehler klassifiziert und in Fehlerklassen untergliedert;
jeder Fehlerklasse werden jeweils nur identische Layoutfehler zugeordnet.
Bei der Fehlerklassifikation können
dabei Informationen allein über
den Fehler und/oder zusätzlich
Informationen über
die Umgebung der Fehler berücksichtigt
werden. Bezüglich
der beiden Fehler 20 und 30 können beispielsweise die Umgebungen 40 und 50 berücksichtigt
werden.
-
Zur
Bildung der Fehlerklassen kann beispielsweise ein Mustervergleich
unter Berücksichtigung
geometrischer Muster, die im Fehlerumfeld vorhanden sind, durchgeführt werden.
Die Klassifikation der Layoutfehler kann z. B. derart durchgeführt werden,
wie dies in der deutschen Offenlegungsschrift
DE 102 24 417 A1 eingehend
beschrieben ist.
-
Bei
der Bildung der Fehlerklassen werden jeder Fehlerklasse jeweils
Instanzinformationen der zugeordneten Layoutfehler zugewiesen; dies
bedeutet, dass von jedem Layoutfehler (bzw. „DRC-Fehlershape") einer Fehlerklasse
der "hierarchische
Ort" zur weiteren
Auswertung zur Verfügung
steht. Der „hierarchische
Ort" bezeichnet
dabei beispielsweise diejenige Zelle bzw. diejenigen Zellen, in
der der Layoutfehler gemeldet wird sowie dessen zugehörige Koordinaten.
-
Nach
Abschluss des Schrittes 130 liegt somit eine Vielzahl an
verschiedenen Fehlerklassen mit jeweils identischen Fehlern vor;
bezogen auf die 1 wird also eine einzige Fehlerklasse
mit den beiden Layoutfehlern 20 und 30 gebildet,
da die beiden Fehler 20 und 30 identisch sind.
-
In
einem nachfolgenden Programmschritt 140 wird jede Fehlerklasse
dahingehend bewertet, ob eine Korrektur durchgeführt werden soll oder nicht.
Diese Bewertung kann manuell von einem Layoutingenieur oder auch
maschinell bzw. DV-seitig nach fest vorgegebenen Bewertungsregeln
erfolgen. Für
diese Bewertung wird zuvor für
jede Fehlerklasse jeweils ein Fehler-Repräsentant beliebig oder nach einem
vorgegebenen Auswahlschema ausgesucht (Schritt 150). Die
Entscheidung, ob eine Korrektur der Layoutfehler der jeweiligen
Fehlerklasse erfolgen soll, wird anhand des Fehler-Repräsentanten
getroffen.
-
In
dieser Weise werden alle Fehlerklassen bzw. deren Fehler-Repräsentanten
bewertet und entweder einer Korrektur unterworfen (Schritt 160)
oder unverändert
(vgl. „Abzweig" 170) belassen;
unverändert
bleiben beispielsweise solche Fehlerklassen, die von einem Layout-Ingenieur
für herstellungstechnisch
nicht relevant bzw. akzeptabel gehalten oder von einem DV-Programm
nach vorgegebenen Regeln als „unkritisch" eingestuft werden.
-
Die
als relevant bzw. störend
angesehenen Layoutfehler werden nachfolgend korrigiert. Hierzu wird
zunächst
der Fehler-Repräsentant
der Fehlerklasse automatisch oder per Hand bearbeitet (Schritt 160).
Sobald der Fehler-Repräsentant
der Fehlerklasse korrigiert ist, werden automatisch und ohne weitere
Rückfrage – beispielsweise
computergestützt – alle Layoutfehler
der jeweiligen Fehlerklasse korrigiert (Schritt 180). Dabei
werden die am Fehler-Repräsentanten
der Fehlerklasse durchgeführten
Korrekturen auf alle Layoutfehler (bzw. Instanzen) der Fehlerklasse übertragen,
und es werden die Layoutdaten entsprechend verändert. Auch die für die Erstellung
der „Layoutdaten" verwendete „Layoutdatenbank" kann dabei modifiziert
werden, sofern die Layoutfehler Datenbankelemente der „Layoutdatenbank" betreffen. Für die Korrektur
der „Layoutdatenbank" werden die hierarchischen
Ortsangaben der Layoutfehler (bzw. Instanzen) verwendet.
-
Im
Ergebnis erhält
man aus den eingangsseitig eingespeisten Layoutdaten Lin somit
korrigierte Layoutdaten Lout, sobald die
durch die Programmschritte 140 bis 180 gebildete
Bewertungs- und
Korrekturschleife 190 vollständig durchlaufen wurde (Ausgabeschritt 200).
-
Vorzugsweise
werden die durchgeführten Korrekturschritte
in geeigneter Form aufgezeichnet bzw. mitprotokolliert, z.B. in
Form von additiven und subtraktiven „Korrekturshapes".
-
Die
Durchführung
der Korrekturschritte 160 und 180 gemäß der 4 ist
am Beispiel der Notch-Verletzungen 20 und 30 gemäß der 1 in den 2 und 3 nochmals
im Detail dargestellt.
-
Man
erkennt in der 2 ein Korrekturelement 60,
das in die Aussparung 20 der Leiterbahn 10 derart
eingesetzt wird, dass die Aussparung 20 verschwindet. Die
andere Aussparung 30 bleibt zu diesem Zeitpunkt noch unkorrigiert.
Das Einfügen
des Korrekturelements 60 in die Aussparung 20 entspricht
dem Korrekturschritt 160 gemäß der 4; die Aussparung 20 als
Layoutfehler entspricht somit dem Fehler-Repräsentanten, der zuerst korrigiert wird.
-
Nach
der beispielsweise manuell erfolgten Korrektur des Layoutfehlers 20 wird
der Layoutfehler 30 vollautomatisch bzw. ohne weitere Rückfrage
und ohne weiteren benutzerseitigen Eingriff DV-seitig behoben (vgl. 3);
dieser Schritt entspricht dem Schritt 180 gemäß der 4.
Bei diesem automatischen Korrekturschritt 180 werden alle
Korrekturmaßnahmen,
die im Zusammenhang mit dem Fehler-Repräsentanten 20 durchgeführt wurden,
in identischer Weise wiederholt.
-
- 10
- Leiterbahn
- 20
- Layoutfehler
- 30
- Layoutfehler
- 40
- Fehlerumgebung
- 50
- Fehlerumgebung
- 60
- Korrekturelement
- 100
- Verfahrensschritt:
Eingabe der Layoutdaten
- 110
- Verfahrensschritt: Überprüfung des
Layouts
- 120
- Verfahrensschritt:
Fehlerklassifikation
- 130
- Verfahrensschritt:
Bildung von Fehlerklassen
- 140
- Verfahrensschritt:
Entscheidung bzgl. Korrektur
- 150
- Verfahrensschritt:
Auswahl Fehler-Repräsentant
- 160
- Verfahrensschritt:
Korrektur Fehler-Repräsentant
- 170
- Verfahrensschritt:
Abzweig ohne Korrektur
- 180
- Verfahrensschritt:
automatische Korrektur der übrigen
-
- Fehler
der Fehlerklasse
- 190
- Korrekturschleife
- 200
- Verfahrensschritt:
Ausgabe korrigierter Layoutdaten