MPSoC Virtual Platforms

Similar documents
Hybrid Platform Application in Software Debug

High Performance or Cycle Accuracy?

Architectures and Platforms

Introduction to System-on-Chip

A Methodology for Efficient Multiprocessor System-on-Chip Software Development

Virtual Platforms in System-on-Chip Design

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

Embedded Development Tools

Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

Early Hardware/Software Integration Using SystemC 2.0

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Codesign: The World Of Practice

7a. System-on-chip design and prototyping platforms

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Design and Analysis of Efficient MPSoC Simulation Techniques

Multi-/Many-core Modeling at Freescale

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Multiprocessor System-on-Chip

ARM Webinar series. ARM Based SoC. Abey Thomas

Defining Platform-Based Design. System Definition. Platform Based Design What is it? Platform-Based Design Definitions: Three Perspectives

Modeling a GPS Receiver Using SystemC

A Complete Multi-Processor System-on-Chip FPGA-Based Emulation Framework

A Generic Network Interface Architecture for a Networked Processor Array (NePA)

SoC Design Lecture 12: MPSoC Multi-Processor System-on-Chip. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

Going Linux on Massive Multicore

What is a System on a Chip?

Embedded Systems: map to FPGA, GPU, CPU?

Hybrid Simulation Framework for Virtual Prototyping Using OVP, SystemC & SCML

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Hardware accelerated Virtualization in the ARM Cortex Processors

MPSoC Designs: Driving Memory and Storage Management IP to Critical Importance

on-chip and Embedded Software Perspectives and Needs

Introduction to ARM. Bobby Clarke, ARM Eclipse Members Meeting Sept 06

Designing a System-on-Chip (SoC) with an ARM Cortex -M Processor

FPGA Prototyping Primer

Kalray MPPA Massively Parallel Processing Array

FSMD and Gezel. Jan Madsen

12. Introduction to Virtual Machines

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Virtualization and Other Tricks.

Five Families of ARM Processor IP

Intel CoFluent Methodology for SysML *

Introduction to Virtual Machines

Operating System Support for Multiprocessor Systems-on-Chip

Qsys and IP Core Integration

Laboratoryof Electronics, Antennas and Telecommunications (UMR 7248)

Better Trace for Better Software

Multi-core Programming System Overview

Introduction to Exploration and Optimization of Multiprocessor Embedded Architectures based on Networks On-Chip

Design Cycle for Microprocessors

A case study of mobile SoC architecture design based on transaction-level modeling

Software engineering for real-time systems

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Real-time Debugging using GDB Tracepoints and other Eclipse features

System Design Issues in Embedded Processing

