Generische Analysemethoden für den Systementwurf heterogener eingebetteter Mehrkernsysteme

Language
de
Document Type
Doctoral Thesis
Issue Date
2018-05-22
Issue Year
2018
Authors
Brandenburg, Jens
Editor
Abstract

As an integral part of a larger technical system, each embedded system consists of different hardware and software components with dedicated application specific functions. For the design of embedded systems, this results in the necessity to develop and optimize all system components in accordance to a predefined application scenario. Therefore mainly a co-design approach is used, which is based on the cooperative design of both hardware and software components. Consequently, hardware and software can be developed concurrently and a reduction of the overall development time can be achieved. Furthermore, in the co-design approach additional optimization options can be exploited based on a conjoint analysis of hardware and software components. The key task of the HW/SW-co-design is to evaluate and to compare the different design options.

In this context, the objective of the presented thesis is to develop a generic analysis approach and appropriate methods to facilitate the design of embedded systems. For a comprehensive support of the integrated HW/SW-co-design, this requires a joint analysis of hardware and software, as well as a detailed view into single subcomponents. In particular, with respect to the design of heterogeneous systems, the combination of the analysis results from different system components is an important precondition to evaluate the overall complex design space in search of an optimal solution.

The developed analysis methods are based on a HW/SW-co-simulation of the entire system as central starting point for the evaluation of different system configurations. Main advantages of a simulation-based approach are the low development costs compared to hardware prototypes in combination with a higher accuracy of the analysis results compared to pure functional models. By means of a parametrization of the simulation model, the overall design space can be investigated cost-effectively. Furthermore, using simulation models enables the analysis of hypothetical systems, which are based on future concepts and hence not yet available.

Typically existing simulation-based analysis approaches connect the simulation model directly with the analysis functions and thus modifications of the model require accompanying adjustments of the analysis functions. In addition, such a model specific analysis restricts the combination of the analysis results from different parts of the simulation model, especially in the case of simulation models assembled from different vendor specific components.

With the intention to increase the interoperability and to foster the exchange of model components, system-level modeling languages, like SystemC and SpecC, implement a separation of the model-independent simulation functions and the model description itself. As an extension to this concept, the presented thesis realizes the further separation of the analysis functions from the model under examination. This additional separation enables an independent and generic analysis of the entire system and provides the basis for a combination of the analysis results from different system components. Moreover, this eliminates adjustment requirements for the analysis functions throughout the model evolution and thereby ensures that the same analysis can be used during the whole development process without additional effort.

The proposed separation of the analysis and the model description is achieved by connecting all analysis functions only with the model-independent simulation functions of the underlying system-level modeling language. By this means, the flexibility of the analysis is increased as expected, but on the contrary, the interpretation of the collected analysis data becomes more difficult, if not impossible at all. In order to address this issue, an automatic design analysis is performed before the start of the simulation process. The hereby extracted abstract model description is used in the following to control the analysis functions and to enable a model-related processing of all collected analysis data. For this purpose, the analysis performs the monitoring of selected basic design elements from the simulation model and determines based on the collected data the behavior of existing hardware and software components.

Finally, a model-independent analysis framework for HW/SW co-design is implemented by integrating the proposed analysis methods into the SystemC modeling language. A demonstration of this analysis framework, including the underlying approach, is given based on use cases from the video coding field of application. Especially in this domain, more complex algorithms, combined with the increasing spatial-temporal resolutions of the processed video data, lead to an ongoing increase of the resource requirements of the developed systems. Therefore, in the examined use cases different analysis-based development and optimization techniques are shown in an exemplary way to demonstrate the significance and the capabilities of the proposed analysis within a complex design process.

Abstract

Als integraler Bestandteil eines größeren technischen Systems, besteht ein eingebettetes System aus verschiedenen Hardware- und Softwarekomponenten mit dedizierten anwendungsspezifischen Funktionalitäten. Für den Entwurf eingebetteter Systeme hat dies zur Folge, dass die einzelnen Systemkomponenten entsprechend einem vorgegebenen Anwendungsszenario entwickelt und optimiert werden müssen. Der hierbei hauptsächlich verwendete Co-Designansatz basiert auf dem gemeinsamen und integrierten Entwurf sowohl der Hardware- als auch der Softwarekomponenten. Dadurch lässt sich zum einen die Entwurfszeit verkürzen, da Hardware und Software gleichzeitig entwickelt werden. Zum anderen ergeben sich aus einer gemeinsamen Betrachtung von Hardware- und Softwarekomponenten zusätzliche Optimierungsmöglichkeiten. Eine wesentliche Aufgabe des HW/SW-Co-Designs besteht nun darin, die unterschiedlichen Entwurfsalternativen zu untersuchen, zu bewerten und miteinander zu vergleichen.

