So zeichnen Sie in Latex eine große Logikschaltung mit vielen Eingängen

So zeichnen Sie in Latex eine große Logikschaltung mit vielen Eingängen

Wie können wir Logikschaltungen mit 128 Eingängen zeichnen, ohne alle Eingänge anzuzeigen? Das heißt, wir können ein Logikdiagramm zeichnen, bei dem 3 oder 4 Bits als Eingabe angezeigt werden, aber wie können wir 128 Eingänge mit der Beschriftung von 1 oder 2 Eingängen zeichnen, und so weiter bis 127 (ohne Beschriftung), und das 128. Bit sollte beschriftet sein.

Antwort1

Zunächst einmal herzlich willkommen bei TeX.SE. Zeigen Sie uns beim nächsten Mal bitte, was Sie bisher versucht haben. Wir bevorzugen im Allgemeinen keine do-it-for-meFrageklassen.

Beginnen wir Ihre Antwort mit: Dies können Sie problemlos mit circuitsund positioninginnerhalb erreichen tikzlibrary.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{circuits.logic.US,circuits.logic.IEC, positioning}
\begin{document}
\begin{tikzpicture}[minimum height=0.75cm] 
\node[and gate US, draw,logic gate inputs=nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn] (A) {}; 
\foreach \a in {1,...,128}
\draw (A.input \a) -- ([xshift=-2cm]A.input \a); 
\draw (A.output) -- ([xshift=2cm]A.output);
% naming the nodes
\node [left = 2.1cm of A.input 1] (n1) {1};
\node [left = 2.1cm of A.input 2] (n2) {2};
\node [left = 2.1cm of A.input 126] (n3) {126};
\end{tikzpicture}   

\end{document}

zu bekommen:

Bildbeschreibung hier eingeben

Allerdings ciruittikzlohnt sich bei folgendem ein Blick:

Ist es möglich, mit Circuitikz mehrere logische Eingangsports zu implementieren?

So invertieren Sie den Logic Gate-Eingang in Circuitikz

Antwort2

Ich denke, dass aus Sicht der Lesbarkeit ein 128-Port-Gerät zu viel ist. Wenn Sie die neue (unveröffentlichte) Version von verwenden circuitikz(Sie finden eineSnapshot auf der GitHub-Seite) sind Sie auf (meiner Meinung nach immer noch nicht lesbare) 16 Pins beschränkt.

Ich würde so etwas wie das Folgende tun und die Drähte, die zum großen gehen, mit einem Text oder mit einer Art Symbol markieren ... so

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikzgit}
\begin{document}
\begin{circuitikz}[
    ]
    \ctikzset{logic ports origin=center}
    \draw(0,0) node[dipchip, num pins=14, no topmark, 
    external pins width=0, hide numbers](A){};
    \foreach \i/\l in {1/1, 2/2, 7/128} 
    \draw (A.bpin \i) node[right, font=\tiny]{\l} -- ++(-0.5,0) coordinate(my pin \i);
    \path (A.bpin 4) node[left]{$\vdots$};
    \draw (A.bpin 11) node[above right, font=\tiny]{out} -- ++(0.5,0);
    \path (A.center) node [american and port]{IC1};
    \draw (my pin 1) -- ++(-0.5,0) node[american xnor port, anchor=out]{}; 
    \draw (-4,-1) node[american xnor port](B){};
    \draw [->] (B.out) -- ++(0.5,0) node[right, align=left]{to IC1\\ pin 36};
\end{circuitikz}
\end{document}

Beispiel

verwandte Informationen