Mentor Graphics ist seit langem einer der großen Verfechter der ESL-Design-Methodik (Electronic System Level). Aber ESL stößt weiterhin auf Skepsis seitens der Entwickler. Nach dem Motto »never change a running system« halten viele lieber...
Mentor Graphics ist seit langem einer der großen Verfechter der ESL-Design-Methodik (Electronic System Level). Aber ESL stößt weiterhin auf Skepsis seitens der Entwickler. Nach dem Motto »never change a running system« halten viele lieber an ihren alten Methodiken fest, anstatt sich auf neue, ungewohnte Pfade zu begeben. Aber die diesjährige DAC hat gezeigt, dass die Methodik zwar immer noch diskutiert werden muss, dass aber mittlerweile keiner mehr glaubt, dass es sich dabei um eine Eintagsfliege handelt.
Um Entwickler von einer neuen Methodik zu überzeugen, sind Missionare gut, die nicht müde werden, die Vorteile von ESL zu verkünden. Am wirkungsvollsten ist dies natürlich dann, wenn ein Anwender als Missionar auftritt – wie STMicroelectronics für ESL. So erklärt Nitin Chawla, Senior Member of Technical Staff bei STMicroelectronics, dass das Unternehmen bereits seit geraumer Zeit auf die High-Level-Synthese zurückgreift und damit »die Produktivität im Design deutlich erhöhen konnte«.
Laut Chawla hat sich gezeigt, dass es einen großen Unterschied macht, welche Sprache – C, C++ und SystemC – für HLS (High-Level-Synthesis) verwendet wird. So würden strukturelle Sprachen nur wenige Implementierungen zulassen, weil architektonische Details bereits im Source-Code enthalten sind. ANSI C weist diesen Nachteil zwar nicht auf – es werden also keine mikroarchitektonischen Details festgelegt –, aber ANSI C unterstützt keine Klassen und ermöglicht keine objektorientierte Programmierung. Dadurch ist die Wiederverwendung bereits geschriebenen Codes laut Chawla limitiert. Außerdem sei die Programmierung kompliziert, und auch eine Bit-genaue Modellierung sei schwierig. Damit ist klar, dass Chawla auf ANSI C++setzt. Das sei die Sprache, die sich für die HLS am besten eignet.
STMicroelectronics hat bereits diverse Hardware-Beschleuniger mit Hilfe von Catapult C von Mentor Graphics entwickelt. Ein Vorteil dabei war, dass dank der Hardware-Beschreibung in C++ unterschiedliche Implementierungen (zum Beispiel mit einem oder mit mehreren Rechenkernen, unterschiedliche Speicherarchitekturen etc.) einfach erstellt und miteinander verglichen werden konnten und sich anhand der Ergebnisse die beste Lösung wählen ließ. Chawla weiter: »Dank der Beschreibung in C++ ist außerdem ein IP-Re-Use einfach möglich.« Auch beim Wechsel von einer Prozesstechnologie zur nächst kleineren bringt diese Methodik Vorteile. »Bei einer RTL-Beschreibung muss der Code bei jedem Technologiesprung modifiziert werden, auch wenn sich das Design eigentlich nicht ändert. Bei einer Beschreibung in C++ wird einfach der geschriebene Algorithmus genommen und mit den Technologieparametern im Nachhinein verknüpft«, so Chawla weiter.