CN104317995B - 基于PSpice AD电路仿真的单故障自动注入方法 - Google Patents
基于PSpice AD电路仿真的单故障自动注入方法 Download PDFInfo
- Publication number
- CN104317995B CN104317995B CN201410550428.3A CN201410550428A CN104317995B CN 104317995 B CN104317995 B CN 104317995B CN 201410550428 A CN201410550428 A CN 201410550428A CN 104317995 B CN104317995 B CN 104317995B
- Authority
- CN
- China
- Prior art keywords
- components
- parts
- fault
- circuit
- netlist
- 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.)
- Expired - Fee Related
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于PSpice AD电路仿真的单故障自动注入方法,该方法实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入,并且仅需一次操作即可完成整个电路的所有单故障注入,具有自动化、快速遍历故障模式实现故障注入的优点,克服了手动进行故障注入效率低、容易出错等问题,节约了人力成本,并且提高了故障注入的效率和准确性。
Description
技术领域
本发明涉及电路故障仿真和可靠性分析领域,特别涉及一种基于PSpice AD电路仿真的单故障自动注入方法。
背景技术
故障仿真技术是将故障建模、故障注入及系统性能仿真相结合的分析技术,是实现电路可靠性设计的有效辅助方法。故障注入是根据器件的故障机理,按照某些策略,人为地将故障注入到电路中的过程。然后通过电路仿真获得电路在故障模式下仿真输出,完成电路故障仿真。
在航空、航天、军工、汽车、医疗等领域,对电路可靠性要求极高,一个部件的故障都可能导致整个系统损坏,甚至造成重大人员伤亡和巨大财产损失。因此通过故障仿真技术,对电路注入故障,可以及早地发现系统设计的不足,进而采取有效的措施,提高系统的可靠性,可避免严重后果产生。
在电路故障仿真技术发展前,常采用硬件故障注入和软件故障注入两种方式,以获得电路故障影响。硬件故障注入能较好地模拟实际的硬件故障,且无需开发故障注入模型,但是试验装置复杂、费用高,难以精确控制故障注入的时间和位置,容易造成电路器件的损伤,带来经济损失。软件故障注入灵活方便,易于实现,成本低且可以减少研制时间,对硬件电路器件没有损坏,但是不能将故障注入到软件不可访问的位置,只能部分模拟实际的故障情况。而基于电路仿真的故障注入技术可以将故障注入到仿真模型内的任何位置,避免了软件故障注入的局限性问题,同时相比于硬件故障注入可以避免因注入故障导致的器件或系统损坏,此外还具有成本低,仿真时间短等优点,但目前多以手动注入方式为主,操作繁琐、对人员的依赖性大,且效率低下。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于PSpice AD电路仿真的单故障自动注入方法,该方法仅需一次操作即可实现所有故障模式及输出引脚的遍历故障注入,相比于人工注入方式大大简化了故障注入操作,并且提高了故障注入的效率。
为了实现上述发明目的,本发明采用的技术方案是:一种基于PSpice AD电路仿真的单故障自动注入方法,该方法包括如下步骤:
步骤一:提取电路原理图中的元器件单元清单:解析电路原理图网表,提取电路原理图网表中的元器件单元清单,所述元器件单元清单包括一一对应的元器件单元标识、元器件单元值及元器件单元类型名;
步骤二:建立元器件单元故障模式列表:根据提取的所述元器件单元清单为其中元器件单元预设对应的故障模式,并建立所述元器件单元的故障模式列表,其中所述元器件故障模式列表包括元器件单元类型名称、与所述元器件单元类型名称对应映射的基于电路仿真的故障模式和所述故障模式所在的输出引脚号;
步骤三:确定故障注入的元器件单元标识:逐行扫描所述元器件单元清单,依次选定一个元器件单元标识,基于所述元器件单元清单,映射其元器件单元类型名,并基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入;
步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:若确定进行故障注入,按所述元器件故障模式列表确定选定的所述元器件单元的故障模式和输出引脚号的映射关系,并按所述元器件单元清单中的所述元器件单元类型名确定选定的所述元器件单元的故障注入方式;
步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次确定要进行单故障注入的元器件单元,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容重构潜在故障电路原理图网表完成故障注入。
上述方法还包括:完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,重复步骤三至步骤五,若所述元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕。
优选的,不同的故障注入方式对应不同的电路原理图网表的重构方式,所述电路原理图网表的重构方式包括:
1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;和/或
2)模型替代法:将元器件单元名称替换为相应元器件单元的故障仿真模型名,不同输出引脚的不同故障模式对应不同的故障模型名。
步骤三中所述基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入具体为:若元器件故障模式列表中不含选定的元器件单元类型,则不对该元器件单元进行故障注入;若元器件故障模式列表中含有选定的元器件单元类型,则对该元器件单元进行故障注入。
步骤四中,按所述元器件单元清单中的元器件单元类型名确定选定的所述元器件单元的故障注入方式具体为:若元器件单元在电路原理图网表中只含有一个元器件值或参数,则采用参数修改法故障注入方式;若元器件单元含有多个元器件值或参数,则采用模型替代法故障注入方式。
步骤二之前,还包括:分析不同类型的元器件单元在每种故障模式下的表现形式,建立基于表现形式的故障仿真模型,所述故障模式对应的故障仿真模型的建模方法对应关系如下:
(a)模拟元器件开路:故障引脚串联一个109欧姆大电阻;
(b)模拟元器件短路:故障引脚并联一个10-9欧姆小电阻;
(c)数字元器件固高:元器件引脚后串联一个或门,且或门的另一输入引脚接高电平;
(d)数字元器件固低:元器件引脚后串联一个与门,且与门的另一输入引脚接低电平;
(e)数字元器件反相:元器件引脚后串联一个反相器;
(f)数字元器件开路:元器件引脚后串联一个三态缓冲器,且使能端接低电平;
(g)数字元器件短路:元器件引脚并联一个缓冲器,缓冲器的输出引脚代替原输出引脚。
与现有技术相比,本发明的有益效果: 本发明方法实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入,并且仅需一次操作即可完成整个电路的所有单故障注入,具有自动化、快速遍历故障模式实现故障注入的优点,克服了手动进行故障注入效率低、容易出错等问题,节约了人力成本,并且提高了故障注入的效率和准确性。
附图说明:
图1是本发明方法流程图;
图2是本发明中提取元器件单元清单流程图;
图3是本发明故障模式分类情况图;
图4是本发明实施例1所选用的Timer_generate的电路原理图;
图5是本发明中各元器件单元潜在故障模式等效模型图。
具体实施方式
下面结合具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
为了克服传统手工故障注入的操作繁琐、对人员依赖性大、效率低下等问题。并且尽可能发掘电路原理图中所有的元器件在不同引脚上的不同故障模式对电路输出的影响,提高故障注入的效率,本发明提出一种基于PSpice AD电路仿真的单故障自动注入方法,实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该元器件单元每个输出引脚上的单故障自动遍历注入,相比于一般的故障注入只能精确到元器件,本发明可以细化到对不同的输出引脚注入故障;仅需一次操作即可完成整个电路的所有单故障注入,实现了故障注入的自动化,相比于手动故障注入,操作简单、准确,且提高了故障注入的效率;本方法具有通用性,并不局限于单故障,还可以适用于多故障的情况。下面结合附图具体说明。
本发明基于PSpice AD电路仿真的单故障自动注入方法,参看图1,该方法包括如下步骤:
步骤一:提取电路原理图中的元器件单元清单:基于PSpice语法解析电路原理图网表,提取电路原理图网表中的元器件单元清单,所述元器件单元清单包括一一对应的元器件单元标识、元器件单元值及元器件单元类型名。
由于PSpice软件是基于仿真电路原理图网表(.net文件)进行仿真。网表文件内记录着电路单元连接方面的信息,包括电路单元的类型、电路单元的标识、电路单元的输入输出管脚信息等。因此正确解析网表语法是实现故障注入的关键。本发明中对网表语法的解析,采用逐行读取电路的网表的方式提取元器件单元清单,以及确定电路单故障注入的注入位置,其流程图如图2所示。基于PSpice的电路原理图网表文件的一般语法规则为:"元器件名 节点1 节点2...节点n 元器件值"。不同类型的元器件在网表中的格式如表1所示。
表1不同类型的元器件在网表中的格式
其中,R/C表示电阻、电容器件,D/Q表示二极管、三极管,U/X表示其他数字器件。
按表1中不同类型元器件在电路原理图网表中的格式,可以提取出各个元器件单元中的元器件单元标识、元器件单元类型名、元器件单元值。其中元器件单元标识对应表1中的元器件名,元器件单元类型名对应表1中的元器件关键字,元器件单元值对应表1中的元器件值。
其中,步骤一和二是分别单独进行的,在其他实施例中,也可以不分先后顺序。步骤一是预设的故障模式列表(新建/修改.txt文件),用于指定需要进行故障注入的元器件、故障模式、输出引脚。步骤二是提取的实际的电路原理图网表(.net文件)中的器件清单(即故障注入的对象),表示电路原理图中的器件类型及器件值等。
步骤二:建立元器件单元故障模式列表:根据提取的所述元器件单元清单为其中元器件单元预设对应的故障模式,并建立所述元器件单元的故障模式列表,其中所述元器件故障模式列表包括元器件单元类型名称、与所述元器件单元类型名称对应映射的基于电路仿真的故障模式和所述故障模式所在的输出引脚号。
基于GJB/Z 299C-2006标准,结合PSpice AD电路仿真的可行性,为不同类型的元器件单元预设对应的故障模式,并建立元器件单元故障模式列表。元器件单元故障模式列表中含三个表项,即元器件单元类型名称、及其对应的基于电路仿真的故障模式和输出引脚号。元器件单元类型名称与对应的元器件名相同。
电路设计人员可以指定进行故障注入的元器件单元类型、故障模式及输出引脚号。电路中元器件单元的故障模式可参考GJB/Z 299C-2006等标准,其中模拟电路可能出现的故障行为主要有:参数漂移、开路、短路、漏电、机械损伤、输出错误、过电应力、电性能失效等故障。对于数字电路,可能出现的故障有:固高、固低、反向、开路、短路、功能失效、机械失效、参数超差、过电应力等。依据不同元器件单元的故障模式在实际电路仿真中的具体体现形式,本发明对不同的元器件指定了基于电路仿真的元器件单元故障模式。元器件单元基于电路仿真的故障模式大致分类情况如图3所示。基于一个元器件单元可能有多个输出引脚,而故障可能发生在其中一个输出引脚上的情况,本发明可对每个输出引脚进行遍历故障注入。
在具体实施中,本发明设计了一个可扩展的元器件单元故障模式列表,并预留了该故障模式列表的接口。如表2所示。这里元器件单元定义为一个实际物理器件所包含的独立的、相同的功能单元。如一个74AC14反相器中含6个元器件单元。根据实际需求,可在这个列表中添加或删除需要进行故障注入的元器件单元及其基于电路仿真的故障模式、需要注入故障的输出引脚。表2中的最后一列用NULL表示该元器件单元只需要对缺省的一个输出引脚进行故障注入。
表2 元器件单元故障模式列表
步骤三:确定故障注入的元器件单元标识:逐行扫描所述元器件单元清单,依次选定一个元器件单元标识,基于所述元器件单元清单,映射其元器件单元类型名,并基于步骤二得到的所述元器件故障模式列表,确定是否对该元器件单元进行故障注入。
步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:若确定进行故障注入,按所述元器件故障模式列表确定选定的所述元器件单元的故障模式和输出引脚号的映射关系,并按所述元器件单元清单中的所述元器件单元类型名确定选定的所述元器件单元的故障注入方式。
步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次确定要进行单故障注入的元器件单元,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容重构潜在故障电路原理图网表完成故障注入。
不同的故障注入方式对应不同的电路原理图网表重构方式:(1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;(2)模型替代法:将元器件单元名称替换为相应元器件单元的故障模型名,不同输出引脚的不同故障模式对应不同的故障模型名。
故障仿真网表重构方式如表3所示。
表3 故障仿真网表重构方式
(1)对于电阻/电容
直接在电路原理图网表中,该元器件值的对应位置,按表3中所列项直接修改元器件值,即可产生该元器件对应故障的潜在故障电路原理图网表。
(2)对于其他元器件
需要在电路原理图网表的相应位置将正常仿真模型名用步骤四中按规则(与PSpice故障模型库中的潜在故障仿真模型命名相同)命名的故障仿真模型名替换,产生对应的潜在故障电路原理图网表。当用PSpice进行该故障电路原理图网表的电路仿真时,PSpice则会根据网表中的潜在故障仿真模型名,调用故障模型库中已经准备好的故障模型。
由以上重构网表的方法可以看出,本发明提出的故障自动注入方法并不局限于单故障,修改电路原理图网表时可以同时对多个故障仿真模型名进行替换,实现多故障注入。
根据本发明的实施例上述方法还包括:完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,重复步骤三至步骤五,若所述元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕。
优选的,不同的故障注入方式对应不同的电路原理图网表的重构方式,所述电路原理图网表的重构方式包括:
1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;和/或
2)模型替代法:将元器件单元名称替换为相应元器件单元的故障仿真模型名,不同输出引脚的不同故障模式对应不同的故障模型名。
具体的,步骤三中所述基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入具体为:若元器件故障模式列表中不含选定的元器件单元类型,则不对该元器件单元进行故障注入;若元器件故障模式列表中含有选定的元器件单元类型,则对该元器件单元进行故障注入。
步骤四中,按所述元器件单元清单中的元器件单元类型名确定选定的所述元器件单元的故障注入方式具体为:若元器件单元在电路原理图网表中只含有一个元器件值或参数,则采用参数修改法故障注入方式,例如电阻、电容等;若元器件单元含有多个元器件值或参数,则采用模型替代法故障注入方式。将元器件的无故障仿真模型修改为故障模型库中相应故障模式的故障仿真模型。
由于电容电阻等元器件单元在电路原理图网表中只有一个参数值,因此在进行故障注入时,针对不同的故障模式直接将参数值修改成对应的值即可。本方案指定的电阻和电容这两种元器件的故障种类有开路、短路和参数漂移。
当实现开路故障时,把电阻的阻值设置成一个很大的数值或把电容的容值设置成一个极小的数值,便可等效为电阻或电容开路;若实现短路故障,把电阻的阻值设置成一个极小的数值或把电容的容值设置成一个极大的数值,便可等效为电阻或电容短路;而参数漂移则需要把相应的阻值或容值设置成正常值附近的任意其它值。
对于电阻电容器件,等效故障如表4所示。
表4 电阻、电容等效故障
如表4所示,电阻开路故障则将其值改为1000M,短路故障则将其值改为0.001,参数漂移故障则按正漂或负漂分别将其值改为原值的1.2倍或0.8倍。电容开路故障则将其值改为0.001nf,短路故障则将其值改为1000f,参数漂移故障则按正漂或负漂分别将其值改为原值的1.2倍或0.8倍。
(2)模型替换法:其他元器件
对需要故障注入的元器件,从预设的元器件故障模式列表中提取出该元器件需要注入的故障模式及输出引脚,将元器件的无故障仿真模型修改为故障模型库中相应故障模式的故障仿真模型。
使用模型替换法完成故障注入及潜在故障仿真的整体原理分为3部分:
(1)在PSpice AD中完成需要故障注入的元器件的各种故障模式及输出引脚的建模,准备好各种潜在故障仿真模型;
(2)将电路原理图网表中的正常元器件模型名,用第(1)步中准备好的潜在故障仿真模型名替换, 重构潜在故障电路原理图网表;
(3)PSpice AD调用(2)中重构的潜在故障电路原理图网表完成电路仿真:PSpiceAD会根据网表中的故障仿真模型名调用(1)中准备好的故障仿真模型。
所述步骤二之前,还包括:分析不同类型的元器件单元在每种故障模式下的表现形式,建立基于表现形式的故障仿真模型,所述故障模式对应的故障仿真模型的建模方法对应关系如下:
(a)模拟元器件开路:故障引脚串联一个109欧姆大电阻;
(b)模拟元器件短路:故障引脚并联一个10-9欧姆小电阻;
(c)数字元器件固高:元器件引脚后串联一个或门,且或门的另一输入引脚接高电平;
(d)数字元器件固低:元器件引脚后串联一个与门,且与门的另一输入引脚接低电平;
(e)数字元器件反相:元器件引脚后串联一个反相器;
(f)数字元器件开路:元器件引脚后串联一个三态缓冲器,且使能端接低电平;
(g)数字元器件短路:元器件引脚并联一个缓冲器,缓冲器的输出引脚代替原输出引脚。
也即是,在进行模型替换法故障注入之前,首先需要在PSpice AD中完成元器件单元的故障建模。即对电路中需要进行故障注入的各元器件单元的各故障模式,建立相应的故障模型。故障模型的建立主要通过在正常元器件上并联或串联一个元器件,以达到某种故障的效果。各元器件单元潜在故障模式在PSpice AD中的等效模型如图5所示。
按图5完成元器件单元的故障建模之后,需要确定电路原理图网表中元器件的修改信息:将元器件原有的正确模型名,替换为故障模型名。
本方案采用的故障模型的命名原则如下所示:
a.二极管、三极管
在无故障仿真模型的名字后面加上S表示短路,加上O表示开路。
如二极管IN4148,其开路故障仿真模型名为IN4148O,短路故障仿真模型名为IN4148S。
b.数字器件
故障仿真模型命名方式为:无故障仿真模型+故障模式+器件输出引脚号。数字器件用H表示固高故障,L表示固低故障,I表示反相故障,OZ表示开路故障。
如数字器件74AC14,第5个输出引脚的固高故障仿真模型名为74AC14H5,第6个输出引脚的固低故障仿真模型名为74AC14L6,第5个输出引脚的开路故障仿真模型名为74AC14OZ5。
本发明提出一种基于PSpice AD电路仿真的单故障遍历故障自动注入方法。该方法从电路原理图网表中提取出元器件单元清单;再通过元器件单元故障模式列表,加载需要进行故障注入的元器件单元、故障模式及输出引脚号;然后逐行扫描元器件单元清单,确定故障注入的元器件单元标识;再依据元器件单元故障模式列表确定元器件的输出引脚、故障模式和故障注入方式;最后基于PSpice网表的语法和元器件类型,遍历电路原理图网表,确定该次单故障注入在电路原理图网表中的具体位置,重构潜在故障电路原理图网表,完成单次故障的自动注入。本方法仅需一次操作即可完成整个电路的所有单故障注入,实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入。
实施例1:待分析实例电路Timer_generate的电路原理图如图4所示,电路Timer_generate功能为产生时钟信号。该电路包含多个电阻、电容、及74AC161等其他数字器件。
通过利用本实施例提供的电路原理图网表,分别按照上述步骤一到五,完成单故障遍历故障自动注入,其具体步骤如下:
步骤一:基于PSpice AD语法,解析电路原理图网表的结构,采用逐行读取电路原理图网表的方式提取实例电路Timer_generate原理图网表的元器件单元清单,该清单含元器件单元标识、元器件单元值及元器件单元类型名,如表5所示。
表5 电路Timer_generate提取出的元器件单元清单
元器件单元标识 | 元器件单元值 | 元器件单元类型名 |
C_C13 | 470pF | C |
R_R69 | 900 | R |
R_R78 | 22 | R |
R_R6 | 51 | R |
R_R70 | 100 | R |
C_C14 | 470pF | C |
X_D7 | 74AC161 | 74AC161 |
R_R77 | 3k | R |
R_R97 | 1k | R |
R_R4 | 51 | R |
R_R111 | 100 | R |
R_R112 | 100 | R |
C_C27 | 0.1u | C |
C_C28 | 0.1u | C |
R_R80 | 151 | R |
C_C19 | 0.1u | C |
C_C20 | 0.1u | C |
R_R79 | 151 | R |
C_C29 | 0.1u | C |
R_R116 | 200 | R |
R_R117 | 200 | R |
C_C30 | 0.1u | C |
U_DSTM9 | A_CLKGND | BHMDL_A_CLKGND |
R_R109 | 22 | R |
X_D6 | AM26LS32 | AM26LS32 |
X_D3 | LM161 | LM161 |
C_C189 | '0.1u' | C |
C_C208 | 22u | C |
C_C193 | 22u | C |
C_C207 | 0.1u | C |
R_R36 | 1 | R |
R_R37 | 1 | R |
由表5可以看出实例电路Timer_generate的元器件单元个数一共32个,其中包含元器件单元类型R、C、74AC161、BHMDL_A_CLKGND、AM26LS32、LM161共6种。R/C元器件个数为28,74AC161元器件个数为1,AM26LS32元器件个数为1,LM161元器件个数为1。
步骤二:根据所述步骤一提取的元器件单元清单,结合其中不同的电路元器件类别和特点,加载需要进行故障注入的元器件单元类型名称、基于电路仿真的故障模式及输出引脚号,建立预设的元器件故障模式列表。即电路设计人员可以指定进行故障注入的元器件单元类型、故障模式及输出引脚号。
本发明指定的模拟电路故障行为有:参数漂移、开路、短路故障。对于数字电路故障有:固高、固低、反向、开路、短路。
由于实施案例电路中除了R、C以外,还有74AC161、BHMDL_A_CLKGND、AM26LS32、LM161共4种元器件。其中BHMDL_A_CLKGND为激励源,不考虑对其故障注入。因此需要采用模型替换法实现故障注入的元器件有74AC161、AM26LS32、LM161共3种。
预设元器件单元故障模式列表采用txt文件形式存储在指定文件夹lib下,txt文件中元器件单元类型名称、需要注入的故障模式及输出引脚号需按格式填写。本实施案例电路Timer_generate的预设元器件单元故障模式列表.txt中内容及格式如下所示:
%元器件故障模式列表
partname 74AC161
maltype OZ H L I
pinnum 11 12 13 14 15
partname AM26LS32
maltype OZ H L I
pinnum 3 5 11 13
partname LM161
maltype OZ H L I
pinnum 9 11
txt文件中的内容分为三项:partname表示元器件单元名称,maltype表示需要注入的故障模式,pinnum表示需要故障注入的输出引脚标号。其中OZ表示开路、H表示固高、L表示固低、I表示反相。
本实施案例中需要对R/C分别注入开路、短路、参数漂移(含参数正漂移和负漂移)3种故障模式;对74AC161的第11、12、13、14、15输出引脚,AM26LS32的第3、5、11、13输出引脚,LM161的第9、11输出引脚分别注入开路、固高、固低、反相4种故障模式。因此在元器件单元故障模式列表中至少需要含有以上内容,包含R、C、74AC161、AM26LS32、LM161这五种元器件。
本发明的故障注入不仅可以遍历每个元器件单元的每种故障模式,而且可以具体到对每个输出引脚进行故障自动注入。此外,由于本发明预留了该预设的元器件单元故障模式列表接口,使得用户可以根据不同电路的实际需要,添加需要故障注入的元器件、故障模式及输出引脚。
步骤三:确定故障注入的元器件单元标识:逐行扫描元器件单元清单,若元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕;否则依次选定一个元器件单元标识,基于元器件单元清单,映射其元器件单元类型名,并基于元器件单元故障模式列表,确定是否对该元器件单元进行故障注入:若元器件单元故障模式列表中不含该元器件单元类型,则不对该元器件单元进行故障注入,返回步骤三;若元器件单元故障模式列表中含有该元器件单元类型,则进入步骤四。
步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:按故障模式列表确定元器件单元类型名与故障模式和输出引脚号的映射关系,并按元器件单元类型确定该元器件单元的故障注入方式。由于根据元器件单元类型的不同,本发明采用了两种故障注入方式:
(1)若当前选择的元器件单元中仅含一个元器件值或参数,则采用参数修改法。本方案中该类元器件单元有电阻/电容。
由于电容电阻在电路原理图网表中只有一个参数值,因此在进行故障注入时,对不同的故障模式进行注入时直接将参数值修改成对应的值即可。
对实例电路Timer_generate的R/C进行故障注入的参数修改值如表6所示。其中O-NULL表示开路故障对应的参数修改值,S-NULL表示短路故障对应的参数修改值,F-UP表示参数正漂移故障对应的参数修改值,F-DOWN表示参数负漂移故障对应的参数修改值。
表6 实例电路Timer_generate电阻、电容参数修改值
元器件标识 | 元器件值 | O-NULL | S-NULL | F-UP | F-DOWN |
C_C13 | 470pF | 0.001nF | 1000F | 564pF | 376pF |
R_R69 | 900 | 1000M | 0.001 | 1080 | 720 |
R_R78 | 22 | 1000M | 0.001 | 26.4 | 17.6 |
R_R6 | 51 | 1000M | 0.001 | 61.2 | 40.8 |
R_R70 | 100 | 1000M | 0.001 | 120 | 80 |
C_C14 | 470pF | 0.001nF | 1000F | 564pF | 376pF |
R_R77 | 3k | 1000M | 0.001 | 3.6k | 2.4k |
R_R97 | 1k | 1000M | 0.001 | 1.2k | 0.8k |
R_R4 | 51 | 1000M | 0.001 | 61.2 | 40.8 |
R_R111 | 100 | 1000M | 0.001 | 120 | 80 |
R_R112 | 100 | 1000M | 0.001 | 120 | 80 |
C_C27 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
C_C28 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
R_R80 | 151 | 1000M | 0.001 | 181.2 | 120.8 |
C_C19 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
C_C20 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
R_R79 | 151 | 1000M | 0.001 | 181.2 | 120.8 |
C_C29 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
R_R116 | 200 | 1000M | 0.001 | 240 | 160 |
R_R117 | 200 | 1000M | 0.001 | 240 | 160 |
C_C30 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
R_R109 | 22 | 1000M | 0.001 | 26.4 | 17.6 |
C_C189 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
C_C208 | 22u | 0.001nF | 1000F | 26.4u | 17.6u |
C_C193 | 22u | 0.001nF | 1000F | 26.4u | 17.6u |
C_C207 | 0.1u | 0.001nF | 1000F | 0.12u | 0.08u |
R_R36 | 1 | 1000M | 0.001 | 1.2 | 0.8 |
R_R37 | 1 | 1000M | 0.001 | 1.2 | 0.8 |
(2)若当前选择的元器件单元中含有多个个元器件值或参数,则采用模型替换法:分别对需要故障注入的元器件单元74AC161、AM26LS32、LM161,从预设的元器件故障模式列表中提取出元器件单元需要注入的故障模式及输出引脚,并按故障模型库中的命名规则,将元器件的无故障仿真模型替换为潜在故障仿真模型。
在确定潜在故障电路原理图网表中的修改值之前,已经在PSpice故障模型库中完成了各元器件潜在故障模式的故障模型建模。实例电路中采用模型替换法进行故障注入的元器件其参数应该按故障模型中相同的命名分别修改为如表7所示。
表7 实例电路Timer_generate模型替换法参数修改值
74AC161故障网表修改值 | AM26LS32故障网表修改值 | LM161故障网表修改值 |
74AC161OZ11 | AM26LS32OZ3 | LM161OZ9 |
74AC161OZ12 | AM26LS32OZ5 | LM161OZ11 |
74AC161OZ13 | AM26LS32OZ11 | LM161H9 |
74AC161OZ14 | AM26LS32OZ13 | LM161H11 |
74AC161OZ15 | AM26LS32H3 | LM161L9 |
74AC161H11 | AM26LS32H5 | LM161L11 |
74AC161H12 | AM26LS32H11 | LM161I9 |
74AC161H13 | AM26LS32H13 | LM161I11 |
74AC161H14 | AM26LS32L3 | |
74AC161H15 | AM26LS32L5 | |
74AC161L11 | AM26LS32L11 | |
74AC161L12 | AM26LS32L13 | |
74AC161L13 | AM26LS32I3 | |
74AC161L14 | AM26LS32I5 | |
74AC161L15 | AM26LS32I11 | |
74AC161I11 | AM26LS32I13 | |
74AC161I12 | ||
74AC161I13 | ||
74AC161I14 | ||
74AC161I15 |
步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次单故障注入的元器件单元标识,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容。不同的故障注入方式对应不同的电路原理图网表重构方式:(1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;(2)模型替代法:将元器件单元名称替换为相应元器件单元的故障模型名,不同输出引脚的不同故障模式对应不同的故障模型名。
本实施例中,电路原理图网表的重构方式如下,
(1)对于电阻/电容
直接在电路原理图网表中,该元器件值的对应位置,按表7中所列项直接修改元器件值,即可产生该元器件对应故障的潜在故障电路原理图网表。
如表7中列出的实例电路Timer_generate的第三个电阻/电容类型的元器件C_C13,其在电路原理图网表和各种潜在故障电路原理图网表中的信息如表8所示。
表8 C_C13在电路原理图网表和各种潜在故障电路原理图网表中的信息
电路原理图网表中的信息 | C_C13 C14 C13 470pF TC=0,0 |
C_C13发生开路故障的潜在故障电路原理图网表中的信息 | C_C13 C14 C13 0.001nF TC=0,0 |
C_C13发生短路故障的潜在故障电路原理图网表中的信息 | C_C13 C14 C13 1000F TC=0,0 |
C_C13发生参数正漂移故障的潜在故障电路原理图网表中的信息 | C_C13 C14 C13 564pF TC=0,0 |
C_C13发生参数负漂移故障的潜在故障电路原理图网表中的信息 | C_C13 C14 C13 376pF TC=0,0 |
由表8可以看出,电阻/电容类元器件的故障注入是直接通过修改网表参数来实现,生成的潜在故障电路原理图网表与电路原理图网表相比,只有参数值不同。
(2)对于其他元器件
需要在相应位置将正常仿真模型名用步骤三中按规则命名的故障仿真模型名替换,产生对应的潜在故障电路原理图网表。
如表7中列出的实例电路Timer_generate的第三个非电阻/电容类型的数字器件LM161,其在电路原理图网表和各种潜在故障电路原理图网表中的信息如表9所示。
表9 LM161在电路原理图网表和各种潜在故障电路原理图网表中的信息
电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161 |
LM161第9个输出引脚发生开路故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161OZ9 |
LM161第11个输出引脚发生开路故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161OZ11 |
LM161第9个输出引脚发生固高故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161H9 |
LM161第11个输出引脚发生固高故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161H11 |
LM161第9个输出引脚发生固低故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161L9 |
LM161第11个输出引脚发生固低故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161L11 |
LM161第9个输出引脚发生反相故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161I9 |
LM161第11个输出引脚发生反相故障的潜在故障电路原理图网表中的信息 | X_D3 N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161I11 |
由表9可以看出,非电阻/电容类元器件的故障注入是通过模型替换的方式,生成的潜在故障电路原理图网表与电路原理图网表相比,选用的元器件模型库不同。
完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,否则返回步骤五。由以上重构潜在故障电路原理图网表的方法可以看出,本发明提出的故障自动注入方法并不局限于单故障,修改潜在故障电路原理图网表文件时可以同时对多个故障仿真模型名进行替换,实现多故障注入。如:可以同时替换LM161L11和74AC161OZ11两种故障模型,则重构出含有两个故障的潜在故障电路原理图网表。
实例电路Timer_generate单故障遍历自动故障注入完成后,在Netlist文件夹下共产生潜在故障电路原理图网表文件156个,其中R/C元器件的潜在故障电路原理图网表共112个,74AC161元器件的潜在故障电路原理图网表20个,AM26LS32的潜在故障电路原理图网表16个,LM161的潜在故障电路原理图网表8个。
并且实例电路Timer_generate单故障遍历自动故障注入的程序运行总时间为0.896610s,运行效率高。
因为R/C元器件个数28,每个元器件分别进行开路、短路、参数正漂移、参数负漂移4种故障模式的故障注入,所以应产生潜在故障电路原理图网表28*4=112个;因为74AC161对其5个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表5*4=20个;同理AM26LS32对其4个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表16个;LM161对其2个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表8个。
由以上分析可以看出,本发明提出的故障自动注入方法根据预设的元器件单元故障模式列表,用户可指定需要进行故障注入的元器件、故障模式及输出引脚,通过程序控制,仅需一次操作即可完成整个电路的所有单故障注入,产生了与预期相同个数的潜在故障电路原理图网表,实现了对电路原理图网表中,每个元器件所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入。并且由运行时间可以看出,本发明的故障自动注入方法能快速的实现遍历故障自动注入,与传统的手动故障注入相比,大大提高了故障注入的效率。此外,本发明提供的预设元器件故障模式列表接口,方便用户根据实际需要,添加需要进行故障注入的元器件、故障模式及输出引脚,具有良好的可扩展性。并且本发明提出的故障自动注入方法具有一定的通用性,不仅可以进行单故障自动注入,还适用于同时注入多个故障的情况。
上面结合附图对本发明的具体实施方式进行了详细说明,但本发明并不限制于上述实施方式,在不脱离本申请的权利要求的精神和范围情况下,本领域的技术人员可以作出各种修改或改型。
Claims (4)
1.一种基于PSpice AD电路仿真的单故障自动注入方法,其特征在于:该方法包括如下步骤:
步骤一:提取电路原理图中的元器件单元清单:解析电路原理图网表,提取电路原理图网表中的元器件单元清单,所述元器件单元清单包括一一对应的元器件单元标识、元器件单元值及元器件单元类型名;
步骤二:建立元器件单元故障模式列表:根据提取的所述元器件单元清单为其中元器件单元预设对应的故障模式,并建立所述元器件单元的故障模式列表,其中所述元器件故障模式列表包括元器件单元类型名称、与所述元器件单元类型名称对应映射的基于电路仿真的故障模式和所述故障模式所在的输出引脚号;
步骤三:确定故障注入的元器件单元标识:逐行扫描步所述元器件单元清单,依次选定一个元器件单元标识,基于所述元器件单元清单,映射其元器件单元类型名,并基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入;
步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:若确定进行故障注入,按所述元器件故障模式列表确定选定的所述元器件单元的故障模式和输出引脚号的映射关系,并按所述元器件单元清单中的所述元器件单元类型名确定选定的所述元器件单元的故障注入方式;
步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次确定要进行单故障注入的元器件单元,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容重构潜在故障电路原理图网表完成故障注入;其中,不同的故障注入方式对应不同的电路原理图网表的重构方式,所述电路原理图网表的重构方式包括:
1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;
2)模型替代法:将元器件单元名称替换为相应元器件单元的故障仿真模型名,不同输出引脚的不同故障模式对应不同的故障模型名;
并且,完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,重复步骤三至步骤五,若所述元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕。
2.根据权利要求1所述的基于PSpice AD电路仿真的单故障自动注入方法,其特征在于,步骤三中所述基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入具体为:
若元器件故障模式列表中不含选定的元器件单元类型,则不对该元器件单元进行故障注入;
若元器件故障模式列表中含有选定的元器件单元类型,则对该元器件单元进行故障注入。
3.根据权利要求1所述的基于PSpice AD电路仿真的单故障自动注入方法,其特征在于,步骤四中,按所述元器件单元清单中的元器件单元类型名确定选定的所述元器件单元的故障注入方式具体为:若元器件单元在电路原理图网表中只含有一个元器件值或参数,则采用参数修改法故障注入方式;若元器件单元含有多个元器件值或参数,则采用模型替代法故障注入方式。
4.根据权利要求1所述的基于PSpice AD电路仿真的单故障自动注入方法,其特征在于:步骤二之前,还包括:分析不同类型的元器件单元在每种故障模式下的表现形式,建立基于表现形式的故障仿真模型,所述故障模式对应的故障仿真模型的建模方法对应关系如下:
(a)模拟元器件开路:故障引脚串联一个109欧姆大电阻;
(b)模拟元器件短路:故障引脚并联一个10-9欧姆小电阻;
(c)数字元器件固高:元器件引脚后串联一个或门,且或门的另一输入引脚接高电平;
(d)数字元器件固低:元器件引脚后串联一个与门,且与门的另一输入引脚接低电平;
(e)数字元器件反相:元器件引脚后串联一个反相器;
(f)数字元器件开路:元器件引脚后串联一个三态缓冲器,且使能端接低电平;
(g)数字元器件短路:元器件引脚并联一个缓冲器,缓冲器的输出引脚代替原输出引脚。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410550428.3A CN104317995B (zh) | 2014-10-17 | 2014-10-17 | 基于PSpice AD电路仿真的单故障自动注入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410550428.3A CN104317995B (zh) | 2014-10-17 | 2014-10-17 | 基于PSpice AD电路仿真的单故障自动注入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317995A CN104317995A (zh) | 2015-01-28 |
CN104317995B true CN104317995B (zh) | 2017-05-03 |
Family
ID=52373226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410550428.3A Expired - Fee Related CN104317995B (zh) | 2014-10-17 | 2014-10-17 | 基于PSpice AD电路仿真的单故障自动注入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317995B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005015A (zh) * | 2015-04-23 | 2015-10-28 | 广西电网有限责任公司电力科学研究院 | 一种基于硬件电路故障注入的电路故障仿真系统 |
CN105528943A (zh) * | 2015-07-06 | 2016-04-27 | 中国电子科技集团公司第二十八研究所 | 基于电路仿真技术的教学训练系统设计与实现方法 |
CN106371989A (zh) * | 2016-05-06 | 2017-02-01 | 北京中电华大电子设计有限责任公司 | 一种采用批处理方式的高效安全攻击故障注入方法 |
CN106777529A (zh) * | 2016-11-23 | 2017-05-31 | 天津大学 | 基于fpga的集成电路抗故障注入攻击能力评估方法 |
CN107092539B (zh) * | 2017-02-24 | 2020-05-19 | 北京时代民芯科技有限公司 | 一种基于配置码流的fpga故障注入复合模型 |
CN110210133B (zh) * | 2019-06-03 | 2022-07-08 | 哈尔滨工程大学 | 一种edif网表级组合逻辑电路的自动故障注入方法 |
CN111580409B (zh) * | 2020-04-02 | 2023-04-07 | 北京机电工程研究所 | 面向实时嵌入式系统的故障仿真测试方法 |
CN114202990B (zh) * | 2021-12-13 | 2023-12-29 | 安胜(天津)飞行模拟系统有限公司 | 一种基于eVTOL飞机的故障仿真设计方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156760A (zh) * | 2010-08-23 | 2011-08-17 | 北京航空航天大学 | 基于Saber的电路故障仿真分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9275757B2 (en) * | 2013-02-01 | 2016-03-01 | Scaleo Chip | Apparatus and method for non-intrusive random memory failure emulation within an integrated circuit |
-
2014
- 2014-10-17 CN CN201410550428.3A patent/CN104317995B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156760A (zh) * | 2010-08-23 | 2011-08-17 | 北京航空航天大学 | 基于Saber的电路故障仿真分析方法 |
Non-Patent Citations (5)
Title |
---|
基于PSpice的电子设备故障自动注入平台研究;宋丽蔚等;《中国测试》;20120731;第38卷(第4期);全文 * |
基于Pspice的电路仿真故障注入的方法研究;陈隽等;《信息技术》;20110125;第74-76页 * |
基于PSpice的电路故障注入仿真分析方法研究;王青麾等;《计算机科学与技术》;20110430;第29卷(第2期);全文 * |
电路仿真的故障自动注入系统设计与实现;尹园威等;《计算机测量与控制》;20130925;第21卷(第9期);第2356-2361页 * |
电路故障仿真中的故障建模、注入及判定方法研究;赵广燕等;《微电子学与计算机》;20070105;第24卷(第1期);第143-146页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104317995A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317995B (zh) | 基于PSpice AD电路仿真的单故障自动注入方法 | |
CN103310028B (zh) | 考虑器件老化的设计集成电路的方法 | |
US9286421B1 (en) | Methods, systems, and articles of manufacture for back annotating and visualizing parasitic models of electronic designs | |
US5815402A (en) | System and method for changing the connected behavior of a circuit design schematic | |
US9703921B1 (en) | Naturally connecting mixed-signal power networks in mixed-signal simulations | |
TWI528199B (zh) | 用於從客製化類比/客製化數位/混合信號自動提取功率意圖之圖解設計系統與方法 | |
US8073820B2 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
CN109739766A (zh) | 一种快速搭建fpga数字仿真模型的系统及方法 | |
US20140282308A1 (en) | Method of radio-frequency and microwave device generation | |
CN105069256B (zh) | 一种基于tmr的实现和故障注入仿真平台及仿真方法 | |
US20060161413A1 (en) | Methods for fast and large circuit simulation | |
TW201807424A (zh) | 自動測試樣式生成的電路建模方法、非暫態電腦可讀存儲介質以及自動測試樣式生成電路 | |
CN103558767A (zh) | 一种列控系统测试序列的辅助生成方法和系统 | |
US10997332B1 (en) | System and method for computing electrical over-stress of devices associated with an electronic design | |
CN105005015A (zh) | 一种基于硬件电路故障注入的电路故障仿真系统 | |
CN103150440A (zh) | 一种模块级电路网表仿真方法 | |
CN108038328A (zh) | 芯片自动仿真验证系统 | |
CN102479130A (zh) | 一种跨平台跨语言单芯片系统的验证方法 | |
CN105740487A (zh) | 基于工艺设计包的版图与原理图一致性验证方法 | |
JP2015026184A (ja) | 故障シミュレーション方法およびその装置 | |
US5901064A (en) | System and method for scoping global nets in a hierarchical netlist | |
CN104967114B (zh) | 电网负荷实时数字建模方法及系统 | |
US6009249A (en) | Automated load determination for partitioned simulation | |
US20120166168A1 (en) | Methods and systems for fault-tolerant power analysis | |
CN103365976B (zh) | 对xdl级网表描述进行面向应用的测试修改方法及测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170503 Termination date: 20211017 |
|
CF01 | Termination of patent right due to non-payment of annual fee |