Sneak Preview of the Upcoming SystemC AMS 2.0 Standard

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

Modeling embedded systems using SystemC extensions Open SystemC Initiative

SYSTEMC AMS ARCHITECTURE EXPLORATION FOR MIXED SIGNAL SYSTEMS

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

Analog Mixed Signal Extensions for SystemC

THE DESIGN ENVIRONMENT FOR HETEROGENEOUS SYSTEMS

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Abstraction Layers for Hardware Design

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

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

Analog Behavior Refinement in System Centric Modeling

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

SystemC Community. ISCUG May 9, 2008 Girish Nanappa, OSCI

Mixed-Signal Extensions for SystemC

A SIMULATION BASED METHODOLOGY FOR THE DEVELOPMENT OF EMBEDDED-ANALOGUE-MIXED-SIGNAL SYSTEMS USING SYSTEMC-AMS. Benjamin Mulwa Kathale I56/72438/2008

OSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder

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

Hardware/Software Co-design

RTL Coding General Concepts

SystemC-AMS Requirements, Design Objectives and Rationale

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

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

Sequential Circuit Design: Principle

Part 2: Principles for a System-Level Design Methodology

Early Models in Silicon with SystemC synthesis

Verilog-A Debug Tool: AHDL Linter

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

Hardware-Software Codesign. 6. System Simulation

CS232 VHDL Lecture. Types

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

Advanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

UVM-SystemC Standardization Status and Latest Developments

Mixed Signal Verification Transistor to SoC

Sequential Circuit Design: Principle

Die virtuelle Plattform:

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

THE DESIGNER S GUIDE TO VERILOG-AMS

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

Deploying SystemC for Complex System Prototyping and Validation

Register Transfer Methodology II

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD

ARM s IP and OSCI TLM 2.0

Hardware Description Languages & System Description Languages Properties

SystemC Modelling of the Embedded Networks

Waveform and Timing Generator Description

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

An introduction to CoCentric

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Harmony-AMS Analog/Mixed-Signal Simulator

CAN on Integration Technologies

Hardware in the Loop Functional Verification Methodology

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.

Functional Programming in Hardware Design

Partitioned Control Challenge Problem

AMBA Programmer s View Extensions to OSCI TLM v2.0. Nizar ROMDHANE Technical Marketing Manager RealView Tools, DSTG April, 2007

FPGA for Software Engineers

FANCOIL CONTROLLER UNIT TC17B01KNX. Product Handbook

Simulation and Modeling for Signal Integrity and EMC

MetaRTL: Raising the Abstraction Level of RTL Design

Efficient use of Virtual Prototypes in HW/SW Development and Verification

A Sensor Modeling Technique Using SystemC-AMS for Fast Simulation of System-in-Package based Bio-Medical Systems

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

Impact of SystemC data types on execution speed

COMPLEX EMBEDDED SYSTEMS

SmartSpice Verilog-A Interface. Behavioral and Structural Modeling Tool - Device Model Development

ZL30342 SyncE/SONET/SDH G.8262/Stratum3 & IEEE 1588 Packet G.8261 Synchronizer

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

SystemC Configuration Tutorial A preview of the draft standard

System Level Design with IBM PowerPC Models

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

EITF35: Introduction to Structured VLSI Design

Plugging the Holes: SystemC and VHDL Functional Coverage Methodology

SysteMoC. Verification and Refinement of Actor-Based Models of Computation

Design methodology for multi processor systems design on regular platforms

AMS Behavioral Modeling

Interface-Based Design Introduction

ESL design with the Agility Compiler for SystemC

SoC Communication Complexity Problem

System On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples.

Parameterize behavioral models using WiCkeD Modeling

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

Introduction to SystemC

Design of embedded mixed-criticality CONTRol systems under consideration of EXtra-functional properties

Developing Measurement and Control Applications with the LabVIEW FPGA Pioneer System

Hardware-Software Codesign. 1. Introduction

SystemC Implementation of VLSI Embedded Systems for MEMS. Application

Accurate Synchronization of EtherCAT Systems Using Distributed Clocks

Specification and Validation for Heterogeneous MP-SoCs

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Emerging Platforms, Emerging Technologies, and the Need for Crosscutting Tools Luca Carloni

Digital System Design

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

133-MHz Spread Spectrum Clock Synthesizer/Driver with AGP, USB, and DRCG Support

ANALOG IP WITH INTELLIGENT IP FROM SYSTEM TO SILICON

Renesas New Generation of R8C/Tiny Series MCUs Adds 1.8V Support and Coprocessing With Background Operation to Enable Low-cost Innovative Designs

A Temporal Language for SystemC

FPGAs in a Nutshell - Introduction to Embedded Systems-

SystemC 1.3. Languages for Embedded Systems. Prof. Stephen A. Edwards Summer 2004 NCTU, Taiwan

Transcription:

Sneak Preview of the Upcoming SystemC AMS 2.0 Standard Martin Barnasconi, AMSWG chairman, 18 th NASCUG, DAC 2012

Analog Mixed Signal applications Image courtesy of STMicroelectronics Communications Imaging Automotive 2

Outline Introduction: What is SystemC AMS? Timed Data Flow (TDF) modeling style Use cases and requirements for Dynamic TDF Example: DC motor control SystemC AMS 2.0 Dynamic TDF features Code example Summary and outlook 3

What is SystemC AMS? Specification Functional RF AMS CPU Interface Dig Architecture 2.0draft SystemC AMS extensions SystemC Implementation VHDL-AMS, Verilog-AMS Analog/Mixed-Signal VHDL, Verilog Digital HW/SW 4

SystemC AMS History 1999: Open SystemC Initiative (OSCI) announced 2000: SystemC 1.0 released (sourceforge.net) 2002: OSCI SystemC 1.0.2 2005: IEEE Std 1666-2005 LRM 2005: SystemC Transaction level modeling (TLM) 1.0 released 2007: SystemC 2.2 released 2009: SystemC TLM 2.0 standard 2009: SystemC Synthesizable Subset Draft 1.3 2011: IEEE Std 1666-2011 LRM 2012: SystemC 2.3 1999 today ~2000: First C-based AMS initiatives (AVSL, MixSigC) 2002: SystemC-AMS study group started 2005: First SystemC-AMS PoC released by Fraunhofer 2006: OSCI AMSWG installed 2008: SystemC AMS Draft 1 LRM 2010: SystemC AMS 1.0 standard 2010: SystemC AMS 1.0 PoC released by Fraunhofer 2012: SystemC AMS 2.0 draft standard 5

Model abstraction and formalisms Use cases Executable specification Virtual prototyping Architecture exploration Integration validation Model abstractions Discrete-time static non-linear Continuous-time dynamic linear Non-conservative behavior Conservative behavior Modeling formalism Timed Data Flow (TDF) Linear Signal Flow (LSF) Electrical Linear Networks (ELN) 6

SystemC AMS language elements Mixed Signal Virtual Prototypes written by the end user SystemC methodologyspecific elements Transaction-level modeling (TLM), Cycle/Bit-accurate modeling, etc. Timed Data Flow (TDF) modules ports signals AMS methodology-specific elements elements for AMS design refinement, etc. Linear Signal Flow (LSF) modules ports signals Electrical Linear Networks (ELN) modules terminals nodes Scheduler Linear DAE solver Synchronization layer SystemC Language Standard (IEEE Std 1666-2011) 7

Timed Data Flow (TDF) modeling style V(t) A t B outc Possible schedule: {A B C} TDF module TDF signal TDF port TDF cluster TDF is based on synchronous dataflow - A module is executed if enough samples are available at its input ports - The number of read/written samples are constant for each module activation - This enables static scheduling, which follows the signal flow direction TDF characteristics - The samples of a TDF signal are tagged in time using a time step attribute defined prior to simulation - TDF samples have a constant and fixed time step during simulation (AMS 1.0 only) TDF is a very efficient discrete-time modeling style 8

Use cases and requirements (1) Abstract modelling of sporadically changing signals - E.g. power management that switches on/off AMS subsystems Abstract description of reactive behaviour - AMS computations driven by events or transactions Capture behaviour where frequencies (and time steps) change dynamically - Often the case for clock recovery circuits or capturing jitter Modelling systems with varying (data) rates - E.g. multi-standard / software-defined radio (SDR) systems This requires a dynamic and reactive Timed Data Flow modeling style - Basically introduce variable time step instead of fixed/constant time step 9

Use cases and requirements (2) Use cases Requirements Application examples Abstraction of sporadically changing signals Abstract description of reactive behavior Capture behavior where frequencies (and time steps) change dynamically Modeling systems with varying (data) rates Switch on/off AMS computations Detect analog zero- or threshold crossing Request and response caused by digital event or transaction Changeable time step of AMS computations Changeable time step and/or data rate Power management unit Sensor circuits; alarm mode of systems AMS embedded in digital HW/SW virtual prototype VCO, PLL, PWM, Clock recovery circuits Communication systems, multi-standard radio interfaces (e.g. cognitive radios) 10

