\begin{figure}
 \centering
 \begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
     \tikzstyle{every pin edge}=[<-,shorten <=1pt]
     \tikzstyle{fmmde}=[circle,fill=black!25,minimum size=30pt,inner sep=0pt]
     \tikzstyle{component}=[fmmde, fill=green!50];
     \tikzstyle{failure}=[fmmde, fill=red!50];
     \tikzstyle{symptom}=[fmmde, fill=blue!50];
     \tikzstyle{annot} = [text width=4em, text centered]
 
     % Draw the input layer nodes
     %\foreach \name / \y in {1,...,4}
     % This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4}
     %    \node[component, pin=left:Input \#\y] (I-\name) at (0,-\y) {};
 
     \node[component] (OPAMP) at (0,-4) {$OPAMP$};
     \node[component] (R1) at (0,-9) {$R_1$};
     \node[component] (R2) at (0,-13) {$R_2$};

     %\node[component] (C-3) at (0,-5) {$C^0_3$};
     %\node[component] (K-4) at (0,-8) {$K^0_4$};
     %\node[component] (C-5) at (0,-10) {$C^0_5$};
     %\node[component] (C-6) at (0,-12) {$C^0_6$};
     %\node[component] (K-7) at (0,-15) {$K^0_7$};
 
     % Draw the hidden layer nodes
     %\foreach \name / \y in {1,...,5}
     %    \path[yshift=0.5cm]

             \node[failure] (OPAMPLU) at (\layersep,-0) {latchup};
             \node[failure] (OPAMPLD) at (\layersep,-2) {latchdown};
             \node[failure] (OPAMPNP) at (\layersep,-4) {noop};
             \node[failure] (OPAMPLS) at (\layersep,-6) {lowslew};

             \node[failure] (R1SHORT) at (\layersep,-9) {$R1_{SHORT}$};
             \node[failure] (R1OPEN) at (\layersep,-11) {$R1_{OPEN}$};

            \node[failure] (R2SHORT) at (\layersep,-13) {$R2_{SHORT}$};
             \node[failure] (R2OPEN) at (\layersep,-15) {$R2_{OPEN}$};



     % Draw the output layer node
 
%      % Connect every node in the input layer with every node in the
%      % hidden layer.
%      %\foreach \source in {1,...,4}
%      %    \foreach \dest in {1,...,5}
     \path (OPAMP) edge (OPAMPLU);
     \path (OPAMP) edge (OPAMPLD);
     \path (OPAMP) edge (OPAMPNP);
\path (OPAMP) edge (OPAMPLS);

     \path (R1) edge (R1SHORT);
     \path (R1) edge (R1OPEN);

     \path (R2) edge (R2SHORT);
     \path (R2) edge (R2OPEN);


     % Potential divider failure modes
     %  
     \node[symptom]  (PDHIGH) at (\layersep*2,-11) {$PD_{HIGH}$};
     \node[symptom] (PDLOW) at (\layersep*2,-13) {$PD_{LOW}$};



     \path (R1OPEN) edge (PDHIGH);
     \path (R2SHORT) edge (PDHIGH);


     \path (R2OPEN) edge (PDLOW);
     \path (R1SHORT) edge (PDLOW);



     \node[symptom]  (AMPHIGH) at (\layersep*4,-6) {$AMP_{HIGH}$};
     \node[symptom] (AMPLOW) at (\layersep*4,-8) {$AMP_{LOW}$};
      \node[symptom] (AMPLP) at (\layersep*4,-10) {$LOWPASS$};

     \path (PDLOW) edge (AMPHIGH);
     \path (OPAMPLU) edge (AMPHIGH);

     \path (PDHIGH) edge (AMPLOW);
     \path (OPAMPNP)  edge (AMPLOW);
     \path (OPAMPLD) edge (AMPLOW);

     \path (OPAMPLS) edge (AMPLP);
%      %\node[symptom,pin={[pin edge={->}]right:Output}, right of=C-1a] (O) {};
%      \node[symptom, right of=C-1a] (s1) {s1};
%      \node[symptom, right of=C-2a] (s2) {s2};
%  
%  
%  
%      \path (C-2b) edge (s1);
%      \path (C-1a) edge (s1);
%  
%      \path (C-2a) edge (s2);
%      \path (C-1b) edge (s2);
%  
%      %\node[component, right of=s1] (DC) {$C^1_1$};
%  
%      %\path (s1) edge (DC);
%      %\path (s2) edge (DC);
%      
%  
%  
%      % Connect every node in the hidden layer with the output layer
%      %\foreach \source in {1,...,5}
%      %    \path (H-\source) edge (O);
%  
%      % Annotate the layers
%      \node[annot,above of=C-1a, node distance=1cm] (hl) {Failure modes};
%      \node[annot,left of=hl] {Base Components};
%      \node[annot,right of=hl](s) {Symptoms};
     %\node[annot,right of=s](dcl) {Derived Component};
 \end{tikzpicture}
 % End of code
 \caption{DAG representing failure modes and symptoms of the Non Inverting Op-amp Circuit}
 \label{fig:noninvdag0}
 \end{figure}
