High-Level-Synthese: Von Matlab zu RTL

20. Oktober 2009, 13:39 Uhr | Peter Wintermayr, elektroniknet.de

Von Matlab zu RTL ist es jetzt nur noch ein kurzer Schritt: Der EDA-Spezialist Synopsys hat mit Synphony-HLS ein Synthese-Tool vorgestellt, das dies ermöglicht.

Diesen Artikel anhören

Matlab-Konstrukte und -Algorithmen in RTL-Code zu übersetzen war bislang eine mühselige Aufgabe, die händisch erledigt wurde. Mit Synphony-HLS hat nun Synopsys ein Werkzeug vorgestellt, das diese zeitraubende Tätigkeit anstelle von Monaten in wenigen Tagen, wenn nicht Stunden erledigt. »In Betatests haben wir festgestellt, dass die Produktivität um bis das zehnfache zunimmt, wenn unser Tool zum Einsatz kommt«, so Chris Eddington, Director of Marketing von Synopsys. Einer der ersten Anwender war Dr. Richard Cagley, Algorithmen-Entwickler bei Toyon Research Corporation. »Herkömmliche HLS-Methodiken erfordern weiterhin erhebliche Hardware-Engineering-Ressourcen, um meine Algorithmen zwecks Implementierung in FPGAs oder ASICs in RTL-Code zu übersetzen. Synphony-HLS erlaubt mir die Verwendung der M-Language sowohl für die High-Level-Simulation als auch für den produktionsreifen Code, so dass ich nun innerhalb einiger Stunden oder Tage anstelle von Monaten oder gar Jahren von der Simulation direkt zur Hardware komme«, lautet sein Fazit.

Matlab-Modelle werden typischerweise für die Implementierung und Verifikation auf RT-Level neu codiert und verifiziert. Im Gegensatz zu solchen ineffizienten und fehleranfälligen manuellen Re-Coding-Flows erzeugt Synphony-HLS implementierbare RTL- und C-Modelle direkt aus High-Level-M-Code und den optimierten Synphony-HLS-IP-Modellbibliotheken. Durch die Verwendung einer constraint-gesteuerten Festkomma-Propagation-Funktion können Entwickler Festkommamodelle von einem synthetisierbaren Subset des High-Level-Gleitkomma-M-Codes ableiten. Die Synphony-HLS-Engine synthetisiert anschließend den RTL-Code unter Berücksichtigung der Chipfläche, Geschwindigkeit und Leistungsaufnahme.

Die Synphony-HLS-Engine kann optimierte Architekturen für ASICs, FPGAs, Rapid-Prototyping oder Virtuelle Plattformen synthetisieren und dabei eine einheitliche Verifikation durch alle Ebenen des Implementierungsablaufs aufrechterhalten. Auf der Basis spezifizierter Randbedingungen führt die HLS-Engine eine automatische Optimierung auf mehreren Ebenen aus. Dabei kommen Pipelining-, Scheduling- und Binding-Optimierungen über Sprach- und Modellgrenzen hinweg, einschließlich M-Language- und IP-Blöcken, sowie durch die gesamte Designhierarchie hindurch zur Anwendung.


Jetzt kostenfreie Newsletter bestellen!