首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何简化逻辑门多路复用仿真

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

Stack Overflow用户
提问于 2017-06-07 18:54:11
回答 2查看 70关注 0票数 0

当你尝试制作一个多路复用器时,你该怎么做:

代码语言:javascript
复制
 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);

要这样做:

代码语言:javascript
复制
    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);

我的答案总是很长,我不确定您将如何找到一个更优雅的解决方案。

代码语言:javascript
复制
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   |
EN

回答 2

Stack Overflow用户

发布于 2017-06-07 19:49:53

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

票数 1
EN

Stack Overflow用户

发布于 2017-06-07 20:58:13

这可以简化为:

代码语言:javascript
复制
BS + AS'

或者使用不同的符号:

代码语言:javascript
复制
(B & S) ∨ (A & ~S)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44410663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档