工具上的差距和方法上的不确定性可能会导致意想不到的问题。
越来越多的行业正在关注安全问题,但目前还没有标准和方法来确保电子系统随着时间的推移达到规定的安全水平。这一任务很大程度上落到了芯片行业肩上,因为它提供了基础技术,也发出了还能做些什么来提高安全性的问题。
最近引入了一种粗略的分类法,用于验证和测试安全性(见下文图1)。许多问题跨越了整个矩阵。例如,自动驾驶汽车必须在产品的整个生命周期内拥有安全可靠的硬件和软件,但即使在出现硬件故障的情况下,它也必须保持安全可靠。不幸的是,没有工具可以确定这个抽象目标是否已经实现。相反,工具和方法倾向于覆盖其中的一两个盒子,而这些盒子的整合在某种程度上是临时的。这反过来又让一些潜在的问题被遗漏了。此外,所使用的指标与现实的关联也很松散。
图1:与安全和安保相关的问题矩阵。来源:Semiconductor Engineering
更糟糕的是,今天并非所有的问题都得到了充分处理,部分原因是人们认为它们的优先级较低,部分原因是成本太高。例如,硬件安全就是由多个领域的标准处理的。软件安全也涵盖在不同的标准中,但没有任何内容定义硬件和软件组合的安全性或谈及整个系统的安全性。最接近的方法是考虑显示软件检测到的硬件错误百分比的故障活动。此外,针对已定义的工作负荷和场景优化的硬件越多,软件或未来的软件更新就越有可能导致硬件以最初未考虑的方式运行。这反过来又会造成硬件过早老化,或使其处于产生意外漏洞的状态。
错误模型
测量任何东西都需要一个实用的度量标准,即某物必须是可处理和有效的,但不一定要基于现实。故障模型(如故障卡住模型)已经存在了很长时间,并被证明可以有效地表示硬件故障——尽管硬件可能会发生故障的方式有很多,例如开路,短路或运行缓慢。瞬态故障也很重要,因为它们代表了辐射可能引起的位翻转。
“有一系列规范适用于多个行业的功能安全,”Cadence产品管理集团总监Pete Hardee说。“有一个通用的IEC标准,IEC 61508,这是一种元标准。ISO 26262是其衍生产品,更具体地针对汽车市场。对于铁路、医疗设备、工厂自动化、核能等等,同样的元标准还有其他衍生物,有适用于航空航天工业的DO-254。越来越多的人进入这些领域的供应链,因此不得不考虑满足一些功能安全规范。”
然后,我们可以推进这些规范。“ISO 26262,特别是第5部分和第11部分,是半导体的指南,”西门子数字工业软件功能安全和自主解决方案经理Jake Wiltgen表示。“这些标准要求特定的指标,即覆盖率指标。ISO中使用的术语是诊断覆盖率,但本质上是检测到的故障率超过总故障率。”
需要建立流程。“对安全性的高度信任依赖于定义良好的流程以及对流程的严格遵守。” Fraunhofer IIS自适应系统工程部设计方法负责人Roland Jancke说。“最好的方法之一是需求工程(RE)。它从适当定义的安全目标开始,接着建立各自的需求,并将它们转换为测试用例。一个基本要素是在整个过程中建立需求跟踪,以便在发生任何变化时仅针对受影响的部件进入重新设计循环。”
对汽车来说,系统需要的安全程度取决于自动驾驶的程度。“这实际上取决于人们的目标ASIL水平,”Cadence的Hardee说。“ASIL A并没有真正改变,但'我必须让我的流程获得认证'。在某些情况下,ASIL B的影响也很小。但是,当涉及到满足ASIL C和ASIL D水平时,它可能变得非常具有挑战性。这与人们为功能验证所做的工作非常一致,因为验证和满足规范的基本方法是查看一台好的机器,并通过功能验证实现良好的覆盖率。”
如何做到这一点是留给设计师的。Imperas Software创始人兼首席执行官Simon Davidmann表示:“这取决于设计人员提出的架构、技术或解决方案,以证明他们能够满足这些质量目标。挑战在于他们如何评估自己所做工作的质量。他们可能想要运行模拟,注入故障,以查看他们的软件和硬件对这些故障有多大弹性。我们在故障模型上做了很多工作,以表示现实世界中发生的这些不同事情。”
这就是实用性发挥作用的地方。“如果你采用1亿个门的设计,看看不同故障机制的数量,任何一种方法都无法涵盖这一点,”Synopsys的EDA集团工程副总裁Manish Pandey说。“从形式的角度看,获取所有错误并尝试传播它在计算上是不可行的。我们需要更好的采样方法,有不同的内部故障模式,确定安全和不安全的区域,等等。这种安全方法需要构建适当的故障运动途径,并且必须以非常有意识的方式完成。对微架构的认识至关重要。”
随时间推移的安全性
在理想的硬件上做到这一点是不够的。“另一个类别是保证整个生命周期的预期功能,” Fraunhofer的Jancke说。“可靠性仿真可以确保这一点,而可靠性仿真又依赖于已知老化机制的适当退化模型和全面的寿命外推能力。”
老化起着至关重要的作用。西门子EDA的Veloce、DFT和功能安全产品经理Robert Serphillips表示:“如果你看一下制造测试,他们通常会测试超过绝对规格的20%,无论是时钟频率、功率还是温度。硅会随着时间推移而降解,温度是非常关键的。在高温下,设备的物理速度会变慢。像快速路径和慢路径这样的东西现在开始变得有问题了。从安全角度来看,设备在周围环境中的行为方式对于设备如何降级、故障如何开始出现以及电路如何开始失效至关重要。所有这些都必须纳入考量,而不仅仅是从外太空射出的随机光子。这款设备能否在其额定使用寿命内保持不变?”
“当我们考虑老化时,电路的阈值可能发生改变,” Hardee说。“电路可能更容易受到这些东西的影响,设备可能会直接失效,这通常会造成卡住一类的故障。”但并非总是如此。“当你采用5nm或3nm的节点时,这些芯片会以许多奇怪的方式老化和失效,”Synopsys的Pandey说。“在电线中,有电子迁移,这可能会产生开路。有些机制我们甚至都不知道。另一件有趣的事情是你如何检测故障,以及设计中的嵌入式传感器如何监控这些芯片的行为,它们是如何退化的。是否有潜在的故障蔓延?我们将不得不通过额外的芯片监控和芯片智能来补充传统的故障预警方法。”
片内监控是对其他BiST技术的补充。“先进的SLM监测器通过分析升级,可以作为应对间歇性和降级故障的安全机制,”Synopsys战略系统工程可靠性核心团队负责人Dan Alexandrescu表示。“多阶段方法使用来自高级传感器的信息,这些传感器紧密嵌入关键设计模块中。路径裕量监控、错误前检测、内存访问时间测量、ECC和BiST事件被统一评估为相关的、及时的安全和质量指标。然后向系统执行器发布可操作的见解,以及时纠正安全性和可靠性威胁。芯片内数据被发送到边缘和云平台,以进行车队级监控。所有阶段的高级分析都可以快速准确地了解非常罕见的事件和现象,帮助安全使用已部署的产品,并为未来的设计提供更高的质量。”
远程分析对功能验证提出了要求。Synopsys系统设计集团产品线管理高级总监Johannes Stahl说:“原始设备制造商希望对具有特定VIN号的特定汽车进行生命周期监控,并向他们报告故障。”“从验证的角度来看,在硅前阶段,你必须确保这些机制有效,并提供正确的信息。” 扩展到人工智能
自动驾驶汽车越来越多地使用人工智能,这给验证和确认带来了一系列新的挑战。其中许多今天还无法完全理解。图2(下图)定义了AI系统验证与传统软件的不同之处。
图2:从V&V的角度对比传统算法和机器学习算法。来源:《PolyVerif:自动驾驶汽车验证和验证研究加速的开源环境》
如何检测AI系统是否出现故障?“人工智能是一个统计系统,它会在某个时间点失败,” Pandey说。“我们如何确保这些系统继续表现良好?有一类工作正在兴起,就是正式验证这些人工智能系统并确保它们在限制范围内。同样,有研究正在进行,以包含这些系统。但是,如果我们用额外的传感器和其他故障安全机制来补充传统系统,就需要一些东西来验证并确保系统真正做它们应该做的事情。”
在未来,它会变得更加复杂。人工智能系统本质上是一个学习系统,”Synopsys的Stah表示。“软件是由人编写的,可能包含错误。那么人工智能是否比软件有更高的风险?它是一个可以学习的人工智能系统吗?” 限制故障空间
硬件的故障空间是巨大的,即使有高度受限的故障模型也是如此。所以必须使用其他技术来限制实际需要考虑的故障数量。
“故障模式效应和诊断分析(FMEDA)考虑到了你正在处理的电路的可靠性数据,”Hardee说。“你正在研究失败的模式和这些模式的影响。因此,我们实际上只关注故障的子集,这些故障可能发生在传播到可能造成伤害的功能输出的地方。”
没有最好的方法来做到这一点。“通过故障模拟,你可以将故障输入到设计中,看看它们是否能被检测到或观察到,”西门子的Wiltgen说。“但这不是唯一的方法。还可以部署其他分析方法来获得这些指标。它需要在静态空间、形式空间和模拟空间中结合不同的工具与方法,以尽可能快速有效地达到这些指标。”
现场测试和数字孪生可以补充现有工具。“有人拨弄了一下变光开关,说我在这里插入了一个错误,”Arteris营销副总裁Frank Schirrmeister说。“想检查测试是否真的发现了这个错误。就像是在进行一场安全活动,只不过是在系统中进行。会有更多这样的工具插入安全和安保项中吗?也许,并且会扩展到虚拟化中。有了电子数字孪生,就可以插入一些东西,看看虚拟表示是否与真实硬件相匹配。” 结论
经验证据表明,简化的故障模型——合理地应用于系统的硬件方面,再加上软件和内置传感器来进行检测,有时也纠正错误行为——可以充分确保硬件在其使用寿命内是安全的。它依靠一些专家来监督这个过程,以确保根据它所处的环境和可以提供的安全程度给予充分考虑。
然而,该过程是临时的和不完整的,因为它没有考虑整个系统的安全性。这应该成为我们的目标。
全部0条评论
快来发表一下你的评论吧 !