Fehlersuche in der Chipentwicklung „Hug the Debug“ – bevor es zu spät ist!

Von Sumit Vishwakarma *

Eine der zeitaufwendigsten Aufgaben eines jeden Hardware- oder Software-Ingenieuren ist das Debugging. Dabei kann eine frühzeitige Einführung von robusten Debugging-Methoden viel Arbeit ersparen – wenn dabei aufmerksam und sorgfältig vorgegangen wird.

Anbieter zum Thema

Auch in der Chipentwicklung ist das frühzeitige Entdecken von Bugs essentiell. Leider können hier diverse Fehler begangen werden, die kritische Konsequenzen haben - und vor allem für Hardware- und Softwareingenieure viel Arbeit verursachen.
Auch in der Chipentwicklung ist das frühzeitige Entdecken von Bugs essentiell. Leider können hier diverse Fehler begangen werden, die kritische Konsequenzen haben - und vor allem für Hardware- und Softwareingenieure viel Arbeit verursachen.
(Bild: Clipdealer)

Obwohl der Begriff „Shift-Left“ aus der Softwarebranche stammt, wird seine Bedeutung häufig auch in der Hardwarebranche (Halbleiterindustrie) erkannt, in der die Kosten für Endprodukte (Chips) in die Höhe schießen. Dieser Kostenanstieg ist auf einen weltweiten Mangel an Chips zurückzuführen, insbesondere in der Automobilindustrie. Die Herstellung eines robusten Chips ist ein langer, iterativer Prozess, der viele Verbesserungszyklen erfordern kann. Mit „Shift-Left“ bezeichnet man das frühzeitige Auffinden und Beheben von Fehlern im Entwicklungszyklus, anstatt sie erst während der Implementierung zu entdecken, wo ihre Behebung bis zu 100 Mal teurer ist. Die Nutzung der „Shift-Left“-Methodik bei der Verifizierung kann zu weniger Verbesserungszyklen, zuverlässigeren Produkten, kürzeren Markteinführungszeiten und reduzierten Kosten führen.

Bei dieser Methodik gibt es zwei Teilprozesse, die Fehlersuche und die Fehlerbeseitigung. Die Fehlersuche kostet die Verifikationsingenieure am meisten Zeit.

Bild 1: Egal ob bei ASICs oder in der FPGA-Entwicklung, Debugging ist der Tätigkeitsbereich, mit dem in der Regel die meiste Zeit verbracht wird.
Bild 1: Egal ob bei ASICs oder in der FPGA-Entwicklung, Debugging ist der Tätigkeitsbereich, mit dem in der Regel die meiste Zeit verbracht wird.
(Bild: Wilson Research Group)

Bild 1 zeigt einige aktuelle Angaben der Wilson Research Group, aus denen hervorgeht, womit Ingenieure ihre Zeit verbringen. Die Grafik zeigt, dass Ingenieure den Großteil ihrer Zeit bei der Testplanung, der Testbench-Entwicklung (TB), der Durchführung von Simulationen und beim Debugging verbringen.

Die linke Seite von Bild 1 lässt erkennen, dass ASIC- und Verifikationsingenieure etwa 41 Prozent ihrer Zeit für das Debugging verwenden. Die rechte Seite zeigt, dass die entsprechende Prozentzahl für FPGA-Ingenieure sogar 46 Prozent beträgt. Diese Zusammenstellung von Daten demonstriert, dass Debugging wichtig für den Erfolg eines jeden Projekts ist.

Für die Mixed-Signal-Verifikation ist dieses Szenario noch entscheidender. Kunden, die AMS-Blöcke in ihre digitalen Chips integrieren, verfügen in der Regel über spezialisierte Analogdesignteams, die analoge IP-Blöcke oder IP-Blöcke für Dritte entwickeln. Diese analogen Blöcke werden anhand von Schaltplänen und SPICE entworfen und eigenständig mittels einer Testbench verifiziert. Diese gut spezifizierten Analogblöcke werden dann zur Top-Level-Systemintegration ausgeliefert.

Bild 2: Real Number Modelling
Bild 2: Real Number Modelling
(Bild: Siemens EDA)

Die Systemintegratoren können dann entscheiden, ob sie die analogen IP in ihrer reinen Transistordarstellung verwenden oder je nach ihren Verifikationsanforderungen eine höhere Abstraktion für den jeweiligen Block nutzen. Bei diesen Abstraktionen kann es sich um einfach integrierbare Verilog- oder C-Modelle handeln, die nicht so genau, dafür aber schneller sind. Es könnten aber auch genauere Repräsentationen in Verilog-AMS oder VHDL-AMS verwendet werden, die sich schwieriger in den Entwicklungsablauf integrieren lassen. Das Real Number Modell (RNM) wird zu einem neuen Sweetspot bei der Modellierung analoger Blöcke, weil es einen ausgewogenen Kompromiss zwischen Leistung und Genauigkeit bietet.

