Bild 1: Temperaturinversion.

Bild 1: Temperaturinversion.Cadence Design Systems

Das Timing-Signoff ist ein gutes Beispiel dafür, was Innovation in der EDA heute und in Zukunft bedeutet. Vor kurzem hat Cadence seine neue „Tempus-Timing-Signoff-Lösung“, vorgestellt. Obwohl einige Startup-Firmen ebenfalls neue Ansätze zur Lösung einzelner Aspekte des Signoff-Problems entwickelt haben, lassen sich diese aber oft nicht im Implementierungs-Flow der SoC-Entwicklungsteams einsetzen, da sie lediglich Point-Tool-Lösungen sind, welche die übergeordnete Problematik nicht lösen.

Die erhöhten Anforderungen an notwendige Innovationen, und das gilt besonders für fortschrittliche Fertigungstechnologien, haben zur Folge, dass derartige Neuerungen nur von großen Organisationen kommen können, welche die damit verbundenen riesigen Investitionen auch stemmen können. Für den Umstieg von 20 Nanometer (nm) auf 14 nm FinFET werden die dafür erforderlichen EDA-Investitionen auf etwa 1 Mrd. $ geschätzt. Für die Größe unserer Industrie ist dies in der Tat eine bedeutende, aber auch notwendige Investition.

Auf einen Blick

Mit Tempus hat Cadence Design jetzt ein statisches Timing-Analyse- und -Closure-Werkzeug auf dem Markt, das um ein Vielfaches schneller ist als bisherige Lösungen. Es ist in der Lage, Designs mit Hunderten von Millionen an Gattern zu verarbeiten, ohne dass Kompromisse hinsichtlich der Genauigkeit notwendig werden. Neben vielen weiteren neuen Funktionen zeichnet sich die integrierte Signoff-Closure-Umgebung durch eine Multiprocessing-Fähigkeit aus und ist in der Lage, physikalische ECOs zu verarbeiten. Beides trägt dazu bei, dass sich das Design-Closure um Wochen beschleunigen lässt.

Die Physik beeinflusst den Design-Prozess

In den letzten 15 Jahren hat die Physik der Nanometertechnologie den Design-Prozess immer stärker beeinflusst, was auch zu einer Zunahme der Komplexität im Signoff führt. Der Umstieg vom ASIC- zum SoC-Design, der Anfang dieses Jahrtausends begann, hat eine dramatische Veränderung im Hinblick auf die Design-Methodik sowie die Art und Weise wie innovative Design-Technologien auf den Markt gebracht werden, mit sich gebracht.

Vor 15 Jahren war das Signoff digitaler Designs – dank der Verwendung allgemein akzeptierter Vereinfachungen – noch relativ problemlos. Die Gatterlaufzeiten waren deutlich größer als die Verzögerungen durch die Verdrahtung, die somit als praktisch vernachlässigbar betrachtet werden konnten. Das Signoff war im Wesentlichen eine Sache der Timing-Analyse, basierend auf den Ergebnissen des auf Gatterebene eingesetzten „goldenen“ Simulators des ASIC-Anbieters.

Im Laufe der Zeit übernahmen die Design-Teams immer mehr Verantwortung für das Signoff, da die Produktion zunehmend von den ASIC-Anbietern zu den Foundries hin verlagert wurde. Parallel dazu wuchs die Bedeutung von Layout-abhängigen Effekten für die Performance der Designs. Die Gatterlaufzeiten wurden für die kritischen Pfade dagegen immer weniger relevant. Zum wichtigsten zu lösenden Problem wurden stattdessen die Leitungslaufzeiten. Dies machte die Entwicklung einer neuen Generation von Layout-orientierten Tools erforderlich; eine Herausforderung, der sich sowohl die großen, breit aufgestellten EDA-Tool-Anbieter als auch einige Startups stellten.

Startups spielten mit ihren Entwicklungen dabei eine entscheidende Rolle. Sie nutzten die Lücken im Angebot der großen Anbieter und kooperierten sehr eng mit einer kleinen Anzahl an Key-Kunden, die wichtiges Feedback zur Leistungsfähigkeit der Tools anhand realer Designs liefern konnten.

Viele Nanometer-Effekte sind miteinander verknüpft

