add_16b.v.bak
来自「fpga功能实现有限字长响应FIR 用verilog编写」· BAK 代码 · 共 45 行
BAK
45 行
module wallce_tree(b0,b1,b2,b3,x,out);
input[2:0] b0,b1,b2,b3;
input[8:0] x;
output[15:0] out;
reg[9:0] a,b,c,d;
reg [28:1] p;
reg [26:1] q;
wire[11:0] t1,t2;
booth_code b_0(b0,x,a);
booth_code b_1(b1,x,b);
booth_code b_2(b2,x,c);
booth_code b_3(b3,x,d);
half_add1 ha1(a[2],b[0],p[2],p[2]);
half_add1 ha2(a[3],b[1],p[3],p[4]);
full_add1 fu1(a[4],b[2],c[0],p[5],p[6]);
full_add1 fu2(a[5],b[3],c[1],p[7],p[8]);
full_add1 fu3(a[6],b[4],c[2],p[9],p[10]);
full_add1 fu4(a[7],b[5],c[3],p[11],p[12]);
full_add1 fu5(a[8],b[6],c[4],p[13],p[14]);
full_add1 fu6(a[9],b[7],c[5],p[15],p[16]);
full_add1 fu7(a[9],b[8],c[6],p[17],p[18]);
full_add1 fu8(a[9],b[9],c[7],p[19],p[20]);
full_add1 fu9(a[9],b[9],c[8],p[21],p[22]);
full_add1 fu10(a[9],b[9],c[9],p[23],p[24]);
full_add1 fu11(a[9],b[9],c[9],p[25],p[26]);
full_add1 fu12(a[9],b[9],c[9],p[27],p[28]);
half_add1 ha3(p[2],p[3],q[1],q[2]);
half_add1 ha4(p[4],p[5],q[3],q[4]);
half_add1 ha5(p[6],p[7],q[5],q[6]);
full_add1 fu13(p[8],p[9],d[0],q[7],q[8]);
full_add1 fu14(p[10],p[11],d[1],q[9],q[10]);
full_add1 fu15(p[12],p[13],d[2],q[11],q[12]);
full_add1 fu16(p[14],p[15],d[3],q[13],q[14]);
full_add1 fu17(p[16],p[17],d[4],q[15],q[16]);
full_add1 fu18(p[18],p[19],d[5],q[17],q[18]);
full_add1 fu19(p[20],p[21],d[6],q[19],q[20]);
full_add1 fu20(p[22],p[23],d[7],q[21],q[22]);
full_add1 fu21(p[24],p[25],d[8],q[23],q[24]);
full_add1 fu22(p[26],p[27],d[9],q[25],q[26]);
assign t1={q[24],q[22],q[20],q[18],q[16],q[14],q[12],q[10],q[8],q[6],q[4],q[2]};
assign t2={q[25],q[23],q[21],q[19],q[17],q[15],q[13],q[11],q[9],q[7],q[5],q[3]};
add_12b add12_1(t1,t2,out[15:4]);
assign out[3:0]={q[1],p[1],a[1],a[0]};
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?