title 44pt title case deploying function safety all the way to autonomous driving systems ·...

30
© ARM 2017 Deploying function safety all the way to autonomous driving systems Ronan Synnott ARM Tech Forum Korea Principal Solutions Architect June 28 th 2017

Upload: vanthuy

Post on 07-Mar-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Title 44pt Title Case

Affiliations 24pt sentence case

20pt sentence case

© ARM 2017

Deploying function safety all the way to autonomous driving systems

Ronan Synnott

ARM Tech Forum Korea

Principal Solutions Architect

June 28th 2017

© ARM 20173

Text 54pt sentence case Introduction to functional safety

© ARM 20174

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Functional safety

Systems that must function correctly to avoid unacceptable risk of damage or injury

▪ Faults must be detected and controlled

▪ Products must be properly specified and developed accordingly

Safety critical

▪ Braking, steering, acceleration, chassis control, air bag, seat belt

▪ Driver relies on these systems to always function correctly

▪ High safety integrity level (SIL)

Safety ‘nominal’

▪ Lane departure, speedometer, rear camera…

▪ So long as the driver is made aware the system is not working

▪ Medium safety integrity level

© ARM 20175

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Increasing complexity in functional safety markets

Cleaner engines

Autonomous driving

Automotive

Factory automation

Smart robotics

Robotic surgery

Advanced medical mobility

Industrial Healthcare

© ARM 20176

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Applicable standards

A number of functional safety standards exist

▪ ISO 26262 – Road vehicles

▪ IEC 61508 – Electrical, electronic, programmable

electronic systems

▪ DO 254 – Aircraft electronics

Standards always represent an industry consensus

▪ Long lead-times for standards development (5-10 years)

▪ Often lagging behind true state-of-the-art

Safety Integrity Levels (low to high)

▪ SIL 1 to SIL 3

▪ Typically SIL 1 or SIL 3

▪ ASIL A to ASIL D

▪ Typically ASIL B (e.g. parking) or ASIL D (e.g. braking)

Automotive

Medical

Aviation

Railways

Machinery

Industrial

Functional safety

of E/E/PE

systemsDO-178

DO-254

IEC 62304

EN 5012x

IEC 61508

IEC 61511

IEC 61513

ISO 26262

IEC 62061

ISO 13849

© ARM 20177

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Automotive safety integrity levels

▪ Fault metrics

▪ Measurement of possible faults that are

detectable, and mitigated locally if possible

▪ Single point fault metric

▪ Immediately effective faults

▪ Latent fault metric

▪ Initially silent faults, e.g. in memory bits

▪ QM: Quality managed

Safety SPFM LFM

QM Design assurance

ASIL A Nominal

ASIL B 90% 60%

ASIL C 97% 80%

ASIL D 99% 90%

Transient faults*

Permanent faults

* Expect to extend to ASIL B post 2018

© ARM 20178

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence caseSafety

application

Air bag system

Functional safety controls risks of hazards

Safety

application

Pro

tect

ion

agai

nst

Braking system

Systematic

faults

Design errors

Software errors

Processes

Random

faults

Run-time errors

Product

safety

features

© ARM 20179

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Types of fault

▪ Hard errors

▪ Soft errors

▪ Permanent faults

▪ Transient faults

▪ Latent faults

Managed by including features for

fault detection and control

▪ Hardware errata

▪ Software bugs

▪ Incorrect specification

▪ Incomplete requirements

▪ Unfulfilled assumptions

Managed through design process,

verification and assessment

Random faults Systematic faults

© ARM 201710

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Typical fault detection and control features in CPUs

Processor implementation

▪ ECC or parity on memories

▪ Soft and hard-error management

▪ ECC-protected bus ports

▪ Bus-transaction protection

▪ Dual core lockstep with delay

▪ Integrated (lockstep) interrupt controller

▪ Comprehensive error reporting interface

▪ Timing protection

▪ Logic BIST

▪ (On-line) memory BIST

ARM architecture

▪ Memory protection

▪ Interrupt and call handling

▪ Virtualization for software separation

▪ System-error exception

© ARM 201711

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Beneath the surface – systematic fault avoidance

▪ Safety management

▪ Training

▪ Requirements management

▪ Specific design tool flows

▪ Verification

▪ Documentation

▪ Assessment

▪ Quality assurance

▪ Errata management

▪ Support and maintenance

▪ Safety engineering interface

▪ …

© ARM 201712

Text 54pt sentence case Safety features in ARM IP

© ARM 201713

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Functional safety support for ARM IP

Support is IP specific

▪ No generic documents for functional safety

▪ IP integrators responsible for system design

Fault detection and control scope

▪ Only features within ARM IP considered

▪ This is reflected in the Safety Manual and

FMEA Reports

▪ Additional system or software level

mechanisms defined by IP integrator

Level of description depends on the

expected application safety requirements

Software

ARM

IP

Logic

RAM

ROM

Analog

Functional

safety support

from ARM

Source code

Functional

safety support

from ARM

ARM compiler

© ARM 201714

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Extended level Standard level

Typical safety requirements Up to ASIL D (ISO 26262) /

SIL 3 (IEC 61508)

Up to ASIL B (ISO 26262) /

SIL 2 (IEC 61508)

Target application areas Real-time control applications, e.g.

braking, EPS, industrial safety

Monitoring, processing, analysis applications,

e.g. ADAS, general process control

ARM functional safety

support documents

• Safety Manual

• FMEA Report

• Development Interface Report

• Safety Manual

• FMEA Report

• Development Interface Report

FMEA format Detailed analysis with estimated failure

rate distribution and diagnostic

coverage

Functional level analysis with estimated

failure rate distribution

Fault detection and

diagnostics within

ARM IP

Typically very high diagnostic coverage

achievable by hardware-only means

Limited or no diagnostic coverage

achievable by hardware-only means.

Additional diagnostics by system-level or

software means

ARM defines two levels of functional safety support

© ARM 201715

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Functional safety package supports IC designers

Safety manual

▪ Describes design and verification process

▪ Fault detection and control features

▪ Verification summary

Failure modes and effects analysis (FMEA) report

▪ Evidence of safety analysis on the ARM IP

▪ Aids partners with their own SoC level FMEA

Development interface report (DIR)

▪ Defines interworking relationship with ARM

▪ Replaces bespoke dev. interface agreement (DIA)

© ARM 201716

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

▪ TCM ECC interface

▪ MBIST interface

▪ Dual core lockstep

▪ Cache ECC

▪ Exception handling

▪ MPU▪ Exception handling

▪ MPU

▪ Dual core lockstep†

▪ ECC interface†

▪ Exception handling

▪ MPU

▪ Stack limit check

▪ Bus ECC

▪ Error management

▪ TCM ECC

▪ MBIST interface

▪ Dual core lockstep

▪ Cache ECC

▪ Exception handling

▪ MPU

▪ Virtualization

▪ Bus protection

▪ SW test library

▪ System error

▪ Bus ECC

▪ Error management

▪ TCM ECC

▪ MBIST interface

▪ Dual core lockstep

▪ Cache ECC

▪ Exception handling

▪ Two-stage MPU

▪ Cache parity / ECC†

▪ Exception handling

▪ MMU

Functional safety for ARM Cortex processors

ASIL B systematic capability ASIL D systematic capability

▪ Standard safety package: Safety manual, FMEA

report, development interface report

▪ Extended safety package: Safety manual, FMEA

report, development interface report

▪ 3rd party functional safety assessment report

† availability dependent on processor

Cortex-M3/M4

Cortex-M0+

Cortex-A

ARMv8-A

Cortex-M33

Cortex-M23

Cortex-M7

Cortex-R52

Cortex-R5

© ARM 201717

Text 54pt sentence case Security features in ARM IP

© ARM 201718

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Hardware

based security

state switch

ARM TrustZone® for ARMv8-M

Transparent to

the software

developer

Efficient – every cycle counts No hypervisor code

and processing overhead

Transition via a standard function call

Optimised for

small real-time

processors

Low, deterministic interrupt latency

Fully programmable

in C

Easy to programeasy to debug

© ARM 201719

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

ARMv8-M interrupt security

▪ Subject to priority, Secure can interrupt Non-secure and vice versa

▪ Secure can boost priority of own interrupts

▪ Uses current stack pointer to preserve context.

▪ Uses ARMv7-M exception stacking mechanism

▪ Hardware pushes selected registers.

▪ Non-secure interruption of Secure code

▪ CPU pushes all registers and zeroes them

▪ Removes ability for Non-secure to snoop Secure register values.

High-performance interrupt handling with register protection

Non-secure InterruptRunning Secure

Code

Switch to

Non-secure

Run Non-Secure

Handler

Push All Registers

Zero All RegistersPop All Registers

Return from Interrupt

Switch to

Secure

© ARM 201720

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Security defined by address

▪ All addresses are either Secure or Non-secure.

▪ Policing managed by Secure Attribution Unit (SAU) ▪ Internal SAU similar to MPU

▪ Supports use of external system-level definition

▪ E.g. based on flash blocks or per peripheral.

▪ Banked MPU configuration▪ Independent memory protection per security

state.

▪ Load/stores acquire NS attribute based on address▪ Non-secure access attempts to Secure address =

memory fault.

All transactions from core and debugger checked

Non-Secure

MPU

Secure

MPU

Security

Attribution

Unit (SAU)

System

Level

Control

Request from CPU

Request to System

© ARM 201721

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Flash

AMBA AHB5 bus matrix with TrustZone

SRAM

Legacy AHB

non-trusted

master

AHB5

protection

controller

Memory

protection

controller

APB

protection

controller

Security

wrapper

Memory

protection

controller

AHB

Peripherals

APB

Peripherals

Clock bridge

AHB5

masterCPU

CoreLink SIE-200: System IP for embedded

Extend security to peripherals▪ Integrate legacy peripherals

▪ Programmable at run-time

CoreLinkSIE-200 Reduce design time with IP reuse

▪ Re-use and secure existing IP in AHB5 systems

Simplify the design of a secure system▪ Designed and verified with latest ARMv8-M

CPUs

Protect code and data▪ Programmable regions for multiple

applications

© ARM 201722

Text 54pt sentence case Safety features in ARM tools

© ARM 201723

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

ARM Certified Compilers

AC 5.06 AC6.6 (expected)

Certification ISO 26262 ASIL D

IEC 61508 SIL 3

ISO 26262 EN 50128

IEC 61508 IEC 62304*

Any safety integrity level

Core support Up to ARMv7-M/R/A All current ARM Cortex cores

Including ARMv8-M/R/A

Functionality New features such as LTO

GCC compatibility

Expressive diagnostics

Availability DS-5 Ultimate, MDK Pro

Term only

DS-5 Ultimate, MDK Pro

Standalone (term/perpetual)

*Certified as suitable for use

© ARM 201724

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

ARM Compiler Qualification Kit

▪ Augments the TÜV certificate

▪ Safety Manual referenced in TÜV report

▪ New defects reported within the Defect

Report

▪ Enables in-house qualification

▪ QK provides relevant evidence and usage

guidelines

▪ Audited & validated toolchain

development and test processes

Toolchain Justification

Safety Manual

Defect Report

Test Report

Development Process Report

End User Generated Evidence

Applicable to additional safety standards

© ARM 201725

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

ARM Compiler Long Term Maintenance (LTM)

▪ Changing compiler can be very invasive

▪ Toolchain has to be re-validated, all test results are voided

▪ However it is essential that critical defects are addressed!

▪ ARM Compiler 6 for Functional Safety is a stable branch

▪ Regularly scheduled maintenance releases for critical defects

▪ No new cores, no new features, no new optimizations….

▪ Maintained for 5 years, with longer term contracts available by special arrangement

© ARM 201726

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

Static code analysis

▪ DS-5 uses Eclipse, can be integrated with a wide variety of ecosystem plugins

▪ LDRAliteTM is an Eclipse plugin, already integrated into DS-5

▪ Comprehensive static analysis with impressive ease of use

▪ Switchable analysis: MISRA-AC, -C:1999, -C:2004, -C2012, -C++:2008

▪ View violation, rule number and description

▪ View or mark violation in source file

© ARM 201727

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

MDK trace-based code coverage

▪ Analyses code analysis on at the instruction level

▪ Information taken from simulator or from hardware (ETM trace)

© ARM 201728

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

MDK-ARM link to MATLAB® and Simulink®

▪ Provides optimized code generation for Cortex-M based microcontrollers

▪ Uses CMSIS-DSP library

▪ Efficient execution of mathematical algorithms

▪ Also supports processor-in-the-loop (PIL)simulation using ULINK

▪ Code verification on actual target hardware

© ARM 201729

Text 54pt sentence case In conclusion

© ARM 201730

Title 40pt Title Case

Bullets 24pt sentence case

bullets 20pt sentence case

ARM Commitment to Functional Safety

• Safety Manual

• Qualification Results

• Development Interface

Agreement

• Qualification Kit and TÜV

Certification

• Extended Maintenance

• Trace-based Code Coverage

• Execution Profiler

• MISRA checking

• Device Self-test

• Policy-driven Development

IP Development tools Ecosystem

Solutions for the complete development process

Keil

MDK

40+

The trademarks featured in this presentation are registered and/or unregistered trademarks of ARM Limited

(or its subsidiaries) in the EU and/or elsewhere. All rights reserved. All other marks featured may be

trademarks of their respective owners.

Copyright © 2017 ARM Limited

© ARM 2017