Über’s Eck gespielt Variationsorientierter IC-Entwurf

Da ICs heute überwiegend per Auftragsfertigung in Halbleiterwerken hergestellt werden, ist die reine Produktionstechnik kein differenzierender Faktor mehr. Vielmehr liegt der Schlüssel heute in einem IC-Entwurfsprozess, um Vorteile bei Performance, Stromverbrauch und Flächenbedarf zu realisieren. Ein besonderes Problem bei kleinen Geometrien sind Variationen im Fabrikationsprozess, die mit Hilfe entsprechender Entwicklungstools jedoch ihren Schrecken verlieren.

Da moderne Schaltungsentwürfe immer weiter in den Submikron-Bereich vordringen, wird es für die Wirtschaftlichkeit umso wichtiger, Variationen wirksam zu bewältigen.

Für die Entwickler bedeutet dies, unter beträchtlichem Zeitdruck verschiedenartige Schwankungen zu bewältigen und Produktionsausbeute mit Leistungsverhalten unter einen Hut zu bringen (Stromverbrauch, Geschwindigkeit, Flächenbedarf, etc.).

Ein Entwicklungsprozess mit entwurfsspezifischen »Corners«, also Rand- beziehungsweise Eckwerten, ermöglicht effektives Behandeln von Variationen, denn die Corners lassen sich schnell simulieren und stellen dennoch korrekt die Grenzwerte des Leistungsverhaltens dar.

Variationen beeinflussen das ganze Spektrum des Entwurfs kundenspezifischer ICs vom Analog-/Mixed-Signal-, HF- und I/O-Bereich bis hin zu Speicher- und Standardzellen-Bibliotheken (Bild 1). Sie führen dazu, dass tatsächliches IC-Arbeitsverhalten und Produktionsausbeute von den Ergebnissen abweichen, die der Entwickler aus Simulationen gewinnt.

Ursachen sind globale und lokale Zufallseffekte, Umgebungseffekte (Spannung, Temperatur, Last, usw.) sowie Layout-abhängige Wirkungen wie Proximity-Effekte. Zunehmend sind Entwickler gezwungen, solche Variationen unter engen Vorgaben hinsichtlich Arbeitsverhalten, Stromverbrauch, Ausbeute und Zeitaufwand zu bewältigen.

Davon ausgehend, dass lokale und globale Prozessvariationen, Umgebungs- und Proximity-Variationen von IC zu IC unterschiedlich ausfallen können, lassen sich die Probleme grob in die Kategorien Corner-Analyse für Prozess/Spannung/Temperatur (PVT), Monte-Carlo-Statistik, Monte-Carlo-Statistik mit hoher Standardabweichung (Sigma) sowie Proximity-Effekte aufgliedern.

Abhängig von der Art des variationsbedingten Entwurfs-problems stehen die Entwickler also vor Problemen mit vielen Facetten. In einigen Fällen mag es ausreichen, das Variationsproblem mit PVT-Corners anzugehen. Dabei werden globale Fast/Slow-Corners herangezogen, um Prozessvariationen zu modellieren. Das kann allerdings schwerfällig sein, und es kann mehrere Tage erfordern, einen umfassenden Satz an PVT-Corners zu analysieren.

Als Abhilfe kann der Entwickler versuchen, abzuschätzen, welche Kombinationen von PVT-Corners »ungünstigste Fälle« sind. Das führt jedoch zu Ungenauigkeiten und vergrößert das Entwurfsrisiko. Um dieses Risiko zu verringern, lassen sich Reserven einkalkulieren, was aber auf Kosten von Leistungsverhalten, Stromverbrauch oder Flächennutzung gehen würde. Außerdem sind PVT-Corners nicht immer die tatsächlichen Worst-Case-Corners, sodass ein genauerer Blick auf Zufallsschwankungen wichtig wird.

Bei vielen Entwurfsproblemen sind Fast/Slow-Corners nicht genau genug, und es sind statistische Modelle der globalen und lokalen Prozessverteilung nötig. Dazu können die Entwickler mit Monte-Carlo-Stichproben arbeiten, aber entsprechende Entwurfsiterationen sind zeitraubend - eher Tage als Stunden -, was es teuer macht, sie in den Entwurfsprozess zu integrieren.

