tutorial 4 system level design an industrial perspective laurent maillet-contoz, st microelectronics...

Post on 23-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tutorial 4System Level Design

An Industrial Perspective

Laurent Maillet-Contoz, ST Microelectronics

Guido Stehr, Infineon Technologies

Sören Sonntag, Lantiq

Drew Taussig, Synopsys

Sylvian Kaiser, DOCEA Power

Enno Wein, ProximusDA

Speakers

Moderator Guido Stehr, Infineon Technologies

Cell phones offNo photography

Concept of this Tutorial

“System Level Design” – Covers wide range of problems and solution techniques

– Young discipline: Established but still evolving

Goal:– Give you an idea of how varied this discipline is

– Show what has arrived in industrial practice

2

Contributions Overview presentation:

– Guido Stehr, Infineon Technologies: Transaction Level Modeling in Practice:

Motivation and Introduction

Focus presentations:– Laurent Maillet-Contoz, ST Microelectronics:

Standards for System Level Design

– Sören Sonntag, Lantiq: Design Space Exploration and Performance Evaluation

at Electronic System Level for NoC-based MP-SoC

– Sylvian Kaiser, DOCEA Power: ESL Solutions for Low Power Design

– Enno Wein, ProximusDA: HW / SW Co-Design of Parallel Systems

– Drew Taussig, Synopsys: Application Specific Processor Design

3

1

2

3

4

5

coffeebreak

Transaction Level Modeling in Practice:Motivation and Introduction

Nov. 9th, 2010

Dr. Guido StehrDr. Josef Eckmüller

Infineon Technologies AG

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for system design in TLM style

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

5

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

6

Historic Trends in System Design

Increasing design complexity– Technological progress

Duplication of transistor count every two years

– Chip-level integration Combination of formerly separated chips

– Chip business platform business Vendor offers entire chip sets including software

Changing design styles– Shift in HW/SW partitioning

Custom HW programmable cores (standard/custom) + SW

– Increasing importance of IP Focus of in-house development on differentiators

7

5

Emerging Trends in System Design

Introduction of multi-core architectures– Heterogeneous

Controller + DSPs

– Homogeneous Software Defined Radio with massive parallelism (> 20 cores)

Networks on chip– Increasing throughput requirements

Buses crossbars networks on chip (NoC)

Advanced power management– Battery life is key

Problem: Increasing demand for flexibility and processing power

8

2

3

4

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

9

SystemC as Modeling Language

Challenges:– Tight interaction between HW and SW development

– Large systems to be modeled

Abstraction level beyond RTL required– Our solution: SystemC (C++ library)

Suitable for HW and SW development• Naturally inherits SW aspects• Adds features for HW modeling (parallelism, HW signals, etc.)

Applicable to large systems• Supports abstraction well due to power of C++

Includes simulation kernel• Combination of model and simulator in one executable

10

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

11

Bus at Transaction Level: function call

write(addr, data)read(addr, data)

initiator target

Communication: Abstraction

12

RX/TX

valid

addr

data

targetinitiator

Bus at RT Level: signal protocol

e.g. TLM 2

Transaction Level does not define a precise level of abstraction

customHW

HW signals still possible

Basic idea of transaction level modeling (TLM):– Hide details of communication protocols– Represent communication transactions by function calls

More general: Hide HW implementation details

1

Communication: Timing

Programmer’s View (PV)– Non-blocking transaction function calls

Focus: functionally correct sequence of function calls Time not modeled explicitly

13

PV

initiator target

Communication: Timing Example

write(addr, dat)

write(addr, dat)

14

Communication: Timing

Programmer’s View (PV)– Non-blocking transaction function calls

Focus: functionally correct sequence of function calls Time not modeled explicitly

Programmer’s View with annotated Timing (PVT)– Non-blocking transaction function calls

Transaction target yields delay time as return value Initiator lets simulation time advance by given amount

15

initiator target

PVTPV

initiator target

Communication: Timing Example

16

t0

t0+d

d

write(addr, dat)

write(addr, dat)

write(addr, dat, d)

write(addr, dat, d)

t

Communication: Timing

Programmer’s View (PV)– Non-blocking transaction function calls

Focus: functionally correct sequence of function calls Time not modeled explicitly

Programmer’s View with annotated Timing (PVT)– Non-blocking transaction function calls

Transaction target returns delay time Initiator lets simulation time advance by given amount

Cycle Callable (CC)– Blocking transaction function calls

Alignment with a periodic clock signal

17

CC

initiator targetinitiator target

PVTPV

initiator target

Communication: Timing Example

18

t0

t0+d

d

write(addr, dat)

write(addr, dat)

write(addr, dat)Tclk

write(addr, dat)

write(addr, dat, d)

write(addr, dat, d)

t t

Efficiency vs. Accuracy

19

accuracy

efficiency

TLM 2 LTPV

CC

PVT

TLM 2 AT

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

20

Computation: Timing

Clocked– Periodic clock event providing temporal pattern

– Units triggered each cycle

21

t

Computation: Timing Examle

22

timer

clk cnt rdy

cnt = 2> 0

cnt = 1> 0

cnt = 0== 0

Tcnt = 3

> 0

clock events

0clk 1 toggling

signal

0

1Xrdy

Computation: Timing

