February 2016 Theme: 安全攸关电子系统的在场测试
客座编辑导言: Matteo Sonza Reorda

电子系统越来越多地应用于安全攸关应用,不仅是数十年来一直采用容错方案的“传统”领域(如航空),更包括一些采用嵌入式系统的新领域,例如汽车、生物医学和电信领域。多数情况下,已经现场部署的系统中出现的故障需要及时检测,以防止造成严重问题。因此,嵌入式系统的现场测试方案已经越来越普遍。多数情况下有法规和标准可依(例如,面向一般性安全相关系统的IEC 61508,面向汽车应用的ISO 26262和面向航空电子设备的DO-254)。因而,不仅从技术角度,而且从经济和法律的角度,选择最恰当的解决方案都显得愈发重要。

今日计算 二月主题概述上述情况下出现的挑战以及解决这些问题的可能方案。

系统级在场测试方法的需求分析

对于涉及电子系统严格安全约束的绝大多数新领域,都有数家企业参与设计和制造,每家都有各自的兴趣和限制。例如,当今汽车中复杂分布式电子系统的电子控制单元由汽车制造商集成,但由不同的原始设备制造商生产。进而,后者在产品中又使用了不同半导体公司提供的商用或定制器件。在这一场景中,安全攸关产品使用的器件往往原本是为对安全性要求不那么高的产品所开发的,因而依赖器件制造商的一些在场测试机制(例如基于可测性设计的机制)就难以实施。此外,原始设备制造商往往不知道每个器件的内部结构,这给测试的开发带来了挑战。进而,组件还可能包含IP核,它内部结构的细节甚至连器件制造商都不了解。

一般情况下,为了保护产品的知识产权,解决方案往往整合了很多技术和商业限制。另外,因为测试经常是在系统实际运行阶段(例如在空闲时隙)进行,合理的方案还必须满足应用在时间和资源方面的约束。最后,对安全的需求与日俱增,往往要求能够尽可能访问到每个器件的内部。不幸的是,这些要求与测试相冲突,测试要求对内部电路具有高可控性和可观测性。

行业视点

Industry Perspective Video
Davide Appello on in-field test approaches.

一个行业惯例是采用多种方案来应对这些问题,有时严重依赖可测性设计(例如内建自测试),有时诉诸于功能方法。混合解决方案也很普遍。在这段视频中,意法半导体的Davide Appello谈到了解决这些问题的重要性。他提到两类重要技术:在生产线末端和在场测试之间共享资源的技术,以及为当前的半导体技术制定合适的故障模型。

本期内容

IEEE计算机学会的数字图书馆提供了从不同角度应对这些挑战的有趣文章。业界日益普遍的一种解决方案是采用功能测试,即强制目标系统的处理器执行一套基于软件的自测试(SBST),以检测处理器或其它系统组件中可能存在的故障。这个方案的优点是灵活,降低了硬件成本,而且缺陷覆盖率高。但是,从需要内存角度看这种方案是侵入式的。在 MIHST:嵌入式微处理器在线功能自检的一种硬件技术 中,Paolo Bernardi和他的同事们提供了一种解决方案,能够在减少测试时间和提高缺陷覆盖率的情况下最大限度地降低这种限制。

嵌入式系统常常使用基于FPGA(现场可编程门阵列)的可重构组件,因此检查这些组件现场正常工作的能力也至关重要。在 可靠运行时可重构架构的测试策略 中,Lars Bauer和他的同事给出了这类测试的细节,还讨论了对可重构组件编程之前或之后进行测试的差别。

安全对嵌入式系统的重要性与日俱增。在 测试还是安全:过去与现在 中,Ingrid Verbauwhede通过一个测试用例描述了安全和保密的目标是如何背道而驰的。她还提供了对相应约束进行中和的可能方法。

延伸阅读

最近还有几篇论文也是针对安全攸关嵌入式系统在场测试的。一个重要问题是为检测运行阶段发生的永久性故障来产生合适的功能测试程序。这些程序不仅针对CPU核及其组件,还包括其他系统组件,如存储器和外围设备。在《用于多线程多核架构中L1高速缓存在线测试的基于软件的自测方法》(Software-Based Self Test Methodology for On-Line Testing of L1 Caches in Multithreaded Multicore Architectures)中, George Theodorou及其同事讨论了如何编写测试程序来检测多核架构中L1高速缓存的潜在故障。

同样,在《关于分支预测单元的功能测试》(On the Functional Test of Branch Prediction Units)中,Ernesto Sanchez和我描述了如何编写程序来测试大多数处理器中都有的分支预测单元(BPU)。这种方法只需要处理器手册中的数据,不需要BPU结构的具体信息。

Felix Reimann和他同事的《高级诊断:在汽车E/E架构中集成SBST和BIST》(Advanced Diagnosis: SBST and BIST Integration in Automotive E/E Architectures)特别有趣,它介绍了如何把SBST和内建自测试(BIST)有机集成,既达到测试目的,还实现了汽车设备的诊断功能。

客座编辑

Matteo Sonza Reorda是都灵理工大学控制和计算机工程系教授,领导CAD团队。他的研究兴趣包括数字电路和系统的测试诊断以及容错数字电路和系统的设计。Sonza Reorda从都灵理工大学获得计算机工程博士学位。他是IEEE会士。他的联系方式是matteo.sonzareorda@polito.it