7 research outputs found
Kombination von modellbasiertem Entwurf auf Systemebene mit SystemC-Modellen auf Transaktionsebene
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.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
Symbolic Quasi-Static Scheduling of Actor-Oriented SystemC Models
In this paper, we propose a quasi-static scheduling (QSS) method applicable to actor-oriented SystemC designs. QSS determines a schedule where several static schedules are combined in a dynamic schedule to reduce runtime overhead. This is done by performing as much static scheduling as possible at compile time, and only treating data-dependent control flow as runtime decision. Our approach improves known quasi-static approaches in a way that it is directly applicable to real world designs, and has less restrictions on the underlying model. The effectiveness of the approach based on symbolic computation is demonstrated by scheduling a SystemC design of a network packet filter
Mapping Actor-Oriented Models to TLM Architectures
Actor-oriented modeling approaches are convenient for implementing functional models of embedded systems. Architectural models for heterogeneous system-on-chip architectures, however, are usually implemented using transaction level modeling (TLM). Even though both modeling paradigms, actor-oriented design and TLM, can conveniently be implemented using a common language such as SystemC, a methodology to smoothly integrate both approaches is still missing. In order to benefit from the best of both worlds, i.e., analyzability of actor-oriented models as well as fast simulation and synthesis from TLM, a combination of these two methodologies could be the next step towards electronic system level design. In this paper, we propose a systematic approach for mapping actor-oriented models onto complex TLM architectures. In particular, we will show how to map synchronization and data transport between actors to TLM 2.0 compliant bus protocols. The key contribution of this paper lies in our proposed methodology, which requires only a few additional lines of source code to map actor communication in actor-oriented SystemC models to TLM architectures and does not demand any reimplementation of the actors
A symbolic system synthesis approach for hard real-time systems based on coordinated SMT-solving
International audienceWe propose an SMT-based system synthesis approach where the logic solver performs static binding and routing while the background theory solver computes global time-triggered schedules. In contrast to previous work, we assign additional time to the logic solver in order to refine the binding and routing such that the background theory solver is more likely to find a feasible schedule within a reasonable amount of time. We show by experiments that this coordination of the two solvers results in a considerable reduction of the overall synthesis time