-
Die
Erfindung betrifft Simulationsverfahren mit den Merkmalen der Ansprüche 1, 2
oder Simulationsvorrichtungen mit den Merkmalen der Ansprüche 28,
29 oder 30.
-
Halbleiter-Bauteile,
wie z. B. Mikroprozessoren oder Speicherchips, weisen heute eine
Vielzahl von Elementen auf, die die Funktionalität des Halbleiter-Bauteils beeinflussen
oder bestimmen. Speicherbausteine weisen solche Elemente z. B. in
Form von bewusst entworfenen (designten) Bauelementen oder auch
parasitären
Elementen im Layout auf. Im Betrieb dieser Halbleiter-Bauteile ist
es notwendig, dass zwischen diesen aktiven und/oder passiven Elementen
Signale ausgetauscht werden.
-
Da
die Anforderungen an die Spannungs- und/oder Stromversorgung u.
a. von dem Verbrauchsverhalten der einzelnen Elemente abhängt, ist
es sinnvoll, das elektrische Verhalten, d. h. das Spannungs- und/oder
Stromsignalverhalten der Elemente dynamisch zu simulieren.
-
Es
soll ein Simulationsverfahren und eine Simulationsvorrichtung geschaffen
werden, die das dynamische Verhalten in effizienter Weise simulieren.
-
Verschiedene
Ausführungsformen
werden in Zusammenhang mit den Figuren beispielhaft beschrieben.
Dabei zeigt
-
1 eine
schematische Darstellung einer Ausführungsform des Simulationsverfahrens
und des Simulators;
-
2 ein
Flussdiagramm einer Ausführungsform
des Simulationsverfahrens für
eine Signalnetzsimulation;
-
3 eine
Darstellung eines Simulationsergebnisses mit einem Integrationsintervall
von 0,05 ns;
-
4 eine
Darstellung eines Simulationsergebnisses mit einem Integrationsintervall
von 0,25 ns;
-
5 eine
Darstellung eines Simulationsergebnisses mit einem Integrationsintervall
von 1,0 ns;
-
6 ein
Flussdiagramm einer Ausführungsform
des Simulationsverfahrens mit einer Kombination einer Signalnetz-
und Versorgungssystemsimulation;
-
7 ein
Flussdiagramm einer Ausführungsform
nur mit einer Teilmengenbildung für Elemente;
-
8 ein
Flussdiagramm einer Ausführungsform
nur mit einer Reduktion der Integration.
-
In 1 wird
in schematischer Weise das Modell eines Halbleiter-Bauteils 1 dargestellt,
das Teil einer Simulatorvorrichtung 100 ist. Beispiele
für Halbleiter-Bauteile sind Mikroprozessoren,
Speicherchips, insbesondere DRAM-Chips oder Flashspeicherchips und
optoelektronische Bauteile.
-
Als
Eingangsdaten 10 für
das Modell 1 fungieren hier Spannungs- und/oder Stromsignale,
d. h. Signale, die insbesondere zeitlich veränderbar sein können, es
aber nicht müssen.
-
Die
Funktionalität
des Halbleiter-Bauteils und dessen Modells 1 wird durch
die Elemente 21, 22 beeinflusst oder bestimmt,
aus denen das Halbleiter-Bauteil 1 zumindest teilweise
aufgebaut ist. Zu diesen funktionsbestimmenden Elementen 21, 22 können z.
B. Kontakte, statische Verbraucher, Widerstände, Transistoren, Kapazitäten, Dioden
und/oder Gatter gehören.
-
Dazu
gehören
auch z. B. parasitäre
Elemente 21, 22 im Halbleiter-Bauteil 1.
Parasitäre
Elemente 21, 22 sind z. B. parasitäre Widerstände oder
parasitäre
Kapazitäten,
wie z. B. Koppelkapazitäten
zwischen Metallbahnen.
-
Elemente 21, 22 können z.
B. alle Funktionen sein, die durch ein übliches Simulatorsystem wie
z. B. SPICE abbildbar sind.
-
Das
Modell 1 weist mathematische Beziehungen in an sich bekannter
Weise auf, mit denen sich das Verhalten der Elemente 21, 22 unter
verschiedenen Eingangsdaten 10 berechnen lässt. So
kann das Verhalten des Halbleiter-Bauteils 1 unter verschiedenen
Lastannahmen untersucht werden, um z. B. den Stromverbrauch an unterschiedlichen
Stellen des Halbleiter-Bauteils 1 ermitteln.
-
Als
Ausgangsdaten 11 des Modells des Halbleiter-Bauteils 1 erhält man dann
z. B. zeitabhängige Spannungsdaten
der Form U(r,t) = U0 – I(r,t,U(r,t)) z(r). Die Eingangsdaten 10 und
die Funktion der Ausgangsdaten 11 sind, wie im Beispiel
erkennbar, bei Halbleiter-Bauteilen 1 mit sehr vielen Elementen 21, 22 vektorwertig.
-
Je
nach Eingangsdaten 10 oder der Art des Halbleiter-Bauteils 1 können auch
andere Signale als Ausgangsdaten 11 erhalten werden.
-
Im
Folgenden wird lediglich beispielhaft das Spannungsverhalten des
Halbleiter-Bauteils 1 unter Berücksichtung eines IR-drops 11 als
Ausgangssignal beschrieben. Elemente (z. B. Transistoren, Widerstände, Kapazitäten, Eigeninduktivitäten, Kopplungsinduktivitäten), insbesondere
auch parasitäre
Elemente 21, 22 im Halbleiter-Bauteil verursachen einen lokalen Spannungsabfall,
der zu der lokalen Spannung U = U0 – ΔU (U0 ist die extern anliegende Spannung) führt. In
vielen Fällen
dominiert der Spannungsabfall auf Grund eines Widerstandes (ΔU = IR),
so dass der Term IR-Drop verwendet wird. Grundsätzlich kann das hier verwendete
Simulationsverfahren und die Simulationsvorrichtung auch den Spannungsabfall
oder Änderungen
des Stromsignals auf Grund anderer Elemente 21, 22,
insbesondere parasitärer
Elemente 21, 22 erfassen.
-
Ein
IR-Drop kann also der Betrag des Sinkens der Leistungsaufnahme durch
(insbesondere parasitäre)
Widerstände
und/oder (insbesondere parasitäre)
Induktivitäten
der Elemente 21, 22 im Halbleiter-Bauteil 1 sein.
-
Bei
der Simulation moderner Halbleiter-Bauteile 1 muss häufig das
Verhalten sehr vieler Elemente 21, 22 untersucht
werden. So können
bei einem Speicher-Bauteil, wie z. B. einem DRAM-Chip, 300.000 designte Elemente (hauptsächlich Transistoren,
aber auch Dioden, Kapazitäten
und Widerstände)
oder mehr zu simulieren sein. Hinzu kommen, noch mehrere Millionen
parasitäre
Elemente, wie z. B. parasitäre
Kapazitäten
und Widerstände.
-
Im
Rahmen der Simulation können
die Verbindungen zwischen den Elementen 21, 22 auch
als Knoten bezeichnet werden. Der Simulationsaufwand ist dabei eine
Funktion der Anzahl der Knoten. Ein Großteil der Elemente 21, 22 bei
einem Speicher-Bauteil 1 sind
parasitäre
Elemente.
-
Es
besteht der Trend, dass immer mehr Speicherzellen in einem Speicher-Bauteil
angeordnet werden. Dadurch wird die Komplexität der Simulation erhöht, da mit
der Anzahl der Speicherzellen auch die Anzahl der zu simulierenden
Transistoren (z. B. 300.000 bis 500.000) in der zentralen Logik
und ca. 500.000 Transistoren in analogen Elementen, wie Sense-Amplifieren,
wachsen. Für
diese große
Zahl an Elementen sind das das Verhalten und die Wechselwirkungen
dieser Elemente 21, 22 zu berechnen.
-
Die
Komplexität
wird weiterhin dadurch erhöht,
dass die Betriebsfrequenz des Halbleiter-Bauteils immer höher wird
(z. B. mehr als 100 MHz) und die Taktzeiten der einzelnen Elemente 21, 22 damit
immer kürzer wird
(z. B. kleiner als 10 Pico-Sekunden). Die Elemente 21, 22 des
Halbleiter-Bauteils 1 können
dabei analoges Verhalten aufweisen (z. B. ein Widerstand oder ein
Transistor) oder ein digitales Verhalten (z. B. ein Gatter), so
dass die Ausgangsdaten 11 häufig ein hybrides Verhalten,
d. h. ein analog-digitales Verhalten aufweisen. Für die Simulation
bedeutet dies, dass häufige
Reinitialisierungen auf der Skala der Pico-Sekunden notwendig sind,
wenn man das Verhalten im Zeitraum einer Nanosekunde untersuchen
will.
-
Die
Simulation kann auf einem Rechner oder einem vernetzten Rechnerverbund
stattfinden, wobei eine Simulatorvorrichtung 100 das Modell
des Halbleiter-Bauteils 1 aufweist. Die Simulatorvorrichtung 100 umfasst
aber auch Mittel zur Darstellung und/oder Erfassung der Ausgangsdaten 11 und
ggf. Mittel zur Weiterverwendung der Ausgangsdaten 11.
-
Im
Folgenden werden auch anhand 2 eine Ausführungsform
eines Simulationsverfahrens und einer Simulationsvorrichtung 100 dargestellt,
mit denen solche Simulationen in effizienter Weise durchführbar sind.
-
In
einem Vorbereitungsschritt (erster Verfahrensschritt 101)
der Simulation liegt in dieser Ausführungsform ein Datensatz enthaltend
die Daten aller Elemente 21, 22 des Halbleiter-Bauteils 1.
Das Stromversorgungsnetz kann hier ideal angenommen werden. Der
Knoten Vextern (d. h. das externe Spannungsnetz)
wird hier mit 1.5 V konstant angenommen. Die Annahme einer idealen
Stromversorgung ist dabei sinnvoll da nur mittels Fast-Spice-Simulatoren
eine Simulation in einem akzeptablen Zeitrahmen von Stunden bis
Tagen erfolgen kann. Dabei nutzen diese Simulatoren die Idealität der Versorgungsnetze
um das Problem in unabhängige
Untermatrixen zu partitionieren. Ohne diese Partitionierung, also
mit einem nicht ideal angenommen Versorgungsnetzwerk, benötigen solche
Simulationen Monate selbst auf der schnellsten verfügbaren Hardware.
-
Für ein typisches
Speicher-Bauteil können
ca. 106 Transistoren angenommen werden,
die mit der Spannungsversorgung (hier die ideal angenommene Spannungsversorgung
Vextern) verbunden sind. Grundsätzlich könnte eine
Simulation erfolgen, allerdings müsste dann für jeden der 106 Transistoren
ein Strom berechnet werden, was zusammen mit den notwendigen Zeitschritten
eine sehr große
Datenmenge ergeben würde.
-
Wenn
man das Verhalten für
500 ns mit einer Genauigkeit von 1 ps simulieren will, würde man
als Ausgangsdaten 12 eine Datenmatrix mit 106 × 105 Matrixelementen erhalten.
-
Zur
Verbesserung der Effizienz wird im zweiten Verfahrensschritt 102 eine
Reduktion der Matrixdimension vorgenommen, in dem mindestens eine
Teilmenge der Elemente 21, 22 nach einem vorgewählten Kriterium
automatisch ausgewählt
wird, wobei die einige Elemente 22 dieser Teilmenge zu
Gruppen zusammengefasst werden und jeweils durch Ersatzmodelle 25', 25'', 25''' (siehe 1)
zusammengefasst werden. Grundsätzlich
können
Elemente gleicher oder unterschiedlicher Art zu Ersatzmodellen 25', 25'', 25''' zusammengefasst
werden.
-
In 1 ist
eine Teilmenge durch die Bereiche mit einer gestrichelten Linie
angedeutet, so dass die ersten Elemente 21 nicht zur Teilmenge
gehören,
die zweiten Elemente 22 gehören zur Teilmenge.
-
Grundsätzlich ist
es möglich,
dass die Teilmenge sehr viele Bereiche (Ersatzmodelle, Kacheln)
im Layout aufweist. In 1 ist dargestellt, dass Ersatzmodelle 25', 25'', 25''' jeweils vier
Elemente zusammenfassen, wobei diese Darstellung eine graphische
Vereinfachung darstellt. Grundsätzlich
könnten
die Ersatzmodelle 25', 25'', 25''' untereinander
unterschiedlich sein und auch unterschiedliche Zahlen von Elementen 22 zusammenfassen.
-
Somit
werden grundsätzlich
auch 106 Transistoren betracht, nur werden
diese zu der mindestens einen Teilmenge zusammengefasst und durch
Ersatzmodelle 25', 25'', 25''' abgebildet.
Ein möglicher
Wert für die
Zusammenfassung von z. B. Transistoren im Layout besteht z. B. in
der Einführung
von 1000 Ersatzmodellen 25, d. h. jedes Ersatzmodell 25', 25'', 25''' würde ca.
1000 Transistoren umfassen. Die Ersatzmodelle 25', 25'', 25''' können hier
auch als Kacheln (Tiles) bezeichnet werden, die eine bestimmte Anzahl
von Elementen abdecken.
-
Die
einzelnen Ersatzmodelle 25', 25'', 25''' (z. B. n Ersatzmodelle)
werden dann für
die Simulation jeweils an neue ideale Spannungsversorgungen Vextern_n angeschlossen. Die Simulationsvorrichtung
berechnet dann jeweils einen einzigen Strom für alle Transistoren des jeweiligen
Ersatzmodells 25', 25'', 25''' Somit wird nur
mit diesen Ersatzmodellen 25', 25'', 25''' eine Simulation
durchgeführt.
Die Reduktion der Anzahl der Elemente 21, 22,
auch als Tiling bezeichnet kann über
das Layout des Halbleiter-Bauteils 1 definiert werden.
Bestimmte Blöcke
von Elementen 22 (z. B. 1000 Transistoren) im Layout werden
dabei z. B. durch Ersatzmodelle wiedergegeben 25', 25'', 25''' (d. h. eine
Teilmenge/Kachel/Tile wird durch ein Ersatzmodell wiedergegeben).
-
Dieses
reduzierte Modell wird dann einer Simulation mit einer idealisierten
Spannungsversorgung Vextern unterworfen
(ergänzter
zweiter Verfahrensschritt 102A).
-
Im
Detail funktioniert dies dadurch, dass alle analogen und digitalen
Anteile aus dem Layout extrahiert werden und dann "backannotiert" werden. Dabei wird
die Netzliste so umgewandelt, dass sie nachher Hierarchie und Namen
aus dem Schaltbild hat. Dabei müssen
vor allem die Koordinaten der Stromverbraucher aus dem Layout extrahiert
werden müssen.
-
Es
ist realistisch, dass man durch vorgegebene Kriterien zum Tiling
eine Reduktion der Elemente 21, 22 z. B. um den
Faktor 1000 erreichen kann, bei akzeptablem Einfluss auf die Genauigkeit
des Modells. Nach der Reduktion der Elemente 21, 22 durch
die Ersatzmodelle 25', 25'', 25''' hätte die
Matrix 103 × 105 Matrixelemente.
Da die Zeitdaten asynchron sind, sind aber immer noch 105 Zeitschritte für die Simulation des Versorgungsnetzwerkes
notwendig.
-
Im
dritten Verfahrenschritt 103 wird eine Simulation unter
Verwendung der Ersatzmodelle 25', 25'', 25''' durchgeführt, wobei
die Simulation eine Integration des zeitlichen Verhaltens der elektrischen
Signale umfasst. Dabei erfolgt eine automatische Berechnung von
Spannungs- und/oder Stromsignalen für die der Elemente 21, 22 für einen
ersten und einen zweiten Zeitpunkt.
-
Das
Integrationsintervall, d. h. das Zeitintervall zwischen dem ersten
Zeitpunkt und dem zweiten Zeitpunkt, wird dabei so gewählt, dass
es größer ist
als die minimale Schaltzeit im zu untersuchenden Halbleiter-Bauteil 1.
Als minimale Schaltzeit wird z. B. der kleinste Zeitraum verstanden,
bei dem sich die Spannungs- und/oder Stromdaten des schnellsten
Elementes 21, 22 verändern.
-
Eine
alternative Definition ist, dass die minimale Schaltzeit durch die
Zeitkonstante des schnellsten Elementes 21, 22 gegeben
ist. Eine weitere Möglichkeit
einer Definition beruht auf der Taktrate für das Halbleiter-Bauteil 1.
Demnach kann die minimale Schaltzeit als Kehrwert des Bruchteils
der Taktrate angeben werden. Beispiele für diesen Bruchteil können die
Hälfte
bis ein Zehntel sein. Die minimale Schaltzeit wird für die Simulation
festgelegt, wobei grundsätzlich
die Wahlmöglichkeit
der Definition besteht.
-
Für die Simulation
kann es ein Eingangsparameter sein, um welches Vielfache der minimalen
Schaltzeit die Integration durchgeführt werden kann.
-
Im
vorliegenden Fall ist die minimale Schaltzeit in der Größenordnung
von 1 ps. Durch Vergrößerung der
Zeitintervalle um z. B. den Faktor 100 wird die Matrix im vorliegenden
Beispiel von 103 × 105 Matrixelemente
auf 103 × 103 reduziert.
Damit geht eine Synchronisierung einher, damit die Simulation nicht
so häufig
neu initialisiert werden muss. Wenn sich z. B. wenige Ströme jede
Picosekunde irgendwo ändern,
muss der Simulator jede Picosekunde neu initialisiert werden. Wenn
sich die Ströme
für alle
Ersatzmodell 25 (Kacheln/Tiles) gleichzeitig alle 100 ps ändern würden, wobei
die effektive Leistung der Teilmenge repräsentiert durch die Ersatzmodelle 25', 25'', 25''' erhalten bleibt,
muss der Simulator nur alle 100 ps neu initialisieren.
-
Durch
die Kombination des Tiling mit (Verfahrensschritt 102)
der Wahl des Integrationsintervalls (Verfahrensschritt 103)
kann eine erhebliche Reduktion des Simulationsaufwandes erreicht
werden.
-
Grundsätzlich ist
es auch möglich,
eine Reduktion des Rechenaufwandes durch Verwendung des Verfahrensschritte 102 alleine
oder eine Verwendung des Verfahrensschritte 103 alleine
zu erreichen. Darauf wird weiter unten noch eingegangen (7 und 8).
-
In
jedem Fall kann die Integration des Zeitintervalls durch die Simulationsvorrichtung 100 (mittels
des dritten Verfahrensschrittes 103) dabei exakt oder approximativ
durchgeführt
werden. Eine exakte Integration ist möglich, wenn der Verlauf der
Spannungs- und/oder Stromsignale im Integrationsintervall linear
ist, d. h. es erfolgt die Integration eines Trapezes im Zeitintervall.
Alternativ kann eine approximative Integration durch ein an sich
bekanntes numerisches Verfahren durchgeführt werden. Je nach der gestellten
Integrationsaufgabe können
die Integrationsmethoden auch in Kombination verwendet werden.
-
Da
für die
Berechnung der Leistungsaufnahme, die für die Untersuchung des IR-Drops
relevant ist, die Fläche
unterhalb des Stromsignals maßgeblich
ist, ergibt sich bei der oben beschriebenen Integration mit den vergrößerten Zeitintervallen
eine Mittelung der Spannungswerte, die aber keinen Einfluss auf
das generelle Verhalten der IR-Drops hat.
-
In
den 3 bis 5 wird anhand eines Testfalls
die Wirkung einer Ausführungsform
des Simulationsverfahrens und der Simulationsvorrichtung dargestellt.
-
Der
Testfall bezieht sich auf ein Halbleiter-Bauteil, nämlich einen
Speicherchip mit ca. 500.000 Transistoren als designten Elementen,
die für
einen Zeitraum von 550 ns simuliert werden sollen. Die Simulation verwendete
ca. 1000 Ersatzmodelle 25 (auch Kacheln oder Tiles genannt).
Die Simulation enthielt 2 Millionen Widerstände für das verwendete Versorgungsnetz.
Die Taktrate beträgt
400 MHz, die minimale Schaltzeit beträgt ca. 50 ps.
-
In
den 3 bis 5 ist der zeitabhängige Verlauf
eines Spannungssignals dargestellt. In 3 beträgt die minimale
Schaltzeit 0,05 ns, so dass auch kleinste Schwankungen des Spannungssignals
erkennbar sind.
-
In 4 ist
das Ergebnis einer Simulation dargestellt, bei der die Abtastrate
auf 0,25 ns erhöht
wurde, was zu einer gewissen Glättung
führte,
ohne dass die wesentliche Aussage des Signals verfälscht wurde.
In 5 ist das Signal mit einer Abtastrate von 1 ns
dargestellt, was zu einer weiteren Glättung führt.
-
Mit
der dargestellten Ausführungsform
des Simulationsverfahrens liegt ein relevantes Ergebnis vor, nämlich Ausgangsdaten 12,
die das wesentliche dynamische Strom- und Spannungsverhalten abbilden.
-
Nach
Ausführung
der Integration im dritten Verfahrensschritt 103 wird ein
Stoppkriterium 104 (z. B. eine voreingestellte Simulationsdauer)
geprüft.
Dabei ist es auch möglich,
dass nur Spannungs- und/oder Stromsignale angezeigt und/oder gespeichert
werden, die ein vorbestimmtes Kriterium erfüllen. Das Kriterium kann einen
absoluten Wert des Signals (z. B. einen Mittelwert) oder auch die
Signalform betreffen. Ein Beispiel für ein solches Kriterium kann
ein Schwellenwert sein, wobei nur Signale automatisch gekennzeichnet und/oder
gespeichert werden, die unterhalb oder oberhalb des Schwellenwertes
liegen.
-
In
Abhängigkeit
von der Prüfung
des Stoppkriteriums 104 wird dann automatisch entschieden,
ob die Simulation mit einem Speicherschritt 105 (dem fünften Verfahrensschritt)
beendet wird, oder eine Fortsetzung mit einer Feedbackschleife zu
dem Verfahrensschritt 102 erfolgt.
-
Teil
des Simulationsverfahrens ist eine automatische Speicherung und/oder
Anzeige des dynamischen Verhaltens der Spannungs- und/oder Stromsignale.
Diese Speicherung und/oder Darstellung kann fortlaufend und/oder
am Ende der Simulation erfolgen. In 2 ist die
Ausführungsform
dargestellt, dass die Simulationsergebnisse im fünften Verfahrensschritt 105 gespeichert
werden.
-
In 2 ist
eine optionale Feedbackschleife in einer gestrichelten Linie dargestellt.
Die Ergebnisse der reduzierten Simulation des Verfahrensschrittes 103 werden
als Eingangsdaten für
den Verfahrensschritt 102A verwendet, der oben beschrieben
ist. Dies wird als Re-Simulation bezeichnet.
-
In
den zuvor beschriebenen Ausführungsformen
wurde eine Signal-Netz-Netzliste verwendet, um Ströme pro Ersatzmodell 25', 25'', 25''' (Kachel/Tile)
zu berechnen (Verfahrensschritt 102). Dies ist der Input (oder
auch die Stimuli) für
den Verfahrensschritt 103 der einzelnen (oder auch über Buffer
verbundenen mehreren) Stromversorgungsnetze.
-
Dies
erfolgt dadurch, dass im Versorgungsnetz entsprechende Widerstände definiert
werden, an die dann die entsprechenden Ströme aus dem Ersatzmodell 25', 25'', 25''' (Kachel) angehängt werden.
Dabei können
Widerständen
im Ersatzmodell 25', 25'', 25''' nach einem
geeigneten Kriterium gewählt
werden, z. B. die in einer möglichst
hohen Metalllage und/oder im Zentrum der Kachel angeordnet sind.
-
Dabei
berechnete IR-Drops (zeitlich veränderliche U(t)) kann man wie
bereits oben beschrieben anschauen, abspeichern etc. und/oder als
Input für
eine Re-Simulation (Verfahrensschritt 105 in 6)
verwenden, um den Effekt der IR-Drops (also der nun zeitlich veränderlichen
lokalen Versorgungsspannungen) auf das Timing der Signal-Netze zu überprüfen.
-
Für diese
Re-Simulation werden die 0 Ohm-Spannungsquellen, die die idealen
Spannungen Vextern n mit der eigentlichen
externen Spannung Vextern in der in Blöcke unterteiltem
Netzliste verbanden und die zur Messung der zeitabhängigen Ströme pro Block
dienten, durch die Ergebnisse der dynamischen IR-Drop-Analyse ersetzt.
Bei einem simulierten Speicherchip hängen die Transistoren jetzt
in jedem Block an den zeitabhängigen
Spannungen und bei Wiederholung der Simulation mit identischen Mustern
kann jetzt der Einfluss der zeitabhängigen Spannungen auf das Zeitverhalten
der Signalnetze ermittelt werden.
-
Natürlich ist
eine Iteration dieses Verfahrens möglich da nun die Ströme pro Kachel
unter Einfluss der zeitabhängigen
lokalen Versorgungen gemessen werden können und danach wieder als
Input für
den Verfahrensschritt 103 dienen können. Dies ist aber nur notwendig
wenn das Timing der Signal-Netze bei Re-Simulation durch die lokalen
zeitabhängigen
Spannungen ein Versagen des Designs zeigt.
-
Hintergrund
ist, dass bei Durchführung
der Simulation 102 mit idealer Versorgung Vextern grundsätzlich die
größten möglichen
Ströme
pro Kachel gemessen werden (da die Stromverbraucher an der idealen,
vollen Versorgung hängen)
und in Folge auch die größten möglichen
IR-Drops in Simulation 103 berechnet und in der Re-Simulation
verwendet werden. Dies ist also mit Sicherheit der Worst-Case. Zeigt
die Re-Simulation keine Probleme bei den Timings der Signal-Netze
ist die Funktionalität
des Designs gewährleistet.
-
Im
Falle von Timing-Verletzungen bei Re-Simulation kann die Ursache
ein reales Problem im Design sein, das zu reparieren ist. Alternativ
kann aber auch der IR-Drop einfach überschätzt worden sein da er über Ströme berechnet
wurde, die unter der Annahme einer idealen Versorgung berechnet
wurden. In diesem Fall empfiehlt sich die Iteration der Verfahrensschritte 102 und 103 bis
ein selbstkonsistenter Fixpunkt der Ergebnisse erreicht wurde, d.
h. die Iteration ist solange durchzuführen bis sich weder die zeitabhängigen Ströme noch
die zeitabhängigen
Spannungen pro Kachel mehr verändern.
-
Bei
dieser Simulation mit einem Feedback kann ermittelt werden, in welcher
Weise sich die berechneten Strom- und/oder Spannungswerte (z. B.
der IR-Drop) verändern,
d. h. ob der IR-Drop steigt oder fällt. In Abhängigkeit von diesem Ergebnis
kann das Vorzeichen der Rückführung verändert werden,
um eine schnellere Findung des Selbstkonsistenzpunktes der gekoppelten
Simulation zu gewährleisten.
-
In 7 ist
eine weitere Ausführungsform
darstellt, die eine Abwandldung der Ausführungsform gemäß 2 darstellt.
Bei der Ausführungsform
gemäß 7 fehlt
der dritte Verfahrensschritt 103, so dass ohne eine Anpassung
des Integrationsintervalls gerechnet wird. In 7 wird
dies als Verfahrensschritt 103' bezeichnet. Die übrigen Ausführungen
zum in Zusammenhang mit 2 dargestellten Ausführungsbeispiel
gelten auch für 7.
-
In 8 ist
eine weitere Ausführungsform
dargestellt, die ebenfalls eine Abwandlung der Ausführungsform
gemäß 2 ist.
Bei der Ausführungsform
gemäß 8 wird
hingegen auf die Verwendung von Ersatzmodellen 25', 25'', 25''' im zweiten
Verfahrensschritt 102 verzichtet. Die übrigen Ausführungen zum in Zusammenhang
mit 2 dargestellten Ausführungsbeispiel gelten auch
für 8.
-
Der
Fachmann erkennt, dass die Ausführungsformen
gemäß 7 oder 8 auch
analog zur der Ausführungsform
gemäß 6 einsetzbar
sind.