目录

一、半加器

二、全加器

三、行波进位加法器


加法器是算术运算的一种,在计算机和一些处理器中被运用于算术逻辑单元ALU中或者处理器的其他部分如计算地址,加减操作等类似操作。今天。我们来重温下数字电路中的加法器。

一、半加器

半加器用于计算2个单比特二进制数a与b的和,输出结果sum(s)和进位carry(c)。在多比特数的计算中,进位c将作为下一相邻比特的加法运算中。单个半加器的计算结果是2c+s。其真值表、逻辑表达式、verilog描述和电路图分别如下所示。

真值表

输入

输出

a

b

s

c

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

逻辑表达式

Verilog描述

module half_adder(input a,input b,output c,output s
);assign c = a & b;
assign s = a ^ b;endmodule

电路图

二、全加器

全加器不同于半加器的地方是,全加器带有进位cin。输入为a,b,cin, 输出为sum(s)和carry*(cout),均是单比特信号。s为a,b,cin三个单比特数的和,cout为a,b,cin三个数超过2后的进位。真值表、逻辑表达式、verilog描述和电路图分别如下所示。

真值表

输入

输出

a

b

cin

s

cout

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

逻辑表达式

Verilog描述

module full_adder(input a,input b,input cin,output cout,output s
);assign s = a ^ b ^ cin;
assign cout = a & b | (cin & (a ^ b));endmodule

电路图

表示符号

三、行波进位加法器

N-bit加法器可以根据1-bit全加器组合而成。每个全加器的输出进位cout作为下一个全加器的输入进位cin,这种加法器称为行波进位加法器(Ripple-carry adder,简称RCA),如一个16比特加法器的结构如下图所示,其中A,B为16比特的加数,S为A+B的和,c16为该加法器的输出:

由上图可以看出得到进位c16的结果依赖于c15,c14,c13,…,c2,c1,c0,对于32-bit,64-bit,128-bit等加法器,进位链将显得更加长。所以,行波进位加法器设计简单,只需要级联全加器即可,但它的缺点在于超长的进位链,限制了加法器的性能。

Verilog描述

module rca #(width=16) (input  [width-1:0] op1,input  [width-1:0] op2,output [width-1:0] sum,output cout
);wire [width:0] temp;
assign temp[0] = 0;genvar i;
for( i=0; i<width; i=i+1) beginfull_adder u_full_adder(.a      (   op1[i]     ),.b      (   op2[i]     ),.cin    (   temp[i]    ),.cout   (   temp[i+1]  ),.s      (   sum[i]     ));
endendmodule

半加器,全加器和行波进位加法器,源码公众号回复002。

更多阅读,关注“纸上谈芯”,不定期更新,共同学习:

【HDL系列】半加器、全加器和行波进位加法器原理与设计相关推荐

  1. HDLBits答案(8)_Verilog半加器、全加器和行波进位加法器原理与设计

    半加器.全加器和行波进位加法器原理与设计 HDLBits链接 半加器 定义: 半加器用于计算2个单比特二进制数a与b的和,输出结果sum(s)和进位carry(c).在多比特数的计算中,进位c将作为下 ...

  2. 四位行波进位加法器_【HDL系列】半加器、全加器和行波进位加法器原理与设计...

    加法器是算术运算的一种,在计算机和一些处理器中被运用于算术逻辑单元ALU中或者处理器的其他部分如计算地址,加减操作等类似操作.今天.我们来重温下数字电路中的加法器. 一.半加器 半加器用于计算2个单比 ...

  3. 四位行波进位加法器_【HDL系列】超前进位加法器原理与设计

    上期介绍了半加器.全加器以及行波进位加法器(RCA),本文介绍超前进位加法器(Lookahead Carry Adder,简称LCA).在介绍超前进位加法器前,我们先来分析下行波进位加法器的关键路径. ...

  4. 全加器和行波进位加法器的延迟时间

    @[TOC]全加器和行波进位加法器的延迟时间 全加器和行波进位加法器的延迟时间的理解 这是我第一次写博客,有写的不好的请指教. 延迟时间的本质是找最长的传输路径. 首先要知道,一级门(如与门,或门,与 ...

  5. 超前进位加法器原理与设计

    超前进位加法器原理与设计 一.行波进位加法器关键路径分析 N比特行波进位加法器可由N个全加器级联而成,电路的延迟包括门延迟和线延迟等,分析忽略线延迟. 单比特全加器门电路图 从输入a,b,cin到输出 ...

  6. 半加器、全加器、行波进位加法器、超前进位加法器

    半加器 两个1bit数据相加,不包含进位. 全加器 包含低位来的进位,相当于三个1bit数据相加. 至于为啥或和异或一样的解释:因为AB为00,01,10时异或和或结果一样,但是11时或为1,异或为0 ...

  7. 加法器的实现(半加器,全加器,行波进位加法器,超前进位加法器,流水线加法器)

    一.半加器和全加器 二.行波进位加法器 三.超前进位加法器(Carry-Lookahead Adder,CLA) https://www.jianshu.com/p/6ce9cad8b467 四.流水 ...

  8. 行波进位加法器C语言,行波进位加法器原理

    算术运算是数字系统的基本功能,更是计算机中不可缺少的组成单元.本节介绍加法运算和减法运算的逻辑电路. 一.半加器和全加器 1.半加器 半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制数相 ...

  9. 四位行波进位加法器_【HDL系列】硬件加法器原理与设计小结

    硬件加法器种类繁多,对于不同的设计,加法器的需求也不一样.在前端设计中,使用符号"+"便可轻而易举地实现加法器.只是在特殊的情况下,指定选择加法器类型,或许可以用到.其他情况,可以 ...

最新文章

  1. java操作excel文件之系列一:《读取excel文件的内容保存到数据库》
  2. Scala 语言输出的三种方式
  3. NFL discussion调研
  4. vant+cell+picker+级联选择默认选中
  5. Centos yum 安装JDK及配置环境变量
  6. python对比图片
  7. 如何做出酷炫且实用的可视化大屏?Excel和PPT该淘汰了
  8. IntelliJ IDEA 安装本地插件
  9. Java代码如何运行在Java虚拟机中
  10. 我的软件开发生涯 (10年开发经验总结和爆栈人生)
  11. 网易交互设计师微专业C5 交互设计测试与评估
  12. cisco思科交换机的密码恢复
  13. android摄像头(camera)之buffer管理
  14. 基于android的学单词app
  15. GraphQL 浅谈,从理解 Graph 开始
  16. 1.24A Simple Math Problem
  17. 腾讯云---语音识别--一句话识别
  18. 告诉你什么是挖洞最清奇的脑回路
  19. 20160803 - C:\WINDOWS\system32\config\systemprofile\Desktop 不可用的解决
  20. 实现QQ音乐项目的一些技术点jQuery,html5

热门文章

  1. template模板的使用及文章详情跳转
  2. ME3616 NBIOT模块基础使用指南
  3. [附源码]Nodejs计算机毕业设计母婴商品店进出货管理系统Express(程序+LW)
  4. Photoshop教程_ps样式怎么导入?
  5. STM32项目 -- 选题分享(部分)
  6. Kubernetes 部署策略
  7. SpringBoot入门到精通系列教程 - Filter/WebFilter
  8. 建立用例模型应当注意的问题
  9. 三十五岁失业的程序员,后来都干什么去了?
  10. 业界看衰黑莓前景 分析称仍有可能被联想收购