0

我有一个 2-1 多路复用器,我正在尝试z = s'd0 + sd1 仅使用NANDXNOROR门(不一定全部)来编写。

我尝试简化它,最终得到的是z = NAND(NAND(s', d0), NAND(s, d1)),但我不能使用NOT( '),所以有没有办法在NAND(s', d0)没有 的情况下编写NOT

4

3 回答 3

2

您可以不从 NAND 构建:

NAND(X,X) == NOT(X)

不是来自 NAND

于 2019-12-19T13:32:27.367 回答
1

简单的解决方案

其他人提出的解决方案的完整版是(A NAND S) NAND (B NAND (S NAND S)).

使用nand的电路,4个门

顺便说一句,NOT X也可以表示为X NAND 1,而不仅仅是X NAND X

先进的解决方案

(S OR (A XNOR B)) XNOR A

使用 xnor 和 xor 的电路,3 个门

后一种解决方案肯定更有趣:

  • 它使用较少数量的门(尽管有两种不同的类型)。
  • 它使用功能不完整的门集(因此不那么琐碎)。

如何找到后一种解决方案?

  1. 构造 2:1 mux 的Zhegalkin 多项式并稍微简化:(S AND (A XOR B)) XOR B.
  2. 请注意,布尔函数dual to 2:1 mux 也是 2:1 mux,但用于交换的输入信号。
  3. 现在“对偶”多项式(分别替换ANDXOR和)ORXNOR交换A.B
于 2019-12-29T02:01:16.253 回答
1

与非门是通用门;您可以使用它来制作任何其他门。

s' = nand(s,s)

于 2019-12-19T13:34:36.507 回答