sce-mi meeting 1 san jose’, 14 th nov 2003 1 author: andrea castelnuovo sce-mi integrating...

30
SCE-MI Meeting San Jose’, 14 th Nov 2003 Author: Andrea Castelnuo SCE-MI SCE-MI Integrating Emulation in a system level design Integrating Emulation in a system level design methodology methodology San Jose’, 14/11/2003 Author: Andrea Castelnuovo Dynamic Verification Team Company STMicroelectronics

Upload: charleen-tate

Post on 17-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 1

San Jose’, 14th Nov 2003

1

Author: Andrea Castelnuovo

SCE-MI SCE-MI Integrating Emulation in a system level design Integrating Emulation in a system level design

methodology methodology

San Jose’, 14/11/2003

Author: Andrea Castelnuovo

Dynamic Verification Team

Company STMicroelectronics

Page 2: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 2

San Jose’, 14th Nov 2003

2

Author: Andrea Castelnuovo

SummarySummary

• Transaction level modeling• The Interoperability Gap• SCE-MI: where, when• Some use models• Expected Performances• Conclusions

Page 3: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 3

San Jose’, 14th Nov 2003

3

Author: Andrea Castelnuovo

SoC Simulation for SoC Simulation for Embedded SW DevelopmentEmbedded SW Development

• The Problem– Need SoC simulation platform even before RTL– Need simulation speed > 1000x faster than RTL– Need represent concurrency, interrupts etc– Cycle-Accurate (CA) model not appropriate

• Solution: Transaction-Level Model (TLM)

Courtesy of F Ghenassia

Page 4: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 4

San Jose’, 14th Nov 2003

4

Author: Andrea Castelnuovo

Transaction Level ModelingTransaction Level Modeling

• Reference system model, including tesbench environment

• Fast executable description for a system under development

• Register accurate description for early and consistent software development

Courtesy of F Ghenassia

Page 5: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 5

San Jose’, 14th Nov 2003

5

Author: Andrea Castelnuovo

A A singlesingle SoC/IP executable reference model SoC/IP executable reference model

• Single reference model enables– Rationalizing modeling efforts– Consistency between

developments– Communication between

teams

TLM model

algorithm team

design team

software team

verification team

Courtesy of F Ghenassia

Page 6: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 6

San Jose’, 14th Nov 2003

6

Author: Andrea Castelnuovo

MotivationsMotivations

• Provide an infrastructure to support the Transaction Level Modeling methodology

• Objective of TLM models– Early embedded software development– Early (micro-)architecture analysis– Functional verification

• Rely on an open and tool-independent standard

• Activity started in ST/Central R&D in January 2000 (Frank Ghenassia)

Courtesy of F Ghenassia

Page 7: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 7

San Jose’, 14th Nov 2003

7

Author: Andrea Castelnuovo

Transaction Level Model:Transaction Level Model:DefinitionsDefinitions

• A system model is composed of a set of modules, that:– Execute part of the expected system

behavior thanks to one or several concurrent threads

– Communicate data between each other. • Each data set is called a transaction• Data sets of variable size

– Synchronize between each other. A system synchronization is an explicit action

Courtesy of F Ghenassia

Page 8: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 8

San Jose’, 14th Nov 2003

8

Author: Andrea Castelnuovo

ARM 926 EJ

ICacheSys.Ctrl.

JTAG / Trace

RTCWatchdog

Timers

DCache

NAND/NORFLASH Ctrl

eSRAMBuffer

DDR/SDRAMController

Audio SmartAccelerator

Video SmartAccelerator

16 ChannelDMA Ctrl

PLL1PLL2Power

Management

GPIO x76

InterruptController

Bridge

Bridge

SSPUART x2

FIrDA

MSP (AC97,I2S,SPI)

SD/MMCI2C x2

Color LCD CtrlDisplay I/F

RAM/ROM Secured USB OTG

Camera I/F

TLM SoC development platformTLM SoC development platform

Courtesy of F Ghenassia

Page 9: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 9

San Jose’, 14th Nov 2003

9

Author: Andrea Castelnuovo

As soon as some RTL becomes available in the design flow, there is a need for interoperability between different abstraction layers. This is usually achieved by using proprietary interfaces, that allow linking two different environments.

TLM: InteroperablilityTLM: Interoperablility

Transaction

Any lower level decription: RTL, GATE, Cycle accurate behavioral

?API?

Page 10: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 10

San Jose’, 14th Nov 2003

10

Author: Andrea Castelnuovo

Aptix

AXIS

Celaro

Specman

Vera

C++

TLM

Coware

Modeltech

NcVerilog

Palladium

VStationZebu

vcs

xsim

TestBuilder

Other Boxes…

Interoperablility becomes an issueInteroperablility becomes an issue

Other env

BOOM !!BOOM !!

Page 11: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 11

San Jose’, 14th Nov 2003

11

Author: Andrea Castelnuovo

Interoperability issueInteroperability issue• Every EDA vendor possibly provides a solution to

interface its technology to external environments• The effort needed to create interfaces is too high

compared to the business improvement that it could generate. This translates into intrisicly inefficient interfaces.

• To efficiently interconnect hardware emulators to a transaction level environment, the user has to build synthesizable “transactors” for each specific interface.

Transactors reusability is mandatory.Transactors reusability is mandatory.-> the interface must be a standard-> the interface must be a standard

Page 12: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 12

San Jose’, 14th Nov 2003

12

Author: Andrea Castelnuovo

Aptix

AXIS

Celaro

Vera

C++

SystemC

Coware

Modeltech

NcVerilog

Palladium

VStation

Zebu

vcs

xsim

Other Boxes…

Specman

TestBuilder

SC

E-M

I

SCE-MI: a clean approachSCE-MI: a clean approach

Page 13: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 13

San Jose’, 14th Nov 2003

13

Author: Andrea Castelnuovo

SCE-MI

SCE-MI Use modelSCE-MI Use model

SW RTLDESIGN

End User

SCE-MI infrastructure

EDA VendorsTransactorsdesigners

Page 14: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 14

San Jose’, 14th Nov 2003

14

Author: Andrea Castelnuovo

Transactors developmentTransactors development• Transactors provide a translation gasket between a transaction level

and the cycle-accurate pin level.• They are composed of two blocks:

– “Software” layer: is the transactional side of the interface, which is also the master of the communication

– “Hardware” layer: it contains the implementation of the functionality that transports the transactional information to the pins.

• Transactors have a direct impact on the performances of the interface• Reusability relies on SCE-MI standard, but also requires robustness and

reliability of the transactors code.• Transactor designer could be:

– A soft IP vendor – A verification IP vendor– The user himself– A third party or consultant– An EDA vendor

Page 15: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 15

San Jose’, 14th Nov 2003

15

Author: Andrea Castelnuovo

IP integration through SCE-MI:• A standard interface allows fast

and easy integration of IPs• The most suitable

implementation for each IP can be plugged into the system.

• Simulation frequency suitable for early software development

Transaction

Cycle Accurate

RTL

Gate

SCE-MI

SCE-MI and TLMSCE-MI and TLM

Page 16: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 16

San Jose’, 14th Nov 2003

16

Author: Andrea Castelnuovo

SCE-MI System Validation (1)SCE-MI System Validation (1)

• In a system description testbenches are often a relevant part of code.

• A standard interface allows strong re-usability of testbenches

• Using the same verification environment, improves consistency and reliability

Transaction

RTL

Gate

TB TB TB

SCE-MI

Silicon

Page 17: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 17

San Jose’, 14th Nov 2003

17

Author: Andrea Castelnuovo

Example1 ARM PXPExample1 ARM PXP• A TLM model of PXP is simulating• Software can be developed on this platform• Custom Hardware block can be added in the TLM description

CustomBlock

Page 18: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 18

San Jose’, 14th Nov 2003

18

Author: Andrea Castelnuovo

Example 1Example 1

• As soon as mature RTL is available for the block under development, it should be integrated into the system.

• The same TLM model of system (software and hardware) will be connected to the RTL model of the Custom block.

• Performances of the co-modeling platform will be affected by two main factors:– RTL model environment, being hardware emulation or

software logic simulation.– Communication channel between TLM and RTL .

Page 19: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 19

San Jose’, 14th Nov 2003

19

Author: Andrea Castelnuovo

Example 1: SCE-MI layer Example 1: SCE-MI layer • A hardware emulation platform is used to map the RTL model• To build a SCE-MI based environment the user needs to:

– Provide a synthesizable SCE-MI compliant transactor for the custom block specific protocol (in this example APB bus)

– Provide a software layer to link TLM to APB transactor.• Note: Both software and Hardware side of the transactor written for

a given protocol, are re-usable in a SCE-MI context

Custom Block RTL

Hardware Emulator

SystemTLM

Description

Tra

nsac

t or

SC

E-M

IS

W lin

k

SCE-MI Infrastructure

Page 20: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 20

San Jose’, 14th Nov 2003

20

Author: Andrea Castelnuovo

Example 1: SCE-MI transactors library Example 1: SCE-MI transactors library • Creating transactors requires an extra design and

validation effort• SCE-MI based transactors are platform independent,

thus strongly reusable• For specific protocols such as AHB, APB, STBUS, PCI,

Ethernet, MMC… an SCE-MI library will allow fast and easy transactional co-emulation.

SystemTLM

Description

SC

E-M

IS

W lin

k

Hardware Emulator

Custom Block RTL

Tra

nsac

t or