Eine entscheidende Änderung in den letzten Jahren war die Erkenntnis, dass viele der Nanometer-Effekte, mit denen sich die SoC-Design-Teams beschäftigen müssen, eng miteinander verknüpft sind. Vor zehn Jahren hätte eine Timing-Verletzung auf dem kritischen Pfad noch sehr einfach durch das Einfügen eines Buffers, oder durch die Umplatzierung einiger Gatter gelöst werden können um die Verdrahtungslänge zu verkürzen und damit das Delay zu reduzieren. Eine dafür optimierte Point-Tool-Lösung konnte einfach in einen existenten Design-Flow eingefügt werden können.

Die Analyse wurde meist auf Kapazität (Größe der Designs) anstatt auf Genauigkeit hin optimiert. Mit dem Anstieg der Design-Größen auf mehrere Millionen Gatter war die Laufzeit zum Hauptproblem geworden. Parasitics ließen sich größtenteils abstrahieren, außer für Pfade, die extrem nahe am Timing-Limit liegen. Bei 130 nm zum Beispiel wurde die Koppelkapazität zwischen den Leitungen durch die Masse- und Pin-Kapazitäten überschattet. Für solche Situationen war es im Allgemeinen einfacher und schneller, ein kleines extra Timing-Budget für die Kopplungskapazität zwischen den Leitungen einzuplanen.

Die Anzahl der Timing-Analyse-Läufe war ebenfalls relativ gering. Im Allgemeinen war eine Analyse der Best-Case-, Nominal- und Worst-Case-Szenarien für die drei wichtigsten Parameter ausreichend: Prozess, Spannung und Temperatur. Damit waren alle realistischen Arbeitspunkte des Designs umfassend abgedeckt. Zudem war man auf der sicheren Seite mit der Annahme, dass die schlechteste Performance bei der höchsten Temperatur, der niedrigsten Spannung und den ungünstigsten Prozessparametern auftritt.

Mit ständig kleiner werdenden Prozessgeometrien wurden die ehemals gültigen Annahmen immer weniger anwendbar. Die Koppelkapazitäten zwischen den Metall-Verbindungsleitungen gewannen ab 65 nm mehr Bedeutung, weil der Abstand zwischen den Leitungen kleiner wurde und deshalb, zur Reduzierung der parasitären Widerstände, die Leitungsdicke verkleinert werden musste. Dadurch verhalten sich die Leitungen wie die parallelen Platten eines Kondensators.

Ab 45 nm werden die Schwankungen der Metalldicke zum Problem, was zur Folge hat, dass die Anzahl der notwendigen Simulationen erhöht werden muss, um Best- und Worst-Case-Bedingungen ausreichend abzudecken. Unterhalb 45 nm machen sich die durch Lithographie-Effekte verursachten Schwankungen in Transistor-, Gatter- und Verbindungsstrukturen immer mehr bemerkbar, so dass größere Timing-Budgets eingeplant werden müssen, um die prozessbedingten Schwankungen ausreichend zu berücksichtigen.

Dazu kommen noch eine Anzahl zusätzlicher Effekte, die in Summe dazu beitragen, dass der Aufwand für Signoff-Timing-Closure bei Nanometer-Technologien förmlich explodiert ist. Das grundlegende Problem ist die Wechselwirkung zwischen globalen und lokalen Effekten. Seit einiger Zeit wird darüber hinaus die Vorhersage bezüglich des Verhaltens bei unterschiedlichen Temperaturen immer schwieriger, eine Situation, die auch als „Temperature Inversion Dependence“ bezeichnet wird. Dieses Problem ist auf die Verwendung von niedrigeren Spannungsversorgungen zum Erreichen einer höheren Energie-Effizienz zurückzuführen (Bild 1).

Anstatt schneller, kann eine Schaltung unterhalb eines gewissen Spannungspegels bei niedrigeren Temperaturen auch langsamer arbeiten als bei hohen – dieser Effekt ist abhängig von der Schaltschwelle der Komponenten im betroffenen Pfad. Der Grund dafür ist, dass das Delay eines Logik-Gatters von zwei Effekten bestimmt wird. Bei den in der Vergangenheit verwendeten höheren Spannungen bestimmt die Ladungsbeweglichkeit den Drain-Strom eines aktiven Transistors. Bei geringerer Spannung spielt dagegen die Schaltschwelle eine viel größere Rolle für die Bestimmung des Drain-Stroms. Dies bedeutet, dass alte Annahmen nicht mehr gelten und eine größere Anzahl von Analysen benötigt wird, um zu einem richtigen Ergebnis zu kommen.

