两位加法器

在先前已经得到了一个两位加法器的原型:

两位加法器, 使用全加器

当然了, 走线有些凌乱, 一方面也是为了显示的缘故. 但即便不考虑显示, 由于引脚本身就很多, 还是避免不了很多的线.

好在之前我们已经掌握了一种威力强大的封装与抽象的工具, 也就是 创建子电路. 现在就用它来把这一堆稍显凌乱的电路打包一下, 塞到一个黑盒子里面.

眼不见为净嘛!

首先是去掉诸如显示, 输入等无关电路器件, 然后, 标识出输入与输出, 最后, Cin 到 C 之间的进位增加了一个二极管(因为模拟器的一些缺陷, 零电阻的导线在封装后会出现异常):

两位加法器, 输入与输出标识

利用 菜单--绘制--输出和标签--添加标记的节点, 如果有不清楚的, 请参阅:

两位加法器, 从输入输出上看, 它有:

  • 两个两位的输入 A1, A0B1, B0;
  • 一个进位输入 Ci(Carry in);
  • 一个两位的输出 S1, S0;
  • 一个进位的输出, Co(Carry out).

最后就是创建子电路, 并添加其实例.

通过 菜单--文件--创建子电路 以及通过 菜单--绘制--有源集成电路--添加子电路实例(或是 右键--有源集成电路--添加子电路实例) .

具体的创建过程如有不清楚的, 请参阅:

一个实例如下:

两位加法器, 实例

其内部封装了两个全加器. 然后这个简化的模块就可以取代之前的一堆电路了:

两位加法器, 子电路演示

是不是简洁很多了呢?

但是两位的加法器能做的其实依然非常有限, 不过, 我们可以继续这个封装的游戏, 这样就可以处理越来越大的数了, 在下一篇探讨如何构建一个四位加法器.

results matching ""

    No results matching ""