CN105912792A - 一种基于变异的模拟电路自动故障注入方法 - Google Patents
一种基于变异的模拟电路自动故障注入方法 Download PDFInfo
- Publication number
- CN105912792A CN105912792A CN201610237840.9A CN201610237840A CN105912792A CN 105912792 A CN105912792 A CN 105912792A CN 201610237840 A CN201610237840 A CN 201610237840A CN 105912792 A CN105912792 A CN 105912792A
- Authority
- CN
- China
- Prior art keywords
- variation
- operator
- circuit
- automatic fault
- analog circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于变异的模拟电路自动故障注入方法,用于快速获取大规模、高质量的电路故障样本。此方法包括电路表示与解析、变异生成配置和变异生成实现三个步骤。电路表示与解析将某种电路描述格式解析成一种具体形式为无向图的内部表示模型,以方便计算机处理;变异生成配置由用户指定,产生相应的配置信息,包括变异算子、变异目标对象和变异方式,用于控制和约束变异生成过程;变异生成实现包含一系列与变异算子相关的实现算法,它们基于原始电路信息和变异生成配置信息自动生成规定数量的变异体。
Description
技术领域
本发明涉及一种基于变异的模拟电路自动故障注入方法,属于电子设计自动化领域。
背景技术
故障注入是当前研究电路故障行为的主要手段,广泛应用于电路的测试与诊断等技术领域。故障注入可分为硬注入和模拟注入两类,前者直接作用于实物电路,能够获取最真实的故障数据,但受故障注入数量、测点、成本等因素限制,难以保障所得数据的充分性;后者以电路的设计文件为对象,主要借助计算机辅助设计与仿真手段研究电路的故障行为,能够有效克服故障硬注入方法存在的诸多限制。
尽管故障模拟注入方法在近年来得到广泛关注和快速发展,但其自动化程度仍处于较低水平,若要获取大规模、高质量的电路故障样本仍需工作人员付出大量劳动,如手动更改电路描述文件等,迫切需要一种通用的自动化解决方案,而电子设计自动化技术的日益成熟为这一目标的实现提供了良好的基础。
发明内容
针对上述问题,本发明提供一种基于变异的模拟电路自动故障注入解决方案,目的是提高故障模拟注入方法的自动化水平。本发明具体包括以下三个步骤:
a)电路表示与解析,将某种电路描述文件格式通过一个解析器解析为一种方便处理的计算机内部表示模型;
b)变异生成配置,提供一个配置工具,用于设置变异生成配置信息,以控制和约束变异生成过程;
c)变异生成实现,包含一个变异生成器,它根据电路的内部表示模型和变异生成配置信息自动产生规定数量的电路变异体。
所述的解析器针对不同电路描述文件格式的特定语法,具有对应的实现方式,解析完成后输出电路的内部表示模型。常见的电路描述文件格式,如SPICE、EDIF等,能够方便地从EDA软件中导出,只需针对不同的格式开发相应的解析器,即可获得统一的电路内部表示模型,不会影响后续功能的实现。
所述的内部表示模型是一个无向图数据结构,其中包含表示功能元器件或子电路实例的C型顶点、表示电气节点的N型顶点以及表示各顶点间互连关系的无向边。基于这一数据结构能够方便地对目标电路中的元器件、节点及其相关属性或参数进行遍历,有利于变异生成算法的实现。
所述的变异生成配置信息包含确定一个具体变异体所需的三个要素,即变异算子、变异目标对象和变异方式。
所述的变异算子对应于实际电路中的故障类型,具体包括参数偏大算子PCH+(parameterchange positive)、参数偏小算子PCH-(parameter change negative)、电阻式开路算子ROP(resistive open)、局部电阻式桥接算子LRB(local resistive bridging)、全局电阻式桥接算子GRB(global resistive bridging)、节点分裂算子NSP(node splitting)、晶体管固定导通算子TSON(transistor stuck-at on)和晶体管固定断开算子TSOP(transistor stuck-at open),可根据不同的应用需求对其进行扩展。关于各个算子的具体描述如下:
·PCH+算子增加目标元器件的目标参数值,使其超出规定的容差。
·PCH-算子减小目标元器件的目标参数值,使其超出规定的容差。
·ROP算子在目标元器件的目标端口上增加一个额外的具有较大阻值的电阻,即开路电阻,用于模拟开路故障。
·LRB算子在目标元器件的两个目标端口,即端口对,之间连接一个具有较小阻值的电阻,即桥接电阻,用于模拟短路故障。
·GRB算子在两个本不相连且原本各自所连端口不属于同一个元器件的目标节点,即全局节点对,之间连接一个桥接电阻,用于模拟短路故障。
·NSP算子将一个节点分裂为多个相互隔离的节点,然后在分裂的节点间连接一个开路电阻,用于模拟节点上的开路故障。为避免与ROP算子在效果上重复,只取所连端口数量≥4的节点作为变异目标对象;另外,为控制NSP变异体的数量规模,只考虑节点一分为二的分裂方式。
·TSON算子首先将一个与目标晶体管同型号的晶体管副本与目标晶体管并联,然后通过在该副本的控制端施加适当的控制电源,将其开关状态固定在导通状态。
·TSOP算子首先将一个与目标晶体管同型号的晶体管副本与目标晶体管串联,然后通过在该副本的控制端施加适当的控制电源,将其开关状态固定在断开状态。
所述的变异目标对象表示变异可能发生的位置,具体为功能元器件及其内部参数、端口和端口对,节点以及全局节点对。
所述的变异方式具体包括PCH+和PCH-算子对应的超差后的功能元器件参数值的确定方法、ROP和NSP算子对应的开路电阻阻值的确定方法、NSP算子对应的节点分裂方式的确定方法、LRB和GRB算子对应的桥接电阻阻值的确定方法、TSON和TSOP算子对应的用于控制晶体管导通和断开状态的控制电源参数值的确定方法。
所述的变异生成器包含与特定变异算子相关的变异生成实现算法,对电路中的每个具体的潜在变异目标对象,这些算法首先通过查询变异配置信息判断是否需要对其进行变异操作,若是则根据当前应用的变异算子和变异方式生成规定数量的变异体。对应于每个变异算子的具体算法实现分别如下所示:
·PCH+/PCH-的实现算法:
步骤1:对目标电路中的每个功能元器件(C型顶点)中的每个数值型参数;
步骤2:若当前参数被配置为变异目标对象,则按给定的变异方式确定出新的元器件参数值;
步骤3:若新的元器件参数值超出规定容差,则生成一个变异体,否则重复步骤2,直到生成规定数量的变异体为止。
·ROP的实现算法:
步骤1:对目标电路中的每个功能元器件(C型顶点)上的每个端口;
步骤2:若当前端口被配置为变异目标对象,则断开端口的原有连接,并新增一个开路电阻,将其一端与当前端口相连,另一端与原本与当前端口相连的节点相连;
步骤3:按给定的变异方式确定开路电阻的阻值,并生成一个变异体,直到生成规定数量的变异体为止。
·LRB的实现算法:
步骤1:对目标电路中的每个功能元器件(C型顶点)上的相邻端口对;
步骤2:若当前端口对被配置为变异目标对象,则新增一个桥接电阻,将其两端分别与组成当前端口对的两个端口相连;
步骤3:按给定的变异方式确定桥接电阻的阻值,并生成一个变异体,直到生成规定数量的变异体为止。
·GRB的实现算法:
步骤1:查找目标电路中所有的全局节点对(N型顶点对),即由两个所连端口不属于同一功能元器件的节点组成的节点对,并对其进行配置;
步骤2:对每个已配置的全局节点对,新增一个桥接电阻,将其两端分别与组成当前全局节点对的两个节点相连;
步骤3:按给定的变异方式确定桥接电阻的阻值,并生成一个变异体,直到生成规定数量的变异体为止。
·NSP的实现算法:
步骤1:对目标电路中的每个节点(N型顶点);
步骤2:若当前节点所连元器件端口数量≥4且被配置为变异目标对象,则按给定的变异方式将该节点分裂为两个相互独立的节点,其中每个新节点所连元器件端口的数量不小于2;
步骤3:新增一个开路电阻,其两端分别与两个新节点相连,再按给定的变异方式确定开路电阻的阻值,并生成一个变异体,直到生成规定数量的变异体为止。
·TSON/TSOP的实现算法:
步骤1:对目标电路中的每个晶体管元器件(包括双极型晶体管、MOSFET、JFET等);
步骤2:若当前晶体管被配置为变异目标对象,则新增一个与当前晶体管相同型号的晶体管副本,将其与目标晶体管并联/串联;
步骤3:添加一个控制电源并将其施加于晶体管副本的控制端(如双极型晶体管的基极、MOSFET的栅极等),使其保持导通/断开状态,电源的参数值根据晶体管的不同类型(如NPN、PNP、NMOS、PMOS等)确定;
步骤4:生成一个变异体,直到生成规定数量的变异体为止。
注意所述的变异生成实现算法中:
·每当生成一个变异体时,目标电路中正常功能元器件的参数在容差允许范围内随机变化,若未设置容差,则容差值默认为0;
·每个变异体只包含一个故障,这符合满足多数情况的单故障假设,多故障并存的情况可通过组合多个变异算子实现;
·只考虑相同层次的功能元器件和节点,如需对子电路内部实施类似变异,可通过递归执行上述算法过程实现。
所述的变异体仍表示为内部表示模型,可根据不同的应用需求将其转化为其他电路描述格式。例如,需要对变异体进行仿真分析,则可将其由内部表示模型转化为SPICE格式。
本发明支持大规模变异体的快速自动生成,用户只需进行简单的配置,就能通过本发明公开的技术由计算机自动生成所需数量的高质量变异体样本。另外,在此基础上可以根据需要对所述的变异算子进行扩展,在配置时也可仅选择需要的变异算子,具有较强的可扩展性和灵活性。
附图说明
图1为本发明实现框架示意图;
图2为本发明实施例的电路原理图;
图3为本发明实施例中电路描述对应的内部表示模型。
具体实施方式
下面结合附图和实施例对本发明进行进一步说明,本实施例在以本发明所提方法为前提下进行实施,但本发明的保护范围不限于下述的实施例。
实施例中涉及的功能模块均在微软Visual Studio 2012集成开发环境下使用C#语言实现,生成的变异体存储在一个SQLite关系型数据库中。
1、电路表示与解析
图2所示的共射极放大电路原理图是在OrCAD 16.3的CIS Capture中绘制,然后导出得到如下所示SPICE描述:
其中星号*之后为注释文本;加号+为连续行标识,表示后续文本与前一行文本实际上是同一行;功能元器件描述行的首字符表示元器件类型;.model语句描述了功能元器件的模型类型及参数;电阻和电容的容差分别置为5%和10%。
将上述目标电路的SPICE描述作为输入传递给解析器,执行解析后得到如图3所示的内部表示模型,其中双线圆为表示功能元器件的C型顶点、单线圆为表示电气节点的N型顶点。C型顶点包含所关联功能元器件的属性信息,包括参数、模型、连接方式等,N型顶点主要包含其所关联电气节点的连接方式。
2、变异生成配置
a)选取变异算子
为简洁起见,本实施例只选择部分所述的变异算子为例进行说明,包括:PCH+、ROP、LRB、TSON四个算子。
b)确定变异目标对象
根据不同的变异算子确定变异目标对象,具体如下:
·PCH+被应用于所有电阻(R)和电容(C)类型元器件的Value参数,以及双极型晶体管(Q)类型元器件的Bf(正向电流增益)模型参数;
·ROP被应用于所有电阻(R)和电容(C)的第一个端口,以及双极型晶体管(Q)类型元器件的全部三个端口;
·LRB被应用于所有电阻(R)、电容(C)和双极型晶体管(Q)类型元器件的全部相邻端口对;
·TSON被应用于所有双极型晶体管(Q)类型元器件。
上述配置方式为按元器件类型进行配置,可以减少配置工作量。如有需要,也可配置到单个元器件实例。
c)确定变异方式
根据不同的变异算子确定变异方式,主要是故障参数的确定方法,具体如下:
·所有PCH+变异体的新参数值满足均匀分布U[(1+t)Xn,10Xn],其中t表示目标参数的容差大小,Xn为目标参数的标称值;
·所有ROP变异体的开路电阻阻值满足均匀分布U[100kΩ,100MΩ];
·所有LRB变异体的桥接电阻阻值满足均匀分布U[1Ω,100Ω];
·所有TSON变异体对应的晶体管副本的控制端接地,即控制电压为0V。
3、变异生成实现
步骤1:遍历目标电路内部表示模型中的功能元器件(C型顶点);
步骤2:根据当前顶点的元器件类型(R、C或Q),在变异生成配置信息中查询是否有匹配的配置项;例如,当前顶点标识符为RB,属于类型R,则可查询到三个配置项,分别对应于PCH+、ROP和LRB算子;
步骤3:根据不同算子对应的变异实现算法,按配置项中给定的变异方式确定变异体所需的故障参数,随机生成变异体50个(正常元器件参数在设定的容差范围内随机取值)。
最终,共计得到1000个变异体,其概况如下:
·PCH+变异体250个,其中Q类型元器件50个(Q1的Bf参数);C类型元器件100个(C1和C2的Value参数各50个);R类型元器件100个(RB和RC的Value参数各50个);
·ROP变异体350个,其中Q类型元器件150个(Q1的三个端口各50个);C类型元器件100个(C1和C2的正端各50个);R类型元器件100个(RB和RC的正端各50个);
·LRB变异体350个,其中Q类型元器件150个(Q1的三个相邻端口对各50个);C类型元器件100个(C1和C2的端口对各50个);R类型元器件100个(RB和RC的端口对各50个);
·TSON变异体50个,其中Q类型元器件50个(全部来自Q1)。
整个变异生成过程耗时小于1s(实验在配置为Intel Core i7 4GHz CPU和8GB RAM的机器上完成),并通过随机采样方法提高了变异体样本的质量。
Claims (9)
1.一种基于变异的模拟电路自动故障注入方法,其特征在于:通过该方法,可以实现模拟电路大规模、高质量故障样本的快速和自动获取,具体包括以下三个步骤:
a)电路表示与解析(1),将某种电路描述文件格式(101)通过一个解析器(102)解析为一种方便处理的计算机内部表示模型(103);
b)变异生成配置(2),提供一个配置工具(201),用于设置变异生成配置信息(202),以控制和约束变异生成过程;
c)变异生成实现(3),包含一个变异生成器(301),它根据电路的内部表示模型(103)和变异生成配置信息(202)自动产生规定数量的电路变异体(302)。
2.如权利要求书1所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的解析器(102)针对不同电路描述文件格式(101)的特定语法,具有对应的实现方式,解析完成后输出电路的内部表示模型(103)。
3.如权利要求书1或2所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的内部表示模型(103)是一个无向图数据结构,其中包含表示功能元器件或子电路实例的C型顶点、表示电气节点的N型顶点以及表示各顶点间互连关系的无向边。
4.如权利要求书1所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异生成配置信息(202)包含确定一个具体变异体(302)所需的三个要素,即变异算子、变异目标对象和变异方式。
5.如权利要求书4所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异算子对应于实际电路中的故障类型,具体包括参数偏大算子PCH+、参数偏小算子PCH-、电阻式开路算子ROP、局部电阻式桥接算子LRB、全局电阻式桥接算子GRB、节点分裂算子NSP、晶体管固定导通算子TSON和晶体管固定断开算子TSOP,可根据不同的应用需求对其进行扩展。
6.如权利要求书4所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异目标对象表示变异可能发生的位置,具体为功能元器件及其内部参数、端口和端口对,节点以及全局节点对。
7.如权利要求书4所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异方式具体包括PCH+和PCH-算子对应的超差后的功能元器件参数值的确定方法、ROP和NSP算子对应的开路电阻阻值的确定方法、NSP算子对应的节点分裂方式的确定方法、LRB和GRB算子对应的桥接电阻阻值的确定方法、TSON和TSOP算子对应的用于控制晶体管导通和断开状态的控制电源参数值的确定方法。
8.如权利要求书1或4所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异生成器(301)包含与特定变异算子相关的变异生成实现算法,对电路中的每个具体的潜在变异目标对象,这些算法首先通过查询变异配置信息(202)判断是否需要对其进行变异操作,若是则根据当前应用的变异算子和变异方式生成规定数量的变异体(302)。
9.如权利要求书1所述的一种基于变异的模拟电路自动故障注入方法,其特征在于:所述的变异体(302)仍为内部表示模型(103),可根据不同的应用需求将其转化为其他电路描述格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237840.9A CN105912792A (zh) | 2016-04-15 | 2016-04-15 | 一种基于变异的模拟电路自动故障注入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237840.9A CN105912792A (zh) | 2016-04-15 | 2016-04-15 | 一种基于变异的模拟电路自动故障注入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912792A true CN105912792A (zh) | 2016-08-31 |
Family
ID=56747266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610237840.9A Pending CN105912792A (zh) | 2016-04-15 | 2016-04-15 | 一种基于变异的模拟电路自动故障注入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912792A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262210A (zh) * | 2011-04-20 | 2011-11-30 | 哈尔滨工业大学 | 基于随机子空间与多储备池集成分类的模拟电路故障诊断方法 |
US20120054532A1 (en) * | 2010-08-24 | 2012-03-01 | Red Hat, Inc. | Dynamic fault configuration using a registered list of controllers |
CN103186690A (zh) * | 2011-12-30 | 2013-07-03 | 北京华大九天软件有限公司 | 一种集成电路版图验证中短路路径的识别方法 |
CN204965090U (zh) * | 2015-08-31 | 2016-01-13 | 中国人民解放军63908部队 | 集成多种故障类型的智能化故障注入系统 |
-
2016
- 2016-04-15 CN CN201610237840.9A patent/CN105912792A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054532A1 (en) * | 2010-08-24 | 2012-03-01 | Red Hat, Inc. | Dynamic fault configuration using a registered list of controllers |
CN102262210A (zh) * | 2011-04-20 | 2011-11-30 | 哈尔滨工业大学 | 基于随机子空间与多储备池集成分类的模拟电路故障诊断方法 |
CN103186690A (zh) * | 2011-12-30 | 2013-07-03 | 北京华大九天软件有限公司 | 一种集成电路版图验证中短路路径的识别方法 |
CN204965090U (zh) * | 2015-08-31 | 2016-01-13 | 中国人民解放军63908部队 | 集成多种故障类型的智能化故障注入系统 |
Non-Patent Citations (1)
Title |
---|
唐小峰等: "多层次模拟电路随机变异生成方法研究", 《中国测试》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103500249B (zh) | 可视化继电保护整定计算系统及方法 | |
US20160252890A1 (en) | Method for searching cross-regional power supply area based on cim model and system thereof | |
CN110852023B (zh) | 智能变电站一次主接线图自动生成方法及装置 | |
CN108228726B (zh) | 配电网红黑图的增量异动内容获取方法及存储介质 | |
CN107784139B (zh) | 压缩机控制系统电气原理图自动生成方法 | |
CN103268362A (zh) | 基于通用模板和关键字符匹配的虚端子辅助设计方法 | |
CN108134698B (zh) | 一种工业多协议物联网关的图形化配置平台 | |
CN105243196B (zh) | 变电站二次回路仿真建模方法 | |
Fontana et al. | A new simulation program for analog circuits using symbolic analysis techniques | |
CN109062570A (zh) | 一种基于eplan软件自动生成图纸的方法及存储介质 | |
CN103077255B (zh) | 核电站3d模型识别方法和系统 | |
CN108521123A (zh) | 一种可视化的多联络点配电网故障区段关联方法 | |
CN106371869B (zh) | 一种智能变电站间隔层设备的iec61850配置软件实现方法 | |
Celeita et al. | Fault location framework for distribution systems with DG using DSSim-PC | |
CN104298657A (zh) | 基于表达式的评价指标解析系统 | |
CN112580178B (zh) | 一种能量管理系统图模双向校验方法及装置 | |
CN108090288B (zh) | 一种通过机器学习获取时序参数的方法 | |
CN105912792A (zh) | 一种基于变异的模拟电路自动故障注入方法 | |
CN103631998A (zh) | 一种针对局部拓扑变化的配电网建模方法 | |
CN103605806A (zh) | 可配置的结构化数据组织方式的实现方法 | |
Mei et al. | Research on optimization of wiring paths in airplane harness process | |
CN105404608A (zh) | 一种基于公式解析的复杂指标集计算方法和系统 | |
CN110737980B (zh) | 电气设计系统和电气设计方法 | |
CN106301833A (zh) | 一种变电站调度信息测试方法 | |
CN108829968A (zh) | 基于Python扩展函数的电路图审查方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160831 |