电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

先行进位加法器课件

  • 资源ID:99523908       资源大小:325.51KB        全文页数:11页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

先行进位加法器课件

实验四 32位先行进位加法器一、 功能概述串行进位加法器延时很大,每级的输出结果都要等上一级的进位到来才可以求和算出结果,这次实验对普通全加器进行改良,改良为先行进位加法器。 先行进位加法器,各级的进位彼此是独立产生,只与输入数据A,B和C_in有关,将各级间的进位级联传播给去掉了,这样就可以减小进位产生的延时。每个等式与只有三级延迟的电路对应,第一级延迟对应进位产生信号和进位传递信号,后两级延迟对应上面的积之和。通过这种进位方式实现的加法器称为超前进位加法器。因为各个进位是并行产生的,所以是一种并行进位加法器。二、 实验原理1、设二进制加法器第i位为Ai,Bi,输出为Si,进位输入为Ci,进位输出为Ci+1,则有: Si=AiBiCi (1-1) Ci+1 =Ai * Bi+ Ai *Ci+ Bi*Ci =Ai * Bi+(Ai+Bi)* Ci (1-2)令Gi = Ai * Bi , Pi = Ai+Bi,则Ci+1= Gi+ Pi *Ci当Ai和Bi都为1时,Gi = 1, 产生进位Ci+1 = 1当Ai和Bi有一个为1时,Pi = 1,传递进位Ci+1= Ci因此Gi定义为进位产生信号,Pi定义为进位传递信号。Gi的优先级比Pi高,也就是说:当Gi = 1时(当然此时也有Pi = 1),无条件产生进位,而不管Ci是多少;当Gi=0而Pi=1时,进位输出为Ci,跟Ci之前的逻辑有关。 下面推导4位超前进位加法器。设4位加数和被加数为A和B,进位输入为Cin,进位输出为Cout,对于第i位的进位产生Gi = Ai·Bi ,进位传递Pi=Ai+Bi , i=0,1,2,3。于是这各级进位输出,递归的展开Ci,有:C0 = CinC1=G0 + P0·C0C2=G1 + P1·C1 = G1 + P1·G0 + P1·P0 C0C3=G2 + P2·C2 = G2 + P2·G1 + P2·P1·G0 + P2·P1·P0·C0C4=G3 + P3·C3 = G3 + P3·G2 + P3·P2·G1 + P3·P2·P1·G0 + P3·P2·P1·P0·C0 (1-3)Cout=C4由此可以看出,各级的进位彼此独立产生,只与输入数据Ai、Bi和Cin有关。2、接口说明表1: 32位超前进位加法器接口信号说明表序号接口信号名称方向说明备注1A31:0I输入数据2B31:0I输入数据3S31:0O加法结果4countO最高位进位3、结构框图三、 实验方案方案一:分为两个模块:1个4位add_4和1个add_32,其中add_32调用4个add_4.首先设计4位超前进位加法器:框图如下:设计好四位的之后,开始调用四位的实现32位的。方案二:分为五个模块:(1)计算传播值和产生值模块:pg模块(2)超前进位模块:cla模块 (3)加法求和模块:sum模块(4)求和并按输出a,b,c_in分组:bit_slice模块(5)32位超前进位加法器总模块:cla_32总框图:四、 验证方案:对32位的两个输入赋值:当a=32'b1000_0001_0111_1011_1101_1001_1101_1000;b=32'b0111_1000_0001_1000_1100_0111_0101_0001;c_in=1'b0;结果:s=32'b1111_1001_1001_0100_1010_0001_0010_1001;当 a=32'b1000_0001_0111_1011_1101_1001_1101_1000;b=32'b0111_1000_0001_1000_1100_0111_0101_0001;c_in=1'b1;结果:s=32'b1111_1001_1001_0100_1010_0001_0010_1010;来对波形进行观察,看波形是否正确。五、 实验代码:方案一:(1)add_32模块顶层模块:(2)4位add_4模块方案二:(1)cla_32顶层模块:module cla_32(a,b,c_in,s,count ); input 31:0 a,b; input c_in; output 31:0 s; output count; wire 7:0 gg,gp,gc; wire 3:0 ggg,ggp,ggc; wire gggg,gggp; bit_slice b1(.a(a3:0),.b(b3:0),.c_in(gc0),.s(s3:0),.gp(gp0),.gg(gg0); bit_slice b2(.a(a7:4),.b(b7:4),.c_in(gc1),.s(s7:4),.gp(gp1),.gg(gg1); bit_slice b3(.a(a11:8),.b(b11:8),.c_in(gc2),.s(s11:8),.gp(gp2),.gg(gg2); bit_slice b4(.a(a15:12),.b(b15:12),.c_in(gc3),.s(s15:12),.gp(gp3),.gg(gg3); bit_slice b5(.a(a19:16),.b(b19:16),.c_in(gc4),.s(s19:16),.gp(gp4),.gg(gg4); bit_slice b6(.a(a23:20),.b(b23:20),.c_in(gc5),.s(s23:20),.gp(gp5),.gg(gg5); bit_slice b7(.a(a27:24),.b(b27:24),.c_in(gc6),.s(s27:24),.gp(gp6),.gg(gg6); bit_slice b8(.a(a31:28),.b(b31:28),.c_in(gc7),.s(s31:28),.gp(gp7),.gg(gg7); clac0(.p(gp3:0),.g(gg3:0),.c_in(ggc0),.c(gc3:0),.gp(ggp0),.gg(ggg0);cla c1(.p(gp7:4),.g(gg7:4),.c_in(ggc1),.c(gc7:4),.gp(ggp1),.gg(ggg1);assign ggp3:2=2'b11;assign ggg3:2=2'b00;cla c2(.p(ggp),.g(ggg),.c_in(c_in),.c(ggc),.gp(gggp),.gg(gggg);assign count=gggg|(gggp&c_in);endmodule(2)pg模块:module pg(a,b,p,g);input 3:0 a,b;output 3:0 p,g;assign p=ab;assign g=a&b;endmodule(3)cla模块:module cla(p,g,c_in,c,gp,gg);input 3:0 p,g;input c_in;output 3:0 c;output gp,gg;function 99:0 do_cla; input 3:0 p,g; input c_in; begin:label integer i; reg gp,gg; reg 3:0 c; gp=p0; gg=g0; c0=c_in; for(i=1;i<4;i=i+1) begin gp=gp&pi;gg=(gg&pi)|gi;ci=(ci-1&pi-1)|gi-1; enddo_cla=c,gp,gg;end endfunctionassign c,gp,gg=do_cla(p,g,c_in);endmodule(4)sum模块:module sum(a,b,c,s );input 3:0 a,b,c;output 3:0 s;wire 3:0 t=ab;assign s=tc;endmodule(5)bit_slice模块:module bit_slice(a,b,c_in,s,gp,gg );input 3:0 a,b;input c_in;output 3:0 s;output gp,gg;wire 3:0p,g,c;pg i1(a,b,p,g);cla i2(p,g,c_in,c,gp,gg);sum i3(a,b,c,s);endmodule(6)激励代码:module cla32_tb;/ Inputsreg 31:0 a;reg 31:0 b;reg c_in;/ Outputswire 31:0 s;wire count;/ Instantiate the Unit Under Test (UUT)cla_32 uut (.a(a), .b(b), .c_in(c_in), .s(s), .count(count);initial begin/ Initialize Inputsa = 0;b = 0;c_in = 0;/ Wait 100 ns for global reset to finish#10 a=32'b1000_0001_0111_1011_1101_1001_1101_1000;b=32'b0111_1000_0001_1000_1100_0111_0101_0001;c_in=1'b0;#10 a=32'b1000_0001_0111_1011_1101_1001_1101_1000;b=32'b0111_1000_0001_1000_1100_0111_0101_0001;c_in=1'b1; / Add stimulus hereend endmodule六、波形图说明1、仿真波形2、结果说明对于三个输入: a=32'b1000_0001_0111_1011_1101_1001_1101_1000; b=32'b0111_1000_0001_1000_1100_0111_0101_0001; c_in=1'b0;结果与实验方案的相同,结果仿真正确.七、 实验总结 对于这次实验,自己在老师布置完,努力做了几个下午,不断调试才得到正确结果波形,是非常有收获的。同时我也采用了两种方案来设计,真正的对先行进位加法器有了全新的认识

注意事项

本文(先行进位加法器课件)为本站会员(好**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.