⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multibooth.v

📁 verilog 写的两种方式的乘法器 不错!
💻 V
📖 第 1 页 / 共 2 页
字号:
module multibooth(x0,y0,clk,result);
input[15:0] x0,y0;
input clk;
output[31:0] result;
reg [15:0] x;
reg [15:0] y;
reg [31:0] regsum;
wire[19:0] b0;
wire[18:0] b1,b2,b3,b4,b5,b6;
wire[17:0] b7;
wire[15:0] b8;
wire[7:0]  s;
wire[136:0] j,k;
wire[31:0] m,n,sum;
assign result=regsum;
assign b0[19]=~x[1];
assign b0[18]=x[1];
assign b0[17]=x[1];
assign b1[17]=~x[3];
assign b1[18]=1'b1;
assign b2[17]=~x[5];
assign b2[18]=1'b1;
assign b3[17]=~x[7];
assign b3[18]=1'b1;
assign b4[17]=~x[9];
assign b4[18]=1'b1;
assign b5[17]=~x[11];
assign b5[18]=1'b1;
assign b6[17]=~x[13];
assign b6[18]=1'b1;
assign b7[17]=~x[15];
assign m={k[75],k[103],k[102],k[118:115],k[136:132],k[111:110],k[131:120],k[105],k[119],k[104],
          k[82],k[50],k[0]};
assign n={j[103:102],j[118:115],j[136:132],b8[4],j[110],j[131:120],j[105],j[119],5'b00000};
always @(posedge clk)
begin
    x <=x0 ;
    y <=y0 ;
    regsum<=sum;
end
booth     bb0(1'b0,x[0],x[1],1'b0,y[0],b0[0]);
booth     bb1(1'b0,x[0],x[2],y[0],y[1],b0[1]);
booth     bb2(1'b0,x[0],x[1],y[1],y[2],b0[2]);
booth     bb3(1'b0,x[0],x[1],y[2],y[3],b0[3]);
booth     bb4(1'b0,x[0],x[1],y[3],y[4],b0[4]);
booth     bb5(1'b0,x[0],x[1],y[4],y[5],b0[5]);
booth     bb6(1'b0,x[0],x[1],y[5],y[6],b0[6]);
booth     bb7(1'b0,x[0],x[1],y[6],y[7],b0[7]);
booth     bb8(1'b0,x[0],x[1],y[7],y[8],b0[8]);
booth     bb9(1'b0,x[0],x[1],y[8],y[9],b0[9]);
booth     bb10(1'b0,x[0],x[1],y[9],y[10],b0[10]);
booth     bb11(1'b0,x[0],x[1],y[10],y[11],b0[11]);
booth     bb12(1'b0,x[0],x[1],y[11],y[12],b0[12]);
booth     bb13(1'b0,x[0],x[1],y[12],y[13],b0[13]);
booth     bb14(1'b0,x[0],x[1],y[13],y[14],b0[14]);
booth     bb15(1'b0,x[0],x[1],y[14],y[15],b0[15]);
booth     bb16(1'b0,x[0],x[1],y[15],0,b0[16]);
booth     bb17(x[1],x[2],x[3],1'b0,y[0],b1[0]);
booth     bb18(x[1],x[2],x[3],y[0],y[1],b1[1]);
booth     bb19(x[1],x[2],x[3],y[1],y[2],b1[2]);
booth     bb20(x[1],x[2],x[3],y[3],b1[3]);
booth     bb21(x[1],x[2],x[3],y[3],y[4],b1[4]);
booth     bb22(x[1],x[2],x[3],y[4],y[5],b1[5]);
booth     bb23(x[1],x[2],x[3],y[5],y[6],b1[6]);
booth     bb24(x[1],x[2],x[3],y[6],y[7],b1[7]);
booth     bb25(x[1],x[2],x[3],y[7],y[8],b1[8]);
booth     bb26(x[1],x[2],x[3],y[8],y[9],b1[9]);
booth     bb27(x[1],x[2],x[3],y[9],y[10],b1[10]);
booth     bb28(x[1],x[2],x[3],y[10],y[11],b1[11]);
booth     bb29(x[1],x[2],x[3],y[11],y[12],b1[12]);
booth     bb30(x[1],x[2],x[3],y[12],y[13],b1[13]);
booth     bb31(x[1],x[2],x[3],y[13],y[14],b1[14]);
booth     bb32(x[1],x[2],x[3],y[14],y[15],b1[15]);
booth     bb33(x[1],x[2],x[3],y[15],1'b0,b1[16]);
booth     bb34(x[3],x[4],x[5],1'b0,y[0],b2[0]);
booth     bb35(x[3],x[4],x[5],y[0],y[1],b2[1]);
booth     bb36(x[3],x[4],x[5],y[1],y[2],b2[2]);
booth     bb37(x[3],x[4],x[5],y[2],y[3],b2[3]);
booth     bb38(x[3],x[4],x[5],y[3],y[4],b2[4]);
booth     bb39(x[3],x[4],x[5],y[4],y[5],b2[5]);
booth     bb40(x[3],x[4],x[5],y[5],y[6],b2[6]);
booth     bb41(x[3],x[4],x[5],y[6],y[7],b2[7]);
booth     bb42(x[3],x[4],x[5],y[7],y[8],b2[8]);
booth     bb43(x[3],x[4],x[5],y[8],y[9],b2[9]);
booth     bb44(x[3],x[4],x[5],y[9],y[10],b2[10]);
booth     bb45(x[3],x[4],x[5],y[10],y[11],b2[11]);
booth     bb46(x[3],x[4],x[5],y[11],y[12],b2[12]);
booth     bb47(x[3],x[4],x[5],y[12],y[13],b2[13]);
booth     bb48(x[3],x[4],x[5],y[13],y[14],b2[14]);
booth     bb49(x[3],x[4],x[5],y[14],y[15],b2[15]);
booth     bb50(x[3],x[4],x[5],y[15],1'b0,b2[16]);
booth     bb51(x[5],x[6],x[7],1'b0,y[0],b3[0]);
booth     bb52(x[5],x[6],x[7],y[0],y[1],b3[1]);
booth     bb53(x[5],x[6],x[7],y[1],y[2],b3[2]);
booth     bb54(x[5],x[6],x[7],y[2],y[3],b3[3]);
booth     bb55(x[5],x[6],x[7],y[3],y[4],b3[4]);
booth     bb56(x[5],x[6],x[7],y[4],y[5],b3[5]);
booth     bb57(x[5],x[6],x[7],y[5],y[6],b3[6]);
booth     bb58(x[5],x[6],x[7],y[6],y[7],b3[7]);
booth     bb59(x[5],x[6],x[7],y[7],y[8],b3[8]);
booth     bb60(x[5],x[6],x[7],y[8],y[9],b3[9]);
booth     bb61(x[5],x[6],x[7],y[9],y[10],b3[10]);
booth     bb62(x[5],x[6],x[7],y[10],y[11],b3[11]);
booth     bb63(x[5],x[6],x[7],y[11],y[12],b3[12]);
booth     bb64(x[5],x[6],x[7],y[12],y[13],b3[13]);
booth     bb65(x[5],x[6],x[7],y[13],y[14],b3[14]);
booth     bb66(x[5],x[6],x[7],y[14],y[15],b3[15]);
booth     bb67(x[5],x[6],x[7],y[15],1'b0,b3[16]);
booth     bb68(x[7],x[8],x[9],1'b0,y[0],b4[0]);
booth     bb69(x[7],x[8],x[9],y[0],y[1],b4[1]);
booth     bb70(x[7],x[8],x[9],y[1],y[2],b4[2]);
booth     bb71(x[7],x[8],x[9],y[2],y[3],b4[3]);
booth     bb72(x[7],x[8],x[9],y[3],y[4],b4[4]);
booth     bb73(x[7],x[8],x[9],y[4],y[5],b4[5]);
booth     bb74(x[7],x[8],x[9],y[5],y[6],b4[6]);
booth     bb75(x[7],x[8],x[9],y[6],y[7],b4[7]);
booth     bb76(x[7],x[8],x[9],y[7],y[8],b4[8]);
booth     bb77(x[7],x[8],x[9],y[8],y[9],b4[9]);
booth     bb78(x[7],x[8],x[9],y[9],y[10],b4[10]);
booth     bb79(x[7],x[8],x[9],y[10],y[11],b4[11]);
booth     bb80(x[7],x[8],x[9],y[11],y[12],b4[12]);
booth     bb81(x[7],x[8],x[9],y[12],y[13],b4[13]);
booth     bb82(x[7],x[8],x[9],y[13],y[14],b4[14]);
booth     bb83(x[7],x[8],x[9],y[14],y[15],b4[15]);
booth     bb84(x[7],x[8],x[9],y[15],1'b0,b4[16]);
booth     bb85(x[9],x[10],x[11],1'b0,y[0],b5[0]);
booth     bb86(x[9],x[10],x[11],y[0],y[1],b5[1]);
booth     bb87(x[9],x[10],x[11],y[1],y[2],b5[2]);
booth     bb88(x[9],x[10],x[11],y[2],y[3],b5[3]);
booth     bb89(x[9],x[10],x[11],y[3],y[4],b5[4]);
booth     bb90(x[9],x[10],x[11],y[4],y[5],b5[5]);
booth     bb91(x[9],x[10],x[11],y[5],y[6],b5[6]);
booth     bb92(x[9],x[10],x[11],y[6],y[7],b5[7]);
booth     bb93(x[9],x[10],x[11],y[7],y[8],b5[8]);
booth     bb94(x[9],x[10],x[11],y[8],y[9],b5[9]);
booth     bb95(x[9],x[10],x[11],y[9],y[10],b5[10]);
booth     bb96(x[9],x[10],x[11],y[10],y[11],b5[11]);
booth     bb97(x[9],x[10],x[11],y[11],y[12],b5[12]);
booth     bb98(x[9],x[10],x[11],y[12],y[13],b5[13]);
booth     bb99(x[9],x[10],x[11],y[13],y[14],b5[14]);
booth     bb100(x[9],x[10],x[11],y[14],y[15],b5[15]);
booth     bb101(x[9],x[10],x[11],y[15],1'b0,b5[16]);
booth     bb102(x[11],x[12],x[13],1'b0,y[0],b6[0]);
booth     bb103(x[11],x[12],x[13],y[0],y[1],b6[1]);
booth     bb104(x[11],x[12],x[13],y[1],y[2],b6[2]);
booth     bb105(x[11],x[12],x[13],y[2],y[3],b6[3]);
booth     bb106(x[11],x[12],x[13],y[3],y[4],b6[4]);
booth     bb107(x[11],x[12],x[13],y[4],y[5],b6[5]);
booth     bb108(x[11],x[12],x[13],y[5],y[6],b6[6]);
booth     bb109(x[11],x[12],x[13],y[6],y[7],b6[7]);
booth     bb110(x[11],x[12],x[13],y[7],y[8],b6[8]);
booth     bb111(x[11],x[12],x[13],y[8],y[9],b6[9]);
booth     bb112(x[11],x[12],x[13],y[9],y[10],b6[10]);
booth     bb113(x[11],x[12],x[13],y[10],y[11],b6[11]);
booth     bb114(x[11],x[12],x[13],y[11],y[12],b6[12]);
booth     bb115(x[11],x[12],x[13],y[12],y[13],b6[13]);
booth     bb116(x[11],x[12],x[13],y[13],y[14],b6[14]);
booth     bb117(x[11],x[12],x[13],y[14],y[15],b6[15]);
booth     bb118(x[11],x[12],x[13],y[15],1'b0,b6[16]);
booth     bb119(x[13],x[14],x[15],1'b0,y[0],b7[0]);
booth     bb120(x[13],x[14],x[15],y[0],y[1],b7[1]);
booth     bb121(x[13],x[14],x[15],y[1],y[2],b7[2]);
booth     bb122(x[13],x[14],x[15],y[2],y[3],b7[3]);
booth     bb123(x[13],x[14],x[15],y[3],y[4],b7[4]);
booth     bb124(x[13],x[14],x[15],y[4],y[5],b7[5]);
booth     bb125(x[13],x[14],x[15],y[5],y[6],b7[6]);
booth     bb126(x[13],x[14],x[15],y[6],y[7],b7[7]);
booth     bb127(x[13],x[14],x[15],y[7],y[8],b7[8]);
booth     bb128(x[13],x[14],x[15],y[8],y[9],b7[9]);
booth     bb129(x[13],x[14],x[15],y[9],y[10],b7[10]);
booth     bb130(x[13],x[14],x[15],y[10],y[11],b7[11]);
booth     bb131(x[13],x[14],x[15],y[11],y[12],b7[12]);
booth     bb132(x[13],x[14],x[15],y[12],y[13],b7[13]);
booth     bb133(x[13],x[14],x[15],y[13],y[14],b7[14]);
booth     bb134(x[13],x[14],x[15],y[14],y[15],b7[15]);
booth     bb135(x[13],x[14],x[15],y[15],1'b0,b7[16]);
booth     bb136(x[15],1'b0,1'b0,1'b0,y[0],b8[0]);
booth     bb137(x[15],1'b0,1'b0,y[0],y[1],b8[1]);
booth     bb138(x[15],1'b0,1'b0,y[1],y[2],b8[2]);
booth     bb139(x[15],1'b0,1'b0,y[2],y[3],b8[3]);
booth     bb140(x[15],1'b0,1'b0,y[3],y[4],b8[4]);
booth     bb141(x[15],1'b0,1'b0,y[4],y[5],b8[5]);
booth     bb142(x[15],1'b0,1'b0,y[5],y[6],b8[6]);
booth     bb143(x[15],1'b0,1'b0,y[6],y[7],b8[7]);
booth     bb144(x[15],1'b0,1'b0,y[7],y[8],b8[8]);
booth     bb145(x[15],1'b0,1'b0,y[8],y[9],b8[9]);
booth     bb146(x[15],1'b0,1'b0,y[9],y[10],b8[10]);
booth     bb147(x[15],1'b0,1'b0,y[10],y[11],b8[11]);
booth     bb148(x[15],1'b0,1'b0,y[11],y[12],b8[12]);
booth     bb149(x[15],1'b0,1'b0,y[12],y[13],b8[13]);
booth     bb150(x[15],1'b0,1'b0,y[13],y[14],b8[14]);
booth     bb151(x[15],1'b0,1'b0,y[14],y[15],b8[15]);
halfadder ha0(b0[0],s[0],k[0],j[0]);
fulladder fa1(b0[2],b1[0],s[1],k[1],j[1]);
fulladder fa2(b0[4],b1[2],b2[0],k[2],j[2]);
fulladder fa3(b0[5],b1[3],b2[1],k[3],j[3]);
fulladder fa4(b0[6],b1[4],b2[2],k[4],j[4]);
fulladder fa5(b0[7],b1[5],b2[3],k[5],j[5]);
fulladder fa6(b0[8],b1[6],b2[4],k[6],j[6]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -