\begin{tikzpicture}[scale=.8,cap=round] 
% Styles 
\tikzstyle{information text}=[text badly centered]%, rounded corners,fill=red!10,inner sep=1ex] 
% The graphic 
\begin{scope}
\pgfsetarrowsend{stealth'} 
\pgfsetlinewidth{1pt} 
\draw (1,.9) -- (1,1.8)
  node[below=.9cm,text width=3cm,style=information text] 
  {\small Phonological representation of root form }; 
\draw (5,-.2) -- (5,.8)
  node[below=.9cm,text width=3cm, style=information text] 
  { \small Wickelfeature representation of root form }; 
\draw (11,-.2) -- (11,.8)
  node[below=.9cm,text width=3cm, style=information text] 
  { \small Wickelfeature representation of past tense }; 
\draw (16,0.9) -- (16,1.8)
  node[below=.9cm,text width=3cm, style=information text] 
  { \small Phonological representation of past tense }; 
\end{scope}
\draw (3,6)
  node[text width=3cm, style=information text] 
  { \small Fixed Encoding Network };
\draw (8,6)
  node[text width=4cm, style=information text] 
  { \small Pattern Associator Modifiable Connections };
\draw (13.5,6)
  node[text width=3cm, style=information text] 
  { \small Decoding/Binding Network };
% draw the nodes
\foreach \x in {1,16} 
  \foreach \y in {2,3,4} { 
    \draw (\x,\y) circle (0.1cm); 
  } 
\foreach \x in {5,11} 
  \foreach \y in {1,2,3,4,5} { 
    \draw (\x,\y) circle (0.1cm); 
  } 
% we add the lines for the nodes starting in y 2,3, and 4
\foreach \xa / \xb in {1.1 / 4.9, 5.1 / 10.9 , 10.9 / 5.1 , 15.9 / 11.1}
  \foreach \ya / \yb / \yc / \yd / \ye in {2 / 3 / 4 / 5 / 1, 3 / 4 / 5 / 1 /
  2, 4 / 5 / 1 / 2 / 3} {
  \draw (\xa,\ya) -- (\xb,\ya); 
  \draw (\xa,\ya) -- (\xb,\yb);
  \draw (\xa,\ya) -- (\xb,\yc); 
  \draw (\xa,\ya) -- (\xb,\yd); 
  \draw (\xa,\ya) -- (\xb,\ye); 
  }
% add remaining lines from y1 to y5
\foreach \xa / \xb in {5.1 / 10.9 , 10.9 / 5.1}
  \foreach \ya / \yb in {1 / 5, 5 / 1} {
  \draw (\xa,\ya) -- (\xb,\ya);
  \draw (\xa,\ya) -- (\xb,\yb);
  }
\end{tikzpicture} 