Unter Real Number Modeling (RNM) versteht man eine funktionale Modellierung analoger Schaltungen oder ihres Verhaltens im diskreten Zeitbereich. Wie aus Bild 2 ersichtlich, kann ein echtes kontinuierliches Analogsignal näherungsweise durch eine diskrete Schrittantwort repräsentiert werden. Durch die Simulation in einem diskreten Zeitbereich kann das Modell noch innerhalb eines 100-prozentigen digitalen Flusses bleiben. Dies ermöglicht eine äußerst schnelle, ereignisgesteuerte Simulation des Modells, die 10 bis 1.000-mal schneller sein könnte als SPICE. Ferner entfällt die Lösung einer Matrix, die bei der analogen Simulation normal ist. Hinsichtlich der Genauigkeit gibt es jedoch Einschränkungen, da es sich hierbei nur um eine Modellierung der Übertragungsfunktion analoger Signale handelt. Außerdem ist die Modellierung analoger Blöcke im Frequenzbereich viel komplexer.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Bild 3: Logische Verdrahtung im Vergleich zu einer echten Verdrahtung.
Bild 3: Logische Verdrahtung im Vergleich zu einer echten Verdrahtung.
(Bild: Siemens EDA)

Warum also eine Modellierung analoger Signale durch relle Zahlen? Warum verwendet man nicht Digital Verilog oder Register Transfer Level (RTL)? Schließlich werden Top Level SoCs doch im Digitalbereich verifiziert. In SoCs gibt es sowohl analoge als auch digitale Blöcke. Die größte Herausforderung besteht in der Modellierung des Handshakings von Informationen zwischen den beiden unterschiedlichen Bereichen. Auf der Basis von Verilog- bzw. System Verilog-Abstraktionen wird ein Draht als Logic Net (logisches Netz) betrachtet und weist nur drei Zustände (0, 1 und X) auf. Das analoge Funktionsverhalten kann nicht erfasst werden, was zu einem Informationsverlust und letztendlich zu Funktionsausfällen führen könnte. Dies ist in Bild 3 dargestellt, in der eine logische Verdrahtung den tatsächlichen Wert des Signals von Block A nach Block B nicht erfassen kann. Beim Real Number Modeling können reale Drähte (echte Drähte oder Drähte des SV-Netztyps) einen reellen Zahlenwert mit sich führen, der eine Modellierung des korrekten analogen Verhaltens ermöglicht (Fall 2 in Bild 3).

Der Geschwindigkeits- und Genauigkeitsvorteil von RNM-Modellen unterstützt den „Shift-Left“-Prozess – die Verifizierung kann ohne die endgültigen Schaltpläne früher beginnen und die Modelle sind wiederverwendbar. Das RNM-Modell kann auch eine erweiterte Verifikation von Mixed-Signal-Konfigurationen ermöglichen, z. B. bei UPF und UVM. Und da wir uns in einem diskreten Bereich befinden, ist nur ein einziger Simulator – ein digitaler Solver – erforderlich.

Die Modellierung mittels reeller Zahlen ist jedoch mit einigem Mehraufwand verbunden. Erstens müssen die Entwickler das korrekte funktionale Verhalten des analogen Designs und der Modellierung verstehen, was mehr Zeit und zusätzliches Fachwissen erfordert. Zweitens ist eine Überprüfung der Funktionsgleichheit und der Simulationsgenauigkeit des Modells anhand des vorgegebenen Schaltplans erforderlich.

Bild 4: RNM-Methodik.
Bild 4: RNM-Methodik.
(Bild: Siemens EDA)

Die RNM-Methodik ist häufig sehr spontan. Eine gute Methodik erhöht jedoch die Qualität und benötigt weniger Debugging. Die RNM-Methodik beinhaltet folgende drei Hauptaktivitäten: die Modellerstellung bzw. -aktualisierung, die Verifikation des Modells und die Anwendung des Modells. Zum Gesamtablauf gehört auch eine Back-Annotation und Optimierung zur Qualitätsverbesserung der Modelle.

Die Qualität des RNM-Modells zeigt, wie sehr es dem echten Schaltkreisverhalten in SPICE ähnelt. RNM-Simulationen müssen ständig auf ihre funktionale Korrektheit im Vergleich zum Schaltplan überprüft werden. Schließlich muss man sich vor Augen halten, dass ein schlechtes Modell eine noch schlechtere Lösung darstellt als „gar kein Modell“. Dabei geht man so vor, dass man zuerst eine gemeinsame Testbench für Modell und Schaltplan einrichtet, beiden Blöcken denselben Stimulus zuführt, die Simulationen durchführt, die Ergebnisse überprüft und dementsprechend das Modell entweder ändert oder optimiert.

Bild 5: Abgleich des RNM mit dem Schaltplan zur korrekten Funktionswiedergabe.
Bild 5: Abgleich des RNM mit dem Schaltplan zur korrekten Funktionswiedergabe.
(Bild: Siemens EDA)

Selbst bei größter Aufmerksamkeit können sich in das RNM oder den Mixed-Signal-Verifikationsablauf Fehler einschleichen. Diese können auf eine schlechte Codierung, z. B. eine ungültige Zuweisung, zurückzuführen sein. Das kommt recht häufig vor, weil sich die RNM-Methodik und die Standards ständig weiterentwickeln.

Zur Verbindung von RNM-Modulen ist ein klares Verständnis solcher komplexen Konzepte wie SV-Netztypen und SV-Verbindungen erforderlich. Ihre unsachgemäße Anwendung kann zu Funktionsstörungen oder -ausfällen führen. Fehler können auch darauf zurückzuführen sein, dass die Äquivalenz des Modells mit dem entsprechenden SPICE-Gegenstück nicht ordnungsgemäß überprüft wurde, oder was am häufigsten auftritt, einfach auf ein falsches Anwendungsmodell.

Bild 6: Typische Fehler im Rahmen der RNM-Methodik.
Bild 6: Typische Fehler im Rahmen der RNM-Methodik.
(Bild: Siemens EDA)

Ein falsches Anwendungsmodell kommt durch eine Fehlkommunikationen der Interessenvertreter untereinander zustande. In der Regel teilt der Entwickler der analogen Blöcke die Spezifikationen mit den Modellierungsexperten, die dann das Modell erstellen und testen. Sie verwenden möglicherweise eine separate Testbench und haben keinen Zugriff auf die Top-Level-Testbench, so dass Funktionsstörungen aufgrund einer Fehlkommunikation zwischen den Modellierungsexperten und dem Systemintegrator möglich sind.

Wenn beispielsweise die Anschlussreihenfolge eines Blocks vertauscht wird, kann sich bei der Integration dieses Blocks im Top Level ein Fehler einschleichen. Der Modellexperte und der Systemintegrator können jeweils direkt in ihrer eigenen Testbench-Umgebung Recht haben. Doch dieses Szenario führt zu einem Fehler, der eine Funktionsstörung hervorrufen kann.

All diese Szenarien und komplexen Probleme, die an den analogen und digitalen Schnittstellen auftreten, machen das Debugging einer Mixed-Signal-Simulation zu einer äußerst umständlichen und aufwändigen Aufgabe. Jahrzehntelang verließen sich die Verifikationsingenieure auf eine manuelle Verifikation der Signalverläufe und Übertragung des Quellcodes zur Identifikation eines Fehlers in Mixed-Signal-Konfigurationen. Solch ein Ansatz kann folgenschwere Auswirkungen auf den gesamten Verifikationszyklus und die Maskierungspläne haben und letztendlich sogar die Markteinführungszeit verzögern.

Die Visualizer-Debug-Umgebung von Siemens EDA automatisiert das Debugging für digitale Designs und die Verifikation der heutigen komplexen SoCs und FPGAs. Der Visualizer ist nicht nur sehr intuitiv und benutzerfreundlich, sondern verfügt auch über mehrere leistungsfähige Funktionen zur Erhöhung der Debugging-Produktivität für SystemVerilog/UVM, Transaktionsebene, RTL, Gate-Ebene und Low-Power-Designs. Außerdem ist er eng mit Questa™ und der Mixed-Signal-Plattform Symphony integriert. Dadurch bietet er einen umfassenden Bereich an Debugging-Möglichkeiten für RNM- und Mixed-Signal-Konfigurationen, zum Beispiel synchronisierte Ansichten, einheitliche Wellenformen und eine Nachverfolgungskonnektivität. Diese Debugging-Funktionen können die Produktivität des Anwenders um bis zu 50 Prozent steigern, wenn er ein RNM mit einem Mixed-Signal-Verifikationsablauf erstellt.

Der Einsatz des Real Number Modeling trägt definitiv zu einem „Shift-Left“-Trend bei der Verifikation von Mischsignalen bei. Die Verifizierungsteams müssen jedoch über eine robuste RNM-Methodik zur Erstellung der RNM-Modelle verfügen, sie mit SPICE abgleichen und korrekt in den gesamten Verifizierungsablauf integrieren. Das Debugging spielt sicher eine entscheidende Rolle, wenn es um eine Erhöhung der Effizienz bei der Bereitstellung dieses Prozessablaufs auf Produktionsebene geht.

„Hugging the debugging“, oder mit anderen Worten die frühzeitige Einführung einer robusten Debugging-Methodik, kann die Verschwendung von Debugging-Zyklen reduzieren und es Ihnen ermöglichen, die Maskierungspläne einzuhalten und die Markteinführungszeit zu verkürzen. Die Einhaltung der Maskierungspläne wird die Chipversorgung verbessern und der Automobilindustrie unter die Arme greifen, die mit einem weltweiten Chipmangel zu kämpfen hat. //SG

* Sumit Vishwakarma ist Product Manager for Mixed-Signal Solutions in der AMS BU von Siemens EDA

(ID:47905172)