Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of...

11
Institut für Computertechnik ICT Institute of Computer Technology 20.07.22 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph Grimm Vienna University of Technology Martin Barnasconi NXP Semiconductors

Transcript of Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of...

Page 1: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut fürComputertechnik

ICTInstitute ofComputer Technology

19.04.23 1

Interaction of SystemC AMS Extensions with TLM 2.0

Markus Damm, Christoph GrimmVienna University of Technology

Martin BarnasconiNXP Semiconductors

Page 2: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 2

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

SystemC TLMSystemC AMS

Embedded AMS systems

Tight interaction between AMS and digital HW/SW sub-systems

Dedicated interfaces between analog and digital domain How should a TLMAMS interface be defined?

AMS-TLMinterface

Page 3: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik

“TDF-Cluster“

19.04.23 3

SystemC AMS TDF

A

C D

Timed DataFlow – Synchronous Dataflow with timing annotation

Enables static scheduling – fast simulation of sampled analog signals at discrete time points

Sampling period associated to token production/consumption

B

50100

100

1

11

01001100

Sine-source

Bit-source

Modulation Environment

data rates

e.g. sampling period of 2 mshere…

…implies a samling period of 20 s here!

2 ms

20 s

2 ms

20 s20 s 20 s

Page 4: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 4

SystemC AMS – SystemC synchronization

SystemC AMS has its own execution semantics and simulation time synchronization needs!

SystemC AMS provides converter ports which allows TDF modules to connect to usual SystemC Discrete Event signals.

Accessing these ports triggers synchronization to SystemC kernel

Note: SystemC AMS is temporally decoupled, similar to the TLM 2.0 loosely timed coding style!

TDF-module2 ms

rate 3

3 ms

rate 2ms ms

tokenvalid at 4038363432302826 26 29 32 35 38 4142

Note that tTDF tDE always holds!

If the data rate is > 1, the data token even “warp ahead“ tTDF !

26 mstTDF

32 ms 38 ms 26 ms 32 ms 38 ms

20 mstDE

20 ms38 ms 38 mssynchronization

tTDF ↔ tDE

Page 5: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 5

Requirements for AMS-TLM interface Avoid “signal-level” interface (DETDF converter ports)

between AMS and TLM avoid unnecessary kernel context switching maintain concept of “loosely coupled independent

processes”:avoid strict timing synchronization between processes

Create direct interface between AMS Timed Data Flow and TLM 2.0 Loosely-timed coding style maintain temporal decoupling for both engines efficient packing an unpacking of “analog samples” (data)

in/from transactions Introduction of specialized converter modules /

channels can be instantiated and configured by the user part of design refinement methodology

Page 6: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 6

Basic idea of a generic TLMTDF converter

WRITE transaction data is streamed to TDF cluster directly

Incoming TDF “samples” are passed to READ transactions

The converter has to be part of the TDF-cluster Transactions mostly won’t come in regularly We use

buffers which are accessed via transactions The TDF cluster might run ahead too far in time

We need synchronization means!

TLMTDFconverter

TDF-CLUSTE

R

TLMInterconnect

output-buffer

input-bufferdummy

DE signalTDF

sub module

TDF

sub modul

e

DETDFconverter

port

…and: what means “too far” exactly?

Page 7: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 7

Implementation Our current conversion approach assumes loosely timed

initiators Blocking interface, no backward path used Initiators may use temporal decoupling

Issues: Transactions may arrive out of order (delays)

we need buffers which also keep timing information If a write-transaction has a delay annotation, the converter

doesn’t know if the buffer has enough space by that time we need a projected free buffer space concept

TLM and TDF might warp ahead too much of each other we need to trigger synchronization

Page 8: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 8

TLMTDF converter implementation

TLM TDFconverter

TDF-CLUSTE

R

TLMInterconnect

TDF

sub module

output-buffer

The output buffer keeps the timestamp of the transaction the respective data was sent with (similar to payload event queue). If the TDF sub-module fires, it uses only data with a

timestamp the current SystemC AMS time If an incoming transaction has a delay > 0, a projected free

buffer space is computed the transaction is returned with an error if the (projected)

free buffer space is too small for the data Synchronization: buffer underrun

WRITE-transactions

Page 9: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 9

TDFTLM converter implementation

TDF TLMconverter

TDF-CLUSTE

R

TLMInterconnect

TDF

sub module

input-buffer

If the TDF submodule fires, the incoming data token are copied into the input buffer (usual FIFO). We store only the timestamp of the oldest buffer token Transactions are annotated with an delay according to the

timestamp of the youngest token returned If buffer holds not enough data for the read request, an

error is returned Synchronization: buffer overflow

READ-transactions

Page 10: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 10

Conclusion / future work Connecting TLM2 and SystemC AMS models makes

sense regarding the design of mixed signals SoCs Efficient communication between AMS and digital HW/SW

part Sophisticated synchronization

TLM2 temporal decoupling processes can work well together with SystemC AMS statically scheduled TDF processes.

The presented work is a technical feasibility analysis, more groundwork has to be done. Study Approximately-timed initiators and converter

channels Apply methods to Real-life demonstrator

Page 11: Institut für Computertechnik ICT Institute of Computer Technology 09.09.2015 1 Interaction of SystemC AMS Extensions with TLM 2.0 Markus Damm, Christoph.

Institut für Computertechnik 19.04.23 11

Thank you for your

attention!Your: questions comments ideas objections