\makeatletter

\pgfdeclareshape{stop}{%
  \savedanchor{\upperrightcorner}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@x=0.5\pgf@xa
    \pgf@y=0.5\pgf@ya
  }
  \savedanchor{\lowerleftcorner}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@x=-0.5\pgf@xa
    \pgf@y=-0.5\pgf@ya
  }

  \anchor{center}{\pgfpointorigin}
  % \anchor{center}{\centerpoint}
  \anchor{north east}{%
    \upperrightcorner%
  }
  \anchor{north}{%
    \upperrightcorner%
    \pgf@x=0pt
  }
  \anchor{south east}{%
    \upperrightcorner%
    \pgf@y=-\pgf@y
  }
  \anchor{south west}{%
    \lowerleftcorner%
  }
  \anchor{south}{%
    \lowerleftcorner%
    \pgf@x=0pt
  }
  \anchor{north west}{%
    \upperrightcorner%
    \pgf@x=-\pgf@x
  }
  \anchor{west}{%
    \lowerleftcorner%
    \pgf@y=0pt
  }
  \anchor{east}{%
    \upperrightcorner%
    \pgf@y=0pt
  }

  \savedanchor{\outerfirstcentersecond}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    % \divide\pgf@xa by 3
    % \divide\pgf@xa by 2
    \pgf@x=-.5\pgf@xa
    \advance\pgf@x by .5\pgf@ya
    \pgf@y=\pgf@ya
  }

  \anchor{one half}{
    \outerfirstcentersecond
    \pgf@y=0pt
  }
  \anchor{two half}{
    \outerfirstcentersecond
    \pgf@x=-\pgf@x
    \pgf@y=0pt
  }

  \anchor{north one half}{
    \outerfirstcentersecond
  }
  \anchor{north two half}{
    \outerfirstcentersecond
    \pgf@x=-\pgf@x
  }
  \anchor{south one half}{
    \outerfirstcentersecond
    \pgf@y=-\pgf@y
  }
  \anchor{south two half}{
    \outerfirstcentersecond
    \pgf@x=-\pgf@x
    \pgf@y=-\pgf@y
  }

  \savedanchor{\outerfirstquarter}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@y=\pgf@ya
    \pgf@x=-.5\pgf@xa % We are at (shape.north west) now
    \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now
    \advance\pgf@x by \pgf@ya
  }

  \anchor{two quarter}{
    \outerfirstquarter
    \pgf@y=0pt
  }
  \anchor{three quarter}{
    \outerfirstquarter
    \pgf@x=-\pgf@x
    \pgf@y=0pt
  }

  \anchor{north two quarter}{
    \outerfirstquarter
  }
  \anchor{south two quarter}{
    \outerfirstquarter
    \pgf@y=-\pgf@y
  }
  \anchor{north three quarter}{
    \outerfirstquarter
    \pgf@x=-\pgf@x
  }
  \anchor{south three quarter}{
    \outerfirstquarter
    \pgf@x=-\pgf@x
    \pgf@y=-\pgf@y
  }

  \savedanchor{\outerthirdsixth}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@y=\pgf@ya
    \pgf@x=-.5\pgf@xa % We are at (shape.north west) now
    % \multiply\pgf@ya by 2
    \advance\pgf@x by 2.5\pgf@ya % We are at (shape.north one half) now
  }

  \anchor{three sixth}{
    \outerthirdsixth
    \pgf@y=0pt
  }

  \anchor{four sixth}{
    \outerthirdsixth
    \pgf@x=-\pgf@x
    \pgf@y=0pt
  }

  \anchor{north three sixth}{
    \outerthirdsixth
  }

  \anchor{south three sixth}{
    \outerthirdsixth
    \pgf@y=-\pgf@y
  }

  \anchor{north four sixth}{
    \outerthirdsixth
    \pgf@x=-\pgf@x
  }

  \anchor{south four sixth}{
    \ 
    \pgf@x=-\pgf@x
    \pgf@y=-\pgf@y
  }

  % Added only the minimal eighth anchor
  \savedanchor{\outerfourtheighth}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@y=\pgf@ya
    \pgf@x=-.5\pgf@xa % We are at (shape.north west) now
    \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now
    \advance\pgf@x by 3\pgf@ya
  }

  \anchor{four eighth}{
    \outerfourtheighth
    \pgf@y=0pt
  }
  \anchor{five eighth}{
    \outerfourtheighth
    \pgf@x=-\pgf@x
    \pgf@y=0pt
  }  

  % Added only the minimal tenth anchor
  \savedanchor{\outerfifthtenth}{
    \setlength{\pgf@xa}{\pgfshapeminwidth}
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@y=\pgf@ya
    \pgf@x=-.5\pgf@xa % We are at (shape.north west) now
    \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now
    \advance\pgf@x by 4\pgf@ya
  }

  \anchor{five tenth}{
    \outerfifthtenth
    \pgf@y=0pt
  }
  \anchor{six tenth}{
    \outerfifthtenth
    \pgf@x=-\pgf@x
    \pgf@y=0pt
  }

  \savedanchor{\outertop}{
    \setlength{\pgf@ya}{\pgfshapeminheight}
    \pgf@x=0pt
    \pgf@y=1\pgf@ya
  }

  \anchor{north center}{
    \outertop
  }

  \anchor{south center}{
    \outertop
    \pgf@y=-\pgf@y
  }

  \backgroundpath{
    \pgfpathrectanglecorners{\lowerleftcorner}{\upperrightcorner}
  }
}

\makeatother

\tikzset{
  stop/.style={
    shape=stop,
    color=black!30,
    draw,
    fill=yellow!30,
    rounded corners=1cm,
    minimum height=2cm,
  },
  stop1/.style={
    stop,
    minimum width=2cm,
  },
  stop2/.style={
    stop,
    minimum width=4cm,
  },
  stop3/.style={
    stop,
    minimum width=6cm,
  },
  stop4/.style={
    stop,
    minimum width=8cm,
  },
  stop5/.style={
    stop,
    minimum width=10cm,
  },
  stop6/.style={
    stop,
    minimum width=12cm,
  },
  stop7/.style={
    stop,
    minimum width=14cm,
  },
  stop8/.style={
    stop,
    minimum width=16cm,
  },
  stop9/.style={
    stop,
    minimum width=18cm,
  }, 
  stop10/.style={
    stop,
    minimum width=20cm,
  },  
}
