乘法器电路的设计_第1页
乘法器电路的设计_第2页
乘法器电路的设计_第3页
乘法器电路的设计_第4页
乘法器电路的设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编辑ppt1n 应用 数字信号处理和数字通信n 地位 影响系统的运行速度n 实现l 并行乘法器l 移位相加乘法器l 查找表乘法器l 加法树乘法器编辑ppt29.2.1 并行乘法器l 结构 用乘法运算符描述 由EDA软件综合l 优点 运算速度快l 缺点 耗用资源多编辑ppt3【例9.4】8位并行乘法器module mult( outcome, a, b);parameter size = 8;inputsize:1 a, b; / 源操作数output2*size:1 outcome; / 乘积assign outcome = a*b; / 相乘endmodule编辑ppt48位并行乘法器RTL

2、图编辑ppt59.2.2 移位相加乘法器l 结构 移位寄存器 加法器l 优点 耗用资源少编辑ppt6【例9.16】8位二进制数的乘法module mult_for( outcome, a, b );parameter size = 8;inputsize:1 a, b;output2*size:1 outcome;reg2*size:1 outcome;integer i;编辑ppt7always ( a or b )begin outcome = 4h0;for( i = 1; i = size; i = i+1 ) if( bi ) outcome = outcome + ( a (i-1

3、) );endendmodule编辑ppt8乘法器的功能仿真波形图编辑ppt99.2.3 查找表乘法器l 结构 操作数:地址 乘积:存储器l 优点 运算速度快l 缺点 耗用存储资源多编辑ppt10l 设计思路n 4位查找表乘法器 Y = AB A = A122+A2 B = B122+B2 则 Y = ( A122+A2 )( B122+B2 ) = A1B124 + A1B222 + A2B122 + A2B2编辑ppt11n 8位查找表乘法器 Y = AB A = A124+A2 B = B124+B2 则 Y = ( A124+A2 )( B124+B2 ) = A1B128 + A1B

4、224 + A2B124 + A2B2编辑ppt12【例9.5】 88查找表乘法器/* 22查找表乘法器 */module lookup( out, a, b, clk );output3:0 out; / 乘积input1:0 a, b; / 操作数input clk;reg3:0 out;reg3:0 address; / 存储器地址编辑ppt13always ( posedge clk )beginaddress = a, b ;case( address )4h0:out = 4b0000;4h1:out = 4b0000;4h2:out = 4b0000;4h3:out = 4b00

5、00;4h4:out = 4b0000;4h5:out = 4b0001;4h6:out = 4b0010;4h7:out = 4b009;编辑ppt144h8:out = 4b0000;4h9:out = 4b0010;4ha:out = 4b0100;4hb:out = 4b090;4hc:out = 4b0000;4hd:out = 4b009;4he:out = 4b090;4hf:out = 4b1001;default: out = 4bx;endcaseendendmodule编辑ppt15/* 44查找表乘法器 */module mult4x4( out, a, b, clk

6、);output7:0 out; / 乘积input3:0 a, b; / 操作数input clk;reg7:0 out;reg1:0 firsta, firstb; / 操作数高2位reg1:0 seconda, secondb; / 操作数低2位wire3:0 outa, outb, outc, outd; / 乘积每2位1组编辑ppt16always ( posedge clk )beginfirsta = a3:2;seconda = a1:0;firstb = b3:2;secondb = b1:0;end编辑ppt17lookup m1( outa, firsta, firstb

7、, clk ), / 元件调用 m2( outb, firsta, secondb, clk ), m3( outc, seconda, firstb, clk ), m4( outd, seconda, secondb, clk );always ( posedge clk )beginout = ( outa 4 ) + ( outb 2 ) / 乘积 + ( outc 2 ) + outd;endendmodule编辑ppt184位查找表乘法器仿真波形图编辑ppt19/* 88查找表乘法器 */module mult8x8( out, a, b, clk );output15:0 out

8、; / 乘积input7:0 a, b; / 操作数input clk;reg15:0 out;reg3:0 firsta, firstb; / 操作数高4位reg3:0 seconda, secondb; / 操作数低4位wire7:0 outa, outb, outc, outd; / 乘积每8位1组编辑ppt20always ( posedge clk )beginfirsta = a7:4;seconda = a3:0;firstb = b7:4;secondb = b3:0;end编辑ppt21mult4x4 n1( outa, firsta, firstb, clk ), / 元件

9、调用 n2( outb, firsta, secondb, clk ), n3( outc, seconda, firstb, clk ), n4( outd, seconda, secondb, clk );always ( posedge clk )beginout = ( outa 8 ) + ( outb 4 ) / 乘积 + ( outc 4 ) + outd;endendmodule编辑ppt228位查找表乘法器仿真波形图编辑ppt239.2.4 加法树乘法器l 结构 底层:乘法器 高层:多级加法器l 优点 1个时钟周期完成编辑ppt24加法树乘法器结构框图81乘法器a128b78

10、1乘法器a64b6加法器81乘法器a32b581乘法器a16b4加法器81乘法器a8b381乘法器a4b2加法器81乘法器a2b181乘法器ab0加法器加法器加法器加法器y=ab编辑ppt25【例9.6】8位加法树乘法器module add_tree( out, a, b, clk );output15:0 out; / 乘积input7:0 a, b; / 操作数input clk;wire15:0 out;wire15:0 out1, c1; / 加法器和wire13:0 out2;wire11:0 out3, c2;wire9:0 out4;编辑ppt26reg14:0 temp0; /

11、 最高位乘积reg13:0 temp1;reg12:0 temp2;reg11:0 temp3;reg10:0 temp4;reg9:0 temp5;reg8:0 temp6;reg7:0 temp7; / 最低位乘积编辑ppt27/* 81乘法器 */function7:0 mult8x1;input7:0 operand;input sel;beginmult8x1 = ( sel ) ? ( operand ) : 8b00000000;endendfunction编辑ppt28/* 操作数b各位与操作数a相乘 */always ( posedge clk )begintemp7 = m

12、ult8x1( a, b0 );temp6 = ( mult8x1( a, b1 ) ) 1;temp5 = ( mult8x1( a, b2 ) ) 2;temp4 = ( mult8x1( a, b3 ) ) 3;temp3 = ( mult8x1( a, b4 ) ) 4;temp2 = ( mult8x1( a, b5 ) ) 5;temp1 = ( mult8x1( a, b6 ) ) 6;temp0 = ( mult8x1( a, b7 ) ) 7;end编辑ppt29/* 加法器树运算 */assign out1 = temp0 + temp1;assign out2 = tem

13、p2 + temp3;assign out3 = temp4 + temp5;assign out4 = temp6 + temp7;assign c1 = out1 + out2;assign c2 = out3 + out4;assign out = c1 + c2;endmodule编辑ppt308位加法树乘法器仿真波形图编辑ppt31四种乘法器的比较编辑ppt32编辑ppt33【例9.30】乘累加器(MAC)module MAC( out, opa, opb, clk, clr );output15:0 out;input7:0 opa, opb;input clk, clr;wire15:0 sum;reg15:0 out;编辑ppt34function15:0 mult;input7:0 opa, opb;reg 15:0 result;integer i;begin result = opa0 ? opb : 0; for(i = 1; i = 7; i = i+1)beg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论