% based on Ch. 2 of "Systematic Design of Anlog Integrated Circuits: % Using Pre-Computed Lookup Tables" by Paul G.A. Jespers and Boris Murmann \begin{axis}[ ylabel=$\mathrm{IC}\equal\nicefrac{I_{\mathrm{D}}}{I_{\mathrm{S}}}$ , xlabel=$\frac{V_{\mathrm{GS}}-V_{\mathrm{TH}}}{nV_{\mathrm{T}}}$ % normalized drain current , ymode=log , xmin=-10 , xmax=40 , ymin=0.001 , ymax=1000 , grid=both , width= 12cm ] \addplot[ mark=none , domain=0.001:1.05 , samples=20 , smooth , thick] ({2*(x-1)+ln(x)},{x^2+x}); \addplot[ mark=none , domain=1:19.5 , samples=70 , smooth , thick] ({2*(x-1)+ln(x)},{x^2+x}); \addplot[ mark=none , domain=0.001:1.05 , samples=20 , smooth ] ({2*(x-1)+ln(x)},{x^2}); \addplot[ mark=none , domain=1:19.5 , samples=70 , smooth ] ({2*(x-1)+ln(x)},{x^2}); \addplot[ mark=none , domain=0.001:1.05 , samples=20 , smooth ] ({2*(x-1)+ln(x)},{x}); \addplot[ mark=none , domain=1:19.5 , samples=70 , smooth ] ({2*(x-1)+ln(x)},{x}); \draw[dashed] (axis cs:-3.209,0.001) -- (axis cs:-3.209,1000); \draw[dashed] (axis cs:9.609,0.001) -- (axis cs:9.609,1000); \draw[dashed] (axis cs:-10,30) -- (axis cs:40,30); \draw[dashed] (axis cs:-10,0.24) -- (axis cs:40,0.24); \node[ fill=white , inner sep=2pt , anchor=north ] at (axis cs:3.3,900) {moderate (M.I.)}; \node[ fill=white , inner sep=2pt , anchor=north ] at (axis cs:25,900) {strong (S.I.)}; \node[ fill=white , inner sep=2pt , text width=1cm , align=center , anchor=north] at (axis cs:-6.6,900) {weak (W.I.)}; \draw[{Latex[round,scale=0.9]}-] (axis cs:22.5,10.75) -- (axis cs:25,2) node[anchor=north,fill=white,inner sep=2pt] {diffusion}; \draw[{Latex[round,scale=0.9]}-] (axis cs:-2.5,0.11) -- (axis cs:1.5,0.015) node[anchor=north,fill=white,inner sep=2pt] {drift}; \draw[{Latex[round,scale=0.9]}-] (axis cs:0,2) -- (axis cs:-2,50) node[fill=white,inner sep=2pt] {drift+diffusion}; \end{axis}