Logic 如何简化逻辑门多路复用器仿真

Logic 如何简化逻辑门多路复用器仿真,logic,cpu-architecture,Logic,Cpu Architecture,在尝试制作多路复用器时,您如何做到: Not(in=a, out=nota); Not(in=b, out=notb); Not(in=sel, out=notsel); And(a=a, b=b, out=aAndb); And(a=a, b=notb, out=aAndNotb); And(a=nota, b=b, out=bAndNota); And(a=aAndb, b=sel, out=aAndBAndSel); And(a=a

在尝试制作多路复用器时,您如何做到:

 Not(in=a, out=nota);
    Not(in=b, out=notb);
    Not(in=sel, out=notsel);
    And(a=a, b=b, out=aAndb);
    And(a=a, b=notb, out=aAndNotb);
    And(a=nota, b=b, out=bAndNota);
    And(a=aAndb, b=sel, out=aAndBAndSel);
    And(a=aAndb, b=notsel, out=aAndBAndNotSel);
    And(a=aAndNotb, b=notsel, out=aAndNotBAndNotSel);
    And(a=bAndNota, b=sel, out=bAndNotaAndSel);
    Or(a=aAndBAndSel, b=aAndBAndNotSel, out=o1);
    Or(a=o1, b=aAndNotBAndNotSel, out=o2);
    Or(a=o2, b=bAndNotaAndSel, out=out);
为此:

    Nand(a=sel, b=sel, out=notsel);
    Nand(a=a, b=notsel, out=asel);
    Nand(a=b, b=sel, out=bnotsel);
    Nand(a=asel, b=bnotsel, out=out);
我的答案总是很长,我不确定你会如何找到一个更优雅的解决方案

MUX Truth Table Answers
|   a   |   b   |  sel  |  out  |
|   0   |   0   |   0   |   0   |
|   0   |   0   |   1   |   0   |
|   0   |   1   |   0   |   0   |
|   0   |   1   |   1   |   1   |
|   1   |   0   |   0   |   1   |
|   1   |   0   |   1   |   0   |
|   1   |   1   |   0   |   1   |
|   1   |   1   |   1   |   1   |

写下表达式的真值表,使用卡诺图最小化它,然后使用布尔代数得到第二个表达式。(通过添加双not并应用de morgan定律)

写下表达式的真值表,使用卡诺图最小化它,然后使用布尔代数得到第二个表达式。(通过添加双不并应用德摩根定律)

简化为:

BS + AS'
或使用不同的符号:

(B & S) ∨ (A & ~S)
这简化为:

BS + AS'
或使用不同的符号:

(B & S) ∨ (A & ~S)