【 FPGA/IC 】常考加法器总结
早在某发科提前批中就考到过加法器,如果没有记错的话,当时的加法器是串行加法器。
今天就谈谈这几种加法器。
1、等波纹进位加法器(Ripple carry adder circuit)
如下图为一个4位的等波纹进位加法器:
它是由4个1位的全加器构成,每一级的全加器的进位作为下一级的进位。
1位全加器是由组合逻辑构成的,如下图:
可知,全加器的表达式:
Si=Ai⊕Bi⊕Ci-1
或者
可想而知,随着加法器位数的增加,每一级的延迟会逐渐积累,导致总的延迟过大。
参考链接
2、进位选择加法器(carry select adder)
下面给出一种貌似更优化点的加法器,这种加法器虽然浪费了一点资源,但是体现了用面积换速度的思想(逻辑复制),那就是进位选择加法器:
具体说来,假如一个32位的加法器,如果采用等波纹进位加法器,设计思想就是前16级加法器的进位输出作为后16级加法器的进位输入,这样计算出32位相加的结果需要耗费两个16位数据相加的加法器时间;但如果如下设计:
也就是后16位数据的相加复制两份,不同的仅仅是进位不同,由前16位数据相加的进位来选择,所用的时间就会相对于等波纹进位加法器减少了一半。
module top_module(input [31:0] a,input [31:0] b,output [31:0] sum
);wire [15:0] sum1,sum2,sum3;wire cout1;add16 inst1_add16(.a(a[15:0]),.b(b[15:0]),.cin(1'b0),.sum(sum1),.cout(cout1));add16 inst2_add16(.a(a[31:16]),.b(b[31:16]),.cin(1'b0),.sum(sum2),.cout());add16 inst3_add16(.a(a[31:16]),.b(b[31:16]),.cin(1'b1),.sum(sum3),.cout());wire [15:0] sum4;assign sum4 = cout1 ? sum3 : sum2; assign sum = {sum4, sum1};endmodule
16位的加法器请自行描述。
参考链接
3、串行加法器
这个加法器就有名堂了,它只用一个全加器资源,就可以完成任意个位数的加法。
它需要和时钟同步,有多少位就需要多少个时钟,对速度要求不是太高的设计还是可以考虑的。
在串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算,如图所示。图中FA是全加器,A、B是两个具有右移功能的寄存器,C为进位触发器。由移位寄存器从低位到高位逐位串行提供操作数相加。如果操作数长n位,加法就要分n次进行,每次产生一位和,并串行地送回A寄存器。进位触发器用来寄存进位信号,以便参与下一次的运算。
下面给出其真值表(假设是8位相加)(这个真值表就是考试内容呀):
A | B | Cin | S | Cout |
---|---|---|---|---|
1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
参考链接
4、超前进位加法器(Carry-Lookahead Adder,CLA)
超前进位加法器是相对于等波纹进位加法器而言的,而RCA(等波纹进位加法器)的效率太低,高位的输出必须等到低位算完才行。
解决的办法就是CLA:
那4位加法器为例:
如下是等波纹加法器的展开图:
其中一个全加器的参数来表示后面的进位输出(Cout),即:
由此来表示4个全加器的进位输出为:
最终我们需要得到的是C4,经过换算,C4=G3+P3·G2+P3·P2·G1+P3·P2·P1·G0+P3·P2·P1·P0·C0,而这些参数,全部已知!并不需要前一个全加器运算输出,由此我们得到了提前计算进位输出的方法, 用这样的方法实现了加法器就被称为超前进位加法器(Carry-Lookahead Adder,CLA)。
根据上面的优化算法,我们重新绘制了CLA的布线方式:
显而易见,与等波纹加法器相比,逻辑延迟小多了。
尽管优点很明显,但是实现却很复杂,这是缺点,对于更高位的加法,我们通常用多个小规模的CLA拼接成一个较大的加法器,例如:
用4个8-bit的超前进位加法器连接成32-bit加法器。
参考链接
【 FPGA/IC 】常考加法器总结相关推荐
- 数字IC笔面常考,跨时钟域神器。——异步FIFO(简介及手撕代码)
异步FIFO 写在前面的话 异步FIFO相关知识点 FIFO简介 FIFO结构 应用场景(来源小梅哥 <FPGA 系统设计与验证实战指南> 章节4.4) 相关参数 异步FIFO 内部组成 ...
- 数字IC常考题(单选、多选、编程)
目录 一.单选题 关于跨时钟域电路的设计,以下说法正确的是: 若要将异或非门当作反相器(非门)使用,则输入端A B端的连接方式是() 以下代码综合出来的D触发器的D端逻辑表达式为: FIFO深度:Mo ...
- 计算机组成原理常考大题合集
计算机组成原理常考大题合集 1.在"Cache-主存-辅存"三级存储体系中,"Cache-主存"结构与"主存-辅存"结构的引入为了解决什么问 ...
- FPGA/IC领域术语表
阅读原文,有详细介绍. FPGA/IC领域术语表 Chip Architecture芯片架构 ADC: Analog to Digital Converter 模数转换器 AES: Advanced ...
- 分解例题及解析_【高考物理】考前梳理,高中物理经典常考例题(带解析),收藏起来考试不低于90+!...
物理应该是理综里最让同学们头疼的一科.最后的压轴大题更是让很多人不知道该怎么下手,题型复杂难理解,简直是丢分"小能手". 别怕!学姐来拯救你们了!高中物理经典常考例题(带解析),考 ...
- PHP面试常考内容之Memcache和Redis(2)
你好,是我琉忆. 继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读. 本周(2019.2-18至2-2 ...
- 计算机网络基础常考面试题总结
计算机网络基础常考面试题总结 1.OSI,TCP/IP,五层协议的体系结构,以及各层协议 答:OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层 ...
- 2021毛纲源常考题型解题方法_总结2021年考研数学六大常考题型
时间过得真快,2020年考研刚刚结束,2021年考研的号角就已吹响,打算今年考研的小伙伴们准备的怎么样了呢?考研数学在研究生考试中的重要性不言而喻,因此大家需要尽早准备.那么,考研数学怎么复习呢?复习 ...
- 《大厂算法面试题目与答案汇总,剑指offer等常考算法题思路,python代码》V1.0版...
为了进入大厂,我想很多人都会去牛客.知乎.CSDN等平台去查看面经,了解各个大厂在问技术问题的时候都会问些什么样的问题. 在看了几十上百篇面经之后,我将算法工程师的各种类型最常问到的问题都整理了出来, ...
最新文章
- Java3大框架的学习都是什么
- Typora入门(2)
- java中GUI的awt和Swing的知识点
- vba php,VBA
- python获取文件夹名_python基础之获取文件目录及名称
- java spring事务管理系统_Java Spring-事务管理概述
- Nicholas谈UE4高级渲染:动态光照迭代快
- acm c 和java如何取舍,ACM中使用JAVA语言的优缺点介绍
- CCF2015-12-2 消除类游戏
- eclipse配置tomcat运行时访问路径不要项目名称
- 线程安全的Singleton模板
- 用viewpager实现图片轮播
- mysql索引平衡树hash_MySQL B+树索引和哈希索引的区别
- 怎样打开android设备,在app中打开android设备的存储
- 在eclipse中查看android SDK的源代码
- 【孪生网络siamfc代码学习】
- python使用 urllib.unquote乱码的原因
- 浅析中国汽车融资租赁行业
- 挑战微软 + GitHub!谷歌联手 Replit,升级 AI 编程“神器”:曾拒绝微软 10 亿美元的收购...
- 餐饮如何运用人工智能
热门文章
- C#编程利器系列文章
- php 调用vs2013 dll文件,VScode能编辑DLL库文件么
- python能够处理的最大整数是多少_python中能输出的最大整数位是多少
- c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt
- spring配置datasource三种方式 数据库连接
- php判断版本根据版本调用不同,C#_C#自动判断Excel版本使用不同的连接字符串,用OLEDB通过设置连接字符串可 - phpStudy...
- 截断 四舍五入 进位php,PHP取整,四舍五入取整、向上取整、向下取整、小数截取 四舍五入是什么意思 四舍五入就是一个亿 excel数值四舍五...
- 5菜鸟教程_XPLANE10菜鸟基础教程系列 飞机、机场以及天气的设置
- 棉花糖主机送mysql_mysql操作
- 收音机磁棒天线4根接法_无线电科技基础:无声的海上GPS导航 天线接收的方向性...