【问题标题】:Writing an expression using only NAND, OR, XNOR仅使用 NAND、OR、XNOR 编写表达式
【发布时间】:2020-04-12 02:40:23
【问题描述】:

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

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

【问题讨论】:

    标签: boolean-logic boolean-algebra circuit-diagram


    【解决方案1】:

    您不能从 NAND 构建:

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

    【讨论】:

      【解决方案2】:

      与非门是通用门;你可以用它来做任何其他的门。

      s' = nand(s,s)

      【讨论】:

        【解决方案3】:

        简单的解决方案

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

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

        高级解决方案

        (S OR (A XNOR B)) XNOR A

        后一种方案肯定更有趣:

        • 它使用更少的门(尽管有两种不同的类型)。
        • 它不使用functionally complete 门集(因此不那么琐碎)。

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

        1. 构造 2:1 多路复用器的 Zhegalkin polynomial 并稍微简化:(S AND (A XOR B)) XOR B
        2. 请注意,布尔函数 dual 到 2:1 多路复用器也是 2:1 多路复用器,但用于交换输入信号。
        3. 现在“对偶化”多项式(分别将 ANDXOR 替换为 ORXNOR)并将 A 替换为 B

        【讨论】:

          猜你喜欢
          • 2020-04-09
          • 1970-01-01
          • 2012-04-08
          • 2018-11-18
          • 1970-01-01
          • 2018-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多