\documentclass[tikz,border=5pt]{standalone}
\usepackage[cmex10]{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
circ_info/.style={circle, draw=black!100, fill=black!0, very thick, minimum size=0mm},
circ_frozen/.style={circle, draw=white!100, fill=black!100, very thick, minimum size=0mm},
circ/.style={draw,circle, fill=black!30, minimum size=0mm},
empty/.style={rectangle, draw=white!100, fill=white!5, thick, minimum width=0cm, minimum height=0cm},
xor/.style={draw,circle, minimum size=0mm, append after command={
[shorten >=\pgflinewidth, shorten <=\pgflinewidth,]
(\tikzlastnode.north) edge (\tikzlastnode.south)
(\tikzlastnode.east) edge (\tikzlastnode.west)
}
}
]
\node[circ_frozen] (ch0_0_in) [label=left:{$u_0 = 0$}] {};
\node[circ_frozen] (ch0_1_in) [below = 0.25cm of ch0_0_in] [label=left:{$u_1 = 0$}] {};
\node[circ_frozen] (ch0_2_in) [below = 0.25cm of ch0_1_in] [label=left:{$u_2 = 0$}] {};
\node[circ_info] (ch0_3_in) [below = 0.25cm of ch0_2_in] [label=left:{$u_3 = m_0$}] {};
\node[circ_frozen] (ch0_4_in) [below = 0.25cm of ch0_3_in] [label=left:{$u_4 = 0$}] {};
\node[circ_info] (ch0_5_in) [below = 0.25cm of ch0_4_in] [label=left:{$u_5 = m_1$}] {};
\node[circ_info] (ch0_6_in) [below = 0.25cm of ch0_5_in] [label=left:{$u_6 = m_2$}] {};
\node[circ_info] (ch0_7_in) [below = 0.25cm of ch0_6_in] [label=left:{$u_7 = m_3$}] {};
\node[xor] (ch1_0_in) [right = 0.5cm of ch0_0_in] {};
\node[circ] (ch1_1_in) [right = 0.5cm of ch0_1_in] {};
\node[xor] (ch1_2_in) [right = 0.5cm of ch0_2_in] {};
\node[circ] (ch1_3_in) [right = 0.5cm of ch0_3_in] {};
\node[xor] (ch1_4_in) [right = 0.5cm of ch0_4_in] {};
\node[circ] (ch1_5_in) [right = 0.5cm of ch0_5_in] {};
\node[xor] (ch1_6_in) [right = 0.5cm of ch0_6_in] {};
\node[circ] (ch1_7_in) [right = 0.5cm of ch0_7_in] {};
\node[xor] (ch2_0_in) [right = 1cm of ch1_0_in] {};
\node[xor] (ch2_1_in) [right = 0.75cm of ch1_1_in] {};
\node[circ] (ch2_2_in) [right = 1cm of ch1_2_in] {};
\node[circ] (ch2_3_in) [right = 0.75cm of ch1_3_in] {};
\node[xor] (ch2_4_in) [right = 1cm of ch1_4_in] {};
\node[xor] (ch2_5_in) [right = 0.75cm of ch1_5_in] {};
\node[circ] (ch2_6_in) [right = 1cm of ch1_6_in] {};
\node[circ] (ch2_7_in) [right = 0.75cm of ch1_7_in] {};
\node[xor] (ch3_0_in) [right = 1.5cm of ch2_0_in] {};
\node[xor] (ch3_1_in) [right = 1.5cm of ch2_1_in] {};
\node[xor] (ch3_2_in) [right = 1cm of ch2_2_in] {};
\node[xor] (ch3_3_in) [right = 1cm of ch2_3_in] {};
\node[circ] (ch3_4_in) [right = 1.5cm of ch2_4_in] {};
\node[circ] (ch3_5_in) [right = 1.5cm of ch2_5_in] {};
\node[circ] (ch3_6_in) [right = 1cm of ch2_6_in] {};
\node[circ] (ch3_7_in) [right = 1cm of ch2_7_in] {};
\node[empty] (ch4_0_in) [right = 0.5cm of ch3_0_in] {$x_0$};
\node[empty] (ch4_1_in) [right = 0.75cm of ch3_1_in] {$x_1$};
\node[empty] (ch4_2_in) [right = 1cm of ch3_2_in] {$x_2$};
\node[empty] (ch4_3_in) [right = 1.25cm of ch3_3_in] {$x_3$};
\node[empty] (ch4_4_in) [right = 0.5cm of ch3_4_in] {$x_4$};
\node[empty] (ch4_5_in) [right = 0.75cm of ch3_5_in] {$x_5$};
\node[empty] (ch4_6_in) [right = 1cm of ch3_6_in] {$x_6$};
\node[empty] (ch4_7_in) [right = 1.25cm of ch3_7_in] {$x_7$};
\foreach \i in {0,...,7} {
\draw[-] (ch0_\i_in.east) -- (ch1_\i_in.west);
\draw[-] (ch1_\i_in.east) -- (ch2_\i_in.west);
\draw[-] (ch2_\i_in.east) -- (ch3_\i_in.west);
\draw[-] (ch3_\i_in.east) -- (ch4_\i_in.west);
}
\draw[-] (ch1_0_in.south) -- (ch1_1_in.north);
\draw[-] (ch1_2_in.south) -- (ch1_3_in.north);
\draw[-] (ch1_4_in.south) -- (ch1_5_in.north);
\draw[-] (ch1_6_in.south) -- (ch1_7_in.north);
\draw[-] (ch2_0_in.south) -- (ch2_2_in.north);
\draw[-] (ch2_1_in.south) -- (ch2_3_in.north);
\draw[-] (ch2_4_in.south) -- (ch2_6_in.north);
\draw[-] (ch2_5_in.south) -- (ch2_7_in.north);
\draw[-] (ch3_0_in.south) -- (ch3_4_in.north);
\draw[-] (ch3_1_in.south) -- (ch3_5_in.north);
\draw[-] (ch3_2_in.south) -- (ch3_6_in.north);
\draw[-] (ch3_3_in.south) -- (ch3_7_in.north);
\end{tikzpicture}
\end{document}