一种基于电路仿真的可测试性模型自动建立方法

文档序号:6550249阅读:233来源:国知局
一种基于电路仿真的可测试性模型自动建立方法
【专利摘要】本发明公开了一种基于电路仿真的可测试性模型自动建立方法,首先获取电路中的器件信息和物理连接关系,然后对电路进行无故障的仿真,再依次对各个器件进行故障模拟,通过有无故障情况下各节点电压的比较,得到每个器件的可影响节点集合,将每个器件作为一个模块,根据每个器件的可影响节点集合,推算每个模块的故障传递树,根据故障传递树对有向总邻接矩阵中的元素值进行设置,得到包含模块与节点的有向图模型,再消除有向图模型中的节点,得到最终的可测试性模型。本发明实现了电路可测试性模型的自动建立,大大降低了人工对电路功能分析的难度和工作量,并且利用电路仿真提高了建模的准确度与效果。
【专利说明】一种基于电路仿真的可测试性模型自动建立方法

【技术领域】
[0001] 本发明属于电子系统测试性模型【技术领域】,更为具体地讲,涉及一种基于电路仿 真的可测试性模型自动建立方法。

【背景技术】
[0002] 随着电子技术的不断发展,电子系统的复杂度日益增高,可测试性分析对于复杂 电子系统的故障诊断起到了越来越重要的作用。可测试性分析依赖于可测试性模型,可测 试性模型的准确度直接影响着分析的结果。目前,可测试性模型的建立往往需要依赖人员 对系统功能的认知和经验,同时需要的信息量庞大。要建立完整的模型需要极高的工作量, 且十分容易出错。因此有必要研究自动建模技术,用以完成辅助可测试性分析的建模工作, 降低建模工作量,使建模更加准确与规范。


【发明内容】

[0003] 本发明的目的在于克服现有技术的不足,提供一种基于电路仿真的可测试性模型 自动建立方法,实现了电路可测试性模型的自动建立,利用电路仿真提高了建模的准确度 与效果。
[0004] 为实现上述发明目的,本发明基于电路仿真的可测试性模型自动建立方法,包括 以下步骤:
[0005] S1 :获取电路中的器件信息和物理连接关系;
[0006] S2:对电路进行无故障的仿真,获得无故障时各节点的电压,再依次对各个器件进 行故障模拟,通过仿真获得发生故障时各节点的电压,通过有无故障情况下电压的比较,得 到每个器件的可影响节点集合;
[0007] S3 :将每个器件作为一个模块,根据步骤S2中得到的每个器件的可影响节点集 合,推算每个模块的故障传递树,具体方法为:
[0008] S3. 1 :根据模块的信号传播方向,获取有向的节点邻接矩阵;
[0009] S3. 2 :依次判断模块i是否是有向器件,其中i的取值范围是0 < i < N,如果是, 根据器件i的输入输出端口确定模块与相邻节点的故障流传播方向,如果不是,遍历模块i 的各个相邻节点,设置遍历标识为"已遍历",记录其树形父节点,如果相邻节点为模块i的 可影响节点,则将其加入可影响节点队列,记录其故障可传递标识为"是",否则加入非影响 节点队列,记录其故障可传递标识为"否";
[0010] S3. 3 :判断可影响节点队列是否为空,如果不是,进入步骤S3. 4,否则判断非可影 响节点队列是否为空,如果不是,进入步骤S3. 4,否则进入步骤S3. 5 ;
[0011] S3. 4 :将队列的首节点出列作为遍历起点,根据节点邻接矩阵对首节点的相邻节 点进行遍历,如果相邻节点遍历标识为"已遍历",则遍历下一个相邻节点,如果未被遍历 过,则记录其树形父节点,再判断该相邻节点是否为模块i的可影响节点,如果是,将该相 邻节点加入可影响节点队列,设置故障传递标识为"是",并向上回溯该节点的所有父节点, 将途经的节点的故障可传递标识均设置为"是",直到某个祖先节点的故障可传递标识已经 为"是",否则将该相邻节点加入非影响节点队列,记录其故障可传递标识为"否";首节点的 相邻节点遍历完毕后,返回步骤S3. 3 ;
[0012] S3. 5:判断电路中的模块是否已遍历完毕,如果不是,令i = i+Ι,返回步骤S3. 2, 否则故障传递树推算完毕;
[0013] S4 :初始化包含模块和节点的有向总邻接矩阵所有元素值为0,根据步骤S3得到 的故障传递树对总邻接矩阵中的元素值进行设置,当故障传递树中单步传递关系的两个节 点之间有多条经过单个中间模块的路径,如果中间模块为有向器件且其故障传播方向与单 步传递关系方向相反,则不作任何操作,否则按单步传递关系方向将路径中包含的邻接关 系对应的元素值置为1,得到包括模块与节点的有向图模型;
[0014] S5:消除步骤S4得到的有向图模型中的节点,得到最终的可测试性模型。
[0015] 本发明基于电路仿真的可测试性模型自动建立方法,首先获取电路中的器件信息 和物理连接关系,得到初步连接模型,然后对电路进行无故障的仿真,再依次对各个器件进 行故障模拟,通过有无故障情况下各节点电压的比较,得到每个器件的可影响节点集合,将 每个器件作为一个模块,根据每个器件的可影响节点集合,推算每个模块的故障传递树,在 模型中叠加所有故障传递树的单步传递关系,得到包含模块与节点的有向图模型,再消除 有向图模型中的节点,得到最终的可测试性模型。
[0016] 本发明实现了电路可测试性模型的自动建立,大大降低了人工对电路功能分析的 难度和工作量,并且利用电路仿真提高了建模的准确度与效果。

【专利附图】

【附图说明】
[0017] 图1是电路示例图;
[0018] 图2是图1所示电路的抽象结构图;
[0019] 图3是图2所示抽象电路中VI发生故障的故障流示意图;
[0020] 图4是子故障流与总故障示意图;
[0021] 图5是图2所示电路中VI与R1的故障传递树示意图;
[0022] 图6是两类多路径问题不意图。
[0023] 图7是本发明基于电路仿真的可测试性模型自动建立方法的【具体实施方式】流程 图;
[0024] 图8是传递故障树推算的流程示意图;
[0025] 图9是故障传递树的标记数组示意图;
[0026] 图10是实施例中滤波器电路图;
[0027] 图11是图10中滤波器电路对应可测试性模型的有向图;
[0028] 图12是图11所示有向图增加测点后的有向图。

【具体实施方式】
[0029] 下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地 理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许 会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0030] 为了更好地对本发明的具体内容进行说明,首先对本发明的方法原理进行介绍。
[0031] 本发明所采用的是多信号模型,多信号模型中以模块节点代表系统中具有一定功 能的元器件或模块,一个模块拥有特定的故障率和故障模式;以测点节点代表系统中的测 试位置,其中一个测点位置上可以施加多种测试方法,以应对多种不同的故障模式;以有向 的连接线代表故障的传播,连线的方向即代表了故障的传播方向,从起始端指向终止端。模 型中的连接线关系通过邻接矩阵来表示,若存在第X个模块指向第y个模块的连接线,就将 矩阵中第X行第y列的元素值设为1。此外,多信号模型还包括与节点、或节点等功能节点。
[0032] 1)实际电路与多信号模型的关系
[0033] 实际电路的元器件与线路连接,与其多信号模型的模块连线存在着一定的对应关 系。电路中的每个元器件都有发生故障的可能,且有各自不同的故障模式与故障率,因此, 在实际电路转化到多信号模型时,每个元器件都可看作为模块。
[0034] 测点需要布置在器件的端口或导线上,因此电路原理图中的器件连接节点可以作 为测点的预设位置。测点的设置并不在仿真建模中进行,但实际上测点与电路节点是对应 的。确定模块间故障传播连续的有无与方向是本发明的重点。
[0035] 多信号模型中模块之间的故障传播关系依赖于元器件间的导线传播,因此,模块 的单步故障传播一定只与在导线上直接相连的节点有关,而不会出现单步故障传播到不相 连的节点上去。为了方便仿真建模,本发明在建模初期保留了节点,代表元器件之间的导线 连接。类似于元器件与导线相互连接而形成电路网络,模块和节点的交错排布构成了整个 多信号模型网络。其中模块只与节点直接相连,而节点也只与模块直接相连。图1是电路 示例图。如图1所示,电路中包含电源、运放、电阻等五个器件。图2是图1所示电路的抽 象结构图。如图2所示,为便于说明,本说明书附图中统一以方块表示模块,以圆圈表示节 点。
[0036] 可见,模块与节点间连线的有无取决于彼此间物理连线,模块的一阶传播关系仅 仅会与其直接相连的节点有关,而不会直接传递给较远的节点。
[0037] 电路中的器件可按对传递方向的影响分为两类:有向器件与无向器件。带有明确 的输入或输出端口的器件为有向器件,其端口的故障传播方向与端口有关,输入端的方向 为传入,输出端为传出,例如运算放大器、译码器、多路复用器等。没有明确输入输出端的器 件为无向器件,其故障传播方向与端口无关,通常可以使信号双向传播,电路中大量的电阻 电容均为无向器件。若电路全部由无向器件组成,以纯电阻网络为例,任何一个器件发生量 值的偏移,由于器件无向,故障可以影响到网络中的任一点,则无法定位故障,整个网络会 成为一个模糊组。当电路中存在有向器件时,电路网络才会体现出故障传递的因果性。
[0038] 2)模型连线与故障流的关系
[0039] 当一个模块发生故障时,故障会沿着相连的节点,从故障源由近及远地传播到其 他节点,这一过程可以称作一个故障流。图3是图2所示抽象电路中VI发生故障的故障流 示意图。如图3所示,当电压源VI发生电压值偏移故障后,由于接地节点电压始终为0V, 则N1节点的电压就会发生偏移。由于运放U1的两个输入端"虚短",N2节点电压也为0V, 则流过R1和R2的电流也会发生变化,进而影响到节点N3的电压。可见,故障从故障源VI 经由节点Nl、N2传递到节点N3, V1-N1-N2-N3这个过程就是一个故障流。电路中的故障流 实际存在,且每个器件都有各自的故障流。
[0040] 可测试性模型中的连线关系是电路中故障传播的真实反映,因此在可测试性模型 建立时需要遵循以下两点:
[0041] I、模型的连线不能阻碍实际的故障流传播。对于某一器件和与其相邻的节点之 间,可能存在多个故障流在此传播,因此,其间的传播方向应为所有在此处传播的故障流方 向的并集。图4是子故障流与总故障示意图。如图4所示,模块A到节点C之间,仅存在同 向的故障流1、故障流2,则模块A与节点C之间的故障传播方向与子故障流1、2相同。模 块B到节点C之间存在同向的故障流1、2和与之反向的故障流3,则模块B与节点C之间的 总故障传播方向应为双向,否则其中的某个子故障流将无法通过。
[0042] II、连线应最简化,不应存在无故障流通过的连线。无故障的连线不仅使可测试性 模型结构变得复杂,而且还会影响后期分析的故障测试依赖矩阵,导致模型出现较大偏差。
[0043] 因此,要同时满足以上条件,整个模型的连线应为所有故障流的最小并集,本发明 中通过叠加全部故障流的方法来获得。这样,若能获知每个无向器件发生故障时,所能影响 到的节点,并利用电路的连接关系,就可以大体推断出每个故障流传播的路径,进而整合数 据,推算出无向器件与节点间的故障传播方向。本发明中,通过电路仿真来获取每个器件模 块的可影响节点,电路仿真可以适用于任何电路,可以提高本发明的适用范围。
[0044] 3)无向器件的故障传播方向推断
[0045] 借助于仿真软件,可以获得电路中某一时刻任意节点的电压值,在各元器件处于 原始量值时,仿真的结果为无故障时的节点电压。为了模拟无向器件发生故障,可以通过修 改元器件的量值来代替。模拟电路中的无向器件多为电阻、电容等器件,电阻常见的故障模 式有短路、断路和量值偏移三种,短路与断路可以看作是量值偏移的极端状态,故用量值偏 移替代各种故障。仿真软件模拟的是理想情况下的工作状态,可以区别出微小的电压变化, 因此只要器件量值发生变化,即便引起节点电压很微小的变化,也可以被仿真软件识别。当 改变了一个器件的量值后,再次进行仿真,此时的仿真结果就是该器件模块发生故障后的 节点电压,通过与无故障时的节点电压相对比,电压值不同的节点就代表已受到了故障的 影响。所有这些节点的集合可以称作这个器件模块的可影响节点集。按照同样的方法,依 次单独控制电路中的每个器件模块模拟发生故障,就可以获取所有无向器件的可影响节点 集。如图3所示的电路中,VI的可影响节点集包括节点N1和N3,R1和R2的可影响节点集 中仅包括节点N3。
[0046] -个器件模块可影响节点集中的节点并不全是由器件模块单步直接影响的,有的 则是通过多个节点传递而来的。显然,故障是通过一定的路径,从故障源模块由近及远地蔓 延到所有可影响节点的。正如前文所述,这条传播路径能够反映出模块与节点间的故障传 递方向,即传递方向应包涵传播路径,或者说,模型里模块节点间传播方向不能抵触故障流 的传播路径。故障流的传播路径可以视为一个树形结构,在本发明中,这个故障传递树通过 由故障源模块向外遍历节点的方式获得,遍历到的节点若是可影响节点,贝 1J连入故障传递 树,若不是则忽略。但是事实上,在电路中某些节点,故障是以电流的方式传播的,而电压并 未发生改变,例如虚短的运放输入端。在电路仿真时,此类节点不会被囊括到模块的可影响 节点集中,但如果把该节点视为可阻隔故障传播的话,很可能会使一些可影响节点无法添 加到故障传递树中去。图5是图2所示电路中VI与R1的故障传递树示意图。如图5所示, VI和R1的故障传递树中虽然包括节点N2,但是由于运放U1的两个输入端"虚短",N2成为 恒电压节点,在电路仿真进行故障模拟时N2的电压不会发生变化,因此不会纳入可影响节 点集。但是实际上,VI和R1的故障传播路径是要经过节点N2的。如果忽略N2,那么最终 得到的可测试性模型是不准确的。
[0047] 本发明利用后续的未被连入故障传递树的可影响节点回溯路径来弥补此缺陷。首 先,可以先忽略非影响节点,优先将可影响节点连入传播路径,即传播路径上的全是可影响 节点,之后若存在剩余无法连入的可影响节点,则说明存在隐藏的可传播非影响节点,那么 此时,在此之上,按一定顺序将非影响节点依据电路连接关系临时连入树形的传播路径中, 若发现某非影响节点的子节点为可影响节点,则回溯该子节点的所有父节点,将其全部连 入传播路径中。重复这个过程直到所有可影响节点均被连入传播路径为止。
[0048] 在节点的遍历过程中,还应遵循以下几个原则,由于电路网络中会存在环状网络, 在遍历时,已被遍历的节点将不再被查找到,其次,遍历的方式以广度优先进行。
[0049] 在确定故障传播路径的时候,还会遇到多路径传播问题,即故障单步传递关系中, 从一个节点至另一个节点有多条通路可通,但无法获是否其中有一条没有传播故障。多路 径问题可分为两类:第一类是相信节点间通过多个元器件(即模块)连接,第二类是不相 邻的节点间通过多个包括不同中间节点的路径多步传播。图6是两类多路径问题示意图。 对于第一类多路径问题,其连通的元器件是否受到前方故障的影响是解决多路径问题的关 键,对于元器件来说,若其工作状态变化(端口电压,通过电流等),则可认为受到了故障的 影响。在电路中数量众多电阻电容等器件,若有一端电压发生变化,其工作状态就会改变。 至于第二类多路径问题,由于在本发明中将电路的图结构变成了传播的树结构,在单个模 块的传播故障树中会导致一些传播路径消失,但由于本发明会对每个模块都推算传播故障 树,当所有传播故障树中的传播路径进行叠加时,即可对第二类多路径问题进行完善。
[0050] 根据以上分析,本发明提出了一种基于电路仿真的可测试性模型自动建立方法, 通过电路图来生成可测试性模型。图7是本发明基于电路仿真的可测试性模型自动建立方 法的【具体实施方式】流程图。如图7所示,本发明包括以下步骤:
[0051] S701 :获取电路中的器件信息和物理连接关系。
[0052] S702:对电路进行无故障的仿真,获得无故障时各节点的电压,再依次对各个器件 进行故障模拟,通过仿真获得发生故障时各节点的电压,通过有无故障情况下电压的比较, 得到每个器件的可影响节点集合。
[0053] S703 :将每个器件作为一个模块,根据步骤S702中得到的每个器件的可影响节点 集合,推算每个模块的故障传递树。图8是传递故障树推算的流程示意图。如图8所示,本 发明中的传递故障树推算包括以下步骤:
[0054] S801 :根据模块的信号传播方向,获取有向的节点邻接矩阵:
[0055] 在获取各器件模块的可影响节点后,将进行其故障传递树的推导。首先,为了实现 节点间的故障传递,需要先得到节点间的相邻关系,即获取节点间的邻接矩阵。根据系统中 节点的数量,动态建立一个二维数组,元初始化为〇。若两个节点A、B间不存在其它节点, 仅通过其间的模块,使信号可以从A传播到B,即故障也可以从A传播到B,就将由A到B对 应的节点邻接矩阵元素值设为1。如果A、B两个节点间是无向器件,那么可知故障可以双 向传播,因此A到B、B到A对应的邻接矩阵元素值均设为1。若A、B节点间仅有一个有向 器件,则只能单向传播,例如从A到B传播,即只有A到B对应的邻接矩阵元素值才设为1。 模块作为节点间连接纽带,获取节点邻接矩阵可以从模块的角度入手。初始化节点邻接矩 阵中各个元素值为〇,依次扫描所有模块,根据该模块信号传播方向,将节点邻接矩阵中对 应的元素值记为1,即如果该模块是无向器件,则该模块连接的节点彼此都是相邻节点,将 节点邻接矩阵中对应的元素值设为1 ;如果是有向器件,则按照信号传播方向,将对应的元 素值设为1。
[0056] S802 :设置模块序号i = 0。
[0057] S803 :判断模块i是否是有向器件,如果是,进入步骤S804,否则进入步骤S805。
[0058] S804 :根据模块i的输入输出端口确定模块与相邻节点的故障传播方向,进入步 骤 S825。
[0059] S805 :以模块i作为遍历起点,对首节点的相邻节点进行遍历。
[0060] S806 :设置相邻节点序号j = 0。
[0061] S807 :设置遍历标识与父节点:即设置节点j的遍历标识为"已遍历",记录其树形 父节点。每个故障传播树均有一套标识,即在对一个模块开始故障传播树推导时,所有节点 的标识均为未标识状态。
[0062] 根据电路中节点数量,定义一个节点遍历标识数组,来记录节点的遍历标识,例如 以1表示"已遍历",0表示未被遍历。
[0063] 图9是故障传递树的标记数组示意图。如图9所示,根据节点数量定义一个树形 父节点数组,用于存储相应节点的父节点地址。
[0064] S808 :判断相邻节点j是否为器件i的可影响节点,如果是,进入步骤S809,否则 进入步骤S810。
[0065] S809 :相邻节点j加入可影响节点队列,设置节点j的故障传递标识为"是",进入 步骤S811。
[0066] 根据节点数量定义一个故障可传递标识数组,与树形父节点数组对应,用于标记 相应节点是否接受到由父节点传递的故障,即用来表示故障的单步传递关系,若父节点传 递给该节点则记为"是",此处以1表示"是",〇表示"否"。如图8所示,灰色节点表示可影 响节点,因此只有节点1、2、6、7的故障可传递标识的数值为1。
[0067] S810 :相邻节点j加入非可影响节点队列,设置其故障可传递标识为"否"进入步 骤 S811。
[0068] S811:$j = j+1。
[0069] S812 :判断是否j < M,Μ表示模块i的相邻节点数,如果是,返回步骤S807,否则 进入步骤S813 ;
[0070] S813 :判断可影响节点队列是否为空,如果是,进入步骤S814,如果不是,进入步 骤 815。
[0071] S814 :判断非可影响节点队列是否为空,如果是,进入步骤S825,如果不是,进入 步骤815。
[0072] S815 :将队列的首节点出列作为遍历起点,对首节点的相邻节点进行遍历。
[0073] S816:设置相邻节点序号k = 0。
[0074] S817 :判断相邻节点k是否已被遍历,如果是,进入步骤S822,否则进入步骤S818。
[0075] S818 :设置相邻节点k的遍历标识为"已遍历",记录其树形父节点;
[0076] S819 :判断相邻节点k是否为器件i的可影响节点,如果是,进入步骤S820,否则 进入步骤S821。
[0077] S820 :设置相邻节点k的故障传递标识为"是",将相邻节点k加入可影响节点队 列,并回溯路径,即向上回溯相邻节点k的所有父节点,将途经的节点的故障可传递标识均 设置为"是",直到某个祖先节点的故障可传递标识已经为"是";进入步骤S822。
[0078] S821 :将相邻节点k加入非影响节点队列,设置其故障可传递标识为"否",进入步 骤 S822。
[0079] S822:$k = k+1。
[0080] S823 :判断是否k < K,K表示首节点的相邻节点数,如果是,返回步骤S817,否则 进入步骤S824。
[0081] S824 :判断是否模块i的可影响节点集合中的所有节点都被连入故障传递树,如 果不是,返回步骤S813,否则进入步骤S825。
[0082] S825:$i = i+1。
[0083] S826 :判断是否i < N,N表示电路中器件的数量,如果是,返回步骤S803,否则故 障传递树推算完毕。
[0084] S704 :初始化包含模块和节点的有向总邻接矩阵所有元素值为0,根据步骤S3得 到的故障传递树对总邻接矩阵中的元素值进行设置,当故障传递树中单步传递关系的两个 节点之间有多条经过单个中间模块的路径,如果中间模块为有向器件且其故障传播方向与 单步传递关系方向相反,则不作任何操作,否则按单步传递关系方向将路径中包含的邻接 关系对应的元素值置为1,得到包括模块与节点的有向图模型。
[0085] 按照前文中总传播方向不抵触分传播方向的原则,在生成模块与节点的有向图模 型时,查询所有的模块故障传递树,若存在某个故障由节点A传到节点B的单步传递关系, 中间存在多条经过C或D或其他模块的路径,则在总接矩阵中将A到C、C到B ;A到D、D到 B ;以及A到其它模块、其他模块到B的故障方向连接对应的元素值置为1。
[0086] S705 :消除步骤S4得到的有向图模型中的节点,得到最终的可测试性模型。
[0087] 由于可测试性模型建立过程中使用的节点,并不是采用可测试性模型进行实际测 试所需要的测点,因此需要去除节点。
[0088] 从节点角度来看,节点作为模块间的纽带,去掉时要将连接关系转移到与节点相 邻的模块上去。模块间的故障传播方向为由节点的前端模块指向节点的后端模块,若存在 多个前端后端模块,则要保证任意一对前端后端模块都要有连接。模块节点的总邻接矩阵 在排布上模块在前,节点在后。根据步骤S704得到的总邻接矩阵L,存在m个模块,η个节 点,L就是一个m+n阶方阵,将模块排布在前,节点排布在后,如下式所示:
[0089]

【权利要求】
1. 一种基于电路仿真的可测试性模型自动建立方法,其特征在于,包括以下步骤: 51 :获取电路中的器件信息和物理连接关系; 52 :对电路进行无故障的仿真,获得无故障时各节点的电压,再依次对各个器件进行故 障模拟,通过仿真获得发生故障时各节点的电压,通过有无故障情况下电压的比较,得到每 个器件的可影响节点集合; 53 :将每个器件作为一个模块,根据步骤S2中得到的每个器件的可影响节点队列集 合,推算每个模块的故障传递树,具体方法为: S3. 1 :根据模块的信号传播方向,获取有向的节点邻接矩阵; S3. 2 :依次判断模块i是否是有向器件,其中i的取值范围是0 < i < N,如果是,根据 器件i的输入输出端口确定模块与相邻节点的故障流传播方向,如果不是,遍历模块i的各 个相邻节点,设置遍历标识为"已遍历",记录其树形父节点,如果相邻节点为模块i的可影 响节点,则将其加入可影响节点队列,记录其故障可传递标识为"是",否则加入非影响节点 队列,记录其故障可传递标识为"否"; S3. 3 :判断可影响节点队列是否为空,如果不是,进入步骤S3. 4,否则判断非可影响节 点队列是否为空,如果不是,进入步骤S3. 4,否则进入步骤S3. 5 ; S3. 4 :将队列的首节点出列作为遍历起点,根据节点邻接矩阵对首节点的相邻节点进 行遍历,如果相邻节点遍历标识为"已遍历",则遍历下一个相邻节点,如果未被遍历过,则 记录其树形父节点,再判断该相邻节点是否为模块i的可影响节点,如果是,将该相邻节点 加入可影响节点队列,设置故障传递标识为"是",并向上回溯该节点的所有父节点,将途 经的节点的故障可传递标识均设置为"是",直到某个祖先节点的故障可传递标识已经为 "是",否则将该相邻节点加入非影响节点队列,记录其故障可传递标识为"否";首节点的相 邻节点遍历完毕后,返回步骤S3. 3 ; S3. 5 :判断电路中的模块是否已遍历完毕,如果不是,令i = i+Ι,返回步骤S3. 2,否则 故障传递树推算完毕; 54 :初始化包含模块和节点的有向总邻接矩阵所有元素值为0,根据步骤S3得到的故 障传递树对总邻接矩阵中的元素值进行设置,当故障传递树中单步传递关系的两个节点之 间有多条经过单个中间模块的路径,如果中间模块为有向器件且其故障传播方向与单步传 递关系方向相反,则不作任何操作,否则按单步传递关系方向将路径中包含的邻接关系对 应的元素值置为1,得到包括模块与节点的有向图模型; S5:消除步骤S4得到的有向图模型中的节点,得到最终的可测试性模型。
2. 根据权利要求1所述的可测试性模型自动建立方法,其特征在于,所述步骤S3. 1中 邻接矩阵的获取方法为:初始化节点邻接矩阵中各个元素值为0,依次扫描所有模块,如果 该模块是无向器件,则该模块连接的节点彼此都是相邻节点,将节点邻接矩阵中对应的元 素值设为1,如果是有向器件,则按照信号传播方向,将对应的元素值设为1。
3. 根据权利要求1所述的可测试性模型自动建立方法,其特征在于,所述步骤S5中节 点消除的方法为:将步骤S4得到的总邻接矩阵记为L,令总邻接矩阵L中模块在前,节点在 后,记模块数量为m,节点数量为n,将总邻接矩阵L在第m行后进行行分割,第m列后进行 列分割,形成四个子矩阵:
模块邻接矩阵为c = A · B。
【文档编号】G06F17/50GK104123407SQ201410277759
【公开日】2014年10月29日 申请日期:2014年6月19日 优先权日:2014年6月19日
【发明者】杨成林, 赵越, 刘震 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1