DE10206658A1 - Verfahren zum Überprüfen einer integrierten elektrischen Schaltung - Google Patents
Verfahren zum Überprüfen einer integrierten elektrischen SchaltungInfo
- Publication number
- DE10206658A1 DE10206658A1 DE10206658A DE10206658A DE10206658A1 DE 10206658 A1 DE10206658 A1 DE 10206658A1 DE 10206658 A DE10206658 A DE 10206658A DE 10206658 A DE10206658 A DE 10206658A DE 10206658 A1 DE10206658 A1 DE 10206658A1
- Authority
- DE
- Germany
- Prior art keywords
- instantiations
- circuit
- circuit network
- data structure
- polygons
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Abstract
Description
- Die Erfindung betrifft ein Verfahren zum Überprüfen einer in Form eines Layouts auf einem Computersystem vorliegenden integrierten elektrischen Schaltung auf durch den Fertigungsprozeß oder durch den Aufbau der integrierten elektrischen Schaltung bedingte Fehler.
- Bei solchen Überprüfungen kommen häufig Verfahren zum Einsatz, bei denen integrierte elektrische Schaltungen mit proprietären herstellerspezifischen "Design-Rule-Check"-Regeln bzw. "DRC"- Regeln überprüft werden. Des weiteren sind Verfahren insbesondere Prüfprogramme zur Entdeckung von fehlerverursachenden, hochohmigen Schaltungselementen denkbar, die mit mehreren Schaltungsnetzen verbunden sind. Diese Verfahren überprüfen die integrierten elektrischen Schaltungen auf einem Computersystem auf fehlerhafte Schaltungselemente durch Einfügen von "Softconnects".
- Solche Verfahren zur Überprüfung von integrierten elektrischen Schaltungen setzen voraus, daß eine möglichst realitätsgetreue Beschreibung der zu überprüfenden integrierten elektrischen Schaltung auf einer Speichereinheit eines Computersystems vorliegt, die so beschaffen ist, daß gängige Prüfverfahren auf diese Beschreibung anwendbar sind.
- Integrierte elektrische Schaltungen gliedern sich in eine Vielzahl von miteinander verbundenen elektrischen Schaltungsnetzen. Die Eigenschaften dieser Schaltungsnetze werden für die Erstellung eines Layouts der integrierten elektrischen Schaltung häufig in Form von Polygondatenstrukturen abgespeichert, welche die in dem betreffenden Schaltungsnetz enthaltenen Schaltungselemente durch Polygone darstellen.
- Dabei wird für jedes Schaltungsnetz eine separate Polygondatenstruktur angelegt, wobei Informationen von mehreren, elektrisch und geometrisch übereinstimmenden Schaltungsnetzen jeweils zu einer Polygondatenstruktur zusammengefaßt werden. Integrierte elektrische Schaltungen beinhalten in der Realität oft verschiedene elektrische Schaltungsnetze, welche die gleichen oder einander sehr ähnliche elektrische Eigenschaften aufweisen, jedoch in der Geometrie der enthaltenen Schaltungselemente voneinander abweichen. Für solche Schaltungsnetze werden bei der Erstellung einer Beschreibung einer integrierten elektrischen Schaltung auf einem Computersystem häufig jeweils separate Polygondatenstrukturen angelegt.
- Beim Anlegen einer Vielzahl von einander sehr ähnlichen Polygondatenstrukturen ergibt sich das Problem, daß zur Beschreibung der zugrundeliegenden integrierten elektrischen Schaltung auf einer Speichereinheit eines Computersystems ein sehr großer Speicherraum benötigt wird. Weiterhin ist dabei von Nachteil, daß sich der Aufbau der Datenstruktur der Schaltungsbeschreibung aus den einzelnen Polygondatenstrukturen sehr zeitintensiv gestaltet. Ferner ist auch der Speicherbedarf sowie der Zeitaufwand für die Anwendung der oben beschriebenen Prüfverfahren auf eine solche Schaltungsbeschreibung sehr groß ausgebildet. Diese Nachteile fallen desto mehr ins Gewicht, je umfangreicher und je komplexer die zugrundeliegende integrierte elektrische Schaltung ausgebildet ist.
- Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mit dem eine verbesserte Beschreibung einer integrierten elektrischen Schaltung erstellt werden kann. Die integrierte elektrische Schaltung soll unter Verwendung dieser Beschreibung schnell und zuverlässig auf Fehler überprüft werden können.
- Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweiligen Unteransprüchen.
- Gemäß der Erfindung weist eine integrierte elektrische Schaltung ein oder mehrere Schaltungsnetze mit jeweils einer Vielzahl von Schaltungselementen auf. Eine integrierte elektrische Schaltung erstreckt sich produktionsbedingt typischerweise auf mehrere Schichten, wobei sich Schaltungsnetze auf eine oder auf mehrere Schichten erstrecken können. Die Schaltungselemente sind durch Form- und Eigenschaftsinformationen bestimmt. Eine vollständige, integrierte elektrische Schaltung ist durch die in ihr enthaltenen Schaltungselemente sowie durch die Informationen über deren absolute und/oder über deren relative Lage zueinander charakterisiert.
- Erfindungsgemäß liegt eine Beschreibung einer integrierten elektrischen Schaltung in Form eines Layouts auf einem Computersystem, insbesondere auf einem Bildschirm oder einer Ausgabeeinheit wie auf einem Drucker, vor. Das Layout umfaßt dabei Beschreibungen von ein oder mehreren Schaltungsnetzen der betrachteten, integrierten elektrischen Schaltung, die in jeweils einer Datei oder in jeweils einem Teil einer Datei auf einer Speichereinheit des Computersystems abgelegt sind. Jedes Schaltungsnetz wird dabei durch wenigstens ein Polygon beschrieben, die je ein Schaltungselement der integrierten elektrischen Schaltung darstellen. Jedem Polygon sind dabei Informationen über die elektrischen Eigenschaften der Schaltungselemente zugeordnet.
- Das Layout der integrierten elektrischen Schaltung, das sich auf mehrere Ebenen erstrecken kann, setzt sich zusammen aus wenigstens einer oben beschriebenen Schaltungsnetzbeschreibung sowie aus Informationen über die geometrische Form und die Anordnung dieser Schaltungsnetzbeschreibungen zueinander. Die einzelnen Schaltungsnetzbeschreibungen sind in separaten Dateien gespeichert. Dementsprechend spricht man davon, daß Schaltungsnetzbeschreibungen in das Layout instanziiert bzw. eingesetzt werden. Ist dasselbe Schaltungsnetz mehrfach in einem Layout enthalten, so spricht man davon, daß in dem betreffenden Layout mehrere Instanziierungen einer Schaltungsnetzbeschreibung vorhanden sind.
- Gemäß der vorliegenden Erfindung ist das Layout durch eine Rohdatenstruktur beschrieben, die jeder Instanziierung einer Schaltungsnetzbeschreibung genau eine separate Polygondatenstruktur zuordnet. Die Polygondatenstrukturen beinhalten dabei Informationen über die elektrischen Eigenschaften der enthaltenen Polygone sowie Verbindungsinformationen dieser Polygone. Die Rohdatenstruktur enthält darüberhinaus die Verknüpfungsinformationen der einzelnen Polygondatenstrukturen.
- In einem ersten erfindungsgemäßen Schritt wird eine Beschreibung eines Schaltungsnetzes aus einem Layout einer integrierten elektrischen Schaltung selektiert. Dabei setzt das erfindungsgemäße Verfahren auf einer Extraktion auf. Unter einer Extraktion versteht man das Ermitteln und das hierarchische Abspeichern der Schaltungsnetze und Bauelemente. Dabei wird die Rohdatenstruktur aus der Extraktion erzeugt. Die Extraktion liefert als Ergebnis neben den ermittelten Schaltungsnetzen auch Informationen über die geometrische Form und Anordnung der Instanziierungen der Schaltungsnetze zueinander.
- Im zweiten Verfahrensschritt werden alle Instanziierungen der ausgewählten Schaltungsnetzbeschreibung in diesem Layout bestimmt. Erstreckt sich das Layout auf mehrere Ebenen, so wird dabei hierarchisch über die Ebenen des Layouts vorzugsweise "Top-Down" vorgegangen.
- Im nächsten Schritt werden diese Instanziierungen auf Übereinstimmungen bzw. Unterschiede geprüft, wobei eine Analyse der Polygondatenstrukturen durchgeführt wird. Daran anschließend werden Varianten für die Instanziierungen der Schaltungsnetzbeschreibung gebildet. Geometrisch unterschiedliche Instanziierungen werden in jeweils verschiedene Varianten und geometrisch übereinstimmende Instanziierungen in jeweils gleiche Varianten eingeordnet. Die Anzahl der gebildeten Varianten wird dabei minimal gehalten.
- Der nächste erfindungsgemäße Schritt sieht vor, eine neue Datenstruktur zu bilden, die jeder Schaltungsnetzbeschreibung genau eine Polygondatenstruktur zuordnet. Die geometrischen Unterschiede von Instanziierungen derselben Schaltungsnetzbeschreibung werden durch die im vorigen Schritt gebildeten Varianten berücksichtigt, die mit der Polygondatenstruktur verknüpft werden. Die so erstellte Datenstruktur wird als Datei oder als Teil einer Datei auf der Speichereinheit des Computersystems abgelegt.
- Das Layout der integrierten elektrischen Schaltung wird nun unter Verwendung der so modifizierten Datenstruktur auf Fehler untersucht, die durch den Aufbau der integrierten elektrischen Schaltung bzw. durch die Abfolge der Produktionsschritte zur Herstellung der integrierten elektrischen Schaltung bedingt sind. Die dabei heranzuziehenden Verfahren der Überprüfung von "Design Rule Check"-Regeln sowie die Prüfverfahren, die mit dem Einfügen von "Soft Connects" arbeiten, sind dem Fachmann bekannt und brauchen an dieser Stelle nicht weiter erörtert zu werden.
- Ein Grundgedanke der Erfindung besteht darin, für sämtliche Instanziierungen derselben Schaltungsnetzbeschreibung genau eine Polygondatenstruktur aufzustellen. In solch einer Polygondatenstruktur werden Instanziierungen zusammengefaßt, die zwar elektrisch übereinstimmende oder sehr ähnliche Eigenschaften aufweisen, jedoch in der Geometrie voneinander abweichen. Die geometrischen Unterschiede der elektrisch übereinstimmenden Instanziierungen werden durch Varianten berücksichtigt, die der gebildeten Polygondatenstruktur zugeordnet sind. In diesen Varianten sind lediglich die Deltainformationen der jeweiligen Instanziierungen enthalten. Das bedeutet, daß nicht für jede Variante der komplette Informationsgehalt einer Polygondatenstruktur angelegt wird, sondern für jede Variante lediglich die Abweichungen zu der referenzierten Polygondatenstruktur festgehalten werden.
- Gemäß einem weiteren Grundgedanken der Erfindung wird ein Algorithmus zur Variantengenerierung zur Verfügung gestellt, der die Polygondatenstrukturen aufgrund der elektrischen Eigenschaften der durch Polygone dargestellten Schaltungselemente und die Varianten aufgrunde der geometrischen Unterschiede der durch jeweils dieselbe Polygondatenstruktur referenzierten Instanziierungen von Schaltungsnetzbeschreibungen bildet. Dadurch entsteht aus einer logischen Repräsentation eine exakte geometrische Repräsentation der Polygone.
- Die durch das erfindungsgemäße Verfahren erzeugte und abgespeicherte Datenstruktur weist einen im Vergleich zu bekannten Datenstrukturen sehr geringen Speicherbedarf und eine sehr kompakte Speicherform auf. Die Anzahl der abzuspeichernden Polygone ist im Vergleich zu den bekannten Verfahren deutlich reduziert.
- Der Hierarchiegrad der erstellten Datenstruktur ist weit höher als bei den bekannten Verfahren, was zu einem schnelleren Aufbau der Datenstruktur sowie zu einer schnelleren und speichereffizienteren Abarbeitung der auf dieser Datenstruktur arbeitenden Programme, insbesondere Prüfprogramme, führt.
- Des weiteren kann durch das erfindungsgemäße Verfahren eine "As If Flat"-Repräsentation von Schaltungsnetzen für die nachfolgenden Applikationen erreicht werden.
- Besonders umfangreiche und komplexe integrierte elektrische Schaltungen, die bisher nicht oder nur bedingt auf durch den Aufbau oder den Produktionsprozeß der integrierten elektrischen Schaltung bedingte Fehler überprüft werden konnten, können nun vorteilhafterweise computergestützt überprüft werden.
- Gemäß einer Ausführungsform der Erfindung erstreckt sich das Layout einer integrierten elektrischen Schaltung auf mehrere übereinander angeordnete Ebenen. Diese Ebenen entsprechen den produktionstechnisch bedingten Schichten der integrierten elektrischen Schaltung. Die auf den Ebenen des Layouts vorliegenden Polygone und Schaltungsnetzbeschreibungen entsprechen den auf den jeweiligen Schichten der integrierten elektrischen Schaltung vorliegenden Schaltungselementen und Schaltungsnetzen.
- Bei dieser Ausführungsform der Erfindung wird der Fall betrachtet, daß elektrisch übereinstimmende oder sehr ähnliche, jedoch geometrisch unterschiedliche Instanziierungen von Schaltungsnetzen auf verschiedenen Ebenen eines Layouts vorliegen. Dabei kommt ein hierarchisch aufgebautes, aus einer Netzliste bildbares Masternetz zum Einsatz, das den logischen Aufbau der zugrundeliegenden, integrierten elektrischen Schaltung repräsentiert.
- Bei dieser Ausführungsform des erfindungsgemäßen Verfahrens werden anstelle der Schritte des Bestimmens der Instanziierungen der Schaltungsnetzbeschreibung, des Bestimmens der geometrisch gleichen und der geometrisch unterschiedlichen Instanziierungen, des Bildens von Varianten für diese Instanziierungen sowie des Einordnens der Instanziierungen in diese Varianten die folgenden Schritte durchgeführt.
- Zunächst wird die höchste Ebene des Layouts bestimmt und ausgewählt. Auf dieser Ebene werden die Instanziierungen der ausgewählten Schaltungsnetzbeschreibung bestimmt und durch paarweises Vergleichen dieser Instanziierungen Differenzpolygone gebildet, durch die sich die Instanziierungen voneinander unterscheiden. Anschließend werden für Instanziierungen, die unterschiedliche Differenzpolygone aufweisen, Varianten gebildet. Es erfolgt eine Überprüfung, ob diese Differenzpolygone mit Schaltungsnetzbeschreibungen in der nächsttieferen Ebene des Layouts in Verbindung stehen. Daran anschließend werden die Instanziierungen der gewählten Ebene des Layouts anhand ihrer Differenzpolygone in diese Varianten eingeordnet.
- Der nächste Schritt des erfindungsgemäßen Verfahrens beinhaltet das Auswählen der nächsttieferen Ebene des Layouts. Auf dieser Ebene werden die Instanziierungen der ausgewählten Schaltungsnetzbeschreibung bestimmt und Differenzpolygone durch paarweises Vergleichen der Instanziierungen auf dieser Ebene gebildet. Die so gebildeten Differenzpolygone werden mit den zuvor gebildeten Differenzpolygonen zusammengeführt. Nach erfolgter Überprüfung der auf Schaltungsnetzbeschreibungen in den nächsttieferen Ebenen wirkenden Differenzpolygone erfolgt das Einordnen der Instanziierungen anhand ihrer Differenzpolygone in die bereits gebildeten Varianten.
- Im nächsten Schritt des erfindungsgemäßen Verfahrens werden weitere Varianten für Instanzilerungen der Schaltungsnetzbeschreibung gebildet, deren Differenzpolygone mit den bereits gebildeten Differenzpolygonen nicht übereinstimmen. Diejenigen Instanziierungen, die solche abweichenden Differenzpolygone aufweisen, werden in die neugebildeten Varianten eingeordnet.
- Der nächste Schritt des erfindungsgemäßen Verfahrens sieht ein schleifenartiges Wiederholen der genannten Schritte vor. Das Ende des erfindungsgemäßen Verfahrens ist erreicht, wenn im letzten schleifenartigen Durchlauf die unterste Ebene des Layouts abgearbeitet wurde.
- Dieser Ausführungsform der Erfindung liegt die Idee der hierarchischen, ebenenweisen Abarbeitung des Layouts zugrunde. Vorliegend wird von der hierarchisch höchsten Ebene des Layouts ausgegangen und sukzessive Ebene für Ebene abgearbeitet, bis die unterste Ebene des Layouts erreicht wurde. Dies wird auch als "Top-Down"-Ansatz bezeichnet. Eine umgekehrte Vorgehensweise von der untersten bis zur obersten Ebene, also ein "Bottom-Up"-Ansatz ist ebenfalls denkbar. Dieser erfindungsgemäße Algorithmus zur Variantengenerierung ist sehr effektiv und sehr schnell ausgebildet.
- Der erzielbare Hierarchiegrad kann durch diese Ausführungsform der Erfindung sehr hoch eingestellt werden. Elektrisch übereinstimmende, jedoch geometrisch unterschiedliche Schaltungsnetzbeschreibungen können so besonders speicheroptimal und zuverlässig abgelegt werden. Die erzeugte Datenstruktur eignet sich besonders für sich anschließende Applikationen, insbesondere Prüfverfahren.
- Besonders vorteilhaft ist es, wenn das erfindungsgemäße Verfahren sukzessive für zwei oder mehr Schaltungsnetzbeschreibungen, insbesondere für alle Schaltungsnetzbeschreibungen des betrachteten Layouts schleifenartig durchgeführt wird. Dadurch kann eine besonders speicheroptimale und vollständige Datenstruktur aufgebaut werden.
- Die Erfindung ist auch in einem Computerprogramm zur Ausführung eines Verfahrens zum Überprüfen einer integrierten elektrischen Schaltung ausgebildet. Das Computerprogramm ist dabei so ausgebildet, daß nach der Eingabe bzw. nach dem Auswählen eines Layouts bzw. eines Teils eines Layouts ein Verfahren gemäß einem der Ansprüche ausführbar ist. Dabei ist als Ergebnis des Verfahrens eine speicheroptimale, modifizierte Datenstruktur verfügbar, die für anschließende Applikationen, insbesondere für Prüfprogramme anwendbar ist.
- Durch das erfindungsgemäße Computerprogramm ergeben sich eine einfache und speicheroptimale Datenstruktur, die eine verbesserte Überprüfung von integrierten elektrischen Schaltungen sowie eine Laufzeitverbesserung gegenüber den bekannten Datenstrukturen ermöglicht.
- Die Erfindung betrifft außerdem ein Computerprogramm, das auf einem Speichermedium enthalten ist, das in einem Computerspeicher abgelegt ist, das in einem Direktzugriffspeicher enthalten ist oder das auf einem elektrischen Trägersignal übertragen wird.
- Weiterhin betrifft die Erfindung einen Datenträger mit einem solchen Computerprogramm sowie ein Verfahren, bei dem ein solches Computerprogramm aus einem elektronischen Datennetz, wie beispielsweise aus dem Internet, auf einen an das Datennetz angeschlossenen Computer heruntergeladen wird. Das erfindungsgemäße Verfahren ist in dem Computerprogramm "HERC" implementiert.
- Zusammenfassend kann eine solcher Algorithmus zur Variantengenerierung wie folgt aufgebaut sein. Der Algorithmus arbeitet mit Recordfeldern, in denen die Daten wie Instanziierungen, Varianten und Polygone gespeichert werden. Die rekursive Komponentenbildung und das Aufsammeln der Ergebnisse erfolgt "Bottom-Up". Als Nebeneffekt wird die Zahl der Instanziierungen pro Variante gezählt. Die Komponentenbildung erfolgt dabei, indem zuerst die Polygone mit einer Graphensuche, dann die Suchnetze mit einer Union-Find-Technik abgearbeitet werden. Die Variantenbildung, die Vergabe von Nummern für die Instanziierungen pro Variante, die Graphensuche über die Polygone und die Verbindungen über die Zellebenen bzw. über die Netzbeschreibungen werden durch separate Funktionen ausgeführt. Nach dem Bestimmen der Daten werden diese ausgewertet. Die Ergebnisse werden in "Abstract-Records" aufgesammelt, die erst bei dem Beginn der Auswertephase abgelegt werden. Die zur Variantenbildung eingesetzte Rekursion läuft vorzugsweise indirekt.
- Die Erfindung ist in den Zeichnungen anhand eines Ausführungsbeispiels näher veranschaulicht.
- Fig. 1 zeigt ein den Ablauf des erfindungsgemäßen Verfahrens darstellendes Ablaufdiagramm 1,
- Fig. 2 zeigt eine schematische Darstellung eines Teilschaltungslayouts 2 einer Zelle B 3 gemäß einem Ausführungsbeispiel,
- Fig. 3 zeigt eine schematische Darstellung eines Schaltungslayouts 5 einer Zelle A 6 gemäß dem Ausführungsbeispiel,
- Fig. 4 zeigt eine schematische Darstellung einer Rohdatenstruktur 8 des in Fig. 3 gezeigten Schaltungslayouts 5 gemäß dem Ausführungsbeispiel,
- Fig. 5 zeigt eine schematische Darstellung einer modifizierten Datenstruktur 9 des in Fig. 3 gezeigten Schaltungslayouts 5 gemäß dem Ausführungsbeispiel.
- Fig. 1 zeigt ein den Ablauf des erfindungsgemäßen Verfahrens darstellendes Ablaufdiagramm 1. Das Ablaufdiagramm 1 gliedert sich in die Verfahrensschritte 101 bis 109.
- Der erste erfindungsgemäße Verfahrensschritt 101 beinhaltet das Auswählen eines Layouts einer integrierten elektrischen Schaltung auf einem hier nicht gezeigten Computersystem. Aus dem Layout wird durch Extraktion eine Schaltungsnetzbeschreibung erstellt, die Netze, aktive Bauelemente beispielsweise MOS-Transistoren sowie passive Bauelemente beispielsweise Widerstände enthält. Das erfindungsgemäße Verfahren setzt auf einer solchen Extraktion auf, die aus mehreren auf einer Speichereinheit des Computersystems als Datei oder als Teil einer Datei vorliegenden Schaltungsnetzbeschreibungen eine realitätsgetreue Beschreibung der realen integrierten elektrischen Schaltung erstellt.
- Jede Schaltungsnetzbeschreibung setzt sich aus mindestens einem Polygon zusammen, das Bauelemente der integrierten elektrischen Schaltung verbindet. Jede Schaltungsnetzbeschreibung enthält Informationen über die elektrischen Eigenschaften der enthaltenen Schaltungselemente. Das Layout enthält eine oder mehrere Einsetzungen bzw. Instanziierungen wenigstens einer Schaltungsnetzbeschreibung. Des weiteren weist das Layout Informationen über die geometrische Form und die elektrische Verbindung bzw. die Anordnung bzw. der Instanziierungen zueinander auf.
- Das Layout wird logisch durch eine Rohdatenstruktur beschrieben, die jeder Instanziierung genau eine Polygondatenstruktur zuordnet.
- Im zweiten Verfahrensschritt 102 wird ein Schaltungsnetz aus dem Layout ausgewählt. Im darauffolgenden dritten Verfahrensschritt 103 werden die Instanziierungen der ausgewählten Schaltungsnetzbeschreibung in dem Layout bestimmt.
- Daran schließt sich der vierte Verfahrensschritt 104 an, in dem die geometrischen Unterschiede der im vorigen Verfahrensschritt bestimmten Instanziierungen bestimmt werden. Dabei werden vorzugsweise Differenzpolygone ermittelt, also Polygone, durch die sich die Instanziierungen des gewählten Schaltungsnetzes voneinander unterscheiden.
- Der darauffolgende fünfte Verfahrensschritt 105 sieht das Bilden von Varianten für die Instanziierungen des gewählten Schaltungsnetzes vor. Die geometrischen Unterschiede der Instanziierungen werden durch paarweises Vergleichen der geometrischen Eigenschaften der Instanziierungen, insbesondere der Differenzpolygone, bestimmt. Anhand der geometrischen Unterschiede werden Varianten für die Instanzilerungen gebildet.
- Im sechsten Verfahrensschritt 106 werden die Instanziierungen in diese Varianten eingeordnet, wobei geometrisch unterschiedliche Instanziierungen insbesondere Instanziierungen mit unterschiedlichen Differenzpolygonen in jeweils verschiedene Varianten eingeordnet werden. Geometrisch gleiche Instanziierungen, insbesondere Instanziierungen, die kein Differenzpolygon aufweisen, werden in jeweils der gleichen Variante zusammengefaßt.
- Der darauffolgende siebte Verfahrensschritt 107 sieht das Bilden einer modifizierten Datenstruktur unter Verwendung dieser Varianten vor. Dabei wird genau eine Polygondatenstruktur für alle Instanziierungen der betreffenden Schaltungsnetzbeschreibung angelegt, in der sämtliche Informationen über die elektrischen und geometrischen Eigenschaften enthalten sind. Die geometrischen Unterschiede der Instanziierungen derselben Schaltungsnetzbeschreibung werden durch Varianten berücksichtigt. Diese Varianten enthalten lediglich die Deltainformation, nämlich die Information, inwiefern sich die jeweilige Instanziierung geometrisch von der referenzierten Polygondatenstruktur unterscheidet.
- Im achten Verfahrensschritt 108 wird diese Datenstruktur als Datei oder als Teil einer Datei auf der Speichereinheit des Computersystems abgelegt. Der abschließende neunte Verfahrensschritt 109 umfaßt das Überprüfen des Layouts auf durch den Aufbau oder durch den Produktionsprozeß der integrierten elektrischen Schaltung bedingte Fehler. Dabei wird die erfindungsgemäß modifizierte und abgespeicherte Datenstruktur verwendet. Solche Überprüfungen können beispielsweise mit Verfahren zum Überprüfen von integrierten elektrischen Schaltungen mit Hilfe von Design-Rule-Check-Regeln oder mit Prüfverfahren, die mit dem Einfügen von Soft-Connects arbeiten, durchgeführt werden. Solche Verfahren sind dem Fachmann bekannt und brauchen an dieser Stelle nicht beschrieben werden.
- Fig. 2 zeigt eine schematische Darstellung eines Teilschaltungslayouts 2 einer Zelle B 3 gemäß einem Ausführungsbeispiel.
- Die Zelle B 3 weist eine erste Schaltungsnetzbeschreibung 4 auf, die sich in ein erstes Polygon 401, in ein zweites Polygon 402, in ein drittes Polygon 403 und in ein viertes Polygon 404 gliedert.
- Die Zelle B 3 ist rechteckig ausgeformt, wobei die Höhe zwei Dritteln der Grundseite entspricht. Die Polygone 401 bis 404 weisen jeweils eine rechteckige Form auf, wobei die Breite jeweils der doppelten Höhe entspricht. Die Breite der Polygone 401 bis 404 entspricht einem Siebtel der Breite der Zelle B 3. Die nebeneinander aufsteigend angeordneten Polygone 401 bis 404 schließen jeweils horizontal nebeneinander an und sind vertikal mittig in Bezug auf die Zelle B 3 angeordnet. Das am weitesten links angeordnete erste Polygon 401 schließt mit seiner linken Seite mit der linken Seite der Zelle B 3 ab.
- Die Gestalt und die Abmessungen der Polygone der Zelle B 3 im Ausführungsbeispiel sind als Beispiel zu verstehen. Die Polygone können in der Praxis eine Vielzahl verschiedener Formen annehmen.
- Die Zelle B 3 stellt ein Abbild eines Ausschnitts einer realen, integrierten elektrischen Schaltung auf einer Speichereinheit eines Computersystems dar. Das erste Polygon 401, das zweite Polygon 402, das dritte Polygon 403 und das vierte Polygon 404 repräsentieren elektrische Verbindungen bzw. Verbindungsdrähte der integrierten elektrischen Schaltung.
- Fig. 3 zeigt eine schematische Darstellung eines Schaltungslayouts 5 einer Zelle A 6 gemäß dem Ausführungsbeispiel.
- Das Schaltungslayout 5 stellt dabei ein Abbild eines Ausschnitts einer realen integrierten elektrischen Schaltung auf dem Computersystem dar. Es handelt sich hierbei um ein stark vereinfachtes Beispiel, nämlich um einen Draht. Dieser Draht kann gemäß der Darstellung in Fig. 3 produziert werden. Um eine Funktion des Drahtes zu gewährleisten, müßten allerdings zusätzlich Devices bzw. Elemente vorgesehen werden.
- Das Schaltungslayout 5 weist eine Zelle A 6 auf, die sich in eine erste Zelleinstanz 31, in eine zweite Zellinstanz 32, in eine dritte Zellinstanz 33, in eine vierte Zellinstanz 34 der Zelle B 3 sowie in eine zweite Schaltungsnetzbeschreibung 7 gliedert.
- Die Zelle A 6 weist eine rechteckige Form auf, bei der die Breite drei Vierteln der Höhe entspricht. Bei den Zellinstanzen 31 bis 34 handelt es sich jeweils um Einsetzungen der Zelle B 3 in die Zelle A 6. Ein solches Einsetzen von Zellen in andere Zellen wird dabei als instanziieren bezeichnet. Die Zellinstanzen 31 bis 34 sind untereinander mit jeweils geringem Abstand vertikal und horizontal mittig in Bezug auf die Zelle A 6 angeordnet. Die Breite der Zellinstanzen 31 bis 34 entspricht ungefähr zwei Fünfteln der Breite der Zelle A 6.
- Die zuoberst angeordnete erste Zellinstanz 31 sowie die darunter angeordnete zweite Zellinstanz 32 entsprechen hinsichtlich der enthaltenen Polygone 401 bis 404 sowie hinsichtlich deren Anordnung zueinander genau der Zelle B 3 in Fig. 2. Die unter der zweiten Zellinstanz 32 angeordnete dritte Zellinstanz 33 weist das erste Polygon 401, das zweite Polygon 402 sowie das dritte Polygon 403 auf. Das vierte Polygon 404 fehlt in der dritten Zellinstanz 33 der Zelle B 3. Die Form und die Anordnung des ersten Polygons 401, des zweiten Polygons 402 sowie des dritten Polygons 403 entsprechen der Form und der Anordnung der in Fig. 2 gezeigten Zelle B 3. Als unterste der Zellinstanzen 31 bis 34 ist die vierte Zellinstanz 34 angeordnet. Diese beinhaltet das erste Polygon 401 sowie das zweite Polygon 402, wobei die Form und die Anordnung dieser beiden Polygone der Form und der Anordnung der in Fig. 2 gezeigten Zelle B 3 entsprechen. Das dritte Polygon 403 sowie das vierte Polygon 404 fehlen in der vierten Zellinstanz 34 der Zelle B 3.
- Die zweite Schaltungsnetzbeschreibung 7 gliedert sich in ein fünftes Polygon 701, in ein sechstes Polygon 702, in ein siebtes Polygon 703 und in ein achtes Polygon 704. Die Polygone 701 bis 704 stellen elektrische Verbindungsleitungen bzw. Drähte dar.
- Das achte Polygon 704 ist als dünner Balken dargestellt, der kurz unterhalb der oberen Seite der Zelle A 6 beginnt und in geringem Abstand parallel zu der linken Seite der Zelle A 6 nach unten verläuft. Auf der Höhe der Mitte der vierten Zellinstanz 34 weist das achte Polygon 704 einen rechtwinkligen Knick nach rechts auf, verläuft ab diesem Knick in horizontaler Richtung parallel zur unteren Seite der Zelle A 6 und schließt mit dem linken Rand der vierten Zellinstanz 34 ab. Das achte Polygon 704 und das erste Polygon 401 der vierten Zellinstanz 34 der Zelle B 3 berühren einander. Zwischen den elektrischen Schaltungselementen, die durch diese beiden Polygone repräsentiert werden, besteht ein elektrischer Kontakt.
- Das fünfte Polygon 701 verläuft horizontal parallel zur Ausrichtung der Zelle A 6 und befindet sich zwischen dem achten Polygon 704 und dem ersten Polygon 401 der ersten Zellinstanz 31 der Zelle B 3. Das sechste Polygon 702 verläuft ebenfalls parallel zur Ausrichtung der Zelle A 6 und ist zwischen dem achten Polygon 704 und dem ersten Polygon 401 der zweiten Zellinstanz 32 der Zelle B 3 angeordnet. Das siebte Polygon 703 weist ebenfalls eine im Bezug auf die Zelle A 6 horizontale Ausrichtung auf und befindet sich zwischen dem achten Polygon 704 und dem ersten Polygon 401 der dritten Zellinstanz 33 der Zelle B 3.
- Die Schaltungsnetzbeschreibungen der Zellinstanzen 31 bis 34 stimmen in den elektrischen Eigenschaften überein, unterscheiden sich aber in den geometrischen Eigenschaften.
- Die Schaltungsnetzbeschreibung der ersten Zellinstanz 31 und die Schaltungsnetzbeschreibung der zweiten Zellinstanz 32 sind auch hinsichtlich ihrer geometrischen Eigenschaften identisch und werden daher in einer ersten Schaltungsnetzvariante 41 zusammengefaßt.
- Die Schaltungsnetzbeschreibung der dritten Zellinstanz 33 weist gegenüber der ersten Schaltungsnetzvariante 41 das erste Polygon 404 auf, das in diesem Fall als Differenzpolygon bezeichnet wird. Dementsprechend wird eine zweite Schaltungsnetzvariante 42 gebildet, in welche die Schaltungsnetzbeschreibung der dritten Zellinstanz 33 eingeordnet wird.
- Die Schaltungsnetzbeschreibung der vierten Zellinstanz 34 weist gegenüber der ersten Schaltungsnetzvariante 41 die Differenzpolygone 403 und 404 auf, gegenüber der zweiten Schaltungsnetzvariante 42 das Differenzpolygon 403. Dementsprechend wird eine dritte Schaltungsnetzvariante 43 gebildet, in welche die Schaltungsnetzbeschreibung der vierten Zellinstanz 34 eingeordnet wird.
- Die zweite Schaltungsnetzbeschreibung 7 ist mit den Schaltungsnetzbeschreibungen der Zellinstanzen 31 bis 34 verbunden.
- Fig. 4 zeigt eine schematische Darstellung einer Rohdatenstruktur 8 des in Fig. 3 gezeigten Schaltungslayouts 5 gemäß dem Ausführungsbeispiel.
- Die Rohdatenstruktur 8 des Schaltungslayouts 5 gliedert sich in eine erste Polygondatenstruktur 81, in eine zweite Polygondatenstruktur 82, in eine dritte Polygondatenstruktur 83 sowie in eine vierte Polygondatenstruktur 84.
- Eine Polygondatenstruktur bildet jeweils den logischen Aufbau der Polygone einer Zelle bzw. einer Schaltungsnetzbeschreibung sowie die Verknüpfung der Zelle bzw. der Schaltungsnetzbeschreibung mit anderen Zellen, Zellinstanzen oder Schaltungsnetzbeschreibungen ab.
- Die Polygondatenstrukturen 81 bis 84 enthalten dabei jeweils einen in Fig. 4 als "ankpol" dargestellten Anker bzw. eine Verknüpfung zu den in der entsprechenden Zelle enthaltenen Polygonen sowie einen in Fig. 4 mit "anknetinst" bezeichneten Anker bzw. eine Verknüpfung zu den Zellinstanzen, mit denen die jeweiligen Zellen bzw. Zellinstanzen verknüpft sind.
- Die Rohdatenstruktur 8 veranschaulicht den logischen Aufbau der Polygondatenstrukturen 81 bis 84 sowie deren Zusammenhänge. Jede Zelle bzw. jede Zellinstanz wird durch eine Polygondatenstruktur beschrieben. Im vorliegenden Fall enthält jede Zelle bzw. jede Zellinstanz genau eine Schaltungsnetzbeschreibung. Dementsprechend wird zur Vereinfachung der Darstellung davon ausgegangen, daß für jede Schaltungsnetzbeschreibung eine Polygondatenstruktur erstellt wird.
- Die erste Polygondatenstruktur 81 bezieht sich auf das zweite Schaltungsnetz 7 der Zelle A 6. Die zweite Polygondatenstruktur 82 bezieht sich auf die erste Schaltungsnetzvariante 41 der ersten Schaltungsnetzbeschreibung 4. Die dritte Polygondatenstruktur 83 ist der zweiten Schaltungsnetzvariante 42 der ersten Schaltungsnetzbeschreibung 4 zugeordnet. Die vierte Polygondatenstruktur 84 stellt den logischen Aufbau der dritten Schaltungsnetzvariante 43 der ersten Schaltungsnetzbeschreibung 4 dar.
- Die erste Polygondatenstruktur 81 der zweiten Schaltungsnetzbeschreibung 7 der Zelle A 6 enthält einen Verweis auf die in ihr enthaltenen Polygone 701 bis 704. Weiterhin enthält die erste Polygondatenstruktur 81 einen Verweis auf die Zellinstanzen 31 bis 34. Dies bedeutet, daß die Zelle B 3 insgesamt viermal in die Zelle A 6 eingesetzt ist. Die Zelle B 3 ist in der Zelle A 6 in drei verschiedenen Schaltungsnetzvarianten 41 bis 43 instanziiert.
- Die in der ersten Schaltungsnetzvariante 41 zusammengefaßten Zellinstanzen 31 und 32 werden durch die zweite Polygondatenstruktur 82 repräsentiert. Diese enthält einen Verweis auf die in den Zellinstanzen der ersten Schaltungsnetzvariante 41 enthaltenen Polygone 401 bis 404. Die Information über die elektrischen und geometrischen Eigenschaften dieser Polygone sind geeignet abgespeichert. Über den Verweis "ankpol" der zweiten Polygondatenstruktur 82 ist ein Zugriff auf diese Informationen möglich.
- Über den Verweis "anknetinst" auf die dritte Zellinstanz 33 ist die erste Polygondatenstruktur 81 mit der dritten Polygondatenstruktur 83 verknüpft. Diese enthält Informationen über die in der zweiten Schaltungsnetzvariante 42 eingeordnete Schaltungsnetzbeschreibung der dritten Zellinstanz 33. Die dritte Polygondatenstruktur 83 enthält somit einen Verweis auf die Polygone 401 bis 403. Die geometrischen und elektrischen Informationen über die Polygone 401 bis 403 sind geeignet gespeichert.
- Über die Verknüpfung "anknetinst" zu der vierten Zellinstanz 34 der Zelle B 3 ist die erste Polygondatenstruktur 81 mit der vierten Polygondatenstruktur 84 verknüpft. Die vierte Polygondatenstruktur 84 stellt die geometrischen und elektrischen Informationen der in der dritten Schaltungsnetzvariante 43 eingeordneten Schaltungsnetzbeschreibung der vierten Zellinstanz 34 dar. Die geometrischen sowie elektrischen Informationen der Polygone 401 und 402, die in der dritten Schaltungsnetzvariante 43 enthalten sind, sind über die Verknüpfung "ankpol" in der vierten Polygondatenstruktur 84 enthalten.
- Die Verknüpfungen "anknetinst" der Polygondatenstrukturen 82 bis 84 sind leer ausgeprägt, da in den Zellinstanzen 31 bis 34 keine weiteren Zellen instanziiert sind.
- Die gegenseitigen Verknüpfungen der Polygone 701 bis 704 der ersten Polygondatenstruktur sowie der Polygone 401 bis 404 der zweiten Polygondatenstruktur 82, der Polygone 401 bis 403 der dritten Polygondatenstruktur 83 sowie der Polygone 401 und 402 der vierten Polygondatenstruktur 84 sind in Fig. 4 in einer Pfeildarstellung schematisch veranschaulicht. Dabei sind nicht die exakten Nachbarschaftsbeziehungen veranschaulicht, sondern nur das Schema.
- Fig. 5 zeigt eine schematische Darstellung einer modifizierten Datenstruktur 9 des in Fig. 3 gezeigten Schaltungslayouts 5 gemäß dem Ausführungsbeispiel.
- Die modifizierte Datenstruktur 9 gliedert sich in eine fünfte Polygondatenstruktur 91 sowie in eine sechste Polygondatenstruktur 92 und stimmt in ihrem Informationsgehalt mit der Rohdatenstruktur 8 überein. Die fünfte Polygondatenstruktur 91 stellt die geometrischen und elektrischen Informationen der zweiten Schaltungsnetzbeschreibung 7 der Zelle A 6 dar. Die sechste Polygondatenstruktur 92 stellt die geometrischen und elektrischen Informationen der ersten Schaltungsnetzbeschreibung 4 für die Schaltungsnetzvarianten 41 bis 43 dar.
- Die fünfte Polygondatenstruktur 91 sowie die sechste Polygondatenstruktur 92 enthalten je einen Anker bzw. eine Verknüpfung "ankpol" auf die in dem jeweiligen Schaltungsnetz enthaltenen Polygone. Des weiteren enthalten die Polygondatenstrukturen 91 und 92 eine Verknüpfung bzw. einen Anker "ankvariant" auf die jeweils instanziierten Zellen bzw. Schaltungsnetzbeschreibungen.
- Die Verknüpfung "ankpol" der fünften Polygondatenstruktur 91 verweist auf die gespeicherten, geometrischen und elektrischen Daten der Polygone 701 bis 704.
- Bei der fünften Polygondatenstruktur 91 wird nur eine Variante angelegt, da nur eine Variante der zweiten Schaltungsnetzbeschreibung 7 der Zelle A 6 vorhanden ist. Auf diese Variante verweist die Verknüpfung "ankvariant". Weiterhin verweist die Verknüpfung "ankvariant" der fünften Polygondatenstruktur 91 auf die Zellinstanzen 31 bis 34 der Zelle B 3. Diese Zellinstanzen 31 bis 34 verweisen jedoch nicht wie bei der in Fig. 4 dargestellten Rohdatenstruktur 8 auf jeweils unterschiedliche Polygondatenstrukturen, sondern auf verschiedene Varianten derselben sechsten Polygondatenstruktur 42. Im einzelnen verweisen die erste Zellinstanz 31 sowie die zweite Zellinstanz 32 auf die erste Schaltungsnetzvariante 41, die dritte Zellinstanz 33 auf die zweite Schaltungsnetzvariante 42 und die vierte Zellinstanz 34 auf die dritte Schaltungsnetzvariante 43. Diese Schaltungsnetzvarianten 41 bis 43 sind von der Verknüpfung "ankvariant" der sechsten Polygondatenstruktur 92 referenziert und enthalten die schaltungsnetzspezifischen Deltainformationen für die einzelnen Zellinstanzen. Der Verweis "ankpol" verknüpft die sechste Polygondatenstruktur 92 mit den elektrischen und geometrischen Informationen der Polygone 401 bis 404.
- Die erste Schaltungsnetzvariante 41 enthält die Information, daß die in ihr gespeicherte Schaltungsnetzbeschreibung der ersten Zellinstanz 31 und der zweiten Zellinstanz 32 mit den Informationen übereinstimmt, die unter der Verknüpfung "ankpol" abgespeichert sind. Die zweite Schaltungsnetzvariante 42 enthält die Information, daß die in ihr gespeicherte Schaltungsnetzbeschreibung der dritten Zellinstanz 33 gegenüber den unter "ankpol" gespeicherten Informationen ein Differenzpolygon aufweist, durch das sich die dritte Zellinstanz 33 unterscheidet. Bei diesem Differenzpolygon handelt es sich um das vierte Polygon 404. In der dritten Schaltungsnetzvariante 43 ist die Deltainformation enthalten, die besagt, daß sich die unter "ankpol" gespeicherte Variante des ersten Schaltungsnetzes 4 durch zwei Differenzpolygone von der in der dritten Schaltungsnetzvariante 43 gespeicherten Schaltungsnetzbeschreibung der vierten Zellinstanz 34 unterscheidet. Bei den Differenzpolygonen handelt es sich um das dritte Polygon 403 sowie das vierte Polygon 404.
- Die Differenzpolygone beschreiben Polygone, die in manchen Fällen nicht vorhanden sind, wie im vorliegenden Fall. Der hierarchische Pfad der Differenzpolygone ist implizit in der Datenstruktur vorhanden. Er wird lediglich beim Aufbau der Datenstruktur benötigt.
- Nachfolgend ist das erfindungsgemäße Verfahren schrittweise unter Verwendung der Fig. 1 bis 5 beschrieben. Der Ablauf des Verfahrens orientiert sich dabei an dem in Fig. 1 gezeigten Ablaufdiagramm 1.
- Im ersten erfindungsgemäßen Schritt wird auf einem hier nicht gezeigten Computersystem das in Fig. 3 dargestellte Schaltungslayout 5 ausgewählt. Dieses Schaltungslayout 5 liegt auf diesem Computersystem durch die in Fig. 4 gezeigte Rohdatenstruktur 8 beschrieben vor. Danach wird die erste Schaltungsnetzbeschreibung 4 aus dem Schaltungslayout 5 selektiert und die vier Zellinstanzen 31 bis 34 bestimmt, welche jeweils Instanziierungen der ersten Schaltungsnetzbeschreibung 4 enthalten.
- Anschließend werden die geometrischen Unterschiede der Zellinstanzen 31 bis 34 bestimmt. Dies erfolgt dadurch, daß die Zellinstanzen 31 bis 34 paarweise verglichen werden und Differenzpolygone bestimmt werden. Diese Information kann mitunter auch von der Extraktion bereitgestellt werden. Dabei ergibt sich, daß die Schaltungsnetzbeschreibungen der Zellinstanzen 31 und 32 identisch sind. Die Schaltungsnetzbeschreibung der dritten Zellinstanz 33 unterscheidet sich von den Schaltungsnetzbeschreibungen der Zellinstanzen 31 und 32 durch das vierte Polygon 404. Somit ist das vierte Polygon 404 das Differenzpolygon, das die Zellinstanzen 31 und 32 von der dritten Zellinstanz 33 unterscheidet. Die vierte Zellinstanz 34 unterscheidet sich von den Zellinstanzen 31 und 32 durch das dritte Polygon 403 und das vierte Polygon 404, welche in diesem Fall die Differenzpolygone darstellen.
- Anschließend werden für die Zellinstanzen 31 bis 34 Varianten gebildet, welche die geometrischen Unterschiede in Form der Differenzpolygone berücksichtigen. Vorliegend wird zunächst die erste Schaltungsnetzvariante 41 gebildet. Diese enthält die identischen Schaltungsnetzbeschreibungen der ersten Zellinstanz 31 und der zweiten Zellinstanz 32 der Zelle B 3. Danach wird die zweite Schaltungsnetzvariante 42 angelegt, welche die Schaltungsnetzbeschreibung der dritten Zellinstanz 33 beinhaltet. Anschließend wird die dritte Schaltungsnetzvariante erzeugt, welche die Schaltungsnetzbeschreibung der vierten Zellinstanz 34 aufweist.
- Im nächsten erfindungsgemäßen Schritt werden die erste Zellinstanz 31 und die zweite Zellinstanz 32 in die erste Schaltungsnetzvariante 41, die dritte Zellinstanz 33 in die zweite Schaltungsnetzvariante 42 und die vierte Zellinstanz 34 in die dritte Schaltungsnetzvariante 43 eingeordnet. Unter Verwendung dieser Varianten wird die in Fig. 5 gezeigte modifizierte Datenstruktur 9 gebildet. Diese enthält im Gegensatz zu der Rohdatenstruktur 8 für alle Instanzilerungen der ersten Schaltungsnetzbeschreibung 4 genau eine Polygondatenstruktur, und zwar die sechste Polygondatenstruktur 92. Die geometrischen Unterschiede der Schaltungsnetzbeschreibungen in den Zellinstanzen 31 bis 34 sind in der sechsten Polygondatenstruktur 92 durch die Schaltungsnetzvarianten 41 bis 43 berücksichtigt, welche jeweils Deltainformationen in Form der Differenzpolygone enthalten.
- Diese modifizierte Datenstruktur 9 ist besonders speicheroptimal ausgebildet und wird nun auf der Speichereinheit des Computersystems abgespeichert. Nachfolgend können unter Verwendung dieser modifizierten Datenstruktur 9 Verfahren und/oder Programme zum Überprüfen des Schaltungslayouts 5 auf durch den Produktionsprozeß oder durch den Aufbau der integrierten elektrischen Schaltung bedingte Fehler durchgeführt werden. Solche Verfahren sind dem Fachmann bekannt. Die besonders speicheroptimale modifizierte Datenstruktur 9 ermöglicht ein geschwindigkeitsoptimales Durchführen solcher Verfahren und/oder Programme, auch für sehr umfangreiche und sehr komplexe integrierte elektrische Schaltungen. Bezugszeichenliste 1 Ablaufdiagramm
101-109 Verfahrensschritte
2 Teilschaltungslayout
3 Zelle B
31 erste Zellinstanz
32 zweite Zellinstanz
33 dritte Zellinstanz
34 vierte Zellinstanz
4 erste Schaltungsnetzbeschreibung
401 erstes Polygon
402 zweites Polygon
403 drittes Polygon
404 viertes Polygon
41 erste Schaltungsnetzvariante
42 zweite Schaltungsnetzvariante
43 dritte Schaltungsnetzvariante
5 Schaltungslayout
6 Zelle A
7 zweite Schaltungsnetzbeschreibung
701 fünftes Polygon
702 sechstes Polygon
703 siebtes Polygon
704 achtes Polygon
8 Rohdatenstruktur
81 erste Polygondatenstruktur
82 zweite Polygondatenstruktur
83 dritte Polygondatenstruktur
84 vierte Polygondatenstruktur
9 modifizierte Datenstruktur
91 fünfte Polygondatenstruktur
92 sechste Polygondatenstruktur
Claims (10)
wobei die integrierte elektrische Schaltung durch ein Layout (5) beschreibbar ist,
wobei das Layout (5) Schaltungsnetzbeschreibungen (4, 7) der integrierten elektrischen Schaltung umfaßt, die in jeweils einer Datei oder in jeweils einem Teil einer Datei auf einer Speichereinheit eines Computersystems vorliegen,
wobei jede Schaltungsnetzbeschreibung die folgenden Merkmale aufweist:
wenigstens ein Polygon (401-402, 701-704), das jeweils ein Schaltungselement der integrierten elektrischen Schaltung repräsentiert,
Informationen über die elektrischen Eigenschaften der Schaltungselemente,
wobei das Layout (5) die folgenden Merkmale aufweist:
es enthält eine oder mehrere Instanziierungen (31-34) wenigstens einer Schaltungsnetzbeschreibung sowie Informationen über die geometrische Form und die Anordnung der Instanziierungen (31-34) zueinander,
es ist durch eine Rohdatenstruktur (8) beschreibbar, die jeder Instanziierung (31-34) einer Schaltungsnetzbeschreibung genau eine Polygondatenstruktur (81-84) zuordnet,
wobei das Verfahren das Durchführen der folgenden Schritte mit einem Computerprogramm vorsieht:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10206658A DE10206658B4 (de) | 2002-02-15 | 2002-02-15 | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung |
US10/368,334 US6834377B2 (en) | 2002-02-15 | 2003-02-18 | Method for checking an integrated electrical circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10206658A DE10206658B4 (de) | 2002-02-15 | 2002-02-15 | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10206658A1 true DE10206658A1 (de) | 2003-09-04 |
DE10206658B4 DE10206658B4 (de) | 2011-11-17 |
Family
ID=27674709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10206658A Expired - Fee Related DE10206658B4 (de) | 2002-02-15 | 2002-02-15 | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung |
Country Status (2)
Country | Link |
---|---|
US (1) | US6834377B2 (de) |
DE (1) | DE10206658B4 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0002174D0 (en) * | 2000-01-31 | 2000-03-22 | Sgs Thomson Microelectronics | Design flow checker |
US20060278871A1 (en) * | 2005-06-08 | 2006-12-14 | Shailesh Hegde | Detecting and improving bond pad connectivity with pad check |
DE102006037162B4 (de) * | 2006-08-01 | 2008-08-21 | Qimonda Ag | Verfahren und Vorrichtung und deren Verwendung zur Prüfung des Layouts einer elektronischen Schaltung |
US8473873B2 (en) * | 2011-09-02 | 2013-06-25 | Taiwan Semiconductor Manufacturing Co., Ltd. | Multi-patterning method |
US9053259B1 (en) | 2011-11-28 | 2015-06-09 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing pattern-based design enabled manufacturing of electronic circuit designs |
US8832621B1 (en) * | 2011-11-28 | 2014-09-09 | Cadence Design Systems, Inc. | Topology design using squish patterns |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050091A (en) * | 1985-02-28 | 1991-09-17 | Electric Editor, Inc. | Integrated electric design system with automatic constraint satisfaction |
US5440720A (en) * | 1993-09-20 | 1995-08-08 | Cadence Design Systems, Inc. | Architecture and method for data reduction in a system for analyzing geometric databases |
US5666288A (en) * | 1995-04-21 | 1997-09-09 | Motorola, Inc. | Method and apparatus for designing an integrated circuit |
US6063128A (en) * | 1996-03-06 | 2000-05-16 | Bentley Systems, Incorporated | Object-oriented computerized modeling system |
US6131182A (en) * | 1997-05-02 | 2000-10-10 | International Business Machines Corporation | Method and apparatus for synthesizing and optimizing control logic based on SRCMOS logic array macros |
DE19832974A1 (de) * | 1998-07-22 | 2000-01-27 | Siemens Ag | Vorrichtung und Verfahren zur Erstellung eines virtuellen Anlagenmodells |
US6614430B1 (en) * | 1998-09-08 | 2003-09-02 | Proficiency Ltd. | System and method for the exchange of CAD data |
DE19900980C1 (de) * | 1999-01-13 | 2000-05-11 | Siemens Ag | Verfahren und Anordnung zur Verifikation eines Layouts einer integrierten Schaltung mit Hilfe eines Rechners sowie dessen Anwendung zur Herstellung einer integrierten Schaltung |
US6385761B1 (en) * | 1999-10-01 | 2002-05-07 | Lsi Logic Corporation | Flexible width cell layout architecture |
DE10017767A1 (de) * | 2000-04-10 | 2001-10-18 | Infineon Technologies Ag | Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen |
US6735752B2 (en) * | 2001-09-10 | 2004-05-11 | Numerical Technologies, Inc. | Modifying a hierarchical representation of a circuit to process features created by interactions between cells |
US6904575B2 (en) * | 2002-06-11 | 2005-06-07 | International Business Machines Corporation | Method for improving chip yields in the presence of via flaring |
-
2002
- 2002-02-15 DE DE10206658A patent/DE10206658B4/de not_active Expired - Fee Related
-
2003
- 2003-02-18 US US10/368,334 patent/US6834377B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6834377B2 (en) | 2004-12-21 |
US20030159120A1 (en) | 2003-08-21 |
DE10206658B4 (de) | 2011-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102006037162B4 (de) | Verfahren und Vorrichtung und deren Verwendung zur Prüfung des Layouts einer elektronischen Schaltung | |
EP1425638A1 (de) | Verfahren zur validierung von simulationsergebnissen eines systems sowie darauf aufbauender äquivalenzvergleich digitaler schaltungen | |
DE112012004809B4 (de) | Kantenverfolgung mit Hysterese-Schwellenwertbildung | |
DE102011086195B4 (de) | Inspektionsverfahren | |
DE102019102484A1 (de) | Verarbeitung von dreidimensionalen Bilddatensätzen | |
EP1127323A1 (de) | Verfahren und anordnung zum vergleich einer ersten eigenschaft mit vorgegebenen eigenschaften eines technischen systems | |
EP1134636A1 (de) | Editor zur Erstellung von Prozessplänen | |
EP0580663A1 (de) | Verfahren zur verifikation datenverarbeitender systeme. | |
DE10206658B4 (de) | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung | |
DE10138142B4 (de) | Verfahren zur Analyse einer integrierten elektrischen Schaltung | |
EP3134834A1 (de) | Verfahren zur automatisierten erstellung eines eine technische zeichnung charakterisierenden datensatzes | |
DE102005039394B4 (de) | Verfahren zum Suchen potentieller Fehler eines Layouts einer integrierten Schaltung | |
DE102008046505B4 (de) | Verfahren zur Bildverarbeitung von Stereobildern | |
DE2235802A1 (de) | Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise | |
DE102018128696A1 (de) | Programmvergleichsvorrichtung und Programmvergleichsverfahren | |
EP1068580B1 (de) | Verfahren zum vergleich elektrischer schaltungen | |
DE10393430T5 (de) | Verfahren zur Korrektur eines Maskenmusters | |
DE10303186B4 (de) | Verfahren zur Simulation einer elektrischen Schaltung | |
DE10245452A1 (de) | Verfahren zum Bestimmen der Anordnung von Kontaktflächen auf der aktiven Oberseite eines Halbleiterchips | |
DE10149021B4 (de) | Datenverarbeitungssystem zum Entwurf eines Layouts einer integrierten elektronischen Schaltung aus einer Vielzahl von elektronischen Bauelementen | |
DE2259726A1 (de) | Verfahren zur optimierung einer halbleiterschaltung | |
DE102019127622A1 (de) | Abwehrgenerator, Verfahren zur Verhinderung eines Angriffs auf eine KI-Einheit und computerlesbares-Speichermedium | |
EP1116425B1 (de) | Verfahren und vorrichtung zur rechnergestützten pipettenauswahl für einen bestückungskopf und zur zuordnung von bauelementen zu den in einer pipettenauswahl vorgegebenen pipettenarten | |
DE102004033339A1 (de) | Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen | |
DE102021127461A1 (de) | Verfahren und Simulationsvorrichtung zum automatisierten Bestimmen eines Orientierungsfaktors einer Leiterplatte |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8181 | Inventor (new situation) |
Inventor name: LUDWIG, BURKHARD, 81379 MUENCHEN, DE Inventor name: BAADER, PETER, 81673 MUENCHEN, DE |
|
8127 | New person/name/address of the applicant |
Owner name: QIMONDA AG, 81739 MUENCHEN, DE |
|
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20120218 |
|
R081 | Change of applicant/patentee |
Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE |
|
R082 | Change of representative | ||
R081 | Change of applicant/patentee |
Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |