1、故障检测故障检测DD算法算法 1 DD算法算法 D算法是一种用形式化运算求测试码的多路径敏 化法,是在立方体理论基础上实现的路径敏化, 是首先出现的完全的测试码生成算法。由于其计 算机可操作性和解决问题的通用性而得到广泛的 应用。 基本思想:同单路径敏化法,使故障点的正常值 与故障值形成差异,并将它敏化至输出端。同时 确定输入向量和其他信号值以确保各信号值的一 致性。 采用立方体运算,考虑多路径情况。 2 DD立方立方 立方体:n变量的二值布尔函数可看成是一 个n维单位立方体的2n个顶点。每个顶点对 应一个最小项,乘积项(线段、平面等) 则表示为奇异立方。 D立方: :正常值为1,故障值为0,
2、用来表示s-a-0; :正常值为0,故障值为1,用来表示s-a-1。 3 立方体的交运算立方体的交运算 定义两个相同维数的立方体的交运算: 其中每个元素的交运算规则如 上表所示,若有一个或几个元素相交结果为,则表示该 立方不存在。 4 故障故障DD立方立方 定义:在元件输出处可产生错误信号 的最小输入条件 。 运算:pdcf交,表明故障元件输入和输出之间的关系。设 无故障立方体的集合为G,故障立方体的集合为B。G中输 出为0的表示为g0,输出为1的表示为g1;B中输出为0的表 示为b0,输出为1的表示为b1。 Pdcf交规则:输入部分的规则同一般立方体交运算;输出 部分的规则如下表: 也即:
3、5 例:例: 设一个与门在故障状态下表现为或门的性质,求其pdcf。 解:正常状态下的G和故障状态下的B分别为: 先对g1和b0作pdcf交: 结果为空。 再对g0和b1作pdcf交: 得该与门的故障D立方为: 6 传播传播DD立方立方 定义:将元件输入端的若干错误信号传播至输出端的最小 输入条件,表示对故障信号的传播特性。 计算: 求 即xi线上 故 障传播至输出端仍为 的条件; 求 即xi线上 故 障传播至输出端变为 的条件; 构造传播D立方(x1,x2,f)。 7 测试测试DD立方立方 定义:对电路中各个信号结点依次排列,它们的 动态状态取值组成含有 或 的值向量。 它是经过运算的D立方
4、,如: 测试D立方是在运算过程中各结点逻辑值(包括D 值)的动态列表。未确定值的结点均以X值表示 。 8 DD驱赶驱赶 定义:逐级将故障信号 敏化至可测输出端的过程。 思路:将输入有 而输出未定的元件(称为D激活元件 )的传播D立方同测试立方作交运算(规则见下表),使 其输出 或 ,即将 驱赶通过该元件。如交存在, 说明驱赶成功,否则驱赶失败。 9 驱赶步骤驱赶步骤 1.从激活元件AI选出EI,将EI的传播D立方与前一 次测试立方tcI-1相交。如交存在,构造tcI,表 示 已通过元件EI,进入步骤2。如果交不 存在,则转入3。 2.从AI中删去EI,增加新的激活元件形成AI+1,重 复步骤1
5、直至到达输出端。 3.从AI中另选元件EI,重复步骤1。如AI中所有元 件均敏化失败,则退回到AI-1。 10 一致性操作一致性操作& &蕴含操作蕴含操作 向前的D驱赶完成后,要进行向后的一致性检查,检查所 获测试立方是否与各元件的奇异立方一致。 方法:将D驱赶中尚未用过的元件的奇异立方与测试立方 作交运算。如有一个元件找不到一致的奇异立方,则一致 性检查未通过,应退回上一步。 蕴含:在D驱赶中确定了某些线上的值,从而唯一确定了 有些元件的输出值。 方法:将与新确定值有关的各元件的奇异立方同测试立方 求交。 前向蕴含:输入值先确定,求交后确定输出值; 后向蕴含:输出值先确定,求交后确定输入值。
6、 11 DD算法步骤算法步骤 1.准备工作: 电路结点编号; 输入全部元件的立方体和传播D立方; 建立故障表,输入各故障D立方。 2.选定一个故障形成故障传播D立方作为初始测试立方tc0。 3.在激活元件A0中任选一个作为E0,求其传播D立方,并求传播D立 方与tc0的交运算。若交存在,即表示与tc0一致,得 tc1 = tc0T(D);若不一致则退回,另选一传播D立方。若该元件 全部传播D立方与不一致,则从A0中另选一个元件作为E0。 4.在新激活元件A1中任选一个作E1,重复上述步骤,直至D被驱赶至 输出端。 12 举例说明举例说明DD算法:算法: 以下图为例,用D算法求e(s-a-1)的测试码。 解:与该故障有关的元件为E,其故障D立方为: 13 所有元件的原始立方: E: F: G: H: I: J: K: L: 14 所有元件的传播D立方: 15 DD算法执行过程:算法执行过程: 16 DD算法结果(一种可能):算法结果(一种可能): E处的故障被驱赶至输出端L,一致性检查通过,驱赶成 功。因此获得es-a-1的一个测试向量T=1,0,0,1。 17 ThanksThanks! 18