如何将(abc)转换为NAND门?

时间:2013-02-14 02:15:49

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

使用DeMorgans我得到:

~~(abc)  // ~ is the not.

我的问题是当我尝试构建电路时,NAND门只需要2个输入。那我怎么把它拆成3?如果它是AND门,我会使用两个,方程式为:

(a AND b) AND c

然而,这不适用于我的NAND,因为

~((a NAND b) NAND c) != (abc)

3 个答案:

答案 0 :(得分:0)

如果你想要的只是一个当所有输入都是1时输出0的电路......

你可以简单地检查它们中的任何一个是否为0,然后否定它。

你已经说过答案:De Morgan的法律。只需应用它们: 〜(a ^ b ^ c)= ~a或~b或~c

虽然也许我错过了什么。还有其他我可能没有接受过的限制吗?

答案 1 :(得分:0)

2~的意思是你不想输出两次?如果是这样,~~(abc)=(abc),(两个NOT相互抵消)所以你可以做(​​a AND b)AND c。

如果你想只取一次(abc)的NOT,你可以先做(a AND b)AND c,然后你可以通过一个逆变器传递那个输出。你需要两个芯片而不是一个。

答案 2 :(得分:0)

我建议使用Rott的网格。 Rott的网格是De Morgan定律的图形应用程序,它对解决像你这样的问题特别有用。一些逻辑门需要比其他更多的晶体管。减少逻辑门处的潜在延迟的需要可能是使用门NOR或NAND优化设计的动机。找到相应的功能 - 使用您需要的逻辑门 - 可以使用Rott的网格快速完成:

每个Rott的网格都是根据以下三个原则创建的:

  • 通过在⋅(连接)和+(分离)之间切换并将它们与水平线(否定)分开来尊重De Morgan的定律,
  • 垂直线分隔各个输入,改变逻辑门的数量。输入,
  • 在最后一行上的
  • 将输入变量置于其主要或否定形式 - 这是由它们上面的水平线的数量单独确定的。

以下五个网格中的所有网格都是给定函数的不同表示:

 a ⋅ b ⋅ c      a ⋅ b ⋅ c      a ⋅ b ⋅ c      a ⋅ b ⋅ c      a ⋅ b ⋅ c 
   |   |       -----------    -----------    -----------    -----------
 a | b | c        +   +          +   +          +   +          +   + 
               -----------    -----------       | ------       | ------
                  ⋅   ⋅          ⋅   ⋅          |   ⋅          |   ⋅
                  | ------    ------ |          | ------       |   |
                  |   +          +   |          |   +       ¬a | b | c
                  | ------    ------ |          |   |
                  |   ⋅          ⋅   |       ¬a | ¬b|¬c
                  |   |          |   |
                a | b | c      a | b | c

Equivalent boolean expressions to the given function

第一个网格并不真正有用,它只是由3输入AND实现的原始函数:

f = a ⋅ b ⋅ c

第二个Rott的网格仅使用2输入NAND实现。您可以使用两个2输入NAND和两个逆变器或四个2输入NAND - 其中两个位于逆变器和#39;因为两个引脚上具有相同输入的2输入NAND会反转信号。

f = ¬(nand(a,¬(nand(b,c))))

第三个Rott的网格只是第一个的变种。

f = ¬(nand(¬(nand(a,b)),c))

第四个Rott的网格可以通过使用两个2输入NOR和四个反相器来实现。逆变器可以用2输入NOR或2输入NAND代替。

f = nor(¬a,¬(nor(¬b,¬c))))

第五个Rott的网格可以通过组合一个2输入NOR,一个2输入NAND和一个逆变器来实现。

f = nor(not(a),nand(b,c))

(图片是使用online latex tool生成的。)