Software Verification for Low Power, Safety Critical Systems

Similar documents
Integrating Power Models into Instruction Accurate Virtual Platforms for ARM-based MPSoCs

Cycle Approximate Simulation of RISC-V Processors

Simulation Based Analysis and Debug of Heterogeneous Platforms

Virtual Platform Software Simulation for Enhanced Multi-core Software Verification

Virtual Platforms, Simulators and Software Tools

Software Quality is Directly Proportional to Simulation Speed

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

Virtual Platform Based Linux Bring Up Methodology

Customized, Intelligent Memory Access Monitoring for Reliable Asymmetric MultiProcessor System Development

Imperas Guide to using Virtual Platforms. Platform / Module Specific Information for imperas.ovpworld.org / ArmuKernelDual. Imperas Software Limited

Imperas Guide to using Virtual Platforms. Platform / Module Specific Information for mips.ovpworld.org / BareMetalMipsSingle. Imperas Software Limited

Virtual Platforms for early Embedded Software Development

Embedded Software Dynamic Analysis. A new life for the Virtual Platform

RISC-V Summit, December 2018 Simon Davidmann, Lee Moore 2018, Imperas Software

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs

Virtual Hardware ECU How to Significantly Increase Your Testing Throughput!

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd

Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World

Strato and Strato OS. Justin Zhang Senior Applications Engineering Manager. Your new weapon for verification challenge. Nov 2017

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

10 Steps to Virtualization

New ARMv8-R technology for real-time control in safetyrelated

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Building High Performance, Power Efficient Cortex and Mali systems with ARM CoreLink. Robert Kaye

esi-risc Development Suite Getting Started Guide

Copyright 2014 Xilinx

A Seamless Tool Access Architecture from ESL to End Product

Getting the Most out of Advanced ARM IP. ARM Technology Symposia November 2013

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

FPGA Adaptive Software Debug and Performance Analysis

Attack Your SoC Power Challenges with Virtual Prototyping

HKG : OpenAMP Introduction. Wendy Liang

Software Design Challenges for heterogenic SOC's

Validation Strategies with pre-silicon platforms

Optimizing HW/SW Partition of a Complex Embedded Systems. Simon George November 2015.

Introducing the FPGA-Based Prototyping Methodology Manual (FPMM) Best Practices in Design-for-Prototyping

The Challenges of System Design. Raising Performance and Reducing Power Consumption

FUNCTIONAL SAFETY FOR INDUSTRIAL AUTOMATION

Santa Fe (MAXREFDES5#) MicroZed Quick Start Guide

EMC2. Prototyping and Benchmarking of PikeOS-based and XTRATUM-based systems on LEON4x4

Hardware Software Bring-Up Solutions for ARM v7/v8-based Designs. August 2015

Designing a Multi-Processor based system with FPGAs

Wind River. All Rights Reserved.

Growth outside Cell Phone Applications

Introduction to Embedded System Design using Zynq

Optimizing Hardware/Software Development for Arm-Based Embedded Designs

RazorMotion - The next level of development and evaluation is here. Highly automated driving platform for development and evaluation

Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

ARMv8-A Software Development

Cortex-A15 MPCore Software Development

Next Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface

Big.LITTLE Processing with ARM Cortex -A15 & Cortex-A7

Zatara Series ARM ASSP High-Performance 32-bit Solution for Secure Transactions

Embedded HW/SW Co-Development

Creating hybrid FPGA/virtual platform prototypes

ARM processors driving automotive innovation

Designing with ALTERA SoC Hardware

ID 730L: Getting Started with Multimedia Programming on Linux on SH7724

Keil uvision development story (Adapted from (Valvano, 2014a))

Graph-Based Verification in a UVM Environment

A So%ware Developer's Journey into a Deeply Heterogeneous World. Tomas Evensen, CTO Embedded So%ware, Xilinx

2. HW/SW Co-design. Young W. Lim Thr. Young W. Lim 2. HW/SW Co-design Thr 1 / 21

Introducing the Spartan-6 & Virtex-6 FPGA Embedded Kits

NS115 System Emulation Based on Cadence Palladium XP

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017

Introduction to Embedded Systems

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

Fresno (MAXREFDES11#) ZedBoard Quick Start Guide

Support for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH

Why Use Simulation? Simics & dark2 Assignment 1. What is a Simulator? Full-System Simulation

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

Projects on the Intel Single-chip Cloud Computer (SCC)

Getting Started with FreeRTOS BSP for i.mx 7Dual

Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO standard

NEWS 2018 CONTENTS SOURCE CODE COVERAGE WORKS WITHOUT CODE INSTRUMENTATION. English Edition

Copyright 2016 Xilinx

Introduction to gem5. Nizamudheen Ahmed Texas Instruments

atoll ic TrueSTUDIOPro Professional C/C++ IDE for ARM -based devices The essential toolkit for ARM development

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

O B J E C T L E V E L T E S T I N G

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems

SDSoC: Session 1

Evidence Company description and future challenges. Paolo Gai, IWES Workshop Pisa, 21 September 2016

10 th AUTOSAR Open Conference

Next Generation Enterprise Solutions from ARM

It's not about the core, it s about the system

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Using Virtual Platforms To Improve Software Verification and Validation Efficiency

ARM TrustZone for ARMv8-M for software engineers

Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry

RTOS, Linux & Virtualization Wind River Systems, Inc.

Implementing debug. and trace access. through functional I/O. Alvin Yang Staff FAE. Arm Tech Symposia Arm Limited

Xen Project Automotive and Embedded Overview

Transcription:

Software Verification for Low Power, Safety Critical Systems 29 Nov 2016, Simon Davidmann info@imperas.com, Imperas Software Ltd. Page 1

Software Verification for Low Power, Safety Critical Systems Page 2 DVClub Nov 2016

Agenda Software Verification for Systems Low Power, Safety Critical Page 3 DVClub Nov 2016

Agenda Software Verification for Systems Many processors with lots of software Software Verification requirements Embedded Software Development Issues Adopting Simulation (Virtual Platforms) Advanced tools available with simulators Low Power, Safety Critical Page 4 DVClub Nov 2016

Modern SoCs Have Many Concurrent Processing Elements SMP cores AMP cores Accelerators Renesas R-Car H2: Automotive infotainment and ADAS Page 5 DVClub Nov 2016

SW Verification Requirements Hardware Dependent Software (HDS) Hardware Dependent Software (HDS) Most complex foundation layer Drivers, hypervisors, assembly libraries, operating system Buried problems often appear elsewhere in a system, leading to misdirected analysis Ripe for corner case type issues Post development bugs hardest to fix Testing needs to be platform centric not application centric Modern SoC SW verification is complex SMP/AMP multicore interaction Shared memory & devices Extensive accelerators, peripherals Externally authored, complex libraries Complex SW/HW interaction (e.g. power) How to estimate power consumption and test power management strategies over a wide range of conditions? Page 6 DVClub Nov 2016

Embedded Software Development Issues (in no specific order) Schedule Quality Functionality Timing, power constraints Security / safety Predictability of the software engineering task: management accuracy on software resource and schedule requirements is +/- 50% Unknown / unmeasurable delivery risk Page 7 DVClub Nov 2016

Hardware-Based Software Development Has timing/cycle accuracy JTAG-based debug, trace Traditional development board or hardware emulator based testing Late to arrive Limited physical system availability Emulators are too slow to run enough system scenarios Limited external test access (controllability) Limited internal visibility How to observe power consumption? To get around these limitations, software is modified printf Debug versions of OS kernels Instrumentation for specific analytical tools, e.g. code coverage, profiling Even using different tool chains and libraries Modified software may not have the same behavior as clean source code Page 8 DVClub Nov 2016

Virtual Platforms Complement Hardware-Based Software Development Current methodology employs testing on hardware Proven methodology Has limitations We are at the breaking point Virtual platform based methodology delivers controllability, visibility, repeatability, automation Application Layer: Customer Differentiation Middleware: TCP/IP, DHCP, LCD, OS: Linux, FreeRTOS, µc/os-iii, ThreadX, Drivers: USB, SPI, ethernet, Actual Hardware or Virtual Platform Virtual platforms software simulation provide a complementary technology to the current hardwarebased methodology Page 9 DVClub Nov 2016

Advantages of Virtual Platform Based Software Development (Instruction Accurate Simulation) Earlier system availability Easy access for entire team Runs actual binaries, e.g. runs ARM executables on x86 host Fast, enables quick turnaround and comprehensive testing Full controllability of platform both from external ports and internal nodes Corner cases can be tested Errors can be made to happen Full visibility into platform: if an error occurs, it will be observed by the test environment Easy to replicate platform and test environment to support automated continuous integration (CI) and test automation / regression testing on compute farms Test Set 1 Test Set n Page 10 DVClub Nov 2016

Building the Virtual Platform The virtual platform is a set of models that reflects the hardware on which the software will execute Could be 1 SoC, multiple SoCs, board, system; no physical limitations Functionally accurate, such that the software does not know that it is not running on the hardware Models are typically written in C or SystemC Models for individual components interrupt controller, UART, ethernet, are connected just like in the hardware Peripheral components can be connected to the real world by using the host workstation resources: keyboard, mouse, screen, ethernet, USB, Page 11 DVClub Nov 2016

Imperas Tool Architecture Output Data T E S T B E N C H Application Software & Operating System Virtual Platform Peripheral Memory B U S OVP CPU OVP CPU C P U H E L P E R O S H E L P E R V A P T O O L S Trace Profile Coverage Schedule Multiprocessor / Multicore Debugger Simulation Engine SlipStreamer API API Eclipse IDE Page 12 DVClub Nov 2016

Running Software on a Virtual Platform BareMetal Platform Processor Memory Quickly execute any program on a default BareMetal platform Simply run the executable with the name of the application object simulate fast Page 13 DVClub Nov 2016

Virtual Platform Booting Linux Kernel on ARM Cortex-A57 / Cortex-A53 big.little Imperas OVP ARM MultiCluster model (big.little) Interrupt Distributor - GIC-400/GIC-500 (GICv2/GICv3) simulate ostrace qtrace UART0 UART0 UART0 UART0 UART0 UART0_0 Cache Coherent I/F CCI-400/CCI-500 Memory Page 14 DVClub Nov 2016

And many many tools can be used with the simulation Trace Coverage Profile Memory analysis Dynamic (Temporal) Assertions osaware: context, schedule, task, All at the flick of a switch All non-intrusively All without requiring any changes to software Runs with production binaries => Use of simulation (virtual platforms) is the modern way to develop and verify embedded software Page 15 DVClub Nov 2016

And When it comes to Continuous Integration When it comes to test automation When it comes to regression testing => Virtual platforms become essential for embedded software development Page 16 DVClub Nov 2016

Agenda Software Verification for Systems Low Power, Safety Critical Page 17 DVClub Nov 2016

Collaborations Pontifical Catholic University of Rio Grande do Sul, (PUCRS) Porto Alegre Brazil. University of Leicester, Leicester, UK. Institute for Information Technology, Oldenburg, Germany This work was partially funded by the European Union s Horizon2020 research and innovation programme under the grant agreement No 687902. More information at http://www.safepower-project.eu/ Page 18 DVClub Nov 2016

Working on Verification of Software Timing Analysis Power Analysis Fault Simulation Page 19 DVClub Nov 2016

Working on Verification of Software Timing Analysis using Instruction Accurate simulation / virtual platforms => software performance Power Analysis using Instruction Accurate simulation / virtual platforms => software affected power Fault Simulation using Instruction Accurate simulation / virtual platforms for software verification and compliance to standards such as ISO 26262 => software fault tolerance Page 20 DVClub Nov 2016

CPU Timing Estimator Application Memory.elf file CPU CPU Timing Estimator CPU Characterization Data CPU Characterization Data for each CPU variant Limitation: In-order processors Timing Estimator loaded onto CPU instance as binary intercept library No edits/changes needed in CPU model binary, or platform, or other models Controlled by simulation command line arguments Takes account of instructions, branches, sequences, memory Page 21 DVClub Nov 2016

Accuracy Evaluation vs Board Example: Cortex-M4F running FreeRTOS WCET and other benchmarks 12.30% Worst case error <13% Average error across all benchmarks run <5% Most errors are <8% Simulation speeds with timing up to 500Mips Caveat: performance and accuracy are application dependent Page 22 DVClub Nov 2016

Working on Verification of Software Timing Analysis Power Analysis Fault Simulation Page 23 DVClub Nov 2016

Eu SafePower project Explorative project to enable the development of low power mixed-criticality systems through the provision of a reference architecture, platforms and tools to facilitate the development, testing, and validation Page 24 DVClub Nov 2016

SafePower Xilinx Zynq Virtual Platform Harness Zynq Programmable Logic Zc702/zc706 Zynq Zynq Processing Sub-system Zynq Programmable Logic MicroBlaze Memory CPU0 (ARM Cortex-A9MPx2) slcr Ethernet MAC Zynq Programmable Logic uartps devcfg MicroBlaze Memory Memory Controller Flash Controller MicroBlaze Memory Memory Smartloader Memory Interchangeable Zynq Programmable Logic Modules Page 25 DVClub Nov 2016

SafePower: Xilinx Zynq zc706 Virtual Platform fentiss XtratuM Hypervisor on ARM Cortex-A9MPx2 Zynq Zynq Processing Sub-system CPU0 (ARM Cortex-A9MPx2) slcr Memory uartps Memory Controller Ethernet MAC devcfg Flash Controller Zynq Programmable Logic Shown running fentiss Xtratum Hello World example application Page 26 DVClub Nov 2016

SafePower ARM Cortex-A9 Power Model Overview Intercept Library Voltage Regulators and Power Sensors Power Model Zynq Power Model Platform Access Memory, Registers, Voltages, etc. Zynq Processing Sub-system Int. Lib. CPU0 (ARM Cortex-A9MPx2) I²C (PMBUS) Utilizations (CPU, RAM R/W, AXI) Core Model Power Formulas Power Values Platform Model Clock Rates (CPU, RAM, AXI, IO) and Voltages VCD Sink Memory uartps Memory Controller Zynq Programmable Logic slcr Ethernet MAC devcfg Flash Controller File Output Page 27 DVClub Nov 2016

SafePower Dynamic Frequency Voltage Scaling (DVFS) Analysis System Application, Operating System, Firmware Runs on Virtual Platform Power Model Design-Time Opt. Understand Tracing Page 28 DVClub Nov 2016

SafePower Power Traces Analysis Application, Operating System, Firmware Runs on Virtual Platform Power Model Design-Time Opt. Analyze/ Debug Tracing Page 29 DVClub Nov 2016

SafePower : Power Monitoring in SW Application, Power Operating System, Consumption Firmware Runs on Virtual Platform Register Interface Power Model Power Sensor Design-Time Opt. Analyze/ Debug Tracing Page 30 DVClub Nov 2016 video

Working on Verification of Software Timing Analysis Power Analysis Fault Simulation Page 31 DVClub Nov 2016

Fault Simulation is needed Compliance with standards requires products to demonstrate reliability and tolerance to fault injections Eg: automotive ISO26262 requires this Fault Simulation proved in the HW world it was a good way to show hardware had been manufactured fault free Fault Simulation can be used with virtual platforms to show that software is reliable under the presence of faults Page 32 DVClub Nov 2016

Fault Simulation Overview 4 stages Virtual Platform Operating System Applications Virtual Platform Operating System Applications Virtual Platform Operating System Applications Fault List Fault Free Simulation Run Hardware & Software Introspection & Fault List Creation Simulation Runs With Simulation Faults Injected Runs Simulation Runs With Detection Faults Injected Data With Faults Injected Golden Data Fault Dictionary Fault Dictionary Data Analysis & Reporting Page 33 DVClub Nov 2016

Fault Simulation Analysis & Reporting [A, B, C] = [Cortex-A9MPx1, X2, X4] 8,000 faults generated for each processor configuration 16 applications (Rhodinia HPC benchmarks) running under Linux 3.13 Page 34 DVClub Nov 2016

Summary Virtual platforms software simulation provide a complementary technology to hardware-based testing of software Virtual platforms can run full production binaries including hypervisors and hardware virtualization to assist in verification of safety critical systems Besides functional correctness, timing properties and power consumption are gaining importance Virtual platforms become essential with adoption of Continuous Integration methods for embedded systems software Virtual platforms for software verification help you Achieve higher quality software Reduce development schedules Increase software project predictability Reduce delivery risk Page 35 DVClub Nov 2016

Thank you For more information: info@imperas.com www.imperas.com www.ovpworld.org Page 36