[Tex/LaTex] Digital circuits

circuitikz

A can't find examples about what I want to do with the circuitTikZ package. I want to put a letter and a black port at the left of this circuit and I want the nand4 to act like an inverter.

\begin{circuitikz} \draw
(0,2) node[nand port] (nand4) {}
(2,3) node[nand port] (nand3) {}
(4,2) node[nand port] (nand2) {}
(0,0) node[nand port] (nand1) {}
(nand1.out) |- (nand2.in 2)
(nand4.out) |- (nand3.in 2)
(nand3.out) |- (nand2.in 1)
;\end{circuitikz}

enter image description here

Best Answer

One possibility:

\documentclass{article}
\usepackage{circuitikz}

\begin{document}

\begin{circuitikz} 
\draw
  (0,2) node[nand port] (nand4) {}
  (2,3) node[nand port] (nand3) {}
  (4,2) node[nand port] (nand2) {}
  (0,0) node[nand port] (nand1) {}
  (nand1.out) |- (nand2.in 2)
  (nand4.out) |- (nand3.in 2)
  (nand3.out) |- (nand2.in 1)
  ;
\draw 
    ([xshift=-1cm]nand1.in 1) 
      coordinate (aux) node[left] {$c$} to[short,*-] 
    (nand1.in 1);
\draw 
    ([xshift=-1cm]nand1.in 2) 
        node[left] {$d$} to[short,*-] 
    (nand1.in 2);
\draw 
    (aux|-nand3.in 1) 
        node[left] {$a$} to[short,*-] 
    (nand3.in 1);
\draw
  (nand4.in 1) -- coordinate (middle) (nand4.in 2);
\draw 
    (aux|-middle) 
        node[left] {$b$} to[short,*-] 
    (middle);
\end{circuitikz}

\end{document}

enter image description here

Related Question