Code covered by the BSD License  

Highlights from
Adaptive Fault Masking With Incoherence Scoring

image thumbnail
from Adaptive Fault Masking With Incoherence Scoring by Baykant ALAGOZ
Matlab simulation environment for testing various voting algorithms

[S,Co]=fullAdder16(A,B,Ci,faulty)
function [S,Co]=fullAdder16(A,B,Ci,faulty)
% Fault insertable Full Adder function
% StuckFaultList=[0 0 0 1 1] 0:Faultyfree 1:Faulty
% StuckFaultType=[0 0 0 1 1] 0:Stuck_0 1:Stuck_1
if (faulty==1)
StuckFaultList1=[ 0 1 0 0 0];
StuckFaultList2=[ 0 0 0 0 0];
StuckFaultList3=[ 0 0 0 0 0];
StuckFaultList4=[ 0 1 0 0 0];
StuckFaultList5=[ 1 0 0 0 0];
StuckFaultList6=[ 0 0 0 0 0];
StuckFaultList7=[ 0 0 0 0 0];
StuckFaultList8=[ 0 0 0 0 0];
StuckFaultList9=[ 1 0 0 1 0];
StuckFaultList10=[ 0 1 0 0 0];
StuckFaultList11=[ 0 0 1 0 0];
StuckFaultList12=[ 0 0 0 0 0];
StuckFaultList13=[ 0 1 0 0 1];
StuckFaultList14=[ 0 0 0 0 0];
StuckFaultList15=[ 0 0 0 0 0];
StuckFaultList16=[ 0 0 0 0 0];
StuckFaultType1=[ 0 1 0 0 1];
StuckFaultType2=[ 0 0 0 0 0];
StuckFaultType3=[ 0 0 0 0 0];
StuckFaultType4=[ 0 0 0 0 0];
StuckFaultType5=[ 0 0 0 0 0];
StuckFaultType6=[ 0 0 0 0 0];
StuckFaultType7=[ 0 1 1 0 0];
StuckFaultType8=[ 1 1 1 1 0];
StuckFaultType9=[ 1 1 1 1 0];
StuckFaultType10=[ 0 0 0 0 0];
StuckFaultType11=[ 0 1 1 1 0];
StuckFaultType12=[ 0 0 1 1 0];
StuckFaultType13=[ 0 1 1 1 0];
StuckFaultType14=[ 1 1 1 0 1];
StuckFaultType15=[ 1 1 1 1 1];
StuckFaultType16=[ 1 1 1 1 1];
else
StuckFaultList1=[ 0 0 0 0 0];
StuckFaultList2=[ 0 0 0 0 0];
StuckFaultList3=[ 0 0 0 0 0];
StuckFaultList4=[ 0 0 0 0 0];
StuckFaultList5=[ 0 0 0 0 0];
StuckFaultList6=[ 0 0 0 0 0];
StuckFaultList2=[ 0 0 0 0 0];
StuckFaultList7=[ 0 0 0 0 0];
StuckFaultList8=[ 0 0 0 0 0];
StuckFaultList9=[ 0 0 0 0 0];
StuckFaultList10=[ 0 0 0 0 0];
StuckFaultList11=[ 0 0 0 0 0];
StuckFaultList12=[ 0 0 0 0 0];
StuckFaultList13=[ 0 0 0 0 0];
StuckFaultList14=[ 0 0 0 0 0];
StuckFaultList15=[ 0 0 0 0 0];
StuckFaultList16=[ 0 0 0 0 0];
StuckFaultType1=[ 0 0 0 0 0];
StuckFaultType2=[ 0 0 0 0 0];
StuckFaultType3=[ 0 0 0 0 0];
StuckFaultType4=[ 0 0 0 0 0];
StuckFaultType5=[ 0 0 0 0 0];
StuckFaultType6=[ 0 0 0 0 0];
StuckFaultType2=[ 0 0 0 0 0];
StuckFaultType7=[ 0 0 0 0 0];
StuckFaultType8=[ 0 0 0 0 0];
StuckFaultType9=[ 0 0 0 0 0];
StuckFaultType10=[ 0 0 0 0 0];
StuckFaultType11=[ 0 0 0 0 0];
StuckFaultType12=[ 0 0 0 0 0];
StuckFaultType13=[ 0 0 0 0 0];
StuckFaultType14=[ 0 0 0 0 0];
StuckFaultType15=[ 0 0 0 0 0];
StuckFaultType16=[ 0 0 0 0 0];   
end

[net1,C1]=fullAdder(A(1),B(1),Ci,StuckFaultList1,StuckFaultType1);
%net1=1;
%C1=0;
[net2,C2]=fullAdder(A(2),B(2),C1,StuckFaultList2,StuckFaultType2);
%net2=1;
%C2=0;
[net3,C3]=fullAdder(A(3),B(3),C2,StuckFaultList3,StuckFaultType3);
%net3=1;
%C3=0;
[net4,C4]=fullAdder(A(4),B(4),C3,StuckFaultList4,StuckFaultType4);
%net4=1;
%C4=0;
[net5,C5]=fullAdder(A(5),B(5),C4,StuckFaultList5,StuckFaultType5);
%net5=1;
%C5=0;
[net6,C6]=fullAdder(A(6),B(6),C5,StuckFaultList6,StuckFaultType6);
%net6=1;
%C6=0;
[net7,C7]=fullAdder(A(7),B(7),C6,StuckFaultList7,StuckFaultType7);
%net7=1;
%C7=0;
[net8,C8]=fullAdder(A(8),B(8),C7,StuckFaultList8,StuckFaultType8);
%net8=1;
%C8=0;
[net9,C9]=fullAdder(A(9),B(9),C8,StuckFaultList9,StuckFaultType9);
%net9=1;
%C9=0;
[net10,C10]=fullAdder(A(10),B(10),C9,StuckFaultList10,StuckFaultType10);
%net10=1;
%C10=0;
[net11,C11]=fullAdder(A(11),B(11),C10,StuckFaultList11,StuckFaultType11);
%net11=1;
%C11=0;
[net12,C12]=fullAdder(A(12),B(12),C11,StuckFaultList12,StuckFaultType12);
%net12=1;
%C12=0;
[net13,C13]=fullAdder(A(13),B(13),C12,StuckFaultList13,StuckFaultType13);
%net13=1;
%C13=0;
[net14,C14]=fullAdder(A(14),B(14),C13,StuckFaultList14,StuckFaultType14);
%net14=1;
%C14=0;
[net15,C15]=fullAdder(A(15),B(15),C14,StuckFaultList15,StuckFaultType15);
%net15=1;
%C15=0;
[net16,C16]=fullAdder(A(16),B(16),C15,StuckFaultList16,StuckFaultType16);
%net16=1;
%C16=0;

S=[net1 net2 net3 net4 net5 net6 net7 net8 net9 net10 net11 net12 net13 net14 net15 net16];
Co=C16;

Contact us at files@mathworks.com