如何在乳胶中绘制具有许多输入的大型逻辑电路

如何在乳胶中绘制具有许多输入的大型逻辑电路

我们如何绘制具有 128 个输入的逻辑电路而不显示所有输入,这意味着我们可以绘制一个逻辑图,显示 3 位或 4 位作为输入,但我们如何绘制 128 个输入,并标记 1 个或 2 个输入,其他的将一直持续到 127(没有标记),并且第 128 位应该被标记。

答案1

首先欢迎来到 TeX.SE,下次请向我们展示您迄今为止尝试过的内容。我们一般不喜欢do-it-for-me一类问题。

首先回答一下,您可以使用circuitspositioning在 内轻松实现这一目标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}

要得到:

在此处输入图片描述

然而,ciruittikz值得一看的是:

是否可以使用 circuitikz 实现多个输入逻辑端口?

如何在 Circuitikz 中反转逻辑门输入

答案2

我认为,从可读性的角度来看,128 个端口太多了。如果你使用新版本(未发布)circuitikz,你可以找到github 页面中的快照)您只能使用 16 个引脚(在我看来仍然不可读)。

我会做类似以下的事情,并用文字标记通向大线或某种符号的电线......像这样

\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}

例子

相关内容