用Verilog HDL语言编写的四位超前进位加法器.pptx

用Verilog HDL语言编写的四位超前进位加法器.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Verilog HDL语言编写的四位超前进位加法器

四位超前进位加法器;四位超前进位加法器的进位是并行同时产生的,能够极大的减少加法器由进位引起的延时。增加了逻辑器件,但有效的减少的延迟。进位是由ALU部件超前算出,本位是由四个不含进位的加法器算出。;Verilog HDL代码如下: module jiafaqi_4(x,y,c0,c4,f); //四位超前进位加法器 input [4:1]x; //四位x值 input [4:1]y; //四位y值 output [4:1]f; //四位加和f input c0; //上一的级进位 output c4; //向下一级的进位 wire [3:1]c; //超前进位 wire [4:1]p; wire [4:1]g; wire [4:1]cd; assign p=x|y; assign g=xy;;assign c[1]=g[1]|p[1]c0; //c[1]~c4为ALU部件 assign c[2]=g[2]|p[2]g[1]|p[2]p[1]c0; assign c[3]=g[3]|p[3]g[2]|p[2]p[3]g[1]|p[3]p[2]p[1]c0; assign c4=g[4]|p[4]g[3]|p[4]p[3]g[2]|p[4]p[3]p[2]g[1]|p[4]p[3]p[2]p[1]c0; jiafaqi_1 jia1(x[1],y[1],c0,f[1]); jiafaqi_1 jia2(x[2],y[2],c[1],f[2]); jiafaqi_1 jia3(x[3],y[3],c[2],f[3]); jiafaqi_1 jia4(x[4],y[4],c[3],f[4]); endmodule;module jiafaqi_1(x,y,c0,f); //一位加法器模块 input x; input y; input c0; output f; assign f=(x^y)^c0; endmodule //该一位加法器只有本位输出,不含向下一级的进位输出,进位输出是由顶层模块的并行超前进位提供;// 在BASYS2开发板上的管脚配置 NET c4 LOC = N5; NET c0 LOC = A7; NET x[1] LOC = P11; NET x[2] LOC = L3; NET x[3] LOC = K3; NET x[4] LOC = B4; NET y[1] LOC = G3; NET y[2] LOC = F3; NET y[3] LOC = E2; NET y[4] LOC = N3; NET f[1] LOC = M5; NET f[2] LOC = M11; NET f[3] LOC = P7; NET f[4] LOC = P6;

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档