【问题标题】:ASIC design - combinational logicASIC 设计 - 组合逻辑
【发布时间】:2016-03-14 18:59:35
【问题描述】:

几天前我接受了一次面试,这是他们在一轮中问我的问题:

A mux which gives output a when select line is 1 and b when it is 0.输出表示为C。这只能通过 andnot 门实现。

我几乎明白了,但不确定最终如何在组合 ckt 中接收输出。这是我在这里错过的一件非常简单的事情。我把选择线给and门和输入a和选择线和输入b通过not门给另一个and门所以我得到的输出为A和@987654334 @ 但是我们怎么能只有一个输出呢? a 还是 b

【问题讨论】:

    标签: asic


    【解决方案1】:
     C = (A and not(S)) or (B and S)
       = not(not(A and not(S)) and not(B and S))
    

    【讨论】:

    • 嘿,只有门而不是门。你用过“或”
    • 我包含了第一行来展示工作。第二行是如何在没有 OR 的情况下做到这一点。
    • 基本上这是一个证明你知道德摩根定律的问题(通常称为定理,但我不知道为什么)。我记得它是“分割线,改变符号”(线是上面显示反转的条,符号是 AND 或 OR)。下一步是用 NAND 门做所有事情:wolframalpha.com/input/?i=demorgans+theorem
    • @AnthonyBlake:我认为你的回答有点错误。 "A when select is 1" and you've got (A and not(S)), which is A when select is 0.
    • 啊,好吧——我刚刚从维基百科上复制了 MUX 的方程式,然后应用了德摩根定律。我实际上并没有检查它是否在正确的方向。另外,我依稀记得在实践中,多路复用器通常都是用传输门实现的。
    【解决方案2】:

    一个输入1, B输入2, S输入选择线, C 输出,

    C = (A & S) | (A & ~S);
    

    很简单的兄弟!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      相关资源
      最近更新 更多