\begin{tikzpicture} [ major/.style={rectangle,draw,rounded corners, thick, align=center, minimum size=20mm}, minor/.style={rectangle,draw,rounded corners, thick, minimum width=40mm, minimum height=15mm} ] \node (generate-header)[major] {\texttt{generate-header}}; \node (netlist)[major, above=5em of generate-header] {Netlist\\\texttt{foo.net}}; \node (schematic)[major, above=5em of netlist] {Schematic\\\texttt{foo.sch}}; \node (header)[major, below=5em of generate-header] {Header\\\texttt{foo.h}}; \node (template)[major, left=5em of netlist] {Template\\\texttt{my-template}}; \draw [-Straight Barb, thick] (schematic.south) -- (netlist.north) node[above, midway] {}; \draw [-Straight Barb, thick] (netlist.south) -- (generate-header.north) node[above, near end] {}; \draw [-Straight Barb, thick] (generate-header.south) -- (header.north) node[above, midway] {}; \draw [-Straight Barb, thick] (template.south) |- (generate-header.west) node[above, near end] {}; \end{tikzpicture}