Efficient Modelling and Simulation Methodology for the Design of Heterogeneous Mixed-Signal Systems on Chip

Torsten Mähne
2011
Zusammenfassung Elektronische Einchip-und Eingehäusesysteme sind Schlüsselkomponenten einer immer größeren Vielfalt an Produkten, angefangen von Chipkarten über Mobiltelefone bis hin zu Kraftfahrzeugen. Neben zunehmend komplexerer digitaler Hard-und Software zur Datenverarbeitung und -speicherung integrieren sie immer mehr analoge/RF Schaltungen, Sensoren und Aktoren, um mit ihrer (analogen) Umgebung zu interagieren. Dieser Trend, hin zu immer komplexeren und heterogeneren Systemen mit mehr
more » ... nander greifenden Funktionen, wird durch die anhaltenden Fortschritte in der Fertigungstechnologie ermöglicht und durch die stetige Marktnachfrage nach neuen Produkten und Varianten getrieben. Die Wiederverwendung und Neuanpassung von bestehenden Komponentenentwürfen wird daher immer wichtiger. Durch all diese Faktoren wird aber auch der Entwurfsprozess immer komplexer und multidisziplinärer. Dabei ist der Entwurf der einzelnen Komponenten durch die betroffenen Fachdisziplinen gut verstanden und optimiert durch Einsatz verschiedenster Entwurfsautomatisierungsprogramme, Beschreibungssprachen und Datenformate. Diese basieren auf spezifischen Modellierungs-/Abstraktionskonzepten, Beschreibungsformalismen (auch Berechnungsmodelle genannt) und Analyse-/Simulationsmethoden. Die Designer müssen die bestehenden Lücken zwischen den Werkzeugen und Entwurfsmethoden durch manuelle Übertragung der Modelle sowie durch selbstentwickelte Werkzeugkopplungen und -integration überbrücken, was fehleranfällig und zeitaufwändig ist. Es fehlt eine gemeinsame Entwurfsmethodik und eine unabhängige Plattform zur Verwaltung, dem Austausch und der gemeinsamen Entwicklung von Modellen verschiedener Formate und Abstraktionsniveaus. Die Verifikation des Gesamtsystems durch Simulation bezüglich seiner Funktionalität und mit guter Testabdeckung ist ein großes Problem, da sie kompatible Komponentenmodelle auf einem passenden Abstraktionsniveau voraussetzt, die eine zufriedenstellende Simulationsgeschwindigkeit und -präzision ermöglichen. Die Herausforderung besteht daher in der parallelen Integration dieser sehr unterschiedlichen Teilentwurfsprozesse. Die Designer benötigen dazu eine gemeinsame Entwurfs-und Simulationsplattform zur Erstellung und Verfeinerung einer ausführbaren Spezifikation des Gesamtsystems (virtueller Prototyp) auf einem hohen Abstraktionsniveau, das verschiedene Berechnungsmodelle unterstützt. Diese ermöglicht die Evaluierung von Architekturoptionen, die Abschätzung der Systemleistung, die Validierung wiederverwendeter Komponenten, die Verifikation der Schnittstellen zwischen den heterogenen Komponenten und der Interoperabilität mit anderen Systemen sowie die Abschätzung des Einflusses der zukünftigen Arbeitsumgebung und des genutzten Fertigungsprozesses. Für digital/analoge Hard-/Softwaresysteme ist das C++-basierte SystemC mit seinen AMS-Erweiterungen, zu deren Standardisierung der Autor beitrug, dabei sich als solche Plattform zu etablieren. Diese Doktorarbeit beschreibt den Beitrag des Autors zur Lösung der genannten Modellierungs-und Simulationsprobleme in drei thematischen Phasen. In der ersten Phase wurde der Prototyp, genannt ModelLib, einer webbasierten Plattform zum Sammeln von Modellen verschiedener Disziplinen und Abstraktionsniveaus und den dazugehörigen semantischen und strukturellen Metainformationen entwickelt. Diese Arbeit beinhaltete auch die Implementierung eines Zugangskontrollmechanismuses zum abgestuften Schutz des aus den Modellen gebildeten geistigen Eigentums. Die entwickelten Anwendungsfälle für dieses Werkzeug zeigen, wie es den Entwurfsprozess von Einchipsystemen unterstützen kann, indem es die Wiederverwendung und gemeinsame Entwicklung von Modellen erleichtert, für Aufgaben wie die Architekturauswahl, Systemvalidierung und Erstellung immer komplexerer Systemmodelle. iii Zusammenfassung Die Erfahrungen aus der ModelLib-Entwicklung zeigten, welche Aspekte bei der Entwicklung wiederverwendbarer Modelle besonders beachtet werden müssen: Flexibilität, Dokumentation und Validierung. Dies war in der zweiten Phase der Ausgangspunkt zur Entwicklung einer effizienten Modellierungsmethodologie für die Top-Down-Entwicklung und Bottom-Up-Verifikation von RF-Systemen basierend auf dem systematischen Einsatz von Verhaltensmodellen. Ein Ergebnis ist die entwickelte Bibliothek gut dokumentierter, flexibel parametrierbarer und pinakkurater VHDL-AMS-Modelle von typischen analogen, digitalen und RF-Komponenten eines Sender/Empfängers. Die Komponentenmodelle bieten dem Entwickler zwei Parametersätze an: einer basiert auf der Leistungsspezifikation und der andere basiert auf den aus der Schaltungsebene zurückübernommenen Bauteilparametern. Dabei wurde das Abstraktionsniveau der Modelle so gewählt, dass sie einen attraktiven Ausgleich zwischen den Anforderungen Präzision, vielseitige Verwendbarkeit und hoher Simulationsgeschwindigkeit erzielen. Die pinakkuraten Modellschnittstellen erlauben eine einfache Integration von Modellen von der Transistorebene zur Validierung der Verhaltensmodelle oder der Verifizierung der Komponentenimplementierung im Kontext des Gesamtsystems. Diese Eigenschaften machen die Modelle, von der Architekturauswahl bis hin zur Validierung des Gesamtsystems, vielseitig einsetzbar. Demonstriert wurde dies am Modell eines Senders mit zweiwertiger Frequenzumtastung (BFSK), welches durch seine Parameter an sehr unterschiedliche Zielspezifikationen anpassbar ist. Diese Arbeit zeigte auch die Grenzen klassischer Hardwarebeschreibungssprachen bezüglich erreichbaren Abstraktionsniveaus und Simulationsgeschwindigkeit auf. Das Ziel der dritten und letzten Phase war es daher das Abstraktionsniveau bei der Beschreibung komplexer, heterogener Systeme anzuheben und durch den Einsatz verschiedener synchronisierter Berechnungsmodelle ihre effiziente Simulation zu ermöglichen. Diese Arbeit setzt auf den OSCI SystemC AMS extensions auf. Neue Modellierungsfähigkeiten, die über ihren standardisierten Umfang hinausgehen, wurden eingeführt, um energieerhaltende, multiphysikalische Systeme formal und konsistent beschreiben zu können. Alle Konstanten, Variablen und Parameter eines Systemmodells, die physikalische Größen repräsentieren, können nun ihre Dimension und das zugehörige Einheitensystem als intrinsischen Teil ihres Datentyps deklarieren. Zuweisungen an diese müssen dann neben dem Wert auch die korrekte Maßeinheit enthalten. Dies ermöglicht für die Modelle eine viel präzisere und dennoch kompakte Definition der Schnittstellen und Gleichungen, so dass nun der C++-Compiler die korrekte Verdrahtung der Komponenten und die Konsistenz der Gleichungen durch Dimensionsanalyse prüfen kann. Die Implementierung basiert auf der Boost.Units-Bibliothek, die dafür Template-Metaprogrammierungstechniken nutzt. Ein speziell implementierter Filter für die Maßeinheitendatentypen in den Compilermeldungen vereinfacht die Suche nach Einheitenfehlern. Um trotz präzis definierter Schnittstellen die Wiederverwendung von Modellen sicherzustellen, müssen ihre Schnittstellen und Verhalten auf wohldefinierte Weise parametrierbar sein. Die dazu notwendigen Implementierungstechniken demonstriert die entwickelte generische Bibliothek von Modellen typischer Blockdiagrammelemente für das Timed Data Flow (TDF)-Berechnungsmodell. Diese Techniken sind auch die Basis für die Implementierung eines neuen Berechnungsmodells für die SystemC AMS extensions zur Unterstützung des Bondgraphenformalismus. Dieser ermöglicht eine vereinheitlichte Beschreibung der energieerhaltenden Teile eines heterogenen Systems mit Hilfe eines kleinen Satzes von, auf die Energiedomäne parametrierbaren, Elementen und ihre Simulation mit einer hohen Geschwindigkeit vergleichbar mit der eines äquivalenten Signalflussplanmodells. Abstract Systems on Chip (SoCs) and Systems in Package (SiPs) are key parts of a continuously broadening range of products, from chip cards and mobile phones to cars. Besides an increasing amount of digital hardware and software for data processing and storage, they integrate more and more analogue/RF circuits, sensors, and actuators to interact with their (analogue) environment. This trend towards more complex and heterogeneous systems with more intertwined functionalities is made possible by the continuous advances in the manufacturing technologies and pushed by market demand for new products and product variants. Therefore, the reuse and retargeting of existing component designs becomes more and more important. However, all these factors make the design process increasingly complex and multidisciplinary. Nowadays, the design of the individual components is usually well understood and optimised through the usage of a diversity of CAD/EDA tools, design languages, and data formats. These are based on applying specific modelling/abstraction concepts, description formalisms (also called Models of Computation (MoCs)) and analysis/simulation methods. The designer has to bridge the gaps between tools and methodologies using manual conversion of models and proprietary tool couplings/integrations, which is error-prone and time-consuming. A common design methodology and platform to manage, exchange, and collaboratively develop models of different formats and of different levels of abstraction is missing. The verification of the overall system is a big problem, as it requires the availability of compatible models for each component at the right level of abstraction to achieve satisfying results with respect to the system functionality and test coverage, but at the same time acceptable simulation performance in terms of accuracy and speed. Thus, the big challenge is the parallel integration of these very different part design processes. Therefore, the designers need a common design and simulation platform to create and refine an executable specification of the overall system (a virtual prototype) on a high level of abstraction, which supports different MoCs. This makes possible the exploration of different architecture options, estimation of the performance, validation of re-used parts, verification of the interfaces between heterogeneous components and interoperability with other systems as well as the assessment of the impacts of the future working environment and the manufacturing technologies used to realise the system. For embedded Analogue and Mixed-Signal (AMS) systems, the C++-based SystemC with its AMS extensions, to which recent standardisation the author contributed, is currently establishing itself as such a platform. This thesis describes the author's contribution to solve the modelling and simulation challenges mentioned above in three thematic phases. In the first phase, the prototype of a web-based platform to collect models from different domains and levels of abstraction together with their associated structural and semantical meta information has been developed and is called ModelLib. This work included the implementation of a hierarchical access control mechanism, which is able to protect the Intellectual Property (IP) constituted by the model at different levels of detail. The use cases developed for this tool show how it can support the AMS SoC design process by fostering the reuse and collaborative development of models for tasks like architecture exploration, system validation, and creation of more and more elaborated models of the system. The experiences from the ModelLib development delivered insight into which aspects need to be especially addressed throughout the development of models to make them reusable: mainly flexibility, documentation, and validation. This was the starting point for the development of an efficient modelling v Abstract methodology for the top-down design and bottom-up verification of RF Systems based on the systematic usage of behavioural models in the second phase. One outcome is the developed library of well documented, parameterisable, and pin-accurate VHDL-AMS models of typical analogue/digital/RF components of a transceiver. The models offer the designer two sets of parameters: one based on the performance specifications and one based on the device parameters back-annotated from the transistorlevel implementation. The abstraction level used for the description of the respective analogue/digital/RF component behaviour has been chosen to achieve a good trade-off between accuracy, fidelity, and simulation performance. The pin-accurate model interfaces facilitate the integration of transistor-level models for the validation of the behavioural models or the verification of a component implementation in the system context. These properties make the models suitable for different design tasks such as architecture exploration or overall system validation. This is demonstrated on a model of a binary Frequency-Shift Keying (FSK) transmitter parameterised to meet very different target specifications. This project showed also the limits in terms of abstraction and simulation performance of the "classical" AMS Hardware Description Languages (HDLs). Therefore, the third and last phase was dedicated to further raise the abstraction level for the description of complex and heterogeneous AMS SoCs and thus enable their efficient simulation using different synchronised MoCs. This work uses the C++-based simulation framework SystemC with its AMS extensions. New modelling capabilities going beyond the standardised SystemC AMS extensions have been introduced to describe energy conserving multi-domain systems in a formal and consistent way at a high level of abstraction. To this end, all constants, variables, and parameters of the system model, which represent a physical quantity, can now declare their dimension and associated system of units as an intrinsic part of their data type. Assignments to them need to contain besides the value also the correct measurement unit. This allows a much more precise but still compact definition of the models' interfaces and equations. Thus, the C++ compiler can check the correct assembly of the components and the coherency of the equations by means of dimensional analysis. The implementation is based on the Boost.Units library, which employs template metaprogramming techniques. A dedicated filter for the measurement units data types has been implemented to simplify the compiler messages and thus facilitate the localisation of unit errors. To ensure the reusability of models despite precisely defined interfaces, their interfaces and behaviours need to be parametrisable in a well-defined manner. The enabling implementation techniques for this have been demonstrated with the developed library of generic block diagram component models for the Timed Data Flow (TDF) MoC of the SystemC AMS extensions. These techniques are also the key to integrate a new MoC based on the bond graph formalism into the SystemC AMS extensions. Bond graphs facilitate the unified description of the energy conserving parts of heterogeneous systems with the help of a small set of modelling primitives parametrisable to the physical domain. The resulting models have a simulation performance comparable to an equivalent signal flow model.
doi:10.5075/epfl-thesis-4993 fatcat:ty4carexfrbwtiu5bpjzd2abq4