两位加法器
在先前已经得到了一个两位加法器的原型:
当然了, 走线有些凌乱, 一方面也是为了显示的缘故. 但即便不考虑显示, 由于引脚本身就很多, 还是避免不了很多的线.
好在之前我们已经掌握了一种威力强大的封装与抽象的工具, 也就是 创建子电路
. 现在就用它来把这一堆稍显凌乱的电路打包一下, 塞到一个黑盒子里面.
眼不见为净嘛!
首先是去掉诸如显示, 输入等无关电路器件, 然后, 标识出输入与输出, 最后, Cin 到 C 之间的进位增加了一个二极管(因为模拟器的一些缺陷, 零电阻的导线在封装后会出现异常):
利用
菜单--绘制--输出和标签--添加标记的节点
, 如果有不清楚的, 请参阅:
两位加法器, 从输入输出上看, 它有:
- 两个两位的输入
A1
,A0
和B1
,B0
; - 一个进位输入
Ci
(Carry in); - 一个两位的输出
S1
,S0
; - 一个进位的输出,
Co
(Carry out).
最后就是创建子电路, 并添加其实例.
通过
菜单--文件--创建子电路
以及通过菜单--绘制--有源集成电路--添加子电路实例
(或是右键--有源集成电路--添加子电路实例
) .具体的创建过程如有不清楚的, 请参阅:
一个实例如下:
其内部封装了两个全加器. 然后这个简化的模块就可以取代之前的一堆电路了:
两位加法器, 子电路演示 在线可互动操作示例
是不是简洁很多了呢?
但是两位的加法器能做的其实依然非常有限, 不过, 我们可以继续这个封装的游戏, 这样就可以处理越来越大的数了, 在下一篇探讨如何构建一个四位加法器.