%%% Appendix for detailed workings out from CH5
\chapter{Detailed FMMD analyses}
\section{Bubba Oscillator FMMD analyses}

For clarity the detailed workings of the FMMD analysis stages in many of the examples
in chapter 5 have been moved here for reference.

\subsection{PHS45 Detailed Analysis}

FMEA study of a resistor and capacitor in use as a phase changer.

\label{detail:PHS45}
\center
\begin{table}[h+]
\caption{PhaseShift: Failure Mode Effects Analysis: Single Faults} % title of Table
\label{tbl:firstorderlp}

\begin{tabular}{|| l | c |  l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{First Order}        &   & \textbf{Symptom}          \\ 
 %                          & &  \textbf{Low Pass Filter}    &   &                           \\
       \textbf{Failure} &  \textbf{$PHS45$ }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
                      
               \hline
     FS1: R  SHORT    &   0 degree's of phase shift      &    $0\_phaseshift$  \\        
     %                      90 degree's of phase shift   &  &    $90\_phaseshift$         
     FS2: R  OPEN     &    No Signal                     &    $nosignal$           \\ \hline
     FS3: C  SHORT    &    Grounded,No Signal            &    $nosignal$           \\ 
     FS4: C  OPEN     &    0 degree's of phase shift     &    $0\_phaseshift$           \\ \hline

\hline
\end{tabular}
\end{table}  
% PHS45 
\clearpage


\subsection{Bubba Oscillator: One Large Functional Group: Detailed Analysis}
\label{detail:BUBOSC1}



\begin{table}[h+]
\caption{Bubba Oscillator: Failure Mode Effects Analysis: One Large Functional Group} % title of Table
\label{tbl:bubbalargefg}
\center
\begin{tabular}{|| l | l | c | c | l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{Bubba}        &   & \textbf{Symptom}          \\ 
%                           & &  \textbf{Oscillator}    &   &                           \\
                           
 \textbf{Failure} & & \textbf{$BubbaOscillator$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
 
               \hline


     FS1: $PHS45_1$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
    % FS3: $PHS45_1$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS3: $NIBUFF_1$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS4: $NIBUFF_1$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS5: $NIBUFF_1$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS6: $NIBUFF_1$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

     FS7: $PHS45_2$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS8: $PHS45_2$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  
     %FS10: $PHS45_2$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 


     FS9: $NIBUFF_2$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS10: $NIBUFF_2$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS11: $NIBUFF_2$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS12: $NIBUFF_2$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

    FS13: $PHS45_3$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS14: $PHS45_3$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
   %  FS17: $PHS45_3$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS15: $NIBUFF_3$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS16: $NIBUFF_3$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS17: $NIBUFF_3$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS18: $NIBUFF_3$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

    FS19: $PHS45_4$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS20: $PHS45_4$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
  %   FS24: $PHS45_4$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS21: $INVAMP$  $OUTOFRANGE$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS22: $INVAMP$  $ZEROOUTPUT$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS23: $INVAMP$  $NOGAIN$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS24: $INVAMP$  $LOWPASS$             &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
  

 % FS1: $CAP_{10nF}$  $OPEN$          &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 
 % FS1: $CAP_{10nF}$  $SHORT$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 
\hline

\end{tabular}
\end{table}  
Collecting symptoms from table~\ref{tbl:bubbalargefg} we can show that for single failure modes, applying $fm$ to the bubba oscillator 
returns three failure modes,
%
$$ fm(BubbaOscillator) = \{ NO_{osc}, HI_{fosc}\} . $$ %, LO_{fosc} \} . $$

%\clearpage



\subsection{BUFF45: Detailed Analysis}
\label{detail:BUFF45}



\begin{table}[h+]
\caption{BUFF45: Failure Mode Effects Analysis} % title of Table
\label{tbl:buff45}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{BUFF45}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                           \\
\textbf{Failure} & & \textbf{$BUFF45$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
 
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low              &  &   $0\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
     %FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $90\_phaseshift$          \\  \hline 

     FS3: $NIBUFF_1$  $L_{up}$      &  &  output high   &  &    $NO_{signal}$           \\  
     FS4: $NIBUFF_1$  $L_{dn}$      &  &  output low   &  &     $NO_{signal}$              \\       
     FS5: $NIBUFF_1$  $N_{oop}$     &  &  output low   &  &     $NO_{signal}$                \\  
     FS6: $NIBUFF_1$  $L_{slew}$    &  &  signal lost                &  &   $NO_{signal}$          \\  \hline 


\hline

\end{tabular}
\end{table} 


collecting symptoms from table~\ref{tbl:buff45}, we can create a derived component $BUFF45$ which has the following failure modes:
$$
fm (BUFF45) = \{  0\_phaseshift, NO\_signal .\} % 90\_phaseshift,
$$
%

\clearpage


\subsection{PHS135BUFFERED: Failure Mode Effects Analysis} % title of Table
\label{detail:PHS135BUFFERED}


\begin{table}[h+]
\center
\caption{PHS135BUFFERED: Failure Mode Effects Analysis} % title of Table
\label{tbl:phs135buffered}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{PHS135 Buffered}         &   & \textbf{Symptom}          \\ 
  %                         & &                          &   &                           \\
 \textbf{Failure} & & \textbf{$PHS135BUFFERED$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
                      
                           
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    %FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 

    FS3: $PHS45_2$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS4: $PHS45_2$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    % FS6: $PHS45_2$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 

        FS5: $PHS45_3$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS6: $PHS45_3$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    % FS9: $PHS45_3$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 



\hline

\end{tabular}
\end{table} 
%
%
Collecting symptoms from table~\ref{tbl:phs135buffered}, we can create a derived component $PHS135BUFFERED$ which has the following failure modes:
$$
fm (PHS135BUFFERED) = \{ 90\_phaseshift,  NO\_signal .\} % 180\_phaseshift,
$$
%
\clearpage 


\subsection{PHS225AMP: Failure Mode Effects Analysis} % title of Table
\label{detail:PHS225AMP}
\begin{table}[h+]
\center
\caption{PHS225AMP: Failure Mode Effects Analysis} % title of Table
\label{tbl:phs225amp}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{PHS225AMP}         &   & \textbf{Symptom}          \\ 
 %                          & &  \textbf{Oscillator}    &   &                           \\
 \textbf{Failure} & & \textbf{$PHS225AMP$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
                               
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low               &  &   $180\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline
    % FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $270\_phaseshift$          \\  \hline 

     FS3: $INVAMP$  $L_{up}$      &  &  output high   &  &    $NO_{signal}$        \\  
     FS4: $INVAMP$  $L_{dn}$      &  &  output low   &  &     $NO_{signal}$        \\       
     FS5: $INVAMP$  $N_{oop}$     &  &  output low   &  &     $NO_{signal}$        \\  
     FS6: $INVAMP$  $L_{slew}$    &  &  signal lost  &  &   $NO_{signal}$          \\  \hline 

\hline

\end{tabular}
\end{table} 
%
Applying FMMD we create a derived component $PHS225AMP$ which has the following failure modes:
$$
fm (PHS225AMP) = \{ 180\_phaseshift,  NO\_signal .\} % 270\_phaseshift,
$$

\clearpage

\subsection{BUBBAOSC: Failure Mode Effects Analysis} % title of Table
\label{detail:BUBBAOSC}


\begin{table}[h+]
\center
\caption{BUBBAOSC: Failure Mode Effects Analysis} % title of Table
\label{tbl:bubba2}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{BUBBAOSC}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
                           
\textbf{Failure} & & \textbf{$BUBBAOSC$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
    
               \hline
     %FS1: $PHS135BUFFERED$  $180\_phaseshift$        &  &  phase shift high              &  &     $LO_{fosc}$                     \\  
     FS1: $PHS135BUFFERED$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  
     FS2: $PHS135BUFFERED$  $90\_phaseshift$         &  &  phase shift low                &  &    $HI_{osc}$       \\  \hline 

    % FS4: $PHS225AMP$  $270\_phaseshift$      &  &  phase shift high   &  &     $LO_{fosc}$                               \\  
     FS4: $PHS225AMP$  $180\_phaseshift$      &  &  phase shift low   &  &     $HI_{osc}$                               \\       
     FS5: $PHS225AMP$  $NO\_signal$     &  &  lost signal             &  &     $NO_{signal}$                              \\  \hline 
   

\hline

\end{tabular}
\end{table} 
%
Collecting symptoms from table~\ref{tbl:bubba2}, we can create a derived component $BUBBAOSC$ which has the following failure modes:
$$
fm (BUBBAOSC) = \{  HI_{osc}, NO\_signal .\} %  LO_{fosc},
$$
\clearpage



\section{Sigma Delta Detailed FMMD Analyses}

\subsection{FMMD Analysis of Summing Junction Integrator: SUMJINT}
\label{detail:SUMJINT}
\begin{table}[h+]
\center
\caption{Summing Junction Integrator($SUMJINT$): Failure Mode Effects Analysis} % title of Table
\label{tbl:sumjint}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 \textbf{Failure} & & \textbf{$SUMJINT$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
             
                           
               \hline\hline 
  FS1: $R1$  $OPEN$        &  &   $V_{in}$ dominates input              &  &     $V_{in} DOM$                     \\    
  FS2: $R1$  $SHORT$        &  &  $V_{fb}$ dominates input               &  &     $V_{fb} DOM$                     \\   \hline 
  FS3: $R2$  $OPEN$        &  &   $V_{fb}$ dominates input            &  &     $V_{fb} DOM$                     \\  
  FS4: $R2$  $SHORT$        &  &  $V_{in}$ dominates input              &  &     $V_{in} DOM$                     \\ \hline 
  FS5: $IC1$  $HIGH$        &  &    output perm. high            &  &   HIGH                 \\    
  FS6: $IC1$  $LOW$         &  &    output perm. low            &  &   LOW                 \\   \hline 
  FS7: $IC1$  $NOOP$        &  &    no current to drive C1            &  &   NO\_INTEGRATION                 \\  
  FS8: $IC1$  $LOW\_SLEW$   &  &   signal delay to C1            &  &   NO\_INTEGRATION                 \\ \hline 

  FS9: $C1$  $OPEN$         &  &   no   capacitance            &  &      NO\_INTEGRATION               \\  
  FS10: $C1$  $SHORT$        &  &    no   capacitance             &  &       NO\_INTEGRATION                \\ \hline 

% \hline 
%   FS1: $IC2$  $HIGH$        &  &     output perm. high             &  &      HIGH              \\    
%   FS2: $IC2$  $LOW$         &  &     output perm. low              &  &      LOW              \\   \hline 
%   FS3: $IC2$  $NOOP$        &  &    no current drive            &  &      LOW              \\  
%   FS4: $IC2$  $LOW\_SLEW$   &  &    delayed signal            &  &      LOW\_SLEW              \\ \hline 
% \hline
\hline
\end{tabular}
\end{table}
Collecting the {\dc} failure modes of 
$SUMJINT$ we obtain $$\{ V_{in} DOM, V_{fb} DOM,  NO\_INTEGRATION,  HIGH, LOW  \} .$$
\clearpage


\subsection{FMMD Analysis of High Impedance Signal Buffer  : HISB}
\label{detail:HISB}
\begin{table}[h+]
\center
% \center
\caption{ High Impedance Signal Buffer  : Failure Mode Effects Analysis} % title of Table
\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$HISB$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\  
               \hline\hline 
  FS1: $IC2$  $HIGH$        &  &    output perm. high            &  &   HIGH                 \\    
  FS2: $IC2$  $LOW$         &  &    output perm. low            &  &   LOW                 \\    
  FS3: $IC2$  $NOOP$        &  &    no current to output            &  &    $NOOP$            \\  
  FS4: $IC2$  $LOW\_SLEW$   &  &   delay signal             &  &      $LOW\_{SLEW}$               \\ \hline 
\end{tabular}
\end{table} 
% \hline
\clearpage

\subsection{FMMD Analysis of Digital level to analogue level converter  : DL2AL}
\label{detail:DL2AL}


\begin{table}[h+]
\center
\caption{$PD , IC3$ Digital level to analogue level converter: Failure Mode Effects Analysis} % title of Table
\label{tbl:DL2AL}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DS2AL$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
                                
               \hline \hline 
  FS1: $PD $  $HIGH$        &  &    output perm. low            &  &  LOW               \\    
  FS2: $PD $  $LOW$         &  &    output perm. low            &  &   HIGH                \\   \hline 
  
\hline 
  FS3: $IC3$  $HIGH$        &  &     output perm. high             &  &      HIGH              \\    
  FS4: $IC3$  $LOW$         &  &     output perm. low              &  &      LOW              \\    
  FS5: $IC3$  $NOOP$        &  &    no current drive            &  &      LOW              \\  
  FS6: $IC3$  $LOW\_{SLEW}$   &  &    delayed signal            &  &     $LOW\_{SLEW}$              \\ \hline 
\hline

\end{tabular}
\end{table} 

We collect the symptoms of failure $\{ LOW, HIGH,  LOW\_{SLEW}  \}$.
\clearpage


\subsection{FMMD Analysis of Digital level to analogue level converter  : DL2AL}
\label{detail:DIGBUF}

\begin{table}[h+]
\center
\caption{$ IC4, CLOCK $ Digital Buffer: Failure Mode Effects Analysis} % title of Table
\label{tbl:digbuf}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DIGBUF$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
                                %$$ fm ( CD4013B) = \{ HIGH, LOW, NOOP \} $$
               \hline \hline 
  FS1: $CLOCK$  $STOPPED$        &  &    buffer stopped            &  &  STOPPED               \\    \hline 
   
  FS2: $IC4$  $HIGH$        &  &      buffer stopped              &  &   STOPPED              \\    
  FS3: $IC4$  $LOW$         &  &      buffer stopped              &  &   STOPPED              \\   
  FS4: $IC4$  $NOOP$        &  &    no current drive           &  &      LOW              \\  \hline 
    \hline 
\hline

\end{tabular}
\end{table} 
We collect the symptoms of failure $\{ LOW, STOPPED  \}$.

\clearpage

\subsection{FMMD Analysis of  buffered integrating summing junction  : BISJ}
\label{detail:BISJ}
\begin{table}[h+]
\caption{ $HISB , SUMJINT$ buffered integrating summing junction($BISJ$): Failure Mode Effects Analysis} % title of Table
\label{tbl:BISJ}
\begin{tabular}{|| l | l | c | c | l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$BISJ$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   & \textbf{Failure Mode}          \\
                              
                           
               \hline \hline 
  FS1: $SUMJINT$  $V_{in} DOM$         &  &    output integral of  $V_{in}$           &  &    $OUTPUT STUCK$            \\    
  FS2: $SUMJINT$  $V_{fb} DOM$         &  &    output integral of  $V_{fb}$           &  &    $OUTPUT STUCK$                  \\    
 % $$ fm(SUMJUINT^1_0) = \{ V_{in} DOM, V_{fb} DOM,  NO\_INTEGRATION,  HIGH, LOW  \} .$$
  FS3: $SUMJINT$  $NO\_INTEGRATION$         &  &    output stuck high or low           &  &    $OUTPUT STUCK$            \\    
  FS4: $SUMJINT$  $HIGH$         &  &    output stuck high           &  &    $OUTPUT STUCK$                  \\    
  FS5: $SUMJINT$  $LOW$         &  &    output stuck low           &  &    $OUTPUT STUCK$                  \\   \hline 
%\hline 
  FS6: $HISB$  $HIGH$                    &  &     output perm. high        &  &     $OUTPUT STUCK$             \\    
  FS7: $HISB$  $LOW$                     &  &     output perm. low         &  &     $OUTPUT STUCK$              \\    
  FS8: $HISB$  $ NO\_INTEGRATION$        &  &    no current drive          &  &     $OUTPUT STUCK$             \\  
  FS9: $HISB$  $LOW\_SLEW$               &  &    delayed signal            &  &      $REDUCED\_INTEGRATION$              \\ \hline 
\hline
\end{tabular}
\end{table} 

We now collect the symptoms of failure $\{  OUTPUT STUCK  ,  REDUCED\_INTEGRATION \}$, and create a {\dc}
called $BISJ$.

\clearpage


\subsection{FMMD Analysis of  flip flop buffered  : FFB}
\label{detail:FFB}
\begin{table}[h+]
\caption{ $DIGBUF,DL2AL$ flip flop buffered($FFB$): Failure Mode Effects Analysis} % title of Table
\label{tbl:digbuf}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DIGBUF$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}    &   & \textbf{Failure Mode}          \\
                              
                           
               \hline \hline 
  FS1: $DIGBUF$  $STOPPED$         &  &    output stuck          &  &    $OUTPUT STUCK$        \\    
  FS2: $DIGBUF$  $LOW$             &  &    output stuck low      &  &    $OUTPUT STUCK$    \\ \hline 
%\hline 
  FS3: $DL2AL$  $LOW$              &  &     output perm. high    &  &     $OUTPUT STUCK$          \\    
  FS4: $DL2AL$  $HIGH$             &  &     output perm. low     &  &     $OUTPUT STUCK$          \\ 
  FS5: $DL2AL$  $LOW\_SLEW$        &  &    no current drive      &  &     $LOW\_SLEW$             \\    \hline 
  
 
\hline
\hline
\end{tabular}
\end{table} 

We now collect symptoms $\{OUTPUT STUCK, LOW\_SLEW\}$ and create a {\dc} %at the third level of symptom abstraction
called $FFB$.
\clearpage

\subsection{FMMD Analysis of  \sd  : SDADC}
\label{detail:SDADC}
\begin{table}[h+]
\caption{ $FFB , BISJ $ \sd ($SDADC$): Failure Mode Effects Analysis} % title of Table
\label{tbl:sdadc}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
  %                         & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$FFB$ }      &   & \textbf{Derived Component}          \\ 
 \textbf{cause}   & &  \textbf{Effect}    &   & \textbf{Failure Mode}          \\
                               
               \hline \hline 
  FS1: $FFB$  $OUTPUT STUCK$                      &  &   value max high or low          &  &    $OUTPUT\_OUT\_OF\_RANGE$            \\    
  FS2: $FFB$  $LOW\_SLEW$                         &  &   values will appear larger      &  &    $OUTPUT\_INCORRECT$                  \\   
%   FS3: $IC4^0$ $NOOP$         &  &     output stuck low           &  &    $OUTPUT STUCK$                  \\ \hline 
%\hline 
  FS3: $BISJ$  $OUTPUT STUCK$                     &  &    value max high or low         &  &     $OUTPUT\_OUT\_OF\_RANGE$             \\    
  FS4: $BISJ$  $REDUCED\_INTEGRATION$             &  &    values will appear larger         &  &     $OUTPUT\_INCORRECT$              \\   \hline 
  
  
\hline

\end{tabular}
\end{table} 
%\clearpage
We now collect the symptoms for the \sd 
$$ \; \{OUTPUT\_OUT\_OF\_RANGE, OUTPUT\_INCORRECT\}.$$
We can now create a {\dc} to represent the analogue to digital converter, $SDADC$.
$$fm(SSDADC) = \{OUTPUT\_OUT\_OF\_RANGE, OUTPUT\_INCORRECT\}$$


\clearpage



\section{Standalone temperature controller}
FMMD analysis tables from chapter~\ref{sec:chap6}.

\subsection{Read\_Pt100: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\centering
\caption{ Read\_Pt100: Failure Mode Effects Analysis} % title of Table
\label{tbl:readPt100}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $RI_{VRGE}$           &  voltage     &      $VOLTAGE\_HIGH$       \\  
                                & outside range    &                 \\ \hline 

     FC2: $RADC_{VV_ERR}$          &  voltage           &    $VAL\_ERR$          \\ 
                             &  incorrect         &                   \\    \hline  \hline 


 
     FC3: $RADC_{HIGH}$      &  voltage value     &      $VAL\_ERR$          \\   
                             &  incorrect          &                 \\ \hline 



     FC4: $RADC_{LOW}$        & ADC may read      &      $VOLTAGE\_LOW$           \\  \hline

   FC5: post condition fails       & software failure     &      $VAL\_ERR$             \\ 
     in function read\_ADC         &        read\_ADC     &                              \\ \hline

\end{tabular}
\end{table}
}
\clearpage

\subsection{ Get\_Temperature: Failure Mode Effects Analysis }

{
\tiny
\begin{table}[h+]
\center
\caption{ Get\_Temperature: Failure Mode Effects Analysis} % title of Table
\label{tbl:gettemperature}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $Pt100:Voltage\_High$           &  Pt100 voltage too high     & Pt100\_out\_of\_range            \\  
                                         & Pt100\_higher\_voltage    &                 \\ 
                                         & OR Pt100\_current         &    \\ \hline
                                         
       FC2: $Pt100:Voltage\_Low$           &  Pt100 voltage too low     & Pt100\_out\_of\_range            \\  
                                         & Pt100\_lower\_voltage    &                 \\ 
                                         & OR Pt100\_current         &        \\ \hline     
                                         
                                         
                                         
                                            
       FC3: $Pt100\_high\_low\_mismatch$ & temperature can be calculated     & Pt100\_out\_of\_range            \\  
                                         & from either high or low           &                 \\ 
                                         & reading, but should correlate     &        \\ \hline                                       
                                         
                                  
%        FC4: $Pt100\_current$             & the current applied is     & Pt100\_out\_of\_range            \\  
%                                          & necessary to calculate resistance,        &                 \\ 
%                                          &  but should be within given bounds     &        \\ \hline                                       
%                                          
%                                                                   
                                         
       FC4: $Pt100:VAL\_ERR$              & could cause an out of     & temp\_incorrect\\
                                          & range error, but may also & \\
                                          & cause us to read an       &       \\
                                          & incorrect temperature     &    \\ \hline

  FC5: post condition fails                  & software failure     &    temp\_incorrect               \\ 
     in function convert\_ADC\_to\_T         &   convert\_ADC\_to\_T   &                              \\ \hline

                                         \hline
     
\end{tabular}
\end{table}
}


\clearpage

\subsection{ GetError: Failure Mode Effects Analysis }

{
\tiny
\begin{table}[h+]
\center
\caption{ GetError: Failure Mode Effects Analysis} % title of Table
\label{tbl:geterror}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $ Pt100\_out\_of\_range $      &   pre-condition violated        & KnownIncorrectErrorValue          \\  
                                         &   observable/detectable        &                 \\ 
                                         &   failure mode        &    \\ \hline
                                         
       FC2: $temp\_incorrect$           &  pre-condition violated          &  IncorrectErrorValue               \\  
                                        &  unobservable                    &                 \\ 
                                        &  undetectable failure mode          &        \\ \hline     

       FC3: post condition fails                  & software failure                          &    IncorrectErrorValue               \\ 
     in function determine\_set\_point\_error     & determine\_set\_point\_error              &                              \\ \hline                     
                                         
     
\end{tabular}
\end{table}
}
\clearpage
\subsection{PID: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\center
\caption{ PID: Failure Mode Effects Analysis} % title of Table
\label{tbl:pidfunction}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $ KnownIncorrectErrorValue $      &   pre-condition violated        & KnownControlValueErrorV         \\  
                                         &   observable/detectable        &                 \\ 
                                         &   failure mode        &    \\ \hline
                                         
       FC2: $ IncorrectErrorValue $           &  pre-condition violated          &  IncorrectControlErrorV               \\  
                                        &  unobservable                    &                 \\ 
                                        &  undetectable failure mode          &        \\ \hline     
                                         
      
       FC3: post condition fails                  & software failure     &    IncorrectControlErrorV               \\ 
     in function PID                            &           PID            &                              \\ \hline                     
                                                      
     
\end{tabular}
\end{table}
}
\clearpage
\subsection{ HeaterOutput: Failure Mode Effects Analysis }


{
\tiny
\begin{table}[h+]
\center
\caption{ HeaterOutput: Failure Mode Effects Analysis} % title of Table
\label{tbl:heateroutput}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $ PWM stuck HIGH $      &   pre-condition violated        & HeaterOnFull         \\  
                                         &  PWM module not working        &                 \\  \hline    
                                       
                                         
       FC2: $ PWM stuck LOW $           &  pre-condition violated          &  HeaterOff               \\  
                                        &  PWM module not working                   &                 \\  \hline    
                                        
        
                                        
      FC3:  HEATER $SHORT$               &  heating element resistor         & HeaterOff        \\  
                                         &  SHORT no heating effect      &                 \\  \hline    
                                       
                                         
       FC4:  HEATER $OPEN  $           &  heating element resistor          &  HeaterOff               \\  
                                        & OPEN no heating effect                  &                 \\  \hline    

      FC5: $ output\_control$ post            & The software supplies the wrong          &  HeaterOutputIncorrect               \\  
            condition failure                 &  value to the PWM register               &                 \\  \hline 
                                        
                         
     
\end{tabular}
\end{table}
}
\clearpage

\subsection{ LEDOutput: Failure Mode Effects Analysis }


{
\tiny
\begin{table}[h+]
\center
\caption{ LEDOutput: Failure Mode Effects Analysis} % title of Table
\label{tbl:ledoutput}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: $ Temp LED fails $      &   LED will not light       & FailureIndicated         \\  
                                  &                            &                 \\  \hline    
                                       
                                         
       FC2: $ Processor LED fails $           &   LED will not light          &  FailureIndicated               \\  
                                              &                               &                 \\  \hline    
                                        
          FC3: $ PWM LED fails $           &  LED will not light         &  FailureIndicated               \\  
                                          &                              &                 \\  \hline
                                          
           FC4:  GPIO stuck HIGH & LED permanently OFF &   FailureIndicated    \\ \hline
           
 
           FC5: GPIO stuck Low  & LED permanently ON &   FailureIndicated    \\ \hline
           
           
            FC6:  Software SetLEDs                 &  Incorrect Indication        &  IndicationError               \\  
                  fails to set outputs correctly   &   Post condition failure     &                 \\  \hline                                             
  
                                        
                                        
\end{tabular}
\end{table}
}
\clearpage


\subsection{ Standalone temperature controller: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\center
\caption{ standalone temperature controller: Failure Mode Effects Analysis} % title of Table
\label{tbl:pid}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                & \textbf{Failure Mode}          \\
  
 
               \hline
     FC1: PID KnownControlValueError    &   As error is detectable/       & ControlFailureIndicated         \\  
                                  &   observable error can be indicated   &                                 \\  \hline    
                                       
                                         
       FC2: PID IncorrectControlerrorV           &   undetectable/unobservable         &  ControlFailure   \\  
                                              &    failure PID will not control properly  &                 \\  \hline    
                                        
          FC3: HeaterOutput           &  Heater will constantly         &  ControlFailureIndicated          \\  
              HeaterOnFULL            &  apply maximum power            &                                   \\  \hline
                                          
           FC4:   HeaterOutput    & heater will supply &   ControlFailureIndicated    \\ \hline
                 HeaterOFF        & no power           &                               \\
 
           FC5: HeaterOutput            &  with incorrect hower applied                   &   ControlFailure    \\ \hline
                HeaterOutputIncorrect   &  control will not be effective                   &                     \\
           
            FC6:  LEDOutput                 &  failure of LED system        &  KnownIndicationError               \\  
                  FailureIndicated         &   where failure is observable  &                 \\  \hline 
                  
            FC7:  LEDOutput                 &  failure of LED system        &  UnknownIndicationError               \\  
                  IndicationError           & where failure is unobservable &                                      \\ \hline
                  
                  
                 %%  PROM\_FAULT, RAM\_FAULT, CPU\_FAULT, ALU\_FAULT, CLOCK\_STOPPED 
                  
                  
            FC8: micro-controller  &   un-defined behaviour          &   ControlFailure                        \\
                  PROM\_FAULT                 &                      &                       \\ \hline 
                  
                    FC9: micro-controller  &  un-defined behaviour        &      ControlFailure                     \\
                    RAM\_FAULT             &                              &                       \\ \hline 
                  
                    FC10: micro-controller  &  un-defined behaviour      &     ControlFailure                    \\
                    CPU\_FAULT              &                            &                       \\ \hline 
                  
                    FC11: micro-controller  &  incorrect arithmetic         &      ControlFailure                    \\
                    ALU\_FAULT               &  performed in processing     &                       \\ \hline 
                  
                           FC12: micro-controller  & processor will not run      &   ControlFailureIndicated                      \\
                   CLOCK\_STOPPED               &  indicator leds will not flash &                       \\ \hline 
                  
                FC13:  monitor:                 &  postcondition fails       &  ControlFailure               \\  
                  software fails           &                               &                                      \\ \hline
                       
            
                  \hline
                                        
                                        
\end{tabular}
\end{table}
}
\clearpage/pr

\subsection{Gnuplot script for hypothetical XFMEA FMMD reasoning distance comparision}
\label{sec:gnuplotxfmeafmmdcomp}

\begin{verbatim}
 ##
# GNUPLOT SCRIPT to plot XFMEA FMMD reasoning distance
# comparisons.
#
#
# alway define fp in declaration, as in 'C'
# or gnuplot treats these as integers.
#
# number of failure modes per component
fm = 3.0

# number of components in each functional group
k = 3.0

# place the functional group size and failure mode per components
# size into a string to use as the graph title
#
tt = sprintf("reasoning distance comparison for |fg| = %d and |fm| = %d", k, fm)
set title tt

a = 0.0
b = 0.0

# formula for reasoning distance in one level of FMMD
# hierarchy (as given by ll)
#
fmmd(ll)=k**ll * k * fm * (k - 1)

# set up iterative sum in gnuplot syntax
# to iterate over FMMD levels
#
sum(a,b) = (a > b) ? 0 : fmmd(a) + sum(a+1, b)
sig_fx(c) = sum(a,c)

# reasoning distance for exhaustive case in FMEA
# where ll is the hierarchy level
xfmea(ll) = k**(ll+1) * ( k**(ll+1) -1 ) * fm


set xrange [0:1000]
set xlabel "Component count"
set ylabel "reasoning distance"
set logscale y

set terminal png
set output 'xfmea_fmmd_comp.png'
plot sig_fx(x**(1/k)), xfmea(x**(1/k))
#!sleep 20
 
\end{verbatim}

