-
Das
vorliegende Dokument enthält
Material, das sich auf das Material der mitanhängigen, gemeinsam eingereichten
U.S.-Patentanmeldungen
Anwaltsaktenzeichen 100111221-1 mit dem Titel System And Method For
Determining Wire Capacitance For A VLSI Circuit; Anwaltsaktenzeichen
10011228-1 mit dem Titel Systems and Methods Utilizing Fast Analysis
Information During Detailed Analysis Of A Circuit Design; Anwaltsaktenzeichen
100111230-1 mit dem Titel Systems And Methods For Determining Activity
Factors Of A Circuit Design; Anwaltsaktenzeichen 100111232-1 mit
dem Titel System And Method For Determining A Highest Level Signal
Name In A Hierarchical VLSI Design; Anwaltsaktenzeichen 100111233-1
mit dem Titel System And Method For Determining Connectivity Of
Nets In A Hierarchical Circuit Design; Anwaltsaktenzeichen 100111234-1 mit
dem Titel System And Method Analyzing Design Elements In Computer
Aided Design Tools; Anwaltsaktenzeichen 100111235-1 mit dem Titel
System And Method For Determining Unmatched Design Elements In A Computer-Automated
Design; Anwaltsaktenzeichen 100111236-1 mit dem Titel Computer Aided
Design Systems And Methods With Reduced Memory Utilization; Anwaltsaktenzeichen
100111238-1 mit dem Titel System And Method For Iteratively Traversing
A Hierarchical Circuit Design; Anwaltsaktenzeichen 100111257-1 mit dem
Titel Systems And Methods For Establishing Data Model Consistency
Of Computer Aided Design Tools; Anwaltsaktenzeichen 100111259-1
mit dem Titel Systems And Methods For Identifying Data Sources Associated
With A Circuit Design; und Anwaltsaktenzeichen 100111260-1 mit dem
Titel Systems And Methods For Performing Circuit Analysis On A Circuit
Design bezieht, wobei die Offenbarungen derselben hierdurch durch
Bezugnahme aufgenommen sind.
-
Ein
elektronisches Tool bzw. Werkzeug für einen computergestützten Entwurf
(„E-CAD"; E-CAD = electronic
computer-aided design)
wird verwendet, um einen Schaltungsentwurf zu erzeugen, der einen
VLSI-Schaltungsentwurf umfaßt
(VLSI = Very Large Scale Integration = Höchstintegration). Der Schaltungsentwurf
umfaßt
eine „Netzliste", die eine Sammlung
von Netzen definiert, die für
den Schaltungsentwurf spezifisch sind. Ein „Netz" ist ein einzelner elektrischer Weg
in einer Schaltung, die an allen ihren Punkten dieselben elektrischen
Charakteristika aufweist. Zum Beispiel ist eine Sammlung von Drähten, die
dasselbe Signal zwischen Komponenten trägt, ein Netz. Wenn die Komponenten
ermöglichen,
daß das
Signal unverändert
durchläuft (wie
in dem Fall eines Anschlusses), dann setzt sich das Netz auf nachfolgend
angeschlossenen Drähten
fort. Wenn die Komponente das Signal jedoch modifiziert (wie in
dem Fall eines Transistors oder einer Logikgatters), dann endet
das Netz bei dieser Komponente und ein neues Netz beginnt auf der
anderen Seite. Ein „Netzname" identifiziert ein
bestimmtes Netz innerhalb der Netzliste.
-
E-CAD-Tools
benötigen
häufig
Konfigurationsinformationen, um den Schaltungsentwurf ordnungsgemäß zu analysieren.
Die Konfigurationsinformationen umfassen „Konfigurationsbefehle", die selektiv auf
Netze innerhalb der Netzliste angewendet werden. Ein Konfigurationsbefehl
ist eine Funktion, die verwendet wird, um eine elektrische Charakteristik
einer Komponente des Schaltungsentwurfs (hierin nachfolgend genannt „Entwurfselement") einzustellen. Ein
Entwurfselement stellt eine einzelne Komponente (z.B. Transistor,
Draht, Widerstand, Kondensator, Diode, Logikgatter), ein Netz, oder
eine Gruppe von Entwurfselementen dar, die strukturell innerhalb
des Schaltungsentwurfs verknüpft
sind und durch das E-CAD-Tool verarbeitet werden. Jeder Konfigurationsbefehl
kann z. B. ein Befehlstypfeld umfassen, das den Typ des Entwurfselements
oder der Schaltungscharakteri stik anzeigt, auf die der Befehl anwendbar
ist, ein Netznamenfeld, das das spezifische Netz anzeigt, auf das
der Befehl anwendbar ist, und ein Wertfeld, das den Wert anzeigt,
auf den das genannte Netz eingestellt werden soll. Ein Konfigurationsbefehl
könnte
ferner z. B. nur Befehlstypfeld und Wertfeld enthalten, die extern
einem Netznamen oder einem Entwurfselementnamen zugeordnet sind.
Diese Felder werden auf ein Entwurfselement angewendet, um spezifische
Charakteristika für
dieses Entwurfselement einzurichten. Zum Beispiel kann ein Konfigurationsbefehl „Spannung
VDD 2,1 V" verwendet
werden, um die Versorgungsspannung des Netzes genannt „VDD" auf 2,1 V einzustellen.
-
Das
E-CAD-Tool bestimmt, welche Konfigurationsbefehle auf bestimmte
Netze in einem VLSI-Entwurf anwendbar sind, um die Analyse des Schaltungsentwurfs
zu beschleunigen. Um zu bestimmen, welche Konfigurationsbefehle
auf jedes Netz anwendbar sind, werden manchmal „Teilspezifizierer" verwendet, um Netznamen
innerhalb der Netzliste anzupassen. Ein Teilspezifizierer ist ein „regulärer Ausdruck", der verwendet wird,
um Netznamen und Entwurfselementnamen innerhalb der Netzliste zu
identifizieren und optional auszuwählen. Ein regulärer Ausdruck
ist eine Quellzeichenfolge, die Strukturanpassungs- und Substitutions-Operationen
bei einer oder mehreren Zielzeichenfolgen definiert. Der reguläre Ausdruck
verwendet einen Satz von „speziellen" Zeichen, derart,
daß die
Quellzeichenfolge mit spezifischen Teilen der Zielzeichenfolge übereinstimmt.
Zum Beispiel stimmt das Zeichen „." in der Quellzeichenfolge mit einem
Zeichen in der Zielzeichenfolge überein,
während
das Zeichen „*" in der Quellzeichenfolge
mit Null oder mehreren aufeinanderfolgenden Zeichen in der Zielzeichenfolge übereinstimmt.
Beispiele von regulären
Ausdrücken
sind in vielen Softwaretools (z. B. grep, awk, etc.) des UNIX-Betriebssystems
enthalten. Der Teilspezifizierer kann nur als ein Teilsatz des regulären Ausdrucks
implementiert sein, z. B. der Teilspezifizierer, der nur die Suchfunktionalität des regulären Ausdrucks
einlagert. Die Zeichenfolgen „*/scan/ shift", „test/h1/*" und „*" sind Beispiele von
Teilspezifizierern.
-
Bekannte
E-CAD-Tools verwenden mehrere bekannte Verfahren, um zu bestimmen,
welche Konfigurationsbefehle auf Netze eines Schaltungsentwurfs
anwendbar sind. Bei einem Verfahren wird ein Teilspezifizierer,
der einem Konfigurationsbefehl zugeordnet ist, verwendet, um jeden
Netznamen in einer Netzliste in Übereinstimmung
zu bringen, um zu bestimmen, ob der Konfigurationsbefehl auf das
Netz zutrifft. Dieses Verfahren erfordert einen linearen Zeitbetrag
im Hinblick auf die Anzahl von Teilspezifizierern, die geprüft werden, und
ist daher relativ zeitaufwendig aufgrund der Tatsache, daß jeder
Netzname in der Netzliste gegen jeden Teilspezifizierer geprüft wird,
der jedem Konfigurationsbefehl zugeordnet ist. Ein anderes Verfahren,
das verwendet wird, um anwendbare Konfigurationsbefehle zu bestimmen,
erweitert alle Teilspezifizierer am Anfang der Analyse, wodurch
vorbestimmt wird, welche Netze mit jedem Konfigurationsbefehl übereinstimmen.
Bei einem typischen VLSI-Schaltungsentwurf, der Millionen von Netzen
aufweist, können
beide dieser Prozesse untragbar lang sein, da sie M × N-Teilspezifizierer-Übereinstimmungen
erfordern, wobei M die Anzahl von Netznamen ist und N die Anzahl
von Teilspezifizierern ist.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein
System zum Bestimmen von anwendbaren Konfigurationsinformationen
und ein Softwareprodukt mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren zum Bestimmen von anwendbaren Konfigurationsinformationen
gemäß Anspruch
1 und 13, ein System zum Bestimmen von anwendbaren Konfigurationsinformationen gemäß Anspruch
9 und 15 und ein Softwareprodukt gemäß Anspruch 18 gelöst.
-
Bei
einem Ausführungsbeispiel
bestimmt ein Verfahren anwendbare Konfigurationsinformationen zur Verwendung
bei der Analyse eines computergestützten Entwurfs. Eine Zustandsmaschine
wird unter Verwendung von Informationen erzeugt, die in einer Mehrzahl
von Konfigurationsbefehlen enthalten sind. Ein Entwurfselementname,
der einem Entwurfselement zugeordnet ist, wird auf die Zustandsmaschine
angewendet. Die Zustandsmaschine erzeugt eine Liste, die Konfigurationsinformationen
umfaßt,
die auf das Entwurfselement anwendbar sind.
-
Bei
einem anderen Ausführungsbeispiel
bestimmt ein System anwendbare Konfigurationsinformationen zur Verwendung
bei der Analyse eines computergestützten Entwurfs. Eine Datei
enthält
eine Mehrzahl von Konfigurationsbefehlen, die Werte einstellen,
die Netzen in dem Entwurf zugeordnet sind. Eine Netzliste enthält eine
Mehrzahl von Netznamen, wobei jede derselben einem der Netze zugeordnet
ist. Ein Prozessor führt eine
Zustandsmaschine aus, die unter Verwendung von Informationen kompiliert
wird, die in einer Mehrzahl von Konfigurationsbefehlen enthalten
sind. Ansprechend auf die Eingabe, die einen der Netznamen aufweist, erzeugt
die Zustandsmaschine eine Liste, die Konfigurationsinformationen
umfaßt,
die auf eines der Netze anwendbar sind, das der Eingabe entspricht.
-
Bei
einem anderen Ausführungsbeispiel
bestimmt ein Verfahren anwendbare Konfigurationsinformationen zur
Verwendung bei einer Analyse eines computergestützten Entwurfs. Eine Zustandsmaschine
wird unter Verwendung von Informationen erzeugt, die in einer Mehrzahl
von Konfigurationsbefehlen enthalten sind. Ansprechend auf eine
Eingabe, die einen Netznamen umfaßt, der einem Netz in dem Entwurf
zugeordnet ist, erzeugt die Zustandsmaschine eine Liste, die die
Konfigurationsinformationen umfaßt, die auf das Netz anwendbar
sind. Die Zustandsmaschine wird kompiliert durch Bestimmen, aus
einem Satz von regulären
Ausdrücken,
die den Konfigurationsbefehlen zugeordnet sind, eines Satzes von Zuständen und Übergängen zwischen
den Zuständen,
die gegen Zeichen des Netznamens in Übereinstimmung gebracht werden,
um Null oder mehr reguläre
Ausdrücke
zu bestimmen, die mit dem Netznamen übereinstimmen. Alle der somit
bestimmten regulären
Ausdrücke
weisen einen oder mehrere entsprechende Konfigurationsbefehle auf,
die denselben zugeordnet sind, die auf den Netznamen anwendbar sind.
Jeder der Konfigurationsbefehle umfaßt ein Befehlstypfeld, das
den Typ der Entität
anzeigt, auf die der Befehl anwendbar ist, und ein Wertfeld, das
den Wert anzeigt, auf den das Netz, das dem Netznamen entspricht,
eingestellt werden soll. Ein Netzname, der dem Entwurf zugeordnet
ist, wird auf die Zustandsmaschine angewendet, um die Liste zu erzeugen.
Die Konfigurationsbefehle in der Liste werden auf zumindest eines
der Netze in dem Entwurf angewendet.
-
Bei
einem anderen Ausführungsbeispiel
bestimmt ein System anwendbare Konfigurationsinformationen zur Verwendung
bei einer Analyse eines computergestützten Entwurfs, das folgende
Merkmale aufweist: eine Einrichtung zum Erzeugen einer Zustandsmaschine
unter Verwendung von Informationen, die in einer Mehrzahl von Konfigurationsbefehlen
enthalten sind, wobei, ansprechend auf eine Eingabe, die einen Entwurfselementnamen
aufweist, der einem Netz in dem Entwurf zugeordnet ist, die Zustandsmaschine
eine Liste erzeugt, die die Konfigurationsinformationen umfaßt, die
auf das Netz anwendbar sind; und eine Einrichtung zum Anwenden des
Entwurfselementnamens auf die Zustandsmaschine, um die Liste zu
erzeugen.
-
Bei
einem anderen Ausführungsbeispiel
weist ein Softwareprodukt Anweisungen auf, die auf einem computerlesbaren
Medium gespeichert sind, wobei die Anweisungen, wenn sie durch einen
Computer ausgeführt
werden, Schritte durchführen
zum Bestimmen anwendbarer Konfigurationsinformationen zur Verwendung
bei einer Analyse eines computergestützten Entwurfs, die folgendes
umfassen Anweisungen zum Erzeugen einer Zustandsmaschine unter Verwendung
von Informationen, die in einer Mehrzahl von Konfigurationsbefehlen
enthalten sind, wobei, ansprechend auf eine Eingabe, die einen Netznamen
aufweist, der einem Netz in dem Entwurf zugeordnet ist, die Zustandsmaschine
eine Liste erzeugt, die die Konfigurationsinformationen umfaßt, die
auf das Netz anwendbar sind; Anweisungen zum Anwenden eines Netznamens,
der dem Entwurf zugeordnet ist, auf die Zustandsmaschine, um die
Liste zu erzeugen; und Anweisungen zum Anwenden der Konfigurationsbefehle
in der Liste auf zumindest ein Netz in dem Entwurf.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein exemplarisches E-CAD-System
zum Bestimmen von anwendbaren Konfigurationsinformationen zur Verwendung
bei einer Analyse eines computergestützten Entwurfs;
-
2A ein Flußdiagramm,
das einen exemplarischen Satz von Schritten darstellt, die bei der
Operation des Systems aus 1 durchgeführt werden;
-
2B ein Flußdiagramm,
das einen alternativen exemplarischen Satz von Schritten darstellt,
die bei der Operation des Systems aus 1 durchgeführt werden;
-
3 ein Diagramm einer exemplarischen
Zustandsmaschine, die zur Verwendung in dem System aus 1 geeignet ist; und
-
4 ein Flußdiagramm,
das ein Verfahren zum Bestimmen von anwendbaren Konfigurationsinformationen
zur Verwendung bei der Analyse eines computergestützten Entwurfs
darstellt.
-
1 zeigt ein System 100 für einen
exemplarischen elektronischen computergestützten Entwurf („E-CAD"-System; E-CAD = Electronic
Computer Aided Design), das anwendbare Konfigurationsinformationen
zur Verwendung bei einer Analyse eines computergestützten Entwurfs
bestimmt. Das System 100 umfaßt ein Computersystem 101,
das einen Computerspeicher 104, einen Prozessor 102 und
eine Speicherungseinheit 106 enthält. Die Speicherungseinheit 106 speichert
ein E-CAD-Tool 107 und
einen Schaltungsentwurf 109. Das E-CAD-Tool 107 umfaßt einen
Kompilierer 105. Das Computersystem 101 verwendet
den Prozessor 102, um das E-CAD-Tool 107 und den
Kompilierer 105 in den Computerspeicher 104 derart
zu laden, daß das E-CAD-Tool 107 nach
der Ausführung
durch den Prozessor 102 den Schaltungsentwurf 109 analysiert.
Der Schaltungsentwurf 109 wird z. B. durch das E-CAD-Tool 107 entwickelt;
er umfaßt
eine Netzliste 113, die die Netze des Schaltungsentwurfs 109 definiert,
und eine Konfigurationsdatei 111, die Konfigurationsbefehle
für den
Schaltungsentwurf 109 definiert.
-
Das
E-CAD-Tool 107 und der Kompilierer 105 sind wirksam,
um eine Zustandsmaschine 103 aus Teilspezifizierern zu
erzeugen, die in einer Konfigurationsbefehlsliste 108 der
Konfigurationsdatei 111 enthalten sind. Eine „Zustandsmaschine" kann als ein Mechanismus
definiert sein, der einen anfänglichen
Zustand aufweist, und der einen Satz von Eingabeereignissen und
einen Satz von Ausgabeereignissen, einen Satz von Zuständen, eine
Funktion, die Zustände
und Eingaben auf Ausgaben abbildet, und eine Funktion, die Zustände und
Eingaben auf Zustände
abbildet (genannt eine Zustandübergangsfunktion),
umfaßt.
Wie nachfolgend detaillierter beschrieben wird, ist die Zustandsmaschine 103,
sobald sie erzeugt wurde, wirksam, um eine anwendbare Konfigurationsbefehlsliste 110 zu
erzeugen, die Konfigurationsbefehle enthält, die auf jedes Netz von
Interesse während
der Analyse des Schaltungsentwurfs 109 anwendbar sind.
-
2A ist ein Flußdiagramm,
das einen exemplarischen Satz von Schritten darstellt, die bei der
Operation des E-CAD-Systems
100 ausgeführt werden.
2B ist ein Flußdiagramm,
das einen alternativen exemplarischen Satz von Schritten darstellt,
die bei der Operation des E-CAD-Systems
100 durchgeführt werden.
3 ist ein Diagramm einer
exemplarischen Zustandsmaschine (z. B. Zustandsmaschine
103),
die durch das E-CAD-System
100 verwendet wird. Die Operation
des E-CAD-Systems
100 ist am besten verständlich durch
Betrachten der
1,
2A,
2B und
3 in
Verbindung miteinander. Anfänglich,
bei Schritt
205, werden Informationen in den Konfigurationsbefehlen
in der Konfigurationsdatei
111, einschließlich des
regulären
Ausdrucks/Netznamens, der jedem Befehl zugeordnet ist, in der Konfigurationsinformationsliste
108 in
dem Computerspeicher
104 gespeichert. Bei einem alternativen
Ausführungsbeispiel
wird die Konfigurationsdatei
111 selbst in den Computerspeicher
104 geladen,
und auf die Konfigurationsbefehlsinformationen, die in demselben
gespeichert sind, wird direkt anstelle der Liste
108 Bezug
genommen (bei Schritt
210). Ein Beispiel einer Teilliste
von Konfigurationsbefehlen, die in der Konfigurationsdatei
111 gespeichert
ist, ist in Tabelle 1 gezeigt, in der das Feld „Befehlstyp" die Charakteristik
anzeigt, die einem spezifischen Netznamen zugeordnet ist, der auf
den entsprechenden Wert eingestellt werden soll: TABELLE
1 BEISPIELKONFIGURATIONSBEFEHLE
-
Bei
Schritt 210 wird die Zustandsmaschine 301 kompiliert
oder anderweitig aus den Konfigurationsinformationen erzeugt, die
in der Liste 108 gespeichert sind, durch Verwenden des
Kompilierers 105 bei einem exemplarischen Ausführungsbeispiel.
Die Zustandsmaschine 103 wird aus dem Satz von Teilspezifizierern
erzeugt, der den Konfigurationsbefehlen in der Konfigurationsdatei 111 zugeordnet
ist. Ein Satz von Zuständen und Übergängen wird
derart bestimmt, daß wenn
die Zustandsmaschine 103 mit den Zeichen eines Netznamens
beliefert wird (z. B. einem Netznamen eines Netzes, das durch die
Netzliste 113 definiert ist), bestimmt die Zustandsmaschine 103,
welche, falls überhaupt,
der Teilspezifizierer mit dem Netznamen übereinstimmen. Aus den Teilspezifizierern
bestimmt die Zustandsmaschine 103, welche, falls überhaupt,
der zugeordneten Konfigurationsbefehle auf den Netznamen zutreffen.
-
Verfahren
zum Erzeugen von Zustandsmaschinen sind in der Technik bekannt,
und die resultierende Zustandsmaschine besteht üblicherweise im wesentlichen
entweder aus einer Schalteranweisung innerhalb einer Schleife oder
einer Tabelle, die die möglichen Übergänge für jeden
Zustand als eine Funktion eines „aktuellen Zustands" darstellt. Bei dem
ersteren Verfahren verwendet bei jeder Iteration der Schleife die
Schalteranweisung den aktuellen Zustand der Zustandsmaschine 103,
um ein nachfolgendes Zeichen des Netznamens zu prüfen, der
bewertet wird, um zu entscheiden, welcher Codeabschnitt aktiviert
werden soll, wobei jeder Codeabschnitt verwendet wird, um den nächsten Zustand
zu berechnen. Die Schleife wird iteriert, bis der Netzname vollständig in Übereinstimmung
gebracht ist und ein „Akzeptanzzustand" (z. B. Zustände 306, 307, 308 und 309, 3) erreicht ist. Der Akzeptanzzustand
definiert Konfigurationsbefehle, falls vorhanden, die auf den in Übereinstimmung
gebrachten Netznamen anwendbar sind, und speichert dieselben in
der Liste 110. Es sollte darauf hingewiesen werden, daß zusätzlich zu
den Netznamen das vorliegende Verfahren ferner auf andere Schaltungsentwurfsindizes
anwendbar ist, wie z. B. Entwurfselementnamen.
-
Bei
Block 215 wird jedes Netz von Interesse in der Netzliste 113 (alle
Netze bei Entwurf 109 sind nicht notwendigerweise von Interesse
für jede
Analyse) durch die Zustandsmaschine 103 verarbeitet, um
die Liste 110 zu erzeugen, die anwendbare Konfigurationsbefehle
enthält,
wobei Null oder mehr derselben auf ein spezifisches dieser Netze
anwendbar sind. Bei Schritt 220 wird ein spezifischer Netzname
auf die Zustandsmaschine 103 angewendet, um die Liste 110 von
Konfigurationsbefehlen zu erzeugen, die auf den Netznamen anwendbar
sind. 3 stellt eine
exemplarische Zustandsmaschine dar, wie sie durch den Kompilierer 105 aus
den Konfigurationsbefehlen aus Tabelle 1 erzeugt wird. Die Zustandsmaschine 103 wird
anfänglich
auf Zustand 300 eingestellt und bewegt sich weiter von
Zustand zu Zustand, basierend auf Zeichen des Netznamens, der analysiert
wird. Bei dem vorliegenden Beispiel sei angenommen, daß ein Netzname
von „abcd" auf die Zustandsmaschine 103 angewendet
wird. Nach dem Lesen des ersten Zeichens des Netznamens geht die
Zustandsmaschine 103 in Zustand 303 über, da
das erste Zeichen in dem Netznamen des Zeichens „a" ist. Die Zustandsmaschine 103 bestimmt
dann, ob das Ende des Netznamens erreicht wurde, und wenn nicht,
geht sie von dem aktuellen Zustand in den nächsten Zustand über, basierend
auf dem nächsten
Zeichen in dem Netznamen. Bei dem Beispiel ist das nächste Zeichen
in dem Netznamen „b"; daher geht die
Zustandsmaschine 103 in den Zustand 304 über. Die
Zustandsmaschine 103 bleibt dann in dem Zustand 304,
wo sie das oder die verbleibenden Zeichen des Netznamens unter Verwendung
eines „Beliebiges-Zeichen"-Zustandsübergangs
verarbeitet (wie gezeigt), bis alle verbleibenden Zeichen des Netznamens
(z. B. Zeichen „c" und „d" des Beispiels) verarbeitet
sind. Nach dem Erfassen des Endes des Netznamens wird ein Übergang
zu dem Akzeptanzzustand 307 durchgeführt und anwendbare Konfigurationsbefehle,
die aus dem Zustand 307 resultieren, werden in der Liste 110 gespei chert
(z. B. unter Verwendung des Beispiels aus Tabelle 1, werden Konfigurationsbefehle „voltage
abcd 2.1v" und „wire_cap
abcd 2pf" in der
Liste 110 gespeichert, die anzeigt, daß die Versorgungsspannung für das Netz „abcd" 2,1 Volt beträgt, und
daß die
Drahtkapazität
für das
Netz „abcd" 2 Pikofarad beträgt).
-
Es
wird darauf hingewiesen, daß dieses
Ergebnis mit der Tatsache übereinstimmt,
daß die
Zeichenfolge „abcd" durch den Teilspezifizierer „a*" des Konfigurationsbefehls „voltage
a* 2.1v", und ferner
durch den Teilspezifizierer „ab*" des Konfigurationsbefehls „wire_cap
ab* 2pf" in Übereinstimmung
gebracht wird.
-
Auf ähnliche
Weise führt
das Verarbeiten des Netznamens „bc" durch die Zustandsmaschine 103 zu Übergängen von
dem Zustand 300 durch den Zustand 302 zu dem Akzeptanzzustand 309.
Der Konfigurationsbefehl „wire_cap
bc 3pf" wird dann
in Liste 110 gespeichert.
-
Ein
unbenannter Übergang,
der beim Verarbeiten des Netznamens angetroffen wird, führt zu einem Übergang
zu einem Nullakzeptanzzustand 308. Zum Beispiel, wenn der
Netzname „ba" auf die Zustandsmaschine 103 angewendet
wird, tritt ein anfänglicher Übergang
vom Zustand 300 zu Zustand 301 auf, ansprechend
auf das erste Zeichen „b" in dem Netznamen.
Das Verarbeiten des nächsten
Zeichens „a" des Netznamens führt zu einem Übergang
zu Zustand 308, da der einzige benannte Übergang
von Zustand 301 ansprechend auf das Zeichen „c" erfolgt; der Netzname „ba" ist daher nicht übereinstimmend.
Da der Zustand 308 einen Nullkonfigurationsbefehl aufweist,
würde kein
Eintrag in der Liste 110 für den Netznamen gespeichert werden.
-
Schritt 220 bei
Block 215 wird dann für
jedes Netz von Interesse in dem Entwurf 109 wiederholt,
wie durch Pfeil 221 angezeigt ist. Nachdem die anwendbaren
Konfigurationsbefehle für
alle Netze von Interesse erzeugt wurden, werden dann bei Schritt 225 die
Konfigurationsbefehle in Liste 110 auf die entsprechenden Netze
bei dem Entwurf 109 angewendet, unter Verwendung des E-CAD-Tools 107.
-
2B ist ein Flußdiagramm,
das einen alternativen beispielhaften Satz von Schritten darstellt,
die bei der Operation des Systems 100, 1, ausgeführt werden. Wie in 2B gezeigt ist, wird nach
dem Durchführen
der Schritte 205 und 210 jedes Netz von Interesse
in der Netzliste 113 auf die Zustandsmaschine 103 angewendet,
um bei Schritt 220 die Liste 110 von Konfigurationsbefehlen
zu erzeugen, die für
ein bestimmtes Netz spezifisch sind, wie oben im Hinblick auf 2A beschrieben wurde. Bei
dem vorliegenden Ausführungsbeispiel
wird jeder Schritt bei Block 230 für ein Netz nach dem anderen
durchgeführt.
Wenn ein Netz bei Schritt 220 verarbeitet wurde, werden
einer oder mehrere Konfigurationsbefehle, die dem Akzeptanzzustand
für dieses
Netz entsprechen, in der Liste 110 gespeichert. Nachdem
die anwendbaren Konfigurationsbefehle für das aktuelle Netz von Interesse
bei Entwurf 109 erzeugt wurden, werden dann bei Schritt 245 die
Konfigurationsbefehle in Liste 110 auf das aktuelle Netz
unter Verwendung des E-CAD-Tools 107 angewendet. Die Schritte bei
Block 230 werden dann für
jedes Netz von Interesse bei dem Entwurf 109 wiederholt.
-
Anweisungen,
die die Operationen durchführen,
die im Hinblick auf 2A und 2B beschrieben wurden, können in
dem Computerspeicher 104 oder auf einem anderen computerlesbaren
Medium gespeichert werden und später
von demselben wiedergewonnen werden und durch den Prozessor 102 ausgeführt werden, um
gemäß dem vorliegenden
System zu arbeiten. Beispiele von Anweisungen umfassen Software,
Programmcode und Firmware. Beispiele von Speicherungsmedien umfassen
Speichervorrichtungen, Bänder,
Platten, integrierte Schaltungen und Server.
-
4 ist ein Flußdiagramm,
das einen Prozeß 400 zum
Bestimmen von anwendbaren Konfigurationsinformationen zur Verwendung
bei einer Analyse eines computergestützten Entwurfs darstellt. Bei
Schritt 402 wird eine Zustandsmaschine unter Verwendung
von Informationen erzeugt, die in einer Mehrzahl von Konfigurationsbefehlen
enthalten sind. Bei Schritt 404 wird ein Entwurfselementname,
der einem Entwurfselement zugeordnet ist, auf die Zustandsmaschine
angewendet. Bei Schritt 406 erzeugt die Zustandsmaschine
eine Liste, die Konfigurationsinformationen umfaßt, die auf das Entwurfselement
anwendbar sind. Der Prozeß 400 wird
z. B. durch das System 100, 1,
während
der Analyse des Entwurfs 109 ausgeführt.
-
Änderungen
können
an dem obigen Verfahren und System durchgeführt werden, ohne von dem Schutzbereich
derselben abzuweichen. Es sollte somit darauf hingewiesen werden,
daß der
Gegenstand, der in der obigen Beschreibung enthalten oder in den
beiliegenden Zeichnungen gezeigt ist, als darstellend und nicht
in einem einschränkenden
Sinn interpretiert werden sollte. Die folgenden Ansprüche sollen
alle allgemeinen und spezifischen Merkmale abdecken, die hierin
beschrieben sind, sowie alle Anmerkungen des Schutzbereichs des
vorliegenden Verfahrens und Systems, die aus sprachlichen Gründen zwischen
diese fallen können.