【发布时间】:2017-06-07 10:54:11
【问题描述】:
当你尝试制作一个多路复用器时,你是如何做到的:
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 |
【问题讨论】: