-
In einem Designablauf für einen integrierten Schaltungs-(IC)Chip wird eine statisches Laufzeitanalyse zum Schätzen von Verzögerungen in elektronischen Schaltungen in verschiedenen Stufen verwendet, um zum Beispiel korrekte Operationen zu überprüfen und die Arbeitsleistung des IC-Chipdesigns zu optimieren. Ein Faktor, der die Genauigkeit einer Verzögerungsberechnung in einer statischen Laufzeitanalyse beeinflusst, ist die Ähnlichkeit einer vorbestimmten Eingangswellenform, die zur Charakterisierung einer Zelle für eine Verzögerungsberechnung verwendet wird, mit einer verbreiteten Eingangswellenform zu der Zelle in einer Schaltung, an der eine statische Verzögerungsberechnung durchgeführt wird. Mit zunehmender technologischer Entwicklung jedoch bewirken jedoch Auswirkungen zum Beispiel einer erhöhten Länge in Zwischenverbindungen für eine Schaltungsverbindung und einer erhöhten Miller-Kapazität in miniaturisierten Transistoren und nicht ebenen Transistoren eine Verzerrung in der verbreiteten Eingangswellenform in Bezug auf die vorbestimmte Eingangswellenform. Wenn die Verzerrung in der verbreiteten Eingangswellenform ignoriert wird, ist die Genauigkeit in der Verzögerungsberechnung beeinträchtigt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Einzelheiten einer oder mehrerer Ausführungsform(en) der Offenbarung sind in den beiliegenden Zeichnungen und der folgenden Beschreibung dargestellt. Andere Merkmale und Vorteile der Offenbarung gehen aus der Beschreibung, den Zeichnungen und Ansprüchen hervor.
-
1 ist ein Ablaufdiagramm eines Zellendesignablaufs und eines Chipdesignablaufs eines IC-Chips gemäß einigen Ausführungsformen.
-
2 ist ein Funktionsblockdiagramm eines Software-Systems zum Erstellen einer Laufzeitbibliothek und zum Durchführen einer Laufzeitanalyse unter Verwendung der Laufzeitbibliothek gemäß einigen Ausführungsformen.
-
3 ist ein Ablaufdiagramm eines Verfahrens zum Charakterisieren einer Zelle zur Verzögerungsberechnung unter Verwendung einer Eingangswellenformerzeugung unter Berücksichtigung verschiedener Schaltungstopologien, die dieselben Eingangsübergangskenndaten generieren, gemäß einigen Ausführungsformen.
-
4 ist ein Ablaufdiagramm eines Verfahrens gemäß einigen Ausführungsformen, das die Operation 302 in 3 implementiert.
-
5 enthält schematische Schaltbilder verschiedener Netzlisten des Prä-Treibers, der die Zelle antreibt, der in den verschiedenen Schaltungstopologien konfiguriert ist, gemäß einigen Ausführungsformen.
-
6 enthält schematische Wellenformdiagramme der verschiedenen Eingangswellenformen, die dieselben Eingangsübergangskenndaten haben und unter Verwendung der verschiedenen Netzlisten des Prä-Treibers, der die Zelle antreibt, konstruiert sind, gemäß einigen Ausführungsformen.
-
7 ist ein Ablaufdiagramm eines anderen Verfahrens gemäß einigen Ausführungsformen, das die Operationen 302 in 3 implementiert.
-
8 ist eine schematische Darstellung, die eine Wellenformsammlung zeigt, die an einem beispielhaften Laufzeitpfad in einem Chip gemäß einigen Ausführungsformen durchgeführt wird.
-
9 zeigt schematische Wellenformdiagramme von Wellenformen, die von Operationen in 7 erhalten werden, gemäß einigen Ausführungsformen.
-
10 ist ein Ablaufdiagramm eines anderen Verfahrens gemäß einigen Ausführungsformen, das die Operationen 302 in 3 implementiert.
-
11 ist ein schematisches Wellenformdiagramm einer beispielhaften Wellenform zur Darstellung eines Tail-Verhältnisses.
-
12 ist eine schematische Wahrscheinlichkeitsdichtefunktion einer Tail-Verhältnisverteilung von Eingangswellenformen zu Zellen in einem Chip gemäß einigen Ausführungsformen.
-
13 ist ein schematisches Schaltbild einer Schaltung zur Ableitung einer linearen Y-MOS-Gleichung gemäß einigen Ausführungsformen.
-
14 zeigt Ablaufdiagramme eines Verfahrens, das die Operationen 304 in 3 implementiert, und eines entsprechenden Verfahrens zur Durchführung einer Wellenformverbreitung während der Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen.
-
15 ist eine schematische Darstellung für eine Laufzeitbibliothek der Zelle gemäß einigen Ausführungsformen.
-
16 sind Ablaufdiagramme eines anderen Verfahrens, das die Operationen 304 in 3 implementiert, und eines entsprechenden Verfahrens zur Durchführung einer Wellenformverbreitung während der Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen.
-
17 ist eine schematische Darstellung für eine Laufzeitbibliothek der Zelle gemäß einigen Ausführungsformen.
-
18 ist eine schematische Darstellung für einen Raum von Eingangswellenformen, die verschiedenen Schaltungstopologien entsprechen, gemäß einigen Ausführungsformen.
-
19 ist ein schematisches Wellenformdiagramm von Ausgangsantworten ohne Empfindlichkeitskorrektur, mit hoher Widerstand-Empfindlichkeitskorrektur und ferner mit hoher Fanout-Emfindlichkeitskorrektur gemäß einigen Ausführungsformen.
-
20 ist eine schematische Darstellung einer weiteren Laufzeitbibliothek der Zelle gemäß einigen Ausführungsformen.
-
21 ist eine schematische Darstellung für einen Raum von Eingangswellenformen, die verschiedenen Schaltungstopologien entsprechen, gemäß einigen Ausführungsformen.
-
22 ist ein Ablaufdiagramm eines weiteren Verfahrens zur Charakterisierung einer Zelle für eine Verzögerungsberechnung unter Verwendung einer Eingangswellenformerzeugung unter Berücksichtigung verschiedener Schaltungstopologien, die dieselben Eingangsübergangskenndaten erzeugen, gemäß einigen Ausführungsformen.
-
23 ist ein Ablaufdiagramm eines Verfahrens gemäß einigen Ausführungsformen, das die Operation 2202 in 22 implementiert.
-
24 ist ein anderes Ablaufdiagramm eines Verfahrens gemäß einigen Ausführungsformen, das die Operation 2202 in 22 implementiert.
-
25 ist ein Ablaufdiagramm eines Verfahrens zur Durchführung einer Wellenformverbreitung während der Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen.
-
26 ist ein Blockdiagramm eines Hardware-Systems zur Implementierung der Software-System-Ausführungsformen, die unter Bezugnahme auf 2 beschrieben sind, und von Verfahrensausführungsformen, die unter Bezugnahme auf 3–25 beschrieben sind, gemäß einigen Ausführungsformen.
-
Gleiche Bezugszeichen in der verschiedenen Zeichnungen geben ähnliche Elemente an.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen oder Beispiele der Offenbarung, die in den Zeichnungen dargestellt sind, werden nun mit speziellen Ausdrücken beschrieben. Es ist dennoch klar, dass damit keine Einschränkung des Schutzumfangs der Offenbarung beabsichtigt ist. Es wird davon ausgegangen, dass sämtliche Änderungen und Modifizierungen in den beschriebenen Ausführungsformen und sämtliche weitere Anwendungen von Prinzipien, die in diesem Dokument beschrieben sind, für einem Durchschnittsfachmann auf dem Gebiet, auf das sich die Offenbarung bezieht, offensichtlich sind. Bezugszahlen können in allen Ausführungsformen wiederholt werden, aber dies erfordert nicht unbedingt, dass das Merkmal oder die Merkmale einer Ausführungsform für eine andere Ausführungsform gelten, selbst wenn wie dieselbe Bezugszahl teilen.
-
Einige Ausführungsformen haben eines oder eine Kombination der folgenden Merkmale und/oder Vorteile. In einigen Ausführungsformen wird eine Zelle in Bezug auf Eingangsübergangskenndaten unter Berücksichtigung verschiedener Schaltungstopologien eines Prä-Treibers charakterisiert, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen. In einigen Ausführungsformen ist durch weitere Durchführung einer Wellenformabstimmung unter Berücksichtigung der verschiedenen Schaltungstopologien eine Ausgangsantwort der Zelle, die unter Verwendung eines Modells generiert wurde, das unter Verwendung einer Eingangswellenform charakterisiert wird, der verzerrten verbreiteten Eingangswellenform ähnlicher und genauer. In einigen Ausführungsformen wird durch weitere Anwendung einer Empfindlichkeitskorrektur unter Berücksichtigung der verschiedenen Schaltungstopologien die Ausgangsantwort der Zelle in Bezug auf Auswirkungen einer Verzerrung in der verbreiteten Eingangswellenform korrigiert und ist genauer. In einigen Ausführungsformen wird durch Annehmen einer Eingangswellenform mit repräsentativen Tail-Kenndaten, die unter Berücksichtigung der verschiedenen Schaltungstopologien erhalten werden, die Ausgangsantwort der Zelle, die unter Verwendung eines Modells generiert wird, das unter Verwendung einer Eingangswellenform charakterisiert wird, wahrscheinlicher der verzerrten verbreiteten Eingangswellenform ähnlicher und wahrscheinlicher genauer.
-
1 ist ein Ablaufdiagramm eines Zellendesignablaufs 100 und eines Chipdesignablaufs 150 eines integrierten Schaltungs-(IC)Chips gemäß einigen Ausführungsformen. Die Abläufe 100 und 150 verwenden ein oder mehrere elektronische Design-Automatisierungs-(EDA)Werkzeuge zur Ausführung einer oder mehrerer Stufe(n) oder Operation(en) in den Abläufen 100 und 150.
-
Der Chipdesignablauf 150 hat die Implementierung des IC-Chipdesigns von einer hochwertigen Spezifizierung bis zu einem physischen Layout zum Ziel, das zum Beispiel auf Funktionalität, Arbeitsleistung und Leistung überprüft wird. Der Zellendesignablauf 100 stellt ein physisches Design von Zellen und eine Abstraktion der physisch gestalteten Zellen für die Zellen bereit, die als Bausteine im Chipdesignablauf 150 verwendet werden sollen. In einigen Ausführungsformen wird der Zellendesignablauf 100 separat von und vor gewissen Stufen des Chipdesignablaufs 150 durchgeführt, wie in 1 dargestellt. In einigen Ausführungsformen ist der Zellendesignablauf 100 in den Chipdesignablauf 150 integriert.
-
In einigen Ausführungsformen enthält der Zellendesignablauf 100 eine Zellendesignstufe 102 und eine Zellencharakterisierungsstufe 104.
-
In der Zellendesignstufe 102 wird ein Zellendesign auf Transistorebene durchgeführt und die Schaltungen der Zellen werden physisch angeordnet und nach Spezifikationen, technologiebezogenen Informationen und Designregeln überprüft.
-
In der Zellencharakterisierungsstufe 104 werden die physisch implementierten Zellen charakterisiert, um zum Beispiel Laufzeitmodelle und Leistungsmodelle für die Zellen zu erstellen. In einigen Ausführungsformen werden Netzlisten der Zellen, der physisch implementierten Zellen und der Modelle für die Zellen in einer Standardzellbibliothek gesammelt und stehen zur Verwendung zur Verfügung. Der Begriff ”Netzliste”, der hier und in der gesamten vorliegenden Offenbarung verwendet wird, bezieht sich auf eine Darstellung einer Schaltung auf Basis einer Grafik und/oder eines Textes. Einige Ausführungsformen der vorliegenden Offenbarung können in dieser Stufe oder in anderen Stufen des Zellendesignablaufs 100 verwendet werden.
-
In einigen Ausführungsformen enthält der Chipdesignablauf 140 eine Systemdesignstufe 152, eine logische Designstufe 154, eine logische Synthesestufe 156, eine physische Implementierung 158, eine parasitäre Extraktionsstufe 160 und eine physische Überprüfungs- und elektrische Abzeichnungsstufe 162.
-
In der Systemdesignstufe 152 beschreibt der Designer den IC-Chip im Sinne größerer Module, die jeweils spezielle Funktionen erfüllen. Ferner wird eine Untersuchung auf Optionen, einschließlich Designarchitektur, durchgeführt, um zum Beispiel Kompromisse in der Optimierung von Designspezifikationen und Kosten zu berücksichtigen. Laufzeitanforderungen des IC-Chips werden in dieser Stufe spezifiziert.
-
In der logischen Designstufe 165 werden die Module für den IC-Chip auf Registertransferebene (RTL) unter Verwendung von VHDL oder Verilog beschrieben und werden auf funktionelle Genauigkeit überprüft.
-
In der logischen Synthesestufe 156 werden die Module für den IC-Chip, die in RTL beschrieben sind, in eine Netzliste auf Gate-Ebene übersetzt. In einigen Ausführungsformen erfolgt auch in dieser Stufe ein Technologie-Mapping der logischen Gates und Register auf verfügbare Zellen in der erstellten Standardzellenbibliothek vom Zellendesignablauf 100. Nach erfolgter logischer Synthese ist das IC-Chipdesign durch den Frontend-Designprozess gelaufen und tritt in den folgenden Stufen in den physischen Backend-Designprozess.
-
In der physischen Implementierungsstufe 158 wird die Netzliste auf Gate-Ebene in Blöcke geteilt und ein Grundriss für die Blöcke erstellt. Abgebildete Zellen logischer Gates und Register in den Blöcken werden an speziellen Stellen in einer Chip-Fläche des IC-Chipdesigns platziert. Ein Taktnetzwerk wird synthetisiert und Zwischenverbindungen, die die Zellen verbinden, werden verlegt. In einigen Ausführungsformen werden eine durch die Laufzeit bestimmte Platzierung und Verlegung des IC-Chipdesigns ausgeführt, um eine Laufzeitabschätzung (Timing-Closure) in einer früheren Design-Stufe zu planen. Nach dieser Stufe wird ein platziertes und verlegtes Layout des IC-Chips erstellt.
-
In der parasitären Extraktionsstufe 160 wird eine physische Netzliste aus dem Layout des IC-Chips extrahiert. Die physische Netzliste enthält Parasiten wie die parasitären Widerstände und Kondensatoren, die durch die Zwischenverbindungen bei den Zellen eingeführt werden.
-
In der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 163 wird eine Laufzeitanalyse und Optimierung nach Verlegung an der physischen Netzliste durchgeführt, um eine Laufzeitabschätzung zu garantieren. Die Laufzeitmodelle in der Zellbibliothek werden zur Verzögerungsberechnung während der Laufzeitanalyse verwendet. Einige Ausführungsformen der vorliegenden Offenbarung können in dieser Stufe oder anderen Stufen des Chipdesignablaufs 150 verwendet werden. Das Layout des IC-Chips wird geprüft, um eine Entsprechung mit der Netzliste auf Gate-Ebene sicherzustellen und für die Herstellung sicherzustellen, dass es frei von elektrischen Problemen und lithografischen Problemen ist. Es kann eine schrittweise Fixierung durchgeführt werden, um eine endgültige Abzeichnung des Designs vor der Abgabe (Tape-Out) zu erreichen.
-
Der Zellendesignablauf 100 und der Chipdesignablauf 150 in 1 sind beispielhaft. Andere Abfolgen der Stufen oder Operationen, eine Trennung der Stufen oder zusätzliche Stufen oder Operationen vor, zwischen oder nach den dargestellten Stufen liegen im anwendbaren Umfang der vorliegenden Offenbarung.
-
2 ist ein funktionelles Blockdiagramm eines Software-Systems 2 zur Erstellung einer Laufzeitbibliothek und Durchführung einer Laufzeitanalyse unter Verwendung der Laufzeitbibliothek gemäß einigen Ausführungsformen. Das Software-System 2 enthält ein Bibliothekserstellungswerkzeug 20 und ein statisches Laufzeitanalysenwerkzeug 25. Das Bibliothekserstellungswerkzeug 20 ist zur Charakterisierung einer Zelle zur Verzögerungsberechnung unter Verwendung einer Eingangswellenformerzeugung konfiguriert, die verschiedene Schaltungstopologien berücksichtigt, die dieselben Eingangsübergangskenndaten erzeugen. Das Bibliothekserstellungswerkzeug 20 wird zum Beispiel in der Zellencharakterisierungsstufe 104 im Zellendesignablauf 100 in 1 verwendet. Das Bibliothekserstellungswerkzeug 20 enthält eine Wellenformermittlungsmoduls 202 und ein Zellencharakterisierungsmodul 204. Das Wellenformermittlungsmodul 202 ist zum Empfangen von Eingangsübergangskenndaten und Informationen über verschiedene Schaltungstopologien eines Prä-Treibers, der die fragliche Zelle antreibt, von zum Beispiel dem Zellencharakterisierungsmodul 204, sowie zum Erhalten einer repräsentativen Eingangswellenform für die verschiedenen Schaltungstopologien bzw. verschiedener Eingangswellenformen für die verschiedenen Schaltungstopologien konfiguriert. Das Zellencharakterisierungsmodul 204 ist zum Empfangen einer Zellennetzliste 192 und einer oder mehrerer Eingangswellenformen mit den Eingangsübergangskenndaten von dem Wellenformermittlungsmodul 202 konfiguriert und zum Charakterisieren der Zelle in Bezug auf die eine oder mehreren Eingangswellenform(en), um einen Eintrag oder mehrere Einträge in einer Laufzeitbibliothek 242 zur Verzögerungsberechnung zu erstellen. Das statische Laufzeitanalysenwerkzeug 25 ist zum Empfangen einer physischen Netzliste 244, die zum Beispiel in der parasitären Extraktionsstufe 160 in 1 erhalten wird, sowie zum Durchführen einer statischen Laufzeitanalyse an der physischen Netzliste unter Verwendung der Laufzeitbibliothek 242 konfiguriert. Das statische Laufzeitanalysenwerkzeug 25 wird zum Beispiel in der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 162 im Chipdesignablauf 150 in 1 verwendet. Das statische Laufzeitanalysenwerkzeug 25 enthält ein Laufzeitanalyse-Grafikerstellungs- und -durchlaufmodul 252 und ein Verzögerungsberechnungsmodul 254. Das Laufzeitanalyse-Grafikerstellungs- und -durchlaufmodul 252 ist zur Formulierung der physischen Netzliste in eine Laufzeitgrafik und zum Durchlaufen der Laufzeitgrafik konfiguriert, um eine Eingangswellenformverbreitung zur Verzögerungsberechnung durchzuführen. Das Verzögerungsberechnungsmodul 254 ist zum Empfangen der Laufzeitbibliothek 242 von dem Zellcharakterisierungsmodul 204 und einer Art der Zelle und einer verbreiteten Eingangswellenform zu der Zelle von dem Laufzeitanalyse-Grafikerstellungs- und -durchlaufmodul 252 sowie zum Generieren einer Ausgangsantwort der Zelle als eine verbreitete Eingangswellenform zu einer folgenden Zelle konfiguriert.
-
3 ist ein Ablaufdiagramm eines Verfahrens 300 zum Charakterisieren einer Zelle zur Verzögerungsberechnung unter Verwendung einer Eingangswellenformerzeugung unter Berücksichtigung der verschiedenen Schaltungstopologien, die dieselben Eingangsübergangskenndaten generieren, gemäß einigen Ausführungsformen. In einigen Ausführungsformen wird das Verfahren 300 in der Zellencharakterisierungsstufe 104 im Zellendesignablauf 100 in 1 durchgeführt. In einigen Ausführungsformen wird das Verfahren 300 von dem Bibliothekserstellungswerkzeug 20 in 2 durchgeführt. In Operation 302 werden verschiedene Eingangswellenformen erhalten, die verschiedenen Schaltungstopologien eines Prä-Treibers entsprechen, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen. In Operation 304 wird die Zelle unter Verwendung der verschiedenen Eingangswellenformen charakterisiert, um Einträge, die mit den Eingangsübergangskenndaten und den verschiedenen Schaltungstopologien verknüpft sind, in einer Laufzeitbibliothek zu erstellen. In Operation 306 wird geprüft, ob es Eingangsübergangskenndaten in der Laufzeitbibliothek gibt, die nicht charakterisiert sind. Falls ja, werden in Operation 208 die zu charakterisierenden Eingangsübergangskenndaten zu anderen Eingangsübergangskenndaten geändert, die in der Laufzeitbibliothek aufgezählt sind, und das Verfahren geht zu Operation 302 zurück. Falls nein, wird an einem Verbindungs- oder Beendigungspunkt 310 die Laufzeitbibliothek der Zelle erstellt und steht zur Verwendung zur Verfügung.
-
In Operation 302 in 3 werden verschiedene Eingangswellenformen, die verschiedenen Schaltungstopologien eines Prä-Treibers entsprechen, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, konstruiert. 4 ist ein Ablaufdiagramm eines Verfahrens zur Implementierung der Operation 302 in 3 gemäß einigen Ausführungsformen. In Operation 402 werden verschiedene Netzlisten des Prä-Treibers, der die Zelle antreibt, der in den verschiedenen Schaltungstopologien konfiguriert ist, empfangen. In Operation 404 werden die verschiedenen Eingangswellenformen mit den Eingangsübergangskenndaten unter Verwendung der verschiedenen Schaltungen des Prä-Treibers, der die Zelle antreibt, konstruiert.
-
In Operation 402 von 3 werden verschiedene Netzlisten des Prä-Treibers, der die Zelle unter Verwendung der verschiedenen Schaltungstopologien antreibt, empfangen. 5 enthält schematische Schaltbilder der verschiedenen Netzlisten 500, 520 und 540 des Prä-Treibers, der die Zelle antreibt, der in den verschiedenen Schaltungstopologien konfiguriert ist, gemäß einigen Ausführungsformen. Die verschiedenen Netzlisten sind die Netzliste 500 für eine durchschnittliche Schaltungstopologie, die Netzliste 520 für eine Schaltungstopologie mit hohem Widerstand (R) und die Netzliste 540 für eine Schaltungstopologie mit hohem Fanout (FO). Die Netzliste 500 für die durchschnittliche Schaltungstopologie enthält den Prä-Treiber 502, ein FO 508 des Prä-Treibers 502 und eine Zwischenverbindung 506 zwischen dem Prä-Treiber 502 und dem FO 508 des Prä-Treibers. Eine Zelle 504 im FO 508 ist die Zelle, die unter Verwendung einer Eingangswellenform, eines Übergangs einer Spannung Vin an einem Eingang der Zelle 504 zu charakterisieren ist. In einigen Ausführungsformen wird ein Zwischenverbindungssegment von einem Widerstandselement mit einem Widerstand R und zwei Kondensatoren, jeweils mit einer Kapazität C, modelliert. Jeder der Kondensatoren ist zwischen einem jeweiligen Ende des Widerstandselements und der Masse gekoppelt. Die Anzahl an Zwischenverbindungssegmenten, die in einer Zwischenverbindung enthalten ist, wird zum Beispiel durch eine Länge der Zwischenverbindung bestimmt. In dem veranschaulichenden Beispiel der durchschnittlichen Schaltungstopologie in der Netzliste 500 enthält die Zwischenverbindung 506 ein Zwischenverbindungssegment und hat einen durchschnittlichen R. Zusätzlich ist in dem Beispiel für die durchschnittliche Schaltungstopologie das FO 508 ein durchschnittliches FO von 3. Die Netzliste 520 für die Schaltungstopologie mit hohem R und die Netzliste 540 für die Schaltungstopologie mit hohem FO sind der Netzliste 500 für die durchschnittliche Schaltungstopologie ähnlich, mit Ausnahme einer Differenz im Zwischenverbindungswiderstand bzw. einer Differenz im FO. In der Netzliste 520 für die Schaltungstopologie mit hohem R enthält zum Beispiel eine Zwischenverbindung 526, die das FO 508 an den Prä-Treiber 502 koppelt, 10 Zwischenverbindungssegmente. Daher ist der Widerstand der Zwischenverbindung 520 10R. In der Netzliste 540 für die Schaltungstopologie mit hohem FO enthält ein FO 548 des Prä-Treibers 502 zum Beispiel 60 Zellen. Somit ist das FO 548 das 20-Fache des FO 508.
-
In Operation 404 in 4 werden die verschiedenen Eingangswellenformen mit den Eingangsübergangskenndaten unter Verwendung der verschiedenen Netzlisten 500, 520, 540 des Prä-Treibers, der die Zelle 504 antreibt, konstruiert, wie beispielsweise in 5 dargestellt ist. 6 enthält schematische Wellenformdiagramme der verschiedenen Eingangswellenformen 600, 620 und 640, die dieselben Eingangsübergangskenndaten haben und unter Verwendung der verschiedenen Netzlisten 500, 520 bzw. 540 des Prä-Treibers, der die Zelle 504 antreibt, gemäß einigen Ausführungsformen konstruiert sind. Die verschiedenen Eingangswellenformen sind die Eingangswellenform 600 für die durchschnittliche Schaltungstopologie in der Netzliste 500, die Eingangswellenform 620 für die Schaltungstopologie mit hohem R in der Netzliste 530 und die Eingangswellenform 640 für die Schaltungstopologie mit hohem FO in der Netzliste 540. Jede der Eingangswellenformen 600, 620 und 640 ist ein ansteigender Übergang der Spannung Vin in Bezug auf eine Zeit t an einem Eingang der Zelle 504 in der entsprechenden Netzliste 500, 520 oder 540. In einigen Ausführungsformen erreicht der ansteigende Übergang der Spannung Vin für jede der Eingangswellenformen 600, 620 und 640 eine Spannung Vlower gleich 30% einer Differenz zwischen einer Beharrungsspannung Vfinal und eine Anfangsspannung Vinitial zum Zeitpunkt tlower und erreicht eine Spannung Vupper gleich 70% der Beharrungsspannung Vfinal und der Anfangsspannung Vinitial zum Zeitpunkt tupper. Die Eingangswellenformen 600, 620 und 640 haben einen entsprechenden Zeitpunkt tlower und Zeitpunkt tupper. Daher haben die Eingangswellenformen 600, 620 und 640 dieselben Eingangsübergangskenndaten, die in einigen Ausführungsformen eine Eingangsübergangszeit gleich tupper – tlower ist. In einigen Ausführungsformen wird die Eingangsübergangszeit jeder Eingangswellenform 600, 620 und 640, die unter Verwendung der entsprechenden Netzliste 500, 520 oder 540 generiert wird, jeder anderen gleich gestellt, indem die Kapazität der entsprechenden Zwischenverbindung 506, 526 oder 506 eingestellt wird. Jede Eingangswellenform 600, 620 und 640 hat jedoch einen anderen Tail-Abschnitt, in dem die Spannung Vin von der Spannung Vupper zur Beharrungsspannung Vfinal ansteigt. Die Eingangswellenform 620 für die Schaltungstopologie mit hohem R hat einen längeren Tail-Abschnitt im Vergleich zur Eingangswellenform 600 für die durchschnittliche Schaltungstopologie. Die Eingangswellenform 640 für die Schaltungstopologie mit hohem FO hat auch einen längeren Tail-Abschnitt im Vergleich zur Eingangswellenform 600 für die durchschnittliche Schaltungstopologie. Ferner hat der Tail-Abschnitt der Eingangswellenform 540 einen Knick aufgrund der Miller-Kapazität, die zwischen dem Eingang und den Ausgängen der Zellen im FO 548 gekoppelt ist. In dem in 6 dargestellten Beispiel sind nur ansteigende Eingangswellenformen 600, 620 und 640 dargestellt. Es kann jedoch eine abfallende Eingangswellenform gezeigt werden, die ebenso eine Eingangsübergangszeit zwischen den Zeitpunkten tupper und tlower hat, wenn die fallende Eingangswellenform eine Spannung Vupper bzw. eine Spannung Vlower erreicht, und einen Tail-Abschnitt von der Spannung Vupper zu einer Beharrungsspannung Vfinal hat.
-
Obwohl die Eingangswellenformen 600, 620 und 640 dieselben Eingangsübergangskenndaten haben, verursachen die verschiedenen Tail-Abschnitte der Eingangswellenformen 600, 620 und 640 verschiedene Ausgangsantworten der Zelle 504, die im wesentlichen unterschiedliche Verzögerungen in Bezug auf ihre entsprechenden Eingangswellenformen 600, 620 und 640 haben. Wenn bei der Charakterisierung eines Laufzeitmodells der Zelle 504 in der Laufzeitbibliothek nur eine der verschiedenen Eingangswellenformen 600, 620 und 640, wie die Eingangswellenform 600 für die durchschnittliche Schaltungstopologie, hinsichtlich der Eingangsübergangskenndaten berücksichtigt wird, werden die verschiedenen Tail-Abschnitte der Eingangswellenformen 600, 620 und 640 ignoriert. Wenn in der physischen Netzliste, die aus der parasitären Extraktionsstufe 160 in 1 erhalten wird, die Zelle 504 in einer Schaltungstopologie mit hohem R oder hohem FO konfiguriert wird, hat eine tatsächlich verbreitete Eingangswellenform zu der Zelle 504 einen Tail-Abschnitt, der sich von jenem der Eingangswellenform 600 unterscheidet, die zur Charakterisierung des Laufzeitmodells der Zelle 504 verwendet wird. Die generierte Ausgangsantwort der Zelle 504, die das charakterisierte Laufzeitmodell verwendet, hat dadurch eine Verzögerung, die sich wesentlich von jener der tatsächlichen Ausgangsantwort unterscheidet, die durch ein Laufzeitmodell generiert wird, das unter Verwendung der tatsächlich verbreiteten Eingangswellenform generiert wird. Somit werden, damit ein Tail-Abschnitt der verbreiteten Eingangswellenform berücksichtigt wird, in einigen Ausführungsformen, die unter Bezugnahme auf 11 und 13 beschrieben sind, die verschiedenen Eingangswellenformen 600, 620 und 640, die in Operation 404 konstruiert werden, zur Charakterisierung verschiedener Laufzeitmodelle der Zelle 504 oder eines Laufzeitmodells der Zelle 504 mit Empfindlichkeiten verwendet, um eine Ausgangsantwort zu korrigieren, die unter Verwendung des Laufzeitmodells generiert wird.
-
7 ist ein Ablaufdiagramm eines anderen Verfahrens, das die Operationen 302 in 3 gemäß einigen Ausführungsformen implementiert. Verglichen mit dem Verfahren, das unter Bezugnahme auf 4 beschrieben ist, das die Eingangswellenformen unter Verwendung verschiedener Netzlisten mit den verschiedenen Schaltungstopologien erzeugt, sammelt das Verfahren in 7 Wellenformen aus mindestens einem Chip und wählt Eingangswellenformen aus den gesammelten Wellenformen. In Operation 702 werden Wellenformen von mindestens einem Chip, der Schaltungstopologien enthält, die für die verschiedenen Schaltungstopologien repräsentativ sind, die die Zelle antreiben, gesammelt. In Operation 704 werden die Wellenformen von dem mindestens einen Chip gemäß den Eingangsübergangskenndaten gruppiert. In Operation 706 wird die Gruppe der Wellenformen mit den Eingangsübergangskenndaten gemäß den Tail-Kenndaten sortiert. In Operation 708 wird eine Wellenform mit repräsentativen Tail-Kenndaten aus der Gruppe von Wellenformen mit den Eingangsübergangskenndaten gewählt und andere Wellenformen mit Tail-Kenndaten im Bereich von Tail-Kenndaten, die die repräsentativen Tail-Kenndaten enthalten und mindestens 50% Auftreten der repräsentativen Tail-Kenndaten in dem mindestens einen Chip enthalten, werden als die verschiedenen Eingangswellenformen gewählt. In einigen Ausführungsformen werden die Operationen 702, 704 und 706 nicht immer dann wiederholt durchgeführt, wenn das Verfahren 300 in 3 zurückgeht, um die Operation 302 für andere Eingangsübergangskenndaten auszuführen. Das heißt, die Operationen 702, 704 und 706 werden vor der Operation 302 ausgeführt, die die Auswahloperation 708 enthält, und immer wenn das Verfahren 300 in 3 zurückgeht, wird die Auswahloperation 708 für andere Eingangsübergangskenndaten ausgeführt.
-
In Operation 702 in 7 werden Wellenformen von mindestens einem Chip, der Schaltungstopologien enthält, die für die verschiedenen Schaltungstopologien repräsentativ sind, die die Zelle antreiben, gesammelt. Der Begriff ”der Chip”, wie hier verwendet, bezieht sich auf das Chipdesign, das zum Beispiel aus der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 162 in 1 erhalten wird. In einigen Ausführungsformen ist der Chip in der Form einer physischen Netzliste und Wellenformen an Schaltungsknoten in der physischen Netzliste können zum Beispiel unter Verwendung von SPICE generiert und sondiert werden. Typischerweise enthält der Chip viele Laufzeitpfade. 8 ist eine schematische Darstellung, die eine Wellenformsammlung zeigt, die an einem beispielhaften Laufzeitpfad 800 in dem Chip gemäß einigen Ausführungsformen ausgeführt wird. Der Laufzeitpfad 800 beginnt bei einem Lunch-Register 802, das Daten zu einer kombinatorischen Logikschaltung sendet, die beispielsweise als miteinander verbundene Zellen 810, 812, 814 und 816 dargestellt ist, und endet bei einem Erfassungsregister 804, das Daten aus der kombinatorischen Logikschaltung erfasst. In einigen Ausführungsformen werden Wellenformen an Schaltungsknoten zum Beispiel zwischen dem Register 802 und der Zelle 810, den Zellen 810 und 812, 812 und 814, und 814 und 816 und der Zelle 816 und dem Register 804 gesammelt, wobei eine Spannungssonde 922 durch SPICE vorgesehen ist. Ein Teil 830 der kombinatorischen Logikschaltung ist ausführlicher dargestellt. Im Teil 830 sind die Zelle 912 und die Zelle 814 durch eine Zwischenverbindung 8302 gekoppelt. Ein FO 8304 der Zelle 812 enthält die Zelle 814 und andere Zellen. Die Spannungssonde 822 ist an einen Schaltungsknoten zwischen der Zwischenverbindung 8302 und der Zelle 814 gekoppelt.
-
In einigen Ausführungsformen werden die Wellenformen aus den Laufzeitpfaden gesammelt, die kritisch sind. Damit eine Datenverbreitung im Laufzeitpfad 800 erfolgreich ist, muss ein Laufzeitschlupf zwischen einer Taktperiode und einer Zeit, in der das Lunch-Register 802 Daten angesichts einer Taktflanke ausgibt, die kombinatorische Logikschaltung angesichts der Daten, die vom Lunch-Register 802 ausgegeben werden, Daten generiert und das Erfassungsregister 804 Daten von der kombinatorischen Logikschaltung erfasst, positiv sein. Die Taktperiode kann um einen Taktversatz verringert sein. Je geringer der Laufzeitschlupf, umso kritischer ist der Laufzeitpfad. Es ist wahrscheinlicher, dass der kritische Laufzeitpfad eine oder mehrere Zelle(n) enthält, wie die Zellen 812 und 814, die in Schaltungstopologien mit hohem Widerstand und/oder hohem Fanout konfiguriert sind, die sich als Verzögerung der kombinatorischen Logikschaltung manifestieren. Daher sind Wellenformen, die von den kritischen Laufzeitpfaden gesammelt werden, für Wellenformen repräsentativer, die von Schaltungstopologien mit unterschiedlichen Werten für R und FO generiert werden, wie die Wellenformen 600, 620 und 640, die beispielweise in 6 dargestellt sind.
-
9 zeigt schematisch Wellenformdiagramme von Wellenformen, die aus Operationen 702, 704 und 706 in 7 gemäß einigen Ausführungsformen erhalten werden. Ein Wellenformdiagramm 902 zeigt Wellenformen, die in Operation 702 gesammelt werden, die ausführlich unter Bezugnahme auf 8 beschrieben sind. in Operation 704 in 7 werden die Wellenformen von dem mindestens einen Chip gemäß Eingangsübergangskenndaten gruppiert. Wellenformdiagramme 912 und 914 zeigen Gruppen von Wellenformen, die gemäß Eingangsübergangskenndaten gruppiert sind. Zum Beispiel hat die Gruppe von Wellenformen in dem Wellenformdiagramm 912 eine Eingangsübergangszeit von der Spannung Vlower zur Spannung Vupper von 50 ps. Die Gruppe von Wellenformen im Wellenformdiagramm 914 hat eine Eingangsübergangszeit von 100 ps.
-
In Operation 706 in 7 wird die Gruppe der Wellenformen mit den Eingangsübergangskenndaten gemäß den Tail-Kenndaten sortiert. Wellenformdiagramme 922, 294 und 926 zeigen die Gruppe von Wellenformen mit den Eingangsübergangskenndaten von 50 ps, die gemäß den Tail-Kenndaten sortiert sind. In einigen Ausführungsformen sind die Tail-Kenndaten eine Tail-Übergangszeit einer Wellenform, die von einem Niveau bei 70% der Differenz zwischen der Beharrungsspannung Vfinal und der anfänglichen Spannung Vinitial auf ein Niveau bei 90% der Differenz übergeht. Die Beharrungsspannung Vfinal und die anfängliche Spannung Vinitial werden unter Bezugnahme auf 6 beschrieben. Für einen ansteigenden Übergang, wie die Wellenform im Wellenformdiagramm 922, sind die Niveaus bei 70% und 90% der Differenz zwischen der Beharrungsspannung Vfinal und der anfänglichen Spannung Vinitial die Spannung Vupper bzw. eine Spannung Vtail. In einigen Ausführungsformen wird die Gruppe von Wellenformen mit den Eingangsübergangskenndaten von 50 ps zum Beispiel in ansteigender Reihenfolge sortiert, wie durch die Wellenformen mit den Tail-Kenndaten von 40 ps, 60 ps und 90 ps in dem Wellenformdiagramm 922, 924 bzw. 926 dargestellt.
-
In Operation 708 wird eine Wellenform mit repräsentativen Tail-Kenndaten aus der Gruppe von Wellenformen mit den Eingangsübergangskenndaten ausgewählt. In einigen Ausführungsformen werden die mittleren Tail-Kenndaten als repräsentative Tail-Kenndaten gewählt. Ferner werden in Operation 708 auch andere Wellenformen mit Tail-Kenndaten in einem Bereich von Tail-Kenndaten, der die repräsentativen Tail-Kenndaten enthält und mindestens 50% Auftreten der Tail-Kenndaten in dem mindestens einen Chip umfasst, auch als Eingangswellenformen gewählt. Die Gruppe der Wellenformen mit den Eingangsübergangskenndaten von 50 ps enthält drei beispielhafte Wellenformen. In anderen Beispielen sind mehr Wellenformen in einer Gruppe vorhanden und eine Verteilung der Tail-Kenndaten der Wellenformen in der Gruppe kann erhalten werden. Anders als die mittleren Tail-Kenndaten, die das 50. Perzentil der Verteilung sind, werden auch Perzentile, wie das 25. Perzentil und das 75. Perzentil, gewählt. Der Bereich von Tail-Kenndaten, die durch das 25. Perzentil und das 75. Perzentil begrenzt sind, umfassen mindestens 50% der Population in der Verteilung.
-
10 ist ein Ablaufdiagramm eines anderen Verfahrens, das die Operation 302 in 3 gemäß einigen Ausführungsformen implementiert. Verglichen mit dem Verfahren, das unter Bezugnahme auf 7 beschrieben ist, das Eingangswellenformen mit diversen Tail-Kenndaten aus Wellenformen wählt, die von mindestens einem Chip gesammelt werden, konstruiert das Verfahren in 10 Eingangswellenformen durch Anpassung linearer Y-MOS-Gleichungen an diverse Tail-Kenndaten, die von mindestens einem Chip gesammelt werden. In Operation 1002 werden Tail-Kenndaten von Wellenformen gesammelt, die in mindestens einem Chip generiert werden, der Schaltungstopologien enthält, die für die verschiedenen Schaltungstopologien des Prä-Treibers, der die Zelle antreibt, repräsentativ sind. In Operation 1004 werden repräsentative Tail-Kenndaten aus den gesammelten Tail-Kenndaten ausgewählt und andere Tail-Kenndaten in einem Bereich von Tail-Kenndaten, der die repräsentativen Tail-Kenndaten enthält und mindestens 50% Auftreten von Tail-Kenndaten in dem mindestens einen Chip umfasst, werden ebenfalls gewählt In Operation 1006 wird eine lineare Y-MOS-Gleichung an die Eingangsübergangskenndaten und Tail-Kenndaten der verschiedenen Tail-Kenndaten angepasst, um simultane Gleichungen zu erhalten. In Operation 1008 werden die simultanen Gleichungen gelöst, um eine angepasste lineare Y-MOS-Gleichung zu erhalten. In Operation 1010 wird eine Eingangswellenform unter Verwendung der linearen Y-MOS-Gleichung konstruiert. In Operation 1012 wird geprüft, ob etwaige Tail-Kenndaten, die gewählt werden, nicht konstruiert werden. Falls ja, werden in Operation 1014 die zu konstruierenden Tail-Kenndaten zu anderen Tail-Kenndaten in den gewählten Tail-Kenndaten geändert und das Verfahren geht zu Operation 1006 zurück, um eine Eingangswellenform mit den Tail-Kenndaten zu konstruieren. Falls nein, werden die verschiedenen Eingangswellenformen konstruiert und das Verfahren von Operation 302 in 10 fährt mit Operation 304 in 3 fort.
-
In Operation
1002 werden Tail-Kenndaten von Wellenformen gesammelt, die in mindestens einem Chip generiert werden, der Schaltungstopologien enthält, die für die verschiedenen Schaltungstopologien des Prä-Treibers, der die Zelle antreibt, repräsentativ sind. In einigen Ausführungsformen sind die Tail-Kenndaten ein Tail-Verhältnis.
11 ist ein schematisches Wellenformdiagramm einer beispielhaften Eingangswellenform
1100 zur Darstellung eines Tail-Verhältnisses. Die Eingangswellenform
1100 ist ein fallender Übergang einer Spannung ν in Bezug auf die Zeit t an einem Eingang der zu charakterisierenden Zelle. Es wird angenommen, dass die Spannung ν in Bezug auf einen Übergangsbereich der Eingangswellenform
1100 normalisiert ist und einen Bereich von [0, 1] hat. In einigen Ausführungsformen erreicht der fallende Übergang der Spannung ν eine Spannung V
upper gleich 0,7, d. h., 30% des Übergangsbereichs der Eingangswellenform
1100, zum Zeitpunkt t
upper; erreicht eine Spannung V
lower gleich 0,3, d. h., 70% des Übergangsbereichs der Eingangswellenform
1100, zum Zeitpunkt t
lower; und erreicht eine Spannung V
tail gleich 0,1, d. h., 90% des Übergangsbereichs der Eingangswellenform
1100, zum Zeitpunkt t
tail. Ein Tail-Verhältnis wird unter Berücksichtigung von Eingangsübergangskenndaten, die anhand eines Teils der Eingangswellenform
1100 zwischen den Spannungen V
upper und V
lower erhalten werden, und ergänzender Eingangsübergangskenndaten, die anhand eines Teils der Eingangswellenform
1100 zwischen den Spannungen V
lower und V
tail erhalten werden, erhalten. In einigen Ausführungsformen wird das Tail-Verhältnis der fallenden Eingangswellenform
800 durch die folgende Formel berechnet:
wobei t
lower – t
upper die Eingangsübergangskenndaten sind und t
tail – t
lower die ergänzenden Eingangsübergangskenndaten sind.
-
In
11 ist die Eingangswellenform
1100 eine fallende Eingangswellenform. Im Falle einer ansteigenden Eingangswellenform erreicht die Spannung ν eine Spannung V
lower gleich 0,3, d. h., 30% des Übergangsbereichs der ansteigenden Eingangswellenform, zuerst zum Zeitpunkt t
lower; erreicht eine Spannung V
upper gleich 0,7, d. h., 70% des Übergangsbereichs der ansteigenden Eingangswellenform, anschließend zum Zeitpunkt t
upper; und erreicht dann eine Spannung V
tail gleich 0,9, d. h., 90% der ansteigenden Eingangswellenform, zum Zeitpunkt t
tail. Daher hat eine Formel zur Berechnung des Tail-Verhältnisses für eine ansteigende Eingangswellenform die folgende Form:
wobei t
upper – t
lower die Eingangsübergangskenndaten sind und t
lower – t
tail die ergänzenden Eingangsübergangskenndaten sind.
-
Wie unter Bezugnahme auf 5 und 6 beschrieben, können Eingangswellenformen, die von einem Prä-Treiber, der die Zelle antreibt, generiert werden, der in verschiedenen Schaltungstopologien konfiguriert ist, dieselben Eingangsübergangskenndaten aber unterschiedliche Tail-Abschnitte haben. Unter Berücksichtigung des Tail-Verhältnisses der Eingangswellenform 1100 kann eine andere Eingangswellenform mit denselben Eingangsübergangskenndaten, aber mit anderen ergänzenden Eingangsübergangskenndaten aufgrund eines anderen Tail-Abschnitts von der Eingangswellenform 1100 unterschieden werden. Daher können die verschiedenen empfangenen Tail-Verhältnisse zur Konstruktion von Eingangswellenformen verwendet werden, die dieselben Eingangsübergangskenndaten haben aber unterschiedliche Tail-Abschnitte haben. In der Folge wird ein Verfahren zum Auswählen von Tail-Verhältnissen, die verschiedene Schaltungstopologien darstellen, beschrieben.
-
12 ist eine schematische Wahrscheinlichkeitsdichtefunktion (”probability density function” – pdf) einer Tail-Verhältnisverteilung von Wellenformen, die in dem Chip gesammelt werden, gemäß einigen Ausführungsformen. Ähnlich den unter Bezugnahme auf 7 und 8 beschriebenen Ausführungsformen werden Wellenformen von vielen Laufzeitpfaden im Chip gesammelt. Diese Laufzeitpfade durchlaufen Zellen, die in Schaltungstopologien mit weiten Bereichen eines Zwischenverbindungswiderstands und Fanouts konfiguriert sind. Daher haben die gesammelten Wellenformen verschiedene Tail-Verhältnisse. Die Tail-Verhältnisse der gesammelten Wellenformen bilden eine Tail-Verhältnisverteilung. Die Tail-Verhältnisverteilung wird dann in eine pdf umgewandelt, die Wahrscheinlichkeiten für ein Auftreten verschiedener Tail-Verhältnisse in der Tail-Verhältnisverteilung reflektiert. In Operation 1004 werden repräsentative Tail-Kenndaten aus den gesammelten Tail-Kenndaten gewählt und andere Tail-Kenndaten innerhalb eines Bereichs von Tail-Kenndaten, der die repräsentativen Tail-Kenndaten enthält und mindestens 50% Auftreten von Tail-Kenndaten in dem mindestens eine Chip umfasst, werden ebenso gewählt. In einigen Ausführungsformen werden die repräsentativen Tail-Kenndaten und anderen Tail-Kenndaten in Operation 1004 aus der pdf gewählt. Zum Beispiel werden das mittlere Tail-Verhältnis und das Tail-Verhältnis des 1. Perzentils und das Tail-Verhältnis des 99. Perzentils gewählt, um das repräsentative Tail-Verhältnis wie auch die extremeren Tail-Verhältnisse, die vom Chip gesammelt werden, abzudecken. Die Wahl bei anderen Perzentilen der pdf oder andere Verfahren zum Wählen von Tail-Verhältnissen liegen im in Betracht gezogenen Schutzumfang der vorliegenden Offenbarung.
-
In Operation 1006 wird eine lineare Y-MOS-Gleichung an die Eingangsübergangskenndaten und Tail-Kenndaten der verschiedene Tail-Kenndaten angepasst, um simultane Gleichungen zu erhalten. 13 ist ein schematisches Schaltbild einer Schaltung 1300 zum Ableiten der linearen Y-MOS-Gleichung gemäß einigen Ausführungsformen. Die Schaltung 1300 enthält einen NMOS 1302 und einen konzentrierten Kondensator CL. Eine Source des NMOS 1302 und ein Anschluss des konzentrierten Kondensators CL sind geerdet, ein Drain des NMOS 1302 und ein anderer Anschluss des konzentrierten Kondensators CL sind aneinander gekoppelt und ein Gate des NMOS 1302 ist an eine Stromversorgung VDD gekoppelt. Es wird eine Differenzialgleichung in Bezug auf die Schaltung 1300 in einem Zustand der Entladung des konzentrierten Kondensators CL durch den NMOS, der an der linearen Region arbeitet, erhalten, wobei das Gate des NMOS 1002 vollständig eingeschaltet ist, und ist in der Folge dargestellt: Ilin = a·ν + b·ν2 = – dν / dt (3) wobei Ilin ein Entladungsstrom aus dem konzentrierten Kondensator CL durch den NMOS 1302 ist; ν die Drain-zu-Source-Spannung des NMOS 1302 ist; a und b Koeffizienten von Termen erster Ordnung bzw. zweiter Ordnung in der Differenzialgleichung sind; und t Zeit ist. Die lineare Y-MOS-Gleichung kann aus der Differenzialgleichung (3) abgeleitet werden und ist in der Folge dargestellt: t = – 1 / a·log( (a+b)·ν / a+b·ν) (4)
-
Zur Anpassung der linearen Y-MOS-Gleichung (4) an die Eingangsübergangskenndaten und das Tail-Verhältnis werden drei Punkte (V
upper, t
upper), (V
lower, t
lower) und (V
tail, t
tail) zum Beispiel an einer fallenden Eingangswellenform identifiziert. Dann werden die Punkte, die den Eingangsübergangskenndaten t
lower – t
upper entsprechen, zur Erstellung einer der simultanen Gleichungen verwendet und die Punkte, die dem Tail-Verhältnis
entsprechen, werden zum Erstellen der anderen simultanen Gleichungen verwendet. Daher werden zwei Gleichungen mit zwei Unbekannten a und b erhalten.
-
In Operation 1008 werden die simultanen Gleichungen gelöst, um eine angepasste lineare Y-MOS-Gleichung zu erhalten. Durch Lösen der simultanen Gleichungen werden die zwei Unbekannten a und b gelöst. Die lineare Y-MOS-Gleichung mit dem gelösten a und b ist die lineare Y-MOS-Gleichung, die an die Eingangsübergangskenndaten und das Tail-Verhältnis angepasst ist.
-
In Operation 1010 wird die angepasste lineare Y-MOS-Gleichung zur Konstruktion einer Eingangswellenform mit den Eingangsübergangskenndaten und dem Tail-Verhältnis verwendet. Zum Beispiel können nun Spannungen bei verschiedenen Zeitpunkten aus der angepassten linearen Y-MOS-Gleichung erhalten werden und eine Eingangswellenform kann unter Verwendung der Spannungen an den verschiedenen Zeitpunkten konstruiert werden.
-
Dann geht das Verfahren für Operation 302 in 10 zurück, um die Anpassung der linearen Y-MOS-Gleichung in Bezug auf verschiedene Tail-Kenndaten und eine Konstruktion einer Eingangswellenform mit den verschiedenen Eingangsübergangskenndaten und den verschiedenen Tail-Kenndaten durchzuführen, bis jede der verschiedenen Tail-Kenndaten, die in Operation 1004 gewählt werden, in Bezug darauf angepasst ist. Dann fährt das Verfahren für Operation 302 mit Operation 304 in 3 fort.
-
In Operation 304 in 3 wird die Zelle unter Verwendung der verschiedenen Eingangswellenformen charakterisiert, um Einträge, die mit den Eingangsübergangskenndaten und den verschiedenen Schaltungstopologien verknüpft sind, in einer Laufzeitbibliothek zu erstellen. 14 zeigt Ablaufdiagramme eines Verfahrens, das die Operation 304 in 3 implementiert, und ein entsprechendes Verfahren 1450 zur Durchführung einer Wellenformverbreitung während einer Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen. In Operation 1402 wird ein vollständig charakterisiertes Modell, das mit den Eingangsübergangskenndaten und mit einer Eingangswellenform der verschiedenen konstruierten Eingangswellenformen verknüpft ist, in der Laufzeitbibliothek der Zelle erstellt. In Operation 1404 wird geprüft, ob für eine der verschiedenen Eingangswellenformen kein vollständiges Modell erstellt wurde. Falls ja, fährt das Verfahren mit der Operation 1406 fort, um die zu erstellende Eingangswellenform zu einer anderen Eingangswellenform in den verschiedenen Eingangswellenformen zu ändern, und geht zu Operation 1402 zurück. Falls nein, fährt das Verfahren von Operation 304 in 14 mit Operation 306 in 3 fort, die prüft, ob andere Eingangsübergangskenndaten zu charakterisieren sind.
-
Sobald die Laufzeitbibliothek der Zelle am Verbindungspunkt 310 erstellt ist, wird das Verfahren 1450 unter Verwendung der Laufzeitbibliothek durchgeführt. In einigen Ausführungsformen wird das Verfahren 1450 an der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 162 in 1 durchgeführt. In einigen Ausführungsformen wird das Verfahren 1450 vom Laufzeitanalysewerkzeug 25 in 2 durchgeführt. In Operation 1452 wird eine Laufzeitanalyse an der physischen Netzliste so durchgeführt, dass die verbreitete Eingangswellenform zu einem Eingang der Zelle erhalten wird. In Operation 1454 werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zur Identifizierung von Einträgen verschiedener Eingangswellenformen unter den Eingangsübergangskenndaten in der Laufzeitbibliothek verwendet. In Operation 1456 wird die verbreitete Eingangswellenform mit den verschiedenen Eingangswellenformen in der Laufzeitbibliothek abgestimmt, um einen der Einträge zum Generieren einer Ausgangsantwort der Zelle zu identifizieren.
-
In Operation 1402 wird ein vollständig charakterisiertes Modell, das mit den Eingangsübergangskenndaten und mit einer Eingangswellenform der verschiedenen konstruierten Eingangswellenformen verknüpft ist, in der Laufzeitbibliothek der Zelle erstellt. Ein vollständig charakterisiertes Modell ist ein Laufzeitmodell zum Generieren einer Ausgangsantwort der Zelle, die unter Verwendung der Eingangswellenform charakterisiert wird, und wird unabhängig von anderen Einträgen in der Bibliothek verwendet, die unter Verwendung anderer Eingangswellenformen charakterisiert werden. In einigen Ausführungsformen ist das Laufzeitmodell ein Stromquellenmodell. 15 ist eine schematische Darstellung für eine Laufzeitbibliothek 1500 der Zelle gemäß einigen Ausführungsformen. In einigen Ausführungsformen wird durch Durchführen der Operation 1402 ein vollständig charakterisiertes Modell in Bezug auf die Eingangsübergangskenndaten, wie die 1. Eingangsübergangskenndaten, und die Eingangswellenform, wie eine Wellenform einer durchschnittlichen Schaltungstopologie, in der Laufzeitbibliothek 1500 erstellt.
-
Durch Operationen 1404 und 1406 fährt das Verfahren von Operation 304 damit fort, zu Operation 1402 zurückzugehen, um vollständig charakterisierte Modelle für andere Eingangswellenformen, wie eine Wellenform für eine Schaltungstopologie mit hohem R und eine Wellenform mit einer Schaltungstopologie mit hohem FO, unter den 1. Eingangsübergangskenndaten in der Laufzeitbibliothek 1500 zu erstellen. Dann ist eine Charakterisierung in Bezug auf die 1. Eingangsübergangskenndaten vollendet. Wie unter Bezugnahme auf 7 und 10 beschrieben, können die verschiedenen Eingangswellenformen für vollständig charakterisierende Modelle auch Eingangswellenformen mit verschiedenen Tail-Kenndaten sein.
-
Dann fährt das Verfahren von Operation in 14 mit Operation 306 in 3 fort. Zur Charakterisierung in Bezug auf die 2. Eingangsübergangskenndaten in der Laufzeitbibliothek 1500 kehrt das Verfahren 300 zu Operation 302 zurück, um verschiedene Eingangswellenformen mit den 2. Eingangsübergangskenndaten zu erhalten, wie Konstruieren verschiedener Eingangswellenformen für die durchschnittliche Schaltungstopologie, die Schaltungstopologie mit hohem R und die Schaltungstopologie mit hohem FO mit den 2. Eingangsübergangskenndaten. Dann fährt das Verfahren 300 mit Operation 1402 fort, um vollständig charakterisierte Modelle für die verschiedenen Eingangswellenformen mit den 2. Eingangsübergangskenndaten zu erstellen. Der Prozess wird für andre Eingangsübergangskenndaten wiederholt, bis sämtliche Eingangsübergangskenndaten, die in der Laufzeitbibliothek zu charakterisieren sind, verarbeitet sind. Sobald die Laufzeitbibliothek 1500 der Zelle erstellt ist, kann ein Modell unter Verwendung von Eingangsübergangskenndaten und einer Eingangswellenform als Schlüssel nachgesehen werden.
-
In Operation 1452 wird eine Laufzeitanalyse an einer physischen Netzliste durchgeführt, so dass eine verbreitete Eingangswellenform zu einem Eingang der Zelle erhalten wird. Zur Durchführung einer Laufzeitanalyse an einer physischen Netzliste wird die physische Netzliste zu einer Laufzeitgrafik formuliert. Durch Durchlaufen der Laufzeitgrafik Knoten für Knoten wird eine verbreitete Eingangswellenform, die bei einem Eingang eines Knotens empfangen wird, zu einem Ausgang des Knotens als verbreitete Eingangswellenform zum nächsten Knoten verbreitet. Es wird angenommen, dass der Knoten mit der Zelle, die unter Verwendung des Verfahrens, das unter Bezugnahme auf 3 bis 13 beschrieben wurde, charakterisiert wurde, der aktuelle Knoten für eine Wellenformverbreitung ist. In dem Prozess zur Durchführung einer Laufzeitanalyse wird die verbreitete Eingangswellenform zu dem Eingang der Zelle des aktuellen Knotens erhalten.
-
In Operation 1454 werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zu der Zelle zur Identifizierung von Einträgen verschiedener Eingangswellenformen unter den Eingangsübergangskenndaten in der Laufzeitanalyse verwendet. Zum Beispiel unter der Annahme, dass die verbreitete Eingangswellenform Eingangsübergangskenndaten hat, die den 1. Eingangsübergangskenndaten in der Laufzeitbibliothek 1500 in 15 entsprechen, werden dann die Einträge unter den 1. Eingangsübergangskenndaten in der Laufzeitbibliothek 1500 in 15 identifiziert.
-
In Operation 1456 wird die verbreitete Eingangswellenform mit den verschiedenen Eingangswellenformen in der Laufzeitbibliothek abgestimmt, um einen der Einträge zum Generieren einer Ausgangsantwort der Zelle zu identifizieren. Wenn zum Beispiel die Zelle in einer Schaltungstopologie mit hohem R konfiguriert ist, wenn sie von einem Prä-Treiber in der physischen Netzliste angetrieben wird, ist die generierte verbreitete Eingangswellenform besser mit der Wellenform für die Schaltungstopologie mit hohem R in der Laufzeitbibliothek 1200 abgestimmt. Infolgedessen wird das vollständig charakterisierte Modell unter der Wellenform für die Schaltungstopologie mit hohem R identifiziert, um die Ausgangsantwort der Zelle des aktuellen Knotens zu generieren. Die generierte Ausgangsantwort wird dann als eine verbreitete Eingangswellenform zu einem Eingang einer Zelle des nächsten Knotens verwendet.
-
In den Ausführungsformen, die unter Bezugnahme auf 3 bis 15 beschrieben sind, ist die Zelle in Bezug auf die verschiedenen Eingangswellenformen vollständig charakterisiert, die unter Verwendung verschiedener Schaltungstopologien des Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, konstruiert sind. Durch weitere Durchführung einer Wellenformabstimmung zur Identifizierung der Eingangswellenform, die der verbreiteten Eingangswellenform näher ist, nicht nur in den Eingangsübergangskenndaten sondern auch in einem anderen Abschnitt, wie dem Tail-Abschnitt der Wellenform, wird eine Verzerrung in der verbreiteten Eingangswellenform in Bezug auf die Eingangswellenform, die zur Charakterisierung der Zelle verwendet wird, verringert. Daher wird die Ausgangsantwort der Zelle unter Verwendung des Modells generiert, das unter Verwendung der Eingangswellenform charakterisiert wird, die der verbreiteten Eingangswellenform ähnlicher ist, und ist genauer.
-
16 sind Ablaufdiagramme eines anderen Verfahrens, das die Operation 304 in 3 implementiert, und eines entsprechenden Verfahrens 1650 zur Durchführung einer Wellenformverbreitung während der Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen. Verglichen mit den Verfahren, die unter Bezugnahme auf 14 beschrieben sind, erstellen die Verfahren, die unter Bezugnahme auf 16 beschrieben sind, ein vollständig charakterisiertes Modell für eine der verschiedenen Eingangswellenformen und erstellen Empfindlichkeiten für einige der verschiedenen Eingangswellenformen zur Korrektur einer Ausgangsantwort, die unter Verwendung des vollständig charakterisierten Modells generiert wird. In Operation 1602 werden ein oder mehrere vollständig charakterisierte Modelle, die mit den Eingangsübergangskenndaten und mit einer oder mehreren Eingangswellenformen der verschiedenen Eingangswellenformen verknüpft sind, in der Laufzeitbibliothek erstellt. In Operation 1604 werden Empfindlichkeiten, die mit den Eingangsübergangskenndaten bzw. mit den anderen Eingangswellenformen der verschiedenen Eingangswellenformen verknüpft sind, in der Laufzeitbibliothek erstellt. Dann fährt das Verfahren von Operation 304 in 16 mit Operation in 306 in 3 fort, die prüft, ob weitere Eingangsübergangskenndaten zu charakterisieren sind.
-
In einigen Ausführungsformen wird nach Erstellung der Laufzeitbibliothek der Zelle am Verbindungspunkt 310 das Verfahren 1650 unter Verwendung der Laufzeitbibliothek durchgeführt. In einigen Ausführungsformen wird das Verfahren 1650 an der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 162 in 1 ausgeführt. In einigen Ausführungsformen wird das Verfahren 1450 vom Laufzeitanalysewerkzeug 25 in 2 durchgeführt. In Operation 1452 wird eine Laufzeitanalyse an der physischen Netzliste so durchgeführt, dass eine verbreitete Eingangswellenform zu einem Eingang der Zelle erhalten wird. In Operation 1454 werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zur Identifizierung von Einträgen verschiedener Eingangswellenformen unter den Eingangsübergangskenndaten in der Laufzeitbibliothek verwendet. Die Operationen 1452 und 1454 in dem Verfahren 1650 sind jenen des Verfahrens 1450 in 14 ähnlich und auf deren Einzelheiten wird hier verzichtet. In Operation 1456 wird die verbreitete Eingangswellenform auf einen Raum von Eingangswellenformen projiziert, die verschiedenen Schaltungstopologien entsprechen, um eine Stelle der verbreiteten Eingangswellenform im Raum zu bestimmen. In Operation 1658 wird eine Ausgangsantwort unter Verwendung eines vollständig charakterisierten Modells in einem der identifizierten Einträge genariert. In Operation 1660 wird eine Korrektur der Ausgangsantwort unter Verwendung mindestens einer Empfindlichkeit in den identifizierten Einträgen und der Stelle der verbreiteten Eingangswellenform im Raum angewendet.
-
In Operation 1602 in 16 werden ein oder mehrere vollständig charakterisierte Modelle, die mit den Eingangsübergangskenndaten und mit einer oder mehreren Eingangswellenformen der verschiedenen Eingangswellenformen verknüpft sind, in der Laufzeitbibliothek erstellt. In Operation 1604 werden Empfindlichkeiten, die mit den Eingangsübergangskenndaten bzw. mit anderen Eingangswellenformen der verschiedenen Eingangswellenformen verknüpft sind, erstellt. 17 ist ein schematisches Diagramm für eine Laufzeitbibliothek 1700 der Zelle gemäß einigen Ausführungsformen. In einigen Ausführungsformen werden in Operationen 1602 und 1604 für Eingangsübergangskenndaten, wie die 1. Eingangsübergangskenndaten, die verschiedenen Eingangswellenformen für die verschiedenen Schaltungstopologien, wie die Schaltungstopologie mit durchschnittlichem R und FO, die Schaltungstopologie mit hohem R und durchschnittlichem FO und die Schaltungstopologie mit durchschnittlichem R und hohem FO, in der Laufzeitbibliothek 1700 gespeichert und ein oder mehrere vollständig charakterisierte Modelle bzw. Empfindlichkeiten werden unter den verschiedenen Eingangswellenformen erstellt. In anderen Ausführungsformen werden in Operationen 1602 und 1604 für Eingangsübergangskenndaten, wie die 1. Eingangsübergangskenndaten, Auswirkungen einiger Schaltungstopologieaspekte, wie Widerstand und Fanout, auf die verschiedenen Eingangswellenformen ausgewertet und die ausgewerteten Ergebnisse werden in der Laufzeitbibliothek 1700 gespeichert. Ein oder mehrere vollständig charakterisierte Modelle und Empfindlichkeiten werden unter den ausgewerteten Ergebnissen der verschiedenen Eingangswellenformen erstellt. Der Einfachheit wegen werden die vollständig charakterisierten Modelle bzw. Empfindlichkeiten in der Folge als unter den entsprechenden Schaltungstopologien in der Laufzeitbibliothek 1700 liegend bezeichnet.
-
Sobald eine verbreitete Eingangswellenform am Eingang der Zelle in Operation 1452 in 16 empfangen wird, werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zur Identifizierung von Einträgen verschiedener Eingangswellenformen unter den Eingangsübergangskenndaten in der Laufzeitbibliothek 1700 in Operation 1454 verwendet. In der Folge wird als Beispiel angenommen, dass die identifizierten Einträge unter den 1. Eingangsübergangskenndaten in der Laufzeitbibliothek 1700 sind.
-
In Operation 1656 wird die verbreitete Eingangswellenform auf einen Raum von Eingangswellenformen projiziert, die verschiedenen Schaltungstopologien entsprechen, um eine Stelle der verbreiteten Wellenform im Raum zu bestimmen. 18 ist eine schematische Darstellung für einen Raum 1800 von Eingangswellenformen, die verschiedenen Schaltungstopologien entsprechen, gemäß einigen Ausführungsformen. Im Raum 1800 liegt die Eingangswellenform, die der Schaltungstopologie mit durchschnittlichem R und durchschnittlichem FO entspricht, am Ursprung, eine hohe FO-Achse ist eine Achse für eine Auswirkung eines höheren FO auf die Eingangswellenformen und eine hohe R-Achse ist eine Achse für eine Auswirkung eines höheren R auf die Eingangswellenformen. In dem Beispiel, das zur Veranschaulichung in 18 dargestellt ist, sind die hohe FO-Achse und die hohe R-Achse orthogonal. In anderen Beispielen (nicht dargestellt) sind die Achsen des Raums nicht orthogonal und daher ist eine Zunahme oder Abnahme in der Auswirkung von FO von einer Zunahme oder Abnahme in der Auswirkung von R begleitet. In einigen Ausführungsformen wird durch Durchführung von Operation 1656 die verbreitete Eingangswellenform auf den Raum 1800 an einer Stelle 1802 projiziert. Die hohe FO-Achsenkomponente der Stelle 1802 reflektiert die Wirkung eines höheren FO auf die verbreitete Eingangswellenform in Bezug auf die Eingangswellenform des durchschnittlichen R und durchschnittlichen FO und die hohe R-Achsenkomponente der Stelle 1802 reflektiert die Auswirkung des höheren R auf die verbreitete Eingangswellenform in Bezug auf die Eingangswellenform für den durchschnittlichen R und das durchschnittliche FO.
-
In Operation 1658 wird eine Ausgangsantwort unter Verwendung eines vollständig charakterisierten Modells in einem der identifizierten Einträge generiert. Durch Durchführung der Operation 1658 wird die Ausgangsantwort unter Verwendung des vollständig charakterisierten Modells unter der Schaltungstopologien mit durchschnittlichem R und durchschnittlichem FO generiert.
-
In Operation 1660 wird eine Korrektur an der Ausgangsantwort unter Verwendung mindestens einer Empfindlichkeit in den identifizierten Einträgen und der Stelle der verbreiteten Eingangswellenform im Raum angewendet. 19 ist ein schematisches Wellenformdiagramm von Ausgangsantworten 1902, 1904 und 1904 ohne Empfindlichkeitskorrektur, mit einer Empfindlichkeitskorrektur des hohen Widerstands und ferner mit einer Empfindlichkeitskorrektur eines hohen Fanouts gemäß einigen Ausführungsformen. In 19 ist eine Ausgangsantwort ein Übergang einer Spannung Vout in Bezug auf die Zeit t an einem Ausgang der Zelle als Reaktion auf eine Eingangswellenform zum Eingang der Zelle. Die Ausgangsantwort 1902 ist die Ausgangsantwort, die unter Verwendung des vollständig charakterisierten Modells unter der durchschnittlichen R und durchschnittlichen FO Schaltungstopologie in den identifizierten Einträgen in der Laufzeitbibliothek 1700 in Operation 1658 generiert wird. In den identifizierten Einträgen in der Laufzeitbibliothek 1700 begleiten Empfindlichkeiten zur Korrektur der Ausgangsantwort 1902, die unter Verwendung des vollständig charakterisierten Modells unter der durchschnittlichen R und durchschnittlichen FO Schaltungstopologie hinsichtlich der Auswirkungen eines anderen R und FO auf die verbreitete Eingangswellenform generiert wird, das vollständig charakterisierte Modell. Durch Anwenden einer Korrektur des höheren R bei der Ausgangsantwort 1902 unter Verwendung der Empfindlichkeit einer Schaltungstopologie mit hohem R und hohem FO und der hohen R Komponente an der Stelle 1802 der verbreiteten Eingangswellenform in 18 wird die Ausgangsantwort 1904, die in Bezug auf den höheren R korrigiert ist, erhalten. Dann wird durch Anwenden einer Korrektur des höheren R an der Ausgangsantwort 1904 unter Verwendung der Empfindlichkeit der Schaltungstopologie mit durchschnittlichem R und hohem FO und der hohen FO Komponente an der Stelle 1902 der verbreiteten Eingangswellenform die Ausgangsantwort 1906, die in Bezug auf den höheren R und das höhere FO korrigiert ist, erhalten.
-
20 ist eine schematische Darstellung einer anderen Laufzeitbibliothek 2000 der Zelle gemäß einigen Ausführungsformen. Verglichen mit den Ausführungsformen, die unter Bezugnahme auf 17 beschrieben sind, werden ein oder mehrere vollständig charakterisierte Modelle bzw. Empfindlichkeiten unter verschiedenen Tail-Kenndaten in der Laufzeitbibliothek 2000 in 20 erstellt. In Operation 1602 werden für die 1. Eingangsübergangskenndaten zwei vollständig charakterisierte Modelle, wie das 1. und 2. vollständig charakterisierte Modell, unter Verwendung von Eingangswellenformen erstellt, die ein 2. gewähltes Tail-Verhältnis und ein 5. gewähltes Tail-Verhältnis aufweisen, und unter dem 2. gewählten Tail-Verhältnis und dem 5. gewählten Tail-Verhältnis in der Laufzeitbibliothek 2000 gespeichert. In Operation 1604 werden Empfindlichkeiten zur Korrektur einer Ausgangsantwort, die unter Verwendung des 1. vollständig charakterisierten Modells generiert wurde, unter Verwendung von Eingangswellenformen erstellt, die 1. gewählte Tail-Kenndaten bzw. 3. gewählte Tail-Kenndaten aufweisen, und unter den 1. gewählten Tail-Kenndaten und den 3. gewählten Tail-Kenndaten in der Laufzeitbibliothek 2000 gespeichert. Empfindlichkeiten zur Korrektur der Ausgangsantwort, die unter Verwendung des 2. vollständig charakterisierten Modells generiert werden, werden auf gleiche Weise erstellt und gespeichert.
-
Nach Empfang einer verbreiteten Eingangswellenform am Eingang der Zelle in Operation 1452 in 16 werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zum Identifizieren verschiedener Tail-Verhältnisse unter den Eingangsübergangskenndaten in der Laufzeitbibliothek 2000 in Operation 1454 verwendet. In der Folge werden als Beispiel die identifizierten Einträge unter den 1. Eingangsübergangskenndaten in der Laufzeitbibliothek 2000 angenommen.
-
In Operation 1656 wird die verbreitete Eingangswellenform auf einen Raum von Eingangswellenformen projiziert, die verschiedenen Schaltungstopologien entsprechen, um eine Stelle der verbreiteten Eingangswellenform im Raum zu bestimmen. 21 ist eine schematische Darstellung für einen Raum 2100 von Eingangswellenformen, die verschiedenen Schaltungstopologien entsprechen, gemäß einigen Ausführungsformen. Der Raum 2100 in eine Linie für Tail-Kenndaten. Im Raum 2100 sind die Eingangswellenformen mit den 2. gewählten Tail-Kenndaten 2104 und den 5. gewählten Tail-Kenndaten 2010 als volle Kreise angegeben und die Eingangswellenformen mit den 1. gewählten Tail-Kenndaten 2102, den 3. gewählten Tail-Kenndaten 2106 und den 4. gewählten Tail-Kenndaten 2108 sind als leere Kreise angegeben. Durch Durchführung der Operation 1656 wird die verbreitete Eingangswellenform auf den Raum 2100 an einer Stelle 2112 projiziert. Die verbreitete Eingangswellenform hat Tail-Kenndaten, die den 3. gewählten Tail-Kenndaten 2106 am nächsten sind, und etwas über den 3. gewählten Tail-Kenndaten liegen.
-
In Operation 1658 wird eine Ausgangsantwort unter Verwendung eines vollständig charakterisierten Modells in einem der identifizierten Einträge generiert. Da die Stelle 2112 der verbreiteten Eingangswellenform nahe den 3. gewählten Tail-Kenndaten 2106 liegt, wird die Ausgangsantwort zuerst unter Verwendung des 1. vollständig charakterisierten Modells unter den 2. gewählten Tail-Kenndaten 2104 generiert.
-
In Operation 1660 wird eine Korrektur an der Ausgangsantwort unter Verwendung mindestens einer Empfindlichkeit in den identifizierten Einträgen und der Stelle der verbreiteten Eingangswellenform im Raum angewendet. Da die Stelle 2112 den 3. gewählten Tail-Kenndaten 2106 am nächsten liegt, werden die Empfindlichkeit, die den 3. gewählten Tail-Kenndaten in der Laufzeitbibliothek 2000 entspricht, und der Abstand zwischen der Stelle 2112 der verbreiteten Eingangswellenform und den 2. gewählten Tail-Kenndaten zum Anwenden der Korrektur an der Ausgangsantwort verwendet, die unter Verwendung des 1. vollständig charakterisierten Modells generiert wird.
-
In den Ausführungsformen, die unter Bezugnahme auf die 3 bis 13 und 16 bis 21 beschrieben sind, ist die Zelle in Bezug auf einige der verschiedenen Eingangswellenform vollständig charakterisiert, die unter Verwendung der verschiedenen Schaltungstopologien des Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, konstruiert werden, und ist für Empfindlichkeiten in Bezug auf andere der verschiedenen Eingangswellenformen charakterisiert. Durch weiteres Anlegen einer Empfindlichkeitskorrektur an der Ausgangsantwort, die unter Berücksichtigung nur der Eingangsübergangskenndaten der verbreiteten Eingangswellenform generiert wird, basierend auf einer projizierten Stelle der verbreiteten Eingangswellenform im Raum der verschiedenen Eingangswellenformen, werden die Auswirkungen einer Verzerrung in der verbreiteten Eingangswellenform in Bezug auf die Eingangswellenform, die zur Charakterisierung der Zelle verwendet wird, berücksichtigt. Daher wird die Ausgangsantwort der Zelle in Bezug auf die Auswirkungen einer Verzerrung in der verbreiteten Eingangswellenform korrigiert und ist genauer.
-
22 ist ein Ablaufdiagramm eines weiteren Verfahrens 2200 zur Charakterisierung einer Zelle zur Verzögerungsberechnung unter Verwendung einer Eingangswellenformerzeugung unter Berücksichtigung von verschiedenen Schaltungstopologien, die dieselben Eingangsübergangskenndaten generieren, gemäß einigen Ausführungsformen. Verglichen mit dem Verfahren 300 in 3 verwendet das Verfahren 2200 eine einzige Wellenform mit repräsentativen Tail-Kenndaten als Eingangswellenform zur Charakterisierung der Zelle in Bezug auf Eingangsübergangskenndaten. In Operation 2202 wird eine Eingangswellenform mit Eingangsübergangskenndaten und Tail-Kenndaten erhalten, die unter Berücksichtigung verschiedener Schaltungstopologien eine Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, gewählt sind. In Operation 2204 wird die Zelle unter Verwendung der Eingangswellenform charakterisiert, um einen Eintrag, der mit den Eingangsübergangskenndaten verknüpft ist, in einer Laufzeitbibliothek zu erstellen. In Operation 2206 wird geprüft, ob Eingangsübergangskenndaten, die in der Laufzeitbibliothek aufgelistet sind, nicht charakterisiert sind. Falls ja, werden in Operation 2208 die Eingangsübergangskenndaten, die zu charakterisieren sind, zu anderen Eingangsübergangskenndaten geändert, die in der Laufzeitbibliothek aufgelistet sind, und das Verfahren geht zur Operation 2202 zurück. Falls nein, wird an einem Beendigungspunkt oder einem Verbindungspunkt 2210 die Laufzeitbibliothek der Zelle erstellt. Die Operationen 2204 und 2206 sind Operationen 302 und 304 in 3 ähnlich, mit Ausnahme einer repräsentativen Eingangswellenform, die zur Charakterisierung der Zelle in Bezug auf Eingangsübergangskenndaten dient. Die verschiedenen Ausführungsformen zur Implementierung der Operation 302 können zur Implementierung der Operation 2202 angepasst werden, wie in der Folge ausführlicher beschrieben ist. Eine Ausführungsform für die Operation 2204, die sich von den Ausführungsformen für Operation 304 unterscheidet ist ebenso in der Folge vorgesehen. Die Operationen 2206, 2208 und 2210 sind Operationen 306, 308 und 310 in 3 ähnlich und auf eine nähere Beschreibung wird verzichtet.
-
23 ist ein Ablaufdiagramm eines Verfahrens zur Implementierung der Operation 2202 in 22 gemäß einigen Ausführungsformen. Verglichen mit dem Verfahren, das unter Bezugnahme auf 7 beschrieben ist, enthält das Verfahren in 23 Operationen 702, 704 und 708, die dieselben wie die Operationen 702, 704 und 706 in 7 sind, und eine Operation, die sich von der Operation 708 in dem Verfahren in 7 unterscheidet. Auf die Beschreibung der Operationen in 23, die dieselben wie die Operationen in 7 sind, wird verzichtet. In Operation 2308 wird eine Wellenform mit repräsentativen Tail-Kenndaten aus der Gruppe von Wellenformen mit den Eingangsübergangskenndaten als die Eingangswellenform gewählt. In einigen Ausführungsformen werden ähnlich der Operation 708 in 7 die mittleren Tail-Kenndaten als die repräsentativen Tail-Kenndaten gewählt. Das Verfahren zur Anordnung der mittleren Tail-Kenndaten wurde ausführlich unter Bezugnahme auf 9 beschrieben und wird hier unterlassen. Ähnlich den unter Bezugnahme auf 7 beschriebenen Ausführungsformen werden in einigen Ausführungsformen die Operationen 702, 704 und 706 in dem Verfahren in 3 nicht wiederholt immer dann ausgeführt, wenn das Verfahren 2200 in 22 zur Durchführung der Operation 2202 für andere Eingangsübergangskenndaten zurückgeht.
-
24 ist ein Ablaufdiagramm eines anderen Verfahrens, das die Operation 2202 in 22 gemäß einigen Ausführungsformen implementiert. Verglichen mit dem Verfahren, das unter Bezugnahme auf 10 beschrieben ist, enthält das Verfahren in 24 Operationen 2402, 2408 und 2410, die dieselben wie die Operationen 1002, 1008 und 1010 in dem Verfahren in 10 sind, und Operationen 2404 und 2406, die sich von den Operationen 1004 und 1006 in 10 unterscheiden. Auf die Beschreibung der Operation 2402, die dieselbe wie die Operation 1002 ist, wird verzichtet. In Operation 2404 werden repräsentative Tail-Kenndaten aus den gesammelten Tail-Kenndaten gewählt. Die Operation 2404 unterscheidet sich von der Operation 1004 darin, dass einzelne repräsentative Tail-Kenndaten aus den gesammelten Tail-Kenndaten gewählt werden. Das Verfahren zum Auswählen repräsentativer Tail-Kenndaten für Operation 2404 ist jenem für Operation 1004 ähnlich und wird hier unterlassen. In Operation 2406 wird eine lineare Y-MOS-Gleichung an die Eingangsübergangskenndaten und die repräsentativen Tail-Kenndaten angepasst, um simultane Gleichungen zu erhalten. Auf die Beschreibung der Operationen 2408 und 2410, welche dieselben wie die Operationen 1008 und 1010 sind, wird verzichtet.
-
25 ist ein Ablaufdiagramm eines Verfahrens 2500 zur Durchführung einer Wellenformverbreitung während der Durchführung einer Laufzeitanalyse an einer physischen Netzliste gemäß einigen Ausführungsformen. Verglichen mit dem Verfahren 1450 in 14 und dem Verfahren 1650 in 16 verwendet das Verfahren 2500 nur die Eingangsübergangskenndaten zur Identifizierung eines entsprechenden Eintrags zum Generieren einer Ausgangsantwort der Zelle. Nach der Erstellung der Laufzeitbibliothek der Zelle am Verbindungspunkt 2210, wird das Verfahren 2500 unter Verwendung der Laufzeitbibliothek durchgeführt. In einigen Ausführungsformen wird das Verfahren 2500 an der physischen Überprüfungs- und elektrischen Abzeichnungsstufe 162 in 1 durchgeführt. In einigen Ausführungsformen wird das Verfahren 2500 durch das Laufzeitanalysewerkzeug 25 in 2 durchgeführt. In Operation 2502 wird eine Laufzeitanalyse an der physischen Netzliste so durchgeführt, dass eine verbreitete Eingangswellenform zu einem Eingang der Zelle erhalten wird. Die Operation 2502 ist ähnlich der Operation 1452 in 14 und wird hier unterlassen. In Operation 2504 werden Eingangsübergangskenndaten der verbreiteten Eingangswellenform zur Identifizierung eines Eintrags verwendet, der mit den Eingangsübergangskenndaten in der Laufzeitbibliothek verknüpft ist, um eine Ausgangsantwort der Zelle zu generieren. Die Operation 2504 ist den Operationen 1454 und 1456 in 14 ähnlich, mit der Ausnahme, dass der Eintrag, der unter Verwendung der Eingangsübergangskenndaten der verbreiteten Eingangswellenform gefunden wird, direkt zum Generieren der Ausgangsantwort der Zellen- und Wellenformabstimmung verwendet wird, um einen der Einträge unter den Eingangsübergangskenndaten zu identifizieren, der unterlassen wird.
-
In den unter Bezugnahme auf 22 bis 25 beschriebenen Ausführungsformen ist die Zelle in Bezug auf Eingangswellenformen mit den mittleren Tail-Kenndaten vollständig charakterisiert, die für die Tail-Kenndaten der verschiedenen Eingangswellenformen repräsentativ sind, die unter Verwendung der verschiedenen Schaltungstopologien des Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, konstruiert sind. Durch Annahme der mittleren Tail-Kenndaten zum Konstruieren der Eingangswellenform zur Charakterisierung der Zelle wird eine Verzerrung in der verbreiteten Eingangswellenform in Bezug auf die Eingangswellenform, die zur Charakterisierung der Zelle verwendet wird, mit höherer Wahrscheinlichkeit verringert. Daher ist die Ausgangsantwort der Zelle, die unter Verwendung des Modells generiert wird, das unter Verwendung der Eingangswellenform charakterisiert wird, mit größerer Wahrscheinlichkeit der verzerrten verbreiteten Eingangswellenform ähnlich und ist mit größerer Wahrscheinlichkeit genauer.
-
26 ist ein Blockdiagramm eines Hardware-Systems 2600 zur Implementierung der Software-System-Ausführungsformen, die unter Bezugnahme auf 2 beschrieben sind, und Verfahrensausführungsformen, die unter Bezugnahme auf 3 bis 25 beschrieben sind, gemäß einigen Ausführungsformen. Das System 2600 enthält mindestens einen Prozessor 2602, eine Netzschnittstelle 2604, eine Eingabe- und Ausgabe-(I(O-)Vorrichtung 2606, einen Speicher 2608, einen Arbeitsspeicher 2612 und einen Bus 2610. Der Bus 2612 koppelt die Netzschnittstelle 2604, die Eingabe- und Ausgabe-(I(O-)Vorrichtung 2606, den Speicher 2608 und den Arbeitsspeicher 2612 an den Prozessor 2602.
-
In einigen Ausführungsformen umfasst der Arbeitsspeicher 2612 einen Direktzugriffsspeicher (RAM) und/oder eine andere flüchtige Speichervorrichtung und/oder einen Nur-Lese-Speicher (ROM) und/oder eine andere nicht flüchtige Speichervorrichtung. Der Arbeitsspeicher 2612 enthält ein Kernel 26124 und einen Anwenderraum 26122, der zum Speichern von Programmanweisungen, die von dem Prozessor 2602 ausgeführt werden, und von Daten, auf die die Programmanweisungen zugreifen, konfiguriert ist.
-
In einigen Ausführungsformen ist die Netzschnittstelle 2604 für einen Fernzugriff durch ein Netz auf Programmanweisungen und Daten, auf die die gespeicherten Programmanweisungen zugreifen, konfiguriert. Die I/O-Vorrichtung 2606 enthält eine Eingabevorrichtung und eine Ausgabevorrichtung, die zur Freigabe einer Anwenderinteraktion mit dem System 2600 konfiguriert ist. Die Eingabevorrichtung umfasst zum Beispiel eine Tastatur, eine Maus usw. Die Ausgabevorrichtung umfasst zum Beispiel eine Anzeige, einen Drucker usw. Die Speichervorrichtung 2608 ist zum Speichern von Programmanweisungen und Daten, auf die die Programmanweisungen zugreifen, konfiguriert. Die Speichervorrichtung 2608 umfasst zum Beispiel eine Magnetplatte und eine Bildplatte.
-
In einigen Ausführungsformen ist bei Ausführung der Programmanweisungen der Prozessor 2602 als das Software-System 2 konfiguriert, das unter Bezugnahme auf 2 beschrieben ist, oder zur Durchführung von Verfahren konfiguriert, die unter Bezugnahme auf 3 bis 25 beschrieben sind.
-
In einigen Ausführungsformen sind die Programmanweisungen in einem nicht transitorischen computerlesbaren Aufzeichnungsmedium, wie in einer oder mehreren Bildplatte(n), Festplatte(n) und nicht flüchtigen Arbeitsspeichervorrichtung(en) gespeichert.
-
In einigen Ausführungsformen ist in einem Verfahren, das von mindestens einem Prozessor durchgeführt wird, eine Zelle durch den mindestens einen Prozessor in Bezug auf Eingangsübergangskenndaten unter Berücksichtigung verschiedener Schaltungstopologien eines Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, charakterisiert.
-
In einigen Ausführungsformen enthält ein System mindestens einen Prozessor und mindestens einen Arbeitsspeicher. Der mindestens eine Prozessor ist zur Ausführung von Programmanweisungen konfiguriert, die den mindestens einen Prozessor als ein Bibliothekserstellungswerkzeug konfigurieren. Das Bibliothekserstellungswerkzeug ist zur Charakterisierung einer Zelle in Bezug auf Eingangsübergangskenndaten unter Berücksichtigung verschiedener Schaltungstopologien eines Prä-Treibers, der die Zelle antreibt, die zu denselben Eingangsübergangskenndaten führen, konfiguriert. Der mindestens eine Arbeitsspeicher ist zum Speichern der Programmanweisungen konfiguriert.
-
Die vorangehende Beschreibung enthält beispielhafte Operationen, aber diese Operationen müssen nicht unbedingt in der dargestellten Reihenfolge ausgeführt werden. Es können Operationen nach Bedarf in Übereinstimmung mit dem Wesen und Schutzumfang der vorliegenden Offenbarung hinzugefügt, ersetzt, in einer anderen Reihenfolge ausgeführt und/oder eliminiert werden. Daher sollte der Schutzumfang der Offenbarung unter Bezugnahme auf die folgenden Ansprüche gemeinsam mit dem vollen Schutzumfang von Äquivalenzen bestimmt werden, zu welchen solche Ansprüche berechtigt sind.