+ All Categories
Home > Documents > A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th...

A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th...

Date post: 18-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
18
© 2018 Imperas Software Ltd. Page 1 May-18 A Common Software Development Environment for Many-core RISC-V based Hardware and Virtual Platforms RISC-V 7 th Workshop Barcelona Tuesday May 08, 2:00pm Simon Davidmann Imperas Software Gajinder Panesar UltraSoC
Transcript
Page 1: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 1 May-18

A Common Software Development

Environment for Many-core RISC-V

based Hardware and Virtual Platforms

RISC-V 7th Workshop – Barcelona

Tuesday May 08, 2:00pm

Simon Davidmann – Imperas Software

Gajinder Panesar – UltraSoC

Page 2: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 2 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 3: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 3 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 4: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

New Markets with new

Software Requirements

Schedule

Quality

Reliability

Security

Safety

Engineering productivity / automation

Predictability on software development schedules

Unknown / unmeasurable software delivery risk

Page 4 May-18 © 2018 Imperas Software Ltd.

Page 5: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 5 May-18

Chip designs get more complex inc.

Asymmetric Multi-Core…

Example… SMP CPU groups, AMP CPU, many peripherals and other processors…

n-Core SMP

Linux system

2-CPU Bare metal

peripheral

CPU

RTOS

CPU

Bare metal

peripheral

peripheral

peripheral

peripheral

peripheral

Page 6: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 6 May-18

Embedded Software Increasingly

Important & Engineering Intensive

Functionality of SW is defining embedded products

SW codebase size, complexity, quality requirements exploding

Engineering schedules & costs under pressure and harder to manage

Source: System Level Design Community 2013

Engineering Cost vs SoC Process Node

Page 7: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 7 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 8: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 8 May-18

Traditionally use a hardware

breadboard… Using GDB(s)…

Well.. You use one GDB per processor with JTAG giving access…

Page 9: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 9 May-18

Traditionally use a hardware

breadboard… Using GDB(s)…

one GBD per CPU

little visibility: each GDB only sees the limited memory space of the attached CPU

non-deterministic (bugs move around…)

poor control (hard to set specific places to break)

scheduling and synchronized events difficult to reproduce…

what is going on in the peripherals? …

pretty un-manageable…

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

Debugger

GDB

DebuggerGDB

Debugger

GDB

DebuggerGDB

Debugger

GDB

DebuggerGDB

Debugger

GDB

Debugger

Page 10: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 10 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 11: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 11 May-18

Simulating Hardware

(Virtual Platforms) with Imperas

UART

CLINT

PLIC

RAM

Imperas U54-MC Virtual Platform

Under 10 seconds to get to booted

Linux login prompt!

RISC-V 5 x core (U54-MC)

Virtual Platforms built using processor, peripheral and platform models using Open Virtual Platforms (OVP) APIs Models are open source

Simulated unmodified production binaries

Software does not know it is not on hardware

Runs very fast, 100-2,000MIPS

Page 12: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 12 May-18

Imperas MPD

full platform debugger Platform aware, multiprocessor / multicore aware

Driver-peripheral software-hardware co-debug

Event-based debug, e.g. using assertions

OS-aware debug, e.g. breakpoints on OS events

Select CPU or peripheral in target window and see

source, programmers registers, variables, … Complete visibility in platform…

Page 13: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 13 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 14: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

xtens

a

Advanced debug/monitoring

for the whole SoC

Page 14 May-18

Interconnect (AXI, ACE, ACE-lite, OCP, NoC)

GP

U

DRAM

controller

Custom

Logic

Bus

Mon

Trace

Receiver PAM PAM

Trace

Encoder PAM

Static

Instrumentatio

n DMA

Status

Monitor

Message Engine Message Engine Message Engine

Message Engine

AXI

Comm

JTAG

Comm

USB

Comm

Universal

Streaming

Comm

Portfolio of

Analytic

Modules

Family of

Communicators

Flexible &

Scalable

Message Fabric

System Block

UltraSoC IP

DSP

System

Memory

Buffer

© 2018 UltraSoC

Page 15: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 15 May-18

Agenda

Embedded Software Development Challenges

Traditional SW Debug Environment using

Hardware

Modern SW Debug using Imperas Simulation

Giving more visibility to SW Debug using

UltraSoC Hardware

Imperas/UltraSoC collaboration provides

common solution

Page 16: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 16 May-18

Collaboration

Common Software Development Environment

Imperas

MPD

Debugger

Eclipse GUI

Imperas

MPD

Debugger

Eclipse GUI

Simulation

Hardware with

UltraSoC Debug IP

A

G

E

N

T

Page 17: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

Collaboration allows use

from concept to production

Page 17 May-18

Views to control and debug and observe throughout the design process

Visibility of

software

Bus

activity

Control

configuration

© 2018 Imperas Software Ltd.

Page 18: A Common Software Development Environment for Many-core ...€¦ · 14/05/2018  · RISC-V 7th Workshop – Barcelona Tuesday May 08, 2:00pm Simon Davidmann ... Engineering Cost vs

© 2018 Imperas Software Ltd. Page 18 May-18

Summary

Imperas and UltraSoC collaborating

Developing common software development

environment

Same for hardware based and simulation based teams

Start with simulation on virtual platforms

Use with RTL as design progresses

Use prototypes when available

Use with silicon pre- and post- production


Recommended