DE10160459A1 - Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten - Google Patents

Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten

Info

Publication number
DE10160459A1
DE10160459A1 DE10160459A DE10160459A DE10160459A1 DE 10160459 A1 DE10160459 A1 DE 10160459A1 DE 10160459 A DE10160459 A DE 10160459A DE 10160459 A DE10160459 A DE 10160459A DE 10160459 A1 DE10160459 A1 DE 10160459A1
Authority
DE
Germany
Prior art keywords
network
data
assigned
networks
circuit
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.)
Withdrawn
Application number
DE10160459A
Other languages
English (en)
Inventor
Tilmann Neunhoeffer
Peter Baader
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.)
Infineon Technologies AG
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 DE10160459A priority Critical patent/DE10160459A1/de
Priority to US10/284,772 priority patent/US20030093504A1/en
Publication of DE10160459A1 publication Critical patent/DE10160459A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Abstract

In dem vorgestellten Verfahren werden die die Schaltung darstellenden Daten dahingehend verarbeitet, dass alle Netze der Schaltung in hierarchischer Reihenfolge auf Zuornung zu einem Netztyp hin überprüft werden. Wird eine solche Zuordnung festgestellt, so wird diese in den Datensatz des hierarchisch höchsten Netzes (Topnetz) übertragen. DOLLAR A Anschließend wird diese Zuordnung in umgekehrter hierarchischer Reihenfolge in die Datensätze der dem Topnetz zugeordneten Subnetze übertragen. Anschließend kann dieses Wissen der Zuordnung jedes Netzes zu einem Netztyp zur Plausibilitätsprüfung der Schaltung verwendet werden.

