0

两个信号XY通过公共 NAND 门两次,即

 (X NAND Y) ---> NAND GATE

代数上,解决方案如下:

=(X NAND Y) NAND (X NAND Y)
=(X•Y)' NAND (X•Y)'
=[(X•Y)' • (X•Y)']'

现在,根据德摩根布尔代数定律,

=(X•Y)'' + (X•Y)''
=(X•Y) + (X•Y)
= X•Y

现在,如果X=1 & Y=0

 X•Y = 1•0 = 0 (Ans.)

从与逻辑门的定义来看,如果通过与非门的所有信号均为低电平,即0,则输出为1。如果任何信号为高电平,即1,则输出为0。由此,

 (1 NAND 0) NAND (1 NAND 0)
=0 NAND 0
=1 (Ans.)

从这两种方法中,我们得到两种不同的结果。请告诉我哪个被接受,以及是否有任何缺陷。

4

2 回答 2

0

与非门的定义是“如果所有输入信号为 0,则输出为 1。如果任何信号为 1,则输出为 0 ”是错误的。与非逻辑门的正确解释来自代数形式,即:

   X NAND Y
= (X • Y)'
=  X' + Y' ----> (From De'Morgan's law)

感谢@AxelKemper 帮助我得出这个结论。

于 2016-03-19T11:32:43.197 回答
0

你做错了布尔算法

从你的问题

与非逻辑门的定义,如果通过与非门的所有信号都是低电平,即0,则输出为1。

是错误的说法。

为什么你对 NAND Logic 感到困惑

你问我上面的问题

(X 与非 Y) = (X•Y)'

那么为什么你应该使用错误的定义(或另一个定义)。

所以

(1 NAND 0) NAND (1 NAND 0) = 1 NAND 1 = 0 (Ans.) // 但你写的是 0 NAND 0 = 1

了解有关 NAND 逻辑的更多信息

于 2016-04-19T12:03:30.830 回答