Seit der Einführung der Veloce-Apps von Mentor Graphics hat sich die Art und Weise der Emulation und Verifikation grundlegend verändert. Entwickler erleben somit eine neue Epoche der Emulation, die die Produktivität erhöht und Verifikationsteams hilft, Risiken bei der Verifikation zu verringern.

Die anwendungsspezifischen Applikationen (Apps) Veloce-DFT, Veloce-Deterministic-ICE und Veloce-Fast-Path etablieren die Emulation im Mainstream und machen sie allen Verifikationsingenieuren zugänglich. Zur Nutzung der Apps ist laut Mentor kein Expertenwissen erforderlich. Mit den so vorhandenen Möglichkeiten der Emulation lassen sich nun auch bisher nur schwer lösbare Probleme bewältigen und Verifikationsaufgaben schneller und gründlicher abschließen.

Eckdaten

Für jedes Problem bei der Verifikation von SoC- und Systementwicklungen auf Systemebene eine spezielle Anwendung (App) – gemäß dieses Konzepts präsentiert Mentor Graphics für seine Veloce-Emulationsplattform drei weitere Apps. Mit diesen lassen sich Verifikation und Debugging von Hardware-Entwicklungen beschleunigen.

Dieses Entwicklungsszenario repräsentiert die vierte Epoche in der Weiterentwicklung der Emulation. Wie bisher ermöglicht die Emulation neue Szenarien für eine zunehmende Anzahl von vertikalen Märkten (Bild 1).

Vom ICE- zum Applikationszeitalter

In den Jahren um 1985 nutzten Entwickler Emulatoren für die In-Circuit-Emulation (ICE). Das damalige Ziel bestand darin, ein Design gegen reale Stimuli mithilfe von physikalischen Peripheriekomponenten zu testen. Zum Beispiel konnte die Techniker damals ein Design mit angeschlossenem Ethernet-Kabel mit live Netzwerk-Traffic prüfen.

Mit der ICE-Verifikation konnten Testingenieure Teile des DUT (Device under Test) in Hardware des Emulators abbilden und mit einer Taktrate takten, die höher war als die effektive Taktrate der Simulation. Diese Möglichkeit gab den Ausschlag für den Beginn der zweiten Epoche der Emulation, die Beschleunigung der Verifikation mittels Emulator.

Zur Beschleunigung der Verifikation nutzten die Entwickler einen Host-Computer, auf dem der Simulator lief, und stellten eine Verbindung mit dem Emulator her, um kritische Teile der Verifikation vom Host auf den Emulator auszulagern. Um Traffic-Engpässe zu vermeiden, wurden Teile der Testumgebung ebenfalls synthetisiert und im Emulator abgebildet. Gleichzeitig blieb die regelmäßige Kommunikation zwischen Host und Emulator erhalten.

Emulatoren nicht für alle

Mit steigender Kapazität des Emulators ließen sich vollständige System-on-Chip-Designs (SoC) verifizieren. Diese Möglichkeit machte die Emulation für viele Ingenieure attraktiv. Die Nutzung der Emulatoren war jedoch ineffizient, da sich der Emulator in den Entwicklungslabors befand und nur den Verifikationsteams vor Ort zugänglich war.

Dies legte den Grundstein für die dritte Entwicklungsepoche, die Virtualisierung. In diesem Bereich hat Mentor vor fast zehn Jahren Pionierarbeit geleistet. Die Emulatoren wurden in zentrale Rechenzentren verlagert und Peripheriekomponenten über die Veloce-Virtua-Lab-Umgebung virtualisiert.

Bild 1. Die vier Zeitalter der Emulation: ICE-Zeitalter, Zeitalter der Beschleunigung, Virtualisierungszeitalter und Applikationszeitalter.

Bild 1. Die vier Zeitalter der Emulation: ICE-Zeitalter, Zeitalter der Beschleunigung, Virtualisierungszeitalter und Applikationszeitalter. Mentor Graphics

Jetzt konnten Verifikationsingenieure von ihrem Desktop aus oder von entfernten Standorten auf den Emulator zugreifen. Dies bedeutete, dass die Verantwortlichen den Emulator physikalisch auf eine Weise konfigurieren mussten, die den standardmäßigen Anforderungen von Racks entsprach. Um die Kosten für Energie und Kühlung zu senken und Kompatibilität hinsichtlich Stromversorgung und Kühlung mit modernen Rechenzentren zu gewährleisten, entwickelte sich der Faktor Leistungsaufnahme zu einem wichtigen Aspekt.

