Suchen

EDA-Hardware Verifikationscomputer retten Moore‘s Law

Autor / Redakteur: Ran Avinun* / Holger Heller

Laut Prognosen nimmt die zu verifizierende Logik von 2005 bis 2010 um den Faktor Zehn zu. Die Entwickler müssen sich zudem mit Themen wie Leistung, Wiederverwendung, Abdeckung und Projektmanagement befassen. Brauchen sie zur Simulation dann Hundert Mal mehr Workstations?

Firmen zum Thema

( Archiv: Vogel Business Media )

Bei der Simulation nimmt die Leistung mit zunehmender Chipgröße ab – und das ist nicht länger akzeptabel. Alle 18 Monate verdoppelt sich die Datenmenge bei Design und Verifikation, dagegen bleiben die zur Verfügung stehende Zeit und die Ressourcen in etwa gleich. Gleichzeitig nehmen die Menge der Stimuli und der Umfang der Embedded Software exponentiell zu, was die Aufgabe noch schwieriger macht. Die Softwaresimulation allein ist mittlerweile nicht leistungsfähig genug, sie kann diese komplexen Verifikationsaufgaben nicht mehr bewältigen. Zudem ist sie nicht effektiv skalierbar und nicht kostengünstig.

Ein großer Kunde von Cadence hat die jährlichen Kosten eines Simulators (mit 100 Zyklen/s) plus einer Workstation mit den Kosten eines Emulationssystems (mit 1 Mio. Zyklen/s) verglichen und so festgestellt, dass die Kosten der Simulation bei gleicher Zyklenzahl um rund das Hundertfache höher sind als die der Emulation. Dies ist nur eine grobe Schätzung, veranschaulicht aber, wie viel mehr Ressourcen eine Simulation beansprucht. Inzwischen fordern die Unternehmen höchste Qualität ohne funktionelle Fehler. Das macht einen neuen Denkansatz notwendig, um die benötigten Verifikationszyklen durchführen zu können. Sonst steigt das Risiko der Projekte und die Gefahr von Produktrückrufen besteht.

Das Leistungsparadigma und Möglichkeiten der Anpassung

Durch die zunehmende Dichte und Die-Größen stoßen die CPUs mittlerweile an eine Leistungsgrenze (neben den Komplexitätsproblemen), so dass die maximale Leistung der einzelnen Chips begrenzt werden muss. Diese Einschränkungen setzen Grenzen für die Taktfrequenz und die Rechenleistung einer einzelnen CPU. Die Kombination von Komplexität, Kapazität und Leistung führt damit zu einschneidenden Einschränkungen, die auch direkt das Gesetz von Gordon Moore betreffen.

In den letzten Jahren setzen die CPU-Entwickler zunehmend auf Multicore-Lösungen. Dieser Ansatz führt zu leistungsfähigen Chips, die mehr Rechenleistung bieten als je zuvor – aber nur, wenn auch die Software für dieses Design angepasst wird. Mit der Zeit wird die EDA-Industrie ihre Tools immer mehr auf diese fortschrittlichen Computerplattformen ausrichten müssen. Trotzdem gibt es keine Garantie, dass dieser Ansatz mit dem Tempo des Moore‘schen Gesetzes Schritt halten kann. Im Gegensatz zur reinen Hardware ist das Ausbalancieren und Optimieren von Software und Hardware ein langer und nicht vorhersagbarer Prozess, der viel Forschung und Ressourcen erfordert.

Eine andere vorläufige Lösung wäre, dass die Design- und Verifikationsteams ihre Workstation-Farms einfach verdoppeln oder sogar verdreifachen bzw. schnellere Computer beschaffen. Dieser Weg bringt allerdings das Problem höherer Kosten für Software und die Nutzung von Modellen. So kann die Ausführung sehr langer sequenzieller Tests oder eines großen Embedded-Softwarecodes nicht in der gleichen Zeit erfolgen – außer der Test wird aufgeteilt. Auch für lange Regressionstests muss die Laufzeit unter den Workstations ausbalanciert werden. Dies kann bei manchen Anwendungen (wie Multimedia oder Wireless) sehr schwierig sein, aber auch, wenn Hardware und Software gleichzeitig laufen soll. So kann diese Alternative höchstens temporär weiterhelfen.

Verifikationsrechner als Rettung

In diesem Fall bietet sich eine andere Lösung an: hardwareunterstützte Verifikationssysteme werden zu spezialisierten Verifikationscomputern. Im Gegensatz zu Simulationswerkzeugen, die auf universellen Computern laufen, ist ihre Leistung konstant und unabhängig von der Designgröße. Diese leistungsfähigen Systeme bieten eine Lösung für Regressionsläufe (besonders wenn lange sequenzielle Testläufe notwendig sind), die Treiberentwicklung, die Ausführung von Softwareanwendungen und das Booten von Betriebssystemen. Im Gegensatz zur Simulation sind diese Systeme viel skalierbarer. Sie ermöglichen dem Entwickler eine Nutzung bei beliebigen Design-Größen mit vollen Debug-Möglichkeiten, eine kurze Durchlaufzeit und hohe Geschwindigkeiten ohne Leistungsminderung.

In der Vergangenheit waren derartige Systeme schwierig zu nutzen und teuer. Heute ist dies allerdings nicht mehr der Fall. Sie sind viel kostengünstiger (ungefähr ein Zehntel der Kosten vor nur wenigen Jahren) und lassen sich viel einfacher bedienen. Bei einigen dieser Systeme konnte die Vorbereitungszeit von Monaten auf Tage reduziert werden, während die eigentliche Kompilierzeit nur noch wenige Minuten dauert. Die Debug-Umgebung wurde ebenfalls weiterentwickelt und entspricht in etwa der einer Simulation. In einigen Fällen kann auf Grund des hohen Durchsatzes eine höhere Leistungsfähigkeit erreicht werden.

Vernetztes Arbeiten ohne Verlust an Rechenleistung

Außerdem sind diese Verifikationscomputer (ebenso wie bei einer Emulation und Beschleunigung) speziell für die Ausführung der heute populären Verifikationsumgebungen gedacht. Das beinhaltet auch fortschrittliche Testbenches und Assertion-Methodiken. Diese Computer ermöglichen zudem eine bessere Aufteilung der Ressourcen unter mehreren Projekten bei einem weltweiten Fernzugriff, sowie eine bessere Koordinierung zwischen Hardware- und Softwareentwicklung. Um den Durchsatz zu optimieren, können einige dieser Tools Informationen von der Hardware mittels einer Multi-Threading-/Multi-CPU-Technologie sehr schnell hochladen. Zudem können diese Verifikationscomputer eine Random-Testgenerierung auf der Basis einer constraint-orientierten Umgebung für die Hardware und auf Systemebene schneller ausführen.

Diese Verifikationsrechner können nicht nur Design- und Verifikationsmodelle ausführen, sondern sie lassen sich auch mit realen Schnittstellenkarten, Baugruppen oder PCs verbinden, sodass die Simulationsmodelle in Live-Szenarien validiert werden können. Durch diese Möglichkeiten lassen sich auf Systemebene viele Verifikationslücken schließen und Validierungsrisiken vermeiden. Zudem dienen sie als eine Brücke zwischen den Simulations- und Halbleiterumgebungen.

Als nächster Schritt muss nun die Benutzerfreundlichkeit dieser Systeme durch eine höhere Automatisierung verbessert, weitere Verifikationsaufgaben (wie Abdeckung und VIP) in spezielle Verifikationscomputer verlagert und die Verbindung zwischen der Hardware und anderen Abstraktions-Tools verbessert werden. Diese Systeme sind die wirklichen Verifikationscomputer von heute. Einige Unternehmen wollen mit Emulations-Farmen ihren Vorsprung sichern. Damit dürfte auch das Gesetz von Gordon Moore zumindest für die nächste Zeit weiterhin gültig bleiben.

*Ran Avinun ist Marketing Group Director der Verification Division bei Cadence Design Systems, San Jose, Kalifornien.

(ID:221726)