【汽车芯片功能安全分析与故障注入实践 03】从 Base FIT Rate 开始:为什么安全分析要先做 BFR?
作者Darren H. Chen方向汽车芯片功能安全分析与故障注入实践DemoD03_base_fit_rate标签汽车芯片功能安全FITBFR随机硬件故障可靠性建模Demo 说明D03_base_fit_rate用来实现一个简化的 Base FIT Rate 计算 Demo。对应的通用工具名称为safeic-bfr这个 Demo 的作用是在还没有引入复杂安全机制、故障注入和 FMEDA roll-up 之前先建立一个基线指标。design statistics reliability model inputs base FIT reportBFR 的目的不是一开始就追求签核级精度而是回答一个基础问题这个设计在没有安全机制保护前随机硬件故障风险大概集中在哪里1. 什么是 FITFIT 是 Failure In Time 的缩写通常表示1 FIT 每 10^9 小时发生 1 次失效在汽车芯片功能安全中FIT 用于描述硬件随机故障的失效率。它关注的不是 RTL 是否写错而是芯片在生命周期中由于物理原因发生随机失效的概率。例如触发器软错误 SRAM bit flip 组合逻辑瞬态扰动 永久 stuck-at 故障 封装或工艺相关失效FIT 是后续 SPFM、LFM、PMHF、DC 等指标的基础。如果没有 FITFMEDA 只是结构表格如果没有 DCFIT 只是原始风险如果没有故障注入DC 可能缺少验证证据。2. 为什么要先做 Base FIT RateBase FIT Rate 可以理解为在没有考虑或尚未完成安全机制验证之前设计本身的基础随机硬件失效率。它的意义有三点。2.1 建立风险基线如果不知道原始风险就无法判断安全机制到底改善了多少。例如模块 A 的 Base FIT 0.5 模块 B 的 Base FIT 20.0显然模块 B 更值得优先投入安全机制。2.2 指导安全机制选择Base FIT 可以告诉我们风险主要来自寄存器 风险主要来自 SRAM 风险主要来自大组合逻辑 cone 风险是否集中在某个子模块这会直接影响选择 parity、ECC、lockstep、duplication 还是 protocol checker。2.3 支持后续指标对比后续加入安全机制后可以比较Base FIT - Estimated FIT after SM - Validated FIT after fault campaign这条链路可以形成安全分析证据。3. BFR 在完整流程中的位置BFR 位于功能安全流程的早期。完整流程可以简化为Design InputDesign StatisticsBase FIT RateSafety Mechanism PlanningDiagnostic Coverage EstimationFault List GenerationFault CampaignFinal Metric ValidationBFR 不解决所有问题但它决定了后续工作的方向。如果一个模块本身 FIT 贡献极低可能不需要复杂安全机制。反过来如果一个模块贡献很大而又缺少有效检测路径就需要重点处理。4. Permanent FIT 与 Transient FIT功能安全分析通常要区分两类故障风险Permanent fault Transient fault4.1 Permanent faultPermanent fault 是相对持续的硬件失效例如stuck-at 0 stuck-at 1 永久开路/短路抽象 长期失效的存储单元它通常和工艺、老化、制造缺陷、封装应力等因素相关。4.2 Transient faultTransient fault 是短暂的扰动例如单粒子翻转 瞬态电压扰动 临时 bit flip 短时间组合逻辑毛刺它可能只持续一个或几个周期但如果发生在安全关键路径上仍然可能造成错误输出。BFR Demo 中可以先采用简化模型permanent_fit nval * lambda_permanent transient_fit sequential_count * lambda_ff_transient memory_bits * lambda_mem_transient gate_count * lambda_gate_transient这里的目标是让模型可解释而不是一开始就覆盖所有工业细节。5. BFR 需要哪些输入safeic-bfr可以从两个文件读取输入。5.1 design_stats.json设计规模统计{top:toy_counter_top,stage:rtl,stdcell_gate_count:1200,sequential_count:96,memory_bits:0,blackbox_count:0}5.2 fit_inputs.yaml可靠性模型配置fit_standard:simplified_iec62380mission_profile:passenger_compartmenttemperature_ja:65manufacturing_year:2026default_process:MOS.ASIC.STDCELLlambda:permanent_per_gate:1.0e-6transient_per_gate:1.0e-6transient_per_ff:1.0e-3transient_per_mem_bit:1.0e-6这两个输入要分开因为设计规模会随 RTL/netlist 变化而可靠性模型配置属于项目假设。6. BFR 计算的工具架构safeic-bfr的架构可以保持非常清晰design_stats.jsonsafeic-bfrfit_inputs.yamlbase_fit_report.csvbase_fit_summary.mdfit_breakdown.json内部模块可以分为模块作用Input Loader读取 design_stats 和 fit_inputsModel Resolver选择 simplified IEC/SN 模型FIT Calculator计算 permanent/transient FITBreakdown Generator按类型输出贡献比例Report Writer生成 CSV/Markdown/JSON输出示例category,count,lambda_per_unit,fit stdcell_gate,1200,1.0e-6,0.0012 sequential,96,1.0e-3,0.096 memory_bit,0,1.0e-6,0.07. BFR 的关键不是公式而是可追溯性在工程实践中BFR 最重要的不是某个具体公式而是所有输入和假设都可追溯。必须能回答这个 FIT 值来自哪个 design_stats 使用了哪个 fit_standard lambda 参数从哪里来 温度和 mission profile 是什么 统计对象是 RTL 估算还是 gate-level netlist因此报告中应该包含tool version input file hash design stage top module fit model name lambda source calculation timestamp这也是后续做商用工具对比时非常重要的一点。8. BFR 如何指导后续 DemoBFR 输出的结果会被后续模块继续使用。Base FIT ReportEP ContributionSafety Mechanism SelectionDC EstimationFault List PriorityFault Campaign例如如果 sequential FIT 贡献高优先考虑 parity、lockstep、control-flow monitor。 如果 memory FIT 贡献高优先考虑 ECC、scrubbing、memory BIST。 如果 cone 贡献高优先考虑 duplication、checker、end-to-end protection。BFR 不直接告诉你答案但它告诉你应该优先看哪里。9. D03 Demo 的目录建议D03_base_fit_rate/ README.md run_demo.csh run_demo.sh inputs/ design_stats.json fit_inputs.yaml outputs/ base_fit_report.csv base_fit_summary.md fit_breakdown.json scripts/ safeic_bfr.py运行命令示例python3 scripts/safeic_bfr.py\--design-stats inputs/design_stats.json\--fit-inputs inputs/fit_inputs.yaml\--outoutputs或者在 csh 中python3 scripts/safeic_bfr.py \ --design-stats inputs/design_stats.json \ --fit-inputs inputs/fit_inputs.yaml \ --out outputs10. 方法论总结Base FIT Rate 是功能安全分析的起点。它的作用不是直接完成安全签核而是建立风险基线没有安全机制前风险在哪里 哪些模块贡献最大 哪些结构类型最值得关注 后续安全机制是否真的降低了风险D03_base_fit_rate的核心目标是让 FIT 计算工程化、可解释、可复现。后续文章会继续在这个基础上展开D04FIT 标准模型工程化 D05Architecture / RTL / Netlist 阶段差异 D06SP/EP/Cone 结构提取 D07Endpoint FIT Contribution D08Diagnostic Coverage Engine当 BFR、结构分析和 DC 计算连起来之后功能安全分析就不再是抽象表格而会变成一套可运行的工程方法。