1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| \begin{tikzpicture}
%--------start graphics code --------
%Grid for intial drawing.
%Comment next three lines once typesetting finished
\def\hgt{6};
\draw[step=0.5,very thin, black!20] (-0.5,-0.5) grid (7,\hgt);
\foreach \x in {0,...,7} {\node [anchor=north] at (\x,-0.5) {\x};}
\foreach \y in {0,...,\hgt} {\node [anchor=east] at (-0.5,\y) {\y};}
%%%%%%%%%% Wilson current mirror %%%%%%%%%%
\path (0,0) coordinate (ref_node);
\path (ref_node) ++(0,\hgt) coordinate (ref_nodeA);
%Instantiation of components
\draw (ref_node) node[nmos,anchor=source,xscale=-1](M0){}
++(3,0) node[nmos,anchor=source,xscale=1](M1){}
++(0,2) node[nmos,anchor=source,xscale=1](M3){}
++(-3,0) node[nmos,anchor=source,xscale=-1](M2){} ;
\draw (ref_nodeA) to [I,l=$I_{ref}$] (M2.drain);
%Inter-connections
\draw (M0.gate) -- (M1.gate) node[circ]{} |- (M1.drain) node[circ]
-- (M3.source);
\draw (M3.gate) -- (M2.gate) node[circ]{} |- (M2.drain) node[circ]{};
\draw (M2.source) -- (M0.drain);
\draw (M3.drain)++(0,1)
-- (M3.drain)node[currarrow,rotate=270] node[right]{$I_o$};
% Numbering the components
\draw (M0.base) node[left] {$M_0$}
(M1.base) node[right]{$M_1$}
(M2.base) node[left] {$M_2$}
(M3.base) node[right]{$M_3$};
%Ground and Vdd lines
\draw (ref_node) node[ground]{};
\draw (M1.source) node[ground]{};
%--------end graphics code ----------
\end{tikzpicture} |
\begin{tikzpicture}
%--------start graphics code --------
%Grid for intial drawing.
%Comment next three lines once typesetting finished
\def\hgt{6};
\draw[step=0.5,very thin, black!20] (-0.5,-0.5) grid (7,\hgt);
\foreach \x in {0,...,7} {\node [anchor=north] at (\x,-0.5) {\x};}
\foreach \y in {0,...,\hgt} {\node [anchor=east] at (-0.5,\y) {\y};}
%%%%%%%%%% Wilson current mirror %%%%%%%%%%
\path (0,0) coordinate (ref_node);
\path (ref_node) ++(0,\hgt) coordinate (ref_nodeA);
%Instantiation of components
\draw (ref_node) node[nmos,anchor=source,xscale=-1](M0){}
++(3,0) node[nmos,anchor=source,xscale=1](M1){}
++(0,2) node[nmos,anchor=source,xscale=1](M3){}
++(-3,0) node[nmos,anchor=source,xscale=-1](M2){} ;
\draw (ref_nodeA) to [I,l=$I_{ref}$] (M2.drain);
%Inter-connections
\draw (M0.gate) -- (M1.gate) node[circ]{} |- (M1.drain) node[circ]
-- (M3.source);
\draw (M3.gate) -- (M2.gate) node[circ]{} |- (M2.drain) node[circ]{};
\draw (M2.source) -- (M0.drain);
\draw (M3.drain)++(0,1)
-- (M3.drain)node[currarrow,rotate=270] node[right]{$I_o$};
% Numbering the components
\draw (M0.base) node[left] {$M_0$}
(M1.base) node[right]{$M_1$}
(M2.base) node[left] {$M_2$}
(M3.base) node[right]{$M_3$};
%Ground and Vdd lines
\draw (ref_node) node[ground]{};
\draw (M1.source) node[ground]{};
%--------end graphics code ----------
\end{tikzpicture}
|