【问题标题】:De Morgan's law optimization doesn't work德摩根定律优化不起作用
【发布时间】:2017-07-16 15:28:30
【问题描述】:

我有布尔表达式,它使用卡诺图(第一行)进行了简化。然后我使用德摩根定律使表达式适合仅使用与非门(第二行)。但是当我创建一个逻辑门电路时,它不能正常工作,无论我怎么看这个电路,我都看不出我在哪里犯了错误。很抱歉在图片中发布表情,我不知道如何将这个表情从纸上转移到电脑上。

【问题讨论】:

    标签: boolean logic boolean-logic digital-logic demorgans-law


    【解决方案1】:

    我检查了您的电路,但未能发现错误。 什么不工作?

    另一种解决方案是:

    NAND4(
      NAND3(!X0, !X1, X3), 
      NAND4(X0, X1, X4, X5), 
      NAND4(!X0, X1, !X3, !X5), 
      NAND5(X0, !X1, !X2, X3, X4))
    

    Logic Friday 1生成的解决方案是:

    [][1]


    更新:

    我将以下表达式输入到Logic Friday 1

    INORDER = x5 x4 x3 x2 x1 x0;
    F = !(!(!x0 & !(!(!x1 x3) & !(x1 !x3 !x5))) & !(x0 & !(!(x1 x4 x5) & !(!x1 !x2 !x3 x4))));
    

    生成的18 minterms 是:

    X5 为最高位,X0 为最低位,这可以解释为最小项列表:2, 6, 8, 12, 17, 18, 22, 24, 28, 40, 44, 49, 51, 55, 56, 59, 60, 63

    您可以快速说服自己 (minterm 63) 所有六个输入设置为 1 会导致输出 1。 Minterm 2:除了X1 0 之外的所有输入也导致输出1。您的位排序可能会有所不同。

    【讨论】:

    • 如果所有六个输入都是数字 f = (4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 24, 26, 34, 35, 49, 它应该输出 1 , 53, 57, 61) 二进制,但是当我运行测试时,输出是错误的,甚至不接近这些数字。
    • 德摩根化简之前的表达式输出正确的数字。
    • @aretas_pau,我同意 Axel 的观点,即您在某处犯了一些错误。所有 Xi = 1 (63) 显然都满足这个表达式,因为它使得 X0*X1*X4*X5 = True 这对于整体来说已经足够了。但是,您拥有完全相同数量的令人满意的解决方案这一事实表明您在某个地方打错了。
    猜你喜欢
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2017-05-29
    • 2016-03-13
    相关资源
    最近更新 更多