Design&Verifikation

Chipdesign als Big-Data-Herausforderung

5. Dezember 2018, 10:09 Uhr | Anna M. Ravitzki, Vtool
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Anwendungen II

Beispiel 4 - Player und Vorschläge

Cogita wendet branchenübliche maschinelle Lernalgorithmen an. Signifikante Ergebnisse werden mit unbeaufsichtigten und teilüberwachten Algorithmen erzielt. Dabei werden Datensätze aus dem Log erstellt und die erste Fehlermeldung als Ausgangspunkt gesetzt. A-priori, k-nächste Nachbarn, Gaußscher naiver Bayes und Hauptkomponentenanalyse [3] werden bereits erfolgreich eingesetzt, um relevante Abfragen und Signale vorzuschlagen. (Unter Hervorhebung des relevanten Zeitpunkts, Cursorposition und Zoom) Eine Mindesterfolgsrate von 80% zeigt die Abfragefähigkeiten von Cogita.

Den Startpunkt stellt die Fehlermeldung:

# UVM_ERROR [write_host_axi_B_t] @ 3600.0ns: {hnvme_scoreboard.sv::5466} => Unexpected write resp!

Cogita analysiert diese und erstellt einen Datensatz aller Meldungen, einschließlich [write_host_axi_axi_B_t] als Emitter und "write resp" als Teil der Nachrichtensyntax. Dieser Datensatz zählt in der Regel zwischen fünf und zehn Dimensionen, basierend auf der Protokollsyntax der jeweiligen Umgebung. Er wird auf Muster und Anomalien hin analysiert. Cogita wird dann einige der folgenden Player vorschlagen, basierend auf Clustering-Algorithmen für den Datensatz:

  • Alle Schreibtransaktionen durch den Emitter [write_host_axi_axi_B_t]
  • Anwenderseitig: Clusteren der Schreibdaten und die Schreibadresse, vorschlagen von Playern mit Adresse oder Datenabweichung
  • Anwenderseitig: Erkennung wiederkehrender Muster basierend auf dem Emitter [write_host_axi_axi_B_t] als Ausgangspunkt, vorschlagen von Playern die Emitter anzeigen, welche das Muster brechen

Beispiel 5 - Mathematische Datenmanipulationen

Jeder Cogita-Player ist eine grafische Datendarstellung. Die Daten jedes Players sind eine Wertereihe, zeitlich veränderlicher numerischer Daten. Dies gilt auch für jeden Bus oder jedes Signal, das aus der VCD-Datei selbst abgeleitet wird.

Im Bereich der Statistik und der linearen Algebra, leiten viele gängige Manipulationen relevante Informationsdaten zur Auswertung ab. Solche Manipulationen können ein Derivat sein, um sich nur auf Änderungen zu fokussieren, oder ein log10, der sich auf den Trend und weniger auf absolute Werte konzentriert. Cogita ermöglicht es, für jeden Player Manipulationsschablonen anzufügen, die eine zusätzliche Verständnisebene darstellen.

Im folgenden Beispiel analysiert der Benutzer das Verhalten des Zugriffs auf DRAM-Adressen. Jeder DMA-Frame hat eine Basisadresse, etwa 0x3FE0_000000, mehrere Blöcke unter Verwendung einer festen Lücke und einer aufeinander folgenden Adresse in jedem Block. Bild 7 stellt den Player "as is" dar, d.h. die Schreibadresse über die Zeit.

Bild 7: Zeitdarstellung einer Adresse
Bild 7: Zeitdarstellung einer Adresse
© VTool
Bild 8: Adressverlauf in Konjunktion mit seiner Ableitung
Bild 8: Adressverlauf in Konjunktion mit seiner Ableitung
© VTool

Aufgrund des hohen Versatzes der Daten ist es im Test fast unmöglich, das Adressmuster zu erfassen. Der kleine Tropfen zu Beginn zeigt einen Fehler, aber ohne einzoomen ist dieser nicht zu erkennen, geschweige denn zu verstehen.

Bild 8 zeigt ein Derivat, das die Datentrends hervorhebt. Der hohe Peak zeigt den Adressverlust bei dieser Manipulation deutlich an. Darüber hinaus werden Übergänge zwischen den Blöcken durch die kleineren Peaks verfolgt, die über die rosa Linie auffallen.

Beispiel 6 - Dimensionsreduktion

In vielen Debug-Techniken kann die einfache Reduzierung von ein oder zwei Datendimensionen zu einer klaren Darstellung führen, die einen Fehler sofort aufzeigt. Beispielsweise kann der Ingenieur während des Zeitscreenings, an einer Reihe von Werten des RTL-Busses oder einer Prüfstandsvariablen interessiert sein.

Bild 9: AXI-Daten-Abgleich mit reduzierter Zeitachse
Bild 9: AXI-Daten-Abgleich mit reduzierter Zeitachse
© VTool

Der Versuch, die Bussignale an Ein- und Ausgang des Prüflings in einer Standardwellenformansicht zu vergleichen, kann sich als sehr schwierig erweisen. Ein Signalabgleich oder eine Zeitverschiebung erhöht die Sichtbarkeit nicht.

Cogita adaptiert hier die Eingangs- und Ausgangsdaten als Liste, wodurch die Zeitdimension reduziert wird (Bild 9). Auf diese Weise werden die Unterschiede sofort erfasst.


  1. Chipdesign als Big-Data-Herausforderung
  2. Grundfunktionen
  3. Anwendungen I
  4. Anwendungen II
  5. Fazit

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu INTEL GmbH

Weitere Artikel zu IP-Cores

Weitere Artikel zu EDA (Halbleiterentwicklung)