引言

随着汽车电子系统日益复杂,半导体芯片(如 MCU、SoC、FPGA)在汽车中的应用越来越广泛。这些芯片是功能安全的物理基础,如何确保它们的安全性能成为关键问题。

想象一个真实场景:某汽车厂商的电动助力转向系统(EPS)采用了先进的 MCU,但由于 MCU 内部的某些 IP 核(如看门狗定时器)存在设计缺陷,导致在特定条件下系统失效,造成了多起事故。

这个案例告诉我们:**半导体芯片的功能安全分析是一个复杂的过程,需要从 IP 核、SoC 到整个芯片进行系统化的分析。**这正是 ISO 26262-11 半导体部分的核心使命。

半导体的目标和范围

半导体的核心活动

ISO 26262-11 定义了半导体功能安全的核心活动:

  1. 半导体安全需求

    • 确定半导体的安全需求
    • 分配安全需求到 IP 核和子系统
  2. IP 核安全分析

    • 分析 IP 核的安全特性
    • 评估 IP 核的失效模式
  3. SoC 安全分析

    • 分析 SoC 的安全架构
    • 评估 SoC 的失效模式
  4. 半导体 FMEDA

    • 识别半导体失效模式
    • 评估失效影响
    • 计算半导体架构指标
  5. 半导体集成和测试

    • 集成半导体到系统
    • 测试半导体安全特性
  6. 半导体生产

    • 确保生产过程符合功能安全要求
    • 进行生产测试

半导体的输入和输出

输入

  • 系统安全需求:来自系统级开发
  • 硬件安全需求:来自硬件级开发
  • 半导体技术文档:来自半导体供应商
  • IP 核规格说明:来自 IP 核供应商

输出

  • 半导体安全需求:半导体级安全需求
  • 半导体 FMEDA 报告:失效分析报告
  • 半导体测试报告:测试结果报告
  • 半导体安全手册:安全使用手册

IP 核安全分析

IP 核的分类

IP 核(Intellectual Property Core)是半导体芯片的预设计功能模块。

1. 标准 IP 核

来自 IP 核供应商的现成 IP 核。

示例

  • ARM Cortex 系列 CPU
  • CAN 控制器
  • 以太网控制器

2. 定制 IP 核

为特定应用定制的 IP 核。

示例

  • 定制 DSP
  • 定制硬件加速器
  • 定制通信接口

3. 软 IP 核(Soft IP)

以 HDL 代码形式提供的 IP 核。

优点

  • 灵活性高
  • 可以修改

缺点

  • 需要综合
  • 性能可能不如硬 IP 核

4. 硬 IP 核(Hard IP)

以物理版图形式提供的 IP 核。

优点

  • 性能优化
  • 面积优化

缺点

  • 灵活性低
  • 无法修改

IP 核的安全需求

1. 功能安全需求

描述 IP 核应该实现的安全功能。

示例

  • “看门狗定时器应在超时时触发系统复位”
  • “ECC 内存应能够检测和纠正单比特错误”

2. 性能安全需求

描述 IP 核的性能指标。

示例

  • “看门狗定时器的超时时间精度应在 ±5% 以内”
  • “ECC 内存的访问延迟应满足系统时序要求”

3. 安全机制需求

描述 IP 核应该实现的安全机制。

示例

  • “CPU 应具备独立于核心的看门狗定时器”
  • “内存应具备 ECC 校验功能”

案例:CPU IP 核的安全分析

CPU IP 核的安全特性

CPU:ARM Cortex-R52

安全特性

  1. 双核锁步(Dual-Core Lockstep)

    • 两个 CPU 核执行相同的指令
    • 比较器比较两个核的输出
    • 检测到不一致时触发错误
  2. 内存保护

    • 内存保护单元(MPU)
    • 防止非法访问
  3. 看门狗定时器

    • 独立于 CPU 的看门狗
    • 可配置的超时时间
  4. ECC 内存

    • Flash ECC
    • RAM ECC
    • 检测和纠正单比特错误

CPU IP 核的失效模式分析