SCE-MI InfrastructureCustom Block

RTL

Tra

nsac

t or

Custom Block RTL

Tra

nsac

t or

Custom Block RTL

Tra

nsac

t or

Page 21: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 21

San Jose’, 14th Nov 2003

21

Author: Andrea Castelnuovo

Transactor is not only a BFMTransactor is not only a BFM• Transactors can also be used to monitor traffic for protocol violation issues• Once a protocol-error is detected, a message is sent to the software

testbench.• Monitors running in hardware do not impact significantly on performances.

SystemTLM

Description

SC

E-M

IS

W lin

kHardware Emulator

Custom Block RTL

Tra

nsac

t or

SCE-MI Infrastructure

Monitor

Page 22: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 22

San Jose’, 14th Nov 2003

22

Author: Andrea Castelnuovo

Example2 ARM PXPExample2 ARM PXP

• TLM model of PXP system is simulating• The Testbench environment is developed at TLM level as well• As soon as the full system is ready at RTL level, a test environment has to be provided

TB Environment(DISPLAY MODEL)

Other BlocksOther

BlocksOther Blocks

TB Environment(Peripherals)

Page 23: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 23

San Jose’, 14th Nov 2003

23

Author: Andrea Castelnuovo

Example 2: SCE-MI layer Example 2: SCE-MI layer • A hardware emulation platform is used to map the RTL model of

the whole system• Synthesizable SCE-MI compliant transactors for the testbench

functionalities to generate stimuli for the system• Provide a software layer to link TLM to APB transactor.• Both software and Hardware side of the transactor written are re-

usable in a SCE-MI context

RTLSYSTEM

Hardware Emulator

TestBenchTLM

Description

Tra

nsac

tor

SC

E-M

IS

W lin

k

SCE-MI Infrastructure

Tra

nsac

tor

Tra

nsac

tor

Tra

nsac

tor

Display … UART

Page 24: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 24

San Jose’, 14th Nov 2003

24

Author: Andrea Castelnuovo

Performance AnalysisPerformance Analysis

• The link between TLM and emulation needs to be reasonably efficient in terms of performances

• A performance estimation should be available before putting any effort into modeling the interface

• The link is implemented if the trade off between expected performance and modeling effort is acceptable

Page 25: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 25

San Jose’, 14th Nov 2003

25

Author: Andrea Castelnuovo

Performance EstimationPerformance Estimation

• The following parameters are useful to estimate performances– RTL implementation speed (emulator)– TLM speed (software env)– Activity generated by a Context switch

(type of transactions)– Number of blocking actions– SCE-MI infrastructure speed

Page 26: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 26

San Jose’, 14th Nov 2003

26

Author: Andrea Castelnuovo

Performance Estimation (2)Performance Estimation (2)

• RTL implementation speed (emulator)– Due to the hardware speed, this is usually

not the limiting factor.– Only for some particular tests, where few

interactions occur between hardware and software, hardware speed could result as the limiting factor

Page 27: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 27

San Jose’, 14th Nov 2003

27

Author: Andrea Castelnuovo

Performance Estimation (3)Performance Estimation (3)

• TLM speed (software env)– It becomes the limiting factor when the time

spent in the hardware side is lower than the CPU time between two interaction

– Use of blocking statements makes this parameter heavily impacting on performances

Page 28: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 28

San Jose’, 14th Nov 2003

28

Author: Andrea Castelnuovo

Performance Estimation (4)Performance Estimation (4)

• Activity generated by a Context switch (type of transactions)– Depending on the implementation, the time

consumed for handshaking between hardware and software might be relevant

– A good estimation can be achieved by measuring the handshaking time, using a profiler

Page 29: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 29

San Jose’, 14th Nov 2003

29

Author: Andrea Castelnuovo

Performance Estimation (5)Performance Estimation (5)

• Blocking actions– Blocking actions cause

the software to stuck, waiting for some feedback from hardware

– In such a context software becomes a limiting factor

– In a transaction based co-emulation approach they should be avoided

Example:This read function has to return a value, after some hardware cycles:

int read(int data, int addr) {Int data_read;

…Serviceloop();

…Return data_read;

}The software will be waiting until the data_read will be available from the hardware side.

Page 30: SCE-MI Meeting 1 San Jose’, 14 th Nov 2003 1 Author: Andrea Castelnuovo SCE-MI Integrating Emulation in a system level design methodology San Jose’, 14/11/2003

SCE-MI Meeting 30

San Jose’, 14th Nov 2003

30

Author: Andrea Castelnuovo

ConclusionsConclusions

• SCE-MI provides an efficient communication layer between transaction level modeling and emulation

• The cost for setting up such a link is mainly in the effort to create synthesizable transactor development

• Standardization allows for strong reusability of transactors, across multiple platforms

Thanks!