资源描述:
《乘法器电路的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、9.2乘法器设计应用数字信号处理和数字通信地位影响系统的运行速度实现并行乘法器移位相加乘法器查找表乘法器加法树乘法器9.2.1并行乘法器结构用乘法运算符描述由EDA软件综合优点运算速度快缺点耗用资源多【例9.4】8位并行乘法器modulemult(outcome,a,b);parametersize=8;input[size:1]a,b;//源操作数output[2*size:1]outcome;//乘积assignoutcome=a*b;//相乘endmodule8位并行乘法器RTL图9.2.2移位相加乘法器结构移位寄存器加法器优点耗用资源少【例9.16】8位二进制数的乘
2、法modulemult_for(outcome,a,b);parametersize=8;input[size:1]a,b;output[2*size:1]outcome;reg[2*size:1]outcome;integeri;always@(aorb)beginoutcome=4’h0;for(i=1;i<=size;i=i+1)if(b[i])outcome=outcome+(a<<(i-1));endendmodule乘法器的功能仿真波形图9.2.3查找表乘法器结构操作数:地址乘积:存储器优点运算速度快缺点耗用存储资源多设计思路4位查找表乘法器Y=A×BA=A1×
3、22+A2B=B1×22+B2则Y=(A1×22+A2)×(B1×22+B2)=A1×B1×24+A1×B2×22+A2×B1×22+A2×B28位查找表乘法器Y=A×BA=A1×24+A2B=B1×24+B2则Y=(A1×24+A2)×(B1×24+B2)=A1×B1×28+A1×B2×24+A2×B1×24+A2×B2【例9.5】8×8查找表乘法器/**********2×2查找表乘法器*********/modulelookup(out,a,b,clk);output[3:0]out;//乘积input[1:0]a,b;//操作数inputclk;reg[3:0]ou
4、t;reg[3:0]address;//存储器地址always@(posedgeclk)beginaddress={a,b};case(address)4'h0:out=4'b0000;4'h1:out=4'b0000;4'h2:out=4'b0000;4'h3:out=4'b0000;4'h4:out=4'b0000;4'h5:out=4'b0001;4'h6:out=4'b0010;4'h7:out=4'b009;4'h8:out=4'b0000;4'h9:out=4'b0010;4'ha:out=4'b0100;4'hb:out=4'b090;4'hc:out=4'b
5、0000;4'hd:out=4'b009;4'he:out=4'b090;4'hf:out=4'b1001;default:out=4'bx;endcaseendendmodule/***************4×4查找表乘法器****************/modulemult4x4(out,a,b,clk);output[7:0]out;//乘积input[3:0]a,b;//操作数inputclk;reg[7:0]out;reg[1:0]firsta,firstb;//操作数高2位reg[1:0]seconda,secondb;//操作数低2位wire[3:0]o
6、uta,outb,outc,outd;//乘积每2位1组always@(posedgeclk)beginfirsta=a[3:2];seconda=a[1:0];firstb=b[3:2];secondb=b[1:0];endlookupm1(outa,firsta,firstb,clk),//元件调用m2(outb,firsta,secondb,clk),m3(outc,seconda,firstb,clk),m4(outd,seconda,secondb,clk);always@(posedgeclk)beginout=(outa<<4)+(outb<<2)//乘积+(
7、outc<<2)+outd;endendmodule4位查找表乘法器仿真波形图/***************8×8查找表乘法器****************/modulemult8x8(out,a,b,clk);output[15:0]out;//乘积input[7:0]a,b;//操作数inputclk;reg[15:0]out;reg[3:0]firsta,firstb;//操作数高4位reg[3:0]seconda,secondb;//操作数低4位wire[7:0]outa,outb,outc,outd;