各种乘法器比较.pdf

各种乘法器比较.pdf

ID:57055783

大小:456.13 KB

页数:14页

时间:2020-07-31

各种乘法器比较.pdf_第1页
各种乘法器比较.pdf_第2页
各种乘法器比较.pdf_第3页
各种乘法器比较.pdf_第4页
各种乘法器比较.pdf_第5页
资源描述:

《各种乘法器比较.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、各种乘法器比较韦其敏08321050引言:乘法器频繁地使用在数字信号处理和数字通信的各种算法中,并往往影响着整个系统的运行速度。如何实现快速高效的乘法器关系着整个系统的运算速度和资源效率。本位用如下算法实现乘法运算:并行运算、移位相加、查找表、加法树。并行运算是纯组合逻辑实现乘法器,完全由逻辑门实现;移位相加乘法器将乘法变为加法,通过逐步移位相加实现;查找表乘法器将乘积结果存储于存储器中,将操作数作为地址访问存储器,得到的输出数据就是乘法运算结果;加法树乘法器结合移位相加乘法器和查找表乘法器的优点,增加了芯片耗用,提高运算速度。注:笔者使用综合软件为QuartusII9.1,选用器件为EP2

2、C70,选用ModelSimSE6.1b进行仿真,对于其他的软硬件环境,需视具体情况做对应修改。汇总的比较:RTL图耗用资源仿真结果优缺点比较速度快,实现代码简1个逻辑单输入数据变化单明了并行乘法器嵌入式硬件元时输出结果马操作数位数较宽时,8X8乘法器1个硬件乘上更新不适用没有硬件乘法器法器的器件数据选择器对于8位的操50个逻辑单移位相加乘法器数据寄存器作数,需要8耗用资源相对较少元8X8加法器个时钟周期进运算速度比较慢43个寄存器状态机行运算速度仅取决于ROM查找表乘法器ROM数据存256字节的需要大约两个存取速度4X4储器ROM半时钟周期位数较宽时需要非常大的ROM结合了查找表和移数据选

3、择器126个逻辑运算结果在一加法树乘法器位相加的优点,速度数据寄存器单元个时钟周期内8X8比较快加法器64个寄存器完成更新增加了芯片耗用详细实现过程:1.并行乘法器源代码:moduleMult1(outcome,a,b);parameterMSB=8;input[MSB:1]a,b;output[2*MSB:1]outcome;assignoutcome=a*b;endmodule资源耗用情况:RTL图:Mult0A[7..0]a[8..1]B[7..0]xoutcome[16..1]b[8..1]MULTIPLIERModelSim测试激励文件源代码:`timescale10ns/1nsm

4、oduleMult1_test();reg[8:1]a,b;wire[16:1]outcome;Mult1u1(outcome,a,b);parameterdelay=2;initialbegina=1;b=0;endinitialforeverbegin#delaya=a+1;b=b+1;if(outcome>=16'h0FFF)$stop;endendmodule仿真时序波形:结果分析:DE2-70拥有300个嵌入式硬件乘法器单元,QuartusII综合并行乘法器时自动采用嵌入式乘法器来实现,因此中和报表中仅耗用了一个LE单元和一个九位的嵌入式乘法器单元。如果把器件改成Cyclone系列

5、的EP1C3,则由于该器件没有内嵌硬件乘法器,综合实现并行乘法器所耗用的LE单元数需要106个,如下图所示:并行乘法器可以看作是纯组合逻辑电路,依靠组合逻辑实现两数相乘,这种方法能在输入数据改变时立即得到相乘结果,延时很短,但是耗用的资源随操作数位数的增加而迅速变多。并行乘法器实现代码非常简短,适用于器件内有嵌入式硬件乘法器的情况。2.移位相加乘法器源代码:moduleshifta(r,l,e,clk,q);input[7:0]r;inputl,e,clk;outputreg[15:0]q;integerk;wire[15:0]r16;assignr16={{8{1'b0}},r};alwa

6、ys@(posedgeclk)beginif(l)q<=r16;elseif(e)beginq[0]<=1'b0;for(k=1;k<16;k=k+1)q[k]<=q[k-1];endendendmodulemoduleshiftb(r,l,e,clk,q0,z);input[7:0]r;inputl,e,clk;outputq0,z;reg[7:0]q;integerk;always@(posedgeclk)beginif(l)q<=r;elseif(e)beginfor(k=7;k>0;k=k-1)q[k-1]<=q[k];q[7]<=1'b0;endendassignz=(q==0);

7、assignq0=q[0];endmodulemodulesum(a,p,psel,sum);input[15:0]a,p;inputpsel;output[15:0]sum;reg[15:0]sum;wire[15:0]ap_sum;integerk;assignap_sum=a+p;always@(pselorap_sum)beginsum=psel?ap_sum:16'b0;endendmodulemo

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

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

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