Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Überprüfen einer
elektrischen Schaltung anzugeben, bei der 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 Unteransprüchen angegeben.
Danach
ist erfindungsgemäß ein Verfahren
zum Erzeugen eines Fehlersignals vorgesehen, das einen Entwurfsfehler
in einer eine Mehrzahl an elektrischen Bauelementen aufweisenden
elektrischen Schaltung angibt. Bei dem erfindungsgemäßen Verfahren
wird die elektrische Schaltung auf das Vorhandensein zumindest eines
vorgegebenen, durch zumindest ein elektrisches Bauelement gebildeten
Funktionsblocks hin untersucht. Das Fehlersignal wird erzeugt, wenn
zumindest ein Bauelement-Parameter eines elektrischen Bauelements
des Funktionsblocks ungeeignet ist oder in Bezug auf Bauelement-Parameter anderer
Bauelemente eine ungeeignete Parameter-Kombination bildet oder wenn zumindest
ein elektrisches Bauelement des Funktionsblocks einen ungeeigneten
Bauelementetyp aufweist oder wenn eine Kombination von Bauelementen
zumindest einen ungeeigneten Bauelementetypen aufweist oder wenn
zumindest ein elektrisches Bauelement des Funktionsblocks an ein
ungeeignetes Netz angeschlossen ist.
Ein
wesentlicher Vorteil des erfindungsgemäßen Verfahrens besteht darin,
dass bei diesem keine eingehende elektrische Simulation der Schaltung
durchgeführt
wird. Es werden also keine Eingangsspannungen oder elektrischen
Ströme
berücksichtigt.
Im Unterschied zu vorbekannten dynamischen Simulationsverfahren, bei
denen eine eingehende elektrische Simulation der Schaltung erfolgt,
wird bei dem erfindungsgemäßen Verfahren
eine „statische" Prüfung des
Schaltungsentwurfs durchgeführt.
Dies führt
zu einem erheblichen Laufzeitgewinn und garantiert darüber hinaus,
dass bei den geprüften
Bauelementen bzw. den überprüften Funktionsblöcken eine
vollständige
Fehlerabdeckung erreicht wird; denn Eingangsvektoren bestehend aus
vorgegebenen Eingangsspannungen, Eingangsströmen oder sonstigen Parametern
sind bei dem erfindungsgemäßen Verfahren überflüssig.
Zum
Erzeugen des Fehlersignals werden bevorzugt zumindest zwei Bauelement-Parameter,
insbesondere durch eine mathematische Funktion, miteinander verknüpft, wobei
das Verknüpfungsergebnis
anschließend
zur Erzeugung des Fehlersignals herangezogen wird. Die Verknüpfung kann
beispielsweise zumindest eine Quotientenbildung einschließen.
Bei
mehreren Bauelement-Parametern können
sich diese auf dasselbe Bauelement und/oder auf verschiedene Bauelemente,
sei es desselben Funktionsblocks oder unterschiedlicher Funktionsblöcke, beziehen.
Bevorzugt
beschreibt mindestens einer der Bauelement-Parameter eine Transistorweite oder
eine Transistorlänge.
Die
bereits erwähnte
Quotientenbildung wird vorzugsweise unter Heranziehung zumindest
einer Transistorweite und zumindest einer Transistorlänge durchgeführt.
Bezüglich der „ungeeigneten" Netze besteht vorzugsweise
die Möglichkeit,
diese per Namen oder als regulären
Ausdruck vorzugeben oder diese nach einer vorgegebenen Regel bei
der Durchführung
des Verfahrens, d. h. im Rahmen der Prüfung, festzulegen.
Besonders
einfach und damit vorteilhaft lässt
sich das erfindungsgemäße Verfahren
durchführen, wenn
die elektrische Schaltung anhand eines Schaltplanes auf das Vorhandensein
des zumindest einen Funktionsblockes hin untersucht wird.
Das
Vorhandensein des zumindest einen Funktionsblocks wird vorzugsweise
mit Hilfe eines Mustererkennungsverfahrens durchgeführt. Diesbezüglich kann
auf übliche
Mustererkennungsverfahren und -techniken zurückgegriffen werden.
Besonders
einfach, schnell und damit vorteilhaft lässt sich das Mustererkennungsverfahren
beispielsweise mit einer Datenverarbeitungsanlage durchführen.
Bei „einfach" erkennbaren Funktionsblöcken ist
es ohne Weiteres möglich,
diese im Rahmen eines einstufigen Mustererkennungsverfahrens unmittelbar
bzw. direkt zu erkennen. Das Verfahren kann dann einstufig durchgeführt werden.
Bei
komplexen Funktionsblöcken
führt mitunter
eine einstufige Mustererkennung nicht mehr zum Ziel. In diesem Fall
wird es als vorteilhaft angesehen, wenn die Mustererkennung zumindest
zweistufig durchgeführt wird:
In einem ersten Schritt wird aus dem Schaltplan ein modifizierter
Schaltplan gebildet, indem zumindest zwei elektrische Bauelemente
der elektrischen Schaltung zu einer Baugruppe zusammengefasst werden.
In einem zweiten Schritt wird die Mustererkennung dann anhand des
modifizierten Schaltplans fortgesetzt.
Bei
besonders komplexen Funktionsblöcken
wird die Mustererkennung bevorzugt mehrstufig durchgeführt, wobei
bei jedem weiteren Mustererkennungsschritt der Schaltplan erneut
modifiziert wird, indem zumindest zwei Bauelemente der elektrischen
Schaltung zu einer Baugruppe zusammengefasst werden, eine bereits
in einem vorangegangenen Mustererkennungsschritt gebildete Baugruppe
aufgespalten wird und/oder bereits gebildete Baugruppen zusammengefasst
werden. Anschließend
wird das Mustererkennungsverfahren jeweils mit dem zuletzt modifizierten
Schaltplan fortgesetzt.
Eine
elektrische Schaltung lässt
sich durch einen Schaltplan vollständig beschreiben. Eine im Informationsgehalt
vergleichbare bzw. äquivalente
Beschreibung der elektrischen Schaltung wird durch eine Netzliste gebildet,
die eine spezielle bzw. vorgegebene Syntax aufweist. Anstelle des
Schaltplanes kann zur Überprüfung der
elektrischen Schaltung somit auch eine Netzliste verwendet werden.
Das
Mustererkennungsverfahren kann mit der Netzliste einstufig, zweistufig
oder mehrstufig durchgeführt
werden.
Bei
einem zweistufigen Mustererkennungsverfahren wird in einem ersten
Schritt aus der Netzliste eine modifizierte Netzliste gebildet,
indem zumindest zwei Bauelemente der elektrischen Schaltung zu einer
Baugruppe zusammengefasst werden. Anschließend wird die Mustererkennung
in einem zweiten Schritt anhand der modifizierten Netzliste fortgesetzt.
Bei
einem mehrstufigen Mustererkennungsverfahren wird derart vorgegangen,
dass bei jedem Mustererkennungsschritt die Netzliste jeweils modifiziert
wird, indem zumindest zwei Bauelemente der elektrischen Schaltung
zu einer Baugruppe zusammengefasst werden, eine bereits gebildete
Baugruppe aufgespalten wird und/oder bereits gebildete Baugruppen
zusammengefasst werden. Das Mustererkennungsverfahren wird jeweils
mit der zuletzt modifizierten Netzliste fortgesetzt.
Im Übrigen wird
es als vorteilhaft angesehen, wenn die Bildung der modifizierten
Schaltpläne
bzw. die Bildung der modifizierten Netzlisten anhand einer vordefinierten
Regeldatei erfolgt, die fest vordefiniert ist. Dieser Regeldatei
können
auch die als geeignet vorgegebenen Parameter bzw. die als geeignet
vorgegebenen Bauelementetypen für
die elektrische Schaltung vorgegeben werden. Beispielsweise bei
einer Softwareimplementierung kann die Regeldatei benutzerseitig
beliebig geändert
bzw. ergänzt
werden. Anpassungen an die jeweilig zu überprüfende elektrische Schaltung
sind somit ohne Weiteres möglich.
Die
Erfindung wird nun anhand eines Ausführungsbeispiels erläutert. Dabei
zeigen 1 bis 6 unterschiedliche Schaltpläne ein und
derselben elektrischen Schaltung.
Die 1 und 2 zeigen eine als Beispiel zugrunde gelegte
elektrische Schaltung. Diese elektrische Schaltung besteht aus 8
miteinander verbundenen Transistoren M11, M12, M21, M22, M31, M32,
M41 und M42. Die Transistoren M11, M21, M31 und M41 sind beispielsweise
als p-Kanal-Transistoren ausgebildet; bei den Transistoren M12,
M22, M32 und M42 handelt es sich um n-Kanal-Transistoren.
Die
Gesamtschaltung gemäß den 1 und 2 hat folgende Funktion:
Die Transistoren
M31 und M32 bilden einen Inverter und gleichzeitig einen Treiber
mit dem Eingangssignal IN. Dieser Inverter bzw. Treiber ist in der 2 durch den Block „inv3" gebildet. Das Ausgangssignal
des Inverters inv3 wird in den 1 und 2 an dem Netzknoten „net1" ausgegeben.
Die
Netzknoten – nachfolgend
kurz „Netze" genannt – net1 und
net2 sind elektrisch entweder miteinander verbunden oder voneinander
getrennt. Ob die beiden Netze net1 und net2 eine elektrische Verbindung aufweisen,
hängt von
einem Transfergatter T1 ab, das durch die beiden Transistoren M41
und M42 gebildet ist. Den jeweiligen Schaltungszustand des Transfergatters
T1 bestimmen Eingangssignale EN und ENQ.
Ist
das Transfergatter T1 durchgeschaltet, so gelangt das Ausgangssignal
des Inverters inv3 zum Eingang eines durch die beiden Transistoren
M11 und M12 gebildeten Inverters inv1 und bildet für diesen
Inverter inv1 ein Eingangssignal.
Ist
hingegen das Transfergatter T1 abgeschaltet – dies bedeutet, dass die beiden
Transistoren M41 und M42 nicht leiten – so bleibt durch die Rückkopplung
eines durch die beiden Transistoren M21 und M22 gebildeten Inverters
inv2 das Ausgangssignal OUT des Inverters inv1 stabil. Die Schaltung
gemäß den 1 und 2 könnte
man somit als Latch-Baustein bzw. Speicherbaustein bezeichnen.
Bei
der Schaltung gemäß den 1 und 2 kann nun der Fall eintreten, dass – bei einer
logischen „Null" am Eingang IN des
Inverters inv3 und bei geöffnetem
Transfergatter T1 – das
Netz net2 über
die Transistoren M41 und M31 auf das Potential VDD (Versorgungsspannung)
aufgeladen werden soll, obwohl gleichzeitig der Inverter inv2 versuchen
wird, das Netz net2 auf Massepotential „GND" zu halten. Das Umschalten des Potentials
am Netzknoten net2 kann daher nur dann erfolgen, wenn die Treibertransistoren
M41 und M31 deutlich stärker
und größer dimensioniert
sind als der Transistor M22 des Inverters inv2.
Daraus
lässt sich
folgende Designregel für
die Funktionstüchtigkeit
der Schaltung formulieren:
- 1. Der durch die
Transistoren M31 und M41 maximal getriebene Strom muss mindestens
viermal stärker sein
als der maximal durch den Transistor M22 getriebene Strom. Unter
Berücksichtigung
der doppelt so hohen Stromlieferfähigkeit eines n-Kanal Transistors
kann damit die Regel formuliert werden, dass die gemeinsame effektive
Weite der beiden Transistoren M31 und M41 achtmal so groß sein muss
wie die des Transistors M22.
- 2. Der durch die beiden Transistoren M32 und M42 maximal getriebene
Srom muss viermal stärker
sein als der maximal durch den Transistor M21 getriebene Strom.
Dies bedeutet entsprechend, dass die gemeinsame effektive Weite
der beiden Transistoren M32 und M42 doppelt so groß sein muss
wie die des Transistors M21.
Soll nun anhand des Schaltplanes
bzw. der Netzliste zum Schaltplan gemäß den 1 und 2 geprüft werden,
ob die oben genannte Designregel bezüglich der Transistoren M31,
M41, M22, M32, M42, M21 eingehalten ist, muss zunächst überhaupt
einmal erkannt werden, dass es sich bei den beiden Transistoren
M11 und M12 um einen Inverter handelt (Inverter inv1), in dessen
Rückkopplungszweig
der durch die beiden Transistoren M21 und M22 gebildete Inverter
inv2 liegt. Darüber
hinaus muss erkannt werden, dass die beiden Transistoren M31 und
M32 Treibertransistoren und die beiden Transistoren M41 und M42
das Transfergatter T1 bilden, das die Treibertransistoren M31 und
M32 mit dem Eingang des Inverters inv1 verbindet.
Um
diese Arbeitsweise der Schaltung erkennen zu können, kann beispielsweise wie
folgt vorgegangen werden:
- 1. Zunächst wird
die elektrische Schaltung gemäß der 1 vollständig erfasst und als Schaltplan
bzw. Netzliste beispielsweise in einer computerlesbaren Datei abgespeichert.
- 2. Die elektrische Schaltung gemäß der 1 weist die Anschlüsse „IN", „VDD", „GND" und „OUT" auf. Den Anschlüssen bzw.
Netzen „VDD" und „GND" ist jeweils stets
ein festes Potential zugewiesen, das unveränderlich ist und somit nicht
schwanken kann. Den Netzen „VDD" und „GND" wird daher jeweils
ein Netztyp „fixedV" zugeordnet; unter
dem Netztyp „fixedV" wird dabei verstanden,
dass das Potential „fix" ist und sich nicht ändern kann.
Darüber
hinaus wird dem Netz „VDD" der Netztyp „power" zugewiesen, woraus
hervorgeht, dass es sich bei dem Netz „VDD" um einen Versorgungsanschluss handelt,
an dem stets Versorgungsspannung anliegt. Dem Netz „GND" wird in entsprechender
Weise der Netztyp „ground" zugewiesen, aus
dem hervorgeht, dass es sich bei dem Netz „GND" um Massepotential handelt.
- 3. In einem ersten Mustererkennungsschritt werden die Inverter
der Schaltung als Baugruppen identifiziert. Dies geschieht konkret
in der Weise, dass auf die gebildete Netzliste mit Hilfe einer DV-Anlage
beispielsweise folgende Mustererkennungsregel angewandt wird:
Diese
Mustererkennungsregel erkennt alle diejenigen Inverter, die einen
p-Kanal Transistor (als „pmos" bezeichnet) und
einen n-Kanal-Transistor (als „nmos" bezeichnet) enthalten.
Den Eingang und den Ausgang des Inverters bilden die Netze „in1" und „out1". Das Netz „out1" darf dabei nicht
den Netztyp „fixedV" tragen, da das Potential
am Ausgang out1 des Inverters vom Potential am Eingang in1 des Inverters
abhängt.
Der
p-Kanal Transistor („pmos") soll gemäß der Mustererkennungsregel
an ein Netz vom Typ „power" angeschlossen sein.
Der n-Kanal Transistor „nmos" soll hingegen an
ein Netz vom Typ „ground" angeschlossen sein.
Vorliegend
werden somit die Inverter inv1, inv2 und inv3 gebildet, die bereits
oben im Zusammenhang mit den Erläuterungen
zur 2 eingeführt worden
sind. Auf diese Inverter inv1, inv2 und inv3 trifft das durch die
o.g. Mustererkennungsregel definierte Muster eines „Inverters" zu.
Dabei
entspricht z.B. für
die Bildung des Inverters inv1 die Instanz x1 vom Typ „pmos" dem Transistor M11;
die Instanz x2 vom Typ „nmos" dem Transistor M12.
Das mit den beiden Gate-Anschlüssen der
Transistoren M11 und M12 verbundene Netz „in1" wird bei dem Inverter inv1 als Netz „net2" identifiziert. Das
Netz „out1", das nicht auf konstantem
Potential liegen darf, wird als Netz „OUT" der Schaltung erkannt.
Durch
die genannte Regel werden nicht nur die entsprechenden Inverter
in der elektrischen Schaltung gemäß der 1 erkannt, sondern es werden darüber hinaus
auch vorgegebene Parameter, nämlich
die Weite (=w) und die Länge
(=l) der jeweiligen Transistoren, weiter verarbeitet. Die entsprechenden
Transistorparameter sind in der 1 für jeden
Transistor eingetragen.
Wird
mit der Mustererkennungsregel von der DV-Anlage nun das jeweilige
Inverter-Muster in der Netzliste aufgefunden, so wird eine neue
Zelle gebildet, die einen Inverter als neue Baugruppe enthält. Der
neu in die Netzliste aufgenommene Inverter ersetzt dabei jeweils
die beiden Transistoren, die den Inverter bilden. Den neuen Baugruppen
bzw. den neuen Zellen wird der Typ „inv" – also
ein Invertertyp – zugeordnet.
Jeder Inverter „inv1", „inv2" und „inv3" enthält als Parameter
jeweils die Verhältnisse
w/l – also
den Quotienten zwischen Weite und Länge – für jeden der zugehörigen Einzeltransistoren;
die Verhältnisse
w/l werden mit den Variablen wlp (für den p-Kanal Transistor) und
wln (für
den n-Kanal Transistor) bezeichnet. Dabei gilt
wlp = w/l für p-Kanal
Transistoren und
wln = W/l für n-Kanal Transistoren.
- 4. In entsprechender Weise wird für den Schaltplan
bzw. für
die Netzliste anschließend
eine Regel zur Bildung von Transfergattern abgearbeitet. Jedes Transfergatter
soll jeweils aus einem p- und einem n-Kanal Transistor bestehen.
Die Regel kann wie folgt lauten:
Mit
dieser Regel werden die beiden Transistoren M41 und M42 aufgefunden,
die zusammen den Block T1, also das Transfergatter T1, bilden. Das
aufgefundene Transfergatter erhält
den Typ „trans". Als Resultat ergibt
sich dann der Schaltkreis wie er in der 2 beschrieben ist.
Wiederum
wird das Verhältnis
zwischen Weite (wp und wn) und Länge
(lp und ln) der Transistoren als Parameter abgespeichert. Dabei
ist in der 2 erkennbar,
dass das Verhältnis
wlp zwischen Weite und Länge
des p-Kanal-Transistors
wlp = 12 beträgt,
da dessen Weite b = 6 und dessen Länge l = 0,5 ist. Entsprechend ist
das Verhältnis
wln zwischen Weite und Länge
beim n-Kanal-Transistor wln = 6, da nämlich die Weite des Transistors
w = 3 und die Länge
l = 0,5 beträgt.
- 5. Ausgehend von der Netzliste bzw. dem Schaltplan
gemäß der 2 soll nun festgestellt
werden, ob es in der elektrischen Schaltung Inverter gibt, die „gegeneinander
geschaltet" bzw.
rückgekoppelt
sind. Hierzu wird folgende Regel abgearbeitet:
Aufgrund
dieser Regel wird erkannt, dass die beiden Inverter inv1 und inv2
eine Rückkoppelschleife bilden.
Daher wird diese Schleife zu einer Zelle „loop1" zusammengefasst. Der Zelle loop1 wird
der Typ „loop" zugeordnet. Die
Verhältnisse
w/l der zugeordneten Transistoren werden für diese Zelle loop1 als wlpinv1, wlninv1,
wlpinv2 und wlinv2 gespeichert. Dabei werden folgende Zahlenwerte
erhalten:
wlpinv1 = wlp (inv1) = 4
wlninv1 = wln (inv1)
= 2
wlpinv2 = wlp (inv2) = 1
wlninv2 = wln (inv2) = 1.
Das
Ergebnis der Zellenbildung der Zelle loop1 ist in der 3 dargestellt. Die entsprechenden
Parameter der Zelle loop1 sind in der 3 ebenfalls
angegeben.
- 6. Bei dem Schritt unter Punkt 5
wurden die beiden Inverter inv1 und inv2 zu der Zelle loop1 zusammengefasst,
da diese beiden Inverter eine Rückkoppelschleife
bildeten. Der Inverter inv3 hingegen ließ sich keiner „Inverterschleife" zuordnen. Um nun
erkennen zu können,
welche Transistoren als Treibertransistoren für die Zelle loop1 in Frage
kommen, müssen
in dem Schaltplan bzw. in der Netzliste alle Transistoren, die nicht zur
Zelle loop1 gehören,
wieder „erkennbar" werden. Dies erfordert,
dass alle noch vorhandenen Inverter-Zellen wieder aufgelöst werden
müssen,
damit eventuelle Treibertransistoren im weiteren Mustererkennungsverfahren
als solche erkennt werden können.
Das Auflösen
aller Inverter-Zellen wird gemäß folgender
Regel durchgeführt:
Gemäß dieser „Inverter-Auflösungsregel" wird der Inverter
inv3 gemäß der 3 erkannt und in seine Bestandteile,
also in die beiden Transistoren M31 und M32, aufgelöst bzw. „ausgeflacht". Nach Anwendung der
Regel liegen daher im Schaltplan bzw. in der Netzliste die Transistoren
M31 und M32 wieder als Einzeltransistoren vor (vgl. 4).
Bezüglich der
beiden Transistoren M31 und M32 entspricht der Status gemäß der 4 somit dem ursprünglichen
Status gemäß der 1. Das zwischenzeitliche
Zuordnen der Transistoren M31 und M32 zu dem Inverter inv3 wurde
somit vollständig
rückgängig gemacht.
- 7. Die nachfolgende Regel kombiniert die im
Rahmen des Schrittes unter Punkt 6 gebildete loop-Zelle „loop1" und die Transfergatterzelle
des Typs „trans", die wie bereits
unter Punkt 4 erläutert
erkannt wird, zu einer neuen Zelle des Typs „transloop1". Die Regel hierzu
lautet wie folgt:
Die
w/l-Verhältnisse – also jeweils
das Verhältnis
zwischen Transistorweite und Transistorlänge – werden als neue Parameter
auf die neu gebildete Zelle „transloop1" übertragen. Des Weiteren werden
die Transistorparameter wlp und wln der Transfergatterzelle T1 als
wlptrans und wlntrans übertragen.
Dies ist in der 5 im
Detail dargestellt.
Das
Netz „netl" wird im Rahmen dieser
Regel als das zu treibende Netz identifiziert und erhält somit den
Typ „tobedriven". Die Zelle transloop1
selbst erhält
den Typ „transloop".
- 8.
Ausgehend von der in der 5 dargestellten
Netzliste bzw. ausgehend von dem in der 5 dargestellten Schaltplan werden jetzt
alle diejenigen elektrischen Pfade identifiziert, die durch Source-
oder Drainanschlüsse
von MOS-Transistoren hindurchlaufen und an Netzen vom Typ „power" oder „ground" enden. Diese Suche
wird gemäß folgender
Regel durchgeführt:
Mit
dieser Regel wird nun der Transistor M31 aufgefunden, da dieser
mit einem Drain-Anschluss am Versorgungsanschluss „VDD" mit dem Typ „fixedV" verbunden ist. Darüber hinaus
ist der Transistor M31 mit seinem Source-Anschluss am Netz „net1" des Typs „tobedriven" angeschlossen. Dieser
Transistor M31 wird in eine Zelle des Typs „pdriver" gesteckt. Diese neue Zelle „pdriver" besitzt als einzigen
Parameter das w/l-Verhältnis des
Transistors M31.
Analog
wird aus dem Transistor M42 eine Zelle des Typs „ndriver" gebildet.
Als
Ergebnis dieser Regel entsteht eine Netzliste bzw. ein Schaltplan,
wie er in der 6 dargestellt ist.
- 9. Im neunten und letzten Schritt wird die
Gesamtstruktur erkannt und die Prüfung der Parameter gemäß den eingangs
genannten Vorgaben durchgeführt.
Hierzu wird folgende Regel angewandt:
Die
dieser Regel zugrunde gelegte Gesamtstruktur ist in der 6 dargestellt. Sie weist
drei Bestandteile bzw. drei Baugruppen auf, nämlich die transloop-Struktur
mit der Bezeichnung „transloop1" sowie die beiden
Treiberbausteine mit den Bezeichnungen „pdriver" und „ndriver".
Die
eingangs genannten Designregeln für die Transistoren M31, M41,
M22, M32, 42 und M21 werden separat für die Kombination „pmos-Transistor
M31 als Treiber mit nmos-Transistor als Rückkopplung" und für die Kombination „nmos-Transistor
als Treiber mit pmos-Transistor als Rückkopplung" durchgeführt. Im Rahmen der Prüfung wird
jeweils festgestellt, ob die genannten Transistoren w/l-Verhältnisse
aufweisen, die es den Treibertransistoren M31 bzw. M32 ermöglichen,
den durch die beiden Transistoren M11 und M12 gebildeten Inverter
inv1 auch dann umzusteuern, wenn der durch die beiden Transistoren
M21 und M22 gebildete Rückkoppel-Inverter
inv2 einem solchen Umsteuern entgegenwirkt.
Konkret
muss also geprüft
werden, ob der durch die Transistoren M31 und M41 maximal getriebene Strom
viermal stärker
ist als der maximal durch den Transistor M22 getriebene Strom und
ob der durch die Transistoren M32 und M42 maximal getriebene Strom
viermal stärker
ist als der maximal durch den Transistor M21 getriebene Strom.
Diese
Bedingungen sind erfüllt
wenn gilt (vgl. 6 und 1):
1/(1/wl[pdriver]
+ 1/wlptrans[transloop1]) > 8∙wlninv1[transloop1]
1/(1/wl[ndriver]
+ 1/wlntrans[transloop1]) > 2∙wlpinv1[transloop1]
bzw.
1/(l[M31]/w[M31]
+ l[M41]/w[M41]) > 8∙w[M22]/l[M22]
1/(l[M32]/w[M32])
+ l[M42]/w[M42]) > 2∙w[M21]/l[M22]
Falls
im Rahmen der Durchführung
der Prüfung
festgestellt wird, dass die Treibertransistoren und die Transfergattertransistoren
zu klein oder die Transistoren des Rückkoppelinverters zu groß dimensioniert
sind, wird ein Fehlersignal erzeugt, das einen Designfehler anzeigt.
Die entsprechenden Fehlersignale können in einem Protokoll festgehalten
werden.
Zusammengefasst
werden bei dem beschriebenen Verfahren also Regeln auf im Schaltungsentwurf erkannte
Muster angewendet. Die Netzliste bzw. der Schaltplan wird dabei
zunächst
auf die Existenz von Schaltungsteilen untersucht, die in einer Regeldatei
vordefiniert werden. Anschließend
werden die aufgefundenen Schaltungsteile bzw. Baugruppen in jeweils
neuen Zellen zusammengefasst und/oder bereits gebildete Zellen aufgelöst. Dabei
werden modifizierte Schaltpläne
bzw. modifizierte Netzlisten gebildet. Die neu gebildeten Zellen
können
zu weiteren, größeren Einheiten
bzw. Baugruppen zusammengefasst werden, bis alle für die Anwendung
der durchzuführenden
Regel relevanten Baugruppen bzw. Funktionsgruppen aufgefunden worden
sind. Danach werden die Eigenschaften der gebildeten Zellen überprüft, wobei
auf die Designparameter der zu den Zellen gehörenden Bauelementen oder auf
die jeweiligen Bauelementetypen zurückgegriffen wird.
Das
beschriebene Verfahren benötigt
zur Überprüfung der
Schaltung keine dynamisch veränderlichen Spannungen
oder sonstigen elektrischen Schaltungsparameter; es ist lediglich
die Netzliste bzw. der Schaltplan erforderlich. Es handelt sich
bei dem Verfahren somit um eine rein „statische" Prüfung,
die mit einer dynamischen elektrischen Schaltungsmodulation nichts
gemein hat. Aufgrund der statischen Bearbeitung der Netzliste ist
das beschriebene Verfahren deutlich schneller als „dynamische" Simulationsprogramme;
es bietet darüber
hinaus die Sicherheit, dass alle als Muster bzw. Funktionsblöcke definierten
Schaltungsteile mit vollständiger
Fehlerabdeckung überprüfbar sind.
Das
Prinzip der beschriebenen Prüfung
besteht – wie
oben beispielhaft erläutert – darin,
den gefundenen Baugruppen bzw. Funktionsblöcken jeweils Parameter zuzuordnen,
die aus Parametern der Bauteile der Funktionsblöcke berechnet werden. Diese
auf Zellebene berechneten Parameter werden dann von weiteren Regeln
weiter verwendet und geprüft,
bis letztendlich feststeht, ob die zu überprüfenden Funktionsblöcke fehlerfrei
oder fehlerbehaftet sind. Zum Zwecke der Mustererkennung von Baugruppen
oder Funktionsblöcken
innerhalb einer Netzliste oder eines Schaltplanes kann dabei auf
die in der Literatur bekannten Algorithmen zur Mustererkennung zurückgegriffen
werden.
Ein
Aspekt des beschriebenen Verfahrens besteht also darin, mit den
Parametern der Bauteile, die zu einer Neubildung bzw. Neudefinition
von Zellen herangezogen werden, Berechnungen anzustellen und anschließend Prüfungen durchzuführen. Berücksichtigt
werden können
als Parameter beispielsweise die Dimensionierung, die Art und Zahl
der Bauteile (Blocktypen) und/oder die Art der Kontaktierung dieser
Bauteile (Netztypen).
Das
beschriebene Verfahren kann beispielsweise in einem Computerprogramm
implementiert und mit Hilfe einer Datenverarbeitungsanlage durchgeführt werden.
Das Programm liest dann beispielsweise zwei Dateien ein. Die erste
Datei enthält
eine Beschreibung des Schaltkreises in Form eines Schaltplanes oder
vorzugsweise in Form einer Netzliste. Die zweite Datei ist eine
Regeldatei, in der die Muster beschrieben und definiert sind, die
in der Netzliste gesucht werden sollen. Ein Muster kann dabei flexibel
definiert werden durch:
- – Bauteiltypen
- – Blocktypen
- – Netz-
oder Pintypen und/oder
- – Verbindungen
zwischen den zugehörigen
Bauteilen.
Wenn
das jeweils definierte Muster in der Netzliste gefunden wird, werden
in der Regeldatei definierte Schlussfolgerungen festgelegt und diese
dann ausgeführt.
Diese
Schlussfolgerungen können
Folgendes enthalten:
- – Generierung einer neuen Zelle,
die das gefundene Muster beinhaltet, Zuordnung eines Typs zu dieser Zelle,
- – Zuordnung
eines Typs zu den Zuleitungen (Pins) der Zelle,
- – Berechnung
beliebiger Parameter aus den Parametern der gefundenen bzw. identifizierten
Bauteile und Zuordnung dieser berechneten Parameter an die neue
Zelle,
- – Ausführung von
Prüfungen
und Ausgabe von Fehlermeldungen.