Suchen

System-on-Chip-Design Emulation ist für die Verifikation moderner SoCs entscheidend

| Redakteur: Holger Heller

Die Halbleiterindustrie macht seit Beginn des neuen Jahrtausends große Fortschritte bei der Prozesstechnik, die sich nun einstelligen Nanometer-Werten nähert, und die Erfindung von FinFET-Prozessen ebnet den Weg in neue Bereiche der Elektronikindustrie, angeführt von mobilen Anwendungen.

Firmen zum Thema

Eric Selosse, General Manager und Vice President der Emulation Devision bei Mentor Graphics: "Hardware-Emulatoren sind die ultimativen Bug-Killer"
Eric Selosse, General Manager und Vice President der Emulation Devision bei Mentor Graphics: "Hardware-Emulatoren sind die ultimativen Bug-Killer"
(Bild: Mentor Graphics )

Das exponentielle Wachstum ist trotz der Verlangsamung des Mooreschen Gesetzes nicht mehr aufzuhalten. Das 1965 formulierte Gesetz besagt, dass sich die Transistoranzahl in einem Chip regelmäßig verdoppelt:

  • die Anzahl der Logiktransistoren stieg auf mehr als eine Drittel Milliarde;
  • die Anzahl der Softwareentwickler erhöhte sich um das 17-fache (beim Übergang von 90- auf 16/14-nm-Technologie);
  • die funktionale Verifikation nimmt immer noch bis zu 70% des Projektzyklus in Anspruch.

All dies belastet die EDA-Industrie und erzwingt die Entwicklung leistungsstärkerer Werkzeuge mit mehr Fähigkeiten und Funktionen. Ein typisches Beispiel ist die Hardware-Emulation. Vor nicht allzu langer Zeit wurde sie kaum als geeignete Lösung für irgendwelche Designherausforderungen berücksichtigt. Falls doch, geschah dies im Rahmen von Grafik- oder Mikroprozessordesigns.

Bildergalerie

Die Softwareunterstützung war rudimentär – insbesondere im Vergleich zu dem was heute verfügbar ist – und eingeschränkt auf die Kompilierung von Register-Transfer-Level- (RTL) Codes für die Emulations-Box. Damals wurden Big-Box-Emulatoren im In-Circuit-Emulations-(ICE-)Modus eingesetzt, verbunden mit langen und unzuverlässigen Kabelbündeln. Hardware-Emulatoren waren schwer zu bedienen und nicht leicht zu skalieren. Sie gestatteten keinen Remote-Zugang, waren teuer in der Anschaffung und noch kostspieliger im Unterhalt.

All dies änderte sich in den letzten Jahren. „Software-Baukästen“ bieten Verifikationsteams standardmäßig eine Vielzahl von Verifikationsmöglichkeiten an, mit Priorität auf Emulationssystemen.

Integrationstests bevor Silizium bereitsteht

Hardware-Emulatoren sind die ultimativen Bug-Killer. Sie können in unterschiedlichen Modi zur Verifikation mehrerer Objekte eingesetzt werden. Einzigartig ist, dass sie nicht nur Hardware- und Embedded-Softwaredesigns verifizieren und debuggen, sondern auch die Integration von Hardware und Software testen können, bevor das Silizium verfügbar ist. Es gibt keine Kabel mehr und es besteht keine Notwendigkeit, die Wartungsmannschaft rund um die Uhr in Alarmbereitschaft zu halten, es sei denn, sie werden im ICE-Modus verwendet.

Um Designs mit mehreren Milliarden Gattern gerecht zu werden, sind Emulatoren skalierbar und – zumindest einige von ihnen – ziemlich zuverlässig. Umfangreiche Support-Software erlaubt nicht nur eine einfache Bedienung, sondern unterstützt auch mehrere simultane Benutzer und Remote-Zugang. Auf einer Pro-Verifikationszyklus-Basis sind sie die günstigste Verifikationslösung auf dem Markt.

Zwischen dem Software-Umfang von früher und heute liegen Welten. Die meisten Funktionen und Fähigkeiten, die in Simulatoren für Hardware-Beschreibungssprachen zu finden sind, gibt es auch in modernen Emulatoren. Dazu gehören Assertions, Monitore, Checker, Leistungsanalysen, Leistungseinschätzungen und in einigen Fällen auch funktionale Coverage-Analysen.

Emulation muss zur globalen Ressource werden

Moderne Emulatoren unterstützen in vier Modi bis zu acht Verifikationsobjekte. Wie in den ursprünglichen Implementierungen in 1990er Jahren arbeiten sie auch noch im ICE-Mode, der transaktionsbasierte Beschleunigungsmodus wird jedoch bevorzugt. Im Transaktionsmodus kann ein Emulator mit einer Testumgebung verbunden werden, die auf einer hohen Abstraktionsebene beschrieben ist, üblicherweise in der Sprache SystemVerilog. Das gestattet den Remote-Zugriff auf den Emulator und ermöglicht die Errichtung eines Emulations-Rechenzentrums als global bereit-gestellte Ressource.

Artikelfiles und Artikellinks

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 43060804)