并行故障模拟是在同一个输入向量作用下同时模拟n个故障的情况。但在实际上该输入并不一定能够检测所有n个故障。而一个故障往往只使很小部分信号线其故障值与正常值不同。这意味着有一部分计算是不必要的。演绎故障模拟(Deductive Fault Simulation )是对于一个输入向量只对能影响下一级门的输出的那些故障进行计算。这样就可以避免不必要的计算而提高效率。
  
如果按每一个故障单独模拟,每一个节点都有可能记录正常值和故障值。如果每个故障都计算一次,则必定会对各个节点的求值过程有大量重复,因而必须采用减少重复性工作的技术。
  演绎故障模拟按照输入输出的顺序依次求故障表的传播。所谓某一输出端的故障表是指能够使该端逻辑状态与无故障时不一样的故障集。设无故障电路信号线i的值为α,则所有使i的值为的故障组成了i的故障表。列入故障表中的故障,尤其是外部输出端的故障表中的故障,正是我们所关心的故障。演绎模拟算法就是在模拟正常电路信号值的同时,根据元件的类型和它在无故障时的输入、输出值,从输入端的故障表求输出端的故障表,直到得到电路外部输出的故障表。
  当演绎模拟在事件驱动模拟算法中应用时,有两类事件:一类是信号事件,一类是元件输入端故障表事件。即信号的变化和元件输入端故障表的改变都要引起元件的模拟计算,求出输出端的信号值和故障表。
  图7.22为被测电路网络的一个元件(或非门)。正常电路模拟结果为A=B='0',C=D='1',E='0'。图中标出输入端的故障表。这些故障中,能够传播到输出端E的故障即能使E值反转的故障。因而用下式求得E端的故障表LE
    LE =( ∩ LC ∩ LD )
     =(LC ∩ LD -LA - LB ) ∪ {E s-a-1}
     =({abcd} ∩ {adf} - {ae} - {bc} ) ∪ {E s-a-1}
     =({ad}-{ae}- {bc} ) ∪ {E s-a-1}
     ={d, E s-a-1}
  LE 表明故障d使E端输出由'0'变为'1'。

图7.22 或非门的故障表

  如果正常状态输出端为'1',则输入状态均为'0',其故障表LE 为:
   LE =(LA ∪ LB∪ LC ∪ LD ) ∪ {E s-a-1}
    ={abcdef, E s-a-1}
  即故障abcdef都能使E端输出由'1'变为'0'。

  求故障表的过程类似于求布尔表达式的值的过程,因而称为演绎法。
 
 一般来说,求故障表的规则如下:
  (1)如果某些输入端只要任一状态发生变化就会引起输出状态改变,则对这些输入端故障表求并。
  (2)如果若干个输入端必须同时改变状态值才能使输出状态发生改变,则对这些输入端故障求交。
  (3)如果某些输入端的状态发生变化会使输出保持正常状态值,则输出故障表中扣除这些入端故障表中的故障,即求差。
  (4)如果输出有故障,再取其并即可。
  在演绎故障模拟时,先把电路分级,按照级别从小到大的顺序依次求输出故障表,最后得到外部输出端的故障表。最后根据各输出端(包括观测端)的故障表,对每个故障表进行编码,并据此编制故障字典。