Description

  • Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten.
  • Dieses Verfahren baut auf einer Netzliste auf, d. h. einer Liste aus Bauelementen und Netzen. Diese können über hierarchisch aufgebaute Zellen verteilt sein.
  • Einfache Zellen enthalten z. B. alle Bauelemente und Netze, die zusammen einen Inverter enthalten. Eine solche Zelle B kann nun in einer anderen Zelle A instanziiert (eingesetzt) werden. Zelle A enthält also außer Bauelementen und Netzen einen Aufruf von Zelle B an bestimmten Netzen (sogenannte Pins). Eine solche Netzliste wird als hierarchisch bezeichnet. Es können beliebig viele Hierarchiestufen in einem Layout eines Gesamtchips existieren. Bei Zellen, die in anderen Zellen eingesetzt werden, spricht man von instanziierten Zellen. Die Bauteile dieser Zellen sind in allen Instanziierungen identisch; sie besitzen jedoch unterschiedliche Umgebungen.
  • Während der verschiedenen Phasen des Schaltungsentwurfes ist es von Bedeutung zu überprüfen, an welchen Netztypen bestimmte Bauelemente anliegen. Als Netz bezeichnet man generell die leitende Verbindung zwischen verschiedenen Bauteilen, z. B. zwischen einem Transistorausgang und einem Transistoreingang. Netze unterschiedlichen Typs werden dabei generell jene elektrischen Leitungen genannt, die bestimmte Anschlüsse mit den Bauelementen einer Halbleiterschaltung verbinden. Beispielsweise verbindet ein Netz des Typs "Power-Netz" eine Stromversorgung mit den Versorgungseingängen eines Chips und damit der Bauelemente des Chips. Andere Beispiele sind "Ground-Netze", "Input- Netze", "Output-Netze", etc. Bestimmte Bauelemente müssen gemäß vorgegebenen Designregeln an Netze bestimmten Types angeschlossen sein. Beispielsweise müssen die Bulk-Anschlüsse von NMOS-Transistoren mit Ground und von PMOS-Transistoren mit Power verbunden sein. Zudem gibt es für manche Bauelemente in der Nähe externer Chipanschlüsse besondere Designregeln, da diese Elemente höheren Spannungen ausgesetzt sein können, als Bauelemente im "Inneren" der Schaltung. Beispielsweise gibt es Regeln für das Design eines Chips zum Schutz gegen statische Entladungen (Electrical Static Discharging ESD). Auch hier muss für eine Verifikation der zu überprüfenden Schaltung bekannt sein, an welchen Netztypen die Bauelemente der Schaltung anliegen.
  • Wenn die Schaltung fertiggestellt ist, möchte man das elektrische Verhalten simulieren, ohne den Schaltkreis bereits gefertigt haben zu müssen. Dies wird anhand der Netzliste erreicht, deren Informationsgehalt dem eines Schaltplans entspricht. Beispiele für bekannte Netzlistenformate sind SPICE oder DSPF.
  • Je nach Organisation der Netzliste eines zu verifizierenden Netzes kann dabei die Erkennung von Netztypen problematisch sein. Bei nicht-hierarchisch organisierten Netzlisten (auch "flache" Netzlisten genannt) ist die Erkennung von Netztypen in der Regel kein Problem, da jedes Netz eine eindeutige, direkte Typzuordnung aufweist.
  • In hierarchischen Netzlisten hingegen sind die Informationen hierarchisch organisiert; d. h. mehrfach vorkommende Strukturen werden nur einmal beschrieben und an den benötigten Stellen referenziert.
  • Bei heutigen Chip-Designs ist eine hierarchische Organisation der Daten unerlässlich, da nur so sich wiederholende Netzstrukturen von einzelnen Zellen nur einmal abgespeichert werden müssen, um den Speicher- und Rechenbedarf beim Schaltungsentwurf und der Verifikation integrierter Halbleiterschaltungen in Grenzen zu halten.
  • Physikalisch zusammenhängende Netze sind in hierarchischen Netzen oft über mehrere solche Zellen verteilt, so dass Zellen oft nur Teile eines Netzes ("Teilnetze") enthalten. Die Zuordnung zu einem Netztyp geschieht jedoch nur in Bezug auf ein komplettes Netz, und nicht in Bezug auf solche Teilnetze. Wird die Netzliste nun in Bezug auf einzelne Zellen untersucht, so kann es passieren, dass Zellen ein Teilnetz aufweisen, das keine Netztypzuordnung aufweist, da diese in einem anderen Teilnetz enthalten ist.
  • Fig. 1 illustriert eine beispielhafte "Rootzelle" mit darin instanziierten Zellen A und C. Zelle B wiederum ist in Zelle A instanziiert. Eine Rootzelle ist generell eine Zelle höchster Ordnung, in welcher untergeordnete Zellen angeordnet sind, und entspricht somit dem Chip. In Fig. 1 ist die Zelle B mit den Instanzen inst_B1, inst_B2 und inst_B3 innerhalb der Zelle A angeordnet. In inst_B1 und inst_B2 ist jeweils das Teilnetz net_B1 der Zelle B mit Power (VDD) verbunden, und net_B3 mit Ground (VSS). Die Instanz inst_B3 ist invers angeschlossen, so dass die Diode Dio_B1 und der MOS-Transistor MOS_B2 innerhalb der Zelle B unterschiedlich beschaltet sind.
  • Das VSS-Netz ist in der Rootzelle und damit auf höchstem hierarchischen Niveau gekennzeichnet. Das VDD-Netz dagegen ist in der Subzelle C gekennzeichnet.
  • Insgesamt gibt es in der Zellstruktur von Fig. 1 folgende physikalische Netze:
    • - net_Root1 + net_C1 + net_A1 + net_B1(inst_1) + net_B1(inst_B2) + net_B3(inst_B3) Netztyp VDD (Power)
    • - net_Root2 + net_A2 + net_B3(inst_B1) + net_B3(inst_B2) + net_B1(inst_B3) Netztyp VSS (Ground)
    • - net_B2 (jeweils in inst_B1, inst_B2, inst_B3) kein Netztyp
  • Nach Fertigstellung des Schaltungsentwurfs werden wie bereits angedeutet Plausibilitätsprüfungen durchgeführt. Bislang werden Plausibilitätsprüfungen zumeist an flachen bzw. ausgeflachten Netzlisten ausgeführt, was zu einem entsprechend hohen Speicher- und Rechenaufwand führt. Teilweise wird deshalb auf derartige Prüfungen verzichtet und das elektrische Verhalten des Schaltungentwurfes "lediglich" simuliert. Durch die zunehmende Komplexität der Schaltungen sind solche Simulationen allerdings sehr aufwendig; manche Beschaltungen können gar überhaupt nicht simuliert werden. Eine schnelle Überprüfung einiger Regeln vor einer Simulation würde die Entwicklungszeit deshalb stark verkürzen.
  • Ein weiteres Problem besteht in der Überprüfung einer aus einem Layout extrahierten Netzliste. Hier begnügten sich Designer oft damit, die aus dem Layout extrahierte Netzliste mit der ursprünglichen Schaltbild-Netzliste zu vergleichen (LVS, Layout versus Schematic). Im Rahmen der Auftragsentwicklung bestimmter Schaltungsteile durch Fremdfirmen wird jedoch oft nur das Layout der Teile, und nicht die Schaltbild-Netzliste mitgeliefert, so dass eine LVS-Prüfung nicht möglich ist.
  • Die vorliegende Erfindung hat zur Aufgabe, diese Probleme zumindest abzumindern. Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene Erfindung gelöst. Vorteilhafte Ausgestaltungen sind den Unteransprüchen zu entnehmen.
  • Erfindungsgemäß ist ein Verfahren geschaffen zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von Netzen enthalten, wobei die Netze hierarchisch geordnet sind, mit folgenden Schritten:
    • 1. Abrufen von Daten, die ein Netz einer untersten Hierarchiestufe darstellen;
    • 2. Verarbeiten der abgerufenen Daten zur Feststellung eines dem durch die abgerufenen Daten dargestellten Netz zugeordneten Netztypes;
    • 3. Bearbeiten von Daten, die ein dem durch die abgerufenen Daten dargestellten Netz hierarchisch übergeordnetes Netz darstellen, zur Zuordnung eines in Schritt (2) festgestellten Netztypes; und
    • 4. Verarbeiten der Daten zur Feststellung eines Netzes einer nächsthöheren Hierarchiestufe;
    • 5. Abrufen von Daten, die das Netz der nächsthöheren Hierarchiestufe darstellen, und Wiederholen der Schritte (2) bis (5) in Abhängigkeit von der Feststellung eines Netzes einer nächsthöheren Hierarchiestufe in Schritt (4).
  • Mittels dieses Verfahrens wird der Netztyp, der einem untergeordneten Netz zugeordnet ist, durch die Hierarchie bis nach "oben" durchpropagiert, so dass nach Beendigung des Verfahrens der Netztyp des physikalischen Netzes im Datensatz des in der Hierarchie höchstliegenden Netzes (Topnetz) verfügbar ist. Der Begriff Netz umfasst dabei auch Teilnetze. Somit ist der Netztyp an einer definierten Stelle (nämlich in den Datensätzen der Topnetze) verfügbar und kann zur Überprüfung der Schaltung in Betracht gezogen werden.
  • Vorzugsweise weisen die Daten allen Netzen eine Hierarchiestufe derart zu, dass bei der hierarchischen Propagierung durch die Schaltung alle Netze erfasst werden, so dass nach Ausführung des Verfahrens allen Topnetzen die Netztypen der mit ihnen verbundenen Subnetze zugeordnet sind.
  • Die die Schaltung darstellenden Daten können so strukturiert sein, dass jedem der Netze mittel der Instanzen eine Hierarchiestufe zugeordnet ist. Einem Netz können auch mehrere Hierarchiestufen zugeordnet sein. Zum Beispiel könnte in Fig. 1 Zelle B auch direkt in der Rootzelle instanziiert sein. Lediglich den Instanzen ist eine feste Hierarchiestufe in der Netzliste zugeordnet. Die Stufe des Netzes richtet sich nach der Instanz der Zelle, die gerade betrachtet wird.
  • Da die Schaltung in der Regel eine Anzahl Subnetze (d. h. untergeordnete Netze oder Teilnetze) und Topnetze enthält, enthält vorzugsweise jeder ein Subnetz darstellende Satz der Daten in Abhängigkeit von der Instanziierung Informationen bezüglich des zugeordneten Topnetzes, wobei jedes Topnetz bezüglich der zugeordneten Subnetze die höchste Hierarchiestufe darstellt. Das heisst, dass in Abhängigkeit von der Instanziierung einem Subnetz unterschiedliche Topnetze zugeordnet sein können. Dadurch, dass der Datensatz jedes Subnetzes einen Verweis auf das zugehörige Topnetz enthält, ist ein späterer Zugriff auf den nach "oben" (d. h. zum Topnetz) propagierten Netztyp vereinfacht.
  • Da die elektronische Schaltung in der Regel eine Anzahl von Anschlüssen aufweist, sind die die Schaltung beschreibenden Daten so strukturiert, dass diese jedem Anschluss ein Netz zuordnen, und gleichzeitig Informationen über eine hierarchische Ordnung der Anschlüsse enthalten, wobei das Verfahren folgenden zusätzlichen Schritt enthält:
    (1a) Abrufen von Daten, die das einem Anschluss einer untersten Hierarchiestufe zugeordnete Netz darstellen.
  • In dieser Ausgestaltung wird die Hierarchiestufe eines Netzes indirekt durch Bestimmung der Hierarchiestufe der dem Netz zugeordneten Anschlüsse festgestellt. Zu diesem Zweck enthält jeder Datensatz, welcher einem Anschluss zugeordnet ist, eine Hierarchieangabe.
  • Vorzugsweise enthält jeder einen Anschluss darstellende Satz der Daten Informationen bezüglich eines angeschlossenen Vaternetzes und eines angeschlossenen Subnetzes. Wird die Bestimmung der Hierarchiestufe eines Netzes mittels Bestimmung der Hierarchiestufe der dem Netz zugeordneten Anschlüsse durchgeführt, so lässt sich durch diese zusätzlichen Informationen die Übertragung des Netztypes von dem Datensatz eines Subnetzes in den Datensatz eines Vaternetzes einfach realisieren.
  • Vorzugsweise enthält jeder eine Instanz darstellende Satz der Daten Informationen bezüglich einer Übereinstimmung bzgl. der Verschaltung mit einer anderen Instanz. Durch eine derartige Kennzeichnung können beim "Durchforsten" der Daten Instanzen übersprungen werden, die mit den gleichen Netzen verschaltet sind, wie andere Instanzen. Dadurch kann der Rechenaufwand zur Durchführung des Verfahrens reduziert werden. Dies gilt nicht nur für die Verarbeitung der Daten zur Propagierung der Netztypen durch das Netz, sondern auch für eine anschließende Überprüfung der Schaltung.
  • Vorzugsweise enthält jeder eine Instanz darstellende Satz der Daten Informationen bezüglich der hierarchisch nächsthöheren Instanz. Dies vereinfacht den sequentiellen Abruf der den Instanzen zugeordneten Datensätze in deren hierarchischer Ordnung.
  • Zu Vorbereitung einer Plausibilitätsprüfung der Schaltung umfasst das Verfahren mit Vorteil die folgenden zusätzlichen Schritte:
    • 1. Abrufen von Daten, die ein Netz einer obersten Hierarchiestufe darstellen;
    • 2. Verarbeiten der abgerufenen Daten zur Feststellung des dem durch die abgerufenen Daten dargestellten Netz zugeordneten Netztypes;
    • 3. Bearbeiten von Daten, die ein dem durch die abgerufenen Daten dargestellten Netz hierarchisch untergeordnetes Netz darstellen, zur Zurdnung des in Schritt (7) festgestellten Netztypes;
    • 4. Verarbeiten der Daten zur Feststellung eines Netzes einer nächstniedrigeren Hierarchiestufe; und
    • 5. Abrufen von Daten, die das Netz der nächstniedrigeren Hierarchiestufe darstellen, und Wiederholen der Schritte (7) bis (9) in Abhängigkeit von der Feststellung eines Netzes einer nächstniedrigeren Hierarchiestufe in Schritt (9).
  • Durch diese Schritte werden die Netztypzuordnungen von den Topnetzen in die Subnetze propagiert. Somit ist nach Ausführung dieser Schritte für jedes Netz (d. h. also auch für jedes Teilnetz) ein zugehöriger Netztyp verfügbar.
  • In einem nachfolgende Schritt können die die Schaltung darstellenden Daten verarbeitet werden, um die Typen der den Anschlüssen zugeordneten Netze festzustellen. Anschließend können dann die Daten verarbeitet werden, um den Typ eines einem beliebigen Anschluss zugeordneten Netzes mit einem für diesen Anschluss vorbestimmten Typ zu vergleichen. Dies kann für alle diesem Anschluss zugeordneten Netze wiederholt werden. Zusätzlich kann dies für alle Anschlüsse der Schaltung wiederholt werden. Somit kann eine Überprüfung der Verschaltung einzelner Anschlüsse oder der gesamten Schaltung anhand des Wissens über die Typen der an den Anschlüssen anliegenden Netzen durchgeführt werden.
  • Erfindungsgemäß ist weiterhin ein Computerprogramm geschaffen zur Durchführung des oben beschriebenen Verfahrens auf einem Computer.
  • Außerdem ist erfindungsgemäß ein Datenverarbeitungssystem geschaffen mit einem solchen darauf installierten Computerprogramm.
  • Zusammengefasst bietet dieses Verfahren die Möglichkeit, sehr effizient durch hierarchisch strukturierte Netzlisten zu navigieren, da zwar bei einer Prüfung instanzabhängige Informationen abgefragt werden können, dazu die Netzliste aber nicht ausgeflacht werden muss, sondern die Instanzabhängigkeit allein durch die sich während des Hierarchiedurchlaufes ändernden Verweise auf die Topnetze realisiert wird. Darüberhinaus ermöglicht das Konzept bzgl. der Netztypen ähnlich angeschlossener Instanzen Prüfungen nur für jeweils einen Vertreter dieser ähnlichen Instanzen durchzuführen, was Rechenzeit einspart und auch die mehrfache Protokollierung von Fehlern in ähnlichen Instanzen Vermeidet, was zu einer schnelleren Auswertung der Berechnungsergebnisse führt.
  • Anhand der Figuren und der Anhänge wird nun eine beispielhafte Ausführungsform des erfindungsgemäßen Verfahrens erläutert. Es zeigen dabei:
  • Fig. 1 eine hierarchische Zellstruktur mit unterschiedlich angeschlossenen Subzellen;
  • Fig. 2 ein Flussdiagramm zur Illustration des Ablaufes eines Verfahrens nach einem Ausführungsbeispiel der Erfindung;
  • Anhang 1 die Datenstruktur einer hierarchischen Netzliste;
  • Anhang 2 Beispiele von einzelnen Objekten dieser Datenstruktur für die in Fig. 1 gezeigte Schaltung; und
  • Anhang 3 einen beispielhaften Algorithmus zur Propagierung der Netztypen durch die Netzhierarchie.
  • Anhang 1 zeigt die Datenstruktur einer hierarchischen Netzliste, die als Datensatz zur hierarchischen Beschreibung einer Netzliste sowie der Typkennung einiger Netze dient.
  • Mit dem Flag "similar" sind Instanzen einer Zelle gekennzeichnet, die an die gleichen Netztypen angeschlossen sind, wie eine andere Instanz der gleichen Zelle in der selben Vaterzelle (d. h. übergeordneten Zelle). Bei der Prüfung der Netzeigenschaften ist es dann ausreichend, nur eine Instanz der Zelle dieses Typs aufzurufen, da die entsprechenden anderen Instanzen die gleichen Netzeigenschaften aufweisen. In der beispielhaften Schaltung von Fig. 1 ist für inst_B1 und inst_B3 "similar = false"; für inst_B2 gilt jedoch "similar = true", da inst_B2 über die gleichen Anschlüsse verfügt, wie inst_B1.
  • Anhang 2 zeigt Beispiele von in der Datenstruktur von Anhang 1 dargestellten Instanzen und Zellen der Schaltung in Fig. 1. Der Einfachheit halber sind für die einzelnen Objekte deren Namen anstatt Speicheradressen verwendet.
  • Durch das Verfahren des illustrierten Ausführungsbeispieles werden die den untergeordneten Netzen oder Netzteilen zugeordneten Netztypen in der Hierarchie der Netze nach oben propagiert. Das heisst, dass jeder Datensatz, der ein Netz(teil) der Schaltung beschreibt, abgefragt wird, und jeweils der in einem Datensatz für ein Netz(teil) angegebene Netztyp in den Datensatz des übergeordneten Netz(teil)es kopiert wird (Integer Netztyp in der in Anhang 2 illustrierten Datenstruktur). Dieser Vorgang wird rekursiv solange wiederholt, bis die Typen der Netz(teil)e der Schaltung in der dem hierarchisch am höchsten gelegenen Netz(teil) zugeordneten Datensatz enthalten sind.
  • Anschließend können dann in einem Durchlauf durch die Zellhierarchie die Netztypen der Anschlüsse der Bauelemente in den einzelnen Instanzen untersucht werden.
  • Zunächst sei die Propagierung der Netztypen genauer beschrieben: Dazu werden alle Zell-Instanzen "bottom-up" durchlaufen, d. h. beginnend mit den hierarchisch am tiefsten liegenden Subzellen über die jeweiligen Vaterzellen bis zur Rootzelle. Für jede Instanz wird über die Liste der gespeicherten Anschlüsse (Pins) iteriert. Für jeden Anschluss wird der Netztyp des hierarchisch niedrigeren angeschlossenen Netzes abgerufen und in den Datensatz für das angeschlossene hierarchisch höher liegende Netz übertragen.
  • Bezugnehmend auf die Datenstruktur in Anhang 2 sowie die Schaltung aus Fig. 1 ist beispielsweise der Anschluss Pin_B2_2 an das Subnetz net_B1 und das Vaternetz net_A1 angeschlossen. Das Subnetz net_B1 ist ein Teilnetz, dem kein Netztyp zugeordnet ist. Ebenso ist das Vaternetz net_A1 ein Teilnetz, dem kein Netztyp zugeordnet ist. Deshalb findet in diesem Durchgang keine Übertragung eines Netztypes von einer Hierarchie (net_B1) in die nächsthöhere (net_A1) statt. Der Datensatz für den Anschluss Pin_B2_1 enthält weiterhin einen Verweis auf den zur selben Instanz gehörenden Anschluss Pin_B2_2, so dass dieser anschließend untersucht wird. Da der Anschluss Pin_B2_2 jedoch auch nur an Teilnetze angschlossen ist, denen kein Netztyp zugeordnet ist, findet auch hier keine Übertragung des Netztypes in die nächsthöhere Hierarchie statt.
  • Anschließend wird die nächste Instanz aufgerufen (inst_B2). Diese ist durch das Flag "Similar = TRUE" markiert, wodurch angezeigt ist, dass inst_B2 über die gleichen Anschlüsse verfügt, wie inst_B1, so dass keine Überprüfung der Netztypen durchgeführt werden muss. Anschließend wird inst_B3 aufgerufen; da inst_B3 anders verschaltet ist, als inst_B1, ist der Flag "Similar = False" und inst_B3 wird überprüft. Allerdings führt die Überprüfung der Anschlüsse nicht zu einer Übertragung von Netztypen in die nächsthöhere Hierarchie, da die Anschlüsse von inst_B3 lediglich an Teilnetze ohne Typzuordnung angeschlossen sind.
  • Anschließend werden in der nächsthöheren Hierarchieebene die Anschlüsse Pin_A1_1 und Pin_A1_2 der Instanz A1 überprüft, usw. Auf diese Weise werden hierarchisch alle Pins der Schaltung untersucht. Im der Schaltung von Fig. 1 wird während dieses Durchlaufes der Netztyp VDD von Netz net_C1 in Zelle C auf das Netz net_Root1 in der Rootzelle übertragen, während die Typ-Kennzeichnung VSS bereits im Datensatz des anderen hierarchisch am höchsten gelegenen Netzes net_Root2 der Rootzelle enthalten ist.
  • In einem zweiten Iterationslauf durch die Zellhierarchie können nun die Anschlüsse der Bauelemente überprüft werden. Insbesondere wird dabei geprüft, ob die Anschlüsse der Bauelemente an korrekten Netztypen anliegen. Anhang 3 zeigt ein in Pseudo-C verfasstes Programm für diesen Zweck. Die Überprüfung einer richtigen Verschaltung der Bauelemente wird durch Zugriff auf die nunmehr den Topnetzen zugeordneten Netztypen durchgeführt.
  • Um für jede Instanz darauf zugreifen zu können, wird zu Beginn der Überprüfung der Verweis auf die Topnetze in die den Netzen der Subinstanzen zugeordneten Datensätze kopiert. Anschließend werden dann "bottom-up" die Anschlüsse der Bauelemente analysiert.
  • Mit anderen Worten wird jedem Subnetz ein Verweis auf das hierarchisch darüberliegende Topnetz zugeordnet, damit jedem Netz(teil), an welches ein Bauelement angeschlossen ist, ein Netztyp zugeordnet ist. Diese Zuordnung wird in einem "top- down" Durchlauf durch die Netzhierarchie durchgeführt. Somit ist nach diesem Durchlauf für jedes Subnetz, und damit für jeden Anschluss eines Bauelements, der Netztyp verfügbar.
  • Bei der Analyse der Schaltung aus Fig. 1 würde eine Prüfung folglich ergeben, dass die Anode der Diode Dio_B1 in den Instanzen inst_B1 und inst_B2 mit einem VDD-Netz, und in inst_B3 mit einem VSS-Netz verbunden ist.
  • Der Aufruf der einzelnen Bauelemente erfolgt dabei mittels eines "bottom-up"-Aufrufes der Instanzen, wobei durch das "Similar"-Flag markierte Instanzen nicht überprüft werden.
  • Fig. 2 illustriert den Ablauf des Verfahrens nach einem Ausführungsbeispiel der Erfindung. Begonnen wird in Schritt 1 mit der Feststellung der Netze der untersten Hierarchiestufe. In einem Schritt 2 wird überprüft, ob diesen Netzen (die auch Teilnetze sein können) ein Netztyp zugeordnet ist. Ist dies der Fall, so wird der festgestellte Netztyp in Schritt 3 dem nächsten übergeordneten Netz zugeordnet.
  • Anschließend wird in Schritt 4 festgestellt, ob ein weiteres hierarchisch übergeordnetes Netz vorhanden ist. Ist dies der Fall, so werden die Schritte 2 und 3 wiederholt. Ist dies nicht der Fall, so bedeutet dies, dass das Topnetz erreicht wurde, alle diesem Topnetz zugeordneten Subnetze der Schaltung erfasst wurden, und die extrahierte Netztypinformation oben angelangt ist, d. h. im Datensatz des Topnetzes ablegt ist. Gegebenenfalls müssen diese Schritte für andere Topnetze und den diesen jeweils zugeordneten Subnetzen wiederholt werden.
  • In einem Schritt 5 wird der dem Topnetz zugeordnete Netztyp in den Datensatz der hierarchisch nächsttieferen Netze übertragen. In Schritt 6 wird bestimmt, ob weitere hierarchisch darunterliegende Netze existieren. Ist dies der Fall, so wird Schritt 5 wiederholt. Anderenfalls ist die unterste Stufe der Netzhierarchie erreicht, was bedeutet, dass der dem Topnetz zugeordnete Netztyp nun ebenfalls allen dem Topnetz zugehörigen Subnetzen zugeordnet ist.
  • In einem Schritt 7 kann nun die Überprüfung der Schaltung durchgeführt werden. Dies wird wie oben beschrieben durch Vergleich der Typen der den Anschlüssen der Schaltung zugeordneten Netze mit an diesen Anschlüssen geforderten Netztypen erreicht. Anschließend kann das Ergebnis dieser Überprüfung angezeigt werden, und gegebenenfalls eine Korrektur durchgeführt werde.
  • Die in Fig. 2 illustrierten Schritte werden für alle Netze der Netzliste ausgeführt, da jedes Topnetz mit mehreren Teilnetzen der unterschiedlichsten Zellen verbunden sein kann. So muss zum Beispiel bei der Schaltung in Fig. 1 der Netztyp von net_C1 und net_A1 net_Root1 zugeordnet werden. Zuvor muss net_A1 die Netztypen von net_B1 und net_B2 erhalten.
  • Es ist anzumerken, dass die Erfindung nicht auf die beschriebenen Ausführungsbeispiele beschränkt ist, sondern Modifikationen innerhalb des durch die Ansprüche definierten Schutzbereiches umfasst.

