计算机设计与实践——32位先行进位加法器.pptx

计算机设计与实践——32位先行进位加法器.pptx

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

32位先行进位加法器;32位超前进位加法器的进位是并行同时产生的,能够极大的减少加法器由进位引起的延时。增加了逻辑器件,但有效的减少的延迟。进位是由cla部件超前算出,本位是由不含进位的加法器算出。;Verilog HDL代码如下: module alu_32(c2,f32,x32,y32,ciii);//32位加法器先行进位加法器 input [32:1]x32; input [32:1]y32; input ciii; output [32:1]f32; output c2; wire c1; wire [2:1]p; wire [2:1]g; alu_16 alu_16_1(g[1],p[1],f32[16:1],x32[16:1],y32[16:1],ciii); alu_16 alu_16_2(g[2],p[2],f32[32:17],x32[32:17],y32[32:17],c1); assign c1=g[1]|p[1]ciii; assign c2=g[2]|p[2]g[1]|p[2]p[1]ciii; endmodule;module alu_16(gmm,pmm,f16,x16,y16,cii);//16位加法器先行进位加法器 input [16:1]x16; input [16:1]y16; input cii; output [16:1]f16; output gmm,pmm; wire [4:1]c; wire [4:1]p; wire [4:1]g; jiafaqi_4 alu_4_1(g[1],p[1],f16[4:1],x16[4:1],y16[4:1],cii); jiafaqi_4 alu_4_2(g[2],p[2],f16[8:5],x16[8:5],y16[8:5],c[1]); jiafaqi_4 alu_4_3(g[3],p[3],f16[12:9],x16[12:9],y16[12:9],c[2]); jiafaqi_4 alu_4_4(g[4],p[4],f16[16:13],x16[16:13],y16[16:13],c[3]); cla_4 cl_4_1(c,p,g,cii); assign pmm=p[4]p[3]p[2]p[1]; assign gmm=g[4]|p[4]g[3]|p[4]p[3]g[2]|p[4]p[3]p[2]g[1]; endmodule ;module jiafaqi_4(gm,pm,f,x,y,c0); //四位超前进位加法器 input [4:1]x; //四位x值 input [4:1]y; //四位y值 output [4:1]f; //四位加和f output gm,pm; input c0; //上一的级进位 wire [3:1]c; //超前进位 wire [4:1]p; wire [4:1]g; assign p=x|y; assign g=xy; assign c[1]=g[1]|p[1]c0; 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; assign pm=p[4]p[3]p[2]p[1]; assign gm=g[4]|p[4]g[3]|p[4]p[3]g[2]|p[4]p[3]p[2]g[1]; 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 module cla_4(c,p,g,c0);//4位CLA部件 input [4:1]p; input [4:1]g; input c0; output [4:1]c; assign c[1]=g[1]|p[1]c0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档