Stromverteilung auf Systems-on-Chips Der rechte Strom am rechten Ort

Beim Schritt zu 65 nm werden zwar die Strukturen kleiner, doch die Dies werden im Wesentlichen gleich groß bleiben wie bei 90-nm-Chips. Damit steht viel mehr Platz zur Verfügung, der mit Sicherheit mit immer mehr Komponenten gefüllt werden wird. Doch wie werden diese mit Strom versorgt?

Stromverteilung auf Systems-on-Chips 

Beim Schritt zu 65 nm werden zwar die Strukturen kleiner, doch die Dies werden im Wesentlichen gleich groß bleiben wie bei 90-nm-Chips. Damit steht viel mehr Platz zur Verfügung, der mit Sicherheit mit immer mehr Komponenten gefüllt werden wird. Doch wie werden diese mit Strom versorgt?

Eines der dringenderen Probleme beim Entwurf  von SoCs (System-on-Chip) sind zeitlich variable Spannungseinbrüche bei der Versorgung einzelner Funktionsblöcke. Diese führen zu mehr oder minder schlimmen Funktionsstörungen, schränken aber auch die Leistungsfähigkeit ein. Demzufolge steigen die Zahl entsprechender Simulationen sowie die auszuwertende Datenmenge, und die dazu nötige Zeit nimmt zu. Nun sind diese Simulationen zwar teuer, doch erlauben nur sie es, strukturelle »Überbleibsel« im Energieverteilungsnetz zu finden, so etwa Verbindungen mit hohen Widerstandswerten, die von der Metallbearbeitung herrühren können. Nachdem solche Artefakte eliminiert sind gilt es, die Simulation zu wiederholen – unnötige Iterationen sind vorprogrammiert.

Ein sinnvoller Ansatz wäre es, das Energieverteilungsnetz bereits vorzuverifizieren und erst danach Spannungseinbruchs- und Elektromigrationssimulationen durchzuführen. Dies kann mit einer Art formaler Verifikation geschehen, bei der sich Assertionen (Aussagen bzw. Annahmen) unabhängig von passenden Testbenches überprüfen lassen.

Spannungseinbrüche mit Konsequenzen

Die On-Chip-Energieverteilung ist selbst bei 130 nm problematisch. Flip-Chip-Gehäuse lindern das Problem, sind aber sehr teuer. Und selbst dieses Packagingverfahren erfordert eine eingehende Analyse des Designs. In Tabelle 1 sind einige Beispiele für Fehlfunktionen aufgeführt, die mit der Energieverteilung zusammenhängen.

Die wichtigsten Fragen, die bei jedem SoC-Entwurf neu beantwortet werden müssen,sind:

  • Sind die Strompins aller Hard-Makros (beispielsweise RAMs) richtig mit dem Stromnetzwerk verbunden?
  • Sind die Strompins aller Standardzellen richtig an das Verteilungsnetz angebunden?
  • Gibt es fehlerhafte Geometrien im Power-Netzwerk?

Moderne Designs nutzen immer mehr Hard-Makros, mehr Standardzellen und mehr Polygone, aus denen sich das Energieverteilungsnetz zusammensetzt, sodass die Fehlerwahrscheinlichkeit zunimmt. Während des Floorplannings kümmern sich die Entwurfsspezialisten und ihre Skripte um die Stromkreise und Netze, lassen Platz für Hard-Makros, nehmen einzelne Segmente des Verteilungsnetzes ab, um Routingkapazitäten offenzuhalten, und greifen, ganz allgemein, tief in die Trickkiste. Alle diese Designänderungen müssen dann wieder gegen die drei obigen Fragen verifiziert werden: Wie lässt sich sicherstellen, dass zwischen zwei physischen Partitionen, die auf der höchsten Abstraktionsebene aneinander grenzen, das Verteilungsnetz tatsächlich ohne offene Verbindungen über die Partitionsgrenzen hinweg läuft? Was passiert, wenn ein anderer beteiligter Designer einen Teil aus dem Verteilungsnetz herausnimmt, um Routingressourcen freizumachen? Fehlen etwa Vias? Sind die Hard-Makros noch richtig verbunden, wenn sich ihre Positionen im Floorplan geändert haben oder die aktualisierte LEF-Datei des IP-Anbieters Änderungen aufweist? Sind nach der letzten Änderung des Floorplans wirklich alle Power-Pins der Hunderte Hard-Makros noch richtig vernetzt? Gibt es da eine Garantie dafür? Hat ein Kollege oder ein fehlerhaftes Skript eine Hauptleitung versetzt oder herausgenommen? Murphys Gesetz ist ein ständiger Begleiter im Entwurfsprozess.

Um diese Fragen zu beantworten, lassen Entwickler Plausibilitätschecks auf Spannungssimulationen laufen, inspizieren die Spannungsschwankungen in Hinblick auf globale Probleme, suchen unklare Bereiche und betrachten die Umgebung der Makros. Wer besonders gründlich vorgeht, führt noch eine du/dx-Analyse der Simulationsergebnisse durch, um so stark lokalisierte Effekte zu finden.

Mit Hilfe der formalen Netzverifikation (Formal Grid Verification) lassen sich diese Fragen jedoch viel früher und ohne derartige Simulationen beantworten.