超前进位加法器.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
超前进位加法器

说明文档8段LED显示器1.结构图: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)begincase(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;endcaseendendmodule4. 超前进位加法器子模块对一个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-1C1=G1+P1C0=G1+P1G0+P1P0C-1C2=G2+P2C1=G2+P2G1+P2P1C0=G2+P2G1+P2P1G0+P2P1P0C-1C3=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;assign sum[1] = t[1] ^ c[0];assign sum[2] = t[2] ^ c[1];assign sum[3] = t[3] ^ c[2]; endmodule5.例化两个子模块把超前进位加法器和4到8位LED编码器 两个模块例化放一起,完成本设计module add_display(a,b,cin,cout,out);input[3:0] a;input[3:0] b;input cin;output cout;output[7:0] out;wire[3:0] temp;add4_head add4_head(.a(a), .b(b), .cin(cin)

文档评论(0)

abf4675328 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档