SoC: soc - UE HETERhassan/heter09_lecture1.pdfDigital, BCA, SocLib Analog, SystemC-AMS TDF, Physics,...
Transcript of SoC: soc - UE HETERhassan/heter09_lecture1.pdfDigital, BCA, SocLib Analog, SystemC-AMS TDF, Physics,...
HETER : Seismic perturbation
WSN2.4 GHz communication channel
MIPS
Cache ICU Timer Serdes
Interconnect
TXRX
RAMSeismicsensor
I2CCtrl
Seismic perturbation generator
MIPS
Cache ICU Timer Serdes
Interconnect
TXRX
RAMSeismicsensor
I2CCtrlNode 0 Node 3
…
Digital, BCA, SocLib
Analog, SystemC-AMS TDF, Physics, ��
Analog, SystemC-AMS ELN, Electrical, Bus
Analog, SystemC-AMS TDF, RF
Embedded software
SOFT SOFT
N3N2
N0 N1
(xe,ye)
Geometry
C0(x0,y0) C1(x1,y1)
C2(x2,y2) C3(x3,y3)
V
epi(xe,ye)
UE HETER
• UE projet, optionnelle, le mardi après-midi (2H Cours visio+2H TP)
• Première année d’existence :)
• Cours 1 (FP) : Présentation du projet, introduction à SystemC-AMS (TDF,
ELN)
• Cours 2 (HA) : Modélisation RF 1 (TDF)
• Cours 3 (HA) : Modélisation RF 2 (TDF)
• Cours 4 (HA) : Modélisation ADC, sigma-delta (TDF)
• Cours 5 (JD) : Modélisation Bus de terrain I2C 1 (ELN)
• Cours 6 (JD) : Modélisation Bus de terrain I2C 2 (ELN)
• Cours 7 (FP) : Intégration, programmation application embarquée
Lien avec l’UE SystemC
• SC 1 (FP) : Introduction à SystemC
• SC 2 (FP) : Programmation SystemC
• SC 3 (FP) : SocLib / Utilisateur
• SC 4 (FP) : SocLib / programmation
application embarquée
• SC 5 (FP) : Autres niveaux de
modélisation
• SC 6 (FP) : Transaction Level Modeling
• SC 7 (JD) : SystemC-AMS
• Cours 1 (FP) : Présentation du projet,
introduction à SystemC-AMS (TDF, ELN)
• Cours 2 (HA) : Modélisation RF 1 (TDF)
• Cours 3 (HA) : Modélisation RF 2 (TDF)
• Cours 4 (HA) : Modélisation ADC, sigma-
delta (TDF)
• Cours 5 (JD) : Modélisation Bus de terrain
I2C 1 (ELN)
• Cours 6 (JD) : Modélisation Bus de terrain
I2C 2 (ELN)
• Cours 7 (FP) : Intégration, programmation
application embarquée
page 1© Fraunhofer IIS/EAS, 2009
SystemC AMS for the Design of Complex Analog
Mixed Signal SoC’s
Karsten Einwich
Fraunhofer Institut for Integrated Circuits
Design Automation Division
Förderkennzeichen: 01 M 3086
page 2© Fraunhofer IIS/EAS, 2009
Why having AMS extensions for SystemC?
Missing is
� An agreed system modeling language and methodology to design embedded AMS
systems
� An open modeling and programming interface between AMS and digital HW/SW
system descriptions
� A platform that facilitates AMS model exchange and reuse of intellectual property (IP)
� An architecture design tool for AMS system-level design and verification
It’s time to standardize AMS extensions for SystemC !
� Open SystemC Initiative will drive standardization, deployment and support of the
SystemC AMS extensions
� Targeting an open source standard for system-level design for Embedded AMS
systems
page 3© Fraunhofer IIS/EAS, 2009
Positioning SystemC AMS Extensions
Specification
SystemC
SoC
InterfaceAMSD
RF
missingabstraction
SystemVerilog,VHDL, Verilog
VHDL-AMS,Verilog-AMS
Functional
Architecture
Implementation
page 4© Fraunhofer IIS/EAS, 2009
The SystemC AMS extensions
Objectives
� Unified and standardized modeling approach to design Embedded AMS systems
� AMS model descriptions supporting a design refinement methodology, from functional
specification to implementation
� AMS constructs and semantics in a SystemC compatible class library implemented in
C++
� Providing an interoperable modeling platform for development and exchange of AMS
intellectual property
� Creating a robust foundation for development of system-level tools
page 5© Fraunhofer IIS/EAS, 2009
OSCI AMS Working Group Roster
Steady growth in AMS WG: 53 individuals from 19 organizations� strong drive from semiconductor industry
� full support of universities and research institutes
� growing interest and participation of EDA/ESL vendors
Chair: Martin Barnasconi, NXP Semiconductors Vice chair: Christoph Grimm, Vienna University of Technology
page 6© Fraunhofer IIS/EAS, 2009
SystemC AMS Standard
� SystemC AMS DRAFT 1 available since 8th. December 2008
� Final OSCI standard expected for December 2009
� Content:
� Draft Standard SystemC AMS extensions Language Reference Manual
� Requirements specification for SystemC AMS extensions
� Whitepaper “An Introduction to Modeling Embedded Analog/Mixed-Signal Systems
using SystemC AMS extensions”
� Code example SystemC AMS extensions
page 7© Fraunhofer IIS/EAS, 2009
SystemC AMS extensions LRM Draft 1
SystemC Language Standard (IEEE Std 1666SystemC Language Standard (IEEE Std 1666SystemC Language Standard (IEEE Std 1666SystemC Language Standard (IEEE Std 1666----2005)2005)2005)2005)
Linear Signal Linear Signal Linear Signal Linear Signal
Flow (LSF)Flow (LSF)Flow (LSF)Flow (LSF)
modules
ports
signals
AMS methodologyAMS methodologyAMS methodologyAMS methodology----specific elementsspecific elementsspecific elementsspecific elements
elements for AMS design refinement, etc.
Synchronization layerSynchronization layerSynchronization layerSynchronization layer
SchedulerSchedulerSchedulerScheduler
Timed Data Timed Data Timed Data Timed Data
Flow (TDF)Flow (TDF)Flow (TDF)Flow (TDF)
modules
ports
signals
Electrical Linear Electrical Linear Electrical Linear Electrical Linear
Networks (ELN)Networks (ELN)Networks (ELN)Networks (ELN)
modules
terminals
nodes
Linear DAE solverLinear DAE solverLinear DAE solverLinear DAE solver Enabling technology:
Classes and interfaces
not defined in AMS LRM
Draft 1
User features:
Classes and interfaces
defined in AMS LRM
Draft 1Semantics
defined in
AMS LRM
Draft 1
page 8© Fraunhofer IIS/EAS, 2009
Focus of SystemC-AMS
Modeling, Simulation and Verification for:
� Functional complex integrated systems
� Analogue Mixed-Signal systems / Heterogeneous systems
� Specification / Concept and System Engineering
� System design, development of a (“golden”) reference model
� Embedded Software development
� Next Layer (Driver) Software development
� Customer model, IP protection
� -> it is not a replacement of Verilog/VHDL-AMS or Spice
� -> compared to Matlab, Ptolemy, … SystemC-AMS supports architectural
exploration/refinement and software integration
page 9© Fraunhofer IIS/EAS, 2009
Receiver
Antennafront-end
SerialInterface
Modulator/demod.DSP
Oscillator ClockGenerator
Micro-controller
Hostprocessor
Memory
Power Manage-ment
to all blocks
AudioDSP
ImagingDSP
ADC
Transmitter
DAC
RFdetector
Temp.sensor
High SpeedSerial Interface
Calibration & Control
Source: OSCI AMSWG
Analog Mixed Signal System
page 10© Fraunhofer IIS/EAS, 2009
functional
architecture
implementation
SystemC AMSextensions
data flow
signalflow
electricalnetworks
design abstraction
use cases
executablespecification
architectureexploration
integrationvalidation
modeling formalism
virtualprototyping
Source: OSCI AMSWG
MoC and Use Cases
page 11© Fraunhofer IIS/EAS, 2009
Model abstraction and formalisms
Timed Data Flow (TDF)
Modeling formalism
Use cases
Executablespecification
Architecture exploration
Integration validation
Virtualprototyping
Discrete-timestatic non-linear
Non-conservative behavior
Model abstractions
Continuous-timedynamic linear
Linear Signal Flow (LSF)Electrical Linear
Networks (ELN)
Conservative behavior
page 12© Fraunhofer IIS/EAS, 2009
SystemC AMS extensions - concept
AMS models of computation are not based on communication / synchronization of
processes
� instead, AMS descriptions represent an equation system
AMS modeling formalisms based on known models of computation (MoC)
� Data flow
� Signal flow
� Electrical networks
An AMS primitive module represents a set of equation, which has to be contributed
to the overall equation system
An AMS interface / channel represents a node in a conservative system or a variable
in a non-conservative system
page 13© Fraunhofer IIS/EAS, 2009
13
SystemC AMS extensions – elements 1/2
Timed Data Flow - efficient simulation of discrete-time behavior
� Data flow simulation accelerated using static scheduling
� Schedule is activated in discrete time steps, introducing timed semantics
� Support of static non-linear behavior
Linear Signal Flow - simulation of continuous-time behavior
� Differential and Algebraic Equations solved numerically at appropriate time steps
� Primitive modules defined for adders, integrators, differentiators, transfer functions, etc.
Electrical Linear Networks - simulation of network primitives
� Network topology results in equation system which is solved numerically
� Primitive modules defined for linear components (e.g. resistors, capacitors)
and switches
page 14© Fraunhofer IIS/EAS, 2009
14
SystemC AMS extensions – elements 2/2
AMS methodology-specific elements � Unified design refinement methodology to support different use cases � Time domain simulation and Small-signal frequency-domain AC and noise analysis
User-defined AMS extensions� Additional simulators and solvers can be linked in a C++ manner � Using the synchronization layer for the communication with SystemC
Synchronization with SystemC� Fixed time-step synchronization with SystemC� Predefined converter ports and converter modules/primitives to synchronize
between TDF, LSF and/or ELN and SystemC
Each model of computation has its own namespace � Timed Data Flow: sca_tdf� Linear Signal Flow: sca_lsf� Electrical Linear Networks: sca_eln
page 15© Fraunhofer IIS/EAS, 2009
SystemC/SystemC-AMS specific Advantages
� Can be tailored and optimized for specific applications
� Support of customized methodologies and their combination
� The tradeoff between accuracy, simulation performance and modeling effort can be optimized for each system part by using the interoperability of an arbitrary number of Models of Computations (MoC)
� Encapsulation of subsystems which leads to scalability and modularity
� Easy software integration and powerful debug possibilities
� Full power of C++ available (e.g. language, libraries, encapsulation concepts)
� Easy IP protection by pre-compilation and integration into other tools and design flows via C interfaces
page 16© Fraunhofer IIS/EAS, 2009
Why different analogue MoC?
� Modeling on different abstraction / accuracy levels yields the possibility to apply
specialized algorithms, which are orders of magnitude faster than a general
approach.
� It is possible to reduce the solvability problem significantly.
� Due to the encapsulation of analogue MoC / solvers SystemC-AMS models are very
well scalable – very large models can be handled.
� Examples for specialized analogue Models of Computations:
� Linear Networks / Differential-Algebraic Equation (DAE) systems
� Non-linear Networks / DAE systems
� Switched Capacitor Networks (leads to simple algebraic equation)
� Dataflow solver for Signalflow Descriptions and Bond Graphs
page 17© Fraunhofer IIS/EAS, 2009
Modeling with multiple MoC
Linear electrical net-works
(conservative)
Discrete event(SystemC modules)
Embedded linear analogue
equations
Multi-rate static dataflow,
frequency domain
Signalflow(non-conservative),frequency domain
C – Codefor target processor
page 18© Fraunhofer IIS/EAS, 2009
Conclusion
� SystemC together with the extension SystemC AMS is suitable for creating executable
specification, virtual prototypes and architectual level models for EAMS systems
� An experimental prototype can be downloaded under: www.systemc-ams.org (not
compatible with the DRAFT 1 standard)
� SystemC AMS DRAFT 1 standard is public available: www.systemc.org
� OSCI SystemC AMS 1.0 standard is expected in December 2009
� Information of the Fraunhofer SystemC AMS activities and documentation:
www.systemc-ams.eas.iis.fraunhofer.de
The wave equation
http://www.mtnmath.com/whatrh/node66.html
Continuous / Discrete modeling
• A discrete model can approximate a continuous
one to any desired degree of accuracy.
• Developing such approximations is an important
field in applied mathematics.
• It is not possible to model a continuous equation
on a digital computer. Thus discrete
approximations provide the only practical
approach to a great many problems.
The wave equation
• The wave equation is,
in physics, the
general equation
which describes the
propagation of a
wave.
• In an homogeneous
world, the equation is:
(where N is the space dimension) is called laplacian
• This notation defines a partial differential equation. In spite of its foreboding appearance it says something simple. Think of as the level of water z in at a single point in a lake. This equation describes how the level changes based on conditions in its immediate neighborhood. The equation applies to every point on the lake so we can use it to model the dynamic behavior of a wave.
• The term on the left of the equal sign is the rate at which the level is accelerating up or down at this point. The term on the right hand sums acceleration across each spatial dimension at the same point.
• For the surface of a lake there are two spatial dimensions. v2 is the velocity of the wave. The equation « says the rate at which the level is accelerating in time at a give point is proportional to the sum of the rates at which the level is accelerating across each dimension in space at that point ».
• The wave equation is the universal equation of physics. It works for light, sound, waves on the surface of water and a great deal more.
Discretized wave equation (1)
• There are many ways to discretize the wave equation. One of the simplest is to define a grid or array of points.
• Instead of defining the value of a function everywhere we consider only selected points. The more closely these points are spaced the more accurate an approximation to the continuous case and the more time consuming the computation.
• To keep things simple we will consider two dimensions in space and one in time. It is straightforward to move to three spatial dimensions.
Discretized wave equation (2)
Discretized wave equation (3)
Discretized wave equation (4)
Discretized wave equation (5)
Same x,y propagation rates
Initial value
We set z(i,j,-1) = z(i,j,1) for symmetry reasons
Works best for
Le TP
i_wavegen
i_sensor0
i_sensor1
i_sensor2
i_sensor3
set_T(10 ms)