Analog Mixed Signal Extensions for SystemC

Similar documents
Mixed-Signal Extensions for SystemC

SystemC-AMS Requirements, Design Objectives and Rationale

A Framework for the Design of Mixed-Signal Systems with Polymorphic Signals

Modeling embedded systems using SystemC extensions Open SystemC Initiative

Important Characteristics of VHDL-AMS and Modelica with Respect to Model Exchange

Sneak Preview of the Upcoming SystemC AMS 2.0 Standard

Requirements for the Simulation of Complex Heterogeneous Systems

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

System level modelling with open source tools

VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology

Analog Behavior Refinement in System Centric Modeling

Analog Behavior Refinement in System Centric Modeling

THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004

AMS Behavioral Modeling

THE DESIGN ENVIRONMENT FOR HETEROGENEOUS SYSTEMS

Design Refinement of Embedded Analog/Mixed-Signal Systems and how to support it*

Hardware-Software Codesign. 6. System Simulation

This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No

MoCC - Models of Computation and Communication SystemC as an Heterogeneous System Specification Language

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Mixed Signal Verification Transistor to SoC

gsysc Visualization of SystemC-Projects (Extended abstract)

SystemC Modelling of the Embedded Networks

EE382V: System-on-a-Chip (SoC) Design

SYSTEMC AMS ARCHITECTURE EXPLORATION FOR MIXED SIGNAL SYSTEMS

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Hardware/Software Co-design

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

Towards an Integrated System Model for Testing and Verification

Experience the Next ~Wave~ of Analog and Digital Signal Processing using SystemC AMS 2.0 Session 1: SystemC AMS Introduction

THE DESIGNER S GUIDE TO VERILOG-AMS

Tutorial on VHDL and Verilog Applications

Introduction to Physical Modelling Rory Adams Senior Application Engineer

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

FSMs & message passing: SDL

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Recent developments in simulation, optimization and control of flexible multibody systems

ADMINISTRATIVE MANAGEMENT COLLEGE

Design Progression With VHDL Helps Accelerate The Digital System Designs

Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014

Flight Systems are Cyber-Physical Systems

CHAPTER 1 INTRODUCTION

Analysis Package White Paper. ADM Task Force January 2006

Hierarchical FSMs with Multiple CMs

Parag Choudhary Engineering Architect

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik /11/07

Simulation and Verification of Timed and Hybrid Systems

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

COE 561 Digital System Design & Synthesis Introduction

Simplifying UVM in SystemC

Title: Increasing the stability and robustness of simulation-based network assignment models for largescale

Olivier Brüls. Department of Aerospace and Mechanical Engineering University of Liège

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Package on Board Simulation with 3-D Electromagnetic Simulation

Preface. This Book and Simulation Software Bundle Project

Principles of Network Economics

Modelling and Simulation Made Easy with Simulink Tiffany Liang Application Engineer MathWorks

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Design Patterns. Gunnar Gotshalks A4-1

Lecture 7 Fault Simulation

CS:2820 (22C:22) Object-Oriented Software Development

THE BENEFITS OF MODEL-BASED ENGINEERING IN PRODUCT DEVELOPMENT FROM PCB TO SYSTEMS MENTOR GRAPHICS

INTERNATIONAL JOURNAL OF CIVIL AND STRUCTURAL ENGINEERING Volume 2, No 3, 2012

Distributed Systems Programming (F21DS1) Formal Verification

A Process Model suitable for defining and programming MpSoCs

An update on XML types

101-1 Under-Graduate Project Digital IC Design Flow

Combining the Power of DAVE and SIMULINK

Linking a Simulation Model to a Schematic Component

Object-oriented Modelling of Physical Systems with Modelica using Design Patterns

SpecC Methodology for High-Level Modeling

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

VHDL Analog and Mixed-Signal Extensions Through Examples

A Formalization of Global Simulation Models for Continuous/Discrete Systems

UNIT-I Introduction of Object Oriented Modeling

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

SystemC Standardization Update Including UVM for SystemC Accellera Systems Initiative SystemC Standards Update. Andy Goodrich, Cadence Design Systems

TIRIAS RESEARCH. Lowering Barriers to Entry for ASICs. Why ASICs? Silicon Business Models

Hardware-Software Codesign


Contents. I The Basic Framework for Stationary Problems 1

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

Linking a Simulation Model to a Schematic Component. Contents

Long Term Trends for Embedded System Design

New technological opportunities coming along with SystemC/SystemC AMS for AMS IP Handling and Simulation

ASIC world. Start Specification Design Verification Layout Validation Finish

REAL VALUE MODELING FOR IMPROVING THE VERIFICATION PERFORMANCE

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

Introduction to Control Systems Design

10th August Part One: Introduction to Parallel Computing

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Session: Configurable Systems. Tailored SoC building using reconfigurable IP blocks

Requirements and Design Overview

AMS527: Numerical Analysis II

Metodologie di progetto HW Il test di circuiti digitali

JOURNAL OF OBJECT TECHNOLOGY

Static Analysis of Embedded C

Transcription:

Analog Mixed Signal Extensions for SystemC White paper and proposal for the foundation of an OSCI Working Group (SystemC-AMS working group) Karsten Einwich Fraunhofer IIS/EAS Karsten.Einwich@eas.iis.fhg.de Christoph Grimm Univ. Frankfurt Grimm@cs.uni-frankfurt.de Alain Vachoux EPFL Lausanne Alain.vachoux@epfl.ch Natividad Martinez Madrid FZI Karlsruhe martinez@fzi.de Felipe Ruiz Moreno FZI Karlsruhe ruiz@fzi.de Christian Meise Univ. Frankfurt Professur TI, Continental Teves meise@ti.informatik.unifrankfurt.de Abstract SystemC supports a wide range of Models of Computation (MoC) and is very well suited for the design and refinement of complex digital systems from functional downto register transfer level. However, for a broad range of applications, interactions of the digital part and algorithms on the one hand and analog parts and continuous-time environment on the other hand are very complex. Therefore, is it essential to consider the analog parts within the design process of Mixed-Signal System on Chip solutions. Because simulation performance is especially for the analog parts very crucial, different analog MoC must be introduced to allow the use of the most efficient solver for the considered level of abstraction. In this white paper we describe possible areas of application and requirements for mixed-signal extensions for SystemC, and propose the foundation of a Mixed-Signal Working Group. 1. Introduction and Motivation SystemC 2.0 provides a very flexible way to model the communication of systems by specifying a model for communication and synchronization in a channel and providing an interface for the channel, which can be used independently from a specific realization of a channel. This is generic enough to describe systems using various models of computation, including static and dynamic multirate dataflow, Kahn process networks, communicating sequential processes, and discrete events. However, the discrete approach to modeling and simulation is not applicable to systems, whose behavior is specified by differential equations. Note, that the differential equations can also be given by a netlist, or by transfer functions, for example. Such systems are called analog systems. For many classes of systems, the analog parts will become more dominant in respect of performance parameters, power consumption, silicon cost and yield. Analog systems are simulated by mathematical methods that compute a solution for the underlying set of differential and algebraic equations. For simulation of analog systems, a solver computes a solution of the differential and algebraic equation, and uses numerical integration techniques to compute signal values for a time interval. For combined discrete/continuous simulation, the discrete event simulators are coupled and synchronized with the analog solver. In the following, we describe areas of applications to be considered by the analog extensions, and formulate design requirements. Furthermore, we describe a solver integration concept that meets the formulated requirements.

2. Areas of application and Requirements Areas of application Analog and mixed-signal systems can be found in many applications. The requirements for modeling and simulation depend both on the area of application and the level of abstraction of the model. Considering that SystemC is used rather for system-level design, the proposed mixed-signal extensions should as well focus on system-level design. On system-level, analog models are used for defining executable specifications of: Signal processing functions Hierarchical structures (netlists) Abstract behaviours (equations) The environment of embedded systems We plan to consider system-level design in the following application domains for the definition of the requirements: Signal processing dominated applications (telecommunications and multimedia) RF (Wireless communication) applications Automotive and power electronics These application domains have different requirements for modeling and simulation of analog and mixedsignal systems. Requirements for signal processing dominated applications: - Sampled systems with a fixed time step. - Description as directed signal flow graphs (no conservative semantics in analog parts). - Graph nodes are linear dynamic functions(e.g. transfer functions) or static non linear functions. - Equations to be solved are in explicit form (i.e. in the form y=f(x)) and can be in most cases ordered such that unknowns can be computed in sequence. If it is not possible to find such an ordered set of equations then are algebraic loops (or coupled equations) and iterative techniques have to be used. - Description in the frequency domain. Requirements for RF/wireless applications: - Possible tight interaction between event-driven (control) and analog parts (e.g. automatic gain control or adaptative filtering). - Ability to simulate the baseband behaviour Requirements for automotive and power electronics applications: - Stiff non-linear systems. - Multi-discipline systems (e.g. mechanical, electrical, fluidic parts). - Real-time behavior. This means that the model should execute in time steps which are constrained by an maximum execution time border Requirements for Integration in SystemC SystemC has a very generic and flexible concept for modeling systems, which is based on a layered structure of the class library. Basically, SystemC consists of a generic discrete event simulator kernel, templates for modeling communication, and synchronization in different MoCs and concrete data types for modeling digital hardware. The mixed signal extensions shall allow the SystemC framework to support analog MoCs in a generic and flexible way and to provide an efficient synchronization layer between (possibly only some) event-time and continuous MoCs.

3. Basic MoC integration concept Layered approach The requirements for modeling and simulation in the application domains formulated above are very different, and even partially contradictory. To meet the different requirements, an extendable and generic concept is necessary. However, the complexity should be limited. To meet these oppositional requirements, we propose a layered approach, which is similar to the approach of standard SystemC. The layered approach is shown in figure 1. On top of the existing standard SystemC kernel, we plan to realize a synchronization layer. The synchronization layer provides a method to couple and synchronize different analog simulators (solvers). Figure 1: Layered approach for mixed-signal extensions. The synchronization layer should be unique for analog extensions. Thus all communication between different MoC takes place via the synchronization layer. On top of the synchronization layer, different MoCs can be realized by different analog solvers. Properties of the Synchronization Layer The synchronization layer is the most critical part of the mixed-signal extensions. This layer should encapsulate the MoCs as far as possible, and should allow the connection of blocks modeled with different MoCs. To achieve this encapsulation we propose the following restrictions: Increasing time only, no backtracking: In the simulation of analog and mixed-signal systems, it is a common technique to synchronize different simulators only when this is really needed. This can lead to a situation, where an event from one simulator occurs, which is in the past for other simulators. Then, a rollback mechanism could set the simulation time back to a point in the past. However, this requires the ability to save a state and to restore the saved state. This is not supported by SystemC, and the synchronization layer therefore can only increase the time. Directed signal flow: In the considered areas of application, the signal flow between modules is directed. Therefore, on synchronization layer the realization of a directed signal flow is sufficient. Taking into account the different domains of application, we plan to provide a generic synchronization mechanism, which can work with different methods for selecting time steps: For simulation of signal processing systems, constant time steps usually are precise enough: Such systems are mostly over sampled with known and constant time steps. Such a synchronization should lead to a high simulation performance.

For the simulation of control systems, e. g. in the automotive domain, systems are nonlinear and often stiff systems. The use of constant step width would lead either to a large error, or to a very bad performance. Therefore, we plan to allow variable step sizes. SC View/Description layer This layer represents a direct connection to the synchronization layer for those already existing SystemC descriptions. Thus, the compatibility is assured. Solver layer A solver provides a certain MoC, e.g. a solver for a linear DAE-system, or another solver for a non-linear system, or a solver optimized for power electronics. The solver must be able to interact with the synchronization layer. As input the solver gets the equation system in a solver specific form e.g. as constant matrices or matrices with method pointers. Static MoCs Another class of MoC that has to be supported is the static analysis (i.e. AC/Noise/DC analysis) of analog descriptions and descriptions with an analog specification like digital filters. There is a coupling between static MoCs and other MoCs in the equation set up phase only. The coupling between static MoCs and the event-driven MoC of SystemC only consists in defining consistent stable states at their references (possibly in the Synchronization layer). Especially for digital modules with an analog specification an optional implementation can be necessary. View/Description layer The interface layer provides the solver with the equation system. This equation system can be e.g. generated from a network using the modified nodal analysis or from a behavioral representation like transfer function or state space system. The same interface can be useful for different solvers (e.g. linear / nonlinear DAEs); nevertheless, the realization must take into account that the mapping to the solver layer is different. At least the following interfaces should be part of an analog and mixed-signal SystemC extension library: Netlist interface: This interface should be common to all underlying MoCs. Equation interface: This interface should allow a user to formulate behavioral models or functional specifications in a direct way as a differential algebraic equation. 4. Relations to other OSCI working groups and commercial tools For the realization of the synchronization layer, which connects different analog MoCs, we have similiarities to the synchronous dataflow model proposed by the Kahn Process Network and Synchronous Dataflow WG. The synchronous dataflow model has the potential to speed up the synchronization layer proposed in section 3, because no scheduling is required at simulation time. Nevertheless, for the realization of the mixed signal extensions, some further features like a much closer connection to the time are required. Therefore the definition of the synchronization layer has to be synchronized with the dataflow working group. For the integration of static MoCs the results of the API working group are essential. To set up the equation system this MoC needs to explore the structure (the instances and there connections). Commercial tools for simulation of analog and mixed-signal systems are most notably Saber, Eldo, Spectre, different VHDL-AMS/Verilog-AMS simulators and Matlab/Simulink. Possible analog extensions to SystemC are not intended to replace mature simulators for circuit level design. The focus of the intended extensions is more on system level design, but should focus on abstract modeling and MoCs that permit the fast and efficient simulation Due to it s open architecture, a coupling of circuit level simulators such as Saber or Spice is feasible on top of the synchronization layer

