📄 multibooth.v
字号:
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 + -