位超前进位加法器的verilog实现.docx

位超前进位加法器的verilog实现.docx

ID:52852774

大小:44.59 KB

页数:8页

时间:2020-03-31

位超前进位加法器的verilog实现.docx_第1页
位超前进位加法器的verilog实现.docx_第2页
位超前进位加法器的verilog实现.docx_第3页
位超前进位加法器的verilog实现.docx_第4页
位超前进位加法器的verilog实现.docx_第5页
资源描述:

《位超前进位加法器的verilog实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、HarbinInstituteofTechnologyverilog实验报告(1)设计题目:16位超前进位加法器班级:姓名:学号:哈尔滨工业大学2015年6月8/8一、功能描述加法运算是最基本的运算,所有其他基本算术运算都是以加法运算为基础。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于它的位相关,因此,为了减少进位传输所耗的时间,提高计算速度,我们可以采用超前进位加法器,它是利用输入信号来预先产生高位进位信号,从而减少进位从低位到高位的传递时间。超前进位加法器,不同于串行进位加法器,对于每一位的结果是否有进位,不需要等前一位的进位结果计算出来,而是只要输入A,B

2、到来就可以经过一些列的逻辑运算同时计算出各位是否有进位。理论上讲无论多少位的加法器都可以设计成为超前进位加法器,但是当位数很大的时候,超前进位加法器的逻辑会变得异常复杂,而失去了使用的意义,所以大多数超前进位加法器做到4位,而多于4位的要求,就用多个超前进位加法器级联实现,所以本设计要进行16位的加法运算,我们可以将其分成四组,组内采用超前进位,组间采用串行进位,既提高了运算速度,又不至于采用过多的门数。二、设计方案1.设计原理首先做两个传递函数;进位产生函数Gi和进位传送函数Gi=AiBiPi=Ai^Bi当Gi=1时会产生进位,而当Pi=1时会使进位输入传到输出。根据全加器原理

3、,第i位的进位及和的输出可表示为Ci=Gi+PiCi-1Si=Pi^Ci-1由此可得各位的进位输出表达式C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C08/8C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0…这样经过函数Pi和函数Qi产生一级时间延迟,经过计算C产生一级时延迟,则A,B输入一旦产生即可算出结果。2.设计思路进行16位超前进位加法器设计时由于位数太多如果采用全部超前进位则电路的逻辑结构极其复杂并且电路的规模会很大可以考虑用4个4位超前进位加法器来实现16位超前进位加法器的设计。三、关

4、键代码1.首先我们进行四位超前进位加法器的设计,由设计方案中所述的算法,定义一个名为fulladder4的模块,该模块中的关键代码如下:assignp0=a[0]^b[0],p1=a[1]^b[1],p2=a[2]^b[2],p3=a[3]^b[3]。assigng0=a[0]&b[0],g1=a[1]&b[1],g2=a[2]&b[2],g3=a[3]&b[3]。assignc1=g0

5、(p0&c_in),c2=g1

6、(p1&g0)

7、(p1&p0&g0)

8、(p2&p1&p0&c_in),c3=g2

9、(p2&g1)

10、(p2&p1&g0)

11、(p3&p2&p1&p0&c_in),c4

12、=g3

13、(p3&g2)

14、(p3&p2&g1)

15、(p3&p2&p1&g0)

16、(p3&p2&p1&p0&c_in)。assignsum[0]=p0^c_in,8/8sum[1]=p1^c1,sum[2]=p2^c2,sum[3]=p3^c3。assignc_out=c4。1.我们定义名为fulladder16的16位超前进位加法器,主要是通过例化四位超前进位加法器得到,关键代码如下:fulladder4i1(sum[3:0],c3,a[3:0],b[3:0],c_in)。fulladder4i2(sum[7:4],c7,a[7:4],b[7:4],c3)。fulladder4i3(s

17、um[11:8],c11,a[11:8],b[11:8],c7)。fulladder4i4(sum[15:12],c15,a[15:12],b[15:12],c11)。assignc_out=c15。2.编写测试脚本文件,由于我们不可能将所有可能的输入一一列举,但是我们可以输入一些具有代表性的数据,例如我们可以让每四位数产生级间进位,观察结果是否正确,激励文件关键代码:initialbegina=5。b=4。c_in=0。#5a=2。b=6。c_in=1。#5a=4'b1101。b=4'b0011。c_in=0。#5a=8'b1101_0011。b=8'b0110_0001。c_

18、in=1。#5a=12'b0101_1100_0101。b=12'b1100_0000_0101。c_in=0。#5a=16'b1011_0001_1100_1010。b=16'b1100_0000_0011_0000。c_in=1。end三、仿真与验证通过modelsim进行仿真,仿真时间设为30ps,波形图结果如下,从数据我们可知该系统实现了功能。8/8仿真结果:0a=0000000000000101,b=0000000000000100,c_in=0sum=00000000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。