流水线加法器.doc

流水线加法器.doc

ID:57652341

大小:186.00 KB

页数:7页

时间:2020-08-30

流水线加法器.doc_第1页
流水线加法器.doc_第2页
流水线加法器.doc_第3页
流水线加法器.doc_第4页
流水线加法器.doc_第5页
资源描述:

《流水线加法器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、moduleadd_line(a,b,clk,out);parameterwidth=16,width1=8,//lsbwidth2=8;//msb//r3r1input[width-1:0]a;//a<=00010111_00000001input[width-1:0]b;//b<=11111111_00000000output[width:0]out;//r4r2inputclk;reg[width1-1:0]r1,r2,r5;reg[width2-1:0]r3,r4,r6;regc1,c2;reg[width:0]sum;always@(posedgeclk)//---firs

2、tbeginr1[width1-1:0]=a[width1-1:0];//r2[width1-1:0]=b[width1-1:0];//r3[width2-1:0]=a[width-1:width1];r4[width2-1:0]=b[width-1:width1];endalways@(posedgeclk)//----secondbegin{c1,r5}=r1+r2;{c2,r6}=r3+r4+c1;sum={c2,r5,r6};endassignout=sum;endmodule图Ⅰ图Ⅱ上图Ⅱ是没有assignout=sum;时的rtl级仿真结果;错误1:Warning(100

3、34):Outputport"out[1]"atadd_line.v(9)hasnodriver原因:out没有驱动,out根本就没有用;错误2:永远有多远(1057978105)10:43:30这样不好有时序又有组合永远有多远(1057978105)10:46:04最好把它都放在时序里面width改成width0★(1003704680)10:47:54那个地方是时序,哪个地方是组合永远有多远(1057978105)10:48:17always时序assign组合moduleadd_line(a,b,clk,out);parameterwidth=16,width1=8,//lsb

4、width2=8;//msb//r3r1input[width-1:0]a;//a<=00010111_00000001input[width-1:0]b;//b<=11111111_00000000output[width:0]out;//r4r2inputclk;reg[width1-1:0]r1,r2,r5;reg[width2-1:0]r3,r4,r6;regc1,c2;reg[width:0]out;always@(posedgeclk)//---firstbeginr1[width1-1:0]<=a[width1-1:0];//r2[width1-1:0]<=b[widt

5、h1-1:0];//r3[width2-1:0]<=a[width-1:width1];r4[width2-1:0]<=b[width-1:width1];endalways@(posedgeclk)//----secondbegin{c1,r5}<=r1+r2;{c2,r6}<=r3+r4+c1;out<={c2,r5,r6};endendmodule图Ⅲ上图用阻塞赋值的rtl;图Ⅳ上图是用非阻塞赋值的rtl;下图是用非阻塞赋值运算结果:有两个地方进位错误!第一个进位推迟一个时钟;图Ⅴ下图是用阻塞赋值结果:图Ⅵ错误原因:非阻塞赋值语句中,数值的转移须等到下一个时钟周期;与组合逻辑的

6、比较:moduleadd(a,b,sum);input[15:0]a,b;output[16:0]sum;assignsum=a+b;Endmodule图Ⅶ所谓流水线设计实际上就是把规模较大、层次较多的组合逻辑电路分为几个级,在每一级插入寄存器组暂存中间数据。K级的流水线就是从组合逻辑的输入到输出恰好有K个寄存器组(分为K级,每一级都有一个寄存器组)上一级的输出是下一级的输入而又无反馈的电路。图5.6表示了如何将把组合逻辑设计转换为相同组合逻辑功能的流水线设计。这个组合逻辑包括两级。第一级的延迟是T1和T3两个延迟中的最大值;第二级的延迟等于T2的延迟。为了通过这个组合逻辑得到稳定的

7、计算结果输出,需要等待的传播延迟为[max(T1,T3)+T2]个时间单位。在从输入到输出的每一级插入寄存器后,流水线设计的第一级寄存器所具有的总的延迟为T1与T3时延中的最大值加上寄存器的Tco(触发时间)。同样,第二级寄存器延迟为T2的时延加上Tco。采用流水线设计为取得稳定的输出总体计算周期为:max(max(T1,T3)+Tco,(T2+Tco))流水线设计需要两个时钟周期来获取第一个计算结果,而只需要一个时钟周期来获取随后的计算结果。开始时用来获

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。