Beschreibung
Verfahren zum Prüfen einer elektrischen Schaltung
Elektrische Schaltungen, insbesondere integrierte Halbleiterschaltungen bzw. Halbleiterchips werden bereits vor ihrer Fertigung auf Funktionsfähigkeit getestet, um eine Herstellung fehlerbehafteter Schaltungen bzw. Chips zu vermeiden.
Zur Überprüfung einer Schaltung werden üblicherweise Schaltungssimulationen durchgeführt , bei denen das elektrische Verhalten der Schaltung simuliert wird. Schaltungssimulationen sind zwar zur Erkennung von Schwachstellen im Design der elektrischen Schaltung nützlich, jedoch weisen sie den Nach- teil auf, dass das Schaltungsverhalten nur für jeweils einen vorgegebenen Stimulus-Vektor bzw. einen vorgegebenen Stimulus-Satz von EingangsSpannungen und/oder sonstigen Parametern (z.B. Temperatur, Ströme, etc.) untersucht wird. Ein Fehler in der elektrischen Schaltung kann daher nur dann aufgefunden werden, wenn der jeweils verwendete Stimulus-Vektor bzw. der verwendete Stimulus-Satz von Parametern die Schaltung in einer Weise fordert, dass ein in der elektrischen Schaltung enthaltener Designfehler auftritt und erkennbar wird.
Ein weiterer Nachteil eingehender Schaltungssimulationen besteht in relativ hohen Rechenzeiten.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Überprüfen einer elektrischen Schaltung anzugeben, bei dem eine eingehende elektrische Schaltungssimulation nicht erforderlich ist und trotz allem Schaltungsfehler zuverlässig erkannt werden.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen gemäß Patentanspruch 1 gelöst. Vorteilhafte'
Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Danach ist erfindungsgemäß ein Verfahren zum Erzeugen eines Markierungssignals vorgesehen, das angibt, bei welchen Komponenten einer elektrischen Schaltung oder bei welchen Schal- tungsbereichen der elektrischen Schaltung ein vorgegebener, zumindest durch ein Spannungspotential oder einen logischen Zustand definierter Schaltungszustand eintreten könnte. Bei dem Verfahren wird aus einer die Schaltungsstruktur der e- lektrischen Schaltung beschreibenden Original-Netzliste eine transformierte Netzliste gebildet, indem alle elektrischen
Komponenten der elektrischen Schaltung zumindest einer vorgegebenen Komponentengruppe oder zumindest einer vorgegebenen Komponentenart zumindest bezüglich jeweils eines Anschluss- paars als kurzgeschlossen behandelt werden. Alle über eine oder mehrere der als kurzgeschlossen zu behandelnden Komponenten verbundenen Netzknoten - nachfolgend auch kurz „Netze" genannt - werden jeweils zu einer Äquivalenzklasse zusammengefasst. Unter einer Äquivalenzklasse ist dabei ein „fiktives" Ersatznetz zu verstehen, das alle zugehörigen Netze bei der weiteren Simulation ersetzt. Dabei werden jeder Äquivalenzklasse jeweils alle Spannungspotentiale oder logischen Zustände zugeordnet, die an einem der zugehörigen Netzknoten auftreten könnten. Unter Berücksichtigung der so gebildeten quivalenzklassen wird anschließend festgestellt, ob und bei welchen Komponenten oder bei welchen Schaltungsbereichen der elektrischen Schaltung der vorgegebene Schaltungszustand eintreten kann. Als das Markierungssignal wird ein Signal erzeugt, das die anhand der transformierten Netzliste identifizierten Komponenten oder Schaltungsbereiche in der Original- Netzliste markiert und somit identifizierbar macht.
Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass es sich sehr einfach durchführen lässt, weil die Prüfung der elektrischen Schaltung anhand einer „transformierten" bzw. vereinfachten Netzliste durchgeführt wird. Die transformierte Netzliste wird dabei dadurch gebildet, dass einzelne oder mehrere Netzknoten der Netzliste zu
einer Äquivalenzklasse zusammengefasst werden. Anschaulich betrachtet ist eine Äquivalenzklasse ein neues Netz bzw. ein neuer Netzknoten, der die „zusammengefassten" Netzknoten bzw. Netze der Original-Netzliste repräsentiert. Durch das Zusam- menfassen von Netzen in Äquivalenzklassen wird die Original- Netzliste vereinfacht, weil insgesamt weniger Netze bzw. Netzknoten bei der weiteren Prüfung zu berücksichtigen sind. Mit anderen Worten wird also die Prüfung an einer vereinfachten „Ersatzschaltung" durchgeführt. Der Kern der Erfindung besteht also darin, die Prüfung der elektrischen Schaltung anhand einer transformierten Netzliste durchzuführen, die gegenüber der Original-Netzliste vereinfacht ist.
Ein weiterer wesentlicher Vorteil der Erfindung besteht dabei darin, dass sich die transformierte Netzliste ohne großen Aufwand bilden lässt, da erfindungsgemäß auf die Original- Netzliste einfach nur eine vorgegebene „Regel" angewandt wird. Eine solche Regel beinhaltet dabei, alle elektrischen Komponenten zumindest einer vorgegebenen Komponentengruppe oder zumindest einer vorgegebenen Komponentenart als kurzgeschlossen zu behandeln. Dadurch wird erreicht, dass sich zumindest alle Netzknoten, die über die entsprechend definierten Komponenten verbunden sind, zu eine'r Äquivalenzklasse zusammenfassen lassen.
Um zu erreichen, dass das Markierungssignal mit besonders hoher Wahrscheinlichkeit tatsächlich einen Fehler definiert und keinen „Fehlalarm" darstellt, wird es gemäß einer Weiterbildung des Verfahrens als vorteilhaft angesehen, wenn nach dem Bilden des Markierungssignals anhand der Original-Netzliste nachgeprüft bzw. verifiziert wird, ob der vorgegebene - beispielsweise kritische - Schaltungszustand bei den durch das Markierungssignal markierten Komponenten oder bei den durch das Markierungssignal markierten Schaltungsbereichen tatsäch- lieh auftreten kann. Ein solches Verifizieren lässt sich beispielsweise durch eine eingehende Simulation der Teilbereiche der elektrischen Schaltung durchführen, indem der markierte
Teilbereich der elektrischen Schaltung für sich im Detail simuliert wird.
Wird bei der Verifikation festgestellt, dass der vorgegebene Schaltungszustand bei den durch das Markierungssignal markierten Komponenten bzw. Schaltungsbereichen nicht auftritt, so wird das Markierungssignal vorzugsweise unter Bildung eines korrigierten Markierungssignals korrigiert.
Um Fehler bei der Bildung des Markierungssignals zu vermeiden, wird es als vorteilhaft angesehen, sogenannte „Stoppnetze" gesondert zu berücksichtigen. Unter „Stoppnetzen" werden dabei diejenigen Netzknoten oder Anschlusspins der elektrischen Schaltung verstanden, denen ein elektrisches Spannungs- potential, ein Strom oder ein logischer Zustand fest zugewiesen ist. Derartige Stoppnetze müssen von einer Aufnahme in eine Äquivalenzklasse ausgeschlossen werden, da eine Zuweisung anderer Potentiale bzw. Zustände als dem fest zugewiesenen Potential bzw. fest zugewiesenen Zustand bei einem sol- chen „Stoppnetz" unzulässig wäre. Ein „Stoppnetz" kann beispielsweise durch einen Außenanschluss bzw. Außenpin der e- lektrischen Schaltung gebildet sein, der mit einem festen Potential - beispielsweise Massepotential oder Versorgungsspannungspotential - fest beaufschlagt ist. Darüber hinaus können „Stoppnetze" aber beispielsweise auch durch in der elektrischen Schaltung vorhandene Spannungs- bzw. Stromquellen gebildet sein, die feste Spannungspotentiale oder Ströme innerhalb der Schaltung an vorgegebenen Netzen vorgeben. Da Stoppnetzen stets feste Potentiale bzw. Zustände zugeordnet sind, dürfen diese nicht in eine Äquivalenzklasse aufgenommen werden.
Wird bei der Bildung von Äquivalenzklassen festgestellt, dass ein „Stoppnetz" vorhanden ist, so wird das Spannungspotenti- al, der Strom oder der logische Zustand jedes der „Stoppnetze" in jede der mit dem „Stoppnetz" verbundenen Äquivalenzklasse kopiert. Es erfolgt also ein Kopieren des Potentials
bzw. des Zustands des „Stoppnetzes" ausschließlich in eine Richtung, nämlich in Richtung Äquivalenzklasse. Ein rückwärtiges Kopieren von der Äquivalenzklasse zum „Stoppnetz" ist ausgeschlossen.
Um eine elektrische Simulation der elektrischen Schaltung zu vermeiden, wird es gemäß einer weiteren Fortbildung des Verfahrens als vorteilhaft angesehen, wenn alle elektrischen Komponenten der elektrischen Schaltung komponentenindividuell bezüglich jedes Anschlusspaars der Komponente entweder als kurzgeschlossen oder als nichtleitend behandelt werden. Bei dieser Fortbildung des Verfahrens findet nur noch eine statische „Simulation" der elektrischen Schaltung statt, da die Komponenten der elektrischen Schaltung nicht mehr im Detail simuliert, sondern nur noch pauschal als kurzgeschlossen oder nichtleitend behandelt werden. Im Falle von Komponenten mit lediglich zwei Anschlüssen bzw. Anschlusspins werden die Komponenten lediglich als kurzgeschlossen oder als nichtleitend behandelt. Bei Komponenten mit mehreren Anschlüssen werden die Verbindungsstrecken zwischen allen möglichen Anschlusspaaren definiert: Beispielsweise bei einer Komponente mit drei Anschlüssen (z. B. Transistor) AI, A2 und A3 ist somit für die Verbindungen zwischen den Anschlüssen A1-A2, AI-A3 sowie A2-A3 jeweils festzulegen, ob die Verbindungsstrecke als kurzgeschlossen oder als nichtleitend behandelt werden soll. Bei drei Anschlüssen sind also drei Festlegungen erforderlich. Entsprechend ist bei einer Komponente mit vier Anschlüssen (z. B. MOS-Transistor mit Substratanschluss, Thyristor) AI, A2 , A3 und A4 somit für die Verbindungen zwischen den Anschlüssen A1-A2, A1-A3, A1-A4, A2-A3, A2-A4 und A3-A4 jeweils festzulegen, ob die Verbindungsstrecke als kurzgeschlossen oder als nichtleitend behandelt werden soll. Bei vier Anschlüssen sind also sechs Festlegungen erforderlich.
Bevorzugt werden alle Transistoren zumindest eines vorgegebenen Transistortyps bezüglich ihrer Schaltstrecke als kurzgeschlossen behandelt. Unter dem Begriff „Schaltstrecke" wird
dabei die Source-Drain-Strecke im Falle eines Feldeffekttransistors und die Emitter-Kollektor-Strecke im Falle eines bipolaren Transistors verstanden. Bei dieser Ausbildung des Verfahrens wird berücksichtigt, dass die Schaltstrecken von Transistoren üblicherweise durchgeschaltet werden können, so dass davon auszugehen ist, dass ein an einem Anschluss der Schaltstrecke anliegendes Potential bzw. Zustand auch zu dem jeweils anderen Anschluss der Schaltstrecke gelangen kann. Diesem Sachverhalt wird durch die Behandlung der Schaltstre- cke als „kurzgeschlossen" bei der Bildung von Äquivalenzklassen Rechnung getragen.
Bezüglich der Behandlung von Widerständen wird es als vorteilhaft angesehen, wenn alle Widerstände mit einem Wider- standswert unter einem vorgegebenen Grenzwert als kurzgeschlossen und alle Widerstände mit einem Widerstandswert über dem vorgegebenen Grenzwert als nichtleitend behandelt werden. Bei dieser Vorgehensweise wird berücksichtigt, dass bei nie- derohmigen Widerständen ein an einem Anschluss des Wider- Stands anliegendes Potential quasi „ungeschwächt" bzw. unverändert auch an den anderen Anschluss des Widerstandes gelangen wird. Bei hochohmigen Widerständen wird jedoch ein deutlicher Spannungsabfall auftreten, so dass ein an einem Anschluss des Widerstandes anliegendes Potential nicht ohne Weiteres zum anderen Anschluss gelangen wird. In einem solchen Fall kann der Widerstand vereinfacht als „nichtleitend" behandelt werden.
In entsprechender Weise können für beliebige Komponenten der elektrischen Schaltung, also auch für exotische "Devices" bzw. Bauelemente entsprechende Regeln aufgestellt werden, die angeben ob bzw. unter welchen Umständen die Anschlusspaare der jeweiligen Komponenten als kurzgeschlossen bzw. als nichtleitend behandelt werden sollen.
Vorzugsweise wird das erfindungsgemäße Verfahren zum Erzeugen des Markierungssignals für solche Schaltungszustände einge-
setzt, die besonders kritisch sind und einen Schaltungsfehler darstellen.
Fehler im Schaltungsdesign können beispielsweise darin beste- hen, dass an vorgegebenen Netzknoten ein vorgegebenes Grenzspannungspotential oder ein vorgegebener Grenzstrom erreicht oder unter-/überschritten wird oder ein vorgegebener logischer Zustand erreicht wird. Bevorzugt wird das Markierungs- signal dementsprechend dann erzeugt, wenn für die vorgegebe- nen Netzknoten und damit für die vorgegebenen Äquivalenzklassen das jeweils vorgegebene Grenzspannungspotential erreicht oder unter-/überschritten wird oder die entsprechenden Netzknoten den jeweils vorgegebenen logischen Zustand erreichen.
Im Übrigen kann ein Fehler im Schaltungsdesign auch dann vorliegen, wenn an ausgewählten Komponenten eine Spannung anliegt, die eine für die Komponente individuell vorgegebene Grenzspannung erreicht oder unter-/überschreitet . Entsprechend wird das Markierungssignal vorzugsweise dann erzeugt, wenn für die vorgegebenen Komponenten der als kritisch vorgegebene Zustand erreicht oder unter-/überschritten wird.
Die Vorgabe von GrenzSpannungen und Grenzzuständen kann dabei individuell für jede Komponente einzeln erfolgen; alternativ ist es jedoch auch möglich, für alle Komponenten einer vorgegebenen Komponentenart bzw. Komponentenklasse entsprechende GrenzSpannungen vorzugeben und das Markierungssignal dann für alle diejenigen Komponenten der zugeordneten Komponentenart bzw. Komponentenklasse zu erzeugen, die den jeweils für die Komponentenart bzw. Komponentenklasse vorgegebenen Grenzwert unter-/überschreiten.
Besonders einfach und damit vorteilhaft lässt sich das Verfahren mit einer Datenverarbeitungsanlage durchführen, in die die Schaltungsstruktur der elektrischen Schaltung als Original-Netzliste eingegeben ist.
Der Erfindung liegt darüber hinaus die Aufgabe zugrunde, eine Einrichtung anzugeben, mit der sich eine elektrische Schaltung überprüfen lässt, ohne dass eine eingehende Schaltungs- simulation erforderlich wäre, wobei trotz allem Schaltungs- fehler zuverlässig erkannt werden sollen.
Diese Aufgabe wird erfindungsgemäß durch eine Einrichtung mit den Merkmalen gemäß Patentanspruch 14 gelöst . Vorteilhafte Ausgestaltungen der erfindungsgemäßen Einrichtung sind in Un- teransprüchen angegeben.
Bezüglich der Vorteile der erfindungsgemäßen Einrichtung wird auf die obigen Ausführungen im Zusammenhang mit dem erfindungsgemäßen Verfahren verwiesen.
Als erfindungsgemäß wird darüber hinaus auch ein Datenträger angesehen, der mit einem Programm versehen ist, das derart ausgestaltet ist, dass eine Datenverarbeitungsanlage nach einer Installation des Programms die Verfahrensschritte nach einem der Ansprüche 1 bis 13 durchführt.
Die Erfindung wird nachfolgend beispielhaft anhand von fünf elektrischen Schaltungen erläutert. Dabei zeigen:
Figuren 1 bis 7 ein Ausführungsbeispiel für eine e- lektrische Schaltung ohne „Stoppnetz" ,
Figuren 8 bis 14 ein Ausführungsbeispiel für eine e- lektrische Schaltung mit „Stoppnetz",
Figuren 15 und 16 ein weiteres Ausführungsbeispiel für eine elektrische Schaltung mit „ Stoppnetz " ,
Figur 17 ein weiteres Ausführungsbeispiel für
eine elektrische Schaltung ohne „Stoppnet " und
Figuren 18 und 19 ein drittes Ausführungsbeispiel für eine elektrische Schaltung mit
„Stoppnetz" .
Bei dem nachfolgend erläuterten Ausführungsbeispiel der Erfindung wird die elektrische Schaltung mit einer Netzliste beschrieben. Die Netzliste kann dabei prinzipiell eine beliebige Datenstruktur aufweisen. Die hier im Rahmen des Ausführungsbeispiels verwendete Datenstruktur hat folgendes Format :
typedef struct noderec /* Datenstruktur eines Netzes in einer Zelle */
{ netPinSetArray pinTypeSet; /* PinTypes des Netzes bzw. der aequivalenten Netze */ netPinSetArray origPin ypeSet ; /* PinTypes in der Originalnetzliste */ netPinSetArray eqPinTypeSet; /* temporär für PinTypes im Äquivalenzring */ struct noderec *equivalent; /* Ringverkettung äquivalenter Knoten durch kurzgeschlossene Devices */ equiMasterRefRec *equiMaster; /* Liste der Master Netze äquivalenter Netze in verschiedenen Instanziierungen */ equiMasterPinTypeRec * equiMasterPin ; /* fiXr alle equiMaster:
PinTypes für äquivalenten Netze */
} typedef long netPinSetArray [PINSET_SIZE] ; /* es können mehrere Pintypen (wie z . B. VDD, IN,
OUT, . . . oder auch unterschiedliche Spannungs level gespeichert werden */
/* Masternode in der Instanz instld */ struct equiMasterRefRec
{ struct equiMasterRefRec *next; noderec *master; long instld; ;
/* PinTypes aller aequivalenten Netze des Masters in der Instanz instld */ struct equiMasterPinTypeRec struct equiMasterPinTypeRec *next; netPinSetArray equiPinTypeSet; long instld;
} ;
Bei dieser Datenstruktur enthält jedes Netz bzw. jeder Netzknoten einen Zeiger, der mit dem Wort „equivalent" bezeichnet ist. Dieser Zeiger „equivalent" dient zur temporären Ringverkettung aller äquivalenten Netze, d.h. also aller zu einer Äquivalenzklasse gehörenden Netze. Ist eine Äquivalenzklasse
gebildet, so wird in dieser Klasse ein Netz, ein sogenannter Master, ausgewählt. Da die Äquivalenzklassen in einer Zelle von Instanziierung zu Instanziierung unterschiedlich sein können, werden pro Netz für jede Instanziierung einer Zelle in der Liste equiMaster Zeiger auf den jeweiligen Master der Äquivalenzklasse, der das Netz angehört, abgespeichert. Die Begriffe „Äquivalenzring" und „Äquivalenzklasse" werden nachfolgend als Synonym verwendet .
Die Pintypen eines jeden Äquivalenzringes sind in der Variablen „equiMasterPin" gespeichert. Jedes Netz im Äquivalenzring weist einen solchen Pintypen „equiMasterPin" auf.
Der Pintyp jedes Netzes ist in der Original-Netzliste in der Variablen „origPinTypeSet" abgelegt. Die Variable „pinType-
Set" enthält die im jeweils aktuellen Zustand der Netzliste - also beispielsweise abhängig davon, welche Komponenten der elektrischen Schaltung als kurzgeschlossen oder nichtleitend angesehen werden - gültigen Pintyp des Netzes.
Unter Zugrundelegung der beschriebenen Datenstruktur der Netze der Netzliste werden zwei getrennte rekursive Durchläufe durch die Instanzen benötigt . Der erste dieser beiden rekursiven Durchläufe wird nachfolgend als Schritt I und der zwei- te der beiden rekursiven Durchläufe als Schritt II bezeichnet. Zwei rekursive Durchläufe sind hierbei erforderlich, da die Netzeigenschaften durch die Hierarchie der Netzliste transportiert werden müssen.
Nachfolgend werden die Schritte zunächst in allgemeiner abstrakter Form erläutert. Anschließend wird dann anhand der Figuren im Detail gezeigt, wie die Schritte angewandt werden.
Im Schritt I werden zuerst „Top-Down" die Pintypen der ein- zelnen Netze von oben nach unten hinuntergereicht. Anschließend werden die Äquivalenzklassen „Bottom-Up" zusammengefasst, und es werden die Pintypen nach oben geschoben.
Im Schritt II werden zuerst „Top-Down" die Pintypen von oben nach unten hinuntergereicht, wobei diesmal bereits die Pintypen der modifizierten Netzliste, d.h. die Äquivalenzklassen bzw. Äquivalenzringe, berücksichtigt werden. Anschließend werden dann „Bottom-Up" die Prüfungen mit der modifizierten Netzliste durchgeführt.
Die Schritte I und II werden im Detail wie folgt durchge- führt:
Schritt I :
Der Schritt I umfasst den rekursiven Aufruf der Funktionen zur Erstellung der Äquivalenzen für alle Instanzen. Dabei werden folgende Einzelschritte durchgeführt:
1.1. In diesem Schritt wird eine instanzweise Initialisierung vor dem hierarchischen Abstieg in Top-Down-Reihenfolge durch- geführt. Dabei werden die Pin-Typen der Netze hinuntergereicht .
1.2. Bei diesem Schritt erfolgt ein instanzabhängiger Aufbau der Äquivalenzklassen in Bottom-up-Reihenfolge . Die Netzliste wird dabei durch Verkettung von kurzgeschlossenen Komponenten der elektrischen Schaltung in Äquivalenzringe bzw. Äquivalenzklassen ergänzt. Die ursprüngliche Netzliste bleibt davon unberührt. Es muss ausgehend von der ursprünglichen Netzliste nur eine entsprechende Umformung bzw. ein entsprechender „Walk" über die Äquivalenzringe durchgeführt werden, um auf die modifizierte Netzliste zugreifen zu können. Alternativ kann in entsprechender Weise auch eine eigenständige modifizierte Netzliste generiert und abgespeichert werden.
1.2.1. Bei allen in einem vorgegebenen Regelfile spezifizierten Komponenten der elektrischen Schaltung, die bezüglich einem oder mehrerer Anschlusspaare als kurzgeschlossen behan-
delt werden sollen, werden die zugehörigen Netze bzw. Netzknoten äquivalent gemacht und verkettet. Dabei kann es sich nicht nur um Komponenten in einer Zelle, sondern auch um eine Zelle selbst handeln, bei der die zugehörigen Pins äquivalent gemacht werden. Unter dem Begriff „äquivalent machen" wird dabei verstanden, dass jedem Netzknoten jeweils alle Zustände (Potentiale, logische Zustände, etc.) aller übrigen Netzknoten der zugeordneten Äquivalenzklasse zugeordnet werden.
Falls ein Netz an einer als kurzgeschlossen zu behandelnden Komponente ein Stoppnetz ist, wird das Netz nicht mit in den Äquivalenzring eingefügt. Stattdessen wird der Pintyp des Stoppnetzes in den Äquivalenzring hineinkopiert; denn die Netze im Äquivalenzring dürfen die jeweiligen Netzeigenschaf- ten zwar annehmen, sie jedoch nicht unbeschränkt weitertransportieren. Durch die Berücksichtigung von „Stoppnetzen" wird das Verfahren instanzabhängig.
Nachfolgend wird beispielhaft bei Feldeffekttransistoren die * Schaltstrecke - also die Source-Drain-Strecke - und bei bipolaren Transistoren die Basis-Emitter-Strecke als kurzgeschlossen behandelt. Widerstände werden je nach der Größe des Widerstandswerts als kurzgeschlossen oder als nichtleitend betrachtet .
1.2.2. In diesem Schritt wird für jede Äquivalenzklasse ein Knoten als Master bestimmt. In diesen Master werden alle Pintypen des Äquivalenzringes eingetragen. Als Master wird vorzugsweise ein solches Netz gewählt, das eine Verbindung in eine höhere Zelle, also beispielsweise an ein externes Netz bzw. ein Pin, aufweist. Existiert kein solches Netz, wird ein beliebiges Netz des Äquivalenzringes ausgewählt.
1.2.3. Für alle Masternetze wird in diesem Schritt die Vari- able „equiMasterPin" angelegt und mit der temporär angelegten Variabel „equiPinTypeSet " des Masters belegt.
1.2.4. Alle Netze in der Vaterzelle, die über lokale Äquivalenzringe in der aktuellen Zelle verbunden sind, werden in einem Äquivalenzring verkettet. Die Variable „equiPinTypeSet " eines Subnetzes wird an das jeweilige verbundene Netz in der Vaterzelle übertragen.
Schritt II:
Im Schritt II wird ein rekursiver Durchlauf durch die Hierar- chie und ein Aufruf der Checkfunktionen für alle Instanzen durchgeführt. Dabei werden die folgenden Einzelschritte pro Instanz nacheinander abgearbeitet :
II .1. Die Pintypen der Äquivalenzklassen werden Top-Down in die Instanzen hinuntergereicht .
11.2.1. Es erfolgt ein Update der quivalenzklassen, indem aus der Liste equiMaster die Daten für die jeweilige Instanz geladen werden.
11.2.2. Alle Prüfungen werden Bottom-Up in der Instanz angestoßen.
Die in abstrakter, allgemeiner Form erläuterten Verfahrens- schritte I und II werden nun im Detail anhand der in den Figuren dargestellten Schaltungsbeispiele erläutert.
In der Figur 1 erkennt man zwei Zellen A, die jeweils durch zwei in Reihe geschaltete Transistoren gebildet werden. Die in der Figur 1 linke Zelle A bildet dabei die Instanz 1
(Instl) und die in der Figur 1 rechte Zelle A die Instanz 2 (Inst2) .
Wie sich der Figur 1 entnehmen lässt, weist jede der beiden Instanzen 1 und 2 bzw. die Zelle A jeweils drei Netze Netl Net2 und Net3 auf. Jedes dieser Netze Netl, Net2 bzw. Net3 besitzt eine Eigenschaft, die mit El, E2 oder E3 bezeichnet
ist. Bei einer solchen Eigenschaft kann es sich beispielsweise um einen Pintyp wie „VDD" (gleich VersorgungsSpannung) o- der um eine andere Spannung wie beispielsweise 2,8 V handeln.
Die Zelle A ist als Instanz Instl und Instanz Inst2 in der Zelle B zweimal eingesetzt. Die Zelle B weist darüber hinaus einen Transistor 10 auf, der an den Netzen Net11 und Net13 angeschlossen ist. Die vier Netze Netll, Netl2, Netl3 und Net14 bilden darüber hinaus Verbindungsnetze jeweils zwischen den Zellen A und C. Die Zelle C weist die Netze Net21, Net22, Net23 und Net24 auf, die die in die Zelle C eingesetzte Zelle B an die Zelle C anschließen.
In der Fig. 2 lässt sich nun der Schritt I für die Instanz Instl der Zelle A erkennen. Die Durchführung des Schrittes erfolgt dabei in Bottom-Up-Reihenfolge. Innerhalb dieses Schritts werden alle an den beiden Transistoren der Zelle A der Instanz Instl anliegenden Netze in einem Äquivalenzring zusammengefasst (Schritt 1.2.1), da die beiden Transistoren der Zelle A als kurzgeschlossen behandelt werden. Die Eigenschaften der Netze Netl, Net2 und Net3 werden an alle Netze im Äquivalenzring verteilt. Dies bedeutet, dass jedes der drei Netze Netl, Net2 und Net3 jeweils drei Eigenschaften aufweist, nämlich die Eigenschaften El, E2 , E3.
In der Fig. 3 erkennt man, wie der Schritt 1.2.2 im Detail durchgeführt wird. Die beiden Netze Netll und Netl2 werden in der Zelle B mit dem Äquivalenzring der Zelle A der Instanz Instl verbunden. Deshalb kommen die beiden Netze Netll und Net12 in einen Äquivalenzring in Zelle B. Die Netzeigenschaften des zuvor gebildeten Äquivalenzrings der Zelle A der Instanz Instl werden von dem Netz Netl an das Netz Netll übertragen; denn das Netz Netl wurde zuvor gemäß Schritt 1.2.2 als Master ausgewählt. Als Ergebnis weist das Netz Netll nun die Eigenschaften El, E2 und E3 auf.
In der Fig. 4 ist die Durchführung der entsprechenden Schritte für die Zelle A der Instanz inst2 beschrieben. Auch bei dieser Zelle wird die Bearbeitung in Bottom-Up-Reihenfolge durchgeführt .
In der Fig. 5 ist der Schritt I für die Zelle B dargestellt. Man erkennt, dass die Netze Netll, Net12, Net13 und Net14 in einem Äquivalenzring zusammengefasst werden, wie es oben im Zusammenhang mit dem Schritt 1.2.1 erläutert worden ist. Da- bei werden die Netzeigenschaften dieser Netze an alle Netze im Ring der Zelle B übertragen.
Im Ergebnis ist feststellen, dass die Netze Netl, Net2 und Net3 sowie die Netze Netll, Netl2, Net13 und Netl4 nunmehr jeweils die drei Eigenschaften El, E2 und E3 aufweisen können.
Fig. 6 zeigt den Schritt 1.2.4 für die Zelle B. Die Netze Net21, Net22, Net23 und Net24 werden durch den Äquivalenzring in Zelle B verbunden. Die Netzeigenschaften des Äquivalenzrings in Zelle B werden dabei vom Netz Netll, das gemäß Schritt 1.2.2 als Master ausgewählt wurde, an das Netz Net21 übertragen. Das Netz Net21 weist nun die Eigenschaften El, E2 und E3 auf .
In der Fig. 7 ist das Ergebnis der Äquivalenzklassenbildung durch Übertragung der Netzeigenschaften dargestellt. Alle Netze innerhalb der Zelle C haben nun die Eigenschaften El, E2 und E3. Die durch die Äquivalenzklasse bzw. durch die Ä- quivalenzringe gebildete transformierte Netzliste kann nun gemäß Prüfung Schritt II geprüft werden. Die Original- Netzliste steht dabei weiterhin zur Verfügung.
Im Ergebnis ist somit festzustellen, dass durch die in den Fig. 1-7 dargestellte Zuordnung von Netzeigenschaften an Netze eine transformierte Netzliste gebildet ist, die zu Prüfungszwecken und zum Erzeugen eines MarkierungsSignals, das
das Auftreten eines vorgegebenen Schaltungszustands markiert, herangezogen werden kann.
Bei dem Ausführungsbeispiel gemäß den Fig. 1-7 konnte jedem der Netze der Zelle C jede Eigenschaft zugewiesen werden, weil keines der Netze ein sogenanntes „Stoppnetz" bildete. Im Zusammenhang mit den Fig. 8-14 wird nun erläutert, wie das Verfahren zum Erzeugen eines Markierungssignals beispielsweise bei elektrischen Schaltungen durchgeführt werden kann, bei deren Netzliste sogenannte „Stoppnetze" zu berücksichtigen sind.
In der Fig. 8 ist die gleiche Ausgangsschaltung wie in der Fig. 1 dargestellt. Die Schaltung gemäß der Fig. 8 unter- scheidet sich von der Schaltung gemäß der Fig. 1 jedoch darin, dass das Netz Net23 nunmehr ein „Stoppnetz" ist. Dies bedeutet, dass dem Netz Net23 eine Netzeigenschaft, beispielsweise ein elektrisches Spannungspotential, ein Strom oder ein logischer Zustand fest zugewiesen ist. Andere Eigenschaften als die vorgegebene Eigenschaft kann das Netz Net23 somit nicht aufweisen. Die Netzeigenschaft des Netzes Net23 wird nachfolgend als „EX" bezeichnet. In Schritt I wird die Netzeigenschaft EX an die mit dem „Stoppnetz" Net23 über die Hierarchie verbundenen Netze kopiert. Dies ist in der Fig. 8 dargestellt; so zeigt die Fig. 8, dass die Netzeigenschaft EX an die mit dem Netz Net23 verbundenen Netze Netl3 in Zelle B und Netl in der Instanz Inst2 von Zelle A kopiert wird.
In der Fig. 9 und der Fig. 10 werden die bereits im Zusammen- hang mit den Fig. 2 und 3 im ersten Ausführungsbeispiel erläuterten Schritte in entsprechender bzw. in identischer Weise durchgeführt. Das Stoppnetz Netl3 spielt zu diesem Zeitpunkt noch keine Rolle. Man erkennt also, dass den Netzen Netl, Net2 und Net3 der Zelle A der Instanz Instl jeweils die Netzeigenschaften El, E2 und E3 zugewiesen werden. Darüber hinaus wird das Netz Netl als Master ausgewählt.
In der Fig. 11 erkennt man den Schritt I für die Instanz Inst2 der Zelle A. Die am unteren Transistor der Instanz Inst2 anliegenden Netze Net2 und Net3 sind in einem Äquivalenzring zusammengefasst (vgl. Schritt 1.2.1) . Die Eigen- Schäften der Netze Net2 und Net3 sind im Äquivalenzring an die beiden Netze Net2 und Net3 verteilt. Dies bedeutet, dass die beiden Netze Net2 und Net3 nunmehr die Eigenschaften El, E2 , E3 und EX aufweisen. Das Netz Netl ist nicht mit in den Äquivalenzring aufgenommen, da es sich um ein Stoppnetz han- delt. Die Netzeigenschaften des Netzes Netl (dies sind die
Eigenschaften El und EX) sind aber in den Äquivalenzring hinein kopiert worden, so dass diese auch an den beiden Netzen Net2 und Net3 anliegen.
In der Fig. 12 ist der Schritt 1.2.4 für die Instanz Inst2 der Zelle A dargestellt. Die Netzeigenschaften des Äquivalenzringes der Zelle A der Instanz Inst2 werden vom Netz Net3 , das gemäß Schritt 1.2.2 als Master ausgewählt wurde, an das Netz Netl4 übertragen. Das Netz Net14 weist nunmehr die Eigenschaften El, E2 , E3 und EX auf. Ebenso werden die Netzeigenschaften des Masternetzes Netl an Netl3 übertragen. Da das Netz Netl3 ein „Stoppnetz" ist, wird dieses Netz Netl3 in keinen Äquivalenzring mit aufgenommen; lediglich werden die Netzeigenschaften des Netzes Netl3 auf das Netz Netll über- tragen.
In der Fig. 13 ist das Ergebnis der Äquivalenzbildung und Ü- bertragung der Netzeigenschaf en dargestellt. Die Netze Net21, Net22 und Net24 der Zelle C weisen nun die Eigenschaf- ten El, E2 , E3 und EX auf. Das Stoppnetz Net23 hat hingegen lediglich die Eigenschaften El und EX.
In der Fig. 14 ist das endgültige Ergebnis der Äquivalenzbildung gezeigt. Im Gegensatz zu dem ersten Ausführungsbeispiel - vgl. insbesondere die Fig. 7 -, bei dem kein Stoppnetz vorhanden war, gibt es nun drei Masternetze, d.h. drei nicht miteinander verbundene neue Äquivalenzklassen bzw. drei
„neue" Netze. Das Stoppnetz Net23 und die mit ihm verbundenen Netze Netl3 und Netl haben ihre ursprüngliche Netzeigenschaft nicht geändert. Trotzdem hat das Netz Net23 seine Eigenschaft EX an die anderen Netze weitergegeben.
Zusammengefasst besteht das im Zusammenhang mit den Fig. 1-14 erläuterte Verfahren also darin, eine Originalliste in eine transformierte Netzliste umzuformen, wobei die Original- Netzliste bestehen bleibt. Das Bestehenbleiben der Original- Netzliste ist wichtig, da der Bezug bzw. die „Cross-Referenz" zur Original -Netzliste bei der Fehlerausgabe erhalten bleiben soll. Die Original-Netzliste wird beispielsweise zum graphischen „Proben" bzw. „Testen" benötigt. Darüber hinaus sind die Komponenten und Netze, bei denen kritische Schaltungszu- stände auftreten können, vorzugsweise immer in einer Original -Netzliste zu melden, da nur die Original-Netzliste einen unmittelbaren Bezug zum tatsächlichen Schaltungsentwurf aufweist .
In der neu gebildeten modifizierten bzw. transformierten
Netzliste werden die Netzeigenschaften der bisherigen Netze übernommen. Da mehrere „alte" Netze in ein „neues" Netz überführt werden, kann ein neues Netz mehrere unterschiedliche Netzeigenschaften (zum Beispiel mehrere Spannungen, mehrere logische Zustände, etc.) annehmen. Durch Bildung der erläuterten Äquivalenzklassen können die Netzeigenschaften über verschiedene Komponenten der elektrischen Schaltung hinweg transportiert bzw. kopiert werden.
Das beschriebene Verfahren zeichnet sich also dadurch aus, dass alle Netze, die durch als kurzgeschlossen zu betrachtende Komponenten der elektrischen Schaltung verbunden sind, in Äquivalenzklassen zusammengefasst werden. Jede Äquivalenz- klasse repräsentiert ein neues logisches bzw. elektrisches Netz. Das Bilden der Äquivalenzklassen erfolgt dabei über die jeweilige Schaltungshierachie hinweg. Dabei werden „Stoppnetze" berücksichtigt, die nicht mit in die Äquivalenzklasse
aufgenommen werden. Stattdessen wird lediglich der Pintyp des Stoppnetzes in die jeweilige Äquivalenzklasse kopiert, wodurch in der Äquivalenzklasse die Pintypen aller anliegenden „Stoppnetze" bekannt sind. Außerdem werden die Äquivalenz- klassen der Subnetze berücksichtigt. Dadurch wird das Verfahren instanzabhängig und nicht mehr zellabhängig. Dies bedeutet beispielsweise, dass ein und dieselbe Zelle in unterschiedlichen Instanzen unterschiedlich beschaltet sein kann. Handelt es sich dabei um Stoppnetze, die nicht mit in eine Äquivalenzklasse aufgenommen erden können, wird dies bei der Übertragung von Eigenschaften von Netzen berücksichtigt.
Ein Vorteil des erläuterten Verfahrens besteht in der Möglichkeit, eine Netzliste gemäß den Anforderungen in einem se- paraten „Regelfile" bzw. in einer separaten Regeldatei schnell in eine andere zu transformieren und diese transformierte Netzliste zur statischen Überprüfung elektrischer Eigenschaften zu verwenden.
Werden bei der Durchführung des Verfahrens - wie im Zusammenhang mit den Beispielen gemäß den Figuren 1 und 14 beschrieben - alle Komponenten als kurzgeschlossen oder nichtleitend betrachtet, so kann mit Hilfe der transformierten Netzliste eine vollständige statische Überprüfung der elektrischen Eigenschaften der elektrischen Schaltung durchgeführt werden. Eine solche statische Überprüfung der elektrischen Schaltung weist eine deutlich höhere Geschwindigkeit und eine deutlich bessere Testabdeckung auf, als dies bei einer dynamischen, ins Detail gehenden elektrischen Simulation der elektrischen Schaltung möglich wäre. Aufgrund der „Crossreferenz" zur Originalliste bleibt es dabei möglich, entdeckte Fehler den jeweils betroffenen Schaltungsbereichen der Schaltung zuzuweisen. Das beschriebene Verfahren ist darüber hinaus auch bei hierarchischen Netzlisten anwendbar.
Im Zusammenhang mit den Figuren 15 bis 19 soll nun beispielhaft erläutert werden, wie sich anhand der transformierten
bzw. modifizierten Netzliste ein Markierungssignal erzeugen lässt.
In der Figur 15 erkannt man fünf MOS-Transistoren NMOSl, NMOS2, NMOS3, NMOS4 und NMOS5. Dabei ist ein Schaltstrecken- anschluss (d. h. Source- oder Drain-Anschluss) des Transistors NMOS5 an einen Netzknoten bzw. an ein Netz mit der Bezeichnung P2 angeschlossen. Ein anderer Anschluss des Transistors NMOS5 steht mit einem Netz B in Verbindung, mit dem auch ein Schaltstrecken-Anschluss des Transistors NMOS4 verbunden ist. Der andere Schaltstrecken-Anschluss des Transistors NMOS4 ist mit einem Schaltstrecken-Anschluss des Transistors NMOS2 sowie mit einem Netz A verbunden. Der andere Schaltstrecken-Anschluss des Transistors NMOS2 steht mit ei- nem Schaltstrecken-Anschluss des Transistors NMOSl sowie mit einem Netz Pl in Verbindung. Der andere Schaltstrecken- Anschluss des Transistors NMOSl ist elektrisch mit einem Schaltstrecken-Anschluss des Transistors NMOS3 sowie mit einem Netz C verbunden. Der andere Schaltstrecken-Anschluss des Transistors NMOS3 bildet ein Netz D.
Den beiden Netzen bzw. Netzknoten Pl und P2 wird jeweils eine elektrische Zustandsgröße fest zugewiesen, und zwar dem Netz Pl die VersorgungsSpannung VDD und dem Netz P2 das Massepo- tenzial VSS .
Darüber hinaus werden die fünf Transistoren NMOS 1 bis NMOS 5 als kurzgeschlossen behandelt. Die feste Zuweisung der elektrischen Zustandsgrößen für die beiden Netze Pl und P2 sowie die Behandlung der Transistoren NMOSl bis NMOS5 als kurzgeschlossen lässt sich beispielsweise durch folgende Programmieranweisung erreichen:
ercDefines ( de f Pins ( pin "VSS" = "P2 " pin "VDD" = "Pl "
shortDevices (
Short "MOS" excludingPinTypes "VSS" "VDD" )
)
Dadurch, dass die fünf Transistoren NMOSl bis NMOS5 als kurzgeschlossen behandelt werden, können die Spannungspotenziale VDD und VSS an den beiden Netzen Pl und P2 nun allen denjenigen Netzen zugewiesen, die mit den Netzen Pl und P2 über die Transistoren in Verbindung stehen.
Dabei ist jedoch zu berücksichtigen, dass die beiden Netze Pl und P2 fest zugewiesene elektrische Potenziale, nämlich die Potenziale VDD und VSS aufweisen, so dass diese beiden Netze Pl und P2 als sogenannte „Stopnetze" aufzufassen sind.
Dies bedeutet, dass das Potenzial VSS an dem Netz P2 über den als kurzgeschlossen zu behandelnden Transistor NMOS5 zum Netz B und über den als kurzgeschlossen zu behandelnden Transistor NMOS4 zum Netz A gelangt bzw. zu diesem „propagiert" wird. Damit ist den beiden Netzen A und B also jeweils das Potenzial VSS zugewiesen. In entsprechender Weise wird das Potenzial VDD von Netz Pl über den als kurzgeschlossen zu behandelnden Transistor NMOS2 zum Netz A und über als kurzgeschlossen zu behandelnden Transistor NM0S4 zum Netz B gelangen. Damit sind den beiden Netzen A und B also jeweils die beiden Potenziale VSS und VDD zugewiesen.
Wie sich in der Figur 16 erkennen lässt, erfolgt jedoch keine Zuordnung des Potenzials VDD zum Netz P2 und ebenfalls keine Zuordnung des Potenzials VSS zum Potenzial Pl . Dies liegt darin begründet, dass die beiden Netze Pl und P2 „Stopnetze" bilden, denen eine elektrische Zustandsgröße fest zugeordnet ist. Bei dem Beispiel gemäß den Figuren 15 und 16 ist - wie
oben ausgeführt - dem Netz Pl das Potenzial VDD und dem Netz P2 das Potenzial VSS fest zugewiesen.
In entsprechender Weise wird das Potenzial VDD nun über den als kurzgeschlossenen behandelten Transistor NMOSl dem Netz C zugeordnet. Damit kann bzw. muss das Potenzial VDD auch dem Netz D zugeordnet werden, da auch der Transistor NMOS3 als kurzgeschlossen zu behandeln ist .
Im Ergebnis bildet sich somit eine Zuordnung von Spannungspotenzialen, wie sie in der Figur 16 dargestellt ist. Dies bedeutet, dass den beiden Netzen A und B jeweils die Potenziale VSS und VDD und den beiden Netzen C und D jeweils das Potenzial VDD zugewiesen ist. Die beiden Netze Pl und P2 behalten die ihnen fest zugewiesenen Potenziale VDD bzw. VSS, da sie Stopnetze sind. Es gilt also:
Pl: VDD
P2: VSS
A: VDD, VSS
B: VDD, VSS
C: VDD
D: VDD
Die Netze C und D einerseits sowie die Netze A und B andererseits bilden somit also jeweils eine Äquivalenzklasse.
Die elektrische Schaltung gemäß den Figuren 15 und 16 kann nun dahingehend überprüft werden ob ein vorgegebener, zumin- dest durch eine elektrische Zustandsgröße definierter Schaltungszustand erreicht ist. Dies soll an einem Beispiel verdeutlicht werden, bei dem ein Markierungssignal (bzw. Prüfsignal) für alle diejenigen Knoten ausgegeben wird, die keine Verbindung zum Potenzial VDD oder keine Verbindung zum Po- tenzial VSS aufweisen. Eine entsprechende Abfrage könnte in einer Programmiersprache wie folgt lauten:
ercRules ( reportNet ( pinTypes condi tion count "VSS" "VDD" < = 1 ti tle "No path to VDD or no path to VSS" ) )
Wie sich der Figur 16 entnehmen lässt, werden die Netze Pl, P2, C und D gemeldet. Die Netze Pl und P2 werden gemeldet, da sie Stoppnetze sind und kein anderes Potential annehmen können. Die Netze C und D werden gemeldet, da sie nicht das Potential VSS annehmen können. Es wird also ein Prüfsignal erzeugt .
Eine andere Prüfanfrage könnte beispielsweise derart lauten, dass alle Netze bzw. Netzknoten ausgegeben werden sollen, die auf dem Potenzial VSS liegen können. Die entsprechende Suchbzw. Prüfanfrage könnte in einer Programmiersprache wie folgt lauten:
ercRules ( reportNet ( pinTypes condi tion including "VSS" ti tle, "path to VSS" )
Das Ergebnis dieser Prüfanfrage würde lauten, dass die Netze A und B sowie P2 das Potenzial VSS aufweisen können. Das Potenzial Pl kann - wie oben aufgeführt - das Potenzial VSS nicht aufweisen, da es sich um ein Stoppnetz handelt. Ent- sprechend können auch die beiden Netze C und D das Potenzial VSS nicht aufweisen, da sie lediglich mit dem Potenzial VDD über das Stoppnetz Pl beaufschlagt werden.
In der Figur 17 ist das Ausführungsbeispiel gemäß den Figuren 15 und 16 in einer abgewandelten Form dargestellt. Auch bei der elektrischen Schaltung gemäß der Figur 17 ist dem Netz Pl das Potenzial VDD und dem Netz P2 das Potenzial VSS zugewiesen. Im Unterschied zu dem Ausführungsbeispiel gemäß den Figuren 15 und 16 handelt es sich jedoch dabei nicht um eine feste Zuweisung, so dass die beiden Netze Pl und P2 keine Stoppnetze bilden. Somit können den beiden Netzen Pl und P2 zusätzlich zu den zuvor zugeordneten Potenzialen VDD bzw. VSS auch weitere, andere Potenziale zugewiesen werden. Die Definition der Pinbelegung bzw. der Pintypen der Netze und das Kurzschließen lässt sich beispielsweise durch folgende Programmzeilen definieren:
ercDefines ( de f Pins ( pin "VSS" = "P2 " pin "VDD" = "Pl "
shortDevices (
Short "MOS" )
Wird das im Zusammenhang mit den Figuren 15 und 16 erläuterte Verfahren nun hier angewandt, so wird das dem Netz P2 zugeordnete VSS über den als kurzgeschlossen behandelten Transistor NMOS5 zum Netz B und von dort über den als kurzgeschlos- sen behandelten Transistor NMOS4 zum Netz A gelangen. Darüber hinaus wird das Potenzial VSS über den als kurzgeschlossen behandelten Transistor NM0S2 zum Netz Pl gelangen können, da das Netz Pl kein Stoppnetz mehr bildet. Von dem Netz Pl gelangt das Potenzial VSS dann über den Transistor NMOSl zum Netz C und über den Transistor NMOS3 von dort zum Netz D. Damit kann das Potenzial VSS somit an allen Netzen Pl, P2 , A, B, C und D anliegen.
In entsprechender Weise erfolgt nun auch eine Zuordnung des Potenzials VDD an die Netze A, B, C und D - wie auch schon im obigen Ausführungsbeispiel - und darüber hinaus über den Transistor NMOS5 zum Netz P2 , da das Netz P2 ebenfalls kein Stoppnetz mehr bildet.
Im Ergebnis können alle Netze jeweils beide Potenziale VSS und VDD aufweisen. Es gilt also:
Pl: VDD, VSS
P2: VDD, VSS
A: VDD, VSS
B: VDD, VSS
C: VDD, VSS
D: VDD, VSS
Die Netze Pl, P2 , A, B, C und D bilden somit eine Äquivalenzklasse.
In den Figuren 18 und 19 ist eine fünfte elektrische Schaltung dargestellt, anhand derer die Durchführung des Prüf- bzw. Markierungsverfahrens nachfolgend erläutert wird.
Man erkennt in der Figur 18 einen „kleinen" n-Kanal MOS-
Feldeffekttransistor NMOS SMALL, der mit seinem einen Schaltstrecken-Anschluss - dem Source-Anschluss - mit dem Netz P5 verbunden ist. An dem Netz P5 liegt das Potential VSS an. Das Gate des Transistors NMOS SMALL liegt an P4 mit dem Potential VINT. Der andere Schaltstrecken-Anschluss - der Drain- Anschluss - des Transistors NMOS SMALL steht mit einem Schaltstrecken-Anschluss - dem Drain-Anschluss - eines „kleinen" p-Kanal MOS-Feldeffekttransistors PMOS SMALL in Verbindung. Der andere Schaltstrecken-Anschluss - der Source- Anschluss - des Transistor PMOS SMALL ist mit einem Netz P2 verbunden, an dem das Potential VINT anliegt.
Der Gate-Anschluss des Transistors PMOS SMALL ist über einen Widerstand R mit einem Schaltstreckenanschluss eines „großen" p-Kanal MOS-Feldeffekttransistor Transistors PMOS BIG vebun- den, dessen anderer Schaltstreckenanschluss mit dem Netz Pl in Verbindung steht. Der Gate-Anschluss des Transistors PMOS BIG ist mit einem Netz P3 vebunden, das mit dem Potential VSS beaufschlagt ist.
Bei den Netzen Pl, P2 , P3 , P4 und P5 handelt es sich um Stoppnetze, die ausschließlich das ihnen zugewiesenen Potential aufweisen können.
Alle Widerstände der elektrischen Schaltung, die einen Widerstandswert größer als 500 Ω aufweisen, sollen als nichtlei- tend angesehen werden, wohingegen alle übrigen Widerstände mit einem Widerstandswert kleiner als oder gleich 500 Ω ideal bzw. verlustfrei leitend sein sollen. Demgemäß wird der Widerstand R als kurzgeschlossen behandelt.
Die entsprechende Zuordnung der Potenziale für die Netze Pl,
P2 , P3 P4 und P5 sowie die Definition des elektrischen Verhaltens der Komponenten wird beispielsweise mit folgenden Programmierregeln erreicht :
/* Zuordnung der Pintypen und Spannungen */ ercDefines ( defPins ( pin "VSS " vol tage 0 = "P5 " "P3 " pin "VINT" vol tage 2 . 0 = "P2 " "P4 " pin "VPP" vol tage 3 . 0 = "Pl "
)
/* Defini tion der Devices, über die die Spannung transportiert werden soll und der Stoppnetze */ shortDevices (
Short "MOS " BIG Short "MOS " SMALL
Short "RES" value =< 500 excludingPinTypes "VPP" "VINT" "VSS" )
Die in den Figuren 18 und 19 gezeigte Schaltung soll nun dahingehend überprüft werden, ob bei dem kleinen p-Kanal- Transistor PMOS SMALL eine zu hohe Spannung auftreten kann. Bei dem p-Kanal-Transistor PMOS SMALL handelt es sich um einen Transistor, bei dem zwischen dem Gateanschluss und dem Source- bzw. Drain-Anschluss keine Spannung anliegen darf, die größer als VINT ist. Gemäß der oben genannten Definition beträgt die Spannung VINT = 2 Volt .
Zur Durchführung der Prüfung muss zuerst festgestellt werden, welchen Netzknoten bzw. welchen Netzen der elektrischen
Schaltung welche Potenziale bzw. Zustände zugeordnet werden müssen. Hierzu wird wie folgt vorgegangen:
Zunächst wird festgestellt, dass es sich bei dem Netz P2 um ein Stoppnetz handelt, so dass dieses Netz P2 lediglich das
Potenzial VINT aufweisen kann. Das Potenzial VINT kann jedoch über den Transistor PMOS SMALL, der bezüglich seiner Schaltstrecke bzw. seines Source-Drain-Anschlusspaares als kurzgeschlossen zu behandeln ist, zu dem Netz A gelangen. Darüber hinaus ist dem Netz A auch das Potenzial VSS zuzuordnen, da auch der Transistor NMOS SMALL bezüglich seiner Schaltstrecke bzw. seines Source-Drain-Anschlusspaares als kurzgeschlossen anzusehen ist .
Das Potenzial VPP am Netz Pl gelangt über den Transistor PMOS
BIG, der bezüglich seiner Schaltstrecke bzw. seines Source- Drain-Anschlusspaares als kurzgeschlossen zu behandeln ist, zu dem Netz B.' Da der Widerstand R lediglich einen Widerstandswert von R=100 Ω aufweist, ist dieser Widerstand gemäß der oben genannten Regel als kurzgeschlossen anzusehen; damit ist das Potenzial VPP ebenfalls dem Netz C und damit dem Gate-Anschluss des Transistors PMOS SMALL zuzuordnen.
Es bildet sich somit eine Zuordnung der Potenziale, wie sie in der Figur 19 dargestellt ist.
Somit ist festzustellen, dass an dem Netz A und damit an dem Drain-Anschluss des Transistors PMOS SMALL die Potenziale VSS und VINT auftreten können und an dem Netz C und damit an dem Gate-Anschluss des Transistors PMOS SMALL das Potenzial VPP auftreten kann.
Die elektrische Schaltung soll nun dahingehend überprüft werden, ob bei dem „kleinen" p-Kanal-Transistor PMOS SMALL eine Gate-Source-Spannung oder eine Gate-Drain-Spannung anliegt, die größer als VINT ist. Eine solche Prüfanfrage kann bei- spielsweise wie folgt aussehen:
/* Testregel */ reportDevice ( "MOS" modeis SMALL condi tion nodeVol tage (vol tage "GATE" - vol tage "SDRAIN" > "VINT" ) | | nodeVol tage (vol tage "SDRAIN" - vol tage "GATE" > "VINT" ) ti tle "SMALL MOS, vol tage difference Ga te- Sour- ce/Drain/ Substrate > VINT" )
Gemäß dieser Prüfabfrage wird geprüft, ob es „kleine" MOS- Feldtransistoren gibt, bei denen zwischen dem Gate-Anschluss und dem Source- bzw. Drain-Anschluss eine Spannung anliegt, die die Spannungsgrenze von VINT = 2 V überschreitet .
Die Lösung dieser Prüfanfrage lässt sich der Figur 19 unmittelbar entnehmen; denn in der Figur 19 ist gezeigt, dass zwi- sehen dem Drain-Anschluss und dem Gate-Anschluss des kleinen p-Kanal-Transistors PMOS SMALL eine Gate-Drain-Spannung Ugd von
Ugd = VPP - VSS = 3 Volt und
Ugd = VPP - VINT = 1 Volt
anliegen kann.
Falls der Gate-Anschluss mit dem Potenzial VPP beaufschlagt ist, kann sich also zwischen dem Gate-Anschluss und dem Drain-Anschluss eine Spannungsdifferenz von Ugd = 3 V > 2 V bilden. Die vorgegebene Grenzspannung bzw. maximale Spannungsdifferenz von Ugd = VINT = 2 V wird somit deutlich überschritten.
Als Ergebnis der genannten Prüfanfrage würde somit der kleine p-Kanal-Transistor PMOS SMALL gemeldet werden. Die elektrische Schaltung gemäß den Figuren 18 und 19 ist also nicht ausreichend dimensioniert. Anstelle des kleinen p-Kanal- Transistors PMOS SMALL wäre ein „großer" p-Kanal-Transistor PMOS BIG einzusetzen, da bei einem MOS-Transistor der Typs
„BIG" eine Spannungsdifferenz von VDD zwischen Gate- und Source- bzw. Gate- und Drain-Anschluss unkritisch wäre.
Anstelle dessen könnte die elektrische Schaltung gemäß den Figuren 18 und 19 auch anders modifiziert werden, indem beispielsweise der Widerstandswert des Widerstands R erhöht wird. Würde nämlich der Widerstandswert des Widerstands R einen Wert größer als 500 Ω aufweisen, so würde das Potenzial VPP über diesen Widerstand R nicht zum Gate-Anschluss des kleinen p-Kanal-Transistor PMOS SMALL „propagiert" werden können, so dass an dem Transistor keine Überspannung auftreten würde. Der Transistor würde dann nicht gemeldet werden.
Das beschriebene Prüfverfahren kann darüber hinaus auch wei- tere Parameter der elektrischen Schaltung berücksichtigen. So kann beispielsweise eine Abfrage, ob an einem Transistor eine vorgegebene Grenzspannung überschritten wird, darüber hinaus
mit geometrischen Parametern des Transistors verbunden werden. Beispielsweise können alle diejenigen „kleinen" p-Kanal- Transistoren mittels des beschriebenen Prüfverfahrens aufgefunden werden, bei denen zwischen dem Source-Anschluss und dem Drain-Anschluss eine Spannungsdifferenz anliegt die größer als VINT ist und deren Gate-Länge kleiner als 280 nm ist. Eine entsprechende Prüfanfrage könnte beispielsweise wie folgt lauten:
reportDevice ( "MOS" modeis P_SMALL condi tion length < 280 && nodeVol tage (vol tage "SDRAIN" > "vint " ) && nodeVol tage (vol tage "SOURCE" - vol tage "DRAIN" >
"vint " ) ti tle "Small PMOS, length < 280, vol tage SOÜRCE-DRAIN > vint " )
Im Ergebnis kann somit mit dem beschriebenen Verfahren eine vollständige Überprüfung elektrischer Schaltungen in sehr einfacher Weise erreicht werden, ohne dass es einer vollständigen elektrischen Simulation der Schaltung bedarf.