Modeling and Refining HeterogeneousSystems With SystemC-AMS:
Application to WSN
M. Vasilevski
F. Pecheux, N. Beilleau, H. Aboushady
K. Einwich*
Laboratory LIP6 University Pierre and Marie Curie, Paris 6, France*Fraunhofer IIS/EAS, Dresden, Germany
March 2008
1.Issues
2.SystemC-AMS Languagea. Models of Computation
b. SDF Behavioral Description
c. SDF Multi-rates
3.RF and AMS Modelinga. AMS Models
b. RF Models
4.Wireless Sensor Network Node
5.Conclusion
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
3
1. Issues : Mixed Systems Design
A/D Converter Microcontroller RF Transceiver
SystemC
VerilogVHDL
Matlab
Verilog-AVHDL-AMS
Spice-RF
Matlab
Verilog-AVHDL-AMS
Spice
1.Issues
2.SystemC-AMS Languagea. Models of Computation
b. SDF Behavioral Description
c. SDF Multi-rates
3.RF and AMS Modelinga. AMS Models
b. RF Models
4.Wireless Sensor Network Node
5.Conclusion
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
5
SystemC Simulation Kernel
DE, MoCs(CP,FSM,
etc…)
Synchronisation Layer
OtherModeling
Formalism
LNModeling
FormalismSDFModeling
Formalism OtherSolver
LNSolver
SystemCSystemC-AMS
SynchronousData Flow
LinearNetwork
2.a Models of Computation
Models of computation :
•Conservative Linear network
•Synchronous Data Flow
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
6
2.b SDF Behavioral Description
A
B
Inp
ut
Ou
tpu
tBehaviour
C
SCA_SDF_MODULE(B)
SCA_SDF_IN<double>SCA_SDF_OUT<double>
void sig_proc( )
f(input)Output
Sb...Sbb
Sa...SaaH(S) m
m10
nn10
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
7
2.c SDF Multi-Rates
A B C1 2 1 3 2 1
8 Hz 16 kHz 48 kHz 24 kHz
rate_sample_in
freq_sample_in
rate_sample_out
freq_sample_out
s5.62 Simulation sample time
Simulation rates
Tin Tout
Cluster
1.Issues
2.SystemC-AMS Languagea. Models of Computation
b. SDF Behavioral Description
c. SDF Multi-rates
3.RF and AMS Modelinga. AMS Models
b. RF Models
4.Wireless Sensor Network Node
5.Conclusion
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
9
3.a AMS models : Integrator
S
A
SCA_SDF_MODULE (integrator){ sca_sdf_in < double >in; sca_sdf_out < double >out;
double f; sca_vector < double >NUM,DEN,S; sca_ltf_nd ltf1;
void set_coeffs(double A){ DEN (0) = 0.0; DEN (1) = 1.0; NUM (0) = A; } void sig_proc(){ out.write(
ltf1(NUM, DEN, S, in.read())); } SCA_CTOR (integrator) {}};
In/Out ports
Other Attributes
Initialisation method
Signal processing method
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
10
3.a AMS models : Decimator
1z1
Decimator
21z1 2 1z1 2
SCA_SDF_MODULE (decimator){ sca_sdf_in < double >in; sca_sdf_out < double >out;
double old_input;
void init(){ in.set_rate(2); out.set_rate(1); old_input=0; } void sig_proc(){ double input=in.read(0)/2; out.write(old_input+input); old_input=input; } SCA_CTOR (decimator){}};
1.Issues
2.SystemC-AMS Languagea. Models of Computation
b. SDF Behavioral Description
c. SDF Multi-rates
3.RF and AMS Modelinga. AMS Models
b. RF Models
4.Wireless Sensor Network Node
5.Conclusion
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
12
3.b RF models
Power gain NF Rin RoutIIP3
Na
input outputRout
Rin a1 = f(Power gain, Rin, Rout)
a3 = f(a1, IIP3)
Na = f(NF)
a1x+a3x³
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
13
Input amplitude = -16.02 dBm
Power Gain = 10 dB
IIP3 = 10 dBm
NF = 30 dB
3.b RF models : IIP3 and Noise Figure Test
FFT BW = 120kHz
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
14
X(t) = DC + I1cos(t) + I2cos(2t) + I3cos(3t) + Q1cos(t) + Q2cos(2t) + Q2cos(3t)
DC I1 I2 I3
Q1 Q2 Q3
0 2 3xBB(t) =
3Q
2Q
1Q
3I
2I
1I
DC
3.b RF models : Baseband Equivalent
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
15
SCA_SDF_MODULE (adder){ sca_sdf_in < double >inI; sca_sdf_in < double >inQ; sca_sdf_out < double >out;... void sig_proc () { out.write (inI.read()+ inQ.read()); }...
class BB{ double DC,I1,I2,I3, Q1,Q2,Q3;... BB operator+(BB x)const{ BB z(this->DC+x.DC, this->I1+x.I1, this->I2+x.I2, this->I3+x.I3, this->Q1+x.Q1, this->Q2+x.Q2, this->Q3+x.Q3); return z; }...};
SCA_SDF_MODULE (adder){ sca_sdf_in < BB >inI; sca_sdf_in < BB >inQ; sca_sdf_out < BB >out;... void sig_proc () { out.write (inI.read()+ inQ.read()); }...
3.b RF models : Baseband Equivalent Implementation
)tsin()BA()tsin(B)tsin(A
)tcos()BA()tcos(B)tcos(A
1.Issues
2.SystemC-AMS Languagea. Models of Computation
b. SDF Behavioral Description
c. SDF Multi-rates
3.RF and AMS Modelinga. AMS Models
b. RF Models
4.Wireless Sensor Network Node
5.Conclusion
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
17
4. Wireless Sensor Network Node
• Wireless sensor network for environmental and physical monitoring:
o Temperature, vibration, pressure, motion, polluants
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
18
4. Wireless Sensor Network Node
A/D Converter Microcontroller
RF Transceivermodulator
decimator
Application Binary File
8.53 MHz 2.4 MHz 2.4 GHz
SystemC
SystemC-AMS
2nd orderOSR=6410 bits
RZ feedback
QPSKfc=2.4GHz
ATMEGA1288 bits
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
19
4. Wireless Sensor Network NodeRF : QPSK 2.4 GHz
64OSR
order2nd
ADC :
S
1
S
1
DAC
decimator+
- -+
encoder demux
filter
filter
muxLNA
T
1
T
1
)tf2cos( c)tf2cos( c
)tf2sin( c )tf2sin( c
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
20
4. Wireless Sensor Network Node : Results
RF Simulation
(2.4 GHz)
SC-AMS classical simulation
SC-AMS BB eq. RF simulation
1000 bits
transmission
63.0s 0.036s
DC offset 19.9s 0.018s
Frequency offset
24.9s 0.022s
Phase mismatch
44.4s 0.031s
Noisy channel DC offset
Frequencyoffset
Phase mismatch
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
21
4. Wireless Sensor Network Node : Results
Settings Simulation Matlab SystemC-AMS
ADC alone OSR=64
10 bits
8.53MHz
16*1024 pts 1.6 s 0.9 s
RF alone 2.4 GHz 10e3 bits
10e7 pts RF
150.7 s classic BB
63.0 s 0.036s
2-nodestransmission
Same
settings
10e3 bits - 181.7 s
M. Vasilevski University Paris 6 Fraunhofer IIS/EAS
22
Conclusion
Advantages to use SystemC-AMS:• Digital and Analog-Mixed Signal systems simulation
Interface with SystemC
• Simulations very fast C++ based
• Polymorphism Easy to refine components with C++ inheritance ability Generic declaration of components with C++ templates
• Easy software programmer contribution Example of a free FFT library used for IIP3 test.