This repository has been archived on 2023-07-29. You can view files and clone it, but cannot push or open issues or pull requests.
sscs-chipathon-sar-adc/figures/bootstrap_sw.tex

69 lines
2.2 KiB
TeX

\documentclass[border=5pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\coordinate (origin) at (0, 0);
\node [nmos, xscale=-1] (m1) at (0.5, -1.5){};
\node [nmos] (m2) at ($(m1) + (2.5, 0)$){};
\draw (m1.drain) to (m1.drain |- origin);
\draw (m2.drain) to (m2.drain |- origin);
\draw (m1.gate) to (m2.source);
\draw (m2.gate) to (m1.source);
\node [nmos] (m3) at ($(m2) + (1.5, 0)$){};
\draw (m3.drain) to (m3.drain |- origin);
\draw (m2.gate) to++ (0, 1) coordinate (temp)
to (temp -| m3.gate)
to (m3.gate);
\draw (m1.source) to[C]++ (0, -2) coordinate (c1);
\draw (m2.source) to[C]++ (0, -2) node[not port, anchor=out, rotate=-90, scale=-1] (not) {};
\draw (not.in) to++ (0, -1) coordinate (not_in)
to (not_in -| c1) coordinate(phi_j)
to[short, -*] (phi_j -| origin) node[above]{$\bar{\Phi}$};
\draw (c1) to (phi_j);
\draw (m3.source) to[C]++ (0, -2)
to++ (0, -1) node[nmos, anchor=drain](m4){};
\draw (not_in) -| (m4.gate);
\node [ground] at (m4.source){};
\draw (m4.drain) ++ (2.5, 0) node[nmos, anchor=source](m6){};
\node [pmos, anchor=drain](m5) at (m6.drain){};
\draw (m5.gate) to (m6.gate);
\draw ($(m5.gate)!0.5!(m6.gate)$) to[short, -*]++ (-0.5, 0) node[left]{$\Phi$};
\draw (m5.source) to (m5.source |- origin);
\draw (m6.drain) to++ (1, 0) node[nmos, anchor=drain, xscale=-1](m8){}
to++ (0, 1) node[nmos, anchor=gate, rotate=90](m7){};
\draw (m7.drain) |- (m3.source);
\draw (m8.gate) to++ (0.5, 0) node[nmos, anchor=gate, rotate=-90](m9){}
to++ (2, 0) node[nmos, anchor=gate, rotate=-90](m10){};
\draw (m4.drain) to (m8.source) |- (m9.source);
\draw (m9.drain) to (m10.source);
\draw ($(m9.drain)!0.5!(m10.source)$) to[short, -*]++ (0, -1) node[below] {$V_{in}$};
\draw (m10.drain) to[short, -*]++ (0, -1) node[below] {$V_{out}$};
\node [nmos, anchor=source, rotate=-90](m11) at (m7.source){};
\draw (m11.gate) to (m11.gate |- origin);
\node [nmos, anchor=source, rotate=-90](m12) at (m11.drain){};
\draw (m12.gate) to[short, -*]++ (1.5, 0) coordinate (phi_right) node[above]{$\bar{\Phi}$};
\node [ground] at (m12.drain){};
\draw (origin) node[above]{$V_{DD}$} to[short, *-*] (origin -| phi_right);
\end{circuitikz}
\end{document}