-
Zu
Beginn des Herstellungsprozesses von hochintegrierten elektronischen
Schaltungen steht der Layoutentwurf, durch welchen die Funktionalität der Schaltung
bestimmt werden soll. Durch das Layout wird die physische Umsetzung
der Schaltung 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 den Wafer abgebildet wird.
-
Insgesamt
erfolgt die Herstellung eines Chips in vielen Schritten. Jeder der
Herstellungsschritte weist eine intrinsische Ungenauigkeit auf,
die idealerweise bereits beim Layoutentwurf berücksichtigt werden sollte. Dazu
sind Regeln bereitgestellt (sogenannte 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
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 aneinanderstossende Rechtecke dargestellt.
-
Eine
Layoutregel kann sich im einfachsten Fall auf ein einziges Maß beziehen.
Komplexe Layoutregeln hingegen. stellen eine grosse Anzahl von Maßen zueiander
in Beziehung. Während
einfache Layoutregeln noch zumeist durch einen einzigen Befehl der
Verifikationssoftware implementierbar sind, benötigt die Implementierung komplexer
Layoutregeln zahlreiche Befehle, wobei die Zahl der Befehle mit
der Komplexität
der Layoutregeln zunimmt. Dies ist deshalb problematisch, da schon
die Abarbeitung eines einzelnen Befehls eine hohe Rechenzeit bzw. Rechenleistung
benötigt,
da in der Regel jeder Befehl eine Teilmenge aller Polygone eines
Layouts abarbeiten muss (die Polygone werden zu diesem Zweck in
einer Datenbank abgelegt).
-
Weiterhin
hängt die
Zahl der zur Implementierung einer Layoutregel benötigten Befehle
stark von der „Mächtigkeit" des jeweiligen Befehls
ab. Der Befehlssatz bekannter zur Erstellung der Verifikationssoftware
verwendeten Programmiersprachen schränkt den Programmierer bei der
Implementierung von Layoutregeln in seinen Möglichkeiten unnötig ein.
Generell ist es derzeit lediglich möglich, die geometrischen Verhältnisse
und Eigenschaften, also die Abstände
von Polygonen untereinander bzw. deren Abmessungen, zu bestimmen.
Weiterhin können Mengenoperationen
durchgeführt
werden, wie beispielsweise die Bildung von Schnitt-, Vereinigungs- und
Komplementmengen. In der Regel können
die selben Operationen auch auf die Ränder der Polygone angewandt
werden. Komplexe Layoutregeln sind unter diesen Voraussetzungen
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 sogenannte Dummyfehler (vermeintliche Fehler) in
Kauf genommen werden müssen.
-
Aus
der
US 5 440 720 sind
ein Verfahren und eine Vorrichtung zur Reduzierung der Größe geometrischer
Datenbanken für
die Analyse intergrierter Schaltungen. bekannt. Zu diesem Zweck
wird eine Bibliothek von Grundformen zur Darstellung des Layouts
der integrierten Schaltung verwendet, die zur Schaffung neuer Formen
logisch miteinander verknüpft
werden.
-
Aus
H.T. Heineken, J. Khare, W. Maly, P.K. Nag, C. Ouyang und W.A. Pleskacz, „CAD at
the Design-Manufacturung Interface", DAC 97, 1997, S. 321–326, ist
ein Verfahren zur Verifikation von Layouts, bekannt, bei dem die
einem Layout zugrunde liegenden Kontur in Form von komplexen Polygonen extrahiert
und verarbeitet werden. Eine einfache Beschreibung der geometrischen
Verhältnisse
und Eigenschaften der Polygone, mittels derer eine einfache Formulierung
komplexer Layoutregeln möglich ist,
geht hieraus nicht hervor.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Datenverarbeitungssystem
zu schaffen, das auf einfache und effiziente Weise den Entwurf und/oder die
Verifikation eines Layouts einer integrierten elektronischen Schaltung
unter Einbeziehung komplexer Layoutregeln ermöglicht. Darüber hinaus ist es Aufgabe der
vorliegenden Erfindung, ein Verfahren zum Entwurf eines Layouts
einer integrierten elektronischen Schaltung zur Verfügung zu
stellen.
-
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.
-
Erfindungsgemäß ist ein
Datenverarbeitungssystem zum Entwurf eines Layouts einer integrierten
elektronischen Schaltung aus einer Vielzahl von elektronischen Bauelementen
geschaffen, mit einem Datenspeicher und einem Prozessor zum Speichern
von Daten in dem Datenspeicher und/oder zum Lesen von Daten aus
dem Datenspeicher, wobei der Datenspeicher
- a)
erste Daten, die einen vorbestimmten Satz geometrischer Grundformen
durch eine Vielzahl von grundformspezifischen geometrischen Parametern
definieren, sowie eine vorbestimmte Zuordnung jedes der elektronischen
Bauelemente eines Layoutentwurfs zu einer oder mehreren der geometrischen
Grundformen speichert und
- b) zweite Daten speichert, die eine Vielzahl von auf die geometrischen
Grundformen anwendbaren geometrischen Operationen zur Bildung von sich
von den geometrischen Grundformen unterscheidenden geometrischen
Figuren darstellen, wobei die eine geometrische Grundform definierenden
Parameter durch Anwendung der geometrischen Operationen unveränderbar
sind,
wobei jeder geometrischen Figur geometrische Grundformen
sowie eine dazugehörige
Menge geometrischer Operationen zugeordnet sind und die Informationen über Gestalt
und geometrische Eigenschaften zu jeder geometrischen Figur in einer
Datenbank gespeichert werden.
-
Durch
ein Verwendung vorbestimmter geometrischer Grundformen wird eine Überprüfung des Layouts
durch eine Verifikationssoftware wesentlich vereinfacht, da die
Anzahl der Grundformen begrenzt ist, und jede der Grundformen durch
bestimmte geometrische Eigenschaften definiert ist. Andererseits
ist auch die gestalterische Freiheit beim Layoutentwurf nicht eingeschränkt, da
geometrische Grundformen zur Verfügung stehen, mittels derer
durch Anwendung auf die vorbestimmten Grundformen neue geometrische Figuren
geformt werden können,
wobei dadurch jene die Grundformen definierenden Paramter allerdings
unverändert
bleiben.
-
Außerdem kann
jedes elektronische Bauelement durch eine Kombination mehrerer geometrischer
Grundformen dargestellt werden.
-
Die
sich auf die geometrischen Grundformen beziehenden Daten können durch
den Prozessor aus dem Datenspeicher abrufbar sein für ein Überprüfen des
Layoutentwurfes mittels Anwendung eines vorbestimmten Satzes Layoutregeln
auf die durch die abgerufenen Daten dargestellten geometrischen
Parameter.
-
Da
bei der Verifikation des Layoutenwurfs stets Parameter geprüft werden,
die die geometrischen Grundformen beschreiben, und nicht die durch Anwendung
der geometrischen Operationen abgeänderten Formen, wird die Verifikation
durch zunehmende Komplexität
der geometrischen Formen nicht kompliziert, so dass „Dummy"-Fehler reduziert
oder gar ausgeschlossen werden können.
-
Die
Parameter können
Kanten der geometrischen Figuren, deren Anzahl und Länge, deren
Winkel untereinander, etc. darstellen. Auch können die Parameter die Orientierung
der jeweiligen Grundform darstellen. Vorzugsweise ist der jeweils
die Orientierung beschreibende Parameter durch einen Einheitsvektor
gebildet. Dadurch lässt
sich die Orientierung eines elektronischen Bauelementes relativ
zu einem anderen einfach durch Bildung des Skalarproduktes feststellen.
-
Die
geometrischen Parameter können
außerdem
die Lage und oder den Verlauf der Kanten jeder der geometrischen
Grundformen in einem zum Layoutentwurf festgelegten Bezugssystem
beschreiben. Dies vereinfacht insbesondere Abstandsbestimmmungen
zwischen elektronischen Bauelementen.
-
In
einer bevorzugten Ausgestaltung sind die geometrischen Figuren durch
Polygone gebildet, und der Satz geometrischer Grundformen ist durch
einen vorbestimmten Satz Polygone gebildet. Der vorbestimmte Satz
Polygone kann dabei Rechtecke, N-Bahnen ohne Abzweigung, Dreiecke,
Trapeze, N-Bahnen
mit Abzweigung, u.a., enthalten.
-
Vorzugsweise
ist der Prozessor zum Erzeugen eines ersten Ausgabesignals ausgebildet,
und zur Anzeige von die geometrischen Grundformen und die geometrischen
Operationen darstellenden Informationen, vorzugsweise auf einem
Bildschirm, und das Datenverabeitungssystem zur Auswahl der angezeigten
geometrischen Grundformen und Operationen durch einen Benutzer mittels
Eingabemitteln, für
eine Anwendung einer ausgewählten
geometrischen Operation auf eine ausgewählte geometrische Grundform,
wobei der Prozessor außerdem ausgebildet
ist zum Erzeugen und Abspeichern von Daten in dem Datenspeicher,
die eine Zuordnung der ausgewählten
geometrischen Grundform zu der ausgewählten geometrischen Operation
darstellen.
-
Damit
wird ein flexibles Entwicklungstool geschaffen, ohne die Verifikation
entworfener Layouts zu erschweren.
-
Vorzugsweise
ist der Prozessor zur Berechnung einer geometrischen Figur ausgebildet,
die durch Anwendung der ausgewählten
geometrischen Operation auf die ausgewählte geometrische Grundform
gebildet wird, und zum Erzeugen eines zweiten Ausgabesignals zur
Anzeige der geometrischen Figur, vorzugsweise auf einem Bildschirm.
-
Die
ausgewählte
geometrische Grundform unterscheidet sich vorzugsweise nur in Ihrer
Gestalt von der durch Anwendung der ausgewählten geometrischen Operation
gebildeten geometrischen Figur.
-
In
einer vorteilhaften Ausgestaltung ist das Datenverarbeitungssystem
zur interaktiven geometrischen Abänderung auszuwählender
angezeigter geometrischer Grundformen mittels einer grafischen Benutzeroberfläche ausgebildet.
-
Erfindungsgemäß ist weiterhin
ein Verfahren geschaffen zum Entwurf eines Layouts einer integrierten
elektronischen Schaltung aus einer Vielzahl von elektronischen Baulementen,
mit folgenden Schritten:
- (i) Abrufen von Daten
aus einem Datenspeicher, die geometrische Grundformen darstellen,
wobei jedes der elektronischen Bauelemente einer oder mehreren der
geometrischen Grundformen zugeordnet ist;
- (ii) Auswählen
und Anordnen einer der ausgewählten
geometrischen Grundformen innerhalb eines für den Layoutentwurf festgelegten
Bezugssystems;
- (iii) Abrufen von Daten aus einem Datenspeicher, die eine Vielzahl
von auf die geometrischen Grundformen anwendbaren geometrischen
Operationen darstellen;
- (iv) Auswählen
und Anwenden einer der geometrischen Operationen auf die in Schritt
(ii) ausgewählte
geometrische Grundform zur Erzeugung einer sich in der Gestalt von
der geometrischen Grundform unterscheidenden geometrischen Figur;
- (vii) Erzeugen und Speichern von Daten, die eine Zuordnung der
in Schritt (ii) ausgewählten
geometrischen Grundform zu der darauf angewandten ausgewählten geometrischen
Operation darstellt.
-
Das
erfindungsgemäß Verfahren
kombiniert die Vorteile einer hohen Gestaltungsfreiheit beim Layoutentwurf
mit einer einfachen Prüfbarkeit
der damit entworfenen Layouts.
-
Außerdem ist
ein Computerprogramm geschaffen zur Durchführung dieses Verfahrens auf
einem Computer.
-
Weiterhin
ist erfindungsgemäß ein Datenverarbeitungssystem
zur Layoutverifikation einer integrierten elektronischen Schaltung
geschaffen, mit einem ersten Datenspeicher, der eine Anzahl Dateneinträge speichert,
von denen jeder einen Satz von Parametern enthält, der eine vorbestimmte geometrische
Grundform repräsentiert,
und einem Prozessor zum Lesen von ersten Daten aus einem zweiten
Datenspeicher, die eine Vielzahl geometrischer Figuren darstellen,
und zur Verarbeitung der ersten Daten, wobei eine Übereinstimmung
der durch die ersten Daten dargestellten geometrischen Figuren mit
einem der Sätze
von Parametern festgestellt wird, und zur Erzeugung von zweiten
Daten, die eine Zuordnung jeder der geometrischen Figuren zu jeweils
jener der geometrischen Grundformen darstellen, mit deren Satz von
Paramtern eine Übereinstimmung festgestellt
wurde.
-
Die
Erfindung beruht auf der Erkenntnis, dass eine Layoutverifikation
wesentlich vereinfacht werden kann, indem in der Databank, auf welche
bei der Layoutverifikation zugegriffen wird, zu jedem Polygon Informationen über dessen
Gestalt und geometrische Eigenschaften gespeichert werden. Darüber hinaus
lässt sich
die Verifikation vereinfachen, indem jedes Polygon einer Klasse
zugeordnet wird, die durch eine geometrische Grundform sowie eine
dazugehörige
Menge geometrischer Operationen definiert ist. So können zum
Beispiel Rechtecke aus der Grundform eines Quadrates der Seitenlänge eins
abgeleitet werden.
-
Insbesondere
Rechtecke können
jedoch beispielsweise durch Abschrägung von Ecken geometrisch
abgeändert
sein; dennoch würde
der Mensch in seiner Auffassungsgabe das durch die geometrische Variation
entstandene Polygon wohl immer noch als Rechteck wahrnehmen. Diese „Unschärfe" der menschlichen
Wahrnehmung wird zunutze gemacht, und jeder Klasse von Polygonen
werden geometrische Operationen zugeordnet, durch welche die zugeordneten
Polygone zwar geometrisch abgeändert werden,
deren Klassenzugehörigkeit
jedoch unverändert
bleibt.
-
Weiterhin
sind jedem Polygon einer Klasse die charakteristischen Eigenschaften
oder Parameter dessen geometrischer Grundform zugeordnet. So weisen
beispielsweise alle Polygone aus der Klasse „Rechtecke" eine Länge und eine Breite auf oder
alle L-Formen eine Schenkellänge
und einen Winkel zwischen den Schenkeln. Solche klassenspezifischen Parameter
eines Polygons sind in der Datenbank abgelegt, auf welche die Verifikationssoftware
Zugriff hat.
-
Eine
solche Einteilung der Polygone in Klassen und die Einführung von
klassenspezifischen Parametern sowie von geometrischen Operationen
erleichtern die Verifikation wesentlich. Eine derartige Datenstruktur
entspricht dem assoziativen Denken des Menschen sowie dessen bildlicher
Vorstellung. Selbst komplizierte Layoutregeln können dadurch mit wenigen Befehlen
implementiert werden. Als Folge erhöht sich zwar der Speicherbedarf
für jedes
Polygon; dafür
wird jedoch die Rechenzeit bei der Verifikation reduziert.
-
Es
werden nun beispielhafte Ausführungsformen
der Erfindung beschrieben. Dabei wird auch Bezug genommen auf die
Figuren, Tabelle und Anhänge.
Es zeigen dabei
-
1 einen
Kontakt konstanter Grösse
auf der „Active
Area" zweier Substrate;
-
2 zwei
Transistoren unterschiedlicher Weite;
-
3 zwei
Kontaktbahnen aus Metall zur Verbindung elektronischer Bauelemente;
-
4 auf
ein Rechteck anwendbare beispielhafte geometrische Operationen;
-
5 eine
sogenannte N-Bahn zur Verbindung elektronischer Bauelemente;
-
Tabelle
1 geometrische Grundformen und geometrische Operationen zur Erstellung
eines Layouts; und
-
Anhang
1 zwei Programme zur Verifikation eines Layouts.
-
Im
folgenden werden Problemstellungen bei der Verifikation mittels
Layoutregeln bei Verwendung bekannter Verifikationssoftware dargestellt.
Den Problemen werden Lösungen
gegenübergestellt,
die auf einer an geometrischen Grundformen orientierten Verifikation
basieren. Anschliessend wird eine Auswahl von solchen geometrischen
Grundformen vorgestellt, mit der ein Layout erstellt werden kann.
Danach wird dargelegt, wie eine an Grundformen orientierte Verifikation
in entsprechende Software umgesetzt werden kann.
-
Dadurch,
dass integrierte Schaltungen immer komplexer werden, werden auch
die verwendeten Layoutregeln komplizierter, da in der Regel geometrische
Eigenschaften der die einzelnen Bauelemente darstellenden Polygone
sowie Beziehungen zwischen den Polygonen berücksichtigt werden müssen. An
den folgenden drei Beispielen werden die Probleme erläutert, die
sich daraus für
die Verifikation ergeben.
-
Beispiel I: Kontakt auf
einer „Active
Area"
-
In 1 entsprechen
die dunklen Rechtecke zwei identischen Kontakten 1 bzw. 1', die in heller dargestellten
Active Areas 2 bzw. 2' eines Wafers symmetrisch eingebettet
sind. Die Active Areas 2 und 2' haben eine beliebige Länge. Die
Masse w1 und w2 beschreiben
die Weite der Active Areas 2 bzw. 2', während die Masse s1 und
s2 vorgegebene Mindestabstände der
in 1 oben liegenden Stirnseite des Kontaktes 1 bzw. 1' zum oberen
Rand der Active Areas 2 bzw. 2' bezeichnen. Die Masse d1 und d2 bezeichnen
vorgegebene Mindestabstände
der in
-
1 linken
Stirnseite der Kontakte 1 bzw. 1' vom linken Rand der Active Areas 2 bzw. 2'.
-
Diese
Mindestabstände
sowie die symmetrische Anordnung der Kontakte 1 und 1' innerhalb der Active
Areas 2 bzw. 2' bilden
Layoutregeln, die während
der Verifikation überprüft werden.
-
Während des
Fertigungsprozesses wird die Längserstreckung
(d.h. die in Bildorientierung vertikale Erstreckung) der Active
Areas 2 und 2' verkürzt, wobei
die Verkürzung
von der Weite w1 bzw. w2 der Active
Areas 2 bzw. 2' abhängt. Damit
die Kontakte 1 und 1' jedoch nicht durch die Verkürzung der
Active Areas 2 bzw. 2' beschädigt oder zerstört werden, muss
der Kontakt 1 gemäß einer
weiteren Layoutregel bei kleinerer Weite w1 von
der Kante der Active Area 2 einen grösseren Abstand s1 aufweisen,
als der Kontakt 1' auf
der Active Area 2' grösserer weite
w2.
-
Eine
herkömmliche
Verifikation erfolgt nun dadurch, dass aus dem Kontaktlayer alle
Polygone ermittelt werden, die vollständig innerhalb eines Active
Area Polygons liegen. Dadurch sind die Mengen der Kontakte K' sowie der Active
Area Polygone A' definiert.
Aus der Menge A' werden
anschliessend eine Menge A'' der Polygone mit
der Weite w1 sowie eine Menge A''' der Polygone mit der Weite w2 ermittelt.
-
Im
Falle identischer Maße
s1 und d1 ist die Prüfung
leicht zu formulieren. Die Forderung der Prüfung ist die, dass der Abstand
eines beliebigen. Randes der Kontakte 1 und 1' vom nächstliegenden
Rand der Active Areas 2 bzw. 2' nicht kleiner. als s1 = d1 bzw.
s2 = d2 ist. Die geometrische Form der Kontakte. muss nicht berücksichtigt
werden.
-
Die
Prüfung
erschwert sich jedoch wesentlich, wenn die Maße s und d verschieden sind,
also s1< >d1 und s2< >d2 gilt. In diesem
Fall müssen
die Kanten der Polygone aus K',
A'' und A''' extrahiert
und daraus die langen Kanten ermittelt, und es muss prüft werden,
ob deren Abstand mindestens d1 bzw. d2 ist. Analog müssen die
kurzen Kanten ermittelt werden, und es muss geprüft werden, ob deren Abstand
mindestens s1 bzw. s2 ist.
-
Das
Programm 1 im Anhang 1 stellt ein in einer Cadenceartigen Sprache
verfasstes Programm dar, welches diese Schritte durchführt. Der „drc"-Befehl ermittelt
unter Verwendung des Operators „sep" den Abstand der Kanten der Kontakte
von den Rändern
der Active Areas. Der Befehl „geomAndNot (AB)" subtrahiert die
Schnittmenge von A und B von der Menge A. Am Ende jeder Zeile ist
hinter dem Kommentarzeichen „#" die Anzahl der für die Ausführung des
jeweiligen Befehls notwendigen Rechenoperationen für die in
der 1 gezeigten Figuren angegeben.
-
In
einem Ausführungsbeispiel
der Erfindung wird die Prüfung
der Kantenabstände
nun dadurch vereinfacht, indem auf die Kanten der Rechtecke direkt
zugegriffen wird. Zu Beginn der Prüfung werden wie im Programm
1 alle Kontakte ermittelt, die vollständig innerhalb der Fläche einer
Active Area liegen. Daraus werden die Mengen K', A'' und A''' gebildet. Anschließend muss
lediglich geprüft
werden, ob der Abstand zwischen der kurzen Seite eines Kontaktes und
der nächstliegenden
Kante. der Active Area mindestens s1 bzw. s2, und der Abstand zwischen
der langen Seite des Kontaktes und der nächstliegenden Kante der Active
Area mindestens d1 bzw. d2 ist.
-
Programm
2 in Anhang 1 zeigt eine Implementation dieser Prüfungsschritte.
Programm 2 prüft die
gleiche Layoutregel wie Programm 1, ist jedoch wesentlich einfacher
zu programmieren. Außerdem sind
weniger Rechenoperationen notwendig, da die benötigten geometrischen Eigenschaften
bereits in einer Datenbasis vorgespeichert sind. Somit wird Rechenzeit
gespart.
-
Beispiel II: Layoutregeln
in Abhängigkeit
geometrischer Orientierung
-
Beim
Entwurf vieler Layouts finden Layoutregeln Anwendung, in welchen
die Orientierung zweier Polygone zueinander berücksichigt werden soll. Ein Beispiel
dafür ist
in 2 illustriert.
-
2 zeigt
zwei Transistoren 3 bzw. 3' mit unterschiedlichen Weiten w1
bzw. w2. Die Rechtecke 4 und 4' stellen die Kontakte der Transistoren
dar, und die Balken 5 und 5' deren Gates. Sowohl die Kontakte 4 und 4' als auch die
Gates 5 und 5' sind
auf schraffiert gezeichneten Diffusionsgebieten 6 bzw. 6' angeordnet.
In beiden Transistoren 3 und 3' sind die Layoutregeln für die Maße a, b
und c eingehalten.
-
Die
Transistoren 3 und 3' unterscheiden sich lediglich in
der Orientierung der Kontakte 4 bzw. 4'. Die Orientierung
der Kontakte 4 und 4' ist durch Pfeile dargestellt und
bezieht sich auf das Koordinatensystem in Zeichenebene. In Transistor 3' steht der Kontakt 4' senkrecht zum
Gate 5',
was nicht erwünscht
ist.
-
Die Überprüfung einer
orientierungsabhängigen
Layoutregel wie in 2 ist mit herkömmlichen Verifikationsprogrammen
nur schwer und zumeist implizit durchführbar. Eine mögliche Prüfung könnte eine
Weite w2 für
Diffusionsgebiete generell verbieten. An anderen Stellen des Layouts
könnte
dies jedoch dazu führen,
dass Fläche
verschenkt würde.
-
In
der Praxis würde
man bekanntermaßen als
Ausweg nur von H Transistor-Diffusionsgebieten die Weite w2 prüfen, während Nicht-Transistor-Diffusionsgebiete
nicht geprüft
würden.
In manchen Fällen
kann die Aufteilung zwischen Transistor-Diffusionsgebieten und Nicht-Transistor-Diffusionsgebieten jedoch
nicht vorgenommen werden. Dies würde
zur Folge haben, dass für
alle Diffusionsgebiete die Weite w2 verboten würde, wodurch bei Nicht-Transistor-Diffusion
unechte Fehler angezeigt würden.
Eine große
Anzahl von „Dummy"-Fehlern birgt jedoch
die Gefahr, dass im Layout echte Verletzungen der Layoutregeln übersehen
werden könnten.
-
Nach
einem Ausführungsbeispiel
der Erfindung kann die Orientierung von geometrischen Figuren berücksichtigt
werden. In 2 sind die Orientierungen durch
Pfeile dargestellt. Die Orientierung der die Kontakte 4 und 4' sowie die Gates 5 und 5' darstellenden
Rechtecke ist danach in Bezug auf das Koordinatensystem der Zeichenebene
definiert und in der bereits erwähnten
Datenbasis als Einheitsvektor abspeicherbar. Mit einem geeigneten
Befehl berechnet die Verifikationssoftware zur Überprüfung der gegenseitigen Orientierung
das Skalarprodukt der Vektoren. Wenn K und GC die Menge der Kontakte
bzw. Gates sei, dann kann die Prüfung
in einer Cadence-artigen Sprache durch folgenden Befehl erfolgen:
Drc
(Orientierung(K) Orientierung (GC) vecprod < > 0)
-
Beispiel III: Layoutregeln
in Abhängigkeit
der geometrischen Form
-
In
Zukunft werden Layoutregeln immer mehr durch den optischen Abbildungsprozess
bestimmt sein. Heute schon liegen die Abmessungen kleinster Strukturen
unterhalb der Wellenlänge
des Lichtes, mit der Photomasken belichtet werden. Beugungseffekte
müssen
daher bei der Produktion von Chips immer stärker. berücksichtigt werden, was unmittelbare Auswirkungen
auf die Formulierung von Layoutregeln hat.
-
Durch
ein Ausführungsbeispiel
der Erfindung wird ermöglicht,
dass in die Layoutregeln in Zukunft auch die Form des Polygons eingehen
kann. Die Form des Polygons bestimmt Beugungseffekt und damit die
Abbildung der Polygone auf Silizium. Dies soll anhand 3 erklärt werden.
-
3 zeigt
je zwei parallele Metallbahnen 7 bzw. 7'. Die Metallbahnen 7 und 7' sind von den
Linien 8 bzw. 8'.
umgeben, die das durch den Fertigungsprozess hergestellte tatsächliche
Abbild der Bahnen auf einem Siliziumwafer darstellen. Durch den
Fertigungsprozess werden die Bahnen 7 und 7' unter anderem
durch Beugungseffekte verbreitert. Die Beugungseffekte sind im Knick
der Bahnen 7' wesentlich stärker als
an deren Schenkeln und führen
dort nahezu zu einem Kurzschluss zwischen den Metallbahnen 7'. Deshalb kann
für die
Metallbahnen 7 prinzipiell ein geringerer Mindestabstand
zugelassen werden als für
die Metallbahnen 7'.
-
Vor
diesem Hintergrund kann nun eine Layoutregel festgelegt werden,
die abhängig
von der geometrischen Form der Leiterbahnen unterschiedliche Mindestabstände vorgibt.
Um diese neue Layoutregel zu überprüfen, wird
dem Verifikationsprogramm die geometrische Form der Leiterbahnen
zu Verfügung
gestellt. Das heisst verallgemeinert, dass zu jedem Poylgon dessen
geometrische Form in der besagten Datenbank abgelegt ist, was bei
gängigen
Verifikationstools nicht der Fall ist.
-
Layoutgenerierung unter
Verwendung von. Grundformen
-
In
den vorangegangenen drei Beispielen wurden Layouts illustriert,
deren Überprüfung mit
bekannten Verifikationsprogrammen entweder nur umständlich oder
gar nicht umsetzbar ist. Diese Problematik wird dadurch gelöst, dass
auf die geometrischen Eigenschaften der Polygone zurückgegriffen wird.
-
Zur
Illustration wurden bisher Strukturen diskutiert, die hauptsächlich aus
Rechtecken bestehen und damit eine Idealisierung realer Layouts
darstellen, die in der Regel aus weitaus komplizierteren Grundformen
bestehen. Deshalb wird jedes Polygon einer Klasse zugeordnet. Jede
Klasse ist durch eine geometrische Grundform, deren Parameter, sowie den
zugehörigen
geometrischen Operationen definiert. Dadurch wird die Layoutverifikation
vereinfacht; ausserdem wird die Formulierung neuer Layoutregeln
ermöglicht.
Im folgenden wird dieser Ansatz detaillierter erklärt.
-
Jede
Klasse besteht aus einer Grundform und deren Eigenschaften. Die
Eigenschaften gliedern sich in Parameter der Grundform und erweiterte Paramter
(z.B. Orientierung; Menge von zugeordneten geometrischen Operationen,
mittels derer die Mitglieder einer Klasse modifiziert werden können). Die geometrischen
Operationen sollen jedoch keine Drehungen oder Verschiebungen der
Grundform in Bezug auf das Koordinatensystem der Zeichenebene beinhalten,
sondern nur Operationen, welche die Gestalt der Grundform ändern.
-
Dies
soll nun anhand des Beispieles eines Rechtecks illustriert werden.
Alle in einem Layout vorkommenden Rechtecke können aus einem Quadrat der
Seitenlänge
eins und durch Streckungen der Kanten des Quadrats erzeugt werden.
Die Grundform der Klasse der Rechtecke ist folglich ein Quadrat,
die Parameter sind Länge
und Breite, und ein möglicher
erweiterter Parameter ist die Orientierung des Rechtecks im Koordinatensystem
der Zeichenebene.
-
4 zeigt
die auf die Grundform der Klasse der Rechtecke anwendbaren geometrischen
Operationen. Die 4a) und 4b) zeigen, wie durch die Operationen f
und g die rechte obere Ecke eines Rechtecks in verschiedenen Weisen
nach innen verschoben wird, und dadurch die Form geändert wird, nicht
aber die Zugehörigkeit
zur Klasse der Rechtecke. 4c) erzeugt
durch eine andere Operation h eine Kerbe der Tiefe t in dem Rechteck.
-
Die
geometrischen Operationen f, g und h gehören zur Menge der geometrischen
Operationen der Klasse der Rechtecke. Generell kommen als geometrische
Operationen Streckungen entlang der Rechteckkanten in Frage, sowie
geometrische Operationen, welche Ecken und Kanten des Rechteckes nach
innen verschieben. Alle Operationen, die einer Klasse angehören, ändern nicht
die Klassenzugehörigkeit
des Polygons. Deshalb gehören
auch die durch die Transformationen entstandenen Formen in 4 ebenfalls
zur Klasse der Rechtecke.
-
Tabelle
1 enthält
eine Auswahl an geometrischen Grundformen, deren Parameter, sowie
zugeordnete geometrische Operationen. Die Auflistung ist lediglich
beispielhaft und kann durch Hinzufügen weiterer Grundformen beliebig
erweitert werden.
-
Die
in der Tabelle aufgeführten
Grundformen Rechteck, Trapez und Dreieck bedürfen keiner weiteren Erklärung. Etwas
anders verhält
es sich mit den N-Bahnen mit bzw. ohne Verzweigung. Unter einer N-Bahn
ohne Verzweigung ist ein offener Linienzug aus N Teilstücken zu
verstehen, wobei die einzelnen Teilstrecken i = 1...N eine Länge Li aufweisen und in Winkeln 1...(N–1) zueinander
verlaufen.
-
5 zeigt
links eine N-Bahn ohne Verzweigung, und rechts eine N-Bahn mit Verzweigung.
Die Strichpunktlinien entsprechen den Symmetrieachsen der Bahnen.
Die Längen
werden zwischen zwei Knickstellen gemessen, und unter Winkel wird
jeweils der kleinere Winkel an einer Knickstelle zwischen den Symmetrieachsen
der Teilstücke
verstanden. Jede Bahn kann eine unterschiedliche Breite aufweisen.
-
Die
aufgeführten
Grundformen sind ausreichend, um ein Layout entwerfen zu können. Elektronische
Bauelemente werden im Layout in der Regel durch Rechtecke dargestellt,
wie beispielsweise Transistoren (siehe 2).
-
Die
N-Bahnen ohne Verzweigung stellen eine Verallgemeinerung elektrischer
Verbindungen zwischen einzelnen Bauelementen dar. So wird eine elektrische
Leitung zwischen zwei Punkten A und B in der Regel nicht gerade
verlaufen, sondern in ihrem Verlauf mehrmals die Richtung wechseln.
Dadurch können
auch Busse oder Verdrahtungen innerhalb einer Unterschaltung durch
die geometrische Grundform der N-Bahn dargestellt werden.
-
Die
Grundform Rechteck ist dagegen nicht in eine N-Bahn ohne Verzweigung überführbar.
-
Die
Klassen der Trapeze und der Dreiecke sind notwendig, um beim Zeichnen
in flächenkritischen
Situationen genügend
Gestaltungsfreiraum zu haben.
-
Verzweigende
N-Bahnen dienen dazu, mehr als zwei Punkte einer Schaltung miteinander
zu verbinden, wobei Verästelungen
beliebig kompliziert sein dürfen.
Damit können
beispielsweise T-förmige Verzweigungen
von Versorgungsleitungen entworfen werden.
-
Eine Auswahl
geometrischer Deformationen
-
Beim
Entwurf eines Layouts kann sich unter Umständen nicht ausschließlich an
die oben vorgestellten Grundformen gehalten werden. Vielmehr müssen an
einer Grundform Ecken abgeschrägt und/oder
nach innen gezogen werden, wie in 4 gezeigt.
Weiterhin können
an den Rändern
Kerben benötigt
werden. Um Grundformen deformieren zu können, werden die in Tabelle
1) angegebenen geometrischen Operationen auf die zugeordneten Grundformen
angewandt.
-
Beispiel 1: Abstufung
einer Ecke (4a.))
-
Zum
Abstufen einer Ecke werden Punkte A und B auf benachbarten Kanten
der Grundform im Abstand a bzw. b von einer Ecke E ausgewählt. Anschließend wird
die Strecke A–E
um die Distanz a parallel ins Innere der Grundform (nach links in 4a.)) verschoben. Analog wird mit der
Strecke B–E
verfahren; diese wird um die Distanz b ins Grundfigureninnere verschoben
(nach unten in 4a.)).
-
Beispiel 2: Abschrägung einer
Ecke (4b.))
-
Beginnend
mit der Ecke E einer Grundform wird diese zuerst um eine Strecke
a auf einen ausgewählten
Punkt A auf einer der beiden anliegenden Kanten, und anschließend um
eine Strecke b auf einen ausgewählten
Punkt B auf der anderen anliegenden Kante verschoben. Die Punkt
A und B werden anschließend
durch eine gerade Linie verbunden, wodurch die Ecke abgeschrägt wird.
Dabei müssen die
Punkte A und B jeweils zwischen der Ecke E und der benachbarten
Ecke liegen.
-
Beispiel 3: Kerbe entlang
einer Kante
-
Zwischen
zwei Ecken E und E' soll
zwischen zwei festzulegenden Punkten A und B eine Kerbe der Tiefe
T geschaffen werden. Dabei wird die Kerbe, wie in 4c.) gezeigt,
senkrecht zur Kante zwischen den Ecken E und E' in die Grundfigur „geschnitten".
-
Die
einer geometrischen Transformation zugeordneten Parameter werden
in allen Fällen
in der Datenbasis in Bezug auf die transformierte Grundform abgelegt,
woraus sich das durch Tranformation einer Grundform gebildete Poylgon
jederzeit einfach herleiten lässt.
Andererseits bleibt jedes so gebildete Polygon einer Grundform zugeordnet.
-
Die
oben beschriebenen geometrischen Operationen sind beispielhaft und
erweiterbar. Die Zuordnung von geometrischen Operationen zu Grundformen
muss jedoch so erfolgen, dass eine Grundform nicht durch Anwendung
von zugeordneten geometrischen Operationen in eine andere Grundform
transformiert werden kann. Beispielsweise darf keine geometrische
Operation derart erfolgen können,
dass ein Dreieck mittels Abstufung einer Ecke (siehe Beispiel 1
oben) in ein Trapez transformiert wird. Nur so bleibt eine eindeutige
Zuordnung jeder durch Transformation einer Grundform entstandenen
Figur zu der ursprünglichen
Grundform erhalten.
-
Implementierung des Konzeptes
-
Wie
dargelegt basiert die Erfindung auf der Idee, mit Hilfe von Grundformen
die Verifikation von Layouts zu vereinfachen und die Möglichkeiten
der Verifikation zu erweitern, um eine Überprüfung der in Zukunft zu erwartenden
komplizierteren Layoutregeln vornehmen zu können.
-
Dieses
Konzept kann beispielsweise mittels eines graphischen Layouttools
realisiert werden, das zum Entwurf des Layouts nur geometrische
Grundformen zur Auswahl bereitstellt (beispielsweise am linken Bildschirmrand).
Nach Auswahl einer geometrischen Grundform kann diese auf der Zeichenfläche plaziert
und beispielsweise per Maus manipuliert werden, wobei das Programm
per Manipulation lediglich die der Grundform zugeordneten geometrischen
Operationen zulässt.
Dadurch werden letztlich die in Tabelle 1 aufgelisteten Parameter
bestimmt.
-
Die
graphische Oberfläche
des Layouttools kann so programmiert sein, dass die Gestalt der Grundformen
mittels der geometrischen Operationen aus Tabelle 1 interaktiv am
Bildschirm abgeändert werden
kann. Die Informationen zu den modifizierten Grundformen werden
anschließend
in der Datenbasis abgespeichert. Bei der Verifikation des Layouts kann
dann auf alle Informationen eines Polygons zugegriffen werden, die
es durch seine Klassenzugehörigkeit
besitzt. Weiterhin kann die Verifikationssoftware aber auch so programmiert
sein, dass auch auf die zusätzlichen
(erweiterten) in Tabelle 1 aufgeführten Parameter zugegriffen
wird.
-
Weiterhin
können
auch Datenbanken konvertiert werden, die Polygone nicht nach der
vorgestellten Methodik abspeichern. Zur Konvertierung solcher Datanbanken
ist eine Software geschaffen, die die darin abgespeicherten Polygone
nach vorgegebenen Kriterien untersucht (z.B. auf Anzahl der Seiten,
Länge der
Seiten, Winkel zwischen den Seiten), den Polygonen Grundformen zuordnet
und anschließend
in eine neue Datenbank schreibt. Bei der Verifikation kann dann
auf die in der neuen Datenbank. gespeicherten Grundformen zugegriffen
werden.
-
Es
ist anzumerken, dass die Erfindung nicht auf die beschriebenen Ausführungsbeispiele
beschränkt
ist, sondern Modifikationen innerhalb des durch die Ansprüche definierten
Schutzbereiches umfasst.
-
Angemerkt
sei zudem, dass der Begriff „elektronische
Bauelemente" in
der Beschreibung und den Ansprüchen
auch Leiterbahnen umfassen soll.