乘法器电路的设计学习教案.pptx
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPTX 页数:35 大小:296KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

乘法器电路的设计学习教案.pptx

乘法器电路的设计学习教案.pptx

预览

免费试读已结束,剩余 25 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学9.2.1并行(bìngxíng)乘法器【例9.4】8位并行乘法器modulemult(outcome,a,b);parametersize=8;input[size:1]a,b;//源操作数output[2*size:1]outcome;//乘积(chéngjī)assignoutcome=a*b;//相乘endmodule8位并行(bìngxíng)乘法器RTL图9.2.2移位(yíwèi)相加乘法器【例9.16】8位二进制数的乘法(chéngfǎ)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乘法器的功能(gōngnéng)仿真波形图9.2.3查找(cházhǎo)表乘法器设计(shèjì)思路8位查找(cházhǎo)表乘法器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;//乘积(chéngjī)input[1:0]a,b;//操作数inputclk;reg[3:0]out;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'b0000;4'hd:out=4'b009;4'he:out=4'b090;4'hf:out=4'b1001;default:out=4'bx;endcaseendendmodule/***************4×4查找(cházhǎo)表乘法器****************/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]outa,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),//元件(yuánjiàn)调用m2(outb,firsta,secondb,clk),m3(outc,seconda,firstb,clk),m4(outd,seconda,secondb,clk);always@(posedgeclk)beginout=(outa<<4)+(outb<<2)//乘积+(outc<<2)+outd;endendmodule4位查找(cházhǎo)表乘法器仿真波形图/***************8×8查找(cházhǎo)表乘法器****************/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]s