Die reine Rechenleistung und eine verbesserte Flexibilität der Emulation führten zur vierten Entwicklungsepoche, der Anwendungsepoche. In der Anwendungsepoche hat sich der Emulator zum „Verifikations-Hub“ entwickelt, der alle Ende-zu-Ende-Verifikationsanforderungen der komplexen Designs von heute abdeckt.

Anwendungen erweitern das Einsatzspektrum eines Emulators über die Verifikation auf Register-Transfer-Ebene hinaus. Durch Erfassen einer speziellen Konfiguration und einer anwendungsspezifischen Visualisierung der Ergebnisse bewältigt der Emulator nun Aufgaben, die zuvor ineffizient oder unerreichbar waren.

Als Grundlage für die Veloce-Apps dient das Betriebssystem Veloce-OS3. Dieses ergänzt die Veloce-Emulationsplattform um Softwareprogrammierbarkeit und Ressourcenmanagement und erleichtert das Hinzufügen neuer Nutzungsmodelle, die den ROI (Return on Investment) des Emulators erhöhen.

Eine der ersten Anwendungen der Veloce-Emulationsplattform war die Veloce-Power-App. Diese führte zu einem Paradigmenwechsel in der Art und Weise, wie Leistungsmessungen durchgeführt werden, um den massiv geänderten Anforderungen bei der Nutzung von High-Tech wie Mobilgeräten und Netzwerkinfrastrukturen zu entsprechen.

Leistungsanalysen auf drei Ebenen

Der neue Ansatz bietet laut Mentor eine schnelle, saubere und höchst effiziente Methode, um die Leistungsaufnahme von modernen SoC-Designs schnell und gründlich zu bewerten. Er beseitigt das Kernproblem eines Testbench-basierenden Ansatzes, der gleichermaßen bei Simulatoren und Emulatoren zum Einsatz kommt, indem er für komplexe SoC-Designs präzise, zeitgerechte und effiziente Leistungsanalysen auf System-, RTL- und Gatterebene unterstützt. Erreichen lässt sich dies durch Messung der Leistungsaufnahme in einer gezielten Anwendungsumgebung, in der die tatsächliche Softwareapplikation läuft. Dies schließt das Booten des Betriebssystems und das Ausführen hunderter Millionen Zyklen zur Lokalisierung der Problembereiche mit ein (Bild 2).

Bild 2. Vorteile einer Live-Anwendung im Vergleich zu einer Testumgebung.

Bild 2. Vorteile einer Live-Anwendung im Vergleich zu einer Testumgebung. Mentor Graphics

Die Verifikationsgemeinde hat die Veloce-Power-App laut Anbieter mit Interesse angenommen. Aufgrund dieses Erfolgs hat Mentor vor kurzem drei weitere Applikationen vorgestellt: Veloce-DFT, Veloce-Deterministic-ICE und Veloce-Fast-Path.

Mit der Veloce-DFT-App können Testingenieure DFT-Schaltungen (Design for Test) und DFT-Pattern in einem komplexen SoC verifizieren. Nach der Synthetisierung dieser Schaltungen erfolgt ihre Einbindung auf Gatterebene. Obwohl automatisch generiert, muss dennoch eine Verifikation erfolgen. Nur so lässt sich sicherstellen, dass keine isolierten Scan-Ketten oder Vektor-Fehler vorhanden sind. Diese traditionelle Aufgabe eines Simulators hat so lange gedauert, dass die Verifikation parallel zum Tapeout durchgeführt wurde, in der Hoffnung, dass sie korrekt ist.

Kürzere Entwicklungszeiten

Die Veloce-DFT-App führt vollständige Mustersätze für die DFT-Verifikation in einer angemessenen Zeit aus und verkürzt damit den Entwicklungszyklus für Muster. Skalierbare Hardware und schnelle Compiler validieren Testmuster für große Designs auf Gatterebene mit Scan und anderen Teststrukturen, die in das Design integriert sind. Da der Emulator die Verifikation von DFT-Schaltungsmustern beschleunigt, werden Verifikation und Debugging des DFT tausende Male schneller abgeschlossen – schnell genug, dass es vor dem Tapeout geschehen kann. Dies gewährleistet, dass sich etwaige Fehler vor der Erstellung von Masken beheben lassen (Bild 3).

Die Veloce-Deterministic-ICE-App deckt die wichtigste Herausforderung bei der ICE-basierten Emulation ab, die nicht-deterministische Beschaffenheit des Traffics. Wenn ein bestimmtes Traffic-Muster einen Fehler stimuliert, ist es äußerst schwierig, rückwirkend die Ursache des Problems zu finden, weil der Traffic nicht reproduzierbar ist. Durch Konvertierung einer physikalischen ICE-Umgebung in eine äquivalente virtuelle Umgebung bietet die Veloce-Deterministic-ICE-App Entwicklern alle Funktionen und Fähigkeiten einer virtuellen Umgebung. Sie können die Assertion und Coverage Closure überprüfen, Lowpower-Analysen und Leistungseinschätzungen durchführen und mit dem Debugging der eingebetteten Software fortfahren.

Bild 3. DFT-Schaltungen (Design for Test) lassen sich vor der Übergabe an die Fertigung verifizieren.

Bild 3. DFT-Schaltungen (Design for Test) lassen sich vor der Übergabe an die Fertigung verifizieren. Mentor Graphics

Die Veloce-Deterministic-ICE-App generiert während des ersten ICE-Durchlaufs eine „Replay-Datenbank“, die Stimuli und Antworten in der exakten Sequenz dieses ersten Durchlaufs erfasst. Danach wird das nicht-deterministische physikalische Zielsystem abgekoppelt und die Stimuli immer wieder abgespielt. Auf diese Weise entsteht eine reproduzierbare und deterministische Debugging-Umgebung.

Fehler schneller auffinden

Bei einem Fehler führt das Verifikationsteam – anstatt zu versuchen, die Traffic-Muster mit dem original ICE-Setup zu wiederholen – mit der „Replay-Datenbank“ den Test in genau der Art und Weise, die das Problem verursacht hat, erneut durch. Sobald der Fehler korrigiert ist, wird die Korrektur durch erneutes Ausführen der selben Sequenz bestätigt. Dies verkürzt die Zeit zum Auffinden und Beheben von Fehlern (Bild 4).

Die dritte neue App, Veloce-Fast-Path, beschleunigt die Verifikation von Standardlogik durch Ausführung eines schnelleren, optimierten Emulationsmodells des Designs. Verifikationsingenieure können nun bestimmte Testsequenzen schneller vervollständigen. Die Laufzeiten lassen sich damit halbieren und die Risiken eines unerwartet langen Verifikationsdurchlaufs erheblich verringern.

In den hier vorgestellten Apps sieht Mentor den Beginn der Applikationsepoche und stellt als neueste Ergänzung für die Veloce-Emulationsplattform die Veloce-Virtual-Network-App (VN) vor. Die Veloce-VN-App beschleunigt die Verifikation komplexer Netzwerk-ICs, indem sie dem Netzwerkkunden die nahtlose Integration seiner virtuellen Umgebung in einen emulationsbasierten Verifikations-Flow ermöglicht. Dadurch gelangen die Möglichkeiten der Emulation in die Laborumgebung.

Bild 4. Die Veloce-Deterministic-ICE-App macht eine ICE-basierte Konfiguration für das Debugging reproduzierbar.

Bild 4. Die Veloce-Deterministic-ICE-App macht eine ICE-basierte Konfiguration für das Debugging reproduzierbar. Mentor Graphics

Die Veloce-VN-App erhöht die Effizienz durch Erzeugung eines optimierten Flows von der Simulation ins Labor. Zudem unterstützt die App die Wiederverwendung von Skripten zur Generierung des Traffic-Flows für größere Effizienz und verbessertes Debugging und reduziert Risiken bei der Entwicklung von komplexen Chips.

Emulation für alle

Durch die hier erläuterten und viele noch folgende Anwendungen erhalten Emulationsspezialisten und Verifikationsingenieure einen zielgerichteten Funktionsumfang. Die Apps verkürzen die Verifikationszeit, erlauben gründlichere Tests und verringern das Planungsrisiko. Emulationsanwendungen von Mentor sind zunehmend wichtigere Werkzeuge, mit denen sich gewährleisten lassen, dass nur qualitativ hochwertige Designs die Produktionsfreigabe erhalten.

Die Zukunft der Emulation liegt in der Verbindung von Hardware mit intelligenten Anwendungen, die den Emulator zum Arbeitspferd bei der Bewältigung von komplexen Verifikationsherausforderungen bei System-Level-Designs machen.