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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
| \begin{tikzpicture}
%--------start graphics code --------
%Define figure dimensions
\def\figHt{6};
\def\figWd{7};
%Grid for intial drawing.
%Comment next three lines once typesetting finished
\draw[step=0.5,very thin, black!20] (-0.5,-0.5) grid (\figWd,\figHt);
\foreach \x in {0,...,\figWd} {\node [anchor=north] at (\x,-0.5) {\x};}
\foreach \y in {0,...,\figHt} {\node [anchor=east] at (-0.5,\y) {\y};}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% PMOS current mirror %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ref_node) at (0,0);
\coordinate (ref_nodeT) at ($(ref_node)+(0,\figHt)$);
%Instantiation of components
\draw (ref_nodeT) node[pmos,anchor=source,xscale=-1](Mt0){};
\draw (Mt0.drain) to [I=$I_{ref}$] (ref_node);
%Inter-connections
\draw (Mt0.gate) |- (Mt0.drain) node[circ]{};
% Numbering the components
\draw (Mt0.base) node[left] {$M_{t0}$};
%Ground and Vdd lines
\draw (ref_node) node[ground]{};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Differential pair(PMOS input) %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ref_node4) at (4,0);
\path (ref_node4) ++(0,\figHt)coordinate (ref_node4T);
\path (ref_node4) ++(-1.5,0) coordinate (ref_node4N);
\path (ref_node4N) ++(3,0) coordinate (ref_node4P);
%Instantiation of components
\draw (ref_node4T) node[pmos,anchor=source](M0){}
(ref_node4T) ++(-1.5,-2) node[pmos,anchor=source](M1){}
(ref_node4T) ++(1.5,-2) node[pmos,anchor=source,xscale=-1](M2){}
(ref_node4N) node[nmos,anchor=source,xscale=-1](M3){}
(ref_node4P) node[nmos,anchor=source,xscale=1](M4){};
%Inter-connections
\draw (M0.drain) |- (M1.source)
-- ++(1.5,0) node[circ]{} -- (M2.source);
\draw (M2.drain) -- (M4.drain)
(M1.drain) -- (M3.drain) node[circ]{}
-| (M3.gate) node[circ]{} -- (M4.gate);
% Numbering the components
\draw (M0.base) node[right] {$M_{0}$};
\draw (M1.base) node[right] {$M_{1}$};
\draw (M2.base) node[left] {$M_{2}$};
\draw (M3.base) node[left] {$M_{3}$};
\draw (M4.base) node[right] {$M_{4}$};
\draw (M1.gate) node[ocirc]{}node[left]{$v_{ip}$};
\draw (M2.gate) node[ocirc]{}node[right]{$v_{im}$};
\draw (M4.drain)node[circ]{}
-- ++(0.5,0) node[ocirc]{} node[right]{$v_{out}$};
%Ground and Vdd lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% TOP-LEVEL INTERCONNECTIONS %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\draw (Mt0.source) to node[anchor=south]{$V_{DD}$} (M0.source);
\draw (ref_node) node[circ]{} -- (M3.source) node[circ]{} -- (M4.source);
\draw (Mt0.gate) node[circ]{} -- (M0.gate);
%--------end graphics code ----------
\end{tikzpicture} |
\begin{tikzpicture}
%--------start graphics code --------
%Define figure dimensions
\def\figHt{6};
\def\figWd{7};
%Grid for intial drawing.
%Comment next three lines once typesetting finished
\draw[step=0.5,very thin, black!20] (-0.5,-0.5) grid (\figWd,\figHt);
\foreach \x in {0,...,\figWd} {\node [anchor=north] at (\x,-0.5) {\x};}
\foreach \y in {0,...,\figHt} {\node [anchor=east] at (-0.5,\y) {\y};}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% PMOS current mirror %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ref_node) at (0,0);
\coordinate (ref_nodeT) at ($(ref_node)+(0,\figHt)$);
%Instantiation of components
\draw (ref_nodeT) node[pmos,anchor=source,xscale=-1](Mt0){};
\draw (Mt0.drain) to [I=$I_{ref}$] (ref_node);
%Inter-connections
\draw (Mt0.gate) |- (Mt0.drain) node[circ]{};
% Numbering the components
\draw (Mt0.base) node[left] {$M_{t0}$};
%Ground and Vdd lines
\draw (ref_node) node[ground]{};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Differential pair(PMOS input) %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ref_node4) at (4,0);
\path (ref_node4) ++(0,\figHt)coordinate (ref_node4T);
\path (ref_node4) ++(-1.5,0) coordinate (ref_node4N);
\path (ref_node4N) ++(3,0) coordinate (ref_node4P);
%Instantiation of components
\draw (ref_node4T) node[pmos,anchor=source](M0){}
(ref_node4T) ++(-1.5,-2) node[pmos,anchor=source](M1){}
(ref_node4T) ++(1.5,-2) node[pmos,anchor=source,xscale=-1](M2){}
(ref_node4N) node[nmos,anchor=source,xscale=-1](M3){}
(ref_node4P) node[nmos,anchor=source,xscale=1](M4){};
%Inter-connections
\draw (M0.drain) |- (M1.source)
-- ++(1.5,0) node[circ]{} -- (M2.source);
\draw (M2.drain) -- (M4.drain)
(M1.drain) -- (M3.drain) node[circ]{}
-| (M3.gate) node[circ]{} -- (M4.gate);
% Numbering the components
\draw (M0.base) node[right] {$M_{0}$};
\draw (M1.base) node[right] {$M_{1}$};
\draw (M2.base) node[left] {$M_{2}$};
\draw (M3.base) node[left] {$M_{3}$};
\draw (M4.base) node[right] {$M_{4}$};
\draw (M1.gate) node[ocirc]{}node[left]{$v_{ip}$};
\draw (M2.gate) node[ocirc]{}node[right]{$v_{im}$};
\draw (M4.drain)node[circ]{}
-- ++(0.5,0) node[ocirc]{} node[right]{$v_{out}$};
%Ground and Vdd lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% TOP-LEVEL INTERCONNECTIONS %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\draw (Mt0.source) to node[anchor=south]{$V_{DD}$} (M0.source);
\draw (ref_node) node[circ]{} -- (M3.source) node[circ]{} -- (M4.source);
\draw (Mt0.gate) node[circ]{} -- (M0.gate);
%--------end graphics code ----------
\end{tikzpicture}
|