Laurent Maillet-Contoz, STMicroelectronics
Laurent Maillet-Contoz, STMicroelectronics
Laurent Maillet-Contoz, STMicroelectronics
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Laurent</strong> <strong>Maillet</strong>-<strong>Contoz</strong>,<br />
System & Architecture Technology<br />
Central R&D – Crolles, France<br />
<strong>Laurent</strong>.<strong>Maillet</strong>-<strong>Contoz</strong>@st.com<br />
<strong>STMicroelectronics</strong>
Unicad system2RTL<br />
Agenda<br />
Problem statement and practices<br />
Proposed approach<br />
TLM modeling infrastructure<br />
MPEG4 TLM model<br />
Conclusion<br />
2
Unicad system2RTL<br />
Problems Statement<br />
Reduce SoC product time-to-market<br />
– SoC is hardware and software<br />
– Concurrent HW/SW development<br />
Sustain system real-time requirements<br />
– Architecture definition<br />
First-time silicon success<br />
– SoC Functional Verification<br />
Telecom !<br />
<br />
<br />
<br />
3
Unicad system2RTL<br />
Current pratices<br />
Early software development<br />
– Portions compiled for standalone ISS or work station<br />
(software with few hardware dependencies)<br />
– Mostly developed after availability of board<br />
Architecture analysis<br />
– Ad hoc C models for specific algorithm understanding<br />
– Trials of C-based cycle-accurate models<br />
– Mostly Excel spreadsheet<br />
Functional verification<br />
– Standalone C or HDL models<br />
– Mostly hand-coded reference output<br />
4
Unicad system2RTL<br />
Proposed approach<br />
SoC Architecture (SoC TLM platform)<br />
– Corresponds to contract between embedded software and hardware<br />
– Accurately models<br />
register banks<br />
data transfers<br />
system synchronizations<br />
– Simulation speed at expense of accuracy<br />
Require light-weight modeling effort<br />
SoC Micro-architecture (SoC RTL platform)<br />
– Accurately models cycles, protocols, IP internal states, etc.<br />
– Accuracy at expense of speed<br />
Reuse RTL (VHDL/Verilog) models to reduce development cost<br />
No multiplication of models, only RTL and TLM<br />
5
Standard Flow<br />
Spec Archi Design<br />
Fab Board Software System System<br />
Development Integration Validation<br />
SLD Extension<br />
Unicad system2RTL<br />
SoC platforms in the design flow<br />
Software<br />
Development<br />
System<br />
Integration<br />
SoC<br />
Architecture<br />
SoC<br />
micro-architecture<br />
System<br />
Validation<br />
GAIN<br />
Time<br />
6
Verification<br />
System TB<br />
Traffic<br />
TB<br />
Timing<br />
Analysis<br />
Bus Protocols<br />
Unicad system2RTL<br />
SLD LD Design/Verification Flow<br />
HW Design<br />
Control DSP<br />
Behavioral code generation<br />
Record<br />
TLM SOC Platform<br />
Back-annotate<br />
Behav synthesis|M2R<br />
Extract<br />
Logic MCU DSP<br />
ADC / DAC DRAM Analog<br />
Logic MCU DSP<br />
ADC / DAC DRAM Analog<br />
RTL SOC Platform<br />
RTL synthesis<br />
SystemC 2.0<br />
C/C++<br />
VHDL/Verilog<br />
SystemC<br />
eSW Design<br />
Control SW<br />
FW<br />
Verification<br />
eSW<br />
RTOS<br />
BSP<br />
LLDD<br />
Protocol stacks<br />
GUI<br />
CUSTOMER SYSTEM SPEC<br />
TLM<br />
RTL<br />
Traffic<br />
TB<br />
Embedded SW<br />
7
Unicad system2RTL<br />
Agenda<br />
Problem statement and practices<br />
Proposed approach<br />
TLM modeling infrastructure<br />
MPEG4 TLM model<br />
Conclusion<br />
8
Unicad system2RTL<br />
Transaction level modeling:<br />
Definitions<br />
TIMER ITC<br />
Target<br />
interface<br />
Target<br />
interface<br />
Target<br />
interface<br />
TRANSACTION ACCURATE CHANNEL (Read, Write)<br />
Initiator<br />
interface<br />
Traffic<br />
generator<br />
Processes<br />
ISS<br />
(eSW)<br />
Initiator<br />
interface<br />
Explicit synchronization<br />
MEMORY<br />
Bit true behavior<br />
and Interface<br />
Bit true communication:<br />
Each data set is called a transaction<br />
Data sets of variable size<br />
9
IP model includes<br />
– Register bank<br />
Unicad system2RTL<br />
TLM modeling guidelines<br />
– Bit-true behavior<br />
– System synchronisation<br />
SoC simulation<br />
– Integration of IP models<br />
– Ensure correct system functional behavior by<br />
Atomic data transfers<br />
De-scheduling point after every synchronisation<br />
Implementation must de-schedule after all data transfers<br />
(a data tranfer might be an actual synchronisation)<br />
10
Execution on a<br />
workstation<br />
Unicad system2RTL<br />
Transactional modeling choices for<br />
software blocks<br />
Native compilation (gcc)<br />
On the workstation<br />
Linker<br />
C compiler<br />
Makefile<br />
+<br />
-<br />
C code<br />
Simulation speed<br />
Accuracy<br />
Makefile<br />
-<br />
+<br />
C compiler<br />
Linker<br />
Cross compilation<br />
using target toolsuite<br />
Execution on an<br />
ISS,<br />
linked to the SOC model<br />
11
Unicad system2RTL<br />
Transactional modeling choices for<br />
hardware blocks<br />
Model the input/output of the block<br />
Model the synchronization<br />
Model the internal computation at the functional level<br />
Do NOT model what is related to the micro-architecture:<br />
No internal pipeline modeling<br />
No internal structure representation<br />
12
Unicad system2RTL<br />
Motivations for SystemC<br />
Open industry standard with wide CAD support<br />
that enables modeling from data/control flow down<br />
to cycle-accurate<br />
– SystemC is the only candidate<br />
Our current focus: build SoC architecture models<br />
13
TAC classes<br />
Unicad system2RTL<br />
TLM interface / port<br />
SystemC add-ons add ons<br />
TLM IP repository<br />
TAC channel OCB example(s)<br />
SystemC Foundation<br />
CPU models<br />
SystemC channels<br />
14
Unicad system2RTL<br />
TLM SoC Development Platform<br />
Hardware<br />
Analysis<br />
Software<br />
Analysis<br />
Statistics<br />
15
Unicad system2RTL<br />
Agenda<br />
Problem statement and practices<br />
Proposed approach<br />
TLM modeling infrastructure<br />
MPEG4 TLM model<br />
Conclusion<br />
16
Unicad system2RTL<br />
MPEG4 Codec Transactional Model<br />
MPEG4<br />
CODEC<br />
Objective<br />
Users<br />
Used by CRD/MPEG4 team for software development<br />
6 months before RTL top netlist ready<br />
Enable embedded software<br />
development concurrently with<br />
HW design<br />
17
Embedded software<br />
(single C source)<br />
gcc<br />
Cross-cc<br />
Unicad system2RTL<br />
Embedded SW development flow<br />
.O<br />
.O<br />
Link<br />
I/O lib<br />
TLM i/o<br />
RTL cosim i/o<br />
drivers i/o<br />
Link<br />
Link<br />
.mem<br />
HW Lib<br />
TLM<br />
RTL<br />
Mem<br />
loader<br />
TLM<br />
platform<br />
RTL cosim<br />
platform<br />
(NCSIM)<br />
RTL<br />
simu<br />
RTL<br />
(co)-emu<br />
Board<br />
Light-weight postmortem<br />
debugger<br />
+ embedded print<br />
18
Unicad system2RTL<br />
MPEG4 TLM model features<br />
C/systemC 2.0 models (15 000 lines)<br />
Firmware written in C (12 000 lines)<br />
– Compiled on the workstation<br />
– No ISS<br />
Hierarchical model<br />
Transaction Accurate Communication Channel (TAC) for<br />
inter-block communication<br />
Non intrusive transaction recording mechanism<br />
19
CPG<br />
Unicad system2RTL<br />
HST<br />
MPEG4 codec<br />
MPEG4 codec TLM model<br />
BSP<br />
MSQ<br />
HIF<br />
HME VIP COD REC<br />
Slave Port Master Port<br />
MEMORY<br />
MCC<br />
TIM<br />
DCB<br />
System channel<br />
Command channel<br />
Data channel<br />
20
TLM model<br />
Co-simulation<br />
(C + VHDL,<br />
no optim)<br />
VHDL simulation<br />
Co-emulation on Celaro<br />
Aptix emulation<br />
Unicad system2RTL<br />
MPEG4 transactional model:<br />
Performance figures<br />
Sun Ultra 10<br />
2.5<br />
180<br />
3600<br />
2<br />
0.03 (RT)<br />
QCIF image Encoding + Decoding, MPEG4 SH,<br />
time in second<br />
PC Linux (PIII, 1 GHz,<br />
256MB RAM)<br />
0.5<br />
21
Unicad system2RTL<br />
Conclusion<br />
SoC Architecture level: Transaction Level Modeling<br />
– concurrent hardware and embedded software<br />
development<br />
– Early architecture analysis and verification<br />
– Functional verification<br />
Natural extension of the existing design and<br />
verification flow<br />
Under deployment in applicative projects<br />
22
Unicad system2RTL<br />
Future work<br />
Develop Network on Chip (NoC) models<br />
Improve timing annotation for architecture analysis<br />
Towards a unified interface at the transactional level<br />
23