Vor diesem Hintergrund ist es das Ziel der vorliegenden Dissertation, einen generischen Analyseansatz sowie die entsprechenden Analysemethoden für den Entwurf eingebetteter Systeme zu entwickeln. Zur umfassenden Unterstützung des integrierten HW/SW-Co-Designprozesses ist hierbei sowohl die gemeinsame Untersuchung von Hardware und Software als auch ein detaillierter Einblick in einzelne Teilkomponenten erforderlich. Insbesondere hinsichtlich des Entwurfs heterogener Systeme bildet die Kombination der Analyseergebnisse verschiedener Systemkomponenten eine wichtige Voraussetzung, um den gesamten immer komplexer werdenden Entwurfsraum nach einer optimalen Lösung vollständig durchsuchen zu können.

Die entwickelten Analysemethoden basieren auf der HW/SW-Co-Simulation des Gesamtsystems als zentralen Ausgangspunkt für die Bewertung der unterschiedlichen Systemkonfigurationen. Die Vorteile einer solchen Simulation bestehen in niedrigeren Entwicklungskosten im Vergleich zu Hardwareprototypen, verbunden mit einer im Vergleich zu abstrakten funktionalen Modellen höheren Genauigkeit. Dabei bieten Simulationsmodelle über eine Parametrisierung der zu untersuchenden Modelleigenschaften die Möglichkeit, den gesamten Entwurfsraum kostengünstig zu untersuchen. Darüber hinaus erlauben Simulationsmodelle auch eine Analyse von Systemen, die auf zukünftigen aktuell noch nicht verfügbaren Komponenten und Architekturkonzepten beruhen.

Existierende simulationsbasierte Analyseansätze verknüpfen häufig das Simulationsmodell direkt mit den Analysefunktionen, so dass Änderungen am Modell eine zusätzliche Anpassung der Analysefunktionen erfordern. Diese modellspezifische Analyse erschwert darüber hinaus die Kombination der Analyseergebnisse verschiedener Modellbestandteile, speziell bei Simulationsmodellen, deren einzelne Komponenten von unterschiedlichen Herstellern bereitgestellt werden.

In dem Bestreben die Interoperabilität und den Austausch von Modellkomponenten zu erhöhen, verfolgen Systembeschreibungssprachen, wie SystemC oder SpecC, eine Trennung der modellunabhängigen Simulationsfunktionen von der Beschreibung des spezifischen Simulationsmodells. Darauf aufbauend realisiert der im Rahmen dieser Arbeit vorgestellte Analyseansatz die zusätzliche Trennung der generischen Analysefunktionen von dem zu untersuchenden Simulationsmodell. Diese Trennung ermöglicht eine unabhängige Analyse des gesamten Systems und bildet die Grundlage für die Kombination der Analyseergebnisse von unterschiedlichen Systemkomponenten. Damit entfallen ebenfalls die sonst üblicherweise während der Entwicklung notwendigen Anpassungen der verwendeten Analysefunktionen, so dass ohne Mehraufwand über den gesamten Entwurfsprozess auf dieselbe Analyse zurückgegriffen werden kann.

Für die angestrebte Trennung von Analyse und Modellbeschreibung werden die Analysemethoden einzig mit den modellunabhängigen Simulationsfunktionen der Systembeschreibungssprache verknüpft. Dies erhöht zwar wie erwartet die Flexibilität des Analyseansatzes, erschwert jedoch andererseits die Interpretation der anfallenden Analysedaten. Zur Unterstützung der Analyse wird deshalb vor dem Beginn einer Simulation eine automatische Designanalyse des zu untersuchenden Simulationsmodells durchgeführt. Die dabei gewonnene abstrakte Modellbeschreibung dient im weiteren Verlauf zur Steuerung der Analysefunktionen und ermöglicht eine modellbezogene Verarbeitung der Analysedaten. Dafür überwacht die Analyse einzelne elementare Bestandteile des Simulationsmodells und zieht daraus Rückschlüsse auf das Verhalten der vorhandenen Hardware- und Softwarekomponenten.

Die Umsetzung der Analysemethoden durch Integration mit der SystemC-Systembeschreibungssprache führt zu einem modellunabhängigen simulationsbasierten Analyseframework für den HW/SW-Co-Designprozess. Eine Demonstration dieses Analyseframeworks und damit auch des zugrunde liegenden Analyseansatzes erfolgt abschließend anhand von Anwendungsbeispielen aus dem Bereich der digitalen Videocodierung. Insbesondere in der Videocodierung führen immer komplexere Algorithmen in Verbindung mit immer größeren räumlichen sowie zeitlichen Auflösungen der zu verarbeitenden Videodaten zu einem fortwährenden Anstieg der Ressourcenanforderungen an das zu entwickelnden System. In den betrachteten Beispielen werden vor diesem Hintergrund exemplarisch unterschiedliche analysegestützte Entwicklungs- und Optimierungstechniken angewendet, um die Bedeutung und den Umfang der vorgestellten Analyse innerhalb eines immer komplexer werdendes Entwurfsprozesses zu demonstrieren.

DOI
Faculties & Collections
Zugehörige ORCIDs