CN103399979A - 一种板级电路测试性模型自动生成方法 - Google Patents
一种板级电路测试性模型自动生成方法 Download PDFInfo
- Publication number
- CN103399979A CN103399979A CN2013102774568A CN201310277456A CN103399979A CN 103399979 A CN103399979 A CN 103399979A CN 2013102774568 A CN2013102774568 A CN 2013102774568A CN 201310277456 A CN201310277456 A CN 201310277456A CN 103399979 A CN103399979 A CN 103399979A
- Authority
- CN
- China
- Prior art keywords
- module
- board
- row
- malfunctioning
- level 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.)
- Granted
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种板级电路测试性模型自动生成方法,对板级电路信息设置XML标签,将板级电路信息存储为XML文件,其中各层电路板中模块间的连接存储为邻接矩阵,根据邻接矩阵中记录的连接关系将各层电路板中的所有模块进行排序,再根据得到的模块顺序依次确定每个模块的位置坐标,完成各层电路板模型的初始布局,再采用布局优化方法,将相邻两列间的交叉连线数减少至无法减少,得到各层电路板模型的最终布局。采用本发明可以自动生成板级电路测试性模型,降低人员工作量,而且通过模块排序和布局优化,得到和板级电路测试性模型清晰明了,易于观察分析。
Description
技术领域
本发明属于板级电路测试性模型技术领域,更为具体地讲,涉及一种板级电路测试性模型自动生成方法。
背景技术
在当前半导体集成电路技术中,各种电路功能模块都封装成印刷电路板的形式,以板级电路模块为单位组合成为复杂电子系统。为了确保系统(如航天器和民航飞机)的安全性和高效运作,当系统出现异常时,必须快速定位故障所在的板级电路,并进行整板更换,以便系统能迅速恢复运作。由此提出了可测性设计概念,在设计阶段就考虑产品的后期测试维护问题,把降低测试维护代价的要求纳入设计规范,并通过可测性指标来检验和改进设计。通过在设计阶段考虑可测试性设计,在电路板中设置测试点,提高板级电路系统的可测试性,可大大地降低后期维护和检修的费用和时间,提高效率。此外,研究高效的板级电路测试策略也可以降低维护成本。
目前具有代表性的可测性分析和辅助设计工具有美国QSI公司的TEAMS和DSI公司的eXpress。
TEAMS主要用于复杂系统的测试时序生成和可测性设计、分析。TEAMS最初为美国航天工业和NASA研制,后逐渐扩展应用到汽车、化工、医疗等行业。TEAMS是基于模型的分析工具,这些模型涵盖了系统的组成结构、互联、测试布局、故障模式等信息。采用模型将各种故障与系统组成单元、维护步骤和修理过程关联起来。产品的可测性经过TEAMS分析后,生成文本和图形的可测性报告。
eXpress也是建立在模型基础上,从系统观点获取设计数据,通过综合利用不同的数据源,将系统工程、可靠性、可测性、可维护性和诊断可测性等学科关联在一起。eXpress强调诊断性设计,其中的诊断信息可产生多个诊断报告,这些报告包括检测覆盖率报告,详细故障组统计,功能概率,故障模式概率等。
但上述两款商用软件都不是针对板级电路建模而开发,并且在建模方法上 也存在明显缺点。这两款软件的建模都要求使用的工作人员逐一地建立元器件模型、填入模型参数、对元器件手动连线。这就要求软件的使用人员专业素质非常高,并且对分析的目标系统非常熟悉。
不单如此,由于每一个系统元器件都需要填入多个参数,因此手动建模的工作量十分巨大,使得建模的效率非常低下,对于大型的系统往往需要花费几个星期甚至几个月才能完成建模工作。
手动建模还有一个缺点就是容易出错。由于系统的元器件数量多,参数也多,工作量大,逐一手工地填入如此巨量的参数必然会导致相当高的出错率,从而影响最终生成的测试序列以及故障隔离率等指标的准确性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种板级电路测试性模型自动生成方法,对板级电路进行自动建模,降低人员工作量,提高建模的效率与准确度。
为实现上述发明目的,本发明板级电路测试性模型自动生成方法,其特征在于包括以下步骤:
S1:获取板级电路信息,包括各层电路板信息,各层电路板所含的故障模块的故障属性、测点模块的测试属性以及模块间的连接关系;
S2:对步骤S1中获取的各种板级电路信息设置XML(Extensible Markup Language,可扩展标记语言)标签,以XML文件格式保存,其中各层电路板中模块间的连接关系存储为邻接矩阵;
S3:对每个层次电路板模型的所有模块进行排序,排序方法包括以下步骤:
S3.1:为每个模块赋予排序参考值初始值为0;
S3.2:按故障模块存储顺序遍历所有故障模块,根据邻接矩阵,当连线从当前故障模块连接到其他故障模块时,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差大于等于1,则不作任何操作,否则将其他故障模块的排序值加1;当连线从其他故障模块连接到当前故障模块,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差小于等于1,则不作处理,否则其他故障模块的排序参考值减1;故障模块遍历结束后,测点模块的排序参考值等于连接它的第一个故障模块的排序参考值+1;
S3.3:按所有模块排序参考值从小到大对模块进行排序;
S4:根据步骤S3中得到的每个层次的排序结果依次确定各模块在每个层次布局中的位置坐标,生成每个层次的初始布局,初始布局生成方法为:
S4.1:模块序号x=0;
S4.2:初始化模块位置坐标,iCol=0,iRow=0,其中iCol为列序号,表示模块所在列;行序号iRow代表模块在列中的水平位置;
S4.3:令模块x的位置坐标Col_x=iCol,Row_x=iRow,其中Col_x表示模块x的列序号,Row_x表示模块x在列中的行序号;
S4.4:模块序号x=x+1;
S4.5:判断模块x是否等于该层模型中的模块总数N,如果等于,结束初始布局,如果小于,进入步骤S4.6;
S4.6:判断模块x与iCol列中的所有模块是否有连线,如果有,进入步骤S4.7,如果没有,进入步骤S4.8;
S4.7:令iCol=iCol+1,iRow=0,返回步骤S4.3;
S4.8:令iRow=iRow+1,iCol不变,返回步骤S4.3;
S5:根据步骤S4得到的初始布局,利用布局优化方法进行调整,使每列模块之间的交叉连线数减少至无法减少,得到板级电路测试性模型的最终布局,完成板级电路测试性模型的生成。
其中,故障模块的故障属性包括模块名称、故障概率、功能故障率及对功能故障的传播、映射、阻断效果。
其中,测点模块的测试属性包括测试名称、测试时间、测试成本、测试状态和可测的功能故障。
其中,布局优化方法包括以下步骤:
S5.1:初始化列序号m=1;
S5.2:计算第m列与第m-1列的交叉连线数S,判断该交叉连线数S是否为0,如果为0,进入步骤S5.14;如果结果不为0,进入步骤S5.3;
S5.3:将第m列中的模块两两交换位置,计算交换后第m列与第m-1列间的交叉连线数S1,判断是否S1<S,如果结果为是,恢复交换前的状态,如果结果为否,维持交换后的状态S=S1;当S=0或所有模块均交换完毕,进入步骤S5.4;
S5.4:列序号m=m+1,记该层模型初始布局中列总数为M,判断是否m=M,如果是,优化结束,否则返回步骤S5.2。
进一步地,本发明板级电路测试性模型自动生成方法还包括步骤:
S6:根据各层电路板的邻接矩阵生成依赖矩阵。
本发明板级电路测试性模型自动生成方法,对板级电路信息设置XML标签,将板级电路信息存储为XML文件,其中各层电路板中模块间的连接关系存储为邻接矩阵,根据邻接矩阵中记录的连接关系将各层电路板中的所有模块进行排序,再根据得到的模块顺序依次确定每个模块的位置坐标,完成各层电路板模型的初始布局,再采用布局优化方法,将相邻两列间的交叉连线数减少至无法减少,得到各层电路板模型的最终布局。
本发明板级电路测试性模型自动生成方法具有以下有益效果:
①、实现了板级电路测试性模型的自动生成,节约了人工建模的人力与时间花费;
②、根据邻接矩阵对所有模块进行排序,可以排除人为录入故障模块时录入顺序的不同导致生成的布局差异较大,同时可以确保信号发送模块位于信号接收模块前方,由此得到的布局结果从信号流向的角度会更加清楚明白,易于观察分析;
③、通过布局优化尽可能使各层电路板模型中的交叉连线数减少,使得到的最终布局清晰明了。
附图说明
图1是本发明板级电路测试性模型自动生成方法一种具体实施方式中的板级电路信息输入软件界面;
图2是根据实施例的XML存储文件直接生成的板级电路测试性模型示意图;
图3是本发明板级电路测试性模型自动生成方法一种具体实施方式中初始布局方法流程图;
图4是本发明一个实施例中首层的初始布局示意图;
图5是图4中M3子层的初始布局示意图;
图6是本发明板级电路测试性模型自动生成方法一种具体实施方式中布局 优化方法的流程图;
图7是图4中首层的最终布局示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
本发明板级电路测试性模型自动生成方法包括以下步骤:
步骤1:板级电路信息获取;
板级电路由多个电路板连接构成。每个电路板上可包含多种故障模式,定义每一种故障模式为该电路板的一个故障模块。板级电路测试性模型均由模块及其连接方式组成,模块包括故障模块和测点模块。板级电路测试性模型生成所需的信息包括各层电路板信息,各层电路板所含的故障模块的故障属性、测点模块的测试属性以及故障模块间有向的传播关系等。故障模块的故障属性包括模块名称、故障概率、功能故障率及对功能故障的传播、映射、阻断效果。测点模块的测试属性包括测试名称、测试时间、测试成本、测试状态和可测的功能故障。
本实施例中通过图形化的窗口,填入板级电路测试性模型所需的故障属性、测试属性、连接方式。图1是本发明板级电路测试性模型自动生成方法一种具体实施方式中的板级电路信息输入软件界面。如图1所示,图1(a)是故障属性的输入界面,图1(b)是测试属性的输入界面。
步骤2:对步骤1中获取的各种板级电路信息设置XML标签,以XML文件格式保存,其中各层电路板中模块间的连接存储为邻接矩阵。
板级电路测试性模型生成所需的信息使用XML文件来进行存储。XML文件是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。由于它的规范性以及易于读取,它广泛地运用于web开发与软件信息存储等领域中。XML文件使用自定义的标签对其保存的数据进行分类,程序可以方便快速地读取每 个标签下所存储的内容。本实施例中定义了如下标签来存储可测试性自动建模系统的所有属性。
(1)、System—DNum:表示系统中所有的图层数量,即电路板的层数。每个图层对应一个邻接矩阵,因此System—DNum也表示邻接矩阵的数量。
(2)、LAYER—Parent属性:表示当前图层所依赖的父节点名称。若为第一层,则LAYER—Parent属性是“自动建模”。
(3)、LAYER—CurAName属性:表示当前层次所有节点的名称序列。本实施例中,设定用M:来表示故障模块,用T:表示测点模块。若为子层,则省略输入输出节点名称,系统默认子层LAYER—CurAName属性中前两个节点名称为输入口、输出口,保存建模文件时不需添加,会在建模时系统自动添加。
(4)、LAYER—LMatrix属性:表示邻接矩阵。邻接矩阵用来表示各模块之间的连接关系。若层次为子层,邻接矩阵必须含有输入口、输出口的邻接关系,此时的邻接矩阵的名称序列前两位为输入口与输出口。由于模块间的信号具有流向,因此本发明中的邻接矩阵为有向图的邻接矩阵。本实施例中矩阵的保存顺序为从左到右,然后从上到下。例如当LMatrix=0,0,1,1,0,1,0,0,0,保存顺序为:
001
101
000
本实施例中根据邻接矩阵中模块对应位的数值来判定两个模块是否连接,如0表示未连接,1表示连接。
(5)、NODE-TYPE属性:表示当前节点的类型。本实施例中1为模块节点,2为测点模块。
(6)、NODE-NAME属性:表示当前节点的名称。本实施例中,采用Mi、Ai来命名故障模块,用TPj来命名测点模块。如M1、A2表示名为此模块是故障模块,TP2表示此模块为测点模块。
(7)、NODE-DESCRIBE属性:描述当前节点。可为任意字符串。此属性为可选属性,若板级电路中没有描述,可以没有此属性。
(8)、NODE-LABLE属性:表示节点的层次标签。本实施例中采用“0|...|9”分别表示:无|系统|子系统|现场可更换单元|车间可更换单元|模块|子模块|元件| 故障模式。默认为0。
(9)、NODE-FW属性:表示故障权值。本实施例中故障权值0~100,按数值大小表示故障的等级,如0:一般故障(100%),100:功能故障(0%)。
(10)、NODE-FR属性:表示故障概率。
(11)、NODE-GFB属性:表示是否是一般故障阻断。本实施例中0为否,1为是。
(12)、NODE-SIGNALS属性(模块):表示信号集与阻断信号集。若为阻断信号,则在信号后加后缀“(阻断)”。
(13)、NODE-TESTS属性:表示测试集。此序列顺序与后续的SIGNALS属性中顺序是相对应的。
(14)、NODE-DESCRIBES属性:每个测试的描述。以||为隔离符号。若所有测试没有描述,则可以没有此属性。
(15)、NODE-COSTS属性:表示测试代价。
(16)、NODE-TIMES属性:表示测试时间。
(17)、NODE-STATE属性:表示测试通过状态。本实施例中以“0|1|2”分别代表“未测试|未通过|通过”。默认为0。
(18)、NODE-SIGNALS属性(测点模块):表示每个测试对应的测试信号。此属性以||为隔离符号。顺序与之前的测试集顺序是相对应的。
在进行板级电路信息分类处理时,所有故障模块和测点模块根据创建时间的先后顺序进行存储,所有的同类型模块,即故障模块或测点模块的信息都根据存储顺序在XML文件中排列。本实施例中,按照先故障模块后测点模块的顺序进行录入和存储。模块的连接信息通过LAYER—LMatrix标签来存储邻接矩阵(邻接矩阵也是按模块的存储顺序排列)。得到邻接矩阵后,可以根据两个模块在矩阵上对应位是0或1来确定两个模块之间是否存在连接。
采用XML文件来保存板级电路信息,其优势在于:模型首次被建立后所有的模型信息将会被XML文件保存,能够简单地获得各模块、子模块间的属性以及连接关系,根据这些关系就能建立可视化模型和依赖矩阵模型。用户可直接读取保存的XML文件导入模型。
本实施例中以某个雷达发射机板级电路作为例子说明板级电路测试性模型 自动生成方法,该板级电路具有12个故障模块和4个测点模块,其中有4个故障模块为子板模块。为简化描述,本实施例中每种模块只包含6个XML文件标签,表1是雷达发射机板级电路需要录入的模型信息与对应的XML文件标签。
表1
(PS:测试信号中||代表测点模块包含多个测试时所需的多个测试信号。)
根据表1得到的雷达发射机板级电路对应的XML文件格式的存储文件为:
在生成模型时,先读取XML文件中的模块标签下的属性标签,并根据此模块为故障模块还是测试模块为此模块新建一个可视化图形,再把读取到的模块信息自动填入模块属性即可。本实施例中,故障模块采用方形表示,测点模块采用圆形表示。
对于模型的一般属性,可通过XML文件中每个属性的标签如NODE-FR、NODE-COSTS、NODE-SIGNALS等来读取属性即可。如<NODE TYPE="1"NAME="M4"DESCRIBE=""LABLE="0"FW="0"FR="0.001000"GFB="0"SIGNALS="s3" />表示此模块为故障模块,模块名称为“M4”,故障为一般故障,故障概率为0.001000,与之关联的信号有s3。
在板级电路中,一块电路板里面可以包含多块子板,在建模中可以表示为多层电路板模型。本发明可以生成自动多层次的模型,某层电路板的子层电路板在上一层电路板模型中采用模块表示,此模块被称为子层电路板的父模块。图形化模型建成以后,双击该模块便可进入子层电路板进行操作。本实施例在XML文件中,每个层次电路板模型的模块信息都以LAYER Parent标签开头,表示此层次的父模块名,使用此标签来记录此层的层次。如<LAYER Parent="M3"CurAName="M:A1,M:A2,M:A3,M:A4"LMatrix="0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0">表示此层次电路板模型是故障模块M3的子层,包含的模块有A1、A2、A3、A4四个故障模块,并通过邻接矩阵给出了输入口、输出口与四个故障模块之间的连接关系。表2是本实施方式中首层的邻接矩阵。
M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | TP1 | TP3 | TP2 | TP4 | |
M1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
M5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
M6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
M7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
M8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
TP1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TP3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TP2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TP4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表2
表3是本实施方式中M3子层的邻接矩阵。
输入口 | 输出口 | A1 | A2 | A3 | A4 | |
输入口 | 0 | 0 | 1 | 0 | 1 | 0 |
输出口 | 0 | 0 | 0 | 0 | 0 | 0 |
A1 | 0 | 0 | 0 | 0 | 0 | 1 |
A2 | 0 | 1 | 0 | 0 | 0 | 0 |
A3 | 0 | 0 | 0 | 1 | 0 | 0 |
A4 | 0 | 1 | 0 | 0 | 0 | 0 |
[0094] 表3
由XML存储文件可以看出,本实施例中,首层电路板模块的存储顺序为M1、M2、M3、M4、M5、M6、M7、M8、TP1、TP3、TP2、TP4;M3子层电路板模块的存储顺序为A1、A2、A3、A4。首层和M3子层的邻接矩阵也是按照相同的存储顺序排列。
如果根据XML存储文件直接生成板级电路测试性模型,该模型布局是混乱无序的,造成模型的理解与分析困难。图2是根据实施例的XML存储文件直接生成的板级电路测试性模型示意图。如图2所示,本实施例中采用方形表示故障模块,采用圆形表示测点模块,直接生成的板级电路测试性模型按模块的存储顺序进行排列,无法反映板级电路的结构,并且模块之间的连线有许多交叉甚至重叠,难以理解与分析,因此需要对模型进行合理布局。本发明通过步骤3至步骤5完成对板级电路测试性模型的合理布局。
步骤3:对每个层次电路板模型的所有模块进行排序,排序方法为:
3.1)、为每个模块赋予排序参考值初始值为0;
3.2)、按故障模块存储顺序遍历所有故障模块,根据邻接矩阵,当连线从当前故障模块连接到其他故障模块时,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差大于等于1,则不作任何操作,否则将其他故障模块的排序值加1;当连线从其他故障模块连接到当前故障模块,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差小于等于1,则不作处理,否则其他故障模块的排序参考值减1。故障模块遍历结束后,测点模块的排序参考值等于连接它的第一个故障模块的排序参考值+1。
3.3)、按所有模块排序参考值的从小到大对模块进行排序。本实施例中,当两模块的排序参考值相同时,按存储顺序进行排序。
以故障模块M1为例,根据邻接矩阵,连线从M1连接至故障模块M3、M4、M5,此时各故障模块的排序参考值均为0,因此故障模块M3、M4、M5与故障模块M1排序参考值的差值为0,小于1,因此故障模块M3、M4、M5的排序参考值均加1。当遍历至故障模块M3时,由于同时有连线从其他模块连接至M3,也有连线从M3模块连接至其他模块,因此两方面均需计算。测点模块以TP1为例,连接测点模块TP1的故障模块为M5,因此测点模块TP1的排序参考 值等于故障模块遍历结束后故障模块M5的排序参考值加1。
表4是首层各模块排序参考值的处理过程。
表4
根据XML存储文件,本实施例中首层模块的存储顺序为:M1、M2、M3、M4、M5、M6、M7、M8、TP1、TP3、TP2、TP4。因此,首层各故障模块的排序结果为:M1、M2、M3、M5、M4、TP1、M6、M7、M8、TP3、TP2、TP4。
表5是M3子层各模块排序参考值的处理过程。
A1 | A2 | A3 | A4 | |
初始值 | 0 | 0 | 0 | 0 |
处理A1 | 0 | 0 | 0 | 1 |
处理A2 | 0 | 0 | -1 | 1 |
处理A3 | 0 | 0 | -1 | 1 |
处理A4 | 0 | 0 | -1 | 1 |
表5
根据XML存储文件,本实施例中M3子层模块的存储顺序为:A1、A2、A3、A4。因此,M3子层各故障模块的排序结果为:A3、A1、A2、A4。
本步骤的作用主要是为了排除人为录入故障模块时录入顺序的不同导致生成的布局差异较大。因为在步骤4中,将按顺序对各模块进行初始布局,如果按照各模块的存储顺序,那么当录入故障模块顺序发生改变时,其布局结果也会改变,经过本步骤进行排序后,即使录入顺序不同,只要邻接矩阵,即各故障模块之间的连接关系不变,排序结果都是基本一致的。同时由于本步骤是通过各故障模块的连接关系进行排序的,确保信号发送模块位于信号接收模块前 方,由此得到的布局结果从信号流向的角度会更加清楚明白,易于观察分析。
步骤4:根据步骤3中得到的每个层次的排序结果依次确定各模块在每个层次布局中的位置坐标,生成每个层次的初始布局。
图3是本发明板级电路测试性模型自动生成方法一种具体实施方式中初始布局方法流程图。如图3所示,本发明中初始布局方法包括以下步骤:
S301:模块序号x=0,即选择第一个模块。
S302:初始化模块位置坐标,iCol=0,iRow=0,其中iCol为列序号,表示模块所在列,0为第一列;行序号iRow代表模块在列中的水平位置,0代表第一行。本实施例中,模型布局从左至右,从上到下。
S303:令模块x的位置坐标Col_x=iCol,Row_x=iRow,其中Col_x表示模块x的列序号,Row_x表示模块x在列中的行序号。
S304:模块序号x=x+1。
S305:判断模块序号x是否等于该层模型中的模块总数N,如果等于,即表示该层模型中所有模块已初始布局完毕,结束初始布局,如果小于,即表示还有模块未布局,进入步骤S306。
S306:判断模块x与iCol列中的所有模块是否有连线,如果有,进入步骤S307,如果没有,进入步骤S308。
S307:令iCol=iCol+1,iRow=0,返回步骤S303,即将模块x放置于下一列。
S308:令iRow=iRow+1,iCol不变,返回步骤S303,即将模块x放置于当前列的下一行。
初始布局的目的是将该层次中所有的模块分成若干个组,每组布局成一列,同一列上的模块之间没有连线,列与列之间有连线。图4是本发明一个实施例中首层的初始布局示意图。如图4所示,本实施例中首层的初始布局中所有模块分为5组。图5是图4中M3子层的初始布局示意图,如图5所示,M3子层的初始布局中所有模块分为4组。
步骤5:根据步骤4得到的初始布局,利用布局优化方法进行调整,使每列模块之间的交叉连线减少至无法减少,得到板级电路测试性模型的最终布局,完成板级电路测试性模型的生成。
交叉连线的定义为:连线a连接模块A、B,连线b连接模块C、D,模块 A、C与模块B、D在两个不同的列上,如果存在以下条件之一,则连线a、b交叉:
①、iRow_A>iRow_C且iRow_B<iRow_D
②、iRow_A<iRow_C且iRow_B>iRow_D
交叉连线数的定义为:符合“交叉连线”定义的两个相邻列之间的连线对数目。如图4中,第一、二列之间一共有3条连线,其中交叉连线数为2。当模型布局中交叉连线数很多时,模型会显得复杂难懂,因此需要尽量减少模型布局中交叉连接数。
图6是本发明板级电路测试性模型自动生成方法一种具体实施方式中布局优化方法的流程图。如图6所示,布局优化方法包括以下步骤:
S601:初始化列序号m=1。
S602:计算第m列与第m-1列的交叉连线数S,判断该交叉连线数S是否为0,如果为0,即第m列与第m-1列间不存在交叉连线,进入步骤S614。如果结果不为0,即第m列与第m-1列间存在交叉连线,进入步骤S603。
S603:初始化第m列的模块行序号I=-1,J=0。
S604:Nm为第m列的模块总数,如果J=Nm-1,进入步骤S605,否则进入步骤S606。
S605:令模块行序号I=I+1,J=0,进入步骤S607。
S606:令模块行序号I=I+1,J=J+1,进入步骤S607。
S607:交换第m列中行序号为I、J的两个模块的位置,即交换其行序号。
S608:计算交换后第m列与第m-1列间的交叉连线数S1。
S609:交叉连线数是否减少,即是否S1<S,如果是,进入步骤S611,否则进入步骤S610。
S610:恢复步骤S607交换前的状态,进入步骤S612。
S611:维持步骤S607交换后的状态,同时更新第m列与第m-1列间的交叉连线数S=S1,进入步骤S612。
S612:判断此时第m列与第m-1列间的交叉连线数S是否等于0,如果等于0,进入步骤S615;如果不等于0,进入步骤S613。
S613:判断是否模块行序号I=Nm-1,即是否第m列中的所有模块均进行了 交换,此时该列交叉连线数已无法减少,如果是,进入步骤S614,否则返回步骤S604继续进行模块交换。
S614:令列序号m=m+1。
S615:记该层模型初始布局中列总数为M,判断是否m=M,即是否所有列均已进行布局优化,如果是,优化结束,否则返回步骤S602对下一列进行优化。
如图4与图5所示,本实施例中,首层的初始布局中存在交叉连线,需要进行布局优化,M3子层的初始布局不存在交叉连线,无需进行布局优化。图7是图4中首层的最终布局示意图。如图7所示,经过布局优化,首层的最终布局中已经不存在交叉连线,模型布局清晰明了。
在板级电路测试型模型的应用中,还有一个非常重要的工具是故障—测试依赖矩阵,依赖矩阵是对板级电路进行基于多信号模型的可测性分析和故障诊断的基础。在现有技术中,依赖矩阵是通过邻接矩阵得到的可达矩阵生成的。本发明直接应用现有技术中多信号模型的依赖矩阵生成方法即可生成板级电路测试型模型的依赖矩阵。表6是本实施例中雷达发射机的依赖矩阵。
故障源\测试 | TP2:t1 | TP2:t5 | TP3:t2 | TP4:t3 | TP4:t4 | 故障概率 |
SystemOK | 0 | 0 | 0 | 0 | 0 | 0.1 |
M1(G) | 1 | 1 | 1 | 1 | 1 | 0.001 |
M2(G) | 1 | 1 | 1 | 1 | 1 | 0.001 |
M3->A1(G) | 1 | 1 | 1 | 1 | 1 | 0.001 |
M3->A2(G) | 1 | 1 | 1 | 1 | 1 | 0.001 |
M4(G) | 1 | 1 | 1 | 1 | 1 | 0.001 |
M5(G) | 0 | 0 | 0 | 0 | 0 | 0.001 |
M6(G) | 1 | 1 | 0 | 0 | 0 | 0.001 |
M7(G) | 0 | 0 | 1 | 0 | 0 | 0.001 |
M8(G) | 0 | 0 | 0 | 1 | 1 | 0.001 |
测试成本 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
表6
至此,雷达发射机板级电路系统的自动建模完毕。采用本发明,设计人员只需在录入各个故障模块和测点模块的信息,通过预设的XML标签自动生成XML存储文件,并从XML存储文件读取模型信息后进行初始布局和布局优化得到一个相对美观整洁的系统布局。可以看出,本发明板级电路测试性模型自动生成方法大大减轻了系统可测试性设计人员的工作量,避免手动建模带来繁 杂的操作以及人为因素导致的高错误率。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (5)
1.一种板级电路测试性模型自动生成方法,其特征在于,包括以下步骤:
S1:获取板级电路信息,包括各层电路板信息,各层电路板所含的故障模块的故障属性、测点模块的测试属性以及模块间的连接关系;
S2:对步骤S1中获取的各种板级电路信息设置XML标签,以XML文件格式保存,其中各层电路板中模块间的连接关系存储为邻接矩阵;
S3:对每个层次电路板模型的所有模块进行排序,排序方法包括以下步骤:
S3.1:为每个模块赋予排序参考值初始值为0;
S3.2:按故障模块存储顺序遍历所有故障模块,根据邻接矩阵,当连线从当前故障模块连接到其他故障模块时,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差大于等于1,则不作任何操作,否则将其他故障模块的排序值加1;当连线从其他故障模块连接到当前故障模块,如果其他故障模块的排序参考值与当前故障模块的排序参考值之差小于等于1,则不作处理,否则其他故障模块的排序参考值减1;故障模块遍历结束后,测点模块的排序参考值等于连接它的第一个故障模块的排序参考值+1;
S3.3:按所有模块排序参考值从小到大对模块进行排序;
S4:根据步骤S3中得到的每个层次的排序结果依次确定各模块在每个层次布局中的位置坐标,生成每个层次的初始布局,初始布局生成方法为:
S4.1:模块序号x=0;
S4.2:初始化模块位置坐标,iCol=0,iRow=0,其中iCol为列序号,表示模块所在列;行序号iRow代表模块在列中的水平位置;
S4.3:令模块x的位置坐标Col_x=iCol,Row_x=iRow,其中Col_x表示模块x的列序号,Row_x表示模块x在列中的行序号;
S4.4:模块序号x=x+1;
S4.5:判断模块x是否等于该层模型中的模块总数N,如果等于,结束初始布局,如果小于,进入步骤S4.6;
S4.6:判断模块x与iCol列中的所有模块是否有连线,如果有,进入步骤S4.7,如果没有,进入步骤S4.8;
S4.7:令iCol=iCol+1,iRow=0,返回步骤S4.3;
S4.8:令iRow=iRow+1,iCol不变,返回步骤S4.3;
S5:根据步骤S4得到的初始布局,利用布局优化方法进行调整,使每列模块之间的交叉连线数减少至无法减少,得到板级电路测试性模型的最终布局,完成板级电路测试性模型的生成。
2.根据权利要求1所述的板级电路测试性模型自动生成方法,其特征在于,所述故障模块的故障属性包括模块名称、故障概率、功能故障率及对功能故障的传播、映射、阻断效果。
3.根据权利要求1所述的板级电路测试性模型自动生成方法,其特征在于,所述测点模块的测试属性包括测试名称、测试时间、测试成本、测试状态和可测的功能故障。
4.根据权利要求1所述的板级电路测试性模型自动生成方法,其特征在于,所述布局优化方法包括以下步骤:
S5.1:初始化列序号m=1;
S5.2:计算第m列与第m-1列的交叉连线数S,判断该交叉连线数S是否为0,如果为0,进入步骤S5.14;如果结果不为0,进入步骤S5.3;
S5.3:将第m列中的模块两两交换位置,计算交换后第m列与第m-1列间的交叉连线数S1,判断是否S1<S,如果结果为是,恢复交换前的状态,如果结果为否,维持交换后的状态S=S1;当S=0或所有模块均交换完毕,进入步骤S5.4;
S5.4:列序号m=m+1,记该层模型初始布局中列总数为M,判断是否m=M,如果是,优化结束,否则返回步骤S5.2。
5.根据权利要求1所述的板级电路测试性模型自动生成方法,其特征在于,还包括步骤:
S6:根据各层电路板的邻接矩阵生成依赖矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310277456.8A CN103399979B (zh) | 2013-07-04 | 2013-07-04 | 一种板级电路测试性模型自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310277456.8A CN103399979B (zh) | 2013-07-04 | 2013-07-04 | 一种板级电路测试性模型自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103399979A true CN103399979A (zh) | 2013-11-20 |
CN103399979B CN103399979B (zh) | 2016-02-10 |
Family
ID=49563607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310277456.8A Expired - Fee Related CN103399979B (zh) | 2013-07-04 | 2013-07-04 | 一种板级电路测试性模型自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103399979B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104898039A (zh) * | 2015-05-27 | 2015-09-09 | 电子科技大学 | 基于故障传播概率模型的故障模式优选方法 |
CN105701304A (zh) * | 2016-01-18 | 2016-06-22 | 苏州芯禾电子科技有限公司 | 通过表格快速构建高速链路的方法 |
CN106980937A (zh) * | 2017-03-29 | 2017-07-25 | 西安工业大学 | 一种基于dsm分析供应链系统变更的方法 |
CN107369192A (zh) * | 2017-05-31 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种连接关系处理方法及装置 |
CN110806873A (zh) * | 2019-10-31 | 2020-02-18 | 拉扎斯网络科技(上海)有限公司 | 目标控件确定方法、装置、电子设备及存储介质 |
CN112016259A (zh) * | 2020-08-31 | 2020-12-01 | 上海兆芯集成电路有限公司 | 电路及其配置方法 |
CN116011395A (zh) * | 2023-01-11 | 2023-04-25 | 上海合见工业软件集团有限公司 | 基于模块交换的电路示意图模块列排序方法、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226223A (zh) * | 2008-01-29 | 2008-07-23 | 电子科技大学 | 一种电路板级自检测系统 |
US20090212813A1 (en) * | 2008-02-26 | 2009-08-27 | Broadcom Corporation | Electronic device board level security |
US20100083193A1 (en) * | 2008-09-29 | 2010-04-01 | Benjamin Mbouombouo | Design optimization with adaptive body biasing |
CN101819252A (zh) * | 2009-11-23 | 2010-09-01 | 电子科技大学 | 一种模拟电路故障诊断方法 |
-
2013
- 2013-07-04 CN CN201310277456.8A patent/CN103399979B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226223A (zh) * | 2008-01-29 | 2008-07-23 | 电子科技大学 | 一种电路板级自检测系统 |
US20090212813A1 (en) * | 2008-02-26 | 2009-08-27 | Broadcom Corporation | Electronic device board level security |
US20100083193A1 (en) * | 2008-09-29 | 2010-04-01 | Benjamin Mbouombouo | Design optimization with adaptive body biasing |
CN101819252A (zh) * | 2009-11-23 | 2010-09-01 | 电子科技大学 | 一种模拟电路故障诊断方法 |
Non-Patent Citations (1)
Title |
---|
王石记、朱敏、杨春玲: "板级电路内建自测试建模技术研究", 《微计算机信息嵌入式与SOC》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104898039A (zh) * | 2015-05-27 | 2015-09-09 | 电子科技大学 | 基于故障传播概率模型的故障模式优选方法 |
CN104898039B (zh) * | 2015-05-27 | 2017-09-12 | 电子科技大学 | 基于故障传播概率模型的故障模式优选方法 |
CN105701304A (zh) * | 2016-01-18 | 2016-06-22 | 苏州芯禾电子科技有限公司 | 通过表格快速构建高速链路的方法 |
CN105701304B (zh) * | 2016-01-18 | 2019-05-07 | 苏州芯禾电子科技有限公司 | 通过表格快速构建高速链路的方法 |
CN106980937A (zh) * | 2017-03-29 | 2017-07-25 | 西安工业大学 | 一种基于dsm分析供应链系统变更的方法 |
CN107369192A (zh) * | 2017-05-31 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种连接关系处理方法及装置 |
CN110806873A (zh) * | 2019-10-31 | 2020-02-18 | 拉扎斯网络科技(上海)有限公司 | 目标控件确定方法、装置、电子设备及存储介质 |
CN110806873B (zh) * | 2019-10-31 | 2023-07-21 | 拉扎斯网络科技(上海)有限公司 | 目标控件确定方法、装置、电子设备及存储介质 |
CN112016259A (zh) * | 2020-08-31 | 2020-12-01 | 上海兆芯集成电路有限公司 | 电路及其配置方法 |
CN112016259B (zh) * | 2020-08-31 | 2022-08-30 | 上海兆芯集成电路有限公司 | 电路及其配置方法 |
CN116011395A (zh) * | 2023-01-11 | 2023-04-25 | 上海合见工业软件集团有限公司 | 基于模块交换的电路示意图模块列排序方法、设备和介质 |
CN116011395B (zh) * | 2023-01-11 | 2023-12-08 | 上海合见工业软件集团有限公司 | 基于模块交换的电路示意图模块列排序方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103399979B (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103399979B (zh) | 一种板级电路测试性模型自动生成方法 | |
CN110276147B (zh) | 一种基于数字孪生模型的制造系统故障溯源方法、系统 | |
Deb et al. | QSI's integrated diagnostics toolset | |
US9507908B2 (en) | Systems and methods for airplane electrical system connection routing and visualization with topology determination | |
US8660822B2 (en) | System and method for generating three dimensional functional space reservation systems of a vehicle | |
Castillo et al. | Non-planar hole-generated networks and link flow observability based on link counters | |
CN113672743B (zh) | 故障判别方法、装置、电子设备、存储介质及产品 | |
CN106164795B (zh) | 用于分类报警的优化方法 | |
CN205788161U (zh) | 通信接口的测试系统 | |
CN107291582A (zh) | 基于标准大数据的智能化集成测试方法 | |
WO2017084460A1 (zh) | 一种原因追溯方法 | |
CN109871002A (zh) | 基于张量标签学习的并发异常状态识别与定位系统 | |
CN103077255B (zh) | 核电站3d模型识别方法和系统 | |
CN108279013B (zh) | 电子地图增量数据的检查纠错方法和装置、以及导航系统 | |
CN104268338B (zh) | 一种复杂产品故障影响传递关系模型的分析与评价方法 | |
US20050114096A1 (en) | Method, system and computer program product for automatically generating a subset of task-based components from engineering and maintenance data | |
CN111783283B (zh) | 一种基于模糊有向图的层次化故障传递建模及推理方法 | |
Astanaliev | Important principles of innovative reforms in the process of electronic document management in railway automation and telemechanics | |
CN107463151A (zh) | 一种复杂曲面加工多维知识云协同服务方法 | |
CN103076556A (zh) | 航电组件功能维护测试点选取方法 | |
Oeing et al. | Graph Learning in Machine‐Readable Plant Topology Data | |
CN109634699B (zh) | 一种基于桑基图的航天器异常信息聚类可视化及交互方法 | |
CN105158679B (zh) | 基于传输函数的滤波电路故障诊断方法 | |
CN109685453B (zh) | 智能识别工作流有效路径的方法 | |
CN103927446A (zh) | 一种考虑亚健康状态和单入单出约束的产品故障诊断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160210 Termination date: 20190704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |