三极管和二极管组成的逻辑门电路,再制作一个加法器

时间:2018-08-17
前面转载了一篇国外牛人手工CPU的文章(强DIY,手工CPU)有朋友蠢蠢欲动准备从三极管这个层面开始动手组装。
  鉴于简化电路的需要 ,整理了一套用三极管、二极管电阻组成的逻辑门电路,可实现2输入或3输入的AND,OR,NAND,NOR,EXOR操作。
  

 

  为了便于记忆,我们把上面的每个电路用一个符号来代替
  

  有了这套东西作为基础,我们可以进行下一步更深入的探讨,可以从做一个加法器入手。
  一个简单的二进制加法如下:
  

  我们现在需要把它的结果分为两位,一个是加法位,一个是进位位。分别如下
 

  进位位的逻辑跟逻辑与门一样,这就很好办了。
  加法位跟或门逻辑较相似,除了右下角的0逻辑不一样。也跟与非门较相似,除了左上角的0的逻辑不一样。我们把它们组合下
  

  现在的输入输出情况如下:
  

  从结果中看出,可以把或门和与非门输出进行与门逻辑组合,就得到了我们的加法位的正确输出结果
  

  这种组合就叫做异或门。
  现在我们加法的加法位和进位位都可以用电路来表示了,现在组合成的加法器如下:
  

  这种组合就满足了我们对一位二进制的加法的需求,下面我们用下面这种简单的表达方式表达上面的加法器,比较简单明了:

  为什么叫半加器呢,因为目前位置它只能计算一位的加法,而大多数情况下,我们需要计算多位的二进制加法,它现在还不成熟。
  多位加法中,除了位,后面每一位的加法都可能跟前面1位的的进1数进行相加。因此除了计算它本身的加法外,还要跟进位进行相加。我们现在把逻辑组合如下
 

  现在我们可以得出一个完整的二进制加法中任意一位的逻辑了。既然它成熟了,我们可以把它叫做全加器了。如下:
  

  一个全加器就完成了。
  每个全加器的进位输出都是都是后面一位的进位输入,一个串一个,个加法的进位输入为0.一个进位输出,判断有没溢出。
 

  以8位为单位,我们也可以做16位加法,只要两个8位相连就可以了。
  有了加法器,后面就可以考虑考虑设计一下寄存器了。
上一篇:开关电源中光耦反馈接法
下一篇:LED驱动设计不可不知的5大关键点

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料