DE10206658A1 - Verfahren zum Überprüfen einer integrierten elektrischen Schaltung - Google Patents

Verfahren zum Überprüfen einer integrierten elektrischen Schaltung

Info

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
Application number
DE10206658A
Other languages
English (en)
Other versions
DE10206658B4 (de
Inventor
Peter Bader
Burkhard Ludwig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polaris Innovations Ltd
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10206658A priority Critical patent/DE10206658B4/de
Priority to US10/368,334 priority patent/US6834377B2/en
Publication of DE10206658A1 publication Critical patent/DE10206658A1/de
Application granted granted Critical
Publication of DE10206658B4 publication Critical patent/DE10206658B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Abstract

Ein Layout (5) einer integrierten elektrischen Schaltung auf einer Speichereinheit eines Computersystems weist eine oder mehrere Instanziierungen (31-34) wenigstens einer Schaltungsnetzbeschreibung (4) sowie Informationen über die Instanziierungen (31-34) auf. Eine Rohdatenstruktur (8) stellt den logischen Aufbau des Layouts (5) dar und ordnet jeder Instanziierung (31-34) genau eine Polygondatenstruktur (81-84) zu. DOLLAR A Mit dem erfindungsgemäßen Verfahren wird eine modifizierte Datenstruktur (9) zur Darstellung des Layouts (5) erzeugt, die einer Schaltungsnetzbeschreibung (4) genau eine Polygondatenstruktur (92) zuordnet, wobei die geometrischen Unterschiede der Instanziierungen (31-34) dieser Schaltungsnetzbeschreibung (4) durch Varianten (41-43) in der Polygondatenstruktur (92) berücksichtigt werden.

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)

1. Verfahren zum Überprüfen einer integrierten elektrischen Schaltung,
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:
a) Auswählen einer Schaltungsnetzbeschreibung (4) aus einem Layout (5),
b) Bestimmen der Instanziierungen (31-34) der Schaltungsnetzbeschreibung (4) in diesem Layout (5),
c) Bestimmen der jeweils geometrisch gleichen und der geometrisch unterschiedlichen Instanziierungen (31-34) der Schaltungsnetzbeschreibungen (4) durch Analyse der Polygondatenstrukturen (81-84),
d) Bilden von Varianten (41-43) für die Instanziierungen (31-34) der Schaltungsnetzbeschreibungen (4) und Einordnen der Instanziierungen (31-34) in diese Varianten (41-43), wobei geometrisch unterschiedliche Instanziierungen (33, 34) in jeweils verschiedene Varianten (42, 43) und geometrisch übereinstimmende Instanziierungen (31, 32) in jeweils gleiche Varianten (41) zusammengefaßt werden,
e) Bilden einer neuen Datenstruktur (9), die der Schaltungsnetzbeschreibung (4) genau eine Polygondatenstruktur (92) zuordnet, wobei die geometrischen Unterschiede von Instanziierungen (31-34) derselben Schaltungsnetzbeschreibung durch Varianten (41-43) in der Polygondatenstruktur (92) berücksichtigt werden
f) Abspeichern der erstellten Datenstruktur (9) als Datei oder als Teil einer Datei auf der Speichereinheit des Computersystems,
g) Überprüfen des Layouts (5) der integrierten elektrischen Schaltung unter Verwendung der in Schritt f) abgespeicherten Datenstruktur (9) auf durch den Aufbau der integrierten elektrischen Schaltung bedingte Fehler.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß sich das Layout (5) auf mehrere übereinander angeordnete Ebenen erstreckt und daß anstelle der Schritte b), c) und d) die folgenden Schritte durchgeführt werden:
1. Auswählen der höchsten Ebene aus dem Layout (5),
2. Bestimmen der Instanziierungen (31-34) der ausgewählten Schaltungsnetzbeschreibung (4) auf der gewählten Ebene,
3. Bilden von Differenzpolygonen (403, 404) durch paarweises Vergleichen der Instanziierungen (31-34) auf der gewählten Ebene,
4. Bilden von Varianten (41-43) für unterschiedliche Differenzpolygone (403, 404) aufweisende Instanziierungen (31-34),
5. Überprüfen der auf Schaltungsnetzbeschreibungen (7) in der nächsttieferen Ebene wirkenden Differenzpolygone (401-404),
6. Einordnen der Instanziierungen (31-34) anhand ihrer Differenzpolygone (403, 404) in die in Schritt b4) gebildeten Varianten (31-43),
7. Auswählen der nächsttieferen Ebene,
8. Bestimmen der Instanziierungen der ausgewählten Schaltungsnetzbeschreibung (4) auf der gewählten Ebene,
9. Bilden von Differenzpolygonen durch paarweises Vergleichen der Instanziierungen auf der gewählten Ebene,
10. Zusammenführen der in Schritt c3) gebildeten Differenzpolygone mit den zuvor gebildeten Differenzpolygonen (403, 404),
11. Überprüfen der auf Schaltungsnetzbeschreibungen in der nächsttieferen Ebene wirkenden Differenzpolygone (403, 404),
12. Einordnen der Instanziierungen anhand ihrer Differenzpolygone (403, 404) in die bereits gebildeten Varianten (41-43),
13. Bilden von weiteren Varianten für Instanziierungen, deren Differenzpolygone von den in Schritt c4) zusammengeführten Differenzpolygonen abweichen,
14. Einordnen der in Schritt c7) festgestellten Instanziierungen in die in Schritt c7) gebildeten Varianten,
15. Schleifenartiges Wiederholen der Schritte b1) bis b5), c1) und c8) solange, bis die unterste Ebene des Layouts (5) erreicht wurde.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß im Anschluß an Schritt d) bzw. d1) die Schritte a) bis d) bzw. d1) für weitere Schaltungsnetzbeschreibungen (7) des Layouts (5) schleifenartig wiederholt werden.
4. Computerprogrammprodukt sowie Computerprogramm zur Ausführung eines Verfahrens zur Analyse einer integrierten elektrischen Schaltung, das so ausgebildet ist, daß ein Verfahren gemäß einem der vorhergehenden Ansprüche ausführbar ist.
5. Computerprogramm nach Anspruch 4, das auf einem Speichermedium enthalten ist.
6. Computerprogramm nach Anspruch 4, das in einem Computerspeicher abgelegt ist.
7. Computerprogramm nach Anspruch 4, das in einem Direktzugriffsspeicher enthalten ist.
8. Computerprogramm nach Anspruch 4, das auf einem elektrischen Trägersignal übertragen wird.
9. Datenträger mit einem Computerprogrammprodukt bzw. Computerprogramm nach Anspruch 4.
10. Verfahren, bei dem ein Computerprogrammprodukt bzw. Computerprogramm nach Anspruch 4 aus einem elektronischen Datennetz wie beispielsweise aus dem Internet auf einen an das Datennetz angeschlossenen Computer heruntergeladen wird.
DE10206658A 2002-02-15 2002-02-15 Verfahren zum Überprüfen einer integrierten elektrischen Schaltung Expired - Fee Related DE10206658B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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