APP下载

数字电路板时序电路测试方法*

2010-08-11冯玉光林文军奚文骏

舰船电子工程 2010年2期
关键词:功能测试电路板测试方法

冯玉光 林文军 奚文骏 冷 江

(海军航空工程学院 烟台 264001)

1 引言

目前,数字电路板常用的测试方法有以下几种:在线测试、功能测试和总线测试[1~2]。其中,功能测试将某个功能模块作为测试对象,通过施加激励、观察响应,判断此功能模块能否完成其功能。数字电路板的功能测试关键在于验证测试向量如何生成。时序电路是数字电路板的重要组成部分,其测试相较于组合电路而言困难的多,因此,对其测试方法的研究是很有必要的。

对某型测试设备进行反解反绘是我们了解其功能、并进行仿制的重要手段,对于其中的数字电路板,需要对其通电测试,以验证其功能和反解反绘的正确性,为了测试方便,我们假定电路板不存在故障,若测试过程中发现电路功能与预期不一致,则认为是电路板反解反绘过程中电路模块原理图绘制错误。

2 时序电路测试方法

自上世纪60年代门级电路检测方法问世以来,逻辑电路的测试出现了“结构测试”和“功能测试”并存的局面。结构测试是从电路的结构出发,通过电路的输入/输出引脚,检测连线上是否存在故障,采用的是数字电路的故障模型,而功能测试是从电路的功能出发,检查电路是否正常,采用的是数字电路的功能模型。

时序电路的测试,可以采用两种方法,一种是上面所说的采用故障检查方法,若该电路在结构上不存在故障,则认为该电路正常。还有一种就是采用其功能验证测试方法,输入端施加功能验证向量,输出端采集响应,若响应与预期一致,则说明该电路正常。时序电路的功能测试方法,关键在于其功能测试向量,若时序电路的功能测试向量是已知的,我们将根据该向量生成的激励施加到电路的输入端,在输出端观测其响应即可。而对于未知其功能测试向量的时序电路模块,需要分析其功能,生成其功能测试向量。

3 时序电路的测试模型

3.1 有限状态机

有限状态机的模型可以采用六元组:M=(S,I,O,δ,λ,s0)来描述[3]。其中:S表示时序模块状态的集合,I表示时序电路输入向量的集合,O表示时序电路输出向量的集合,其中S、I和O均为非空的集合。s0表示时序电路的初始状态。

δ表示时序电路的状态转换函数,δ:S×I→S,为笛卡尔积S×I映入S的映射,其中,S表示状态,I表示输入向量。

λ表示时序电路输出函数,λ:S×I→O,为笛卡尔积S×I映入O的映射,其中,S表示当前状态,I表示输入向量,O表示输出向量。

3.2 时序电路的数学模型

时序电路数学模型最常用的方式是用五元组F=(Q,I,Z,δ,λ)来描述 ,这其中,包括了两个集合和三个映射,其中:Q是状态集合,I是输入向量的集合,Z是输出向量的集合,q0是初始状态(复位状态);δ:笛卡尔积Q×I映入Q 的映射,即Q×I→Q;λ:笛卡尔积Q×I映入Z的映射,即Q×I→Z。

从二者的定义可以看出,时序电路可以用有限状态机来表示,而有限状态机又可以采用有向图来表示,因此,时序电路的功能可以采用有向图G=(V,E)来描述,其中,V是顶点集,E是有向边集。顶点表示状态,有向边代表状态转换,输入输出标注在有向边旁。

4 时序电路的功能分析

时序电路功能分析,需要求取时序电路的状态,即在输入作用各状态之间的转换关系,从而得到其状态转换图,在电路无故障时,其状态转换是其稳定状态之间的转换。基于逻辑值计算求取时序电路状态的是一种代数方法[4],采用该方法,可以使用较为精确的模型,较为真实地反映信号在电路中的传播和改变情况,运算的最终结果中,所包含有的状态标量较少。但该方法也存在缺点,当时序电路的规模很大时,单位时间内所发生的状态转移是非常大的,对应的状态转移表的规模很大,相应的计算量变的相当大,实际应用很困难,此时,该方法只具有理论上的意义。EDA工具的出现,使得数字电路的设计和分析变得更为容易,文献[5]提出了一种使用EDA工具,通过仿真的方法得到时序电路的稳定状态。但是,该方法只能通过尝试设置电路的输入,尽可能的得到时序电路的完全的稳定状态。

文献[6]提出了一种系统化的求取时序电路稳定状态的方法,该方法易于用计算机实现。该方法定义可初态矩阵Qn、次态矩阵Qn+1和输入矩阵(J-K矩阵)等概念,定义了一种新的矩阵运算方法。

定义:矩阵 A、B和C是同行同列矩阵,矩阵乘法定义为矩阵中对应行列元素相乘,即Cij=Aij×Bij(或),矩阵加法定义为矩阵中对应行列元素相加。

对于有J-K触发其构成的时序电路而言,有:

对于由D触发器构成的时序电路而言,有:

qi→ai(0≤i≤n)表示电路由状态qi转换到ai,其中ai=qj(0≤i,j≤n)。假设电路的初态为q0,其对应的次态为a0,且a0=qj,则qj对应的次态为aj,依此类推,则可以得到电路的状态转移图,如图1所示。

图1 时序电路原理图

该算法在 LabWindow s/CVI采用C语言编写,对于不同的电路模块,需要编写不同的输入矩阵,参数的输入在函数面板上完成。对图1所示的时序电路进行运算,其结果如图2所示。

则可以得到时序电路的状态转换图如图3所示,其中,S0表示000,S1表示001,S2表示010,S3表示011,S4表示100,S5表示 101,S6表示110,S7表示111。

4 时序电路的可及状态及测试完全性

在实际的时序电路的设计过程中,需要对时序电路的状态表进行简化,简化之后的状态表内的状态都是可及状态,对于任何两个状态Si和Sj,从Si出发,总是能够找到某一个输入向量序列,使得电路状态转换到Sj,反之亦然,对应的状态转换图(STG)是强连通的。

但是,若从已经设计好的时序电路的原理图中得到的时序电路的状态,却不一定都是可及的,也就是说,所得到的状态转换图不一定是连通的。

理论分析和实际试验都表明,凡属正确设计的时序电路,分析所得到的时序电路中可能包含有多个强连通图,其中必有一个主要的 SCC,称为PSCC,PSCC中所对应的状态必为可及状态,而其它SCC中所对应的状态必为不可及状态,对于弱连通图,可以有一些边不属于图的任何一个SCC,这些边被称为连接边。对于PSCC而言,它是一个或多个连接边的末端,而不是任何连接边的始端[7]。由此,我们将状态转换图划分为多个SCC之后,很容易区分PSCC与SCC,根据时序电路的PSCC,可以生成时序电路的功能测试向量。

对于图3所示的状态转换图,是一个弱连通图,包含有两个SCC,其中一个为S1,另一个为由顶点S0,S2,S3,S4,S5,S6和S7以及连接他们的有向边组成,为PSCC,如图 4所示。

图4 时序电路PSCC

5 基于图论的时序电路功能测试方法

对于以时序电路功能为基础的功能测试,采用功能覆盖率的概念来衡量其功能测试的完全性,当激励信号作用于时序电路时,在图论模型中的反映就是经历了若干条有向边。由此,将图论模型中经历的有向边与电路所有的有向边之比定义为功能覆盖率[8]。

给定了时序电路的PSCC,需要寻找到(I,O)序列,该序列使得电路历经了所有的有向边,则功能覆盖率为100%。其测试流程图如图5所示。

图5 数字电路板功能测试流程图

对于图3所示的时序电路,其测试向量为表1中n所对应的序列。

6 结语

文章研究了数字电路板时序电路功能测试方法,采用有向图作为时序电路的功能模型,通过有向图的SCC划分,寻找到PSCC。根据PSCC生成其功能测试向量序列及对应响应序列。为了节省测试时间,需要生成其最简测试向量,如何通过有向图生成最简测试向量还需要进一步研究。

表1 电路测试序列

[1]王琳,刘迈.电子线路自动测试技术的研究[J].大连海事大学学报,1999(3):108~111

[2]杨士元.模拟系统的故障诊断与可靠性设计[M].北京:清华大学出版社,1993:143~183,238~272

[3]G.Buonanno,et al.FsmTest:Functional test generation for sequential circuits[J].IN TEGRATION,the VLSI Journal,1996,20:303~325

[4]魏道政.异步时序电路测试生成的一种代数方法[J].软件学报,1999(10)

[5]王红霞,叶晓慧,姚琼荟.求解门级时序电路稳定状态的仿真方法[J].国外电子测量技术,2006(8):10~12

[6]贾默伊.用矩阵方法分析同步时序电路[J].河北理工学院学报,1996(2):50~53

[7]刘泽坚,刘华,周天戎,等.时序电路的可及状态的枚举和自动测试生成[J].微电子测试,1995(3)

[8]郑菊言.面向功能的测试矢量生成技术探讨[J].航空电子技术,1998(1):35~37

猜你喜欢

功能测试电路板测试方法
基于泊松对相关的伪随机数发生器的统计测试方法
某内花键等速传动轴八功能测试夹具设计
基于模糊神经网络的电路板故障诊断方法研究
无线电发射设备杂散发射的测试方法探讨
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
智能燃气表主控电路板仿真检测技术
96 芯插接电路板控制系统的故障设置装置设计
电路板维修中的问题故障与应对策略