使用面向关键安全应用的高性能处理器,减轻智能汽车的设计和认证工作

作者:Michael Thompson,高级产品营销经理,Synopsys公司

我们的汽车成为比我们更好的司机这一天已经不远了。高级驾驶辅助系统(ADAS)等汽车功能正在迅速发展,因为它们可以提高安全性并简化驾驶过程。随着汽车电子产品数量和复杂程度的提高,以及高性能微处理器的进步,这些功能正在得到实现。随着我们改进处理器体系结构并降低流程曲线,性能能力正在迅速提高,从而能够创建出复杂的系统,其能够分析车辆内外的状况并根据这些状况做出准确决策。确保ADAS系统的正常运行对于车内乘员和附近任何人的安全都至关重要,这就是为什么要开发面向汽车电气和/或电子系统的ISO 26262功能安全标准。ISO 26262标准应用于汽车内的微处理器和系统时,可以控制或避免系统性故障,并控制或减轻随机硬件故障及其影响。

ADAS:正在变化的汽车市场的需求

随着开发ADAS用于强化和自动化车辆系统,以保证安全和便利驾驶员操作,它无疑将导致出现自动驾驶汽车。目前,ADAS系统能够提醒驾驶员注意潜在的问题(例如,盲点警告)并在某些情况下接管对车辆的控制权(避免碰撞)。由于这些系统使许多任务自动化,这间接地减轻了司机所面对的压力,而这非常受司机欢迎。自适应巡航控制和车道保持助手目前已经在汽车中使用,以减轻驾驶员的压力。随着这些能力的提高,它们将接管越来越多的汽车操作,直到不再需要驾驶员。全自动汽车的上市已经不再遥远,这将意味着在短短几年内每辆汽车中将会部署数千个处理器。

汽车ADAS设计挑战

目前,汽车电子产品占汽车生产成本的35%。到2030年,这个数字将上升到50%,一辆普通的汽车将在其各种处理器上运行3亿多行代码。电子器件的增加也将使得车辆能够更多或甚至自主地控制驾驶功能,从而导致车辆中乘客的安全更加依赖于电子系统的正常运行。不断增加用于功能安全的电子器件,需要成本进行平衡。

为此,2011年制定了面向汽车电子系统的ISO 26262功能安全标准。该标准根据车载系统在无法正常运行时对乘员带来的危险和风险的分析及评估,确定了四项汽车安全完整性等级(ASIL)。电子转向系统将采用ASIL D级别(最高级别),而后视摄像头则可以采用ASIL A级别(最低级别)。如果转向系统出现故障,对车内乘员或车辆附近人员造成的结果都可能是灾难性的,而后视摄像头的故障虽然很烦人,但不会危及生命。ASIL分类的目标是尽量降低对随机硬件故障的易感性,其途径是首先定义功能要求,然后在设计过程中采取必要的设计措施(包括故障注入和系统分析以及指标报告),以预防它们的发生或最小化其影响。实施符合ASIL要求的系统不是没有代价的,而且随着越来越多的汽车电子系统接管更多的关键操作,功能安全所带来的成本将会增加。

ASIL分类所需要的支持

实施ISO 26262的目的是在开发的早期阶段分析风险,确定适当的安全级别,确定如何满足这种安全级别,并确定在整个过程中如何进行测试。根据ISO标准开发的设备必须满足一些具体目标,这些目标涉及到对硬件进行测试以及对该硬件及其运行的软件中实施的安全机制进行测试。在开发过程早期阶段确定的目标和ASIL认证水平导致提出适当的安全要求和测试级别。所需的ASIL支持级别可能会在设计时间、硅片面积和测试等方面显著增加产品的实施成本。对于ASIL A和B,建议进行故障注入测试;对于ASIL C和D,则强烈建议使用故障注入测试。对于ASIL B,需要90%的单点故障检测覆盖率以及60%的多点潜在故障覆盖率。对于ASIL-D,需要达到99%的单点覆盖率和90%的多点覆盖率。实现ASIL D支持所需的更高覆盖率则需要更多的硬件和测试电路。例如,使用每个字一个奇偶校验位将支持90%的存储器覆盖率,而要想达到99%,则需要完整的错误检测和纠正。超时监控、看门狗或信息冗余可以用来实现90%的覆盖率,但所有这三项都需要达到99%。

关键系统的ASIL D实施

随着汽车系统在功能安全方面变得越来越重要,它们需要更高等级的ASIL认证。半导体和系统开发人员可以采取一些措施来简化他们的认证工作,例如,针对他们的产品需要满足的ASIL认证等级,采用获得相应ASIL认证或ASIL就绪的处理器IP(以及他们的设计中的其他IP)。图1显示了一套在视觉应用中使用ARC® HS处理器的ASIL D实施。使用了一套HS38x4四核处理器配置来满足该应用的高性能要求。为了满足ASIL D覆盖要求,HS38x4与HS38x4影子内核(shadow core)之间实现了步进锁定。这一对器件通过一个安全监视器连接到HS38x4内核以外的一个安全管理器。该安全管理器监控设备上的内核和其他处理器,并把任何问题报告给主处理器。HS38x4还包含用于安全测试的故障注入硬件。

图1:ARC HS四核ASIL D就绪实施

图1:ARC HS四核ASIL D就绪实施

所有的内部存储器均包含纠错支持:L1缓存,L2缓存,紧密耦合内存,以及MMU联合转换后备缓冲器(JTLB)。纠错码(ECC)也保护通向SoC其余部分的接口总线。ECC功能可以检测和纠正单比特错误,并可以检测到双比特错误。无法纠正的双比特错误则由系统异常来处理,这可能会导致系统内出现某种受控条件。ECC逻辑对于处理器流水线是非侵入性的,所以性能得以保持。

HS38x4上的锁步监控是通过一个用于与主内核进行比较的影子二级内核来实现的。该影子内核的操作可以从主内核中延迟,以避免重复的共因机制(common-cause facilities)。连接到主内核和影子内核的安全监控器持续运行具有比较逻辑的诊断功能,以验证功能并向系统报告错误。该实施能够支持单核的所有标准功能,包括调试器对主内核的访问以及验证影子内核中的访问。

HS38x4内核之外的安全管理器(在图1中示于内核左侧)从HS处理器中的安全监视器以及从SoC中的其他来源获取输入,并将这些信息报告给主处理器。安全管理器采用双核锁步处理器来实现,以防止该管理器出现故障条件。它也有完整的ECC和自己的看门狗定时器。该安全管理器控制HS38x4集群“安全”初启(bring-up)以及引导时LBIST和MBIST控制。安全管理器可以利用ARC HS或ARC EM处理器来实现,具体取决于其所需要的时钟速度。

为ISO 26262改编IP处理器设计

如图2所示,在处理器的最初开发过程中,在HS处理器中增加了ASIL功能。在编写核心规范时制定了ISO 26262安全计划。设计团队确定了硬件安全要求和安全目标,并把所需要的硬件安全功能设计到HS处理器RTL之中。安全功能被完整记载和包含到该核心的安全文档中。对处理器的全面ISO 26262支持需要利用故障注入/覆盖分析进行模块设计检验和验证,从而生成一份FMEDA报告,该报告也包含在安全文档中。

图2:针对ISO 26262改编IP处理器设计

图2:针对ISO 26262改编IP处理器设计

HS处理器需要由用户针对其应用进行编程。这可以利用MetaWare开发工具包来完成,其中含有C/C++编译器、调试器和指令集模拟器。MetaWare编译器通过了ASIL D 就绪认证,能够简化ISO 26262兼容代码的开发。编译器中包含“MetaWare安全手册”和“MetaWare安全指南”,并附带有软件工具创建评估报告和软件工具资格报告。

将这些功能(锁步,ECC,看门狗定时器,安全监视器)添加到处理器中对于IP用户来说原本是件很困难的事情。他们需要对RTL具有完全的访问权限和专家程度的理解才能添加所需的硬件功能。除此之外,生成FMEDA报告也几乎是不可能的事情,对编译器进行认证同样是不可能的。因此,当半导体设计商为需要ISO 26262认证的SoC许可处理器(以及其他IP)时,他们需要确保获得所需的所有硬件支持、文档和工具支持,否则,他们可能会发现他们的产品无法获得认证。

结论

先进驾驶辅助系统方面的汽车功能正在迅速发展,因为它们具有提高安全性并简化驾驶过程的潜力。由于有Synopsys 的ARC HS系列等先进的高性能处理器,ADAS系统现在正在得以实现。Synopsys 的ARC HS系列产品支持ISO 26262标准,并可用于为其所构建的系统获得相应级别的ISO认证。通过提供一系列ISO 26262认证的和可认证的IP和工具,Synopsys公司正在使SoC设计人员和汽车OEM(原始设备制造商)能够更轻松地实施先进的ADAS和自主应用所需要的全系列汽车产品。