Modelling of Systems on Chip Part of Tutorial A: Automatically Realising Embedded Systems From High-Level Functional Models Wido Kruijtzer, Victor Reyes NXP Semiconductors March 10, 2008
Outline NXP Products / challenges Abstraction Levels Functional Modeling Architecture Modeling Summary
2
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
1
NXP Semiconductors – Reborn and Renewed Spin-out of Royal Philips Electronics’ Semiconductor Division #2 in Europe, Top-10 global supplier Sales of € 4.6 billion in 2007 37,000 employees / 7,500 engineers Investing € 950 million in R&D annually 25,000+ patents More than 26 R&D centers in 12 countries Headquarters: Eindhoven, The Netherlands Key focus areas: – Mobile & Personal, Home, Automotive & Identification, Multimarket 3
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Feature explosion in consumer products Imaging
Main display
Wired
USB
Aux display
Storage
Removable Flash
Camera
Small HDD
3D display
fixed flash
3D rendering Audio
audio codecs
SW features
Instant messaging
ring tones
PDA
MP3 Wireless
Java
GSM / GPRS modem
2-D game
UMTS / 3G Bluetooth
Setup & Control
Video
Mpeg2
FM tuner
Mpeg4
USB
H264
GPS
DivX
RF-ID WLAN DVB tuner
4
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
2
Convergence of digital consumer products KID’S BEDROOM
MASTER BEDROOM
camera
Internet radio
broadband
INTERNET
TV-to-TV link
wireless LAN
home theater audio
portable display RF remote control STUDY
KITCHEN
Media Server (DVD+RW/HDD
LIVING ROOM
The connected home 5
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Some of today’s cars … ☺
http://www.aide-eu.org/pdf/aide_nf_050120_engstroem.pdf
6
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
3
Convergence of digital consumer products Consequences: Large number of use cases Increasingly complex use cases Fast changing use cases with new applications appearing Format updates at a much higher rate than the device replacement rate Uncertain and diversified markets – Late / changing product specs, short product life cycles – Different customers / tiers have different requirements Move from implementations in hardware to software to cope with the variation and changes
7
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Exponential growth of SW in consumer products 100 MB 10x software increase every 6-7 years
10 MB Code size
1 MB
TV
100 KB 10 KB 1 KB 1970 No SW
← Moore’s law for memory (10x every 5 years)
1975
1980 1 KB
1985
1990
1995
64 KB
2000
2 MB
2005 30 MB
Source: Philips Consumer Electronics 8
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
4
Consumer electronics Characteristics Cost pressure (< $100 for electronics of large TV) Low power consumption (no fan / mobile) Large series (> 0.5 million pieces) Robustness (no hazards, no reboots) Both control and signal processing Real-time constraints (no loss of data, guaranteed response) Increasing requirements for computation & communication (more functions, higher resolutions)
9
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Consumer domain demands SoC solutions Highly integrated Systems-on-Chip to satisfy constraints on – – – –
Cost Power consumption Form factor Ease of system integration
Enabled by large volumes – To amortize high NRE of SoC development – Need to target sufficiently large market
Optimized implementations with scarce resources – Memory, bandwidth, compute cycles
10
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
5
Hybrid TV system DDR 64 MB
Channel Decoder
Hybrid Tuner
FLASH 32 MB
DDR 128 MB
NXP
NXP
PNX5100 HD MJC, 1080p@120Hz ColourWave Full up conversion Motion Blur
PNX8541
Up to 1080p @120hz Max. 1080p@60hz
DVI/HDMI
DVI/HDMI
DIGITAL AUDIO IN
DIGITAL AUDIO OUT
Audio AMP
PNX5100
Complete one chip TV:
Add on Picture Quality booster
•Cost sensitive midrange market
•Halo reduced HD Natural Motion
•Connectivity,OSD
•LCD Motion Blur Reduction
•Hybrid source decode
•Display color and Contrast enhancements
•De-interlacing •Audio/Video processing •Some video featuring
11
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Log Scale
Key industry trends – More Challenges ! Moore’s Law
Design Productivity
Cost of system design &integration is getting out of hand
Software Productivity 0.35µ0.25µ0.18µ0.15µ0.12µ0.1µ Imaging & Video Subs ys tem 2 x Mic B ia s S tereo ADC S tereo DAC S tereo DAC S tereo HF Amp.
(CoreS ig ht) TP IU
HDP
E TB
Dig . F ilter Dig . F ilter LML Dig . F ilter MTU
4k+4k TCM
ARM1176 351MHz
Increasing complexity
– At application, system, HW, and SW level – More (sub-)systems on one SoC – Single company cannot excel in all domains
Loosing grip on product quality – Exploding costs for verification – Degrading reliability and predictability
HP M VF P
E TM
I
RW M
M
M
S
P
M
2xL1 16+16kB
M
M
2 x CS I-2 2 x CCP 2 pa ra llel
IP 2032 S DRAM controlle r
2x R D16025C2 Telecom DS P 208MHz
TmVideo TM3270 350MHz
M M Wa sa bi L2 system ca che (64-bit, 351 MHz, 512 kbyte S RAM) S
M
2xL1 32+32kB
2xL1 8 +8kB
M
AXI2VP B
Keyboa rd GP ADC
ADC
Touchscreen
DAC
Da cctrl
Mis c reg s GP IO E XTINT RTC
E VP E mbedde d V ector P rocess or VD32040, 208MHz
Peripheral Subs ys tem
M P eriphera l mAXI (32-bit, 117 MHz )
AXI2VP B
ADC
P LL CGU
DP I-2 24-bit
Debug US B P rototype DMAC E J TAG OTG E xte nsion M M M3 M M Concentra tor (117MHz)
Video Conc. (117MHz)
L1 64+128kB
M
128kB Boot R OM
DBI-2 9-bit
Displa y Renoir
TV-out
M
Cellular/GPS Modem
Ra m-ba s ed Displa y E ng ine VDE
Video Renoir
Interrupt ctrl
S
AR M1156 Modem Contr. 234MHz
DS I seria l
RAM-le ss Color LCD controller P L110
2xTV DAC Mux Video & Ima g e proces sor
H.264 Accelera tor
LML
2x R D16025C1 Audio DS P 175MHz
MB X HR + VGP
D
S
2xTS R
2x IIS in 2xIIS out IOM2 2x timer
32+32 kB L1 ca che
M
3D Engine
Mux
Multi-core debug & trace TAP DAP
AF E
– Hundreds of man-years for HW/SW system – Diversity of products
WDRU
Osc
Memstick
AXI2MMIO
Ma g ic Ga te
M AXI2AHB
MC-E B I S MC
Irda -F IR
CAE
NDF -E CC
3x timer
4x I2C
Interrupt ctrl
2xS Dca rd
I2S
IP C F RU
5x UART
P WM
5x S P I
P CM/IOM2
S CON
J og Dia l
OTP DMA P L080 interfa ce
DCA? AMU? ARB
Sys tem Power Mgt (P owerWise) S P MU IE C
HP M AP C
SW Verification
More (programmable) cores in single SoC – Multi-core programming environments & debug
13
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
6
Design Solutions NXP requires a design process that is Predictable in time and performance Efficient and high quality
The key elements of such a design process are Raising the level of abstraction – System Level Design, System Integration and Verification
High level of re-use – IP reuse (HW, SW) – Verification reuse – Architecture reuse (HW,SW, appl.tasks)
Nexperia platforms
Integrated design environments – Automation of design flow
Builder tools
14
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Outline NXP Products / challenges Abstraction Levels Functional Modeling Architecture Modeling Summary
15
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
7
Design abstraction levels Specification capture T1
T2
T3
Function
T4
High level executable spec
SW
CPU
HW
SW CPU
SW (low level)
HW model (TLM)
mem
HW
mem
Functional verification
HW/SW partitioning Architecture selection
Synthesize Synthesize&
Compile
&Optimize Optimize
& Optimize
HW (RTL)
SW (code)
HW design
SW design
Architecture (TLM)
Implement’n (RTL)
16
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Design abstraction levels – System-AMS Specification
Functional Architectural Implementation
RF A(MS)
Digital System Interface
missing interactions
Verilog-A(MS)
D
C/C++ Simulink
SystemC
VHDL
SystemC-AMS
17
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
8
Outline NXP Products / challenges Abstraction Levels Functional Modeling Architecture Modeling Summary
18
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
NXP SoC Example (simplified view)
Linux
AC3
H264
MP3
MPEG-4
Audio subsystem
Image & Video subsystem
WLAN UMTS
Application subsystem
Radio subsystem
On-chip interconnect Shared off-chip memory subsystem
Connectivity subsystem
Bluetooth USB
A SoC is composed of coarse-grain SubSystems 20
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
9
SoC Level Functional Model Why do we need a functional model? Functional verification of algorithm Single model for HW and SW parts. Explore algorithmic tradeoffs Estimate resource requirements – Computational load, Communication load
Audio
Image & Video
Radio
Connectivity
AC3 MP3
H264 MPEG-4
WLAN UMTS
Bluetooth USB
21
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
SoC Level Functional Model (toplevel) Audio Radio WLAN
Control
~ 10 - 15K Loc
AC3
demux LCD
MPEG-4
PHY: ~ 10-15K Loc
~ 5K Loc
Image & Video
~ 15 - 30K Loc
Difficult to create an executable SoC level functional model Each sub-function contains hundreds of sub-blocks – Functional decomposition, Interfaces
Characteristic per functional sub-system differ – Different semantics needed • Dataflow, Process networks, Discrete Event, State Machines
– Different algorithmic tradeoffs 22
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
10
SoC Level Functional Model – Use Cases Many (complex) application use cases to handle Radio
Control
WLAN
demux
Audio AC3 Audio Image & Video MPEG-4
Connectivity
AC3 Audio
Control demux
USB
Image & Video H264
Radio UMTS
Control demux
LCD
MP3 Audio
LCD
Bluetooth
Connectivity Image & Video
And many more ……
H264
LCD
23
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
SoC functional model - Hurdles Different Models of Computation (semantics) Single functional model too complex to handle by single designer Limited tool support Many application use case to cover – “All in one” functional model not preferred
IP Re-use, platform based design Many design teams involved – Multi site, Multi culture
Solution : Divide & Conquer approach
24
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
11
Functional Modeling at IP / Sub-System Level Audio
Image & Video
Radio
Connectivity
AC3
H264
WLAN
Bluetooth
MP3
MPEG-4
UMTS
USB
Benefits of multiple functional models: Complexity can be handled more easily Optimized tools available for implementations Specific implementation technology – Domain specific, single semantics
Specialized domain know-how (e.g. competence centre) Different life-cycles
re-use 25
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Functional Model Refinement Functional refinement directly to implementation level
Refinement
Audio
Image & Video
Radio
Connectivity
AC3
H264
WLAN
Bluetooth
MP3
MPEG-4
UMTS
USB
(RTL, C)
On-chip interconnect
off-chip Mem. ctrl
26
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
12
Functional Refinement Code-generation & Co-simulation Image & Video
Radio
WLAN
H264
WLAN
UMTS
MPEG-4
UMTS
Radio
HDL code
Tesbench Code generation
Co-simulation Verification
C-code, HDL
27
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Functional Modeling – Multimedia Domain An interface centric design approach
T3
– Communicating tasks based on KPN
T1
– Optimal SW and HW interface types
HW
Task
TTL Task Transaction Level interface:
Task
– Parallel application models • Executable specifications
Task
TTL
– Platform interface • Integration of HW and SW tasks
– Structured design & programming
T4
SW
Aim: Close gap between specification and implementation
Mapping technology
T2
T TTL
Mapping A
S
K
S
Platform Infrastructure [CODES04]
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
28
March 10,2008
13
Example TTL based designs Smart Imaging Core TTL API
HLA MLA
Motion Segmentation
LLAs Smart Imaging Coprocessor
SW Shell ARM 9xx CPU
TTL SW Shell TTL interface
Motion Estimator Coprocessor
VLIW
HW Shell Interconnect
HW Shell TTL
Embedded Memory
Video Input
Memory Ctrl
Peripherals
Ext. SDRAM
[CODES05] , [DAES06] 29
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Functional modeling - Simulink Bluetooth - EDR Started with Simulink built-in models. Developed a complete TX chain, including analog/RF blocks. – Simulated the transfer function of the modulator and verified it against the Bluetooth standard specification
Converted the design into fixed-point format . – Verified the functionality of the fixed-point design against the Bluetooth standard.
Generated (manually) a bit-compatible RTL description of the Simulink fixed-point model. Evaluated the modulator on an FPGA platform. Next step: HDL generation directly from Simulink 30
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
14
Functional modeling - ADS/Ptolemy Wireless LAN radio system
Functional model used as testbench for circuit design
31
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
What’s next after functional modeling? Functional to implementation problems SoC integration happens at RTL / C level – Complex and error prone – Iterations are not possible (first implementation/configuration that work instead of best/optimized one)
Main usage of the Implementation level is for pre-silicon verification – But complete system is hard to simulate/verified all together
SoC integration at the implementation level introduces a big gap – Complex and error prone – Iterations are not possible (first implementation that work instead of best one)
An intermediate step before implementation is required Architecture level – Main usage is SoC integration, analysis and debug 32
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
15
Outline NXP Products / challenges Abstraction Levels Functional Modeling Architecture Modeling Research challenges Conclusions
33
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Architectural Level – Key concepts Abstraction
TLM
– Increasing block granularity •
Gates (80’s), HDL (90’s), IP blocks (2000), SubSystems (2010)
– From RTL to TLM (Transaction Level Modeling) •
but TLM covers only HW architecture, all system aspects need to be modeled together (i.e. architecture, application, constraints, etc)
RTL Gate level
Separation of concerns – Computation / Communication / Cost – Behavior / interfaces
Refinement – Synthesis and transformation techniques
Standards – OSCI (SystemC and TLM standards) – SPIRIT (IP-XACT)
34
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
16
Architectural model => Virtual prototype Available early in dev. cycle
Enables early HW/SW co-design & co-verif.
HW/SW architecture & Impl. problems identified early
IC design
Specification
Virtual Platform
Fab
Short system bring-up time
Demo Board
System Validated
System Pre Validated
HW dependent SW
System Integration
Technology Implementation:
Observability / Controlability / Debuggability
35
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
But more than one architectural model is required Functional partitioning and relative performance exploration
SW development and optimization
System-level functional verification
HW development and optimization
Interconnect and memory hierarchy dimensioning
System-level performance verification
timeline SoC level Specification
IP / Subsystem level Implementation
SoC level (pre-silicon) Verification
Use-case driven approach Different activities per design phase – Specification: exploration and dimensioning (SoC level) – Implementation: SW and HW development and optimization (IP and SubSystem level) – Verification: functional and non-functional verification of both HW and SW together
Activities have different requirements 36
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
17
Different use-cases, different requirements Use-case
Description
Functional partitioning and relative performance estimation
Enable extensive architectural exploration (what-if scenarios)
Interconnect and memory hierarchy dimensioning Application SW development and optimization
Middleware HW dependent
Focus on: task mapping, task scheduling, memory allocation, resource allocation, etc HW architecture dimensioning Focus on: bandwidth, latency, buffering, arbitration policies, etc End-user SW applications (platform services based) Multicore debugging Complex algorithms and codecs (H264, MP3, UMTS, AES etc) SW platform services Low-level drivers, HW abstraction layers (HAL) Must be very optimized
HW development and optimization
VP as a system-level test-bench for the HW IP
System-level functional verification
HW/SW integration and verification (complete SW stack)
System-level performance verification
Very accurate performance and power estimations
High Level Synthesis / RTL co-simulation (transactors)
Extensive verification of scenarios
Representative (worst-case) scenarios
RTL speed up x104
x102
Behavior accuracy
Timing accuracy
Mixed abstract performance and functional models
x102
Absolute ±10%
Fully functional models
Absolute ±1% Absolute ±10%
x103 x103 x102
Absolute ±10% Absolute ±20%
x104 x103
Relative (fidelity)
Absolute ±10%
Fully functional models
Absolute ±1%
37
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Different requirements, different models? In an ideal world one model fits all – Ultra fast models + 100% cycle accurate + push-button availability
Unfortunately today we still need the right model for the right use-case… but one model per use-case is an overkill – Huge effort to create and maintain every model – How to assure consistency between models?
Accuracy Speed
Model reuse and refinement is a must… but modeling is a multidimensional problem – High speed models contains very little time information – Very accurate models are typically slow and are difficult to create – No clear refinement paths from one model to another
Effort
And different types of models have different particularities – – – –
Processing units (CPU, DSP, etc) Interconnects (busses, bridges, routers, etc) Memory subsystem (L1-L2 cache, memory controllers, memories, etc) Peripherals (IO blocks and slave HW accelerators)
Getting to the right model is the critical task 38
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
18
Modeling concepts Minimizing the modeling effort – Library of predefined building blocks to compose IP models – Well defined methodologies and guidelines – Standard set of IP interfaces to assemble IP models (avoid adaptors)
Modeling for speed – Minimize the number of simulation events / context switches – Coarse grain computation and communication – Binary translation techniques for processors / host-code emulation techniques
Modeling timing – Accurate timed models are very hard to create – Approximated timed models are easier (but when it is good enough? ) – Define accuracy windows, where the window size depends on the use-case
Refinement – Interfaces/Communication refinement – Behavior/Computation refinement – Cost (timing) refinement
Being tackle by OSCI TLM 2.0 standard proposal Still ad-hoc, proprietary solutions
[TLM] 39
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Abstraction Levels with SystemC Functional level
Architectural level
send() recv()
F1
F2
F3
F1 F2
F3 F4
CPU
HW coproc
Memory
Message level communication
F4
write(address) read(address)
Interconnect
Implementation level
HW coproc
CPU Memory
Transaction level communication
Signal level communication
Interconnect
40
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
19
OSCI TLM 2.0 modeling styles T1 T2
UT T2
T1
LT request1
request2
AT
response1
response2
address2
address1
data2
data1
CA
status1
0
1
2
3
status2
4
5
6
7
8
time
(T) transaction (function call) 41
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
How many models do we need? Use-case
Processor units
Functional partitioning and relative performance estimation
High-level tasks
Interconnect and memory hierarchy dimensioning
Traffic generators
SW development and optimization
Mapping technology
Interconnects
Memory subsystems
Peripherals
Functional models (AT), protocol independent
High-level tasks
Functional models (CA), protocol specific
Data sinks
Application
Fully functional models at the UT, LT level (Proc. IA ISS)
Middleware
Fully functional models at the LT, AT level (Proc. IA ISS)
HW dependent
Fully functional models at the CA level (Proc. CA ISS)
System-level functional verification
Fully functional models at the LT level (Proc. IA ISS)
System-level performance verification
Fully functional models at the CA level (Proc. CA ISS)
Buy, outsource
Mapping technology
In-house creation 42
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
20
Creating efficiently functional IP models 2 functional models LT and CA, but… Time information on LT models can still range quite a bit – Optimizations to improve speed – Refinement towards AT
IP modeling libraries and methodology + Standard modeling libraries (SystemC, TLM, SCV)
CA models are not yet TLM but cycle-callable signal-level LT model
Automatic generation
Communication and computation refinement
IP spec
IP functionality design tools
IP structure design tools
AT model synthesis tools CA model
Automatic generation
RTL extraction tools
RTL HDL VHDL, Verilog
43
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
IP modeling libraries and methodology Objectives: Reduce the modeling effort and learning curve for new model developers – Quickly create the most common parts of the IP model using building blocks
Enable model reuse and refinement – Add details gradually (both communication and computation) – Separation of concerns applied to modeling GMFL
IF adaptors monitors
Improve configurability of models SCML – Change model internals during construction/elaboration time
Align with industry standards – OSCI TLM 2.0 & IP-XACT 1.4
TLM 2.0
SCV
IEEE 1666 SystemC
44
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
21
CoWare SCML Methodology for model re-use – Use-case determine for bus model – Re-use peripheral model for multiple use-cases
Separation of behavior, communication and timing Focus on communication refinement – generic interfaces + specific adaptors
Simple modeling pattern supported by a library of predefined blocks – SystemC Modeling Library (SCML) http://www.coware.com/solutions/tlm.php
45
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
NXP GMFL Generic Modeling Features Library Library of predefined blocks built on top of SCML Extend and complement SCML capabilities – More methodology and guidelines
IP core child sc_module
t
parent sc_module
child sc_module
fA t
fC
Focus on behavior modeling and refinement – Explicit synchronization, data and control flow
child sc_module
fB t
Key concepts are: Hierarchical modeling – Structured, reusable code – Closer to HW designers
Sync. & storage channels
Generic core interfaces
Behavior blocks
Specialized ports
Time annotations
f
User defined functionality
Dynamic layout – Add/remove functionality during elaboration – Block refinement
Rd frame Process Wr frame
Loop { Rd pixel Process Wr pixel }
T frame
T pixel
Design and code-generation tool
46
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
22
NXP GMFL design and code-generation tool Functional design tool (3rd party)
IP structure design tool
import SystemC code-generation
47
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Abstract (dynamic) performance simulations App. use-case Control run-time reconfiguration App. use-case App. App.use-case use-case Model Model model(s)
Requirements, constraints
mapping Stimuli generation
CMU
Performance Characterization
SoC model SystemC AT SystemC CA RTL
monitoring Tracing & visualization (analysis views)
48
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
23
Application use-case modeling and mapping Executable application use-case model (simple semantics) – Synchronization & data communication – Dynamic data dependencies – Constraints (throughput, latency, etc)
F1 F3
F2
F4
Smart Traffic Generators (STG) – Direct mapping from app. use-case models – High level semantics adopted to bus protocol traffic – Possibility to simulate •
function/data dependencies
•
Synchronization between STG
•
Scheduling / interrupts / preemption
– Generic interface + specific adaptors
STG
STG
CMU
Scheduler
Traffic initiator
Scheduler
TLM 2.0
TLM 2.0
Bus adaptor
Configuration Manager Unit (CMU) – Multiple use-cases can be mapped on a STG – CMU on charge of use-case switching
Traffic initiator
Bus adaptor
SoC infrastructure model SystemC AT SystemC CA RTL
49
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
Outline NXP Products / challenges Abstraction Levels Functional Modeling Architecture Modeling Summary
50
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
24
Summary SoC design challenges require moving up in the abstraction level and exploit reuse at all levels Abstraction levels – Multiple domains (digital, analogue, RF) – Multiple languages (UML, C++, Simulink, SystemC, VHDL, Verilog-AMS, etc)
Functional modeling
divide & conquer
– Domain specific functions, different semantics, different algorithmic trade-offs – Multiple functional use-cases – Most tools provide a path to implementation
An integration level above implementation is required
Architectural Level
– Architecture model => Virtual prototype – Different architectural use-cases with different requirements => the right model for the right use-case – Getting to the models is still the critical task => how to tackle this •
IP Modeling methodologies and libraries
•
Automatic generation from different tools
51
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
References [DAC2000] E.A. de Kock, G. Essink, W.J.M. Smits, P. van der Wolf, J-Y. Brunel, W.M. Kruijtzer, P. Lieverse, K.A. Vissers; “YAPI: Application Modeling for Signal Processing Systems “ in Proceedings of the 37th Design Automation Conference, Los Angeles, 2000 [CODES04] Pieter van der Wolf, Erwin de Kock, Tomas Henriksson, Wido Kruijtzer, Gerben Essink, “Design and Programming of Embedded Multiprocessors: An Interface-Centric Approach”, Int. Conf. on Hardware/Software co-design and System synthesis, September 2004 [CODES05] Wido Kruijtzer, Winfried Gehrke, Victor Reyes, Ghiath Alkadi, Thomas Hinz, Jörn Jachalsky, Bruno Steux; “The Design of a Smart Imaging Core for Automotive and Consumer Applications: A Case Study” in Int. Conf. on Hardware/Software co-design and System synthesis, September 2005 [DAES06] Wido Kruijtzer, Victor Reyes, Winfried Gehrke; “Design, Synthesis and Verification of a Smart Imaging Core using SystemC” in Design Automation for Embedded Systems, An International Journal from Springer, Volume 10, Numbers 2-3, September 2006, pp. 127-155(29). Special Issue on SystemC-based System Modeling, Verification and Synthesis. DAC07: Slider [DAC2007] Walter Tibboel, Victor Reyes, Martin Klompstra, Dennis Alders ; “System-Level Design Flow Based on a Functional Reference for HW and SW” in Proceedings of the 44th Design Automation Conference, San Diego, 2007 [SCML] http://www.coware.com/solutions/scml_kit.php [TLM] http://www.systemc.org/downloads/standards/ [ESL book] Brian Bailey, Grant Martin, Andrew Piziali, “ESL Design and Verification: A Prescription for Electronic System Level Methodology” The Morgan Kaufmann Series in Systems on Silicon
52
DATE 2008 Tutorial A - Wido Kruijtzer / Victor Reyes
March 10,2008
25