Zephyrnet-Logo

Wechsel des Designparadigmas zur Verbesserung der Verifizierungseffizienz

Datum:

Wir befinden uns mitten in einer Verifizierungskrise, die sich in einer wachsenden Kluft zwischen Verifizierungseffizienz und -effektivität manifestiert. Diese Krise kann nicht allein durch Verbesserungen der Verifizierungsmethoden und -techniken gelöst werden. In der Tat erfordert es eine philosophische Änderung unserer Herangehensweise an das Design, wobei der Schwerpunkt auf der Vermeidung von Fehlern liegt. Wir bezeichnen diese grundlegende Änderung als Design mit absichtsfokussierter Einsicht, oder Design + Absicht.

Ein Entwicklungslebenszyklus, der Design und Absicht beinhaltet, macht die Verifizierung nicht weniger wichtig, als sie es war. Tatsächlich besteht das Ziel eines Design+Intent-Prozesses darin, die Verifizierungseffizienz zu verbessern, indem die Fehlerdichte verringert wird, was sich auf nachgelagerte Prozesse auswirkt und folglich die Kosten senkt. Während eine Design+Intent-Fehlervermeidungsstrategie alle Aspekte des IC-Designs umfasst, gibt es heute Designlösungen, die sich hauptsächlich auf die Verbesserung der RTL-Qualität konzentrieren, wie z. B. die statische Analyse.

Die statische Analyse ist eine nicht simulationsbasierte Testaktivität, bei der der RTL-Code auf Fehler analysiert wird, die von der Nichteinhaltung der Spezifikation bis hin zu Fehlern reichen, die bekanntermaßen mit Designfehlern zusammenhängen. Die statische Analyse kann auch verwendet werden, um falsche Transformationen zu finden, während das Design verschiedene Implementierungsphasen durchläuft. Vollautomatische statische Analyselösungen reichen von leichtgewichtigen Tools wie lint bis hin zu fortschrittlichen statischen Analysetools zur Fehlersuche, die formale Technologie verwenden.

Der Wert bei der Einführung statischer Analyselösungen liegt in einer erheblichen Verbesserung der Verifizierungs-Debugging-Effizienz aufgrund der Reduzierung von Fehlern während der RTL-Übergabe. Die statische Analyse ist ein einfach anzuwendender erster Schritt der Gesamtstrategie zur Vermeidung von Fehlern in Design und Absicht eines Projekts.

Die Design+Intent-Lösung basiert auf drei funktionalen Säulen, wie in Abbildung 1 dargestellt. Die erste Säule besteht aus einem Prozess, der produziert die richtige Designabsicht während der Konstruktion, um Fehler zu minimieren. Die zweite Säule Beweist dass die Absicht und die Anforderungen des Designers früh im Entwicklungslebenszyklus erfüllt werden. Und die dritte Säule schützt (oder bewahrt) die Designabsicht, während das Design die verschiedenen Phasen des Entwicklungslebenszyklus durchläuft.


Abb. 1: Drei Säulen einer Design+Intent-Methodik.

Die Design+Intent-Methodik beginnt mit der Untersuchung verschiedener Lösungen für die Produce-Säule. Die erste Lösung könnte darin bestehen, das Abstraktionsniveau des Designs zu erhöhen und gleichzeitig, wann immer möglich, eine Synthese auf hoher Ebene zu nutzen. Durch die Nutzung einer höheren Sprache (HLL) wie C/C++ reduzieren wir die Anzahl der Codezeilen, die zur Beschreibung des Designs erforderlich sind. Doch nicht alle Designblöcke eignen sich für eine High-Level-Synthese. Daher ist ein weiterer wichtiger Bestandteil der Produce-Säule eine HDL-Designumgebung, die umfassende Analysefunktionen in den Erstellungsprozess integriert. Diese können die Qualität von neuem und wiederverwendetem Code schnell bewerten, um Fehler während der Entwicklung zu vermeiden.

Die Prove-Säule ist der Kern einer Design+Intent-Lösung. Es liefert den Einblick, der sicherstellt, dass die Absicht des Designers erfüllt wird. Die in der Beweissäule durchgeführte Analyse lässt sich in zwei Hauptkategorien einteilen. Die erste Kategorie umfasst syntaktische, semantische, stilistische und strukturelle Analysen des RTL-Codes, die Codierungs- oder Methodikfehler identifizieren, die kostspieliger zu finden und zu beheben sind, nachdem der Code in die Regression eingecheckt wurde. Die zweite Kategorie verwendet eine sequentielle Analyse, die eine fortschrittliche statische Analyse zur Fehlersuche und formale Technologie nutzt, die es Ingenieuren ermöglicht, komplexe Eckfehler im Zusammenhang mit Parallelität zu identifizieren. Einige Beispiele für Fehler, die bei der sequentiellen Analyse gefunden wurden, sind kombinatorische Schleifen, FSM-Deadlocks, arithmetischer Überlauf und Indexierungsprobleme. Der entscheidende Punkt ist, dass durch die Nutzung von Designlösungen für die sequentielle Analyse diese Fehler während der Codierungsphase gefunden und behoben werden können, ohne dass eine Simulationstestbench erstellt werden muss.

Die Säule „Schützen“ besteht aus Analysetools, die sicherstellen, dass die Absicht des Designs während des gesamten Entwicklungslebenszyklus beibehalten wird; zum Beispiel die Identifizierung neuer Metastabilitätsprobleme, die möglicherweise während des Synthese- und Implementierungsprozesses eingeführt werden.

Eine Empfehlung bei der Einführung einer Design+Intent-Methodik besteht darin, diese Analysen automatisch in einen kontinuierlichen Integrationsfluss einzubauen, der sicherstellt, dass das Design von der Erstellung bis zur Fertigstellung vor fehlerhaften Änderungen geschützt ist. Dies lässt sich leicht bewerkstelligen, da die in den verschiedenen Säulen enthaltenen automatischen statischen Analysewerkzeuge im Allgemeinen einfache oder keine Beschränkungen beinhalten und keine manuellen Interaktionen für den Betrieb erfordern. In der Tat ist es möglich, eine Reihe von leichten, hochwertigen Prüfungen als Torwächter für jeden Regressions-Check-in zu implementieren. Darauf können tiefergehende Analysen für tägliche und am Wochenende durchgeführte Regressionsläufe folgen, während die gründlichsten Überprüfungen durchgeführt werden können, bevor das Design den intensiveren und teureren Prototyping- und Emulationsphasen unterzogen wird, die häufig für das Hardware-/Software-Co-Design und die Systemvalidierung verwendet werden .

Um einen Weg aus der Verifizierungskrise zu finden, ist ein philosophischer Wandel während des gesamten Entwicklungslebenszyklus erforderlich, der auf der Vermeidung von Fehlern basiert. Um diese Reise zu beginnen, schlagen wir vor, dass sich Projekte auf Design+Intent-Lösungen konzentrieren, wie z. B. statische Analysen, die konsistentere Entwicklungszyklen und eine schnellere Verifikationskonvergenz durch Verbesserung der RTL-Qualität fördern.

Um mehr über die Wurzeln der Verifikationskrise und den Kontext unserer Lösung zu erfahren, besuchen Sie bitte siemens.com, um das vollständige Papier zu lesen, Raus aus der Verifizierungskrise – Verbesserung der RTL-Qualität.

Die Post Wechsel des Designparadigmas zur Verbesserung der Verifizierungseffizienz erschien zuerst auf Halbleitertechnik.

spot_img

Neueste Intelligenz

spot_img