Hilfe in diesem Transistor-Level-Schaltkreis

Hilfe in diesem Transistor-Level-Schaltkreis

Ich arbeite in diesem Schaltkreis:

Bildbeschreibung hier eingeben

Hier, was ich getan habe:

\documentclass[11pt]{article}

\usepackage[english]{babel}
\usepackage{circuitikz}
\usepackage{tikz}
\begin{document}

\begin{center}
\begin{circuitikz}[american voltages, european resistors]
\ctikzset { label/align = straight }
\draw (0,0) 
node[nmos](nmosA){}node[left=10mm] {$\overline{A}$} (2,0)
node[nmos](nmosB){}node[left=10mm] {B}
(nmosA.D) to (nmosB.D)
to [short,*-o] ++(1,0) {} node[right=2mm] {Y}
(1,-1.54) node[nmos](nmosC){}node[left=10mm] {C}
(nmosA.S) to (nmosC.D) to (nmosB.S);
%(nmosC.S) to node[ground]{};
\end{circuitikz}
\end{center}
\end{document}

Bildbeschreibung hier eingeben

Ich würde gerne wissen, wie man die Masse anschließt (die Art, wie ich es versucht habe, ist falsch), wie man Kreise in die offenen Anschlüsse der Transistoren einfügt und vielleicht, wie man die Zeichnung verbessert, da ich einige seltsame Koordinaten eingegeben habe (1,-1.54) node[nmos](nmosC){}node[left=10mm]. Wenn jemand ein ähnliches Beispiel hat, wäre das von großem Wert. Grüße.

Antwort1

Ich würde es so machen: Anstatt die Position der Beschriftungen manuell anzupassen, verwenden Sie die Anker der Transistoren und positionieren Sie die Beschriftungsknoten links oder rechts davon. toMit Pfaden, die nirgendwohin führen ( ++(0,0)) können Sie an den Transistorankern gefüllte oder offene Markierungen hinzufügen.

Ich habe außerdem die manuelle Positionierung des Transistors „C“ vermieden, indem ich die calcBibliothek zum Berechnen des Mittelpunkts und zum Verankern des letzten Transistors an seinem Drain verwendet habe.

\documentclass[tikz]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{calc}
\ctikzset { label/align = straight }

\begin{document}
\begin{circuitikz}[american voltages, european resistors]
\draw (0,0) 
  node[nmos] (nmosA) {}
  (nmosA.G) to[short,-o] ++(0,0) node[left] {$\overline{A}$} (2,0)
  node[nmos] (nmosB) {}
  (nmosB.G) to[short,-o] ++(0,0) node[left] {B}
  (nmosA.D) to (nmosB.D)
  to [short,*-o] ++(1,0) {} node[right] {Y}
  (nmosA.S) to[short] (nmosB.S)
  ($(nmosA.S)!0.5!(nmosB.S)$) to[short,-*] ++(0,0) node[nmos,anchor=D] (nmosC) {}
  (nmosC.G) to[short,-o] ++(0,0) node[left] {C}
  (nmosC.S) node[ground] {};
\end{circuitikz}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen