\documentclass{minimal} \pagestyle{empty} \usepackage{pstricks} \usepackage{pst-node} \begin{document} \begin{psmatrix}[mnode=oval, colsep=3cm, rowsep=3cm] [name=add]{\shortstack{\textbf{ADD}}} & & [name=sub]{\shortstack{\textbf{SUB}}} \\ % [mnode=R,name=res]{sys\_res\_n} & [name=idle]{\shortstack{\textbf{idle}}}\\ % [name=mul]{\shortstack{\textbf{MUL}}} & & [name=div]{\shortstack{\textbf{DIV}}} \\ \end{psmatrix} \psset{arrows=->, shortput=nab} \ncline[linestyle=dotted]{res}{idle} \ncarc[arcangle=20]{idle}{add}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$ \emph{\textbf{and}}\\opc = ADD}} \ncarc[arcangle=20]{add}{idle} \ncarc[arcangle=20]{idle}{sub}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$ \emph{\textbf{and}}\\opc = SUB}} \ncarc[arcangle=20]{sub}{idle} \ncarc[arcangle=20]{idle}{mul}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$ \emph{\textbf{and}}\\opc = MUL}} \ncarc[arcangle=20]{mul}{idle} \ncarc[arcangle=20]{idle}{div}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$ \emph{\textbf{and}}\\opc = DIV}} \ncarc[arcangle=20]{div}{idle} \end{document}