Clocked– Periodic clock event providing temporal pattern

– Units triggered each cycle

Event-driven– Units react to events (from transactions, signal changes, etc.)

– Events scheduled on demand for certain points in time

23

t

Event-driven

Computation: Timing Examle

24

cnt = 3> 0

cnt = 2> 0

cnt = 1> 0

cnt = 0== 0

clk0

1

tT

0

1Xrdy

clock events

togglingsignal

3 Tcnt = 3

!= 0

0

1Xrdy

clkclockperiod

timer eventtransaction event

Clocked

= T

Combinationsof

modeling styles

When to Apply What Modeling Style?

25

Modeling style depends on required level of detail– HW with tight feedback loops

CC– Hardware-dependent SW

PVT, possibly with selected HW blocks in CC fashion Synchronization wrappers PVT CC

– SW PVT with simplified HW models

Event-driven Clocked

Computation

CC

PV

PVT

Com

mun

icat

ion

Stream-Driven Models

Stream-driven paradigm (Kahn Process Networks, KPNs)

26

P1

input

output

P Process: Triggered by availability of data

Infinite FIFO

P2

P3

No notion of time!

popular for data flow modeling

Embedding KPN in TLM

27

data out FIFO

data in FIFO

timerclock

ready

transaction

TL wrapper adds timing to untimed KPN

t = t0t = t0 +

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

28

Consistency Between TLM and RTL

Ensure consistency TL model RTL implementation– Code generation from spec

Interface (registers, memories, ports)• TLM / RTL: stub models• SW: register / memory access functions

Function• State machines: UML TLM / RTL

– High-Level Synthesis Requirements on input model: clocked, wire accurate

– Assertions Ensure essential properties

– Common testbench

29

Common Testbench: RTL in TLM

30

TLM

RTL

target_2

bus model

target_1

transactions

transactorTLMRTL

signals

initiator

typetranslator

• Transactions signals: transactors (FSMs)• Incompatible signal types: type translators (no internal states)• Compatible signal types: direct connect

RTL in TLM: Test RTL implementation in system context

TLM in RTL: Test TL model in legacy RTL testbenches

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

31

Applications

TLM up to 100x faster than RTL Simulate entire system– Check correct system functionality

Assertions Signal traces Event logs Program traces

– Quantitative analyses Inspect statistics collected by modeled units

• CPU cores• Buses• Custom HW

– SW development / debugging Target SW debugger

32

DSPblock 1

DSPblock 2

DSPblock N

CPU FSM

control/state

control/state

Check of Transmitter Performance

Typical performance simulation– 1 GSM frame (approx. 3.5 ms)

RTL: 30min TLM: 35sec

Speedup: 50x33

HW focus:– PVT/CC TL model: bit and cycle true signal chain

symbolgenerator

signalanalysis

timinganalysis

Core Selection

Uncached core with expensive on-chip memory

Simulate UMTS data transmission on both architectures

Cached core required 20% faster clock

34

1000 1200

MHz

0

cacheduncached

1400 slots

cached core with cheap off-chip memory

Port of 3.5G Signal Processing SW

Challenge: – General purpose core replaced by dedicated DSP

Efforts:– Update system simulation model: 1 day

– Port software to DSP: 1 month

Benefit:– Software available several months before silicon

35

Outline Transaction Level Modeling (TLM): Motivation

– Historic and emerging trends in electronic system design

– SystemC as language for TLM

TLM: Introduction– Modeling basics

Communication Computation

– Consistency between TLM and RTL

– Applications

Conclusions

36

Conclusions

Transaction level modeling (TLM):– Enables simulation of today’s complex electronic systems

– Common ground for SW and HW development

– More an art than a science Leaves and requires a great deal of modeling flexibility

– Has become indispensible in Infineon’s design flow

37

Thank you!

Extra Material

Cache trade-off analysis

Performance analysis

Core models

SW success stories

38

Optimal cache size?

Modify cache size and re-simulate testcases

Cache larger than 4kB not justified here

Cache Trade-off Analysis

39

0 4 8 16 32

20

30

10

CPU load [MHz]

cache size [kB]0

Question: Enough performance for 3.5G data transmission?

Scenario: Run critical testcases, analyze core statistics

Result: Plenty of headroom available

Performance Analysis

40

0 2 4 6data rateuplink

[Mb/s]

10

0

20

30

40

50 downlinkdata rate[Mb/s]

CPU load [%]

5.410.7

2.71.3

Core Models

CPU models essential for core-based designs– Instruction set simulator (ISS)

Emulates behavior of target core on host CPU Accurate Not very fast

– Performance optimized model Maps instructions of target core to native functions of host CPU Fast execution High costs

– CPU interface model Covers HW interface of target core (registers, interrupts, reset) SW code is compiled for native CPU

• Before compilation: HW accesses are mapped to transactions Fast, cheap Limited timing accuracy

41

SW Success Stories 3.5G signal processing

– Challenge: General purpose core replaced by dedicated DSP

– Efforts: Update system simulation model: 1 day Port software to DSP: 1 month

– Benefit: Software available several months before silicon

3.5G control code– Challenge:

Verification: power-up, boot phase, host/device communication

– Required model quality: Full functional coverage Simulation speed > 1/20 HW speed

– Benefit: Control code debugged prior to silicon availability 42

top related