一种数字电路故障的快速检测方法

文档序号:8222531阅读:433来源:国知局
一种数字电路故障的快速检测方法
【技术领域】
[0001] 本发明涉及一种电路的故障检测方法,尤其是涉及一种数字电路故障的快速检测 方法。
【背景技术】
[0002] 数字电路在制造过程中电路中某些导线的可能发生连接错误。有些连线会固定地 接到低电平,有些导线会固定地接到高电平。发生这种错误连接以后,这些导线上的信号将 是一个固定值,即与电路的输入值无关,从而使电路的逻辑功能发生错误。上述导线连接错 误中,发生接到低电平错误的称为固定0故障,用S-a-0表示;发生接到高电平错误的称为 固定1故障,用s-a-1表示。由于连接错误发生在电路的内部,因此检测的方法一般是通过 在电路外施加不同的输入组合,并比较对应输出来判断电路内部是不是存在上述2种连接 错误。其中不同的输入组合称为测试矢量。
[0003] 如图1所示的电路中,连线C在打"X"的地方发生连线错误,则根据测试理论,当 连线c发生s-a-1故障时,对应的测试矢量可以用
【主权项】
1. 一种数字电路故障的快速检测方法,其特征在于定义待测电路对应的逻辑函数为 f ;电路输入变量数定义为m,输出变量数定义为η ;定义Pi,为属于f的任意一对乘积项; 规定乘积项中的任一变量,用"〇"表示该变量以反变量形式出现,"1"表示该变量以原量形 式出现,表示该变量不出现;定义[ Pi]k为乘积项P Jl k位的取值;定义H为f的布尔 差分运算标志;H包含m位;定义[H]kS H的第k位的取值,0彡k彡(m-Ι);规定[H] k的取 值只能为" 1"或者"〇" ; [H]k为" 1"表示该位变量需要布尔差分运算,[H] k为"0"表示该位 变量不需要进行布尔差分运算;用Xk(Pi,H)表示乘积项 ?1与!1之间的第k位"位异或"运 算,并规定当[H]k= 1时,
其他情况下,Xk(Pi, H) = [Pi]k;定义A ? P/表 示Pi,Pj之间的不相交锐积运算,A. ? P, = A. - A「l/V其中" Π "表示p# p』的逻辑"与" 运算;本发明的具体步骤为: 步骤①.定义三个空的集合C1, (:2和C 3,并根据逻辑函数f对变量的布尔差分关系得到 布尔差分标志H ; 步骤②.判断f的逻辑表达式是否为多个乘积项之"或"形式,如果不是,将f展开为 乘积项之"或"形式;将构成f的所有乘积项分别同时存储于集合C1,集合C2和集合C 3中; 步骤③.在集合(:2中任取一个乘积项p' i,将p' 1与!1之间逐位进行"位异或"运算, 即将P' i的第k位值[p' Jk用Xk(p' i,H)进行替换,0彡k彡(m-1); 步骤④.判断集合C2中是否所有的乘积项都与布尔差分标志H完成"位异或"运算,如 果是,执行步骤⑤,否则执行步骤③; 步骤⑤.在集合C1中任取一个乘积项,记为Pi",在集合C2中任取一个乘积项,记为 P" P进行运算,运算结果存储于集合(^中,并在集合C1中删除p" i; 步骤⑥.判断集合C1中的任何乘积项是否与C 2中的任何乘积项都不相交,如果是,执 行步骤⑦,否则执行步骤⑤; 步骤⑦.在集合C2中任取一个乘积项,记为P " v,在集合C3中任取一个乘积项,记为 P" w,并进行/彳运算,运算结果存储于集合(:2中,并在集合C2中删除p" v; 步骤⑧.判断集合C2中的任何乘积项是否与集合C 3中的任何乘积项都不相交,如果 是,执行步骤⑨,否则执行步骤⑦; 步骤⑨:将集合C1和集合C 2的乘积项进行逻辑"或"运算,就得到逻辑电路的布尔差分 结果; 步骤⑩:根据步骤⑨中得到的布尔差分结果,结合基于布尔差分的电路测试理论,得到 相应的测试矢量,实现待测电路故障的检测。
【专利摘要】本发明公开了一种数字电路故障的快速检测方法,提出一种以乘积项不相交锐积运算为基础的布尔差分计算方法,通过引入乘积项与差分标志之间的“位异或”运算,再结合乘积项不相交锐积运算,实现逻辑函数的差分运算,本发明的方法避免逻辑函数的最小项或者图形展开,优点在于:(1)可以处理非常大的数字集成电路,并且运算速度很快;(2)待求解的布尔差分阶数对本发明的速度影响很小。
【IPC分类】G01R31-3177
【公开号】CN104535917
【申请号】CN201410809369
【发明人】王伦耀, 夏银水, 储著飞
【申请人】宁波大学
【公开日】2015年4月22日
【申请日】2014年12月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1