Wie bereits erwähnt, erhöht die alternative Verwendung von PVT-Corners das Entwurfsrisiko. Schaltungen wie Bitzellen, Leseverstärker und Standardzellen-Bibliotheken werden tausend- und millionenfach reproduziert und müssen deshalb eine sehr niedrige Ausfallrate aufweisen. Da wäre es nicht machbar, mit einer großen Monte-Carlo-Stichprobe zu arbeiten, denn im Schnitt wäre eine Milliarde Samples nötig, um auch nur einen Versager zu erhalten.

Alternativ ließe sich eine kleine Monte-Carlo-Stichprobe heranziehen und diese per Dichteschätzung extrapolieren. Das wäre dann allerdings ungenau, weil es keine Daten über die Randbereiche gäbe. Der Entwurf mit Proximity-Effekten erfordert faktisch Kompromisse zwischen kostspieligen Schaltbild- und Layout-Iterationen sowie Überauslegung beziehungsweise überhöhtem Platzbedarf.

Proximity-Effekte zu ignorieren kann zu Totalausfall führen, was teure Iterationen in der Fabrikation sowie Lieferverzögerungen zur Folge hätte. Es wäre denkbar, Proximity-Effekte erst nach Abschluss des Layouts zu messen. Auf diese Weise Konvergenz zu erreichen, ist jedoch zeitraubend, weil langwierige Iterationen des Entwurfs erforderlich sind. Die Entwickler könnten schließlich auch für jedes Bauelement Schutzabstände vorsehen und den massiv erhöhten Flächenbedarf in Kauf nehmen.

Über- und Unterauslegung

Bei der Betrachtung dieser Fragen und der entsprechenden Probleme erscheint ein durchgehendes Muster. Unabhängig von der Art des Variationsproblems stehen die Entwickler vor einem ähnlichen Dilemma: Mit herkömmlichen Ansätzen gehen zeitraubende Entwurfsiterationen einher. Die Alternative heißt, entweder das Risiko entwurfsbedingten Ausfalls einzugehen (Unterauslegung) oder Kompromisse hinsichtlich Leistungsfähigkeit, Stromverbrauch und Flächenbedarf zu schließen (Überauslegung, Bild 2).

Es gibt zwar Methoden, um Variationsproblemen zu begegnen, aber angesichts der Komplexitäten auf Submikron-Ebene lösen herkömmliche Techniken nicht das grundlegende Dilemma. Zwangsläufig bewältigen die Entwickler Variationsprobleme entweder durch Überauslegung, wobei sie beträchtliches ungenutztes Potenzial in Leistung, Stromverbrauch und Flächenbedarf in Kauf nehmen, oder durch Unterauslegung, was jedoch die Produktionsausbeute reduziert. Beides geht in die Kosten ein, indem entweder die Vorteile der Knotenmigration nur unzureichend ausgeschöpft werden oder viel Geld durch funktionsunfähige ICs verloren geht.

Die Frage lautet: Wie lassen sich Entwürfe schnell iterieren und gleichzeitig ein treffsicheres Variationsmodell verwenden, um Über- und Unterauslegung zu vermeiden? Die Antwort liegt im Einsatz von in geeigneter Weise ausgewählten entwurfsspezifischen Corners, also einer repräsentativen Stichprobe, die sich schnell simulieren lässt, dabei aber dennoch auch die Randbereiche der Verhaltensverteilung erfasst.

Der erste Schritt eines solchen Prozesses besteht darin, den Entwurf mit einem Verifikationstool zu prüfen. Ist der Entwurf akzeptabel, dann ist der Prozess abgeschlossen.

Wenn nicht, sind repräsentative Corners zu extrahieren und der Prüfdurchgang für jeden Typ von Variationsproblem - PVT und Monte-Carlo-Analyse oder Monte-Carlo-Analyse mit hohem Sigma - zu wiederholen. Zum Ende des Prozesses lässt sich ein Proximity-Tool einsetzen, um ausreichende Schutzabstände zu berechnen.

Die Abläufe lassen sich für verschiedene Variationsprobleme kombinieren. Beispielsweise würde der Entwickler einen ersten Entwurf heranziehen und lediglich einen einzelnen »Eckwert« herausgreifen, dann einige PVT-Corners hinzufügen und den Entwurf entsprechend modifizieren und schließlich Corners für die Monte-Carlo-Analyse einbeziehen (Bild 3).

Variationsorientierte Tools

Um diese Herausforderung zu bewältigen, benötigen die Entwickler schnelle und genaue Spezialtools für variationsorientiertes Analysieren und Entwerfen, beispielsweise die Entwicklungsplattform »Variation Designer« von Solido. Diese Werkzeuge müssen entsprechend der Entwurfskomplexität skalierbar sein und die von der Halbleiterfoundry bereitgestellten Variationsmodelle vollständig nutzen können.

Variation Designer arbeitet vollständig integriert in den Simulationsumgebungen und Customer-IC-Entwurfsabläufen der führenden EDA-Toolanbieter (Cadence, Synopsys, Mentor, Magma und Berkeley Design) sowie in den Prozessen führender Halbleiterhersteller (TSMC und Global Foundries). Dabei geht das Werkzeug über die reine Analyse der Auswirkungen von Variationen hinaus.

Mit Paketen für die Problemkreise PVT, Monte-Carlo-Statistik, Monte-Carlo-Statistik mit hoher Standardabweichung sowie Proximity-Effekte bietet es auch die Möglichkeit, elektrische »Hot Spots« zu erkennen, die den größten Einfluss auf das Arbeitsverhalten haben, und empfiehlt Entwurfsmodifikationen, um die Spezifikationsvorgaben einzuhalten.

Solido nutzt dazu neue Grundtechniken auf der Basis variationsorientierter Entwurfsmethoden und zwar »Optimal Sampling« und »Design-Specific Corners«. Das Optimal-Sampling umfasst effiziente Algorithmen zur Stichprobennahme, die mit viel weniger Iterationen als die traditionelle PVT-Corner- und Monte-Carlo-Analysen die gleiche Ergebnisgenauigkeit erzielen.

Bei Design-Specific-Corners handelt es sich um eine reduzierte Anzahl repräsentativer Corners, die schnell zwecks genauer Erfassung von Variationsbeschränkungen einschließlich Umgebungs- und Zufallsschwankungen simuliert werden können.

Mit diesen Techniken lassen sich der pro Iteration gewonnene Informationsumfang maximieren und die Anzahl der Simulationen minimieren.

Es sind also keine Kompromisse mehr zwischen Genauigkeit und Schnelligkeit der Ergebnisse erforderlich, wie sie mit traditioneller Variationsanalyse einhergehen.

Dabei können die Entwicklungsteams einen potenziellen Verlust von 15% bis 50% in Leistungsverhalten, Stromaufnahme, Flächenbedarf und Produktionsausbeute zurückgewinnen und variationsorientierte Entwicklungsaufgaben sehr viel schneller ausführen.

All dies ist ohne Störung ihrer bisherigen standardmäßigen Entwicklungsprozesse möglich (Bild 4).

Optimierungsmöglichkeiten

Die Monte-Carlo-Verifikation kann mittels »Optimal Spread Sampling« (Stichprobenerfassung mit optimaler Streuung) und Dichteschätzung ohne Verlust an Genauigkeit eine 1,5- bis 10-fache Beschleunigung gegenüber herkömmlichen Ansätzen bewirken. Bei der Corner-Extraktion mit Monte-Carlo-Statistik erfolgt die Erfassung an Hand von vorherbestimmten Zielgrößen für die Produktionsausbeute unter Nutzung von Dichteschätzung, Antwortflächen-Modellierung und nichtlinearer Programmierung.

Die so gewonnenen Corner sind fünf- bis zehnmal genauer als es mittels »naiver« Monte-Carlo-Analyse möglich ist. Bei Problemen mit hoher Standardabweichung beschleunigen optimierte statistische Verfahren für hohes Sigma den Vorgang um Größenordnungen, ohne an Genauigkeit zu verlieren. Die Ergebnisse eines Optimal-Sampling-Durchlaufs lassen sich nutzen, um entwurfsspezifische Corner als repräsentative Ausfallwerte zu extrahieren, die im weiteren Entwurf Verwendung finden, um die Schaltung zu verbessern.

Bei Proximity-Problemen liegt die Lösung in adaptiven Stichproben, verbunden mit Sensitivitätsanalyse. Indem man Schutzabstände nur dort platziert, wo sie wirklich nötig sind, lässt sich der Flächenbedarf um bis zu 50% reduzieren und Überauslegung vermeiden. Und Unterauslegung lässt sich verhindern, indem die Proximity-Variation schon frühzeitig im Entwicklungsprozess sichtbar gemacht wird.

Über den Autor:

Amit Gupta ist President und CEO von Solido Design Automation.