- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2018年超前进位加法器.doc
超前进位加法器
说明文档
1. 结构图:
cout a b cin
2. 八段LED 显示器的编码:
假设8段LED 显示器是共阴极的,DP -G -F -E -D -C -B -A 正好组成一个8位的数8seg ,给这个数赋值,即可以显示相应的数字。
编码:
3. 编码器子模块
4到8位LED 编码器
module coder(in,out);
input[3:0] in;
output[7:0] out;
wire[3:0] in;
reg[7:0] out;
always@(in)
begin
case(in)
4h0: out=8h3f;
4h1: out=8h06;
4h2: out=8h5b;
4h3: out=8h4f;
4h4: out=8h66;
4h5: out=8h6d;
4h6: out=8h7d;
4h7: out=8h07;
4h8: out=8h7f;
4h9: out=8h6f;
4ha: out=8h77;
4hb: out=8h7c;
4hc: out=8h39;
4hd: out=8h5e;
4he: out=8h79;
4hf: out=8h71;
endcase
end
endmodule
4. 超前进位加法器子模块
对一个4位全加器,第i 位的两加数分别是Ai 和Bi, 进位输入信号是Ci-1, 这个位产生的进位输出是 Ci,则可以有得到:
Ci=AiBi+(Ai +Bi )Ci-1
令Gi= AiBi(进位产生函数) Pi= Ai+Bi(进位传递函数)
则:Ci=Gi+ PiCi-1
所以有:C0=G0+P0C-1 C1=G1+P1C0
C2=G2+P2C1 C3=G3+P3C2
将上式逐次代入则可以得到如下表达式(C-1是最低位的进位输入)
CO =G0+P0C-1
C1=G1+P1C0
=G1+P1G0+P1P0C-1
C2=G2+P2C1
=G2+P2G1+P2P1C0
=G2+P2G1+P2P1G0+P2P1P0C-1
C3=G3+P3C2
=G3+P3G2+P3P2C1
=G3+P3P2+P3P2C1
=G3+P3P2+P3P2G1+P3P2P1C0
=G3+P3P2+P3P2G1+P3P2P1G0+P3P2P1P0C-1
上述表达式说明只要各位数据和最低位进位同时输入,各位之间的进位信号与和就能同时产生。要据这样的原理可以实现超前进位加法器,这种加法器运算速度显著提高,但是复杂度也提高了。
module add4_head( a, b, cin, sum,cout);
input[3:0] a;
input[3:0] b;
input cin;
output[3:0] sum;
output cout;
wire[3:0] p;
wire[3:0] g;
wire[3:0] t;
wire[2:0] c;
assign p[0] = a[0] | b[0];
assign p[1] = a[1] | b[1];
assign p[2] = a[2] | b[2];
assign p[3] = a[3] | b[3];
assign t[0] = a[0] ^ b[0];
assign t[1] = a[1] ^ b[1];
assign t[2] = a[2] ^ b[2];
assign t[3] = a[3] ^ b[3];
assign g[0] = a[0] b[0];
assign g[1] = a[1] b[1];
assign g[2] = a[2] b[2];
assign g[3] = a[3] b[3];
assign c[0] = (p[0] cin) | g[0];
assign c[1] = (p[1] c[0]) | g[1];
assign c[2] = (p[2] c[1]) | g[2];
assign cout = g[3] | (p[3] (g[2] | p[2] (g[1] | p[1] (g[0]|(p[0]cin)))));
assign sum[0] = t[0] ^ cin;
您可能关注的文档
- 2018年船舶发电机AVR的作用.doc
- 2018年船舶家具验收质量标准.doc
- 2018年苯,甲苯和二甲苯的测定—科标检测.doc
- 2018年苯-甲苯-二甲苯性质.doc
- 2018年茨榆山中心幼儿园对教育发展的几点建议.doc
- 2018年茶叶包装毕业论文.doc
- 2018年草房子的续写.doc
- 2018年草根志愿组织运行机制探析.doc
- 2018年草莓无土栽培方式及基质配方研究.doc
- 2018年荡荡岭电力线路工程冬季施工方案.doc
- 急性肾功能衰竭综合征的肾血管介入性诊治4例报告并文献复习.docx
- 基于血流动力学、镇痛效果分析右美托咪定用于老年患者髋部骨折术的效果.docx
- 价格打骨折 小心统筹车险.docx
- 交通伤导致骨盆骨折合并多发损伤患者一体化救治体系的效果研究.docx
- 多层螺旋CT与DR片诊断肋骨骨折的临床分析.docx
- 儿童肱骨髁上骨折后尺神经损伤恢复的预测因素分析.docx
- 康复联合舒适护理在手骨折患者中的应用及对其依从性的影响.docx
- 机器人辅助老年股骨粗隆间骨折内固定术后康复.docx
- 超声辅助定位在老年髋部骨折患者椎管内麻醉中的应用:前瞻性随机对照研究.docx
- 两岸《经济日报》全面合作拉开帷幕.docx
原创力文档


文档评论(0)