📄 wallance.v
字号:
module wallance(part1,part2,part3,part4,temp,P); //wallance树模块input [9:0] part1,part2,part3,part4; //产生的部分积input [7:0] temp; //产生的进位信号output [15:0] P; //输出的乘积wire [15:0] c1;wire [14:0] sum1,c2;wire [13:0] sum2,c3;wire [12:0] sum3;wire [11:1] c4;wire [3:0] out1,out2,out3,out4;wire out5,out6;//第一层ha ha1(part1[0],temp[0],P[0],c1[0]);ha ha2(part1[1],temp[1],sum1[0],c1[1]);fa fa3(part1[2],part2[0],temp[2],sum1[1],c1[2]);fa fa4(part1[3],part2[1],temp[3],sum1[2],c1[3]);fa fa5(part1[4],part2[2],part3[0],sum1[3],c1[4]);fa fa6(part1[5],part2[3],part3[1],sum1[4],c1[5]);fa fa7(part1[6],part2[4],part3[2],sum1[5],c1[6]);fa fa8(part1[7],part2[5],part3[3],sum1[6],c1[7]);fa fa9(part1[8],part2[6],part3[4],sum1[7],c1[8]);fa fa10(part1[9],part2[7],part3[5],sum1[8],c1[9]);fa fa11(part1[9],part2[8],part3[6],sum1[9],c1[10]);fa fa12(part1[9],part2[9],part3[7],sum1[10],c1[11]);fa fa13(part1[9],part2[9],part3[8],sum1[11],c1[12]);fa fa14(part1[9],part2[9],part3[9],sum1[12],c1[13]);fa fa15(part1[9],part2[9],part3[9],sum1[13],c1[14]);fa fa16(part1[9],part2[9],part3[9],sum1[14],c1[15]);//第二层ha ha17(sum1[0],c1[0],P[1],c2[0]);ha ha18(sum1[1],c1[1],sum2[0],c2[1]);ha ha19(sum1[2],c1[2],sum2[1],c2[2]);fa fa20(sum1[3],c1[3],temp[4],sum2[2],c2[3]);fa fa21(sum1[4],c1[4],temp[5],sum2[3],c2[4]);fa fa22(sum1[5],c1[5],part4[0],sum2[4],c2[5]);fa fa23(sum1[6],c1[6],part4[1],sum2[5],c2[6]);fa fa24(sum1[7],c1[7],part4[2],sum2[6],c2[7]);fa fa25(sum1[8],c1[8],part4[3],sum2[7],c2[8]);fa fa26(sum1[9],c1[9],part4[4],sum2[8],c2[9]);fa fa27(sum1[10],c1[10],part4[5],sum2[9],c2[10]);fa fa28(sum1[11],c1[11],part4[6],sum2[10],c2[11]);fa fa29(sum1[12],c1[12],part4[7],sum2[11],c2[12]);fa fa30(sum1[13],c1[13],part4[8],sum2[12],c2[13]);fa fa31(sum1[14],c1[14],part4[9],sum2[13],c2[14]);//第三层ha ha32(sum2[0],c2[0],P[2],c3[0]);ha ha33(sum2[1],c2[1],sum3[0],c3[1]);ha ha34(sum2[2],c2[2],sum3[1],c3[2]);ha ha35(sum2[3],c2[3],sum3[2],c3[3]);fa ha36(sum2[4],c2[4],temp[6],sum3[3],c3[4]);fa ha37(sum2[5],c2[5],temp[7],sum3[4],c3[5]);ha ha38(sum2[6],c2[6],sum3[5],c3[6]);ha ha39(sum2[7],c2[7],sum3[6],c3[7]);ha ha40(sum2[8],c2[8],sum3[7],c3[8]);ha ha41(sum2[9],c2[9],sum3[8],c3[9]);ha ha42(sum2[10],c2[10],sum3[9],c3[10]);ha ha43(sum2[11],c2[11],sum3[10],c3[11]);ha ha44(sum2[12],c2[12],sum3[11],c3[12]);ha ha45(sum2[13],c2[13],sum3[12],c3[13]);//第四层fouradder fouradder1(sum3[3:0],c3[3:0],1'b0,P[6:3],c4[1]);fouradder fouradder2(sum3[7:4],c3[7:4],1'b0,out1,c4[2]);fouradder fouradder3(sum3[7:4],c3[7:4],1'b1,out2,c4[3]);fouradder fouradder4(sum3[11:8],c3[11:8],1'b0,out3,c4[4]);fouradder fouradder5(sum3[11:8],c3[11:8],1'b1,out4,c4[5]);fa fa48(sum3[12],c3[12],1'b0,out5,c4[6]);fa fa50(sum3[12],c3[12],1'b1,out6,c4[7]);twomux twomux1(out1,out2,c4[1],P[10:7]);or(c4[8],c4[1],c4[2]);and(c4[9],c4[8],c4[3]);twomux twomux2(out3,out4,c4[9],P[14:11]);or(c4[10],c4[4],c4[9]);and(c4[11],c4[10],c4[5]);twomuxs twomuxs1(out5,out6,c4[11],P[15]);endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -