当前位置: 首页 > news >正文

【汽车芯片功能安全分析与故障注入实践 10】Failure Mode Library:如何把系统级失效模式落到模块级?

作者:Darren H. Chen
方向:汽车芯片功能安全分析与故障注入实践
Demo:D10_failure_mode_library
标签:汽车芯片功能安全Failure ModeFMEDA失效模式库Safety Mechanism


Demo 说明

D10_failure_mode_library的目标是建立一个可维护、可检查、可复用的 Failure Mode Library。

对应的通用工具名称为:

safeic-fmlib

这个 Demo 的作用是把系统级安全目标逐步落到模块级、子模块级和结构级对象:

Safety Goal -> Functional Failure -> Module Failure Mode -> Sub-part Failure Mode -> Endpoint / Safety Mechanism Mapping

如果没有 failure mode library,FMEDA 很容易变成临时表格;如果建立了库,功能安全分析就可以形成可复用的方法资产。


1. Failure Mode 是什么

Failure Mode 可以理解为:

某个功能、模块或结构对象以什么方式失效。

它不是具体某个 bit 翻转,也不是某个 fault injection case。

它描述的是故障造成的功能后果。

例如:

输出数据错误 控制状态错误 传输过早或过晚 未请求时发生传输 请求后没有响应 计数器停止或跳变 错误中断上报 安全报警未触发

随机硬件故障是原因,Failure Mode 是后果。

可以这样理解:

Fault -> Error -> Failure Mode -> Safety Goal Violation

2. 为什么需要 Failure Mode Library

在实际项目中,failure mode 经常分散在不同文档里:

安全计划 系统 FMEA IP safety manual 模块规格书 设计评审记录 验证计划 FMEDA 表格

如果没有统一库,会出现几个问题:

不同模块使用不同命名 同一个 failure mode 被重复定义 安全机制映射不一致 报告难以汇总 后续复用困难

Failure Mode Library 的作用是统一语言。

它应该回答:

这个 failure mode 叫什么? 它描述什么失效后果? 适用于哪些模块或接口? 它和哪些 safety mechanism 相关? 它是否 safety-related? 它是否影响 SPFM/LFM/PMHF?

3. 系统级到模块级的映射

功能安全分析不能只停留在系统级。

例如系统级安全目标:

制动控制输出不能产生危险错误值

落到芯片内部,可能对应多个模块 failure mode:

层级示例
系统级wrong actuator output
芯片级wrong output from control IC
模块级CPU generated wrong control command
子模块级ALU computation result wrong
结构级register input captured wrong value

这个过程不是简单翻译,而是从系统安全目标向硬件结构逐步分解。

Failure Mode Library 应该支持这种分层。


4. 常见 Failure Mode 分类

在汽车芯片实践中,可以先建立几类通用 failure mode。

4.1 数据类

wrong_data stale_data out_of_range_data corrupted_message wrong_address wrong_id

适用模块:

ALU DMA Bus Memory Sensor Interface Communication Controller

4.2 控制类

wrong_control_state illegal_state unexpected_transition missing_transition wrong_enable wrong_grant

适用模块:

FSM Bus Arbiter Timer Interrupt Controller Power Controller

4.3 时序类

too_early too_late timeout_missing unexpected_timeout wrong_sequence

适用模块:

Timer Protocol Controller Communication Interface Watchdog

4.4 传输类

message_not_sent message_sent_when_not_requested message_duplicated message_lost wrong_response

适用模块:

CAN/LIN/Ethernet Controller Bus Fabric DMA Peripheral Bridge

4.5 安全机制类

alarm_not_triggered false_alarm checker_disabled diagnostic_timeout latent_fault_not_detected

适用对象:

Safety Mechanism Error Handler Alarm Aggregator Safety Monitor

5. Failure Mode Library 的数据结构

推荐用 YAML 或 CSV。YAML 更适合表达层级和描述。

示例failure_modes.yaml

failure_modes:WRONG_DATA:description:Data value is different from the intended correct value.category:datasafety_related:truetypical_modules:-alu-bus-memorycandidate_safety_mechanisms:-parity-ecc-duplication-range_checkWRONG_CONTROL_STATE:description:Control FSM enters an incorrect or illegal state.category:controlsafety_related:truetypical_modules:-fsm-bus_arbiter-interrupt_controllercandidate_safety_mechanisms:-state_parity-illegal_state_checker-control_flow_monitorTOO_LATE:description:Required action or message is generated later than allowed.category:timingsafety_related:truetypical_modules:-timer-communication_controllercandidate_safety_mechanisms:-watchdog-timeout_monitor

这样一个库不仅供文章 Demo 使用,也可以作为后续 FMEDA、SM selection 和报告生成的输入。


6. Failure Mode 与 Safety Mechanism 的关系

Failure Mode 描述“会错成什么样”。

Safety Mechanism 描述“如何发现或缓解这种错误”。

两者之间不是一对一关系。

例如:

Failure Mode可能安全机制
wrong_dataparity、ECC、duplication、range check
wrong_control_statestate parity、illegal state checker、lockstep
too_latewatchdog、timeout monitor
wrong_sequenceprotocol checker、sequence monitor
alarm_not_triggeredalarm self-test、diagnostic monitor

同一个 safety mechanism 也可能覆盖多个 failure mode:

ECC 可以覆盖 wrong_data、corrupted_memory_data watchdog 可以覆盖 too_late、missing_response protocol checker 可以覆盖 wrong_sequence、unexpected_message

因此,Failure Mode Library 和 Safety Mechanism Library 应该独立维护,再通过 map 连接。


7. 工具架构设计

safeic-fmlib的核心职责是管理和检查 failure mode library。

工具流程:

Read Failure Mode Library

Schema Check

Duplicate Name Check

Category Check

Safety Related Check

Link to Candidate SM

Generate Normalized Library

Generate Report

主要检查项:

failure mode ID 是否唯一 description 是否为空 category 是否属于允许范围 是否标注 safety_related candidate safety mechanisms 是否存在于 SM library 是否有未使用的 failure mode 是否有模块引用了不存在的 failure mode

8. 输出文件设计

fmlib_check.rpt示例:

[PASS] Failure mode ID uniqueness check [PASS] Required fields check [PASS] Category check [WARN] Failure mode ALARM_FALSE has no candidate safety mechanism [ERROR] Failure mode WRONG_BUS_RESP referenced by module bus_fabric but not defined

normalized_fmlib.json示例:

{"failure_modes":[{"id":"WRONG_DATA","category":"data","safety_related":true,"candidate_safety_mechanisms":["parity","ecc","duplication","range_check"]}]}

failure_mode_matrix.csv示例:

failure_mode,category,safety_related,candidate_sm_count,typical_module_count WRONG_DATA,data,true,4,3 WRONG_CONTROL_STATE,control,true,3,3 TOO_LATE,timing,true,2,2

9. 与 FMEDA 的关系

FMEDA 需要把以下对象连接起来:

Part / Sub-part Instance Failure Mode Safety Mechanism Diagnostic Coverage Failure Rate Residual Fault

Failure Mode Library 是其中的中间层。

一个典型映射关系是:

Part: CPU Sub-part: Control FSM Instance: top.u_cpu.u_ctrl Failure Mode: WRONG_CONTROL_STATE Safety Mechanism: STATE_PARITY Diagnostic Coverage: 90%

如果 failure mode 没有统一库,FMEDA 表格很难长期维护。

如果有统一库,就可以做到:

同类模块复用同一 failure mode 同类 failure mode 推荐相似 safety mechanism 报告中统一分类统计 跨项目复用安全分析经验

10. D10 Demo 的目录建议

D10_failure_mode_library/ README.md run_demo.csh run_demo.sh inputs/ failure_modes.yaml sm_library.yaml module_failure_map.csv outputs/ fmlib_check.rpt normalized_fmlib.json failure_mode_matrix.csv failure_mode_report.md scripts/ safeic_fmlib.py

运行命令示例:

python3 scripts/safeic_fmlib.py\--failure-modes inputs/failure_modes.yaml\--sm-lib inputs/sm_library.yaml\--module-map inputs/module_failure_map.csv\--outoutputs

csh 版本:

python3 scripts/safeic_fmlib.py \ --failure-modes inputs/failure_modes.yaml \ --sm-lib inputs/sm_library.yaml \ --module-map inputs/module_failure_map.csv \ --out outputs

11. 方法论总结

Failure Mode Library 的价值是统一语言。

它把系统级安全目标、模块级失效后果、安全机制选择和 FMEDA 表格连接起来:

Safety Goal -> Failure Mode -> Safety Mechanism -> DC Calculation -> Fault Campaign -> Final Metric

D10_failure_mode_library的目标不是做复杂 GUI,而是先把 failure mode 变成可检查、可复用、可映射的数据资产。

有了这个库,后续 EP-to-Safety Mechanism Map、FMEDA Part/Sub-part 建模、DCE roll-up 和 fault campaign report 都会更容易组织。

http://www.jsqmd.com/news/786142/

相关文章:

  • Neo4j笔记(五):查询的处理流程
  • yolov26改进 | Conv/卷积篇 | SPD-Conv空间深度转换卷积独家二次创新SPPF(附创新后的网络结构图,独家首发)
  • 2026年5月花桥卡地亚首饰回收市场洞察与优选服务商推荐 - 2026年企业推荐榜
  • CLAWHunter:专为WiFi Pineapple Pager设计的OpenClaw网关自动化侦察与利用套件
  • AI如何重塑教育科研:从效率工具到思维伙伴的实践与挑战
  • VS Code项目配置模板:统一团队开发环境与代码规范的最佳实践
  • 机器学习的数据合成(二)
  • 2026年近期宁波静电粉末喷涂服务商深度解析与选择指南 - 2026年企业推荐榜
  • 2026年5月伺服热板塑料焊接机专业供应厂家综合实力剖析 - 2026年企业推荐榜
  • Hermes Agent项目中集成Taotoken多模型API的步骤
  • Transformer残差连接与短滑动窗口注意力的二元性解析
  • 句法:语言的形式
  • CANN/community GE SIG
  • 多模态对齐技术解析:从离散匹配到上下文表征学习
  • 因果推断赋能可解释AI:从相关性解释到可行动干预
  • 有哪些好的 Linux 教程推荐?
  • CANN/atvoss Exp指数运算API文档
  • com0com虚拟串口驱动架构解析:内核级通信模拟技术深度剖析
  • 开源知识管理工具omem:构建个人第二大脑的本地优先解决方案
  • 5个维度深度解析NSC_BUILDER:Switch游戏文件管理的瑞士军刀
  • Kibana 仪表板有什么新内容:灵活控件、改进的默认值以及视觉刷新
  • AI预测病毒突变:从基因组学到机器学习的技术实践
  • 拆分数
  • 通过Python代码示例快速接入Taotoken并调用GPT模型完成对话
  • AI Agent技能化封装:六层架构实现毛泽东方法论智能分析
  • A/B 测试前后的合成控制样本
  • Partition分区
  • 2026年福清市游戏本回收市场盘点:如何甄选正规靠谱的回收服务商? - 2026年企业推荐榜
  • MAGE框架:诊断教育评估任务对AI的脆弱性,重塑批判性思维考核
  • 2026年现阶段,海口企业注册如何选对代办机构?深度解析与专业推荐 - 2026年企业推荐榜