Software Development using Virtual Software Development using Virtual Platforms Simon Davidmann...

Click here to load reader

  • date post

    19-Apr-2020
  • Category

    Documents

  • view

    2
  • download

    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