Dominance Fault Collapsing Lu Yuanlin ECE Dept. Auburn University
Basic of Fault Collapsing Equivalence Fault Collapsing Equivalence Fault Collapsing Dominance Fault Collapsing Dominance Fault Collapsing
Fanout Branch Selection in Dominance Fault Collapsing Delete the faults on input fanout branch with priority! Delete the faults on input fanout branch with priority!
Algorithm --- Extract Gate & Node Info. One Node Array One Node Array Each Fault Line is a Node Each Fault Line is a Node Two Gate Arrays Two Gate Arrays 1.One-Port Gate (NOT, BUF) 2.Multi-port Gate (AND, OR, XOR … ) struct node { char name[20]; { char name[20]; int node_type; int node_type; int fanout; int fanout; char sa1_del; char sa1_del; char sa0_del; char sa0_del; int br_node; int br_node; int gate_no; int gate_no; char gate_type; char gate_type; int gate_con_no; int gate_con_no; }; }; struct node nodes[500] ; struct p2_gate { char type[10]; int in_node1; int in_node2; int in_node3; int in_node4; int in_node5; int out_node; int input_no; }; struct p2_gate p2gate[255];
Algorithm --- Dominance Fault Collapsing Read each multi-port gate information from the multi-ports gate array Read each multi-port gate information from the multi-ports gate array {a. using its output node as array index to read the node array, {a. using its output node as array index to read the node array, and delete that node ’ s both “ sa0 ” and “ sa1 ” ; and delete that node ’ s both “ sa0 ” and “ sa1 ” ; b. Decide which input nodes are on fanout branches, b. Decide which input nodes are on fanout branches, if (an AND or NAND gate) if (an AND or NAND gate) delete “ sa0 ” on those nodes with priority ; delete “ sa0 ” on those nodes with priority ; else if (an OR or NOR gate) else if (an OR or NOR gate) delete “ sa1 ” on those nodes with priority ;} delete “ sa1 ” on those nodes with priority ;} Read each one-port gate information from the one port gate array Read each one-port gate information from the one port gate array { using its output node as array index to read the node array, { using its output node as array index to read the node array, and delete that node ’ s both “ sa0 ” and “ sa1 ” ;} and delete that node ’ s both “ sa0 ” and “ sa1 ” ;}
Fanout of PO
RESULT Benchmark Circuit Total Faults Equivalent Collapsed Faults Dominance Collapsed Faults MyHitecMy Tested By Hitec Redundant C XOR Five gates replacement