15
© 2018 Imperas Software Ltd. Page 1 May-18 Virtual Platforms for early Embedded Software Development RISC-V 8 th Workshop Barcelona Wednesday May 09, 4:00pm Kevin McDermott & Lee Moore Imperas Software Hugh O‘Keeffe Ashling

Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 1 May-18

Virtual Platforms for early

Embedded Software Development

RISC-V 8th Workshop – Barcelona

Wednesday May 09, 4:00pm

Kevin McDermott & Lee Moore – Imperas Software

Hugh O‘Keeffe – Ashling

Page 2: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Schedule

Quality

Reliability

Security

Safety

Engineering productivity / automation

Predictability on software development schedules

Unknown / unmeasurable software delivery risk

© 2018 Imperas Software Ltd. Page 2 May-18

New Markets With New Software Requirements

Page 3: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

A key to the adoption of RISC-V is Software

Need processors/platforms for software development

Start porting existing software to RISC-V

Virtual platforms (software simulation)

Available months before hardware

Can be used in hardware verification

Can accelerate software porting and development

Can help bring up of software on new platforms

Support of RISC-V instruction extensions

© 2018 Imperas Software Ltd. Page 3 May-18

Virtual Platforms Accelerate Software Development

Page 4: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 4 May-18

CPU1

Co

de

Da

ta

He

ap Stack

Single core, simple

Local Memory

ProcessorProcessor

Local Memory

ProcessorProcessor

Program

Shared Data

Multi-core shared memory Many-cores

Local Memory

CPU12

Local Memory

CPU12CPU12

Local Memory

CPU1

Local Memory

CPU1CPU1

Local Memory

CPU13

Local Memory

CPU13CPU13

Local Memory

CPU24

Local Memory

CPU24CPU24

Booting OS, eg Linux

ARM

Flash

LCD Controller

Keyboard/Mouse

SSRAM

SDRAM

config regs

LED

RTC

MMC

Interface UART

GPIO

PIC

PIC AHB

Decoder UART

Single Core

CPU

Local Memory

ARM7ARM7

Local Memory

ARM7ARM7

Shared Data

Local Memory

MIPS32MIPS32

Local Memory

ARM7ARM7

Heterogeneous

CPU CPU

CPU CPU

ARM

Flash

LCD Controller

Keyboard/Mouse

SSRAM

SDRAM

config regs

LED

RTC

MMC

Interface UART

GPIO

PIC

PIC AHB

Decoder UART

Multi Core (SMP)

CPU CPU CPU CPU

Processor Platform Configurations

Page 5: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 5 May-18

EPKs are virtual platforms with software set-up, help users to start quickly

EPKs include Individual models, binary and source

Platform model, binary and source

Software and/or OS running on platform

200+ Processor Models

50+ EPKs

100s of peripheral models

available in the OVP Library

All models are open source

Distributed under the Apache

2.0 open source license

All models have both C and

SystemC interfaces

Peripherals: users define pins

and registers, and functionality

Platforms: users define memory,

component connectivity

Extendable Platform Kits™ (EPKs™)

Page 6: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 6 May-18

The Virtual Platform Provides a Simulation Environment Such That the Software Does Not Know That It Is Not Running On Hardware

UART

CLINT

PLIC

RAM

Imperas U54-MC Virtual Platform

RISC-V 5 x core (U54-MC)

https://www.sifive.com Under 10 seconds to get to

booted Linux login prompt!

RISC-V EPK based on SiFive U54-MC

Page 7: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Extendable Platform Kits (EPKs) are virtual platforms, with software running, to help users start quickly

EPKs include Individual models, binary and source

Platform model, binary and source

Software and/or OS running on platform

© 2018 Imperas Software Ltd. Page 7 May-18

Andes N25 (RV32IMAC)

RAM

Timer

IRC

UART

UART0

RAM

Various

Quad Core

Applications

Processor

RISC-V EPK based on Andes N25 (RV32IMAC)

Page 8: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Easy description of Custom Instruction extensions

No disruption to existing underlying verified model

© 2018 Imperas Software Ltd. Page 8 May-18

RV64GC

RISC-V EPK Custom Extensions

Custom

ChaCha20 cipher as example of custom instructions for algorithm accelerators

Instruction Extensions to RISC-V courtesy of Cerberus Security Laboratories Ltd

https://cerberus-laboratories.com

Page 9: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 9 May-18

RISC-V EPK Missing Custom Extensions (FU540)

Linux

Console

Virtual Platform

Console

Page 10: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 10 May-18

RISC-V EPK Implemented Custom Extensions (FU540)

Linux

Console

Virtual Platform

Console

Page 11: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 11 May-18

Ashling RISC-V IDE Integrates with Imperas Virtual

Platforms/Processor Models

IDE supports full software development cycle including edit, build,

debug, test and verification on the actual Virtual Platform or

Processor Model all from a user-friendly Eclipse based IDE

environment

Software Development using Ashling RISC-V IDE

Page 12: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

© 2018 Imperas Software Ltd. Page 12 May-18

The same software toolchain/IDE can be used throughout the

complete design cycle….from simulation using the Imperas models

to device/board bring-up with actual silicon

Includes latest RISC-V compilers including GCC and LLVM

Software Development using Ashling RISC-V IDE

cont’d

Page 13: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Imperas & Ashling solutions

© 2018 Imperas Software Ltd. Page 13 May-18

Methodology

Tools

Training Resources

Models

Collaboration with customers, vendor ecosystem

200+ CPU models

200+ peripheral models

50+ EPK (Extendable

Platform Kits)

Leading simulation, debug,

software verification tools

Imperas and partners

On-site, customized agenda

Imperas and partners

Model development

Tool development

Page 14: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Risk-free addition of custom instruction

extensions without disrupting model quality

Complete the virtual prototype before silicon or

even RTL is available

Accelerate software development and porting of

existing software

Use EPK for

Ecosystem partners

Early application development

Lead customers

© 2018 Imperas Software Ltd. Page 14 May-18

Virtual Platforms Accelerate Software Development

Page 15: Virtual Platforms for early Embedded Software Development · Page 1 May© 2018 Imperas Software Ltd. -18 Virtual Platforms for early Embedded Software Development RISC-V 8th Workshop

Hugh O‘Keeffe [email protected] Engineering Director

Lee Moore [email protected] Applications Engineering

Kevin McDermott [email protected]

http://www.ashling.com

http://www.imperas.com

http://www.ovpworld.org

© 2018 Imperas Software Ltd. Page 15 May-18

Contact