\documentclass[border=10pt]{standalone}
\usepackage[european]{circuitikz}
\usepackage{../../register-transfer-level}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning, calc, shadows, decorations.markings}

\begin{document}

\begin{circuitikz}[>=Stealth, thick, line width=1.25]

	\draw[<-] (-2, 0.75) -- (-2, 2) node[left, rotate=90, xshift=0.7cm] {\sffamily\LARGE ...} node[left, above, rotate=90, xshift=0cm] {\sffamily\LARGE START};
	\draw[] (2, 0.75) -- (2, 2) node[left, rotate=90, xshift=0.7cm] {\sffamily\LARGE ...} node[left, below, rotate=90, xshift=0cm] {\sffamily\LARGE BUSY};

	\node[rtl_module, rtl_width=15cm, rtl_height=1.5cm] at (0,0) (macroController) {\sffamily\LARGE Distributed Pipeline Controller};

	\node[rtl_module={\sffamily\LARGE Clarke \\\sffamily\LARGE Transform}, rtl_width=3cm, rtl_height=10cm] at (-4, -8) () {};
	\node[rtl_reg] at (-5, -6) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (-3, -6) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (-5, -11) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (-3, -11) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (-5, -8.5) () {\sffamily\LARGE Reg};

	\node[rtl_module={\sffamily\LARGE Atan2}, rtl_width=3cm, rtl_height=10cm] at (4, -8) () {};
	\node[rtl_reg] at (3, -6) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (5, -8.5) () {\sffamily\LARGE Reg};
	\node[rtl_reg] at (3, -11) () {\sffamily\LARGE Reg};

	\draw[->,rtl_bus, line width=3] (-2.25,-6) -- (2.25,-6)node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{D_\alpha}$};
	\draw[->,rtl_bus, line width=3] (-2.25,-11) -- (2.25,-11) node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{D_\beta}$};

	\draw[->,rtl_bus, line width=3] (-8,-6) -- (-5.75,-6) node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{D_u}$};
	\draw[->,rtl_bus, line width=3] (-8,-8.5) -- (-5.75,-8.5) node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{D_v}$};
	\draw[->,rtl_bus, line width=3] (-8,-11) -- (-5.75,-11) node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{D_w}$};

	\draw[->,rtl_bus, line width=3] (5.75,-8.5) -- (8,-8.5) node[above, midway, yshift=0.15cm]{\sffamily\LARGE $\mathsf{\phi}$};

	\draw[->] (-4.6, -0.75)node[left, above, rotate=90, xshift=-1.15cm] {\sffamily\LARGE START}  -- (-4.6, -3);
	\draw[->] (-3.4, -3) -- (-3.4, -0.75)node[left, below, rotate=90, xshift=-1.15cm] {\sffamily\LARGE BUSY};

	\draw[->] (3.4, -0.75) node[left, above, rotate=90, xshift=-1.15cm] {\sffamily\LARGE START} -- (3.4, -3);
	\draw[->] (4.6, -3) -- (4.6, -0.75) node[left, below, rotate=90, xshift=-1.15cm] {\sffamily\LARGE BUSY};

\end{circuitikz}
\end{document}