Prozess-Schwankungen

Bei Nanometer-Technologien sind die Prozess-Schwankungen sehr viel lokaler, als bei älteren, größeren Technologien. Die Breite der Metallleitungen ist inzwischen so klein, dass der Widerstand des Drahts selbst bei einer kleinen Abweichung stark schwanken kann. Da die Metallisierung und die Base-Layer-Bearbeitung separate Prozesse sind, kann man nicht einfach annehmen, dass sich die Prozessabweichungen sowohl für Base- als auch Metalllagen in die gleiche Richtung bewegen. Deshalb werden bei 45 nm und in einem noch größeren Maße bei 28 nm mehrere Extraktionspunkte für die Analyse und Optimierung des Timings benötigt.

Bild 2: Maskenversatz bei Double Patterning.

Bild 2: Maskenversatz bei Double Patterning. Cadence Design Systems

Double Patterning stellt eine weitere Quelle für Abweichungen in Prozessen unter 28 nm dar. Weil die Double-Patterning-Lithographie zwei Masken pro Layer erforderlich macht, müssen die Masken genau ausgerichtet werden, so dass der Abstand zwischen den Strukturen über den gesamten Chip gleich ist. Obwohl die Foundries diese Effekte zu reduzieren versuchen, wird es immer eine gewisse Phasenverschiebung zwischen den beiden Masken geben. Es wird sich zudem nicht voraussagen lassen, wie groß diese Verschiebung ist. Von daher werden Timing-Views benötigt, welche die Auswirkungen dieser Phasenverschiebung in unterschiedliche Richtungen für jede mögliche Kombination von Temperatur, Spannung und anderen Prozess-Schwankungen darstellen (Bild 2).

Außerdem erhöht der Fokus auf energiesparende Designs die Komplexität des Timing-Signoffs. Designs, die Techniken wie dynamische Frequenz- und Spannungsskalierung verwenden, um die Energieeffizienz zu optimieren, müssen an mehreren Arbeitspunkten analysiert werden, um sicherzustellen, dass Effekte wie die oben beschriebene inverse Temperaturabhängigkeit die Timing-Zuverlässigkeit des Chips nicht negativ beeinflussen. Diese Analysen sollten immer unter gleichzeitiger Berücksichtigung aller anderen möglichen Prozess-Schwankungen durchgeführt werden, wodurch die Anzahl der möglichen Kombinationen geradezu explodiert.

Bereits mit nur acht verschiedenen Betriebsarten sind mehr als 200 Timing-Views zu analysieren. Durch sorgfältige Auswahl und Einschränkung der Kombinationen, Weglassen aller Analysen, die vermutlich keine deutlich abweichenden Ergebnisse liefern, lässt sich die Anzahl verkleinern. Trotzdem muss das Implementierungsteam immer noch eine große Anzahl von Timing-Views erzeugen (Bild 3).

Dieses Problem ist nicht nur auf die neuesten Prozess-Technologien beschränkt. Zunehmend kommen Low-Power-Design-Verfahren auch bei Designs mit älteren Technologien zum Einsatz, und obwohl bei diesen eigentlich weniger Prozess-Schwankungen auftreten, kommt es auch hier immer stärker zu Effekten wie Temperature Dependence Inversion, bedingt durch den Trend, die Versorgungsspannungen zu reduzieren, um Energie einzusparen.

Bild 3: Trend der Analyse-Views (MxC) bei immer kleineren Prozesstechnologien.

Bild 3: Trend der Analyse-Views (MxC) bei immer kleineren Prozesstechnologien. Cadence Design Systems

Die Zeit, die benötigt wird, um die Timing-Views zu erzeugen, ist nur ein kleiner Teil des Problems. Bis zu 40 Prozent der Zeit der Chip-Implementierung wird inzwischen benötigt, um die Ergebnisse der Analysen auszuwerten. Jeder View, der einen Timing-Fehler aufzeigt, macht es erforderlich, dass mit den Ergebnissen der anderen Timing-Views korreliert werden muss. Die Konsolidierung der Daten erfordert Zeit, technisches Verständnis und meist die Erstellung von Skripts, um die Daten zu verarbeiten. Schließlich müssen die notwendigen Änderungen dann noch erfolgreich implementiert werden, um Timing-Closure zu erreichen (Bild 4).

Bild 4: Längere Laufzeiten durch wachsende Anzahl von Views.

Bild 4: Längere Laufzeiten durch wachsende Anzahl von Views.Cadence Design Systems

Netzlisten-Änderung

Heutige Signoff-Timer sind nicht physikalisch-orientiert. Änderungen, wie das Einfügen eines Buffers, erfolgen in der Implementierungsumgebung als ein Nachbearbeitungsschritt zu einer Netzlisten-Änderung (ECO, Engineering Change Order). Oft unterscheidet sich die tatsächliche Platzierung von neuen Zellen deutlich von dem, was die Optimierungsalgorithmen annehmen, da frei verfügbarer Platz in extrem dichten Designs schwer zu finden ist.

Als Folge ergibt sich ein deutlicher Unterschied zwischen den von der Optimierung angenommenen parasitären Werten und dem tatsächlichen Ergebnis nach Implementierung des ECO. Somit können ECOs das Timing von Pfaden beeinflussen, die vor dem ECO bereits timing-clean waren, nach der Implementierung jetzt aber eine Timing-Verletzung aufweisen.

Damit wird klar, dass es nicht möglich ist, mit einer kleinen, inkrementellen Verbesserung der bisher verwendeten Timing-Signoff-Produkte die aktuellen Herausforderungen und Probleme zu adressieren. Die gängige Meinung ist oft, dass ein großer Anteil der Innovationen in High-Tech-Bereichen von Startups kommt. Traditionell arbeiten diese mit einigen wenigen Key-Kunden eng zusammen, um marktreife Lösungen zu entwickeln. Solche Lösungen können sich jedoch nicht immer durchsetzen, da anstatt eng umgrenzter Point-Tool-Lösungen eher eine Technologie-Infrastruktur gefragt ist, welche die verschiedenen Segmente des Implementierungs-Flows umfassend abdeckt. Eine intelligente und hochgenaue Implementierungs-Lösung kann den Aufwand bei einer großen Anzahl an Timing-Views entscheidend reduzieren. Zudem muss eine echte Lösung vielfältige Aspekte im Flow abdecken, was einen ganzheitlichen Ansatz voraussetzt.

Es gibt zahlreiche Akteure im SoC-Ökosystem, die den Anwender mit ihrem Wissen und Feedback bei Design- und Implementierungsproblemen entscheidend unterstützen. Für ein Startup mit nur wenigen Partnern ist es äußerst schwierig, jeden einzelnen so einzubinden, dass im Ergebnis eine optimale Lösung entsteht. Obwohl die Kerntechnologie eines Startups vielleicht viele Stärken hat und für bestimmte Aspekte eine optimierte Unterstützung bietet, kommt es heute immer mehr darauf an, eine möglichst umfassende Lösung anbieten zu können. Hierzu gehören zum Beispiel die Erfahrungen von Foundries und IDMs, die wissen, wie sich Prozess-Schwankungen auf das Timing auswirken. Auch die Anbieter von Bibliotheken tragen ihren Teil dazu bei, wenn es um das Verständnis dafür geht, welche Probleme beim Umstieg auf kleinere Geometrien und durch die Einführung von Technologien wie Double Patterning, entstehen. Und es gibt die Early-Adopter-Kunden, die reale Designs zur Verfügung stellen können, mit denen sich alle Schritte des Design-Flows ausprobieren lassen.

Schließlich sind da noch die Anbieter von EDA-Tools, welche all diese Fakten zusammen bringen und neue Wege zur Verarbeitung der Daten entwickeln. Diese Anbieter müssen den Flow holistisch betrachten und verstehen, welche Schritte die Design-Performance entscheidend beeinflussen. Eine intelligente, hochgenaue Implementierungs-Engine für ECOs ist eine mögliche Lösung für das Problem des Timing-Signoffs. Ein weiterer, möglicherweise effizienterer Ansatz könnte es sein, die Implementierung von Timing-Fixes und ECOs besser in den Timing-Signoff-Prozess zu integrieren und zwar bereits während sie ausgeführt werden. Dies erfordert eine Kombination aus neuer Technologie und tiefem Wissen über die Architektur des gesamten Flows, was nur ein Anbieter mit langjähriger Erfahrung im Bereich der Implementierung bieten kann.