How To Design A Single Chip System Bus (Amba) For A Single Threaded Microprocessor (Mma) (I386) (Mmb) (Microprocessor) (Ai) (Bower) (Dmi) (Dual

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

Chapter 2 Features of Embedded System

White Paper. S2C Inc Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: Fax:

A Unified View of Virtual Machines

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Optimizing Configuration and Application Mapping for MPSoC Architectures

STLinux Software development environment

Example of Standard API

Real-Time Operating Systems for MPSoCs

Chapter 2 System Structures

ARM Microprocessor and ARM-Based Microcontrollers

Driving force. What future software needs. Potential research topics

Tensilica Software Development Toolkit (SDK)

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

Compilers and Tools for Software Stack Optimisation

SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley

Android Development: a System Perspective. Javier Orensanz

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Chapter 3 Operating-System Structures

Breaking the Interleaving Bottleneck in Communication Applications for Efficient SoC Implementations

Open Source Software

Application Note: AN00141 xcore-xa - Application Development

Extending Platform-Based Design to Network on Chip Systems

Virtualization. Dr. Yingwu Zhu

CoreSight SoC enabling efficient design of custom debug and trace subsystems for complex SoCs

CHAPTER 1 INTRODUCTION

Embedded Systems. introduction. Jan Madsen

AN4664 Application note

Transcription:

CASTNESS 2007 Workshop MPSoC Virtual Platforms Rainer Leupers Software for Systems on Silicon (SSS) RWTH Aachen University Institute for Integrated Signal Processing Systems

Why focus on virtual platforms? MPSoC HW has become reality TI: OMAP, DaVinci STM: Nomadik IBM: Cell Intel: IXP, CoreDuo Philips: Nexperia Atmel: Diopsis ARM: MPCore... and many others Still many open issues in MPSoC design methodology HW/SW partitioning Processor IP/NoC optimization MPSoC programming MPSoC prototyping [Intel] [Nokia] 2

MPSoC design flow Application: Task 1 Task 2 Task 3 Task 4 Task 5 HW HW Proc Proc Proc Proc Network-on-Chip MPSoC Network-on-Chip Specification HW HW MPSoC virtual virtual platform (SW (SW prototype) HW HW Proc Proc Proc Proc HW HW Network-on-Chip Network-on-Chip MPSoC HW HW platform prototype 3

What is a virtual platform? A SW model of a HW SoC platform Enables... HW platform architecture exploration and optimization SW development, debugging, and optimization Concurrent HW/SW design ( HW/SW codesign ) Requirements High simulation speed Speed/accuracy trade-off Flexibility Usability for non-hw-experts 4

Some virtual platform history MPSoC is processor (i.e. software) dominated Instruction-set simulator (ISS) plays key role for simulation speed Early ISS s (e.g. for DSPs) used interpretive technology, therefore very slow Introduction of compiled simulation achieved speedup of 10-100x Application Instruction Decode Execute ory Run-Time Application Simulation Compiler Instruction Behavior Compiled Simulation Execute Program ory Compile-Time Run-Time 5

Some virtual platform history Instruction Instruction Behavior Application Program ory Decode Compiled Simulation Cache Execute Run-Time Added flexibility via cache-based JIT compiled simulation Dynamic binary translation results in another 10x speedup Further developments Automatic ISS retargeting from processor models Multi-core debugging facilities via synchronized ISS s Transaction-level modeling (TLM) for fast bus/noc simulation Adoption of SystemC as de facto standard for ESL modeling 6

Virtual platforms today Different successful commercial offerings CoWare, Vast, Virtio, Virtutech,... Fast and accurate enough, e.g. to boot Linux and decode H.264 in (almost) real-time make virtual GSM phone calls In use by major semiconductor and system houses [Vast] 7

Virtual SHAPES platform (VSP) RISC DSP Tile () RISC Elementary Tile () DSP Elementary Tile () RISC VLIW BUS MEM RISC MEM BUS VLIW BUS MEM SHAPES HW architecture DNP DNP DNP Multi-Chip System NOC Multi-Tile Chip 8

VSP (derived from Atmel Diopsis 940) ICE RISC Instr Cache ARM926EJS ARM926EJS MMU PSP PSP Data Cache RDM IF BIU I D I D DXM DXM Interface(AHB EBI) ARM JTAG SRAM ROM magicv DSP TM JTAG magicv TM DPM 2-port 16-port 256x40 Data Regs 10-float ops/cycle DSP AHB Master LISA LISA 4-addr/ Model Model cycle Multiple DSP Addr Gen DSP AHB Slave DDM 6-access/ cycle Multi-layer AMBA AMBA Bus Bus MATRIX Bus Library Library Master DNP AHB Master X + X - Y + DNP AHB Master Y - Slave DNP Z + DNP AHB Slave Modeled Modeled by by INFN INFN Z - C + PDMA Bridge NoC (NI) APB SystemC SystemC Functional Functional Model Model 9

Virtual SHAPES platform (VSP) Modeling accuracy levels Cycle accurate (CA): partially existing, out of SHAPES scope Instruction accurate (IA): current focus Fast performance estimation: future work IA modeling based on CoWare VP/LISATek technology Platform modeling with Virtual Platform Designer (VPD) Embedded SW development with Virtual Platform Architect (VPA) Package & ship to user VPD (HW view) VPA (SW view) 10

Future work: simulation on multi-core hosts Growing SW and HW complexity: simulation speed will remain an important issue for virtual platforms Moore s law treats embedded MPSoC and general purpose computers equally ASIC ASIC CPU CPU ASIP ASIP ASIP ASIP CPU CPU ASIP ASIP ory ory ory ory ory ory MPSoC virtual platform Simulation host OS-based load balancing of multi-core host could be optimized for application domain, i.e. MPSoC simulation 11

Future work: ultra-fast MPSoC simulation Simulation of large-scale multi- MPSoC systems (e.g. SHAPES) will require novel concepts Need to move to higher abstraction levels CA IA??? native code execution Earlier work: Virtual Processing Unit (VPU) for high-level architecture and OS exploration [Kogel/Kempf@ISS] timing annotated native execution Goal: hybrid simulation, i.e. seamless handover between VPU/native and IA simulation Fast forwarding concept Speed/accuracy trade-off task A task A get init busy1 request put response get busy2 request put Δt A1 Δt response Δt A2 VPU VPU toggle ISS task B task B get init busy1 request put response get busy2 request put Δt B1 Δt B2 12

Future work: checkpoint/restart technology Problem with virtual platforms: Reaching a point of interest in the simulation may take considerable time E.g. OS booting before entering application code Makes debugging tedious Solution: Checkpointing facility, i.e. dump entire simulation state on hard disk Restarting facility, i.e. resume simulation from previous checkpoint Technically very challenging for SystemC simulation Dependence on host OS details, SystemC simulation kernel, external debuggers, etc. Linux booted Periodic checkpoints Program crash 13

Summary Virtual platforms... can replace HW prototypes for architecture exploration and esw development enable truly concurrent embedded HW/SW design Advances in simulation technology have made virtual platforms applicable to today s MPSoC complexity levels Virtual SHAPES Platform under development Future topics Higher simulation speed (e.g. multi-core hosts, higher abstraction levels) Improved usability (e.g. hybrid simulation, checkpointing) HW design HW design T2 T6 T1 T3 T4 T5 14 application VP creation VP creation SW design SW design integration

Thank you! See also: - CASTNESS presentation by Torsten Kempf - www.iss.rwth-aachen.de Institute for Integrated Signal Processing Systems