- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Verilog HDL的10位超前进位加法器计
基于Verilog HDL的10位超前进位加法器设计
院 系 电子与通信工程学院 专 业 通信工程 学 生 班 级 2011级 姓 名 学 号 指导教师单位 电子与通信工程学院 指导教师姓名 陈宇宁
2014年6月22日
设计题目:设计一个10位的超前进位加法器。要求作出功能和时序仿真。
一 总体设计方案
1.1 设计原理
将n个全加器相连可得n位加法器,但是加法时间较长。解决的方法之一是采用“超前进位产生电路”来同时形成各位进位,从而实现快速加法。超前进位产生电路是根据各位进位的形成条件来实现的。
4位超前进位加法器的设计:首先对于1位全加器其本位值和与进位输出可表示如下:
从上面的式子可看出:如果a和b都为1,则进位输出为1,如果a和b有一个为1,则进位输出等于。令G=ab。P=a+b,则有:。
由此可以用G和P来写出4位超前进位链如下:(设定4位被加数和加数为A和B,进位输入为,进位输出为,进位产生,进位传输。)
由上面的超前进位链可看出:各个进位彼此独立产生,将进位级连传播给去掉了,因此,减小了进位产生的延迟时间。
1.2 10位超前进位加法器的Verilog描述
由上面的4位超前进位加法器可以推出10位超前进位加法器的Verilog描述:
module add_ahead(sum,cout,a,b,cin);
input[9:0] a,b; input cin ; output[9:0] sum;
output cout; wire[9:0] G,P;wire[9:0] C,sum;
assign G[0]=a[0]b[0];
assign P[0]=a[0]|b[0];
assign C[0]=cin;
assign sum[0]=G[0]^P[0]^C[0];
assign G[1]=a[1]b[1];
assign P[1]=a[1]|b[1];
assign C[1]=G[0]|(P[0]cin);
assign sum[1]=G[1]^P[1]^C[1];
assign G[2]=a[2]b[2];
assign P[2]=a[2]|b[2];
assign C[2]=G[1]|(P[1]C[1]);
assign sum[2]=G[2]^P[2]^C[2];
assign G[3]=a[3]b[3];
assign P[3]=a[3]|b[3];
assign C[3]=G[2]|(P[2]C[2]);
assign sum[3]=G[3]^P[3]^C[3];
assign G[4]=a[4]b[4];
assign P[4]=a[4]|b[4];
assign C[4]=G[3]|(P[3]C[3]);
assign sum[4]=G[4]^P[4]^C[4];
assign G[5]=a[5]b[5];
assign P[5]=a[5]|b[5];
assign C[5]=G[4]|(P[4]C[4]);
assign sum[5]=G[5]^P[5]^C[5];
assign G[6]=a[6]b[6];
assign P[6]=a[6]|b[6];
assign C[6]=G[5]|(P[5]C[5]);
assign sum[6]=G[6]^P[6]^C[6];
assign G[7]=a[7]b[7];
assign P[7]=a[7]|b[7];
assign C[7]=G[6]|(P[6]C[6]);
assign sum[7]=G[7]^P[7]^C[7];
assign G[8]=a[8]b[8];
assign P[8]=a[8]|b[8];
assign C[8]=G[7]|(P[7]C[7]);
assign sum[8]=G[8]^P[8]^C[8];
assign G[9]=a[9]b[9];
assign P[9]=a[9]|b[9];
assign C[9]=G[8]|(P[8]C[8]);
assign sum[9]=G[9]^P[9]^C[9];
assign cout=G[9]|(P[9]C[9]);
endmodule
1.3 设计环境
本文在设计10位超前进位加法器过程中,采用Quartus II9.0软件。对于硬件,在实验设计过程中,用到了TPG-EDA/SOPC教学实验箱。
二 采用Quartus II9.0软件进行仿真
2.1主要步骤:
打开Quartu
您可能关注的文档
- 国四工程车后处理整车电器故障排除.ppt
- 四年级语文下册语文园地一习作(巴拉贡学校).ppt
- 国泰三厂KQLD励磁装置说明书.doc
- 国科金韩骅教授.ppt
- 国网考试继电保护试题.doc
- 国家自然科学基金申报辅导会.ppt
- 国网电力通信之光设备题库.docx
- 国际及港澳台通信.ppt
- 国际法视野下的法.ppt
- 国际收支网上申报系统向银行反馈申报管理数据接口规范(1.2版).doc
- 精品解析:2024年福建省中考化学模拟题(解析版).docx
- 精品解析:2024年辽宁省大连市中考英语模拟题(原卷版)[1].docx
- 精品解析:2024年甘肃省白银市中考生物模拟题(解析版)(1).docx
- 精品解析:2024年福建省中考化学模拟题(解析版)[1].docx
- 精品解析:2024年甘肃省白银市中考英语模拟题(原卷版)[1].docx
- 精品解析:2024年福建省中考生物模拟题(原卷版)(2)[1].docx
- 精品解析:2024年维吾尔自治区中考英语模拟题(含听力)(原卷版).docx
- 精品解析:2024年贵州省黔西南州中考数学模拟题(原卷版).docx
- 精品解析:2024年辽宁省大连市中考数学模拟题(原卷版)(1).docx
- 精品解析:2024年贵州省黔西南州中考数学模拟题(原卷版)(1).docx
文档评论(0)