Schwerpunkte

Validierung von Prototypen – Teil 2

Portierbare Stimuliermethode für Post Silicon Validation

22. März 2021, 08:04 Uhr   |  Von Gaurav Bhatnagar und Courtney Fricano

Portierbare Stimuliermethode für Post Silicon Validation
© Lightspring | Shutterstock

Dass sich der Portable Stimulus Standard (PSS) mit den üblichen Standardmethoden zur Verfifikation, wie der Universal Verification Methodolgy (UVM), kombinieren lässt wird im zweiten Teil gezeigt. Am Beispiel eines Interconnect Bus wird verdeutlicht, welche Vorteile die Kombination bietet.

Die Leistungsanalyse der Interconnect Fabric ergibt die beste Konfiguration bezüglich Leistungsfähigkeit, Stromaufnahme und Flächenbedarf. Ist die Struktur der internen Verbindungen einmal festgelegt, kann sie benutzt werden, um mit einem konfigurierbaren automatischen Ablauf RTL-Code für den AMBA-Interconnect-Bus (AMBA, Advanced Microcontroller Bus Architecture) zu generieren. Allerdings kann dieser Ablauf wegen Konfigura­tionseinschränkungen, Softwarestruktur und manueller Interpretation der Spezifikationen fehleranfällig sein. Deshalb muss er verifiziert werden, um einen einwandfreien Entwicklungsprozess zu erhalten. Dies wird traditionell mit Einsatz der Industriestandard-UVM-basierten Methode erzielt.

UVM-basierte Verifikation des Interconnect-Busses

Die UVM-Umgebung zur Verifikation des Interconnect-Busses ist in Bild 5 zu sehen. Sie besteht aus unterschiedlichen Arten von AMBA-Mastern (AXI, AHB, APB) und UVC-Slaves (UVC, Universal Verification Component) in anwendungsspezifischen Konfigurationen, die mit den Slaves bzw. Mastern des Prüflings verbunden sind. Diese Umgebung kann generisch konfiguriert werden. Die Rangfolgetabelle (SB, Scoreboard) meldet die Transak­tionen und zeigt Fehler bei jeder Art von Datenabweichung an.

Die UVM-Umgebung zur Verifikation eines Interconnect-Bus-IPs besteht aus unterschiedlichen AMBA-Mastern (AXI, AHB, APB) und anwendungsspezifisch konfigurierten UVC-Slaves.
© Analog Devices

Bild 5. Die UVM-Umgebung zur Verifikation eines Interconnect-Bus-IPs besteht aus unterschiedlichen AMBA-Mastern (AXI, AHB, APB) und anwendungsspezifisch konfigurierten UVC-Slaves.

Die Tests beinhalten diverse Sequenzen, die die Funktionen der grundlegenden UVC und Schnittstellen steuern. Die Tests laufen in Übereinstimmung mit dem Testplan, der von den Spezifika­tionen festgelegt ist, mit den gesteuerten und zufälligen Testfällen. Die funktionellen Abdeckungspunkte werden auch bezüglich des Verifikationsplans kreiert, um sicherzustellen, dass die Spezifikation auch erreicht wird. Danach werden die Simulationen gemacht und eine Abdeckungsdatenbank erstellt, um Code und funktionale Abdeckung zu erfassen. Diese Datenbank wird analysiert und Abdeckungslücken werden überprüft. Danach laufen die Regressionen ab und damit werden Berichte generiert und analysiert. Dieser Prozess wird solange wiederholt, bis die gewünschten Abdeckungsziele erreicht sind, um eine Verifikation hoher Qualität sicherzustellen.

Zusammen mit den gesteuerten Tests als Teil des Verifikationsplans, hängen die UVM-basierten Techniken auch von den zufälligen Tests ab, um die gewünschte Zielabdeckung zu erreichen. Sie beginnen mit einem Zufallsstimuli und verschärfen schrittweise die Einschränkungen bis die Zielabdeckung erreicht ist. Dies ist abhängig von der Leistungsfähigkeit der Randomisierung und der Rechenleistung der Server, um den Zustandsraum abzudecken. Ist die Codeabdeckung das quantitative Maß, so ist die funktionelle Abdeckung das qualitative Maß der Codeausführung des Prüflings. Typischerweise ist diese Qualität begrenzt durch die Sorgfalt und Gründlichkeit der Menschen, die den Verifikationsplan erstellen und die Testabdeckung analysieren.

Der andere Faktor, der die Qualität der Verifikation entscheidet, ist die effektive automatische Überprüfung. Eine Kombination der Paketvergleiche mit den Rangfolgetabellen und festgelegten Prüfpunkten (Assertions) kann die Anzahl der Fehler in den gefertigten Bausteinen bestimmen, die später im Entwicklungsprozess entdeckt werden. Die UVM-basierte Verifikationstechnik ist unabhängig und sorgt für eine qualitativ hochwertige Verifikation. Dennoch verbessert die Einführung der PSS-basierten Techniken mit ihren umfangreichen Eigenschaften den Verifikationsablauf noch weiter.

PSS-basierte Verifikation des Interconnect-Busses

