汽车行业正在全力开发自动驾驶汽车,并牢记两个主要目标:
* 实现全自动驾驶(完全无人驾驶)
* 减少交通事故,让汽车更安全
高级驾驶辅助系统(ADAS)利用摄像头、激光雷达、毫米波雷达和超声波等各种传感器,来全面感知汽车周围的环境。这些传感器生成大量实时数据。基于高速通信的汽车以太网提供了进一步在车内分发数据的带宽。
除了传感器之外,还需要高清数字地图、高精度定位、基于云的服务,以及车对车和车对基础设施(V2X)通信,以确保自动驾驶汽车的鲁棒性、可靠性和安全性。因此,汽车的电子的技术范围迅速增加,比如依靠新型高性能SoC处理所有传感器数据,以实时控制车辆。
这些对安全至关重要的SoC需要专门的功能安全验证流程,然后才能用于汽车。ISO 26262是公认的标准,用于确保汽车系统的功能安全。ISO 26262标准第2版(2018年发布)的扩展部分专门对半导体相关的失效分析提出了要求。
汽车行业的发展趋势正趋向基于开放IEEE标准的车载(IVN)以太网。在开放联盟SIG的推动下,这些标准有利于开发更简单,但更强大的汽车电气/电子架构。音频/视频桥接(AVB)和时间敏感网络(TSN)是实现汽车以太网的关键标准。
AVB通过IEEE 802网络启用时间同步的流媒体服务。然而,为了满足关键任务控制功能(例如基于摄像头的驾驶辅助系统和紧急制动)的安全要求,业界正在开发一套新的开放标准(统称为TSN)。TSN能够实时实现稳健、低延迟、确定性和同步的数据包传输,是AVB标准的一个超级集合。它支持安全相关机制,包括:
* 帧抢占(IEEE 802.3br)以优先考虑不同的数据类别
* 帧复制和消除,以支持可靠通信的冗余路径(IEEE 802.1CB)
* 发送/接收数据包验证/确认,以确认成功接收数据
* 监管和过滤(IEEE 802.1Qci),以检测和缓解网络中其他系统的破坏性传输(例如,防止“胡说八道”故障),从而提高网络的稳健性
* 主时钟冗余和故障检测,支持实时时钟(IEEE 802.1AS-Rev)
在以下示例中,我们将重点关注车内的高速通信,并分析以太网MAC(媒体访问控制器)的安全相关功能对FIT的影响,从而对以太网通信可实现的总体ASIL(汽车安全完整性等级)的影响。
图1:安全机制有助于提高以太网MAC的稳健性
由于所有安全关键子系统都影响汽车的整体安全,因此全面的安全架构是实现所需安全目标的关键。SoC的安全功能是整个安全系统的关键部分。因此,很重要的一点是,可以在SoC级别利用IP模块的安全特性减少整体工作量。在设计IP的安全特性时,应牢记这种重复使用。
安全机制的主要目标是检测故障并启动适当的措施,例如使系统处于安全模式(失效安全),甚至纠正故障以继续正常运行(失效运行)。
有多种方法可用于评估系统的整体安全水平。失效模式影响分析(FMEA)的主要目标是,确定组件失效对系统可靠性或安全性的影响。此外,FMEDA分析根据IEC 61508和ISO 26262标准的要求,确定系统的安全失效占比(SFF)和诊断覆盖率(DC)。
需要输入组件的已知失效模式和相关失效率(FIT)数据来分析,并在必要时优化系统的整体安全等级。由于FMEA是一种自下而上的方法,因此分析的准确性在很大程度上取决于最低级别的FIT率的准确性。然而,由于这种方法依赖于标准器件普遍可用的FIT率,不适用于特定应用的SoC,因为FIT率通常不适用于设计IP。
因此,仅通过查看设计的结构,FIT率计算往往是估计值,并且本质上是静态的。因此,这些FIT率估计往往非常悲观,这可能导致设计的安全组件的过度设计。更好的方法是只考虑实际的失效模式,即查看与每个应用程序关联的相关安全机制。
从FMEA计划开始,安全工程师通常会估算芯片所有组件(IP)的FIT率。有针对性的故障注入,使他们能够模拟对系统行为的影响并对故障进行分类。与静态方法(例如基于目录的方法)相比,使用故障注入的故障分类提供了更真实的FIT率估计。
故障可分为三类:
* 不会传播到系统中且对系统的正确运行没有负面影响的故障
* 检测到的导致系统危险失效的故障
* 未检测到的导致系统危险失效的故障
观察点的故障分类可以计算系统的安全故障占比(SFF)和诊断覆盖率(DC)。92%的SFF值等价于10E-4到10E-3之间的失效概率(PFD)。对应于安全完整性等级(SIL)为3,换算成每小时失效率(PFH)为10E-8至10E-7之间,FIT率<100,至少对应于ASIL-C。如计算所示(图2),通过更好地识别未检测到的危险故障,可以显著提高系统的安全等级。
图2:使用故障注入验证SoC安全架构
通常以太网MAC IP中添加了多种安全机制,以使其对汽车SoC(例如ADAS应用)具有功能安全性(图1)。此外,需要一种定义明确的方法,比如基于高度集成的验证工具实现对复杂SoC的所有安全机制的自动化安全验证。
安全验证和功能验证需要齐头并进。功能验证期间生成的仿真结果也可以重新用于安全验证:
* FMEDA和故障树分析(FTA)等标准技术用于创建结构化的安全计划,记录设计的所有安全机制——无论是作为上下文中的安全元素,还是作为上下文之外的安全元素。
·失效模式应与设计元素相关联,以计算准确的FIT率分布。对于具有动态行为的安全元素,基于目录的FIT率不够准确。而将失效模式与设计联系起来,使其更加准确。
* 故障注入活动应与FMEDA报告相关联。与进行盲目的故障分析活动相比,这使得故障分析活动更加现实。
* 中央故障数据库是必不可少的——由于解决方案将使用多个引擎,所有引擎必须能够相互通信并共享数据,这意味着要有一个可扩展、可搜索的中央数据库。
故障注入是一个计算密集型的过程。有许多不同类型的执行引擎可用于故障注入:
* 基于软件的仿真引擎(如Cadence Incisive功能安全模拟器)
* 硬件辅助引擎(Cadence Palladium平台)
* 形式化方法论(Cadence JasperGold平台)
我们需要使用所有可用的引擎来获得故障注入的最佳吞吐量。基于仿真的引擎可用于短期测试、完全回归以及需要详细调试的场景。硬件辅助引擎可用于完整SoC的长延迟测试和基于软件的测试。通过进行形式化的逻辑和等价性分析,可以使用形式化引擎形式化地减少故障注入空间。
上述所有技术的巧妙组合,对于有效的功能安全验证非常重要。因此,对于以太网MAC,功能验证首先在安全功能关闭的情况下完成,这为功能提供了基线指标。然后,打开安全功能以评估设计在功能安全模式下的行为。这也使我们能够衡量单点失效率和诊断覆盖率等指标,并确保它们符合我们的资格要求。
测量上述指标的最有效方法,是在定义的故障注入点使用故障注入——无论是永久性故障还是瞬态故障(图3)。FMEDA结果可用于识别要注入的最佳故障集。故障观察点在安全机制之前和之后设置,可连接回FMEDA中的失效模式。通过比较有故障注入和无故障注入的仿真结果来检测故障。值的任何不匹配(包括这些值出现的时间)都会检测到故障。只有通过系统传播到观察点的注入故障才能被后续的安全机制识别,并通过纠错码(ECC)进行修复。
图3:结合安全分析和安全验证
上述功能安全解决方案和方法是一种结构化和可扩展的方法,这意味着创建的FMEDA和测量的指标可以反馈到使用此IP的更大SoC中。这个过程允许用户在SoC级别重复使用已经在IP级别完成的工作,并在SoC级别实现更高的质量。
对于以太网MAC IP,我们的安全目标是ASIL-B。这一目标是通过添加适当的安全机制来实现的,如图1所示。IP的未来版本将针对更高级别的ASIL认证。
对于采用以太网的安全通信的复杂汽车SoC,需要适当的IP,包括安全机制和协议支持。此外,安全验证需要可扩展的方法。将分析方法与基于仿真的方法相结合的综合方法,有助于显著减少安全验证工作,并实现更快的ISO26262产品认证。
自动化故障注入是一种适用的测试方法,用于验证安全机制的实施,并为FMEDA分析提供准确的FIT率估计。这清楚地说明了为什么支持TSN等协议标准,以及用于故障识别的综合安全机制对于汽车设计很重要。