Combining Formal Model-Based System-Level Design with SystemC Transaction Level Modeling

Language
en
Document Type
Doctoral Thesis
Issue Date
2012-12-04
Issue Year
2012
Authors
Gladigau, Jens
Editor
Abstract

The development of electronic systems imposes challenges such as tight time-to-market constraints, correctness requirements on the final product, and ever increasing complexities of hardware and software. To cope with these challenges, electronic system level (ESL) design approaches emerged and evolved. Two fields of research are most relevant to this thesis: 1. Platform-based design typically starts with a formal application model, and a target platform description. A typical embedded system platform consists of processors, hardware accelerators, and memories, interconnected by busses. A basic goal of platform-based design is a high degree of automation in refinement steps from the initial model towards the implementation to obtain correct-by-construction products. 2. SystemC-based design approaches often involve transaction level modeling (TLM) early in the design flow. These SystemC/TLM programs then may be manually refined, or automated approaches such as high-level synthesis tools may be deployed; a mixture is typical. As SystemC is a C++-library, tools and techniques already established in C-based design may be reused, and legacy code may be integrated. Manual tuning and refinement of the SystemC program is supported as well. While SystemC-based approaches gain more and more acceptance in industry for a broad range of products, highly automated design methodologies seem to be competitive mostly for special cases. To bridge the gap between platform-based design and TLM at high abstraction levels, this thesis advocates the combination of the formal model-based system-level design methodology SystemCoDesigner with implementation-oriented transaction level modeling. The combination of both is achieved by automatic SystemC/TLM program generation. As a result, advantages from both design approaches can be exploited in the combined design flow: • Formal methods may be applied to the initial formal application model. • Established and well-known design processes may then refine a generated SystemC/TLM program to the final product. Application models considered here are given by dynamic dataflow models. Such dataflow models are well suited for modeling streaming applications in the multimedia or networking domain. In this thesis, formal methods for the two following areas in electronic system design are presented: 1. The verification of important system requirements such as safety properties and absence of deadlocks. This verification is performed early in the design flow to support generation of functionally correct SystemC/TLM programs. 2. The generation of optimized target software schedulers. In general, the execution of considered application models is data-dependent. Consequently, static scheduling is prohibitive, and dynamic scheduling that performs scheduling decisions before each execution step is a common solution. To minimize scheduling overhead, a quasi-static scheduling method is proposed that combines fast and predictable execution of static schedules with inevitable data-dependent decision during runtime. However, the real beauty of the combined design flow, as suggested above, is the opportunity to exploit the formal application model beyond the generation of a SystemC/TLM program. Dictated by stringent time-to-market constraints, fast development is desired. As simulation speed is crucial for fast development, it is shown that a considerable acceleration of the simulation may be achieved: An approach is presented to find traces through the state transition system of an application model that represent recurring behavior. A link between the generated SystemC/TLM program and the initial application model is given. Therewith, predefined traces are then used during the execution of the generated SystemC/TLM program to avoid time consuming context switches.

Abstract

Die Entwicklung elektronischer Systeme birgt Herausforderungen wie etwa kurze Produkteinführungszeiten, hohe Sicherheitsanforderungen an das Endprodukt und die ständig anwachsende Komplexität eingesetzter Hardware und Software. Um diesen Herausforderungen zu begegnen, entstanden Entwurfsmethoden für elektronische Systeme, die bereits auf der Systemebene ansetzen, statt Hardware und Software getrennt zu betrachten. Zwei solche Ansätze sind besonders wichtig in dieser Dissertation: 1. Plattform-basierter Entwurf beginnt typischerweise mit einem formalen Modell der Anwendung und der Beschreibung einer Zielplattform. Eine typische Zielplattform besteht dabei aus Prozessoren, Hardware-Beschleunigern und Speichern, die über Busse verbunden sind. Ein Ziel von Plattform-basiertem Entwurf ist ein hoher Grad an Automatisierung. 2. SystemC-basierte Ansätze modellieren oft früh im Entwurfsfluss Kommunikation auf der Transaktionsebene (TLM). Resultierende SystemC/TLM-Programme werden dann manuell oder mit Werkzeugunterstützung verfeinert. Da SystemC eine C++-Klassenbibliothek ist, können sowohl aus einem C-basierten Entwurf bekannte Werkzeuge und Techniken, als auch bereits vorhandener Quelltext wiederverwendet werden. Während SystemC-basierte Ansätze für eine breite Produktpallete mehr und mehr Akzeptanz in der Industrie finden, scheinen automatisierte Entwurfsansätze eher für spezielle Einsatzfelder geeignet. Um den Graben zwischen Plattform-basiertem Entwurf und TLM auf einer hohen Abstraktionsebene zu überbrücken, schlägt diese Dissertation eine Kombination von modellbasiertem Entwurf mit der SystemCoDesigner-Methodik und TLM-basiertem Entwurf vor. Die Kombination wird durch die automatische Generierung von Modellen auf der Transaktionsebene erreicht. Damit können Vorteile beider Entwurfsansätze in einem kombinierten Entwurfsfluss ausgenutzt werden: • Formale Methoden können für das formale Modell der Anwendung eingesetzt werden. • Bekannte Techniken und Werkzeuge können anschließend ein generiertes SystemC/TLM-Programm bis hin zum Endprodukt verfeinern. Die in dieser Arbeit berücksichtigten Anwendungsmodelle beschreiben Verhalten als dynamischen Datenfluss. Dynamischer Datenfluss ist gut für die formale Beschreibung von Anwendungen in der Multimedia- oder Netzwerk-Domäne geeignet. In dieser Dissertation werden formale Methoden für solche Anwendungen in folgenden zwei Bereichen des Entwurfsflusses eingesetzt: 1. In der Verifikation, etwa zum Beweis von Anwendungssicherheit oder zur Analyse von Verklemmungen. Dabei wird Verifikation früh im Entwurfsfluss eingesetzt, um die Generierung von funktional korrekten SystemC/TLM-Programmen zu unterstützen. 2. In der Generierung von optimierten Ablaufplänen für Software. Im Allgemeinen ist die Ausführung von hier berücksichtigter Software abhängig von Laufzeitentscheidungen. Deshalb sind statische Ablaufpläne nicht berechenbar und dynamische Ablaufpläne resultieren in Laufzeitkosten. Um solche Laufzeitkosten zu verringern, wird quasi-statische Ablaufplanung vorgeschlagen, die schnelle Ausführung und Vorhersagbarkeit mit unvermeidbaren Laufzeitentscheidungen verbindet. Der große Vorteil des wie oben vorgeschlagen kombinierten Entwurfsflusses ist die Möglichkeit, das formale Modell der Anwendung über die Generierung von SytemC/TLM-Programmen hinaus auszunutzen. Aufgrund kurzer Produkteinführungszeiten ist eine schnelle Entwicklung wünschenswert; hohe Simulationsgeschwindigkeit ist eine Voraussetzung dafür. Deshalb wird in dieser Arbeit gezeigt, wie eine signifikante Simulationsbeschleunigung mit Hilfe des formalen Modells erreicht werden kann: Es werden Pfade für wiederkehrendes Verhalten durch den Zustandsraum der Anwendung gesucht. Diese Pfade werden dann verwendet, um in der Simulation des generierten SystemC/TLM-Programms aufwändige Taskwechsel zu reduzieren.

DOI
Document's Licence
Faculties & Collections
Zugehörige ORCIDs