Claims (16)

1. Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von Netzen enthalten, wobei die Netze hierarchisch geordnet sind, mit folgenden Schritten:
1. Abrufen von Daten, die ein Netz einer untersten Hierarchiestufe darstellen;
2. Verarbeiten der abgerufenen Daten zur Feststellung eines dem durch die abgerufenen Daten dargestellten Netz zugeordneten Netztypes;
3. Bearbeiten von Daten, die ein dem durch die abgerufenen Daten dargestellten Netz hierarchisch übergeordnetes Netz darstellen, zur Zuordnung eines in Schritt (2) festgestellten Netztypes; und
4. Verarbeiten der Daten zur Feststellung eines Netzes einer nächsthöheren Hierarchiestufe;
5. Abrufen von Daten, die das Netz der nächsthöheren Hierarchiestufe darstellen, und Wiederholen der Schritte (2) bis (5) in Abhängigkeit von der Feststellung eines Netzes einer nächsthöheren Hierarchiestufe in Schritt (4).
2. Verfahren nach Anspruch 1, wobei die Daten jedem der Netze eine instanzabhängige Hierarchiestufe zuordnen.
3. Verfahren nach Anspruch 1 oder 2, wobei jeder ein Netz darstellende Satz der Daten Informationen bezüglich eines Netzes einer nächsthöheren Hierarchiestufe enthält, mit folgendem zusätzlichen Schritt:
1. Verarbeiten der abgerufenen Daten zur Feststellung eines Netzes einer nächsthöheren Hierarchiestufe.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Schaltung eine Anzahl Subnetze und Topnetze enthält, und jeder ein Subnetz darstellende Satz der Daten instanzabhängige Informationen bezüglich des zugeordneten Topnetzes enthält, wobei jedes Topnetz bezüglich der zugeordneten Subnetze die höchste Hierarchiestufe darstellt.
5. Verfahren nach Anspruch 1, wobei die Schaltung eine Anzahl von Anschlüssen aufweist, wobei jedem Anschluss ein Netz zugeordnet ist, und die Anschlüsse hierarchisch geordnet sind, mit folgenden Schritt:
1. Abrufen von Daten, die das einem Anschluss einer untersten Hierarchiestufe zugeordnete Netz darstellen.
6. Verfahren nach Anspruch 5, wobei jeder einen Anschluss darstellende Satz der Daten Informationen bezüglich eines angschlossenen Vaternetzes und eines angeschlossenen Subnetzes enthält.
7. Verfahren nach Anspruch 4 oder 5, wobei die Daten jeden der Anschlüsse eine Hierarchiestufe zuordnen.
8. Verfahren nach Anspruch 1, wobei die Schaltung eine Anzahl von hierarchisch geordneter Instanzen aufweist.
9. Verfahren nach Anspruch 1, wobei die Schaltung eine Anzahl von Instanzen aufweist, und jeder eine Instanz darstellende Satz der Daten Informationen über eine Übereinstimmung bzgl. der Verschaltung mit einer anderen Instanz enthält.
10. Verfahren nach Anspruch 8 oder 9, wobei jeder eine Instanz darstellende Satz der Daten Informationen bezüglich der hierarchisch nächsthöheren Instanz enthält.
11. Verfahren nach einem der vorhergehenden Ansprüche, mit folgenden Schritten:
1. Abrufen von Daten, die ein Netz einer obersten Hierarchiestufe darstellen;
2. Verarbeiten der abgerufenen Daten zur Feststellung des dem durch die abgerufenen Daten dargestellten Netz zugeordneten Netztypes;
3. Bearbeiten von Daten, die ein dem durch die abgerufenen Daten dargestellten Netz hierarchisch untergeordnetes Netz darstellen, zur Zurdnung des in Schritt (7) festgestellten Netztypes;
4. Verarbeiten der Daten zur Feststellung eines Netzes einer nächstniedrigeren Hierarchiestufe; und
5. Abrufen von Daten, die das Netz der nächstniedrigeren Hierarchiestufe darstellen, und Wiederholen der Schritte (7) bis (9) in Abhängigkeit von der Feststellung eines Netzes einer nächstniedrigeren Hierarchiestufe in Schritt (9).
12. Verfahren nach Anspruch 11, mit folgendem zusätzlichen Schritt:
1. Verarbeiten der Daten zum Überprüfen der Typen der den Anschlüssen zugeordneten Netze.
13. Verfahren nach Anspruch 12, mit folgendem zusätzlichen Schritt:
1. Verarbeiten der Daten zum Vergleich des Typs eines einem Anschluss zugeordneten Netzes mit einem für diesen Anschluss vorbestimmten Typ; und
2. Wiederholen von Schritt (11a) für alle dem Anschluss zugeordneten Netze.
14. Verfahren nach Anspruch 13, mit folgendem zusätzlichen Schritt:
1. Wiederholen der Schritte (11a) und (12) für alle Anschlüsse der Schaltung.
15. Computerprogramm zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche auf einem Computer.
16. Datenverarbeitungssystem, mit einem Computerprogramm nach Anspruch 15.
DE10160459A 2001-10-31 2001-11-30 Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten Withdrawn DE10160459A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10160459A DE10160459A1 (de) 2001-10-31 2001-11-30 Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten
US10/284,772 US20030093504A1 (en) 2001-10-31 2002-10-31 Method for processing data containing information about an electronic circuit having a plurality of hierarchically organized networks, computer readable storage medium and data processing system containing computer-executable instructions for performing the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10154960 2001-10-31
DE10160459A DE10160459A1 (de) 2001-10-31 2001-11-30 Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten

Publications (1)

Publication Number Publication Date
DE10160459A1 true DE10160459A1 (de) 2003-05-15

Family

ID=7705106

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10160459A Withdrawn DE10160459A1 (de) 2001-10-31 2001-11-30 Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten

Country Status (1)

Country Link
DE (1) DE10160459A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10160513B4 (de) * 2001-10-31 2012-02-23 Qimonda Ag Verfahren zur Verarbeitung von Daten, die Parameter bezüglich einer Anzahl Bauelemente einer elektrischen Schaltung darstellen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10160513B4 (de) * 2001-10-31 2012-02-23 Qimonda Ag Verfahren zur Verarbeitung von Daten, die Parameter bezüglich einer Anzahl Bauelemente einer elektrischen Schaltung darstellen

Similar Documents

Publication Publication Date Title
DE60128014T2 (de) Intelligenter Prüfadapter
DE102006037162B4 (de) Verfahren und Vorrichtung und deren Verwendung zur Prüfung des Layouts einer elektronischen Schaltung
DE3901579C2 (de)
DE10339924B4 (de) ESD-Testanordnung und Verfahren
DE112015002183T5 (de) Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
DE19815534A1 (de) Verfahren und System zum Entwurf und zur Simulation digitaler Rechner-Hardware
DE10393176T5 (de) Verfahren zum Evaluieren eines kernbasierten Systems auf einem Chip
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
DE102014118932A1 (de) Charakterisierung einer Zelle unter Verwendung einer Eingangswellenerzeugung unter Berücksichtigung verschiedener Schaltungstopologien
DE19823930A1 (de) Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
DE102017117496A1 (de) Zell-Bewusste Fehlstellen-Charakterisierung und Wellenformanalyse mithilfe mehrerer Strobe-Punkte
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE10160513B4 (de) Verfahren zur Verarbeitung von Daten, die Parameter bezüglich einer Anzahl Bauelemente einer elektrischen Schaltung darstellen
DE10317924A1 (de) Layoutentwurfsverfahren und System zum Liefern einer Umgehungskapazität und einer konformen Dichte in einer integrierten Schaltung
DE10160459A1 (de) Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten
DE112013005831T5 (de) Netzlistenabstraktion
EP1364286B1 (de) Verfahren und anordnung zur ermittlung einer gesamtfehlerbeschreibung zumindest eines teils eines technischen systems, computer programm-element und computerlesbares speichermedium
DE102008046397A1 (de) Verifizierung auf Basis von Transaktionen eines Systems auf einem Chip auf Systemebene durch Übersetzen von Transaktionen in Maschinencodierung
US7398506B2 (en) Net list producing device producing a net list with an interconnection parasitic element by hierarchical processing
DE4233271C2 (de) Integrierte Halbleiterschaltungsanordnung mit einer Fehlererfassungsfunktion
DE10303186B4 (de) Verfahren zur Simulation einer elektrischen Schaltung
WO2006094522A1 (de) Testverfahren und herstellungsverfahren für eine aus teilschaltungen zusammengesetzte halbleiterschaltung
DE102016121449B4 (de) Halbleiterchip mit Logikzellen und einer Füllzellen-Prüfkette

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee