23.08.2013 Views

Laurent Maillet-Contoz, STMicroelectronics

Laurent Maillet-Contoz, STMicroelectronics

Laurent Maillet-Contoz, STMicroelectronics

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!