\coordinate (origin) at (0,0); \node[nmos,xscale=-1] (mr) at (-2,0) {}; \node[nmos] (m1) at ( 2,0) {}; \draw (mr.gate) -- (origin) -- (m1.gate); \draw (m1.gate) to [short,*-] (m1.gate|-m1.drain) to [short,-*] (m1.drain); \draw (mr.drain) to [short,-] ++ (0,0.25) node [nmos,anchor=source,xscale=-1] (mx) {}; \draw (mx.gate) to [short,*-] (mx.gate|-mx.drain) to [short,-*] (mx.drain); \draw (mx.drain) to [short,-o,f<_=$I_{\mathrm{R}}$] ++ (0,1.25) coordinate (in); \draw (mr.source) to [short,-] ++ (0,-0.3) coordinate (x) to [short,-*] (x-|origin) coordinate (gnd) to [short,-] (gnd-|m1.source) to [short,-] (m1.source); \draw (m1.drain) to [short,-] (m1.drain|-mx.source) node [nmos,anchor=source] (m2) {}; \draw (mx.gate) -- (m2.gate); \draw (m2.drain) to [short,-o,f<=$I_{\mathrm{O}}$] (m2.drain|-in) coordinate (out); \node[vss] at (gnd) {}; \path [voltarrow] ($(in)+(-1,0)$) edge[bend left=-30] node[midway,left,inner sep=1pt] {$V_{\mathrm{R}}$} ($(mr.source)+(-1,0)$); \path [voltarrow] (mr.gate) edge[bend right=-30] node[midway,below right,inner sep=1pt] {$V_{\mathrm{GS}}$} (mr.source); \path [voltarrow] (m1.gate) edge[bend left=-30] node[midway,below left,inner sep=1pt] {$V_{\mathrm{GS}}$} (m1.source); \path [voltarrow] ($(out)+(1,0)$) edge[bend right=-30] node[midway,right,inner sep=1pt] {$V_{\mathrm{O}}$} ($(m1.source)+(1,0)$); \node[ anchor = east , inner sep = 2pt , font = \footnotesize ] () at ($(mr.source)!0.775!(mr.drain)$) {MNCM1A}; \node[ anchor = east , inner sep = 2pt , font = \footnotesize ] () at ($(mx.source)!0.775!(mx.drain)$) {MNCM2R}; \node[ anchor = west , inner sep = 2pt , font = \footnotesize ] () at ($(m1.source)!0.775!(m1.drain)$) {MNCM1R}; \node[ anchor = west , inner sep = 2pt , font = \footnotesize ] () at ($(m2.source)!0.775!(m2.drain)$) {MNCM2A};