Synopsys: produktive High-Level-Syntheselösung

Mit der neuen M-Language und modellbasierten High-Level-Synthese-Lösung Synphony soll laut Synopsys die Entwurfs- und Verifikationsproduktivität gegenüber herkömmlichen RTL-Flows um den Faktor 10 steigen.

»Bis jetzt gab es keinen automatisierten Weg, einen einheitlichen Verifikationsflow über mehrere Abstraktionsebenen oder einen Implementierungsflow mit optimierter Ausgabe von der sehr populären M-Language zu schaffen«, so Gary Meyers, Vizepräsident und Geschäftsführer des Synplicity-Geschäftsbereichs bei Synopsys. Mit Synphony-HLS sei Synopsys nun in der Lage, einen schnelleren und zuverlässigeren Pfad zur System- und Softwarevalidierung anzubieten als bislang möglich.

Die M-Language von The Mathworks ist weit verbreitet für den Entwurf und die Untersuchung von Algorithmen, weil sie eine präzise Verhaltensbeschreibung auf einer extrem hohen Abstraktionsebene ermöglicht. Solche M-Language-Code-Modelle werden typischerweise für die Implementierung und Verifikation auf RT-Level bzw. in einigen Fällen in C/C++ neu codiert und verifiziert. Im Gegensatz zu solchen 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 eines constraint-gesteuerten Festkomma-Propagation-Features können Entwickler Festkommamodelle schnell und intuitiv von einem synthetisierbaren Subset des High-Level-Gleitkomma-M-Codes ableiten. Die Synphony-HLS-Engine synthetisiert anschließend den architekturell optimierten RTL-Code unter Berücksichtigung der Anforderungen hinsichtlich Chipfläche, Geschwindigkeit und Leistungsaufnahme. Synphony-HLS erlaubt Entwicklern, in ihrer bevorzugten Algorithmensprache zu bleiben, so dass die Modelle nicht erneut codiert und verifiziert werden müssen und eine frühzeitige Validierung und Verifikation auf Systemebene ermöglicht wird.

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 Implementierungsflows aufrechterhalten. Auf der Basis der vom Anwender spezifizierten Randbedingungen hinsichtlich der Entwurfsziele und Architektur 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.

Synphony-HLS generiert Festkomma-ANSI-C-Modelle, die in vielfältigen Systemsimulationsumgebungen und virtuellen Plattformen, darunter Synopsys Innovator, System-Studio, VCS und SystemC-Flows, eingesetzt werden können. Dadurch ermöglicht  Synphony-HLS, mit der C-basierten Verifikation und Validierung bereits viel früher im Entwurfszyklus zu beginnen.