Die PSS-basierte Verifikation beginnt mit der Erstellung des Verifikationsplans laut der Entwurfsspezifikation und dem Aufbau der Verifikationsumgebung. Der Testzweck wird mit portierbaren Stimuli-Modellen, Einschränkungen und Konfigurations­dateien erfasst. Die Werkzeuge, die diesen Standard unterstützen, generieren dann die Tests für eine vorgegebene Verifikationsumgebung, wobei eine Graph-basierte Abdeckung aufgenommen wird. Die Analyse dieser Art der Testabdeckung kann die Lücken in den Testeinschränkungen und der Konfiguration anzeigen wobei dieser Vorgang erneut durchgeführt werden kann.

Bild 6. PSS-basierte Verifikation des Interconnect-Busses nutzt die aus Bild 5 bekannte UVM-Umgebung
© Analog Devices

Bild 6. PSS-basierte Verifikation des Interconnect-Busses nutzt die aus Bild 5 bekannte UVM-Umgebung

Bild 6 zeigt den Verifikationsablauf mit PSS-basierten Modellen. Dabei ist besonders wichtig zu beachten, dass die PSS-basierten Modelle die UVM-basierte Umgebung (siehe Bild 5) nicht ersetzen. Stattdessen werden sie zur bestehenden UVM-basierten Umgebung hinzugefügt, um deren Fähigkeiten zu erhöhen. Die UVM-Verifikationsumgebung hat weiterhin die Master- und Slaves-UVCs mit Rangfolgetabelle (SB) und Konfiguration, wobei die virtuellen Sequenzen mit der UVM-SV-Infrastruktur umgangen werden.

Die Umgebung wird über einen UVM-Test auf der obersten Ebene gesteuert, der auf der einen Seite die virtuellen Sequenzen aufruft, um den UVC-Betrieb zu steuern. Auf der anderen Seite interagiert sie über PLI- oder DPI-basierte (DPI, Direct Programming Interface) Systemaufrufe mit dem vom portierbaren Stimulus generierten Format. Das PSS-basierte Modell wird im SystemC-basierten Prozess zur Leistungsmodellierung vollständig wiederverwendet. Die vom PSS-basierten Modell generierte Testlogik steuert alle Operationen zwischen den UVCs. Die Simulationen auf IP-Ebene nutzen die generierten Tests und erfassen die Abdeckung.

 Im Vergleich zur UVM-basierten Verifikation erreicht die UVM-PSS-basierte Verifikation die gleiche Testabdeckung mit weniger Testläufen
© Analog Devices

Tabelle 2. Im Vergleich zur UVM-basierten Verifikation erreicht die UVM-PSS-basierte Verifikation die gleiche Testabdeckung mit weniger Testläufen.

Tabelle 2 zeigt die Ergebnisse des Regressionslaufs mit PSS- und UVM-basierten Verifikationsumgebungen. Die Anzahl der eingeschränkten Zufallstests, die durchgeführt werden müssen, um die maximal mögliche Testabdeckung (mit Waivers) zu erzielen, wird mit der Anwendung einer UVM-PSS-basierten Methode signifikant reduziert. Der Zufallsmechanismus in der PSS-basierten Verifikation beginnt mit der abstrakten Beschreibung der gültigen Übergänge zwischen den Zuständen auf oberer Ebene des Prüflings. Er spezifiziert automatisch den minimalen Satz an Tests, die nötig sind, um die Pfade durch diesen Zustandsraum abzudecken. Die Graph-basierte Testabdeckung erlaubt es dem Anwender die Traversenpfade zu betrachten und Tests zu generieren, sodass die maximale Länge des Graphen abgedeckt ist.

Die Testqualität ist ein weiterer Faktor, der von der Verifikationsmethode mit portierbarem Stimulus besser gesteuert werden kann. Der Test kann visuell dargestellt werden, was es den Anwendern erlaubt, die Steuerung und den Datenfluss besser zu verstehen. Auch erlauben es einige Tools, aktive Prüfungen während der Runtime zu platzieren, was ein effektives automatisches Prüfen ermöglicht. Dies verbessert, kombiniert mit Scoreboard-Checking und Assertion-basierten Prüfpunkten die Qualität der Verifikation.

Die Methode mit portierbarem Stimulus arbeitet auf höherer Abstraktionsebene und integriert dann den darunter angeordneten Verifikationsprozess. Obwohl dies eine definitive Verbesserung in der Test- und Stimulus-Generation ist, schleppt diese Verifikationsmethode immer noch den grundlegenden Prozess in seiner ursprünglichen Form mit. Im Falle der Integration mit UVM-basierten Umgebungen wird einerseits von der Wiederverwendung von Verifikationskomponenten profitiert und anderseits wird dadurch seine Komplexität begrenzt. Auch ist die Qualität der Verifikation begrenzt von der Qualität des Verifikationsplans und der Analyse der Abdeckungsreports.

Seite 1 von 2

1. Portierbare Stimuliermethode für Post Silicon Validation
2. SoC-Verifikation des Interconnect-Busses

Auf Facebook teilen Auf Twitter teilen Auf Linkedin teilen Via Mail teilen

Verwandte Artikel

Analog Devices GmbH