什么是加法器

加法器是为了实现加法的,即是产生数的和的装置。

加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。

对于1位的二进制加法,相关的有五个量:

  • 1)被加数A;

  • 2)被加数B;

  • 3)前一位的进位CIN;

  • 4)此位二数相加的和S;

  • 5)此位二数相加产生的进位COUT;

  • 前三个量为输入量,后两个量为输出量,五个量均为1位。

对于32位的二进制加法,相关的也有五个量:

  • 1)被加数A(32位);

  • 2)被加数B(32位);

  • 3)前一位的进位CIN(1位);

  • 4)此位二数相加的和S(32位);

  • 5)此位二数相加产生的进位COUT(1位)。

要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。而最后的第32位必须在前31位全部计算出结果后,才能开始计算。这样的方法,使得实现32位的二进制加法所需的时间是实现1位的二进制加法的时间的32倍。

基本方法

可以看出,上面的方法是将32位的加法,1位1位串行进行的,要缩短进行的时间,就应设法使上述进行过程并行化。

类型

以单位元的加法器来说,有两种基本的类型:半加器和全加器。

半加器有两个输入和两个输出,输入可以标识为A、B或X、Y,输出通常标识为和S和进制C。A和B经XOR运算后即为S,经AND运算后即为C。

全加器引入了进制值的输入,以计算较大的数。为区分全加器的两个进制线,在输入端的记作Ci或Cin,在输出端的则记作Co或Cout。半加器简写为H.A.,全加器简写为F.A.。

半加器:半加器的电路图半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)、进制(Carry)。半加器虽能产生进制值,但半加器本身并不能处理进制值。

全加器:全加器三个二进制的输入,其中一个是进制值的输入,所以全加器可以处理进制值。全加器可以用两个半加器组合而成。

注意,进制输出端的最末个OR闸,也可用XOR闸来代替,且无需更改其余的部分。因为OR闸和XOR闸只有当输入皆为1时才有差别,而这个可能性已不存在。

加法器原理

设一个n位的加法器的第i位输入为ai、bi、ci,输出si和ci+1,其中ci是低位来的进位,ci+1(i=n-1,n-2,…,1,0)是向高位的进位,c0是整个加法器的进位输入,而cn是整个加法器的进位输出。

那么:

和 si=aiii+ibii+iici+aibici  (1)

进位 ci+1=aibi+aici+bici  (2)

令 gi=aibi  (3)

pi=ai+bi  (4)

则 ci+1= gi+pici  (5)

只要aibi=1,就会产生向i+1位的进位,称g为进位产生函数;同样,只要ai+bi=1,就会把ci传递到i+1位,所以称p为进位传递函数。

把式(5)展开,得到:

ci+1=gi+pigi-1+pipi-1gi-2+…+pipi-1…p1g0+pipi-1…p0c0  (6)

随着位数的增加式(6)会加长,但总保持三个逻辑级的深度,因此形成进位的延迟是与位数无关的常数。一旦进位(c1~cn-1)算出以后,和也就可由式(1)得出。

使用上述公式来并行产生所有进位的加法器就是超前进位加法器。产生gi和pi需要一级门延迟,ci需要两级,si需要两级,总共需要五级门延迟。与串联加法器(一般要2n级门延迟)相比,(特别是n比较大的时候)超前进位加法器的延迟时间大大缩短了。

反相加法器等效原理图

反相加法器电路,又称为反相求和电路,是指一路以上输入信号进入反相输入端,输出结果为多路信号相加之绝对值(电压极性相反)。

如下图中的a电路,当R1=R2=R3=R4时,其输出电压=IN1+IN2+IN3的绝对值,即构成反相加法器电路。当R4>>R1时,电路兼有信号放大作用。

图a

图b

反相加法器的基本电路结构为反相放大器,由其“虚地”特性可知,两输入端均为0V地电位。这就决定了电路的控制目的,是使反相输入端电位为0V(同相输入端目标值为0V)。以上图a电路电路参数和输入信号值为例进行分析,则可得出如上图b所示的等效图。反相加法器的偏置电路总体上仍为串联分压的电路形式,但输入回路中又涉及了电阻并联分流的电路原理,可列等式:IR4=IR1+IR2+IR3。反相加法器的“机密”由此得以披露。

由于反相输入端为地电位0V,因而当输入信号IN3=0V时该支路无信号电流产生,相当于没有信号输入,由此变为IN1+IN2=-OUT。当IR1(1V/10k)=0.1mA,IR2(1V/10k)=0.1mA,此时只有当OUT输出为-2V时,才满足IR4=IR1+IR2的条件。

若将原理等效图进一步化简,一个非常熟悉的身影便会映入我们的脑海:这不就是反相放大器电路吗?是的,没错,反相求和(反相加法器)电路,就是反相(含放大和衰减)器啊。

实际应用中,因同相加法器存在明显缺陷,因输入阻抗极高,信号输入电流只能经多个IN端自成回路(会造成输入信号电压相互牵涉而变化导致较大的运算误差),除非各种IN信号源内阻非常小,才不会影响计算精度。因而应用较少。反相求和电路因其“虚地”特性,输入阻抗极低,使各路信号输入电流以“汇流模式”进入输入端,不会造成各输入信号之间的电流流动,故能保障运算精度,应用较多。

*本文系网络转载,版权归原作者所有,如有侵权请联系删除

扫码入群扫码添加管理员微信

加入“电子产品世界”粉丝交流群

↓↓↓↓点击,查看更多新闻

超前进位加法器实验报告_干货 | 加法器与反相加法器原理解析相关推荐

  1. 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器.doc

    北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院 实 验 报 告 实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩 ...

  2. 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器

    北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院实 验 报 告实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩: ...

  3. 超前进位加法器实验报告_超前进位加法器设计实验分析

    课程 名称 计算机组成原理 实验课时 实验 项目 超前进位加法器设计实验 实验时间 实验 目的 1. 掌握超前进位加法器的原理及其设计方法 . 2. 熟悉 CPLD 应用设计及 EDA 软件的使用 实 ...

  4. 超前进位加法器实验报告_超前进位加法器设计报告

    华东交通大学理工学院 课 程 设 计 报 告 书 所属课程名称 EDA 课程设计 题 目 分 院 专业班级 学 号 学生姓名 指导教师 2013 年 7月 2日 目录 第一章设计内容与要求 ..... ...

  5. 超前进位加法器实验报告_超前进位加法器

    首先画出2位全加器的真值表与卡诺图 根据真值表可知二进制加法与十进制加法一样,进位值是逢二进一.而和值则是上级进位值跟被加数跟加数总和模二的余数.根据卡诺图化简得到S与Ci+1的全加器电路为: 多位加 ...

  6. c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...

    C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟 学 号: 班 级: 自动化10班 姓 名: 张 指导老师: 胡 2012.12 单片机核心板实验要求 流水灯实验 实验目的: 简单I/O引 ...

  7. java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...

    <<网络信息安全技术>_实验报告_破译vigen&amp#232;re_密码加密的密文>由会员分享,可在线阅读,更多相关<<网络信息安全技术>_实验报 ...

  8. 计算机组成原理寄存器的实验原理,计算机组成原理实验报告_寄存器的原理及操作课案.docx...

    <计算机组成原理实验报告_寄存器的原理及操作课案.docx>由会员分享,提供在线免费全文阅读可下载,此文档格式为docx,更多相关<计算机组成原理实验报告_寄存器的原理及操作课案.d ...

  9. 计算机组成原理实验写入怎么,计算机组成原理实验报告_寄存器的原理及操作...

    <计算机组成原理实验报告_寄存器的原理及操作>由会员分享,可在线阅读,更多相关<计算机组成原理实验报告_寄存器的原理及操作(10页珍藏版)>请在人人文库网上搜索. 1.成绩:实 ...

最新文章

  1. Java数据结构--有序表
  2. golang 执行外部命令 超时处理 exec.CommandContext
  3. 数据结构源码笔记(C语言):二叉树遍历
  4. 系统调用的实现(与errno的设置)
  5. 定间隔字符翻转(Reverse String II)
  6. Why NoSQL?
  7. Angular Lazy load(延迟加载,惰性加载) 机制和 feature module 的学习笔记
  8. linux扩大 boot分区大小,Ubuntu扩大boot空间
  9. 算法高级(4)-遗传算法(Genetic Algorithm)简介
  10. 文献查找网站集合(自用)
  11. 数据库开发工程中,一些不常遇到的难题
  12. java数据类型之间的转换_Java数据类型之间的转换(转)
  13. windows打包ios app
  14. pandas parquet文件读取pyarrow、feather文件保存与读取;requests 或wget下载图片文件
  15. 类似易企秀的UI框架 整屏滑动
  16. 集合语音识别、音频蓝牙、对话控制多功能一体的WTK6900H-32N眼部按摩器应用设计方案
  17. KSO-vue创建项目以及安装npm与node
  18. guid分区怎么装win7_如何在GUID分区装win7系统并以UEFI启动?
  19. 数据链路层 PPP协议工作过程
  20. D3D11、D3D12开发中CreateSwapChain返回DXGI_ERROR_INVALID_CALL(0x887A0001)错误的坑

热门文章

  1. 蚂蚁“备战”TPC-C这1年
  2. Multi Task Learning在工业界如何更胜一筹
  3. 阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能 1
  4. Gartner:全行业投入人工智能,计算机视觉占比最高
  5. CPU:别再拿我当搬砖工!
  6. AI ProCon倒计时6天:60+业内技术专家,探秘9大核心技术专题
  7. 真相了!AI 程序员:我们根本没有 80w 年薪好么?
  8. 云要闻 | 腾讯在华南建云计算基地;致敬Larry Roberts;华云数据在无锡拿了一个奖!...
  9. es6 Symbol iterator接口
  10. django给mysql配主从_django中的mysql主从读写分离:一、配置mysql主从分离