5. Proposed Objectives, Class Design Issues Language design goals The SystemC libraries to support the analog and mixed-signal systems outlined in this document should satisfy the following objectives: - Simulation performance by abstraction and restrictions - Technical feasibility with adequate effort - Security (error detection/localization; non ambiguity) - Modularity (independence of modules/encapsulation, scalability, IP assembly) - Manageable complexity (clear and limited number of interfaces to other MoCs) - User understandable algorithm - Mechanism to include lower levels of abstractions, expandability, flexibility - Use of common netlist format (extension/subset of existing SystemC format) Class design issues In order to realize the extension library proposed in this white paper, we plan to take the following actions: 1. Definition of a synchronization mechanism: How do we coordinate and synchronize the time advancement in the analog solvers? Here, we must ensure, that no solver simulates too far into the future (and might have to be set back to a simulation time in the past), and that all simulators get appropriate inputs (no deadlocks). 2. Definition of MoC: Which is the underlying MoC which computes system behaviour from the behavior of the single solvers (e. g. static dataflow). How do we ensure or improve numerical stability and convergence of the overall simulation? 3. Backplane: Formulation of an interface that allows the realization of the synchronization mechanism. 4. Netlist format definition and specification of equation interface. 5. Definition of analog datatypes 6. Design methodology: How can the extension library be integrated in existing design flows, how can we make model creation easier and more efficient, etc. Validation 1. Identification of test cases from targeted application domains. 2. Evaluation of applicability and performances of the mixed-signal extensions. Documentation 1. Functional Specification document. 2. SystemC-AMS library documentation (classes + synchronization layer). 3. User Guide. Dissemination 1. Trainings, seminars, papers, conferences. 6. Development roadmap We propose to realize the mixed-signal extensions in basically three phases, each one achieving one level of implementation (level capabilities are additive): Phase 1 / Level 1 - Main application domain targeted is signal-processing dominated applications. - Supported analog MoCs are linear DAEs (Differential Algebraic Equations). Explicit form of equations. Behavior as a sequence of assignments. - Library of dedicated functions (e.g. transfer functions). - Structural composition (netlists). Library of primitive elements (e.g. R, C, L, sources).

- Time-domain simulation. Limited static AC/DC capabilities. - Synchronization with static dataflow MoC. Only constant time steps. No time backtracking. Only "weak" mixed-signal description (e.g. control or status signals). Phase 2 / Level 2 - Main application domain targeted is RF/wireless applications. - Supported analog MoCs are nonlinear DAEs. Implicit form of equations. Behavior as true simultaneous statements. - Support of initial conditions. - Static MoC prototype. - Synchronization with variable time steps. - Equation-based description (non-linear equations to be solved interactively) Phase 3 / Level 3 - Main application domain targeted is automotive applications. - Specialized analog MoCs (e.g. for power analysis and mechanical problems). - Synchronization between analog MoCs. - Generic concept for synchronization with other MoCs 7. Conclusion and proposal Analog and mixed-signal extensions for SystemC are necessary in a broad range of applications, for example in telecommunication, multimedia and automotive applications. In order to cover the very different requirements, an analog and mixed-signal extension library should be structured into a synchronization layer, which is independent from the solvers to be used, and solver/description-layers. Such a library could significantly improve the generality of the SystemC approach and would widen the scope of SystemC to a broad range of applications, where SystemC nowadays is focused on pure discrete hardware/software systems. Therefore, we propose, that there should be an OSCI SystemC-AMS Working Group. This working group should consider this white paper as its initial brief.