16位超前进位加法器的verilog实现_第1页
16位超前进位加法器的verilog实现_第2页
16位超前进位加法器的verilog实现_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Harbin Institute of Technologyveri l og实验报告(1)设计题目:16 位超前进位加法器班 级:姓 名:学 号:工业大学2021年6月功能描述加 法 运 算 是 最 根 本 的 运 算 ,所 有 其 他 根 本 算 术 运 算 都 是 以 加 法 运 算为根 底 。但 因 为加 法运 算存 在进 位问 题 ,使得 某一 位计 算结 果 的得 出和所有低于它的位相关,因 此,为了减少进位传输所耗的时间,提 高计算速度,我 们可以采用超前进位加法器,它是利用输入信号来预 先产生高位进位信号,从而减少进位从低位到高位的传递时间。 超前进位加法器,不 同于串行进位加

2、法器,对于每一位的结果是否有 进 位 ,不 需 要 等 前 一 位 的 进 位 结 果 计 算 出 来 ,而 是 只 要 输 入 A, B 到 来就可 以经 过一 些列 的 逻辑 运算 同时 计算 出各 位是 否有 进位 。理 论上 讲无论 多少 位的 加法 器 都可 以设 计成 为超 前进 位加 法器 ,但是 当 位数 很大的时候,超 前进位加法器的逻辑会变得异常复杂,而失去了使用 的意义,所以大多数超前进位加法器做到 4 位,而多于 4 位的要求, 就用多个超前进位加法器级联实现,所以本设计要进展 16 位的加法 运算,我们可 以将其分 成四组,组 采用超 前进位,组间 采用 串行 进 位

3、, 既提高了运算速度,又不至于采用过多的门数。二、设计方案1设计原理首 先 做 两 个 传 递 函 数 ; 进 位 产 生 函 数 Gi 和 进 位 传 送 函 数Gi=Ai BiPi=AiABi当 Gi=1 时会产生进位,而当 Pi=1 时会使进位输入 传到输出。 根据全 加器 原理 ,第 i 位的 进位 与和 的输 出可 表示 为Ci =Gi +Pi Ci - 1Si =Pi ACi - 1 由此可得各位的进位输出表达式 C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P

4、2P1C0这样经 过函 数 Pi 和函 数 Qi 产生一级 时间延迟 ,经过 计算 C 产生 一级 时延迟 ,那 么 A,B 输 入一 旦产 生即 可 算出 结果 。2设计思路进 展 16 位 超 前 进 位 加 法 器 设 计 时 由 于 位 数 太 多 如 果 采 用 全 部 超 前 进 位那么 电路 的逻 辑结 构 极其 复杂 并且 电路 的规 模会 很大 可以 考虑用 4 个 4 位 超 前 进 位 加 法 器 来 实 现 16 位 超 前 进 位 加 法 器 的 设 计 。三、关键代码1. 首先我 们进 展四 位超 前进位 加法器的 设计,由 设计方案 中所述的 算 法 ,定 义 一

5、 个 名 为 fulladder4的 模 块 ,该 模 块 中 的 关 键 代 码 如下:assignpO=aOFbO,p1=a1Ab1, p2=a2Fb2,p3=a3Fb3;assigng0=a0&b0,g1=a1&b1, g2=a2&b2,g3=a3&b3;assignc1=g0|(p0&c_in),c2=g1|(p1&g0)|(p1&p0&g0)|(p2&p1&p0&c_in), c3=g2|(p2&g1)|(p2&p1&g0)|(p3&p2&p1&p0

6、&c_in),c4=g3|(p3&g2)|(p3&p2&g1)|(p3&p2&p1&g0)|(p3&p2&p1&p0&c_in);assig n sum0=p0Ac_i n.sum1=p1Ac1,sum2=p2Ac2,sum3=p3Ac3;assign c_out=c4;2. 我们定义名为 fulladder16 的 16 位超 前进位 加法 器,主 要是通 过例 化四 位超前进位加法器得到,关键代码如下:fulladder4 i1(sum3:0,c3,a3:0,b3:0,c_in);fulladder4

7、i2(sum7:4,c7,a7:4,b7:4,c3);fulladder4 i3(sum11:8,c11,a11:8,b11:8,c7);fulladder4 i4(sum15:12,c15,a15:12,b15:12,c11);assign c_out=c15;3. 编写测试脚本文件,由 于我们不可能将所有可能的输入一一列举,但 是我 们可以输入一些 具有 代表性的数据 ,例如 我们可 以让每四位数 产生级间进 位,观察结果是否正确,鼓励文件关键代码:initialbegina=5;b=4;c_in=0;#5 a=2;b=6;c_in=1;#5 a=4'b1101;b=4'b

8、0011;c_in=0;#5 a=8'b1101_0011;b=8'b0110_0001;c_in=1;#5 a=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,波形图结果如下,从数据我们可知该系统实现了功能。仿真结果:Oa=OO1O1,b=OO1OO,c_i n=0sum=01001,c_out=05a=OO

9、O1O,b=OO11O,c_i n=1sum=01001,c_out=010a=01101,b=00011,c_i n=0sum=10000,c_out=015a=10011,b=00001,c_i n=1sum=10101,c_out=020a=00101,b=00101,c_i n=0sum=01010,c_out=025a=01010,b=10000,c_i n=1sum=11011,c_out=1仿真波形图如下:zicmocnoaujcmo111011Stl妙他湖?njp】 WlQQQQi 预:工匚丽 I;门:疋门:IQK.W 九曲漁兀由巾;丄丄 口山LunJJQU1UIQ1DMJ孩血

10、泗:3二加二loceoHojoapi 口皿注他皿口巾叩* il兀ooikd:.DDOO从该图中可以更直观地验证结果五、结论通过对16位超前进位加法器进展功能仿真,本设计到达了预定设计的目的, 实现了利用verilog语言设计16位超前进位加法器这样一个简单的数字电路, 但在验证时,我们只是测试观察了有限的输入,因此可靠性不强。更加可靠的验 证方法有待于进一步的研究。附录116位超前进位加法器的verilog代码:module fulladder16(sum,c_out,a,b,c_ in); output 15:0 sum;output c_out;input 15:0 a,b;input c

11、_in;wire c3,c7,c11,c15;fulladder4 i1(sum3:0,c3,a3:0,b3:0,c_in);fulladder4 i2(sum7:4,c7,a7:4,b7:4,c3);fulladder4 i3(sum11:8,c11,a11:8,b11:8,c7);fulladder4 i4(sum15:12,c15,a15:12,b15:12,c11); assign c_out=c15;endmodulemodule fulladder4(sum,c_out,a,b,c_in);output 3:0 sum;output c_out;input 3:0 a,b;inpu

12、t c_in;wire p0,g0,p1,g1,p2,g2,p3,g3;wire c1,c2,c3,c4;assig n p0=a0Ab0,p仁 a1Fb1, p2=a2Ab2, p3=a3Ab3;assign g0=a0&b0,g1=a1&b1,g2=a2&b2,g3=a3&b3;assign c1=g0|(p0&c_in),c2=g1|(p1&g0)|(p1&p0&g0)|(p2&p1&p0&c_in),c3=g2|(p2&g1)|(p2&p1&g0)|(p3&p2&am

13、p;p1&p0&c_in),c4=g3|(p3&g2)|(p3&p2&g1)|(p3&p2&p1&g0)|(p3&p2&p1&p0&c_in);assig n sum0=p0Ac_ in,sum1=p1Ac1,sum2=p2Ac2,sum3=p3Ac3;assign c_out=c4;endmodule附录 2鼓励块代码如下:module top;reg15:0 a,b;reg c_in;wire15:0 sum;wire c_out;fulladder16 adder(.sum(sum),.c_out(c_out),.a(a),.b(b),.c_in(c_in);initial begina=5;b=4;c_in=0;#5 a=2;b=6;c_in=1;#5 a=4'b1101;b=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论