Example: DC motor control difference PI controller PWM Driver + DC motor i ref k p + k i s v drv out h 0 i meas 1 + s ω 0 Functional model in the Laplace domain modelled in SystemC AMS To achieve high accuracy, many module activations are necessary when using fixed time steps (AMS 1.0) Introducing Dynamic TDF to only compute when necessary, due to dynamic time step mechanism (AMS 2.0) 11

DC motor control loop behavior i meas (t) 10 8 6 4 i ref 2 3 v drv (t) 2 0 1 0.5 0 1 4 1 t_ramp t_duty t/sec 0 0.01 0.02 0.03 0.04 0.05t_period 0.06 0.07 0.08 0.09 0.1 t/sec 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 12

New AMS 2.0 Dynamic TDF features New callback and member functions to support Dynamic TDF: change_attributes() - callback provides a context, in which the time step, rate, or delay attributes of a TDF cluster may be changed request_next_activation( ) - member function to request a next cluster activation at a given time step, event, or event-list does_attribute_changes(), does_no_attribute_changes() - member functions to mark a TDF module to allow or disallow making attribute changes itself, respectively accept_attribute_changes(), reject_attribute_changes() - member functions to mark a TDF module to accept or reject attribute changes caused by other TDF modules, respectively 13

Example of Pulse Width Modulator (1) // pwm_dynamic.h #include <cmath> #include <systemc-ams> SCA_TDF_MODULE(pwm) // for dynamic TDF, we can use the same helper macro to define the module class { sca_tdf::sca_in<double> in; sca_tdf::sca_out<double> out; pwm( sc_core::sc_module_name nm,... ) : in("in"), out("out") {} void set_attributes() { does_attribute_changes(); accept_attribute_changes(); } // module allowed to make changes to TDF attributes // module allows attribute changes made by other modules void change_attributes() // new callback to change attributes during simulation { double t = get_time().to_seconds(); // current time double t_pos = std::fmod( t, t_period); // time position inside pulse period... 14

Example of Pulse Width Modulator (2) if ( t_pos < t_ramp ) { // rising edge 1 request_next_activation( t_ramp - t_pos, sc_core::sc_sec ); } else if ( t_pos < t_ramp + t_duty ) { // plateau request_next_activation( ( t_ramp + t_duty ) - t_pos, sc_core::sc_sec ); 2 } else if ( t_pos < t_ramp + t_duty + t_ramp ) { // falling edge request_next_activation( ( t_ramp + t_duty + t_ramp ) - t_pos, sc_core::sc_sec ); 3 } else { // return to initial value request_next_activation( t_period - t_pos, sc_core::sc_sec ); 4 } } 2 3 void processing() {... // PWM behavior } private:... // member variables }; 1 4 1 t_ramp t_duty t_period 15

TDF vs. Dynamic TDF comparison TDF model of computation variant Conventional TDF t_step (ms) 0.01 (fixed) t_ramp (ms) t_period (ms) Dynamic TDF variable 0.05 5.0 Time accuracy (ms) #activations per period 0.05 5.0 0.01 ( = t_step) 500 defined by sc_set_time_resolution() 4 Comparison of the two variants of the TDF model of computation - Conventional PWM TDF model uses a fixed time step that triggers too many unnecessary computations - When using Dynamic TDF, the PWM model is only activated if necessary. 16

Summary and outlook SystemC AMS 2.0 draft standard available - Introducing Dynamic Timed Data Flow to facilitate a more reactive and dynamic behavior for AMS computations - Enabling a tighter, yet efficient and time-accurate, synchronization for AMS signal processing and control systems - Dynamic TDF is based on the same data flow semantics astdf, thus maintaining the same model abstraction and speed New language constructs and semantics defined in the SystemC AMS 2.0 draft language reference manual - Available under SystemC Open Source license at www.accellera.org Public review has been conducted. The AMS Working group is now preparing the final release - SystemC AMS 2.0 release expected in 2H/2012 17

More information www.accellera.org/downloads/standards/systemc/ams www.accellera.org/activities/committees/ systemc-ams/ams_2_draft_public_review/ www.accellera.org/community/articles/amsdynamictdf www.systemc-ams.org 18

Thank you