Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon...

15
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.org Page 1 Aug-09 Software Development using Software Development using Virtual Platforms Virtual Platforms Simon Davidmann Simon Davidmann Imperas CEO Imperas CEO OVP founder OVP founder DAC VP09 Workshop, 29 July 2009

Transcript of Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon...

Page 1: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 1 Aug-09

Software Development using Software Development using Virtual PlatformsVirtual Platforms

Simon DavidmannSimon DavidmannImperas CEOImperas CEOOVP founderOVP founder

DAC VP09 Workshop, 29 July 2009

Page 2: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 2 Aug-09

Software Complexity Explosion

MulticoreProliferation

Move to Virtual Platforms for Software development

Adoption of new tools to produce higher quality embedded software

New Tools and Methodology New Tools and Methodology Needed for Embedded Needed for Embedded Software DevelopmentSoftware Development

Page 3: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 3 Aug-09

Virtual Platforms TypesVirtual Platforms TypesHardware Virtual Platforms

Timing / Cycle accurateUsed for architecture performance analysis, drivers, firmwareModels are very complex, slow, time consuming to buildSystemC etcMain value is same performance as RTL, no Verilog license cost…

Software Virtual PlatformsInstruction accurateUsed for OS, applicationsCan be very fast, programmers viewsModel only what is needed in peripheralsComplete system environment

Page 4: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 4 Aug-094-Aug-09

New New SoCSoC Embedded Software Embedded Software Development marketDevelopment market

Adoption over time

Prod

uctiv

ity a

nd E

ffici

ency

Needs to be fast – to run full software, needs to be low cost – for massive deployment, needs to be easy to use for customers to be self sufficient, with full visibility to enable debug

Virtual platform: multicore simulation, user modeling, model library

Needs to target multi-core SoCsoftware development and provide automation and efficiency with measurable quality building on virtual platforms

Software

Verification,

Debug

& Analysis

Needs to remove complexity and infrastructure difficulties and costs while improving verification ability

MP-Workbench

Must address parallel programming and multi-core platform issues

Prog

ram

min

g Mod

el,

Tool

s, Aut

omat

ionThe market need for new

embedded software tools for single- and multi-core System on Chip ICs is large and growing

2009

Older approach was to use prototypes, breadboards, FPGA, previous generation – this fails to satisfy for next generation complexity

Page 5: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 5 Aug-09

Virtual Platforms (OVP) are the Virtual Platforms (OVP) are the foundation for the next generation of foundation for the next generation of [embedded] software development [embedded] software development environments environments –– especially for multicoreespecially for multicore

Page 5

Adoption over time

Abs

trac

tion

and

Effic

ienc

y

Open Virtual Platformsstarted March 2008, 28 partnersToday: 1400 registered users, 10,000 downloads, 200+ companies using

Virtual platform: multicore simulation, user modeling, model library

Needs to target multi-core SoCsoftware development and provide automation and efficiency with measurable quality building on virtual platforms

Verification, Debug

& Analysis tools for software

teams

Needs to remove complexity and infrastructure difficulties and costs while improving verification ability

Workbench

Must address parallel programming and multi-core platform issues

Prog

ram

min

g Mod

el,

Tool

s, Aut

omat

ion

OVP fulfils this need

Page 6: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 6 Aug-09

What is in OVP?What is in OVP?Modeling APIs

Publishing of C OVP APIs for Processor, Peripheral, and Platform modelingDocumentation & header files

Open Source library of modelsC source of models written to C OVP APIsProcessor models of ARM, ARC, MIPS, OpenRisc OR1K, x86, …Peripheral models of standard embedded devicesExample embedded platforms in C, C++, SystemC, TLM2.0

Including full platforms that boot operating systems like Linux, NucleusOVP reference simulator, free for non-commercial use

Runs processor models fast, 500 MIPS typicalInterfaces to GDB via RSP/socketMP Capable, scalable and very efficientCan encapsulate existing processor models (ISS)Callable with C/C++/SystemC wrapper

Website community/portalEcosystem growing for model and tool developers and users

Page 7: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 7 Aug-09

OVPsimOVPsim booting booting uClinuxuClinuxon ARM on ARM AtmelAtmel AT91sam7AT91sam7

ARM7TDMI

16-MbitFlash MemoryAIC

Watchdog

Power Saving

Chip Id

Parallel IO Controller

USART

USART

SRAM

ASB

TimerCounter

Terminal

Keyboard

inte

rrupt

s

Boot uClinux

Page 8: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 8 June 2009

ARM920T

Flash

LCD Controller

Keyboard/Mouse

SSRAM

SDRAM

config regs

LED

RTC

MMCInterface

UART

GPIO

PIC

PIC

AHBDecoder

UART

OVPsimOVPsim booting Nucleus on booting Nucleus on ARM Integrator / ARM920ARM Integrator / ARM920

Keyboard

Easy to run

telnet telnet localhostlocalhost 99999999

Page 9: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 9 June 2009

ARM920T

Flash

LCD Controller

Keyboard/Mouse

SSRAM

SDRAM

config regs

LED

RTC

MMCInterface

UART

GPIO

PIC

PIC

AHBDecoder

UART

OVPsimOVPsim booting Linux on booting Linux on ARM Integrator / ARM926ARM Integrator / ARM926

Keyboard/ Mouse

Boot Linux

Page 10: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 10 Aug-09

OVPsimOVPsim MIPS Linux platformMIPS Linux platform

Boot Linux on Windows PC…Easy to run: platform .exe vmlinux

Page 11: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 11 June 2009

ARM920T

Flash

LCD Controller

Keyboard/Mouse

SSRAM

SDRAM

config regs

LED

RTC

MMCInterface

UART

GPIO

PIC

PIC

AHBDecoder

UART

OVPsimOVPsim Heterogeneous Platform Heterogeneous Platform ARM Nucleus / MIPS LinuxARM Nucleus / MIPS Linux

Mouse

Keyboard

MIPS3234Kcdualcore

UART(TTY2)(16450)

UART (TTY1)

(SuperIO)

UART (TTY0)

(SuperIO)

Memory(RAM)

MaltaFPGA

KbControl(SuperIO)VGA

PIIX4(Base)

USB(PIIX4)

PM(PIIX4)

IntControl(PIIX4)IDE

PCI BUS

PCI IACK

SysControl(GT64120)

LOCAL BUS

RTC(PIIX4)

Timer(PIIX4)

PCI ConfigD

ynam

ic B

us C

onne

ctio

n

br

br

Run Platform

Memory(RAM)

telnet telnet localhostlocalhost 99999999

Page 12: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 12 Aug-09

Software debug on prototype:Software debug on prototype:Run Run gdbservergdbserver on target and Eclipse on host on target and Eclipse on host to debug application on targetto debug application on target

TCP/IP

Host

Remote Target

BlackBox WindowManager

gdbserver

application

Redhat LinuxRedhat Linux

Eclipse/CDT

Debian Linux 2.6

Page 13: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 13 Aug-09

Virtual Platform as Remote Target

Using a Virtual Platform from Using a Virtual Platform from OVP provides exactly the same OVP provides exactly the same environmentenvironment

TCP/IP

Host

Debian Linux 2.6

BlackBox WindowManager

gdbserver

application

Redhat LinuxRedhat Linux

Eclipse/CDT

Page 14: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 14 Aug-09

Demo: Developing Software on Demo: Developing Software on Virtual PlatformsVirtual Platforms

Virtual Platforms are replacing hardware prototypes for software development

It’s a new world, with familiar toolsVirtual Platforms provide significant benefitsSoftware development uses standard tools

Eclipse, GDB, gdbserver

Benefits of Virtual Platforms for software developmentEasier to deploy, more reliable, deterministicOften much fasterEasier to use for regression testing, improving qualityAvailable much sooner (developing SoC takes 2 years of delay…)With OVP, the models are free, fast, and easy to use…

Page 15: Software Development using Virtual PlatformsSoftware Development using Virtual Platforms Simon Davidmann Imperas CEO OVP founder DAC VP09 Workshop, 29 July 2009 ... Can be very fast,

© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 15 Aug-09

Thank you

For more information visit www.OVPworld.org