失效模式失效原因失效影响安全机制覆盖率
CPU 核错误逻辑错误计算错误双核锁步99%
Flash 坏块老化数据损坏ECC95%
RAM 位翻转软错误数据损坏ECC90%
看门狗失效时钟故障无法检测故障冗余看门狗95%

SoC 安全分析

SoC 的定义

SoC(System on Chip) 是将多个 IP 核集成到一个芯片上的系统。

SoC 的架构

典型 SoC 架构

                 电源管理
         ┌──────────┼──────────┐
         │          │          │
     CPU 子系统    DSP 子系统   外设子系统
         │          │          │
    ┌────┴────┐ ┌──┴──┐  ┌───┴────┐
    │ CPU0   │ │DSP0 │  │ CAN    │
    │ CPU1   │ │DSP1 │  │ ETH    │
    └────┬────┘ └──┬──┘  │ SPI    │
         │         │      │ I2C    │
    ┌────┴────┐ ┌──┴──┐  └────────┘
    │ L1 Cache│ │L1   │
    │ L2 Cache│ │Cache│
    └────┬────┘ └──┬──┘
         │         │
    ┌────┴─────────┴──┐
    │  系统总线       │
    └────────┬───────┘
        ┌────┴────┐
        │  外部存储器 │
        │  接口    │
        └───────────┘

SoC 的安全架构

1. 冗余架构

使用冗余的子系统提高可靠性。

示例

  • 双核 CPU
  • 冗余看门狗
  • 冗余时钟

2. 隔离架构

使用隔离机制防止故障传播。

示例

  • 内存隔离
  • 总线隔离
  • 外设隔离

3. 监控架构

使用监控机制检测和隔离故障。

示例

  • 看门狗定时器
  • 错误信号中断(ESR)
  • 总线监控器

案例:汽车级 SoC 的安全分析

SoC:Infineon AURIX TC377

安全特性

  1. 三核架构

    • 三个锁步 CPU 核(TriCore)
    • 可以实现三模冗余(TMR)
  2. 锁步机制

    • 两个 CPU 核执行相同的指令
    • 比较器比较两个核的输出
    • 检测到不一致时触发错误
  3. ECC 内存

    • Flash ECC(SECDED)
    • SRAM ECC(SECDED)
    • 检测和纠正单比特错误
  4. 硬件看门狗

    • 独立的看门狗定时器
    • 可配置的超时时间
    • 窗口看门狗支持
  5. 故障收集和控制单元(FCCU)

    • 收集所有子系统的故障信号
    • 控制系统的安全状态
    • 支持多级故障处理

SoC 的失效模式分析

失效模式失效原因失效影响安全机制覆盖率
CPU 核错误逻辑错误计算错误锁步99%
Flash 坏块老化数据损坏ECC95%
RAM 位翻转软错误数据损坏ECC90%
总线故障电气故障通信错误ESR95%
看门狗失效时钟故障无法检测故障冗余看门狗95%

半导体 FMEDA

半导体 FMEDA 的步骤

第一步:识别半导体组件

识别 SoC 中的所有 IP 核和子系统。

第二步:识别失效模式

识别每个 IP 核的潜在失效模式。

第三步:分析失效影响

分析每个失效模式对系统的影响。

第四步:分析安全机制覆盖率

分析现有安全机制对失效模式的覆盖率。

第五步:计算半导体架构指标

计算 SPFM 和 LFM。

案例:SoC 的 FMEDA 分析

第一步:识别半导体组件

组件类型描述
CPU0IP 核主控制器
CPU1IP 核冗余控制器
L1 CacheIP 核一级缓存
L2 CacheIP 核二级缓存
FlashIP 核程序存储
SRAMIP 核数据存储
WDTIP 核看门狗定时器
CANIP 核CAN 控制器

第二步:识别失效模式

CPU0 失效模式

失效模式失效率(FIT)单点/潜在
ALU 错误10单点
寄存器错误5单点
流水线错误8单点

Flash 失效模式

失效模式失效率(FIT)单点/潜在
坏块15潜在
位翻转5潜在

SRAM 失效模式

失效模式失效率(FIT)单点/潜在
位翻转20潜在

WDT 失效模式

失效模式失效率(FIT)单点/潜在
时钟故障2单点
计数错误1单点

第三步:分析失效影响

失效模式局部影响系统影响安全影响
CPU0 ALU 错误计算错误系统错误
Flash 块数据损坏程序异常
SRAM 位翻转数据损坏计算错误
WDT 时钟故障无法检测故障故障未检测

第四步:分析安全机制覆盖率

失效模式安全机制覆盖率
CPU0 ALU 错误锁步(CPU1)99%
CPU0 寄存器错误锁步(CPU1)99%
CPU0 流水线错误锁步(CPU1)99%
Flash 块ECC95%
Flash 位翻转ECC95%
SRAM 位翻转ECC90%
WDT 时钟故障冗余 WDT95%

第五步:计算半导体架构指标

SPFM 计算

$$ \sum \lambda_{\text{SPF}} = 10 + 5 + 8 + 2 + 1 = 26 \text{ FIT} $$

$$ \sum \lambda_{\text{RF}} = 10 \times (1 - 0.99) + 5 \times (1 - 0.99) + 8 \times (1 - 0.99) + 2 \times (1 - 0.95) + 1 \times (1 - 0.95) $$ $$ \sum \lambda_{\text{RF}} = 0.1 + 0.05 + 0.08 + 0.1 + 0.05 = 0.38 \text{ FIT} $$

$$ \text{SPFM} = \frac{26 - 0.38}{26} \times 100% = 98.54% $$

LFM 计算

$$ \sum \lambda_{\text{LF}} = 15 + 5 + 20 = 40 \text{ FIT} $$

$$ \sum \lambda_{\text{RF}} = 15 \times (1 - 0.95) + 5 \times (1 - 0.95) + 20 \times (1 - 0.9) $$ $$ \sum \lambda_{\text{RF}} = 0.75 + 0.25 + 2 = 3 \text{ FIT} $$

$$ \text{LFM} = \frac{40 - 3}{40} \times 100% = 92.5% $$

结论

  • SPFM = 98.54%,满足 ASIL C 要求(≥ 97%),但不满足 ASIL D 要求(≥ 99%)
  • LFM = 92.5%,满足 ASIL C 要求(≥ 80%),满足 ASIL D 要求(≥ 90%)

如果系统的 ASIL 等级是 D,则需要改进安全机制,提高 SPFM。

半导体集成和测试

半导体集成

半导体的集成包括:

  1. 硬件集成

    • PCB 设计
    • 元器件布局
    • 连接方式
  2. 软件集成

    • 驱动程序开发
    • 中断配置
    • 时序配置
  3. 系统集成

    • 与其他子系统集成
    • 与整车系统集成

半导体测试

测试类型

  1. 功能测试

    • 测试半导体的基本功能
    • 测试半导体的性能指标
  2. 安全机制测试

    • 测试故障检测功能
    • 测试故障容错功能
    • 测试安全状态切换
  3. 可靠性测试

    • 老化测试
    • 加速寿命测试
    • HTOL(High Temperature Operating Life)
    • HTSL(High Temperature Storage Life)

案例:MCU 的测试

功能测试用例

测试用例测试目的测试步骤预期结果
TC-1CPU 功能测试运行 CPU 测试程序通过所有测试用例
TC-2内存功能测试读写内存读写正常
TC-3外设功能测试测试所有外设外设正常工作

安全机制测试用例

测试用例测试目的测试步骤预期结果
TC-4锁步功能测试注入单比特错误检测到错误
TC-5ECC 功能测试注入单比特错误检测并纠正错误
TC-6看门狗功能测试停止喂狗触发复位

可靠性测试用例

测试用例测试目的测试条件预期结果
TC-7HTOL 测试125°C,1000 小时无故障
TC-8HTSL 测试150°C,1000 小时无故障
TC-9温度循环测试-40°C 至 +125°C,1000 循环无故障

半导体生产

半导体生产流程

半导体生产流程包括:

  1. 晶圆制造

    • 光刻
    • 刻蚀
    • 离子注入
    • 沉积
  2. 封装

    • 芯片切割
    • 引线键合
    • 封装
  3. 测试

    • 晶圆测试(CP)
    • 成品测试(FT)

半导体生产质量控制

质量控制点

  1. 晶圆测试

    • 检测晶圆上的缺陷
    • 筛选不良芯片
  2. 封装测试

    • 检测封装缺陷
    • 验证封装可靠性
  3. 成品测试

    • 功能测试
    • 性能测试
    • 安全机制测试

质量控制指标

  1. 良率(Yield) $$ \text{Yield} = \frac{\text{合格芯片数}}{\text{总芯片数}} \times 100% $$

  2. 不良率(Defect Rate) $$ \text{Defect Rate} = \frac{\text{不良芯片数}}{\text{总芯片数}} \times 100% $$

案例:MCU 生产质量控制

晶圆测试结果

测试批次总芯片数合格芯片数良率
W-001100095095%
W-002100094094%
W-003100096096%

成品测试结果

测试批次总芯片数合格芯片数良率
F-0011009999%
F-0021009898%
F-003100100100%

质量控制改进措施

针对良率较低的批次分析原因:

批次良率可能原因改进措施
W-00294%光刻缺陷优化光刻工艺
F-00298%封装缺陷优化封装工艺

常见错误和最佳实践

常见错误

  1. 忽视 IP 核的安全分析

    • 认为供应商已经分析过了
    • 不进行独立的验证
  2. 忽视 SoC 的安全架构

    • 只关注单个 IP 核
    • 不考虑 IP 核之间的交互
  3. FMEDA 分析不完整

    • 未识别所有失效模式
    • 安全机制覆盖率估计过高
  4. 测试不充分

    • 只测试功能
    • 不测试安全机制
    • 不进行可靠性测试

最佳实践

  1. 系统化地进行 IP 核安全分析

    • 建立分析流程
    • 使用专业的分析工具
    • 参考供应商的安全手册
  2. 关注 SoC 的整体安全架构

    • 分析 IP 核之间的交互
    • 考虑故障传播
    • 设计适当的隔离机制
  3. 进行充分的 FMEDA 分析

    • 识别所有失效模式
    • 准确评估安全机制覆盖率
    • 计算准确的架构指标
  4. 进行充分的测试

    • 覆盖所有功能
    • 测试所有安全机制
    • 进行可靠性测试
  5. 与供应商密切合作

    • 获取供应商的安全文档
    • 参与供应商的安全分析
    • 建立长期合作关系

总结

ISO 26262-11 半导体部分提供了分析和评估半导体芯片功能安全的完整框架。通过本文的深入解读和丰富的案例实践,我们掌握了:

  1. IP 核安全分析

    • IP 核的分类(标准 IP 核、定制 IP 核、软 IP 核、硬 IP 核)
    • IP 核的安全需求
    • CPU IP 核的安全分析实践
  2. SoC 安全分析

    • SoC 的定义和架构
    • SoC 的安全架构(冗余、隔离、监控)
    • 汽车级 SoC 的安全分析实践
  3. 半导体 FMEDA

    • FMEDA 的五个步骤
    • SoC 的 FMEDA 分析实践
    • SPFM 和 LFM 的计算
  4. 半导体集成和测试

    • 半导体集成(硬件、软件、系统)
    • 半导体测试(功能测试、安全机制测试、可靠性测试)
    • MCU 的测试实践
  5. 半导体生产

    • 半导体生产流程
    • 半导体生产质量控制
    • MCU 生产质量控制实践
  6. 常见错误和最佳实践

    • 常见错误的总结
    • 最佳实践的总结

核心要点

  • 半导体芯片是功能安全的物理基础,必须进行严格的安全分析
  • IP 核的安全分析是基础,SoC 的安全分析是关键
  • FMEDA 是评估半导体安全性的重要方法
  • 充分的测试是确保半导体安全的关键
  • 与供应商密切合作,建立长期合作关系

在下一篇文章中,我们将深入解读 ISO 26262-12 摩托车部分,学习如何将 ISO 26262 标准应用于摩托车系统。

延伸阅读