【问题标题】:binary to NAND gate - boolean algebra二进制到与非门 - 布尔代数
【发布时间】:2010-10-15 05:31:31
【问题描述】:

我正在学习数字逻辑课程,我正在尝试将这个二进制数相乘。我不确定什么是进位和结转。老师的幻灯片很可怕。看起来他使用了一个真值表来做到这一点,但它令人困惑。

   X1X0 
 + Y1Y0
   ----
 Z2Z1Z0

我想这就是它的设置方式!现在,对于乘法部分

    1  carry in?
110101 
X 1101
------
101011001  thats what i ended up with. Probobly, not right!

我认为我的真值表应该是这样的:请记住,这不是我上面的答案所设置的

       X1X0 
     + Y1Y0
       ----
     Z2Z1Z0

       X0 Y0   Carry     Z0
       0   0     0        0
       1   0     0        1
       0   1     0        1
       1   1     1        0



  X1  Y1   Carryin            Carryout Z1 
  0   0     0                       0   0
  1   0     0                       0   1
  0   1     0                       0   1
  1   1     0                       1   0
  0   0     1                       0   1
  1   0     1                       1   0

我对 x1 和 y1 部分感到困惑 如果我能看到它的实际效果,并在其倍增时标出“carry in”和“carry out”是什么,那就更容易了。

“进位”是1+1的结果,“进位”是下一个进位的结果吗?

我认为在我们完成真值表之后,进行进位和执行 我们将使用布尔代数,例如:

Z1 = X1• Y1' • Carryin' + X1' • Y1• Carryin' + X1' • Y1' • Carryin + X1• Y1• Carryin 
Carryout = X1• Y1• Carryin' + X1 • Y1' • Carryin + X1' • Y1• Carryin + X1 • Y1• Carryin
Z2 = Carryout

我们将“仅使用 NAND 运算符计算 AND、OR 和 NOT 函数的方程式”。不知道该怎么做!

【问题讨论】:

    标签: binary boolean-expression


    【解决方案1】:

    NAND 只是一个AND 操作,后跟NOT

    就仅使用NAND 实现其他布尔运算而言:

      NOT a = a NAND a
    
    a | (a NAND a) | result
    --+------------+-------
    0 |     1      |  OKAY
    1 |     0      |  OKAY
    
    a AND b = NOT (NOT (a AND b))
            = NOT (a NAND b)
            = (a NAND b) NAND (a NAND b)
    
    a | b | x=(a NAND b) | (x NAND x) | result
    --+---+--------------+------------+-------
    0 | 0 |      1       |     0      |  OKAY
    0 | 1 |      1       |     0      |  OKAY
    1 | 0 |      1       |     0      |  OKAY
    1 | 1 |      0       |     1      |  OKAY
    
    a OR  b = NOT((NOT a) AND (NOT b))               # DeMorgans Law
            = NOT((a NAND a) AND (b NAND b))
            = NOT(NOT ((a NAND a) NAND (b NAND b)))
            = (a NAND a) NAND (b NAND b)
    
    a | b | x=(a NAND a) | y = (b NAND b) | (x NAND y) | result
    --+---+--------------+----------------+------------+-------
    0 | 0 |       1      |        1       |      0     |  OKAY
    0 | 1 |       1      |        0       |      1     |  OKAY
    1 | 0 |       0      |        1       |      1     |  OKAY
    1 | 1 |       0      |        0       |      1     |  OKAY
    

    【讨论】:

    • in1 和 in2 是什么?你能告诉我执行实际乘法时的进位和执行是什么吗?
    • 如果你能做一个乘法二进制数并从中制作一个真值表并标记进位,这将对我有很大帮助,这样我就可以在制作时看到它们的动作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 2014-03-30
    • 2010-10-04
    相关资源
    最近更新 更多