DVConFuSA2018
DVConFuSA2018
time
• Automotive Market
• Complex Challenges
• ISO 26262 and Basic Safety
• Functional Safety Methodology
Growth of
Vehicle Increased Shared Mobility
Autonomous
electrification Connectivity Services
Driving
Advances to solve
Advances to ADAS deployment Proliferation of
• High battery
• 5G deployment • Cost effective • Ride sharing
costs
• Telematics Level 3 and services
• Proliferation of
services Level 4 by • Car sharing
charging
• V2I; V2V 2020~2025 services
infrastructure
Driver Partial
AUTOMATED DRIVING SYSTEM
MONITORS DRIVING ENVIRONMENT
Source: Volvo
Source: BMW
Need low-power, small footprint, high-performance SoCs
© Accellera Systems Initiative 9
Making a Car Autonomous
Vision
Vision
Vision
Vision
Vision
Vision Vision
Radar
Radar
Audio
Passive Vision
Radar
Vision
Audio
Performance Verification
Security Verification
Dashboard
Airbag not firing Braking
ASIL examples for illustration purposes only
Hazard Analysis What unintended situations (hazards) could happen? → Loss of stability on split-µ surface
• How likely is the hazard to happen? (Exposure) → oil spill, gravel, water potholes, ….
Risk Analysis • How harmful is the hazard? (Severity) → Car may spin out of control and crash
• How controllable is the system if the hazard occur? (Controllability) → dashboard, driver
AFE
<Ethernet
0.1 ADC/DAC
SW Design HW Design DSP
CPU/GPU
FIT ARM/x86
Sensors
(ISO - Part 6) (ISO - Part 5) < PCIe
0.1 PVT
SPFM, LFM
(formula inputs)
Safety Concept Assumed Safety Requirements definition for the HW component for the
Development of the SoC (Safety Architect)
Metrics Computation Compute Hardware Architecture Metrics (SPFM, LFM), PMHF based on the
defined Safety Concept (Safety Engineer)
Perform applicable Verification Reviews, Confirmation Reviews, Safety
Reviews/Confirmations Audit and Assessment (Auditor)
Design/Analysis Verification
Is the sum of the single point, residual and multipoint fault metrics.
Is expressed in FITs PMHF low means a low probability that
the SoC, including its safety mechanisms, fails without any
detection. It is measured in FIT: 1FIT = probability that one
failure occur in 10^9 hours. It represents the probability to
violate the safety goal
Work Products and Documentations
• List of the most relevant documents to be produced during a Functional Safety
Development and to be used during an assessment
Work Products Content ISO26262 References
Company realted process quality standards, product life cyle, product responsibilities, tools qualificaiton, project
Safety Plan activities plan,... ISO 26262-2:2018, 6.4.3.9
Process to control that work products can be uniquely identified and reproduced in a controlled manner at any time,
Configuration Management Plan e.g. bugs tracking and documentation ISO 26262-8:2018
Change Management Plan Process to changes to safety-related work products throughout the safety lifecycle, impact analysis, revisioning, ... ISO 26262-8:2018
Design and safety mechanisms requirements compliant with technical safety report and system requirements
Safety Requirements (traceable) ISO 26262-5:2018, Clause 6
Requirements traceability report Show the traceability backward ans forward of the requirements. ISO 26262-5:2018 - 7.4.2.5
HW Design Verification Plan Descripition of the techniques and masures to avoid systematic capability: the pass and fail criteria for the ISO 26262-11:2018, 5.1.9 - table
verification, the metrics; the verification environment; the tools used for verification; the regression strategy.
30
ISO 26262-8:2018, Clause 9
ISO 26262-5:2018, 7.4.4 table3
HW Design Verification Report Results of the verification measures (typcally metrics driven verification), derogation, ... ISO 26262-8:2018, Clause 9
Safety Analysis Report FMEA, FMEDA. Safety scope description, Base failure rate calculation, Fault models applied, Analysis assumptions,
Analysis results , Fault injection strategy (how to execute the measures, which WL, sampling,…, expert Judgment ISO 26262-9:2018, Clause 8
evidences ,... ISO 26262-11, 4.6
Analysis of Dependent Failure report DFA analysis, assumption, adopted measures and results ISO 26262-9:2018, Clause 7
Confirmation reviews of: saftey plan, safety analysis, software tool criteria evaluation report, completeness of the
Confirmations Measure Reports safety case, ... ISO 26262-2:2018, Table 1
Applied Safety Life Cycle, safety goal, safety scope, AoU description, fault models, Safety Mech. Description, Safety ISO 26262-11, 4.5.4.9
Safety Manual results summary, ...
FMEDA – Capture and Analyze Safety Goals
Diag. Cov. HW Safety Mechanism
SoC Part Failure Mode Safe Fraction
IP Subpart
Failure Rate Failure Mode Distribution
SETTINGS SPFMp 59,97% SPFMt 52,76%
P FIT/gates 1,20E-05 NAND2 1 LFM not calculated
T FIT/gates 1,64E-03 FLIP FLOP 8
PERMANENT TRANSIENT
ID PART SUBPART Failure Mode #Gates #Flops λp Sp % λpd λps λpd % λt St % λtd λts λtd % DCp SMp DCt SMt
Wrong Data Transaction caused by
1 BUS_ITF a fault in the AHB interface 836 23 0,010 0,26 0,007447 0,00262 100,00% 0,039099 40% 0,023459 0,015639 100,00% 30% E2E 30% E2E
Incorrect Instruction Flow caused by
2 DECODER a fault the decode logic 326 9 0,004 0,01 0,003885 0,00004 100,00% 0,015298 15% 0,013003 0,002295 100,00% 60% CTRL FLOW, WD 60% CTRL FLOW, WD
Un-intended execution/not executed
3 LINK VIC interrupt request 141 4 0,002 0,26 0,001256 0,00044 100,00% 0,006793 40% 0,004076 0,002717 100,00% 60% INT MONITOR 60% INT MONITOR
Corrupt data or value caused by a
4 fault in the register bank shadow 0,018 0,01 0,017841 0,00018 20,13% 0,069709 15% 0,059252 0,010456 19,81% 60% PARITY 60% PARITY
Incorrect Instruction Result caused
5 by a fault in the multiplier 0,009 0,01 0,008998 0,00009 10,15% 0,035685 15% 0,030332 0,005353 10,14% 90% 90%
Incorrect Instruction Result caused HW REDUNDANT HW REDUNDANT
6 CPU by a fault in the adder 0,002 0,01 0,002229 0,00002 2,51% 0,008508 15% 0,007232 0,001276 2,42% 90% RANGE CHK
90% RANGE CHK
ALU Incorrect Instruction Result caused
7465 206
7 by a fault in the divider 0,002 0,01 0,001256 0,00035 1,42% 0,006779 15% 0,005763 0,001017 1,93% 90% 90%
Corrupt data or value caused by a
8 fault in the register bank 0,030 0,01 0,029329 0,00030 33,09% 0,115579 15% 0,098242 0,017337 32,85% 95% STL 0% -
Incorrect Instruction Flow caused by
9 a fault the pipeline controller 0,029 0,01 0,028984 0,00029 32,70% 0,115579 15% 0,098242 0,017337 32,85% 40% CTRL FLOW, WD 40% CTRL FLOW, WD
Incorrect Instruction Flow caused by
a fault the branch logic (Wrong 0,001 0,01 0,001025 0,00001 5,35% 0,003422 15% 0,002908 0,015639 0,04574 25% STL, WD 15% WD
10 FETCH Branch Prediction) 1606 44
Incorrect Instruction Flow caused by
11 a fault the fetch logic 0,018 0,01 0,018115 0,00018 94,65% 0,071387 15% 0,060679 0,015639 0,95426 19% STL 0% -
12
13
14
15
16
17 BUS
10374 286 0,120364 0,00452 0,403188 0,104706
A SM can cover more the one FMs One FM can be covered by multiple SMs
© Accellera Systems Initiative 25
FMEDA Analysis
• User defines the FMEDA Hierarchy starting from design requirements
• Part and Subpart are not one by one with the physical implementation
FMEDA Hierarchy Design Hierarchy: from requirements
ID PART SUBPART Failure Mode CPU
Wrong Data Transaction caused by a fault in
1 BUS_ITF the AHB interface
Incorrect Instruction Flow caused by a fault the core
2 DECODER decode logic bus_if dec_hi dec_lo vic_int vic_ctrl
Un-intended execution/not executed interrupt
3 VIC request
Corrupt data or value caused by a fault in the
4 register bank shadow alu
Incorrect Instruction Result caused by a fault
5 in the multiplier
Incorrect Instruction Result caused by a fault fsm_pipe
6 CPU in the adder
ALU Incorrect Instruction Result caused by a fault
7 in the divider
Corrupt data or value caused by a fault in the
branch_buffer fetch_unit
8 register bank
Incorrect Instruction Flow caused by a fault the branch_fsm
9 pipeline controller
Incorrect Instruction Flow caused by a fault the
10 branch logic (Wrong Branch Prediction)
FETCH Incorrect Instruction Flow caused by a fault the
11 fetch logic
FMEDA Analysis
• User provides textual description of the FMs (for every subpart) figured-out during the
failure functional analysis FM definition: comes from a cause-effect user
analysis starting from specs or RTL
ID PART SUBPART Failure Mode
Wrong Data Transaction caused by a fault in
BUS_ITF
1 the AHB interface
SPECS FM4: “Corrupt data or value
Incorrect Instruction Flow caused by a fault the
2 DECODER decode logic (e.g. caused by a fault in the register
Un-intended execution/not executed interrupt ALU) bank shadow”
3 VIC request
Corrupt data or value caused by a fault in the
4 register bank shadow
Incorrect Instruction Result caused by a fault
5 in the multiplier
e.g. The ALU function has six different way to fail
Incorrect Instruction Result caused by a fault
6 CPU in the adder
ALU ALU
Incorrect Instruction Result caused by a fault
alu
7 in the divider reg_banks
Corrupt data or value caused by a fault in the add fsm_pipe
8 register bank reg_bank
Incorrect Instruction Flow caused by a fault the
9 pipeline controller mul reg_shadow div
Incorrect Instruction Flow caused by a fault the
10 branch logic (Wrong Branch Prediction)
FETCH Incorrect Instruction Flow caused by a fault the
11 fetch logic
FMEDA Validation
• FM mapping is performed by the user associating FMs (defined into the FMEDA) to
Design Instances (hierarchical full path name)
• ISO26262 recommends single point fault metric (SPFM) and Latent Fault Metric
Metrics (LFM) for the component (IP and SoCs)
• Will be measured for each of the identified Safety Goals associated with the safety
critical modules within the IPs and/or SoCs.
Plan + Test
+ FMEDA FIT/DC
bench
Analysis
estimation
FMEDA
Goals
Analysis met?
No Add SMs
optimization
n
Metrics No
met?
Yes
Safety
report
© Accellera Systems Initiative 37
Safety Verification Solution
Functional Verification Safety Verification
Verification
Tracking Functional & Safety Requirements
Safety
Analysis
• Unified functional + safety
Reports Reports
verification flow and
Tool Planner FMEDA Plan Tool Planner engines
• Integrated fault campaign
Fault List
Tests Verification Environment Fault List Optimization management across
SoC/Subsyste
m formal, simulation, and
Design
Coverage
Runs DB
Fault
Results DB
emulation
Functional Mgmt Fault Campaign Mgmt
• Common fault results
Verification
Tool
Verification
Tool
database unifies diagnostic
coverage
• Proven requirements
traceability, enabling
FMEDA integration
© Accellera Systems Initiative 38
Example Design and FMEDA
AHB/AXI APB
MDIO DMA descriptor address
master
Config range checking
Reg
Packet AVB
Buffer DMA
Queue
MIB Parity protection @
Stats
timestamp generation
Redundancy compare
TSN TSN
MAC L3/L4
IP/TCP checksum
filter 1588
Tx Rx TSU
FCS Pause Illegal packet filter
Anti-lockup watchdog
RGMII GMII(MII) TBI
Loopbacks
EDMA TSN
AXI
AXI TX RX TX FCS RX GMII
RGMI
INTF DMA DMA MAC Filter MAC I
RGMII
APB
Registers FM1 - - - - - FM 6
CO
© Accellera Systems Initiative 42
GEM Block – FMEDA Verification
Block or DC Number
λ [FIT] Failure Mode FM Distribution DC Number Estimated
Subblock Achieved
TSU 0.0719 Fault in TSU compare pulse 0.9% 95% 96%
TSU 0.0719 Fault in TSU seconds increment pulse 0.9% 95% 98%
Fault in generation of the TSU strobe pulse
TSU 0.0719 0.9% 95% 78%
to the registers
TSU 0.0719 Fault in TSU timer output value 97.3% 95% 100%
Fault in static configuration outputs from
Registers 0.3013 95% 90% 92.5%
the registers
AHB/AXI APB
MDIO DMA descriptor address
master
Config range checking
Reg
Packet AVB
Buffer DMA
Queue
MIB Parity protection @
Stats
timestamp generation
Redundancy compare
TSN TSN
MAC L3/L4
IP/TCP checksum
filter 1588
Tx Rx TSU
FCS Pause Illegal packet filter
Anti-lockup watchdog
RGMII GMII(MII) TBI
Loopbacks
Xtensa 233
IVP-EP SM
Vision P5
On-Chip Enabled
System
SRAM Blocks
On-Chip
System SRAM 128 KB
128KB
AXIM 128
AXIS 128
AXI 128
AXI 128
DMA
128
AXI
System Interconnect
NOC SM’s
AXI 128
AXI 128
AXI 128
AXI 128
AHB 32
APB 32
APB 32
APB 32
APB 32
APB 32
APB 32
AXI 64
Lock Up’s
ECC
Pixel2AXI AXI2Pixel
Auto
I2C UART QSPI BOOT TIMER ENET SD
ROM MIPI MIPI DSI MAC SDIO
CSI2 Rx eMMC
GEM_TOP
DMA Descriptor
Address, Data
MAC
Protection
TX MEM RX MEM
L3/L4 PCS
TBI
EDMA TSN
AXI
AXI TX RX TX FCS RX GMII
RGMI
INTF DMA DMA MAC Filter MAC I
RGMII
APB
Registers
underrun, overrun
response errors,
Lockup, bus
protection
APB
Registers FM1 - - -FM
- -10 Faults
CO
Remaining faults
OBS SM
Fault Dangerous Fault
Work Load Injection (violate the SG) Injection DD, DU S
WL
patterns.
NC
Formal (remaining faults not DD’, DU’, S’ DC%, S%
classified)
WL IMPROVMENT Calculated per Failure Mode
EXPERT JUDGMENT
Block or FM
λ [FIT] Failure Mode Effect Description of FM SM Implemented
Subblock Distribution
TSU 0.0719 Fault in TSU compare pulse 0.9% TSU compare interrupt is incorrect Incomplete
TSU 0.0719 Fault in TSU seconds increment pulse 0.9% The TSU seconds interrupt is incorrect Incomplete
TSU 0.0719 Fault in generation of the TSU strobe 0.9% The timer value may not be captured or captured incorrectly Incomplete
pulse to the registers
TSU 0.0719 Fault in TSU timer output value 97.3% TX/RX timestamp is corrupted, output TSU timer value to Timer is duplicated
local system will be invalid, Timer value read back in
registers is also invalid.
Registers 0.3013 Fault in static configuration outputs 95% Unpredictable behavior of IP Parity generation and
from the registers detection
Fault Campaign Executor - Interface
Inputs: FMEDA info
Campaign Campaign Configuration • Fault List
Initiator Fault Strobe Test Campaign
− Definition of the faults to be injected
(e.g. FMEDA) List List List Config. • Strobe List
− Definition of the observation points
Inputs: FS Verification Engineer
• Test List
− Tests to be used during the campaign
• Campaign Configuration:
Campaign Executor − Define the campaign parameters
Outputs:
• Annotated Fault List
− Fault classification is back annotated
Annotated
Fault List
Reports • Reports
Results − Various kind according to the use case
(e.g. Diagnostic
Coverage)
Fault Campaign Executor - Interface
Campaign Campaign Configuration
Initiator Fault Strobe Test Campaign • Test selection
(e.g. FMEDA) List List List Config. – Execute the user defined list of tests
• Good Simulation
– Fault instrumentation
Preparation – Generate strobe data for each selected
test
Annotated
Fault List
Reports • Fault Simulation Execution
Results – Simulate each fault with the selected tests
(e.g. Diagnostic
Coverage)
Campaign Reports - Abstract
Safe Faults by Formal
Detected Faults
No Company Logo
except on title slide!
3/2/2022 Change "footer" to presenter's name and affiliation 59
Code and Notes
module example
Code should be
(input logic foo,
enclosed in text boxes
output logic bar
(using a background
);
color is optional)
initial begin
Code should be $display (“Hello World!”);
18pt Courier-bold, or
larger endmodule