-
HINTERGRUND
-
In Halbleiterfertigungsprozessen wird zuweilen eine einzelne Schicht mithilfe von Mehrfach-Layout-Strukturen ausgebildet, um eine räumliche Auflösung der Schicht zu erhöhen. Jede der Mehrfach-Layout-Strukturen wird verschiedenen Gruppen zugeordnet. Eine solche Zuordnung wird von einem Schaltungsentwickler oder einem Layoutentwickler zum Beispiel durch Ausführen eines Softwareprogramms vorgenommen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Aspekte der vorliegenden Offenbarung werden am besten aus der nachstehenden ausführlichen Beschreibung verstanden, wenn sie zusammen mit den begleitenden Zeichnungen gelesen wird. Es ist zu beachten, dass gemäß dem Standardverfahren in der Branche verschiedene Merkmale nicht maßstabsgetreu gezeichnet sind. Vielmehr können die Abmessungen der verschiedenen Merkmale zur Klarheit der Erörterung beliebig vergrößert oder verkleinert sein.
-
1 ist ein schematisches Diagramm eines Entwurfssystems gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
2A ist ein schematisches Diagramm einer Schaltung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
2B zeigt eine vorgegebene Beschreibung in einer Netzlistendatei, die die Schaltung in 2A anzeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung;
-
2C ist ein schematisches Diagramm, das einen Layoutentwurf zeigt, der der Schaltung in 2A entspricht, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
3 ist ein Ablaufdiagramm eines Entwurfsverfahrens, das das Entwurfssystem in 1 verwendet, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
4 ist ein Ablaufdiagramm einer Operation des Verfahrens in 3 gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
5A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
5B ist ein schematisches Diagramm, das einen Layoutentwurf, der der Schaltung in 2A entspricht, und Layoutstrukturen des Layoutentwurfs zeigt, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
6A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
6B ist ein schematisches Diagramm, das den Layoutentwurf in 5B und Layoutstrukturen des Layoutentwurfs zeigt, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
7A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß alternativen Ausführungsformen der vorliegenden Offenbarung;
-
7B ist ein schematisches Diagramm, das den Layoutentwurf in 5B und Layoutstrukturen des Layoutentwurfs zeigt, gemäß alternativen Ausführungsformen der vorliegenden Offenbarung;
-
8A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß einigen anderen Ausführungsformen der vorliegenden Offenbarung;
-
8B ist ein schematisches Diagramm, das den Layoutentwurf in 2C, in 5 und Layoutstrukturen des Layoutentwurfs zeigt, gemäß einigen anderen Ausführungsformen der vorliegenden Offenbarung;
-
9A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß weiteren alternativen Ausführungsformen der vorliegenden Offenbarung;
-
9B ist ein schematisches Diagramm, das den Layoutentwurf in 5B und Layoutstrukturen des Layoutentwurfs zeigt, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
10A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß weiteren verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
10B ist ein schematisches Diagramm, das den Layoutentwurf in 5B und Layoutstrukturen des Layoutentwurfs zeigt, gemäß weiteren verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
11A zeigt eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung in 2A umfasst, gemäß anderen verschiedenen Ausführungsformen der vorliegenden Offenbarung;
-
11B ist ein schematisches Diagramm, das den Layoutentwurf in 5B und Layoutstrukturen des Layoutentwurfs zeigt, gemäß anderen verschiedenen Ausführungsformen der vorliegenden Offenbarung; und
-
12 zeigt ein schematisches Diagramm, das eine vorgegebene Beschreibung anzeigt, welche die Schaltung in 2A und die Layout-Einschränkungen in einer Netzlistendatei anzeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die nachstehende Offenbarung stellt viele verschiedene Ausführungsformen, oder Beispiele, zum Implementieren verschiedener Merkmale des vorliegenden Gegenstands bereit. Konkrete Beispiele von Komponenten und Anordnungen sind nachstehend beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind selbstverständlich lediglich Beispiele und sind nicht im beschränkenden Sinne gedacht. Zum Beispiel kann das Ausbilden eines ersten Merkmals über oder auf einem zweiten Merkmal in der nachstehenden Beschreibung Ausführungsformen umfassen, in denen das erste und das zweite Merkmal in direktem Kontakt ausgebildet werden, und kann ebenfalls Ausführungsformen umfassen, in denen zusätzliche Merkmale zwischen dem ersten und dem zweiten Merkmal ausgebildet werden können, so dass das erste und das zweite Merkmal möglicherweise nicht in direktem Kontakt stehen. Außerdem kann die vorliegende Offenbarung Bezugsnummern und/oder -buchstaben in den verschiedenen Beispielen wiederholen. Diese Wiederholung geschieht zum Zweck der Einfachheit und Klarheit und sie schreibt an sich keine Beziehung zwischen den verschiedenen besprochenen Ausführungsformen und/oder Ausgestaltungen vor.
-
Die in dieser Beschreibung verwendeten Begriffe weisen im Allgemeinen ihre normale Bedeutungen in der Technik und in dem konkreten Kontext, in dem jeder Begriff verwendet wird, auf. Die Verwendung von Beispielen in dieser Beschreibung, einschließlich von Beispielen beliebiger hier besprochener Begriffe, ist lediglich veranschaulichend und beschränkt keinesfalls den Umfang und die Bedeutung der Offenbarung oder eines als Beispiel erläuterten Begriffs. Gleichermaßen ist die vorliegende Offenbarung nicht auf verschiedene, in dieser Beschreibung angegebene Ausführungsformen beschränkt.
-
Obwohl die Begriffe „erster”, „zweiter” usw. hier verwendet werden können, um verschiedene Elemente zu beschreiben, sollten diese Elemente nicht durch diese Begriffe beschränkt sein. Diese Begriffe werden verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erstes Element als ein zweites Element bezeichnet werden, und gleichermaßen könnte ein zweites Element als ein erstes Element bezeichnet werden, ohne vom Umfang der Ausführungsformen abzuweichen. Wie hier verwendet, umfasst der Begriff „und/oder” eine beliebige und alle Kombinationen von einem oder mehreren der zugehörigen aufgelisteten Elementen.
-
1 ist ein schematisches Diagramm eines Entwurfssystems 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
Wie in 1 zur Veranschaulichung dargestellt, umfasst das Entwurfssystem 100 einen Prozessor 110, einen Speicher 120 und Eingabe-/Ausgabeschnittstellen (I/O-Schnittstellen) 130. Der Prozessor 110 ist mit dem Speicher 120 und den I/O-Schnittstellen 130 gekoppelt. In verschiedenen Ausführungsformen ist der Prozessor 110 eine zentrale Verarbeitungseinheit (CPU), eine Anwendungsspezifische integrierte Schaltung (ASIC), ein Mehrfach-Prozessor, ein verteiltes Verarbeitungssystem oder eine geeignete Verarbeitungseinheit. Verschiedene Schaltungen oder Einheiten zum Implementieren des Prozessors 110 liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
Der Speicher 120 speichert einen oder mehrere Programmcodes zum Unterstützen der Entwicklung von integrierten Schaltungen. Zur Veranschaulichung speichert der Speicher 120 einen Programmcode, der mit einem Satz von Befehlen zum Überprüfen von Layout-Strukturen der integrierten Schaltungen codiert ist. Der Prozessor 110 ist in der Lage, die in dem Speicher 120 gespeicherten Programmcodes auszuführen, und die Operationen des Layout-Überprüfens können automatisch durchgeführt werden.
-
In einigen Ausführungsformen ist der Speicher 120 ein nichtflüchtiges, computerlesbares Speichermedium, das mit einem Satz von ausführbaren Befehlen zum Überprüfen von Layout-Strukturen codiert ist, d. h. sie speichert. Zur Veranschaulichung speichert der Speicher 120 ausführbare Befehle zum Durchführen von Operationen, die zum Beispiel Operation S340, die in 4 dargestellt ist, umfassen. In einigen Ausführungsformen ist das computerlesbare Speichermedium ein elektronisches, magnetisches, optisches, elektromagnetisches, ein Infrarot- und/oder ein Halbleitersystem (oder eine Vorrichtung oder ein Bauelement). Zum Beispiel umfasst das computerlesbare Speichermedium einen Halbleiter- oder Festkörperspeicher, ein Magnetband, eine entfernbare Computerdiskette, einen Direktzugriffspeicher (RAM), einen Festwertspeicher (ROM), eine starre Magnetplatte und/oder eine optische Platte. In einer oder mehreren Ausführungsformen, die optische Platten verwenden, umfasst das computerlesbare Speichermedium eine CD-ROM (Compact Disc Read-Only Memory), eine CD-RW (Compact Disc Read/Write) und/oder eine DVD (Digital Video Disc).
-
Die I/O-Schnittstellen 130 empfangen Eingaben oder Befehle von verschiedenen Steuervorrichtungen, die zum Beispiel durch einen Schaltungsentwickler und/oder einen Layoutentwickler bedient werden. Dementsprechend kann das Entwurfssystem 100 mit Eingaben oder Befehlen, die über die I/O-Schnittstellen 130 empfangen werden, beeinflusst werden. In einigen Ausführungsformen umfassen die I/O-Schnittstellen 130 ein Display, das zum Anzeigen des Ausführungsstatus des Programmcodes ausgelegt ist. In einigen Ausführungsformen umfassen die I/O-Schnittstellen 130 eine grafische Benutzeroberfläche (GUI). In einigen anderen Ausführungsformen umfassen die I/O-Schnittstellen 130 eine Tastatur, ein Tastenfeld, eine Maus, einen Trackball, ein Trackpad, einen Berührungsbildschirm, Cursor-Richtungstasten oder die Kombination davon, um Informationen und Befehle an den Prozessor 110 zu kommunizieren.
-
2A ist ein schematisches Diagramm einer Schaltung 200 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Um die Darstellung eines Layoutüberprüfungsverfahrens 300 von 3 zu erleichtern, werden verschiedene Begriffe oder Komponenten, die sich auf Layout-Strukturen beziehen, unter Bezugnahme auf 2A eingeführt.
-
Die Schaltung 200 umfasst einen Schalter M1 und einen Schalter M2. Zum Beispiel werden in einigen Ausführungsformen der Schalter M1 und Schalter M2 mit N-Typ-Metall-Oxid-Silizium-Feldeffekttransistoren (MOSFETs) implementiert. Der Schalter M1 umfasst vier Anschlüsse, die als ein Gate (als G1 gekennzeichnet), ein Drain (als D gekennzeichnet), eine Source (als S1 gekennzeichnet), und ein Bulk (als B1 gekennzeichnet) definiert sind. Gleichermaßen umfasst der Schalter M2 vier Anschlüsse, die als ein Gate (als G2 gekennzeichnet), ein Drain (als D gekennzeichnet), eine Source (als S2 gekennzeichnet), und ein Bulk (als B2 gekennzeichnet) definiert sind. Wie zur Veranschaulichung in 2A dargestellt, ist der Anschluss D des Schalters M1 mit dem Anschluss D des Schalters M2 gekoppelt.
-
Nun wird Bezug sowohl auf 2A als auch 2B genommen. 2B zeigt eine Beschreibung in einer Netzlistendatei 220, die die Schaltung 200 in 2A anzeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. In einigen Ausführungsformen ist ein Schaltungsentwickler in der Lage, die Schaltung 200 durch Beschreiben der Schaltung 200 über die Netzlistendatei 220 zu entwerfen. In einigen Ausführungsformen stimmen die Inhalte der Netzlistendatei 220 mit einem vorgegebenen Syntaxtyp überein, der in der Lage ist, eine Schaltung in einem beschreibenden Format, das durch das Entwurfssystem 100 erkennbar ist, zu erfassen und/oder zu entwerfen. In einigen Ausführungsformen ist der vorgegebene Syntaxtyp BERKLEY-SPICE-Syntax. In einigen anderen Ausführungsformen ist der vorgegebene Syntaxtyp HSPICE-Syntax.
-
Wie zur Veranschaulichung in 2B dargestellt, umfasst die Beschreibung der Netzlistendatei 220 Abschnitte 221 bis 223. Der Abschnitt 221, der die Aussage „.subckt” verwendet, und der Abschnitt 223, der die Aussage „.ends” verwendet, deklarieren eine Schaltung, die als „200” bezeichnet ist, und ihre Anschlüsse D, G1, G2, S1, S2, B1 und B2. Der Abschnitt 222 deklariert ferner, dass die Schaltung 200 zwei N-Typ-Transistoren M1 und M2 (d. h. Schalter M1 und M2 in 2A) umfasst, indem er den Parameter „nch” verwendet, und ihre Verbindungen und Größen, indem er die Parameter „W = 3” und „L = 1” verwendet. In einigen Ausführungsformen ist der Schaltungsentwickler in der Lage, die Netzlistendatei 220 über das Entwurfssystem 100 zu erstellen und/oder zu editieren. In einigen Ausführungsformen speichert der Speicher 120 einen oder mehrere Programmcodes, die ausgeführt werden, um Schaltungssimulationen und -analyse gemäß der Netzlistendatei 220 durchzuführen.
-
Die Schaltung 200 in 2A ist zu Veranschaulichungszwecken angegeben. Verschiedene Schaltungen oder Halbleiterbauelemente für einen Layoutentwurf liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung. Entsprechend werden die Beschreibung in der Netzlistendatei 220 in 2B und ein nachstehend beschriebener Layoutentwurf ebenfalls zu Veranschaulichungszwecken angegeben.
-
Nun wird Bezug auf 2C genommen. 2C ist ein schematisches Diagramm, das einen Layoutentwurf 240 zeigt, welcher der Schaltung 200 in 2A entspricht, gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
In einigen Ausführungsformen umfasst der Layoutentwurf 240 Mehrfach-Layout-Strukturen, die Halbleiterschichten oder Metallschichten bei einer Fertigung entsprechen. Zur Veranschaulichung umfassen, wie in 2C dargestellt, die Mehrfach-Layout-Strukturen Oxid-Definitionsgebiete (OD-Gebiete) 240A–240B, Gategebiete 240C–240D, Verbindungsschichten 240E und Durchkontaktierungsstecker 240F. Das Gategebiet 240C entspricht dem Gate G1 des Schalters M1, und das Gategebiet 240D entspricht dem Gate G2 des Schalters M2. Das Gebiet 240A umfasst zwei Abschnitte 241 und 242 auf zwei Seiten des Gategebiets 240C, wie in 2C dargestellt. Der Abschnitt 241 des OD-Gebiets 240A entspricht der Source S1 des Schalters M1. Der Abschnitt 242 des OD-Gebiets 240A entspricht dem Drain D des Schalters M1. Das Gebiet 240B umfasst außerdem zwei Abschnitte 243 und 244 auf zwei Seiten des Gategebiets 240D, wie in 2C dargestellt. Der Abschnitt 243 des OD-Gebiets 240B entspricht der Source S1 des Schalters M2. Der Abschnitt 244 des OD-Gebiets 240B entspricht dem Drain D des Schalters M2. Die Verbindungsschichten 240E und die Durchkontaktierungsstecker 240F werden ausgebildet, um den Drain D des Schalters M1 mit dem Drain D des Schalters M2 elektrisch zu koppeln.
-
In einigen Ausführungsformen werden die Verbindungsschichten 240E mit einer oder mehreren Metallschichten ausgebildet. Zur Veranschaulichung umfassen die Verbindungsschichten 240E eine Metallschicht Metall-1 und eine Metallschicht Metall-2. Jede von der Metallschicht Metall-1 und der Metallschicht Metall-2 wird mit mehreren Gruppen von Schichtstrukturen ausgebildet. Zur Veranschaulichung sind in 2C die Layout-Strukturen für die Metallschicht Metall-1 zu Gruppe M1_A und Gruppe M1_B zugeordnet, bei denen sich die Gruppe M1_A und die Gruppe M1_B gegenseitig ausschließen. Zum Beispiel wird die Metallschicht Metall-1 unter Verwendung einer Doppelstrukturierungstechnologie gefertigt. Die Metallschicht Metall-1 wird mit zwei separaten Gruppen M1_A und M1_B ausgebildet. In einigen Ausführungsformen werden die Layout-Strukturen, die den Gruppen M1_A und M1_B der Metallschicht Metall-1 entsprechen, auf verschiedenen Masken ausgebildet. Die Layout-Strukturen der Metallschicht Metall-2 sind der Gruppe M2_A zugeordnet. In verschiedenen Ausführungsformen verwendet das Entwurfssystem 100 verschiedene Farbenstrukturen, um die Gruppe M1_A, die Gruppe M1_B und die Gruppe M2_A darzustellen.
-
In einigen Anwendungen wird der Layoutentwurf 240 unter Einhaltung einiger Entwurfsregeln entworfen. Zum Beispiel ist ein Mindestabstand zwischen zwei Leitungen, die mit derselben Gruppe der Metallschicht ausgebildet werden, begrenzt. Um die Fläche der Schaltung 200 in 2A zu reduzieren, wird daher der Anschluss D des Schalters M1 unter Verwendung einer anderen Gruppe der Metallschicht mit dem Schalter M2 gekoppelt. Des Weiteren wird der Anschluss D des Schalters M2 unter Verwendung einer anderen Gruppe der Metallschicht mit dem Schalter M1 gekoppelt. Zur Veranschaulichung wird, wie in 2C dargestellt, der Anschluss D des Schalters M1 unter Verwendung der Gruppe M1_A der Metallschicht Metall-1 mit dem Anschluss D des Schalters M2 gekoppelt. Der Anschluss D des Schalters M2 wird unter Verwendung der Gruppe M1_B der Metallschicht Metall-1 mit dem Anschluss D des Schalters M1 gekoppelt.
-
In verschiedenen Ausführungsformen empfängt mindestens eine der I/O-Schnittstellen 130 in 1 die Netzlistendatei 220 in 2B. In einigen Ausführungsformen sind ein Schaltungsentwickler und/oder ein Layoutentwickler in der Lage, Layout-Einschränkungen für die Schaltung 200 in 2A über mindestens eine der I/O-Schnittstellen 130 in 1 bereitzustellen. In einigen Ausführungsformen spezifizieren die Layout-Einschränkungen, wie die Mehrfach-Layout-Strukturen eines oder mehrerer Anschlüsse in dem Layoutentwurf 240 in 2C zugeordnet werden würden. In einigen Ausführungsformen arbeitet der Prozessor 110 zusammen mit dem Speicher 120 in 1 auf der Grundlage der empfangenen Netzlistendatei 220 und der Layout-Einschränkungen. Dementsprechend ist das Entwurfssystem 100 in der Lage, die Mehrfach-Layout-Strukturen in dem Layoutentwurf 240 in 2C mit den Layout-Einschränkungen zu vergleichen, um zu überprüfen, ob der Layoutentwurf 240 mit der in 2C dargestellten Anordnung übereinstimmt.
-
Die Anordnungen der Layout-Strukturen in 2C, die der Schaltung 200 in 2A entsprechen, sind zu Veranschaulichungszwecken angegeben. Verschiedene Anordnungen der Layout-Strukturen liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
In einigen Ausführungsformen ist zumindest eine Gruppe der Layout-Strukturen mindestens einem der Anschlüsse der Schaltung 200 in 2A zugeordnet. In einigen Ausführungsformen werden die Anschlüsse der Schaltung 200 in der Netzlistendatei 220 in 2B definiert. In einigen Ausführungsformen wird jeder Anschluss der Schaltung 200 mit mindestens einem Anschluss eines oder mehrerer Bauelemente, Elemente und/oder anderer geeigneter Halbleiterkomponenten ausgebildet. Zur Veranschaulichung wird, wie in 2A dargestellt, der Anschluss D der Schaltung 200 mit den Drainanschlüssen D zweier Schalter M1 und M2 ausgebildet.
-
Die vorstehend erwähnten Definitionen und/oder Anordnungen der Anschlüsse der Schaltung sind lediglich zu Veranschaulichungszwecken angegeben. Verschiedene Definitionen und/oder Anordnungen der Anschlüsse der Schaltung liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
Nun wird Bezug auf 3 genommen. 3 ist ein Ablaufdiagramm eines Entwurfsverfahrens 300, das das Entwurfssystem 100 in 1 verwendet, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Zur Erleichterung des Verständnisses wird nachstehend als ein Beispiel das Entwurfsverfahren 300 unter Bezugnahme auf 1 und 2A bis 2C beschrieben. Das Entwurfsverfahren 300 kann außerdem auf andere Ausführungsformen der vorliegenden Offenbarung, einschließlich der Ausführungsformen in 5A bis 11B, angewendet werden.
-
Das Entwurfsverfahren 300 umfasst Operationen S310 bis S360. In Operation S310 werden die Netzlistendatei und die Layout-Einschränkungen für die Schaltung in das Entwurfssystem eingegeben. Zur Veranschaulichung werden die Netzlistendatei 220 in 2B und die Layout-Einschränkungen für die Schaltung 200 in 2A in das Entwurfssystem 100 in l eingegeben.
-
In einigen Ausführungsformen wird die Schaltung 200 in der Netzlistendatei 220 durch verschiedene Schaltungssimulationswerkzeuge, die in dem Entwurfssystem 100 verfügbar sind, beschrieben. In verschiedenen Ausführungsformen wird eine vorgegebene Beschreibung, die Layout-Einschränkungen für die Schaltung 200 umfasst, durch verschiedene Schaltungssimulationswerkzeuge und/oder EDA-Werkzeuge (Werkzeuge der Entwurfsautomatisierung elektronischer Systeme), die in dem Entwurfssystem 100 zu Verfügung stehen, bestimmt. Zur Veranschaulichung werden die Layout-Einschränkungen in einer vorgegebenen Beschreibung definiert, die zum Beispiel 500 in 5A, 600 in 6A, 700 in 7A, 800 in 8A, 900 in 9A, 1000 in 10A und 1100 in 11A nachstehend umfasst.
-
In Operation S320 wird der Layoutentwurf, der der Schaltung entspricht, bestimmt und in das Entwurfssystem eingegeben. Zur Veranschaulichung wird der Layoutentwurf 240 in 2C, der der Schaltung 200 in 2A entspricht, bestimmt und in das Entwurfssystem 100 in 1 eingegeben. In einigen Ausführungsformen wird der Layoutentwurf 240 durch einen Layoutentwickler mithilfe der EDA-Werkzeuge, die im Entwurfssystem 100 zur Verfügung stehen, manuell entworfen. In verschiedenen Ausführungsformen wird der Layoutentwurf 240 von einem APR-Werkzeug (auto place and route), das im Entwurfssystem 100 zur Verfügung steht, gemäß der Netzlistendatei 220 erzeugt.
-
In Operation S330 bestimmt das Entwurfssystem, ob eine LCS-Verifizierung (Layout versus Schematic) bestanden wurde. Zur Veranschaulichung führt das Entwurfssystem 100 in 1 eine LVS-Verifizierung (Layout versus Schematic) durch, um zu überprüfen, ob der Layoutentwurf 240 in 2C mit der Schaltung 200 in 2A übereinstimmt. Wenn ja, wird Operation S340 durchgeführt. Ansonsten wird Operation S350 durchgeführt. In einigen Ausführungsformen wird die LVS-Verifizierung durch das EDA-Werkzeug, das in dem Entwurfssystem 100 verfügbar ist, durchgeführt.
-
In einigen Ausführungsformen umfasst die LVS-Verifizierung folgende Operationen. Das Entwurfssystem 100 extrahiert die Verbindungen der Schaltung 200 aus der Netzlistendatei 220 und extrahiert die Mehrfach-Layout-Strukturen aus dem Layoutentwurf 240. Das Entwurfssystem 100 bestimmt dann, ob die Schaltung, die gemäß den Mehrfach-Layout-Strukturen ausgebildet wurde, mit den Verbindungen der Schaltung 200 übereinstimmt. Wenn die gemäß den Mehrfach-Layout-Strukturen ausgebildete Schaltung mit den Verbindungen der Schaltung 200 übereinstimmt, bestimmt der Prozessor 110, dass die LVS-Verifizierung bestanden wurde. Ansonsten bestimmt der Prozessor 110, dass die LVS-Verifizierung nicht bestanden wurde.
-
Wenn die LVS-Verifizierung bestanden wurde, bestimmt der Prozessor bei Operation S340, ob die Mehrfach-Layout-Strukturen den Layout-Einschränkungen entsprechen. Wenn ja, wird Operation S340 durchgeführt. Ansonsten wird Operation S350 durchgeführt. Zur Veranschaulichung führt der Prozessor 110 in 1 Programmcodes aus, um Layout-Strukturen der Schaltung 200 aus dem Layoutentwurf 240 in 2C zu extrahieren. In einigen Ausführungsformen umfassen die Layout-Strukturen eine oder mehrere Verbindungsschichten in dem Layoutentwurf 240. Der Prozessor 110 vergleicht dann die Layout-Strukturen der Schaltung 200 mit den Layout-Einschränkungen, um zu bestimmen, ob die Layout-Strukturen den Layout-Einschränkungen entsprechen. Die zugehörigen Operationen werden nachstehend unter Bezugnahme auf 4 beschrieben.
-
Wenn die Mehrfach-Layout-Strukturen nicht den Layout-Einschränkungen entsprechen, wird in Operation S350 der Layoutentwurf, der der Schaltung entspricht, revidiert, um die LVS-Verifizierung in Operation S330 zu bestehen und/oder den Layout-Einschränkungen in Operation S340 zu entsprechen. Nachdem Operation S350 durchgeführt wurde, kehrt der Prozessor 110 zum Durchführen der Operation S320 zurück. Wenn zur Veranschaulichung die Layout-Strukturen, die aus dem Layoutentwurf 240 in 2C extrahiert wurden, nicht den Layout-Einschränkungen entsprechen, wird der Layoutentwurf 240 revidiert, um die LVS-Verifizierung zu bestehen und/oder den Layout-Einschränkungen zu entsprechen.
-
Wenn die Mehrfach-Layout-Strukturen den Layout-Einschränkungen entsprechen, führt das Entwurfssystem in Operation S360 eine „RC-Extraktion” (RCE) durch, um die Schaltung mit parasitären Effekten zu analysieren. Nachdem zur Veranschaulichung die Layout-Einschränkungen erfüllt wurden, ist das Entwurfssystem 100 in 1 in der Lage, die RCE durchzuführen, um die Schaltung 200 in 2A mithilfe des EDA-Werkzeugs, das in dem Entwurfssystem 100 zur Verfügung steht, zu analysieren.
-
In einigen Ausführungsformen umfasst die RCE folgende Operationen. Das Entwurfssystem 100 extrahiert parasitäre Komponenten der Schaltung 200 aus den Mehrfach-Layout-Strukturen. Das Entwurfssystem 100 führt dann Schaltungssimulationen und eine Analyse gemäß der Netzlistendatei 220 und den parasitären Komponenten durch. In einigen Ausführungsformen extrahiert das EDA-Werkzeug die parasitären Komponenten, die zum Beispiel Kapazitäten, Widerstände und Induktivitäten umfassen, innerhalb von Schichten des Layoutentwurfs 240. Dementsprechend kann mindestens ein parasitärer Effekt in der Schaltung 200 berechnet werden.
-
Nachdem Operation S2340 durchgeführt wurde und wenn die Mehrfach-Layout-Strukturen den Layout-Einschränkungen entsprechen, generiert der Prozessor 110 in einigen Ausführungsformen Daten, die den Layoutentwurf 240 in 2C anzeigen. In weiteren Ausführungsformen können die Daten, die den Layoutentwurf 240 in 2C anzeigen, für mindestens ein Werkzeug verwendet werden, das einen Halbleiterprozess zum Fertigen der Schaltung 200 auf der Grundlage der Mehrfach-Layout-Strukturen des Layoutentwurfs 240 in 2C durchführt. In einigen Ausführungsformen umfasst das vorstehend besprochene Werkzeug ein oder mehrere Halbleiterherstellungsgeräte zum Durchführen einer Halbleiterfertigung auf einem Wafer.
-
Ein Fachmann wird erkennen, dass eine Reihenfolge von Operationen im Verfahren 300 anpassbar ist. Ein Fachmann wird ferner erkennen, dass zusätzliche Operationen im Entwurfsverfahren 300 aufgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.
-
Zur Erleichterung des Verständnisses wird nachstehend als ein Beispiel das Entwurfsverfahren 300 unter Bezugnahme auf 5B beschrieben. In einigen Ausführungsformen ist das Entwurfsverfahren 300 auf Mehrfach-Layout-Strukturen anwendbar, die zahlreiche Verbindungsschichten aufweisen, bei denen jede der Verbindungsschichten mehreren Gruppen zugeordnet wird. Zur Veranschaulichung umfassen die Verbindungsschichten Metallschichten Metall-1, Metall-2 und Metall-3, wie nachstehend in 5B dargestellt. Die Metallschicht Metall-1 ist der Gruppe M1_A und der Gruppe M1_B zugeordnet. Die Metallschicht Metall-2 ist der Gruppe M2_A und einer Gruppe M2_B zugeordnet. Die Metallschicht Metall-3 ist der Gruppe M3_A und einer Gruppe M3_B zugeordnet.
-
Zur Veranschaulichung werden nachstehende Ausführungsformen mit den Metallschichten Metall-1, Metall-2 und Metall-3 beschrieben, aber die vorliegende Offenbarung ist diesbezüglich nicht beschränkt. Die Anzahl und Ausgestaltung der Verbindungsschichten und der Gruppen in nachstehenden Ausführungsformen werden zu Veranschaulichungszwecken angegeben. Verschiedene Anzahlen und Ausgestaltungen der Verbindungsschichten und der Gruppen in nachstehenden Ausführungsformen liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
4 ist ein Ablaufdiagramm von Operation S340 des Verfahrens 300 in 3, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. 5A zeigt eine vorgegebene Beschreibung 500, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. 5B ist ein schematisches Diagramm, das einen Layoutentwurf 520, welcher der Schaltung 200 in 2A entspricht, und Layoutstrukturen 540 des Layoutentwurfs 520 zeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Operationen, die in der Operation S340 in 4 aufgenommen sind, werden nachstehend unter Bezugnahme auf 5A–5B beschrieben.
-
Die Operation S340 umfasst Teiloperationen S341 bis S343. In Teiloperation S341 werden die Layout-Einschränkungen durch die vorgegebene Beschreibung bestimmt. Zur Veranschaulichung liegen in einigen Ausführungsformen die Inhalte der vorgegebenen Beschreibung 500 in 5A in einer Form vor, die mit einer vorgegebenen Syntaxart übereinstimmen kann.
-
Wie in 5A dargestellt, umfasst die vorgegebene Beschreibung 500 zwei Codierabschnitte 501 und 502. Der Codierabschnitt 501 ist konfiguriert, um in einer vorgegebenen Sequenz die Gruppen der Verbindungsschichten dem Anschluss D des Schalters M1 zuzuordnen. Mit anderen Worten spezifiziert der Codierabschnitt 501 die Layout-Einschränkungen für den Anschluss D des Schalters M1. Zur Veranschaulichung spezifiziert der Codierabschnitt 501, dass der Anschluss D des Schalters M1 sequenziell mit der Gruppe M1_A, der Gruppe M2_B und der Gruppe M1_B gekoppelt wird. Mit derartigen Einschränkungen wird erwartet, dass der Anschluss D des Schalters M1 mit der Gruppe M1_A gekoppelt wird, und mit der Gruppe M2_B über die Gruppe M1_A gekoppelt wird, und ferner mit der Gruppe M1_B über die Gruppe M1_A und die Gruppe M2_B gekoppelt wird.
-
Der Codierabschnitt 502 ist konfiguriert, um in einer vorgegebenen Sequenz die Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zuzuordnen. Mit anderen Worten spezifiziert der Codierabschnitt 502 die Layout-Einschränkungen für den Anschluss D des Schalters M2. Zur Veranschaulichung spezifiziert der Codierabschnitt 502, dass der Anschluss D des Schalters M2 sequenziell mit der Gruppe M1_B und der Gruppe M2_B gekoppelt wird. Bei derartigen Einschränkungen wird erwartet, dass der Anschluss D des Schalters M2 mit der Gruppe M1_B gekoppelt wird, und mit der Gruppe M2_B durch die Gruppe M1_B gekoppelt wird.
-
Unter weiterer Bezugnahme auf 4 extrahiert in Teiloperation S342 der Prozessor Layout-Strukturen aus dem Layoutentwurf. In Teiloperation S343 vergleicht der Prozessor die Layout-Strukturen 540 mit den Layout-Einschränkungen. Zur Veranschaulichung extrahiert der Prozessor 110 in 1 die Layout-Strukturen 540 in 5B aus dem Layoutentwurf 520 in 5B und vergleicht dann die Layout-Strukturen 540 mit den Layout-Einschränkungen, die in der vorgegebenen Beschreibung 500 in 5A definiert sind.
-
In einigen Ausführungsformen umfassen die Layout-Strukturen 540 die Verbindungsschichten, die zwischen den Schaltern M1 und M2 in dem Layoutentwurf 520 gekoppelt werden. Zur Veranschaulichung extrahiert, wie in 5B dargestellt, der Prozessor 110 sequenziell die Gruppen der Verbindungsschichten, die von dem Anschluss D des Schalters M1 zu dem Anschluss D des Schalters M2 verbunden sind, wie in einem Abschnitt 541 der Layout-Strukturen 540 dargestellt. Der Anschluss D des Schalters M1 wird mit dem Anschluss D des Schalters M2 über die Gruppen M1_A, M2_B, M1_B, M2_B, M3_A, M2_B und M1_B in Sequenz gekoppelt. Der Prozessor 110 extrahiert außerdem die Gruppen der Verbindungsschichten, die von dem Anschluss D des Schalters M2 zu dem Anschluss D des Schalters M1 verbunden sind, wie in einem Abschnitt 542 der Layout-Strukturen 540 dargestellt.
-
Außerdem vergleicht der Prozessor 110 den Abschnitt 541 in 5B mit dem Codierabschnitt 501 in 5A. Zur Veranschaulichung folgt in dem Codierabschnitt 501 auf die Gruppe M1_A die Gruppe M2_B, und auf die Gruppe M2_B folgt die Gruppe M1_B. Im Abschnitt 541 folgt auf die Gruppe M1_A ebenfalls die Gruppe M2_B, und auf die Gruppe M2_B folgt ebenfalls die Gruppe M1_B. Im Vergleich dazu stimmt die Sequenz der entsprechenden Layout-Strukturen, die im Abschnitt 541 beschrieben sind, mit der Sequenz von entsprechenden Gruppen, die in dem Codierabschnitt 501 beschrieben sind, überein. Dementsprechend bestimmt der Prozessor 110, dass der Abschnitt 541 der Layout-Strukturen 540 für den Schalter M1 den Layout-Einschränkungen entspricht, da die Sequenz der Gruppen im Abschnitt 541 jener der Gruppen in dem Codierabschnitt 501 gleich ist.
-
Der Prozessor 110 vergleicht außerdem den Abschnitt 542 in 5B mit dem Codierabschnitt 502 in 5A. Zur Veranschaulichung folgt in dem Codierabschnitt 502 auf die Gruppe M1_B die Gruppe M2_B. Im Abschnitt 542 folgt auf die Gruppe M1_B ebenfalls die Gruppe M2_B. Im Vergleich dazu stimmt die Sequenz der entsprechenden Layout-Strukturen, die im Abschnitt 542 beschrieben sind, mit der Sequenz von entsprechenden Gruppen, die in dem Codierabschnitt 502 beschrieben sind, überein. Dementsprechend bestimmt der Prozessor 110, dass der Abschnitt 542 der Layout-Strukturen 540 für den Schalter M2 den Layout-Einschränkungen entspricht, da die Sequenz der Gruppen im Abschnitt 542 jener der Gruppen im Codierabschnitt 502 gleich ist.
-
Nun wird Bezug auf 6A und 6B genommen. 6A zeigt eine vorgegebene Beschreibung 600, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. 6B ist ein schematisches Diagramm, das den Layoutentwurf 520 in 5B und Layoutstrukturen 640 des Layoutentwurfs 520 zeigt, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung.
-
In einigen Ausführungsformen sind die Layout-Einschränkungen konfiguriert, um die Verbindungsschichten jeweils dem Anschluss D des Schalters M1 bzw. dem Anschluss D des Schalters M2 gemäß der numerischen Reihenfolge der Verbindungsschichten zuzuordnen. Zur Veranschaulichung umfasst, wie in 6A dargestellt, die vorgegebene Beschreibung 600 zwei Codierabschnitte 601 und 602. Der Codierabschnitt 601 ordnet in aufsteigender nummerischer Reihenfolge die Gruppen der Verbindungsschichten dem Anschluss D des Schalters M1 zu. Zum Beispiel ordnet der Codierabschnitt 601 Metall-1, dann Metall-2, dann Metall-3 und so weiter zu. Der Codierabschnitt 602 ordnet gleichermaßen in aufsteigender nummerischer Reihenfolge die Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zu.
-
Zu Veranschaulichung werden in 6A die Gruppe M1_A und die Gruppe M2_B sequenziell dem Anschluss D des Schalters M1 zugeordnet. Die Gruppe M1_B und die Gruppe M2_B werden sequenziell dem Anschluss D des Schalters M2 zugeordnet.
-
Außerdem extrahiert in einigen Ausführungsformen der Prozessor 110 die Layout-Strukturen 640 aus dem Layoutentwurf 520 in aufsteigender nummerischer Reihenfolge. Zum Beispiel extrahiert der Prozessor 110 Metall-1, dann Metall-2, dann Metall-3 und so weiter. Zur Veranschaulichung bestimmt, wie in 6B dargestellt, der Prozessor 110, dass die obere Gruppe der Verbindungsschicht auf den Anschlüssen D beider der Schalter M1 und M2 M3_A ist. Der Prozessor 110 extrahiert dann die Gruppen der Verbindungsschichten, die von dem Anschluss D des Schalters M1 zu der oberen Gruppe M3_A verbunden sind, in aufsteigender nummerischer Reihenfolge, wie in einem Abschnitt 641 der Layout-Strukturen 640 dargestellt. Der Anschluss D des Schalters M1 wird mit der oberen Gruppe M3_A über die Gruppen M1_A, M2_B, M1_B und M2_B gekoppelt. Der Prozessor 110 sortiert somit diese Gruppen in aufsteigender nummerischer Reihenfolge, wie im Abschnitt 641 dargestellt, gemäß der numerischen Reihenfolge der Metallschichten Metall-1 bis Metall-3.
-
Der Prozessor 110 generiert außerdem einen Abschnitt 642 der Layout-Strukturen 640 durch Extrahieren der Gruppen der Verbindungsschichten, die von dem Abschnitt D des Schalters M2 zu der oberen Gruppe M3_A verbunden sind, in aufsteigender nummerischer Reihenfolge. Dementsprechend ist der Prozessor 110 in der Lage, die Codierabschnitte 601 und 602 in 6A jeweils mit dem Abschnitt 641 bzw. 642 in 6B zu vergleichen, um zu überprüfen, ob der Layoutentwurf 520 den Layout-Einschränkungen entspricht.
-
Zur Veranschaulichung folgt in dem Codierabschnitt 601 auf die Gruppe M1_A die Gruppe M2_B. Im Abschnitt 641 folgt auf die Gruppe M1_A ebenfalls die Gruppe M2_B über die Gruppe M1_B. Dementsprechend bestimmt der Prozessor 110, dass der Abschnitt 641 der Layout-Strukturen 640 für den Schalter M1 den Layout-Einschränkungen entspricht, da die Sequenz der Gruppen im Abschnitt 641 jener der Gruppen im Codierabschnitt 601 gleich ist.
-
Zur weiteren Veranschaulichung folgt in dem Codierabschnitt 602 auf die Gruppe M1_B die Gruppe M2_B. Im Abschnitt 641 folgt auf die Gruppe M1_A ebenfalls die Gruppe M2_B. Dementsprechend bestimmt der Prozessor 110, dass der Abschnitt 641 der Layout-Strukturen 640 für den Schalter M1 den Layout-Einschränkungen entspricht, da die Sequenz der Gruppen im Abschnitt 641 jener der Gruppen im Codierabschnitt 601 gleich ist.
-
Nun wird Bezug auf 7A und 7B genommen. 7A zeigt eine vorgegebene Beschreibung 700, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß alternativen Ausführungsformen der vorliegenden Offenbarung. 7B ist ein schematisches Diagramm, das den Layoutentwurf 520 in 5B und Layoutstrukturen 740 des Layoutentwurfs 520 zeigt, gemäß alternativen Ausführungsformen der vorliegenden Offenbarung.
-
Im Vergleich mit 6A–6B ordnet in einigen Ausführungsformen ein Codierabschnitt 701 der vorgegebenen Beschreibung 700 die Gruppen der Verbindungsschichten, in absteigender nummerischer Reihenfolge, dem Anschluss D des Schalters M1 zu. Zum Beispiel ordnet der Codierabschnitt 701 Metall-3, dann Metall-2, dann Metall-1 und so weiter zu. Ein Codierabschnitt 702 der vorgegebenen Beschreibung 700 ordnet gleichermaßen in absteigender nummerischer Reihenfolge die Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zu.
-
Zu Veranschaulichung werden in 7A die Gruppe M2_B und die Gruppe M1_A sequenziell dem Anschluss D des Schalters M1 zugeordnet. Die Gruppe M2_B und die Gruppe M1_B werden sequenziell dem Anschluss D des Schalters M2 zugeordnet. Wie in 7B dargestellt, extrahiert der Prozessor 110 die Gruppen, die von der oberen Gruppe M3_A zu dem Anschluss D des Schalters M1 verbunden sind. Dann sortiert der Prozessor 110 die Gruppen in den Layout-Strukturen in absteigender numerischer Reihenfolge, wie in einem Abschnitt 741 der Layout-Strukturen 740 dargestellt. Der Prozessor 110 extrahiert ferner die Gruppen in den Layout-Strukturen, die von der oberen Gruppe M3_A zu dem Anschluss D des Schalters M2 verbunden sind. Dann sortiert der Prozessor 110 die Gruppen in den Layout-Strukturen in absteigender numerischer Reihenfolge, wie in einem Abschnitt 742 der Layout-Strukturen 740 dargestellt. Folglich ist der Prozessor 110 in der Lage, die Codierabschnitte 701 und 702 in 7A jeweils mit dem Abschnitt 741 bzw. 742 in 7B zu vergleichen, um zu überprüfen, ob der Layoutentwurf 520 den Layout-Einschränkungen entspricht. Die Art und Weise zum Überprüfen, ob der Layoutentwurf 520 den Layout-Einschränkungen entspricht, ist im Hinblick auf 7A und 7B der vorstehend besprochenen Weise ähnlich, weswegen sie hier nicht weiter erörtert wird.
-
Die vorgegebenen Sequenzen, die die aufsteigende numerische Reihenfolge und/oder die absteigende numerische Reihenfolge umfassen, werden lediglich zu Veranschaulichungszwecken angegeben. Verschiedene Arten von Reihenfolgen liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
Nun wird Bezug auf 8A und 8B genommen. 8A zeigt eine vorgegebene Beschreibung 800, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß einigen anderen Ausführungsformen der vorliegenden Offenbarung. 8B ist ein schematisches Diagramm, das den Layoutentwurf 240 in 2C und Layoutstrukturen 840 des Layoutentwurfs 240 zeigt, gemäß einigen anderen Ausführungsformen der vorliegenden Offenbarung.
-
In einigen Ausführungsformen sind die Layout-Einschränkungen konfiguriert, um innerhalb eines Gebiets 860, wie in 8B dargestellt, eine Gruppe einer der Verbindungsschichten dem Anschluss D des Schalters M1 zuzuordnen, und um innerhalb eines Gebiets 861, wie in 8B dargestellt, eine andere Gruppe der einen von den Verbindungsschichten dem Anschluss D des Schalters M2 zuzuordnen.
-
Zur Veranschaulichung umfasst, wie in 8A dargestellt, die vorgegebene Beschreibung 800 Codierabschnitte 801 und 802. Der Codierabschnitt 801 spezifiziert unter Verwendung des Parameters „ungefähr 0,1 um”, dass die Gruppe M1_A der Metallschicht Metall-1 dem Anschluss D des Schalters M1 innerhalb des Gebiets 860 zugeordnet wird. Der Parameter „ungefähr 0,1 um” spezifiziert, dass die Fläche des Gebiets 860 ungefähr 0,1·0,1 um2 beträgt. Wie in 8B dargestellt, ist in einigen Ausführungsformen die mittige Position des Gebiets 860 auf einen Kreuzungspunkt des Gategebiets 240C und des Oxiddefinitionsgebeits 240A des Schalters M1 eingestellt.
-
Der Codierabschnitt 802 spezifiziert unter Verwendung des Parameters „ungefähr 0,1 um”, dass die Gruppe M1_B der Metallschicht Metall-1 dem Anschluss D des Schalters M2 innerhalb des Gebiets 861 zugeordnet wird. Demzufolge wird spezifiziert, dass die Fläche des Gebiets 861 ungefähr 0,1·0,1 um2 beträgt. In einigen Ausführungsformen ist die mittige Position des Gebiets 861 auf einen Kreuzungspunkt des Gategebiets 240D und des Oxiddefinitionsgebiets 240B des Schalters M2 eingestellt.
-
Im Vergleich mit 5B extrahiert der Prozessor 110 die Layout-Strukturen innerhalb der Gebiete 860 und 861. Zur Veranschaulichung extrahiert, wie in 8B dargestellt, der Prozessor 110 sequenziell die Layout-Strukturen, die von dem Anschluss D des Schalters M1 zu dem Anschluss D des Schalters M2 innerhalb des Gebiets 860 verbunden sind, wie in einem Abschnitt 841 der Layout-Strukturen 840 dargestellt. Der Prozessor 110 extrahiert sequenziell die Layout-Strukturen, die von dem Anschluss D des Schalters M2 zu dem Anschluss D des Schalters M1 innerhalb des Gebiets 861 verbunden sind, wie in einem Abschnitt 842 der Layout-Strukturen 840 dargestellt. Der Prozessor 110 vergleicht ferner den Codierabschnitt 801 in 8A mit dem Abschnitt 841 in 8B, und vergleicht den Codierabschnitt 802 in 8A mit dem Abschnitt 842 in 8B. Daher ist der Prozessor 110 in der Lage zu bestimmen, ob der Layoutentwurf 240 den Layout-Einschränkungen, die in der vorgegebenen Beschreibung 800 definiert sind, entspricht.
-
Nun wird Bezug auf 9A und 9B genommen. 9A zeigt eine vorgegebene Beschreibung 900, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß weiteren alternativen Ausführungsformen der vorliegenden Offenbarung. 9B ist ein schematisches Diagramm, das den Layoutentwurf 520 in 5B und Layoutstrukturen 940 des Layoutentwurfs 520 zeigt, gemäß weiteren alternativen Ausführungsformen der vorliegenden Offenbarung.
-
Im Vergleich mit 8A sind in einigen Ausführungsformen die Layout-Einschränkungen konfiguriert, um innerhalb eines Gebiets 960, wie in 9B dargestellt, Gruppen der Verbindungsschichten dem Anschluss D des Schalters M1 zuzuordnen, und um sequenziell innerhalb eines Gebiets 961, wie in 9B dargestellt, Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zuzuordnen.
-
Zur Veranschaulichung umfasst, wie in 9A dargestellt, die vorgegebene Beschreibung 900 Codierabschnitte 901 und 902. Der Codierabschnitt 901 spezifiziert, dass die Gruppe M1_A und die Gruppe M2_B innerhalb des Gebiets 960, das eine Fläche von ungefähr 0,05·0,05 um2 aufweist, sequenziell in einer vorgegebenen Sequenz mit dem Anschluss D des Schalters M1 gekoppelt werden. Bei derartigen Einschränkungen wird erwartet, dass der Anschluss D des Schalters M1 mit der Gruppe M1_A gekoppelt wird, und mit der Gruppe M2_B über die Gruppe M1_A innerhalb des Gebiets 961 gekoppelt wird. Der Codierabschnitt 902 spezifiziert, dass die Gruppe M1_B und die Gruppe M2_B innerhalb des Gebiets 961, das eine Fläche von ungefähr 0,05·0,05 um2 aufweist, sequenziell in einer vorgegebenen Sequenz mit dem Anschluss D des Schalters M2 gekoppelt werden. Bei derartigen Einschränkungen wird erwartet, dass der Anschluss D des Schalters M2 mit der Gruppe M1_B gekoppelt wird, und mit der Gruppe M2_B über die Gruppe M1_B innerhalb des Gebiets 961 gekoppelt wird.
-
Außerdem extrahiert der Prozessor 110 sequenziell die Layout-Strukturen innerhalb der Gebiete 960 und 961. Zur Veranschaulichung extrahiert, wie in 9B dargestellt, der Prozessor 110 sequenziell die Gruppen in den Layout-Strukturen, die von dem Anschluss D des Schalters M1 zu dem Anschluss D des Schalters M2 innerhalb des Gebiets 960 verbunden sind, wie in einem Abschnitt 941 der Layout-Strukturen 940 dargestellt. Der Prozessor 110 extrahiert sequentiell die Gruppen in den Layout-Strukturen, die vom Anschluss D des Schalters M2 zum Anschluss D des Schalters M1 innerhalb des Gebiets 961 verbunden sind, wie in einem Abschnitt 942 der Layout-Strukturen 940 dargestellt. Der Prozessor 110 vergleicht ferner den Codierabschnitt 901 mit dem Abschnitt 941, und vergleicht den Codierabschnitt 902 mit dem Abschnitt 942. Daher ist der Prozessor 110 in der Lage zu bestimmen, ob der Layoutentwurf 520 den Layout-Einschränkungen, die in der vorgegebenen Beschreibung 900 definiert sind, entspricht.
-
Nun wird Bezug auf 10A und 10B genommen. 10A zeigt eine vorgegebene Beschreibung 1000, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß weiteren verschiedenen Ausführungsformen der vorliegenden Offenbarung. 10B ist ein schematisches Diagramm, das den Layoutentwurf 520 in 5B und Layoutstrukturen 1040 des Layoutentwurfs 520 zeigt, gemäß weiteren verschiedenen Ausführungsformen der vorliegenden Offenbarung.
-
Im Vergleich mit 9A sind in einigen Ausführungsformen die Layout-Einschränkungen konfiguriert, um innerhalb eines Gebiets 1060, wie in 10B dargestellt, in aufsteigender numerischer Reihenfolge Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zuzuordnen. Die Layout-Einschränkungen sind ferner konfiguriert, um in aufsteigender Reihenfolge innerhalb eines Gebiets 1061, wie in 10B dargestellt, Gruppen der Verbindungsschichten dem Anschluss D des Schalters M2 zuzuordnen.
-
Zur Veranschaulichung umfasst, wie in 10A dargestellt, die vorgegebene Beschreibung 1000 Codierabschnitte 1001 und 1002. Der Codierabschnitt 1001 spezifiziert, dass die Gruppe M1_A und die Gruppe M2_A innerhalb des Gebiets 1060, das eine Fläche von ungefähr 0,1·0,1 um2 aufweist, sequenziell dem Anschluss D des Schalters M1 zugeordnet werden. Der Codierabschnitt 1002 spezifiziert, dass die Gruppe M1_B und die Gruppe M2_B innerhalb des Gebiets 1061, das eine Fläche von ungefähr 0,05·0,05 um2 aufweist, sequenziell dem Anschluss D des Schalters M2 zugeordnet werden.
-
Außerdem bestimmt der Prozessor 110 die oberen Gruppen der Verbindungsschichten jeweils innerhalb des Gebiets 1060 bzw. 1061. Zur Veranschaulichung ist in 10B die obere Gruppe der Verbindungsschichten innerhalb des Gebiets 1060 die Gruppe M3_A, und die obere Gruppe der Verbindungsschichten innerhalb des Gebiets 1061 ist die Gruppe M2_B. Der Prozessor 110 extrahiert die Gruppen in den Layout-Strukturen, die von dem Anschluss D des Schalters M1 zu der oberen Gruppe M3_A verbunden sind. Dann sortiert der Prozessor 110 die Gruppen in den Layout-Strukturen in aufsteigender numerischer Reihenfolge, wie in einem Abschnitt 1041 der Layout-Strukturen 1040 dargestellt. Wie in 10B dargestellt, wird der Anschluss D des Schalters M1 mit der oberen Gruppe M3_A über die Gruppen M1_A, M2_B, M1_B und M2_B gekoppelt. Der Prozessor 110 sortiert diese Gruppen in aufsteigender nummerischer Reihenfolge, wie im Abschnitt 1041 dargestellt.
-
Der Prozessor 110 generiert außerdem einen Abschnitt 1042 der Layout-Strukturen 1040 durch Extrahieren der Gruppen in den Layout-Strukturen, die von dem Abschnitt D des Schalters M2 zu der oberen Gruppe M2_B verbunden sind. Der Prozessor 110 sortiert dann die Gruppen in den Layout-Strukturen in aufsteigender nummerischer Reihenfolge, wie im Abschnitt 1042 dargestellt. Dementsprechend ist der Prozessor 110 in der Lage, die Codierabschnitte 1001 und 1002 in 10A jeweils mit dem Abschnitt 1041 bzw. 1042 in 10B zu vergleichen, um zu überprüfen, ob der Layoutentwurf 520 den Layout-Einschränkungen entspricht.
-
Nun wird Bezug auf 11A und 11B genommen. 11A zeigt eine vorgegebene Beschreibung 1100, die Layout-Einschränkungen für die Schaltung 200 in 2A umfasst, gemäß anderen verschiedenen Ausführungsformen der vorliegenden Offenbarung. 11B ist ein schematisches Diagramm, das den Layoutentwurf 520 in 5B und Layoutstrukturen 1140 des Layoutentwurfs 520 zeigt, gemäß anderen verschiedenen Ausführungsformen der vorliegenden Offenbarung.
-
In einigen Ausführungsformen sind die Layout-Einschränkungen konfiguriert, um innerhalb eines Gebiets 1160, wie in 11B dargestellt, Gruppen der Verbindungsschichten in absteigender numerischer Reihenfolge dem Anschluss D des Schalters M1 zuzuordnen. Die Layout-Einschränkungen sind ferner konfiguriert, um innerhalb eines Gebiets 1161, wie in 11B dargestellt, Gruppen der Verbindungsschichten in absteigender nummerischer Reihenfolge dem Anschluss D des Schalters M2 zuzuordnen.
-
Zur Veranschaulichung umfasst, wie in 11A dargestellt, die vorgegebene Beschreibung 1100 Codierabschnitte 1101 und 1102. Der Codierabschnitt 1101 spezifiziert, dass die Gruppe M2_B und die Gruppe M1_A innerhalb des Gebiets 1160, das eine Fläche von ungefähr 0,1·0,1 um2 aufweist, sequenziell dem Anschluss D des Schalters M1 zugeordnet werden. Der Codierabschnitt 1102 spezifiziert, dass die Gruppe M2_B und die Gruppe M1_B innerhalb des Gebiets 1161, das eine Fläche von ungefähr 0,1·0,1 um2 aufweist, sequenziell dem Anschluss D des Schalters M2 zugeordnet werden.
-
Dann bestimmt der Prozessor 110 die obere Gruppe der Verbindungsschichten jeweils innerhalb des Gebiets 1160 bzw. 1161. Zur Veranschaulichung ist in 11B die obere Gruppe der Verbindungsschichten innerhalb des Gebiets 1160 die Gruppe M3_A, und die obere Gruppe der Verbindungsschichten innerhalb des Gebiets 1161 ist die Gruppe M3_A. Der Prozessor 110 extrahiert dann die Gruppen in den Layout-Strukturen, die von dem Anschluss D des Schalters M1 zu der oberen Gruppe M3_A verbunden sind, in absteigender Reihenfolge, wie in einem Abschnitt 1141 der Layout-Strukturen 1060 dargestellt. Wie in 11B dargestellt, wird der Anschluss D des Schalters M1 mit der oberen Gruppe M3_A über die Gruppen M1_A, M2_B, und M1_B gekoppelt. Der Prozessor 110 sortiert diese Gruppen in absteigender Reihenfolge, wie im Abschnitt 1141 dargestellt.
-
Gleichermaßen generiert der Prozessor 110 einen Abschnitt 1142 der Layout-Strukturen 1040 durch Extrahieren der Gruppen in den Layout-Strukturen, die von dem Abschnitt D des Schalters M2 zu der oberen Gruppe M2_B verbunden sind. Der Prozessor 110 sortiert dann die Gruppen in den Layout-Strukturen in absteigender numerischer Reihenfolge, wie im Abschnitt 1142 dargestellt. Dementsprechend ist der Prozessor 110 in der Lage, die Codierabschnitte 1101 und 1102 in 11A jeweils mit dem Abschnitt 1141 bzw. 1142 in 11B zu vergleichen, um zu überprüfen, ob der Layoutentwurf 520 den Layout-Einschränkungen entspricht.
-
Die Anordnungen der Layout-Einschränkungen, die in 5A bis 11A dargestellt sind, sind zu Veranschaulichungszwecken angegeben. Verschiedene Anordnungen der Layout-Einschränkungen liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
Nun wird Bezug auf 12 genommen. 12 ist ein schematisches Diagramm, das eine vorgegebene Beschreibung darstellt, welche die Schaltung in 2A und die Layout-Einschränkungen in einer Netzlistendatei 1220 anzeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
In einigen Ausführungsformen werden die vorgegebenen Beschreibungen 500 bis 1100, wie vorstehend dargestellt, in einer unabhängigen Datei beschrieben. Die unabhängige Datei wird in das Entwurfssystem 100 eingegeben, um die Layout-Einschränkungen zu extrahieren. Alternativ sind in einigen anderen Ausführungsformen die vorgegebenen Beschreibungen 500 bis 1100, wie vorstehend dargestellt, in der Netzlistendatei, die eine Beschreibung der Schaltung 200 umfasst, beschrieben.
-
Zur Veranschaulichung umfasst, wie in 12 dargestellt, die Netzlistendatei 1220 zwei Beschreibungen 1221 und 1222. Die Beschreibung 1221 ist konfiguriert, um die Schaltung 200 zu beschreiben, wie in der Beschreibung in der Netzlistendatei 220 in 2B dargestellt. Die Beschreibung 1222 ist derart konfiguriert, dass sie die Layout-Einschränkungen beschreibt, zum Beispiel wie in 11A dargestellt.
-
Die Anordnung der Layout-Einschränkungen in 12 ist zu Veranschaulichungszwecken angegeben. Verschiedene Anordnungen der Layout-Einschränkungen liegen innerhalb des Schutzumfangs der vorliegenden Offenbarung.
-
In verschiedenen Ausführungsformen können das Verfahren 300 und die Operation S340 davon auf verschiedene Layout-Strukturen und/oder Schichten, einschließlich von zum Beispiel Back-End-of-Line (BEOL), Middle-End-of-Line (MEOL) und/oder Front-End-of-Line (FEOL), angewendet werden.
-
Zur Erleichterung des Verständnisses sind die vorstehenden Ausführungsformen mit einer Anwendung zum Fertigen von zwei Schaltern angegeben. Die vorstehenden Ausführungsformen können angewendet werden, um einen einzelnen Schalter oder zwei oder mehr Schalter zu fertigen. Zu Veranschaulichungszwecken werden die vorstehenden Ausführungsformen als eine Implementierung der Schalter beschrieben. Die vorliegende Offenbarung ist nicht darauf beschränkt. Verschiedene Elemente können gemäß den vorstehenden Ausführungsformen implementiert werden und bilden daher den Schutzumfang der vorliegenden Offenbarung.
-
In diesem Dokument kann der Begriff „gekoppelt” ebenfalls als „elektrisch gekoppelt” bezeichnet werden, und der Begriff „verbunden” kann als „elektrisch verbunden” bezeichnet werden. „Gekoppelt” und „verbunden” können außerdem verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente miteinander zusammenwirken oder interagieren.
-
In einigen Ausführungsformen umfasst ein Verfahren die nachstehende Operation. Gruppen, die Layout-Strukturen von Verbindungsschichten anzeigen, werden einer Schaltung zugeordnet, um Layout-Einschränkungen der Schaltung zu bestimmen. Layout-Strukturen werden aus einem Layoutentwurf für die Schaltung extrahiert. Die Layout-Strukturen werden mit den Layout-Einschränkungen verglichen. Daten zum Fertigen der Schaltung, die den Layoutentwurf anzeigen, werden bei einer Bedingung generiert, dass die Layout-Strukturen den Layout-Einschränkungen entsprechen.
-
Außerdem wird ein System offenbart, das einen Speicher und einen Prozessor umfasst. Der Speicher ist zum Speichern von Computerprogrammcodes konfiguriert. Der Prozessor ist derart konfiguriert, dass er die Computerprogrammcodes in dem Speicher ausführt, um Layout-Strukturen aus einem Layoutentwurf für eine Schaltung zu extrahieren, um Layout-Einschränkungen für die Schaltung, die mit den Layout-Strukturen zu vergleichen sind, zu extrahieren, und um Daten, die den Layoutentwurf anzeigen, zum Fertigen der Schaltung bei einer Bedingung, dass die Layout-Strukturen den Layout-Einschränkungen entsprechen, zu generieren. Die Layout-Einschränkungen sind konfiguriert, um in einer ersten vorgegebenen Sequenz mehrere Gruppen, die Layout-Strukturen von Verbindungsschichten anzeigen, der Schaltung zuordnen.
-
Außerdem wird ein Verfahren offenbart, das die nachstehende Operation umfasst. Gruppen, die Layout-Strukturen von Verbindungsschichten anzeigen, werden einer Schaltung zugeordnet, um Layout-Einschränkungen der Schaltung zu bestimmen, wobei eine erste Gruppe von den Gruppen einem ersten Anschluss eines ersten Elements in der Schaltung zugeordnet wird. Layout-Strukturen werden aus einem Layoutentwurf für die Schaltung extrahiert. Die Layout-Strukturen werden mit den Layout-Einschränkungen verglichen. Daten zum Fertigen der Schaltung, die den Layoutentwurf anzeigen, werden unter einer Bedingung generiert, dass die Layout-Strukturen den Layout-Einschränkungen entsprechen.
-
Das Vorstehende skizziert Merkmale von mehreren Ausführungsformen, so dass ein Fachmann die Aspekte der vorliegenden Offenbarung besser verstehen kann. Ein Fachmann sollte erkennen, dass er die vorliegende Offenbarung als eine Grundlage zum Entwerfen und Modifizieren anderer Prozesse und Strukturen leicht verwenden kann, um die gleichen Aufgaben durchzuführen und/oder die gleichen Vorteile der hier vorgestellten Ausführungsformen zu erzielen. Ein Fachmann sollte ebenfalls verstehen, dass derartige äquivalente Ausführungen nicht vom Erfindungsgedanken und Umfang der vorliegenden Offenbarung abweichen, und dass er verschiedene Änderungen, Ersetzungen und Modifizierungen hier vornehmen kann, ohne vom Erfindungsgedanken und Umfang der vorliegenden Offenbarung abzuweichen.