发明名称 一种数字电路故障的快速检测方法
摘要 本发明公开了一种数字电路故障的快速检测方法,提出一种以乘积项不相交锐积运算为基础的布尔差分计算方法,通过引入乘积项与差分标志之间的“位异或”运算,再结合乘积项不相交锐积运算,实现逻辑函数的差分运算,本发明的方法避免逻辑函数的最小项或者图形展开,优点在于:(1)可以处理非常大的数字集成电路,并且运算速度很快;(2)待求解的布尔差分阶数对本发明的速度影响很小。
申请公布号 CN104535917B 申请公布日期 2017.02.22
申请号 CN201410809369.7 申请日期 2014.12.23
申请人 宁波大学 发明人 王伦耀;夏银水;储著飞
分类号 G01R31/3177(2006.01)I 主分类号 G01R31/3177(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 一种数字电路故障的快速检测方法,其特征在于定义待测电路对应的逻辑函数为f;电路输入变量数定义为m,输出变量数定义为n;定义p<sub>i</sub>,p<sub>j</sub>为属于f的任意一对乘积项;规定乘积项中的任一变量,用“0”表示该变量以反变量形式出现,“1”表示该变量以原量形式出现,“‑”表示该变量不出现;定义[p<sub>i</sub>]<sub>k</sub>为乘积项p<sub>i</sub>第k位的取值;定义H为f的布尔差分运算标志;H包含m位;定义[H]<sub>k</sub>为H的第k位的取值,0≤k≤(m‑1);规定[H]<sub>k</sub>的取值只能为“1”或者“0”;[H]<sub>k</sub>为“1”表示乘积项p<sub>i</sub>第k位的变量需要布尔差分运算,[H]<sub>k</sub>为“0”表示乘积项p<sub>i</sub>第k位的变量不需要进行布尔差分运算;用Χ<sub>k</sub>(p<sub>i</sub>,H)表示乘积项p<sub>i</sub>与H之间的第k位“位异或”运算,并规定当[H]<sub>k</sub>=1时,<img file="FDA0001172912670000011.GIF" wi="368" he="69" />其他情况下,Χ<sub>k</sub>(p<sub>i</sub>,H)=[p<sub>i</sub>]<sub>k</sub>;定义<img file="FDA0001172912670000012.GIF" wi="150" he="71" />表示p<sub>i</sub>,p<sub>j</sub>之间的不相交锐积运算,<img file="FDA0001172912670000013.GIF" wi="486" he="69" />其中“∩”表示p<sub>i</sub>与p<sub>j</sub>的逻辑“与”运算;本发明的具体步骤为:步骤①.定义三个空的集合C<sub>1</sub>,C<sub>2</sub>和C<sub>3</sub>,并根据逻辑函数f对变量的布尔差分关系得到布尔差分标志H;步骤②.判断f的逻辑表达式是否为多个乘积项之“或”形式,如果不是,将f展开为乘积项之“或”形式;将构成f的所有乘积项分别同时存储于集合C<sub>1</sub>,集合C<sub>2</sub>和集合C<sub>3</sub>中;步骤③.在集合C<sub>2</sub>中任取一个乘积项p′<sub>i</sub>,将p′<sub>i</sub>与H之间逐位进行“位异或”运算,即将p′<sub>i</sub>的第k位值[p′<sub>i</sub>]<sub>k</sub>用Χ<sub>k</sub>(p′<sub>i</sub>,H)进行替换,0≤k≤(m‑1);步骤④.判断集合C<sub>2</sub>中是否所有的乘积项都与布尔差分标志H完成“位异或”运算,如果是,执行步骤⑤,否则执行步骤③;步骤⑤.在集合C<sub>1</sub>中任取一个乘积项,记为p<sub>i</sub>″,在集合C<sub>2</sub>中任取一个乘积项,记为p″<sub>j</sub>,进行<img file="FDA0001172912670000014.GIF" wi="208" he="73" />运算,运算结果存储于集合C<sub>1</sub>中,并在集合C<sub>1</sub>中删除p″<sub>i</sub>;步骤⑥.判断集合C<sub>1</sub>中的任何乘积项是否与C<sub>2</sub>中的任何乘积项都不相交,如果是,执行步骤⑦,否则执行步骤⑤;步骤⑦.在集合C<sub>2</sub>中任取一个乘积项,记为p″<sub>v</sub>,在集合C<sub>3</sub>中任取一个乘积项,记为p″<sub>w</sub>,并进行<img file="FDA0001172912670000021.GIF" wi="186" he="67" />运算,运算结果存储于集合C<sub>2</sub>中,并在集合C<sub>2</sub>中删除p″<sub>v</sub>;步骤⑧.判断集合C<sub>2</sub>中的任何乘积项是否与集合C<sub>3</sub>中的任何乘积项都不相交,如果是,执行步骤⑨,否则执行步骤⑦;步骤⑨:将集合C<sub>1</sub>和集合C<sub>2</sub>的乘积项进行逻辑“或”运算,就得到逻辑电路的布尔差分结果;步骤⑩:根据步骤⑨中得到的布尔差分结果,结合基于布尔差分的电路测试理论,得到相应的测试矢量,实现待测电路故障的检测。
地址 315211 浙江省宁波市江北区风华路818号