如何使用NAND门转换此表达式NOT(a)OR NOT(b)AND NOT(c)?我试图这样做,但我找不到正确的答案。
答案 0 :(得分:1)
首先,所有逻辑方程都可以用NAND门表示。考虑一下NOT ....只需将NAND的两个输入连接在一起就可以了! NOT NAND是AND,OR是驱动NAND的两个NOT门!这一切都很酷...... 做一些关于数学逻辑的研究,你应该找到各种转换技术的细节。
答案 1 :(得分:0)
您可以逐步应用以下公式:
NOT(A) OR NOT(B) = A NAND B
A AND B = NOT(A NAND B)
NOT(A) = A NAND A
答案 2 :(得分:0)
我建议使用Rott的网格。这是De Morgan定律的图形化应用程序,仅使用NOR和NAND门的组合来优化设计非常有用。通常它可以很快完成而不用担心犯错误。
每个罗特的网格都是根据以下三个原则创建的:
这是匹配的Rott网格中的给定表达式:
f = ¬a + ¬b ⋅ ¬c
--------------
⋅ +
| --------
| ⋅
| |
a | ¬b | ¬c
正如您所看到的,原始表达式被转换为等效物,即仅使用两个2输入NAND门(以及一些逆变器,也可以由NAND门替换)。网格只是将De Morgan定律应用于原始表达式的图形表示:
f = (¬a + (¬b ⋅ ¬c))
= ¬(¬(¬a + (¬b ⋅ ¬c))) //double negation law: ¬(¬x) = x
= ¬(¬¬a ⋅ ¬(¬b ⋅ ¬c)) //De Morgan's law
= ¬(a ⋅ ¬(¬b ⋅ ¬c)) //double negation law: ¬¬a = a
f = nand(a, nand(not(b), not(c)))
(.gif图片是使用online latex tool生成的)