Software Development using Virtual Software Development using Virtual Platforms Simon Davidmann...
date post
19-Apr-2020Category
Documents
view
2download
0
Embed Size (px)
Transcript of Software Development using Virtual Software Development using Virtual Platforms Simon Davidmann...
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 1 Aug-09
Software Development using Software Development using Virtual PlatformsVirtual Platforms
Simon DavidmannSimon Davidmann Imperas CEOImperas CEO OVP founderOVP founder
DAC VP09 Workshop, 29 July 2009
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 2 Aug-09
Software Complexity Explosion
Multicore Proliferation
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
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 3 Aug-09
Virtual Platforms TypesVirtual Platforms Types Hardware Virtual Platforms
Timing / Cycle accurate Used for architecture performance analysis, drivers, firmware Models are very complex, slow, time consuming to build SystemC etc Main value is same performance as RTL, no Verilog license cost…
Software Virtual Platforms Instruction accurate Used for OS, applications Can be very fast, programmers views Model only what is needed in peripherals Complete system environment
© 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
Pr od
uc tiv
ity a
nd E
ffi ci
en cy
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 SoC software development and provide automation and efficiency with measurable quality building on virtual platforms
Softwar e
Verifica tion,
Debug
& Analy sis
Needs to remove complexity and infrastructure difficulties and costs while improving verification ability
MP -Wo
rkb enc
h
Must address parallel programming and multi-core platform issues
Pr og
ra m
m in
g Mo
de l,
To ol
s, Au
to m
at io
nThe 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
© 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
A bs
tr ac
tio n
an d
Ef fic
ie nc
y
Open Virtual Platforms started March 2008, 28 partners Today: 1400 registered users, 10,000 downloads, 200+ companies using
Virtual platform: multicore simulation, user modeling, model library
Needs to target multi-core SoC software development and provide automation and efficiency with measurable quality building on virtual platforms
Verifi cation
, Deb ug
& Ana lysis
tools for s
oftwa re
teams
Needs to remove complexity and infrastructure difficulties and costs while improving verification ability
Wo rkb
enc h
Must address parallel programming and multi-core platform issues
Pr og
ra m
m in
g Mo
de l,
To ol
s, Au
to m
at io
n
OVP fulfils this need
© 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 modeling Documentation & header files
Open Source library of models C source of models written to C OVP APIs Processor models of ARM, ARC, MIPS, OpenRisc OR1K, x86, … Peripheral models of standard embedded devices Example embedded platforms in C, C++, SystemC, TLM2.0
Including full platforms that boot operating systems like Linux, Nucleus OVP reference simulator, free for non-commercial use
Runs processor models fast, 500 MIPS typical Interfaces to GDB via RSP/socket MP Capable, scalable and very efficient Can encapsulate existing processor models (ISS) Callable with C/C++/SystemC wrapper
Website community/portal Ecosystem growing for model and tool developers and users
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 7 Aug-09
OVPsimOVPsim booting booting uClinuxuClinux on ARM on ARM AtmelAtmel AT91sam7AT91sam7
ARM7TDMI
16-Mbit Flash MemoryAIC
Watchdog
Power Saving
Chip Id
Parallel IO Controller
USART
USART
SRAM
ASB
Timer Counter
Terminal
Keyboard
in te
rru pt
s
Boot uClinux
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 8 June 2009
ARM920T
Flash
LCD Controller
Keyboard/Mouse
SSRAM
SDRAM
config regs
LED
RTC
MMC Interface
UART
GPIO
PIC
PIC
AHB Decoder
UART
OVPsimOVPsim booting Nucleus on booting Nucleus on ARM Integrator / ARM920ARM Integrator / ARM920
Keyboard
Easy to run
telnet telnet localhostlocalhost 99999999
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 9 June 2009
ARM920T
Flash
LCD Controller
Keyboard/Mouse
SSRAM
SDRAM
config regs
LED
RTC
MMC Interface
UART
GPIO
PIC
PIC
AHB Decoder
UART
OVPsimOVPsim booting Linux on booting Linux on ARM Integrator / ARM926ARM Integrator / ARM926
Keyboard / Mouse
Boot Linux
© 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
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 11 June 2009
ARM920T
Flash
LCD Controller
Keyboard/Mouse
SSRAM
SDRAM
config regs
LED
RTC
MMC Interface
UART
GPIO
PIC
PIC
AHB Decoder
UART
OVPsimOVPsim Heterogeneous Platform Heterogeneous Platform ARM Nucleus / MIPS LinuxARM Nucleus / MIPS Linux
Mouse
Keyboard
MIPS32 34Kc dualcore
UART (TTY2) (16450)
UART (TTY1)
(SuperIO)
UART (TTY0)
(SuperIO)
Memory (RAM)
Malta FPGA
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 Config D
yn am
ic B
us C
on ne
ct io
n
br
br
Run Platform
Memory (RAM)
telnet telnet localhostlocalhost 99999999
© 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 Window Manager
gdbserver
application
Redhat LinuxRedhat Linux
Eclipse/CDT
Debian Linux 2.6
© 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 Window Manager
gdbserver
application
Redhat LinuxRedhat Linux
Eclipse/CDT
© 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 tools Virtual Platforms provide significant benefits Software development uses standard tools
Eclipse, GDB, gdbserver
Benefits of Virtual Platforms for software development Easier to deploy, more reliable, deterministic Often much faster Easier to use for regression testing, improving quality Available much sooner (developing SoC takes 2 years of delay…) With OVP, the models are free, fast, and easy to use…
© 2009 Imperas Ltd. Open Virtual Platforms, www.OVPworld.orgPage 15 Aug-09