APP下载

多层次模拟电路随机变异生成方法研究

2016-03-29唐小峰许爱强李文海

中国测试 2016年1期
关键词:层次分析法

唐小峰,许爱强,李文海

(1.海军航空工程学院科研部,山东烟台264001;2. 92514部队,山东烟台264007)



多层次模拟电路随机变异生成方法研究

唐小峰1,2,许爱强1,李文海1

(1.海军航空工程学院科研部,山东烟台264001;2. 92514部队,山东烟台264007)

摘要:针对目前复杂电路测试、诊断过程中故障样本获取困难的问题,提出一种随机变异生成策略。首先定义适用于随机方法的8种限定变异算子,可覆盖实际电路中的大多数真实故障;然后应用层次分析法(AHP),分别考虑电路组成元素间的相对故障概率和故障类型,计算出不同变异位置以及对应变异算子的被选权重;考虑连续型故障参数的分布,通过随机采样确定具体的参数值,使故障模型更为真实;最后,以一个串联调整型稳压电路为实例,为其生成500个随机变异体。实验结果表明:该方法能够快速有效地为多层次模拟电路生成大规模、高质量的故障样本。

关键词:自动故障注入;随机变异生成;变异算子;层次分析法

0 引言

评价测试方案的质量、验证诊断算法的效果以及分析电路的故障行为等研究都需要获取大量符合实际的故障电路样本。当前常用的做法是基于电子设计自动化(electronic design automation,EDA)技术实现电路的自动故障注入。一种方法是为常见电子元件定义故障模型,并将其封装为PSpice仿真模型库(.lib或.olb文件),然后通过替换无故障电路中的对应元件模型,达到故障注入的目的[1-2]。针对多层次电路的故障注入,绳伟光等[3]设计了Spice LL(k)解析器,能够在故障注入前对层次状的Spice网表进行展平操作。源于软件测试领域的变异分析技术[4]为硬件的故障注入提供了新的思路,其主要特点是通过变异算子控制变异体的生成,可提高故障注入的灵活性及自动化程度。Straube等[5]在其开发的混合层次模拟电路仿真器aFSIM中提出了若干基本的故障生成算子,通过操作电路网表实现故障注入。Xu等[6]基于电路的Spice描述提出了8种模拟电路变异算子,实现了大规模变异体的快速生成,并能覆盖实际电路中的大多数真实故障。目前,相关研究主要存在两点不足:1)故障模型通常采用简化的理想模型,如零阻值短路和无穷大阻值开路等[7-8],未考虑实际故障参数的分布;2)故障注入时很少考虑不同电路元素间的相对故障概率,故障样本的质量不高。本文对传统的模拟电路变异生成方法进行改进,提出了一种适用于多层次复杂模拟电路的随机变异生成技术,考虑样本选取中的故障概率差异以及具体故障的参数分布,为提高故障电路样本的品质提供一种解决方案。

1 变异算子

从结构上看,电路可视为由功能元件及其互联构成的网络。单个功能元件及其端口构成了最简单的电路。令二元组c=(C,N)为电路c的递归定义,其中C是c中所含子级电路(统称为元件)的集合;N为本级电路中节点的集合(不含子电路内部的节点)。元件和节点均包含若干端口,端口间相互连接构成电路网络。

定义元件和节点上端口的数量为它们各自的度。变异的实质是对c的一种变换,即改变电路的属性或拓扑结构,以模拟故障发生时的情形。下面首先引入随机变异生成所使用的变异算子。

定义1一般变异算子(general mutation operator)。一般变异算子T是一个目标电路c到一个有穷电路集合的映射:T(c)={ci|i=1,2,…,n},使得ci包含c的一个或多个故障,其中ci称为c的一个变异体,且ci≠cj(i≠j);n为算子T对应的变异体数量。若每个ci中仅包含一个故障,则称T为一阶变异算子,否则称为高阶变异算子[4]。

定义2限定变异算子(restricted mutation operator)。若一般变异算子T在条件cond的限定下,满足Tcond(c)=c',则称Tcond为限定变异算子,其中下标cond表示变异发生的位置或方式。

限定变异算子是对一般变异算子的特化,将其变异体规模锁定为n=1。本文只研究一阶限定变异算子,并基于常见的电路故障模型,提出如表1所示的8种算子,给出了它们各自的限定条件和实现方法。

2 随机变异生成

随机变异生成主要包括3个步骤:1)随机确定变异发生的位置;2)从该位置上可用的变异算子中随机选择一个算子;3)根据所选算子的约束条件和实现方法随机生成一个特定的变异体。重复上述过程,直到生成规定数量的随机变异体为止。

为得到接近实际的变异体样本集,需考虑目标电路中各类故障发生的概率对随机变异生成过程的影响,例如不同种类元件间的故障率对变异位置选择的影响,元件上不同故障的发生概率对变异算子选择的影响等。然而,受各种因素制约,往往难以获得这些故障发生概率的准确统计信息。下面介绍一种半经验方法:层次分析法(AHP)[9],用于确定随机选择过程中各类要素的权重。

表1 限定变异算子

2.1层次分析法

层次分析法特点是可利用不完整的统计数据和经验信息,在两类要素间做出相对容易和准确的权衡,再将要素间的相对权重转换为绝对权重。多次两两比较尽管增加了工作量,但能有效平滑模糊经验带来的误差。

2.2变异位置的随机选择

选择变异位置的关键是确定目标电路中不同类型的部位发生故障的概率,故障概率越高则被选中的概率应越大。应用层次分析法可知,该问题域中的要素为目标电路中不同类型的元素,即元件、节点和节点对,进一步可将元件分为单个功能元件,如电阻、电容、电感等,以及子电路两类。首先统计出目标电路中所有类型元素及其数量,再对这些类型上的故障概率进行两两比较得到权重判断矩阵,最后计算得出各个类型的变异权重。

变异权重表示当电路表现异常时,将其归咎于某一类元素的置信度。由于考虑了实例数量,因此类型间的两两比较可理解为该目标电路中这两类元素平均故障概率的比较。操作时,可首先各自随机抽样出一个实例,如电阻R1、节点1等,再对这两个具体样本进行比较。

一般情况下,当类型选定后,电路中属于同一类型的实例有相同的概率被随机选中作为具体的变异位置。若选中的类型为节点或子电路,则应进一步考虑节点的度和子电路的规模对随机选择过程的影响。通常可以认为,节点的度越高越容易发生故障;子电路的规模越大其内部发生故障的概率也越大。

2.3变异算子的随机选择

变异位置的类型决定了可用的变异算子,记为候选算子集O。参考表1中所示各算子的限定条件,可以了解每个电路元素类型对应的候选算子集。例如,对节点类型有O={OPN,NSP},对节点对类型有O={GRB}等。由于每个算子代表了一类能在当前变异位置上发生的故障,因此这些故障发生的概率决定了算子的权重。同样可以应用层次分析法计算算子权重,此时问题域中的要素变为特定变异位置上的候选算子,其步骤与变异位置的随机选择相同。不同之处仅在于这些要素实例的数量均为1。

值得注意的是子电路上的候选算子分为外部和内部两种。外部算子主要用于模拟子电路的全局参数故障或接口故障,如PCH、OPN、LRB、CNM等;内部算子则是将子电路作为新的目标电路进行处理,可根据其中元素类型的不同使用相应的候选算子,这是一个递归过程。

2.4变异体的随机生成

当变异位置和算子确定后,在生成特定的变异体之前,需要考虑变异体的具体实现形式。对于连续型故障参数,如PCH的参数、OPN的开路阻值和容值、LRB和GRB的桥接阻值等,需根据这些参数服从的分布取具体数值。由于电路模型中绝大多数参数为正实数,因此可采用截断的正态分布[10]:设数值参数为x,x是一个随机变量,按正态分布N(μ,σ2)对其进行采样,若x≤0则x←δ,其中δ是一个接近0的小值。就PCH而言,考虑到一个元件可能有多个参数,为凸显变异效果,应从对元件性能影响最显著的参数中进行随机选取。此外,LRB、CNM、NSP等算子的实现需要选择特定的端口,此时按均等概率随机指定一对或一组端口即可。

3 变异生成工具

为实现随机变异生成的自动化,基于C#语言实现了一个计算机辅助工具:电路变异工具(circuit mutation laboratory,CMLab)。如图1所示,CMLab采用了可扩展的层次架构,自底向上共包含4层,分别是电路描述层、变异层、输入输出层和应用层。其中电路描述层定义了电路在计算机中的数据结构模型,包括节点、节点对、元件的仿真计算模型以及电路的递归描述等;变异层由变异算子类组成,主要负责限定变异算子的实现;输入输出层包括将外部格式(目前主要指Spice网表)转换为内部模型的解析器和将变异体重新转化为可仿真描述的转换器;应用层可实现多种基于变异的应用,这里主要关注随机变异生成应用,由随机变异生成器完成。

图1 CMLab框架结构

4 实例

以图2所示的串联调整型稳压电路为例,电路中包含7个电阻(RES)、3个电容(CAP)、3个三极管(BJT)、1个稳压二极管(D)、10个节点(NODE)、23个全局节点对(NPAIR)和1个子电路(SUBCKT)(电位器RP1)。由此可得变异位置类型及其数量的向量分别为TP=[RES,CAP,BJT,D,NODE,NPAIR,SUBCKT] 和m=[7,3,3,1,10,23,1]。

将TP中的类型进行两两比较。简单起见,比较时可以任意选择每个类型中的某个实例样本,如[R1,C1,Q1,D1,1,<1,6>,RP1],再两两比较这些样本间故障发生的相对容易程度。最终可得如图3所示的变异权重判断矩阵。按层次分析法可算得各元素类型的变异权重向量为ω=[0.14,0.32,0.12,0.06,0.10,0.16,0.10]。

选定变异位置后,进一步的工作是计算其候选算子集中各个算子的权重。假设当前变异位置为稳压二极管D1,则通过表1中的相关描述可确定其候选算子集为O={PCH,OPN,LRB,CNM}。仍通过两两比较其相对权重可得如图4所示的权重判断矩阵,最终可得D1上各算子的权重向量为ω1=[0.14,0.50,0.28,0.08]。

变异算子确定后,按2.4节所示方法,生成一个变异体即可。例如,假设选中了D1上的OPN算子,且随机选中的端口为1号端口(与节点4相连),则将在目标电路中添加一个由阻值为ROPN的电阻和容值为COPN的电容并联构成的复合元件,该元件一端与D1的1号端口相连,一端与节点4相连。

最后,使用CMLab工具为实例电路生成500个随机变异体。图5给出本次随机变异生成实验的统计结果。就变异体类型而言,OPN变异体的规模最大,其次是PCH和LRB变异体;就变异发生的位置类型而言,电容被选中的次数最多,共计163次,其次是电阻(70次)、三极管和全局节点对(同为68次),基本与ω中的权重一致。另外值得注意的是,设定的变异体总数越大,生成重复或等价变异体的概率也越高。在下一步的变异体仿真分析中,为提高仿真效率,应避免等价变异体的重复仿真。然而,等价变异体的数量对统计分析结果的影响仍应考虑在内。

图2 串联调整型稳压电路

图3 实例电路的变异位置权重判断矩阵

图4 二极管的变异算子权重判断矩阵

图5 500次随机变异实验统计结果

5 结束语

本文提出一种能够处理多级子电路的模拟电路随机变异生成方法,其特点是应用变异算子实现故障注入,所提算子能够有效覆盖电路中的真实故障模式;此外,应用层次分析法较好地解决了变异位置、变异算子的随机选择问题;基于文中所提方法开发的工具CMLab能够自动、快速地生成大规模、符合客观实际的变异体样本,为今后进一步研究电路的故障行为奠定基础。

参考文献

[1]宋丽蔚,李刚.基于PSpice的电子设备故障自动注入平台研究[J].中国测试,2012,38(4):99-102.

[2]丁国宝,娄建安,云超,等.基于PSpice的模拟电路故障知识获取新方法[J].计算机测量与控制,2010,18(2):286-288.

[3]绳伟光,肖立伊,毛志刚.用于电路级仿真软故障注入的自动化方法[J].计算机辅助设计与图形学学报,2009,21(3):346-353.

[4] JIA Y,HARMAN M. An analysis and survey of the development of mutation testing [J]. IEEE Transactions on Software Engineering,2011,37(5):649-678.

[5] STRAUBE B,VERMEIREN W,SPENKE V. Multilevel hierarchical analogue fault simulation[J]. Microelectronics Journal,2002,33(10):815-821.

[6] XU A Q,TANG X F,YANG Z Y. Mutant Generation for Analog Circuit Designs[C]∥Proceedings of the IEEE 5th International Conference on Software Engineering and Service Science.Beijing,2014:916-920.

[7]冉跃龙,闫英敏,吕秀平.装备虚拟维修中的电路故障仿真研究[J].计算机仿真,2013,30(11):20-23.

[8]郭梁,马立元,郭利,等.基于仿真的电子元器件故障模型研究[J].工程设计学报,2008,15(2):145-148.

[9]邱静,刘冠军,杨鹏.装备测试性建模与设计技术[M].北京:科学出版社,2012:59-63.

[10] ENGELKE P,POLIAN I,RENOVELL M,et al. Simulating resistive -bridging and stuck -at faults [J]. IEEE Transactions on Computer -Aided Design of Integrated Circuits and Systems,2006,25(10):2181-2192.

(编辑:李刚)

A stochastic mutant generation method for multi-level analog circuits

TANG Xiaofeng1,2,XU Aiqiang1,LI Wenhai1
(1. Department of Scientific Research,Naval Aeronautical and Astronautical University,Yantai 264001,China;2. Unit 92514 of the PLA,Yantai 264007,China)

Abstract:A stochastic mutant generation method has been proposed to acquire automatically multiple fault samples from complex circuits for testing and diagnostic purposes. First,eight restricted mutation operators are defined to cover the majority of actual circuit faults. Analytical hierarchy process(AHP)is used to analyze the relative fault probabilities and fault types of circuit elements and evaluate the weights of different mutation locations and operators selected. Then,the probability distributions of continuous fault parameters are considered and the fault model is made more realistic by random sampling of fault parameter values. In the end,500 stochastic mutants are generated for a regulator circuit. The experimental results show that the proposed method can rapidly generate massive high-quality fault samples for multi-level analog circuits fast and well.

Keywords:automatic fault injection;stochastic mutant generation;mutation operator;AHP

作者简介:唐小峰(1984-),男,重庆市人,助理工程师,博士,主要从事电子信息系统测试与诊断技术研究。

基金项目:中国博士后科学基金项目(2013M542535)

收稿日期:2015-06-09;收到修改稿日期:2015-07-27

doi:10.11857/j.issn.1674-5124.2016.01.003

文献标志码:A

文章编号:1674-5124(2016)01-0012-04

猜你喜欢

层次分析法
基于模糊层次分析法的公路桥梁施工安全风险评价研究
乳制品品牌顾客满意度测评指标体系研究
微电子科学与工程专业评价指标体系研究
基于AHP—GRA的工程施工项目进度风险管理研究
浅谈基于层次分析法的变电站安全风险管理研究
基于模糊综合评价模型对道路拥堵的研究