parameterize modules

This commit is contained in:
dada 2025-03-13 11:31:31 +08:00 committed by futh0403
parent 6215a3516d
commit ec72ff7551
4 changed files with 305 additions and 293 deletions

View File

@ -32,9 +32,9 @@
// Other: // Other:
//-FHDR-------------------------------------------------------------------------------------------------------- //-FHDR--------------------------------------------------------------------------------------------------------
module IIR_Filter_p1 #( module IIR_Filter_p1 #(
parameter data_in_width = 16 parameter coef_width = 32
,parameter data_in_width = 16
,parameter cascade_in_width = 37 ,parameter cascade_in_width = 37
,parameter coef_width = 32
,parameter temp_var_width = cascade_in_width - 1 ,parameter temp_var_width = cascade_in_width - 1
,parameter data_out_width = cascade_in_width - 2 ,parameter data_out_width = cascade_in_width - 2
) )

View File

@ -32,12 +32,10 @@
// Other: // Other:
//-FHDR-------------------------------------------------------------------------------------------------------- //-FHDR--------------------------------------------------------------------------------------------------------
module IIR_Filter_p8 #( module IIR_Filter_p8 #(
parameter data_in_width = 16 parameter coef_width = 32
,parameter coef_width = 32 ,parameter data_in_width = 16
,parameter frac_data_out_width = 20//X for in,5
,parameter frac_coef_width = 31//division
,parameter temp_var_width = 42
,parameter data_out_width = 37 ,parameter data_out_width = 37
,parameter temp_var_width = data_out_width+5
) )
// H(z) = a(1 + b*z^-1 + b^2*z^-2 + b^3*z^-3 + b^4*z^-4 + b^5*z^-5 + b^6*z^-6 + b^7*z^-7) / (1 - b^8*z^-8) // H(z) = a(1 + b*z^-1 + b^2*z^-2 + b^3*z^-3 + b^4*z^-4 + b^5*z^-5 + b^6*z^-6 + b^7*z^-7) / (1 - b^8*z^-8)
( (

View File

@ -32,8 +32,8 @@
//-FHDR-------------------------------------------------------------------------------------------------------- //-FHDR--------------------------------------------------------------------------------------------------------
module IIR_top #( module IIR_top #(
parameter temp_var_width = 37 parameter data_out_width = 23
,parameter data_out_width = 23 ,parameter temp_var_width = data_out_width + 14
) )
( (
input rstn input rstn
@ -104,7 +104,9 @@ wire signed [temp_var_width-15:0] IIRout_p7_im;
IIR_Filter_p8 inst_iir_p0 ( IIR_Filter_p8 #(
.data_out_width (temp_var_width )
) inst_iir_p0 (
.clk (clk ), .clk (clk ),
.rstn (rstn ), .rstn (rstn ),
.en (en ), .en (en ),

View File

@ -32,7 +32,7 @@
//-FHDR-------------------------------------------------------------------------------------------------------- //-FHDR--------------------------------------------------------------------------------------------------------
module TailCorr_top #( module TailCorr_top #(
parameter temp_var_width = 23 parameter temp_var_width = 22
) )
( (
input rstn input rstn
@ -364,298 +364,310 @@ end
IIR_top inst_iir_top_0 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_0 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re0 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im0 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re0 ), .a_re (a_re0 ),
.b_im (b_im0 ), .a_im (a_im0 ),
.ab_re (ab_re0 ), .b_re (b_re0 ),
.ab_im (ab_im0 ), .b_im (b_im0 ),
.abb_re (abb_re0 ), .ab_re (ab_re0 ),
.abb_im (abb_im0 ), .ab_im (ab_im0 ),
.ab_pow3_re (ab_pow3_re0 ), .abb_re (abb_re0 ),
.ab_pow3_im (ab_pow3_im0 ), .abb_im (abb_im0 ),
.ab_pow4_re (ab_pow4_re0 ), .ab_pow3_re (ab_pow3_re0 ),
.ab_pow4_im (ab_pow4_im0 ), .ab_pow3_im (ab_pow3_im0 ),
.ab_pow5_re (ab_pow5_re0 ), .ab_pow4_re (ab_pow4_re0 ),
.ab_pow5_im (ab_pow5_im0 ), .ab_pow4_im (ab_pow4_im0 ),
.ab_pow6_re (ab_pow6_re0 ), .ab_pow5_re (ab_pow5_re0 ),
.ab_pow6_im (ab_pow6_im0 ), .ab_pow5_im (ab_pow5_im0 ),
.ab_pow7_re (ab_pow7_re0 ), .ab_pow6_re (ab_pow6_re0 ),
.ab_pow7_im (ab_pow7_im0 ), .ab_pow6_im (ab_pow6_im0 ),
.b_pow8_re (b_pow8_re0 ), .ab_pow7_re (ab_pow7_re0 ),
.b_pow8_im (b_pow8_im0 ), .ab_pow7_im (ab_pow7_im0 ),
.IIRout_p0 (IIRout_p0[0] ), .b_pow8_re (b_pow8_re0 ),
.IIRout_p1 (IIRout_p1[0] ), .b_pow8_im (b_pow8_im0 ),
.IIRout_p2 (IIRout_p2[0] ), .IIRout_p0 (IIRout_p0[0] ),
.IIRout_p3 (IIRout_p3[0] ), .IIRout_p1 (IIRout_p1[0] ),
.IIRout_p4 (IIRout_p4[0] ), .IIRout_p2 (IIRout_p2[0] ),
.IIRout_p5 (IIRout_p5[0] ), .IIRout_p3 (IIRout_p3[0] ),
.IIRout_p6 (IIRout_p6[0] ), .IIRout_p4 (IIRout_p4[0] ),
.IIRout_p7 (IIRout_p7[0] ) .IIRout_p5 (IIRout_p5[0] ),
.IIRout_p6 (IIRout_p6[0] ),
.IIRout_p7 (IIRout_p7[0] )
); );
IIR_top inst_iir_top_1 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_1 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re1 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im1 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re1 ), .a_re (a_re1 ),
.b_im (b_im1 ), .a_im (a_im1 ),
.ab_re (ab_re1 ), .b_re (b_re1 ),
.ab_im (ab_im1 ), .b_im (b_im1 ),
.abb_re (abb_re1 ), .ab_re (ab_re1 ),
.abb_im (abb_im1 ), .ab_im (ab_im1 ),
.ab_pow3_re (ab_pow3_re1 ), .abb_re (abb_re1 ),
.ab_pow3_im (ab_pow3_im1 ), .abb_im (abb_im1 ),
.ab_pow4_re (ab_pow4_re1 ), .ab_pow3_re (ab_pow3_re1 ),
.ab_pow4_im (ab_pow4_im1 ), .ab_pow3_im (ab_pow3_im1 ),
.ab_pow5_re (ab_pow5_re1 ), .ab_pow4_re (ab_pow4_re1 ),
.ab_pow5_im (ab_pow5_im1 ), .ab_pow4_im (ab_pow4_im1 ),
.ab_pow6_re (ab_pow6_re1 ), .ab_pow5_re (ab_pow5_re1 ),
.ab_pow6_im (ab_pow6_im1 ), .ab_pow5_im (ab_pow5_im1 ),
.ab_pow7_re (ab_pow7_re1 ), .ab_pow6_re (ab_pow6_re1 ),
.ab_pow7_im (ab_pow7_im1 ), .ab_pow6_im (ab_pow6_im1 ),
.b_pow8_re (b_pow8_re1 ), .ab_pow7_re (ab_pow7_re1 ),
.b_pow8_im (b_pow8_im1 ), .ab_pow7_im (ab_pow7_im1 ),
.IIRout_p0 (IIRout_p0[1] ), .b_pow8_re (b_pow8_re1 ),
.IIRout_p1 (IIRout_p1[1] ), .b_pow8_im (b_pow8_im1 ),
.IIRout_p2 (IIRout_p2[1] ), .IIRout_p0 (IIRout_p0[1] ),
.IIRout_p3 (IIRout_p3[1] ), .IIRout_p1 (IIRout_p1[1] ),
.IIRout_p4 (IIRout_p4[1] ), .IIRout_p2 (IIRout_p2[1] ),
.IIRout_p5 (IIRout_p5[1] ), .IIRout_p3 (IIRout_p3[1] ),
.IIRout_p6 (IIRout_p6[1] ), .IIRout_p4 (IIRout_p4[1] ),
.IIRout_p7 (IIRout_p7[1] ) .IIRout_p5 (IIRout_p5[1] ),
.IIRout_p6 (IIRout_p6[1] ),
.IIRout_p7 (IIRout_p7[1] )
); );
IIR_top inst_iir_top_2 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_2 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re2 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im2 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re2 ), .a_re (a_re2 ),
.b_im (b_im2 ), .a_im (a_im2 ),
.ab_re (ab_re2 ), .b_re (b_re2 ),
.ab_im (ab_im2 ), .b_im (b_im2 ),
.abb_re (abb_re2 ), .ab_re (ab_re2 ),
.abb_im (abb_im2 ), .ab_im (ab_im2 ),
.ab_pow3_re (ab_pow3_re2 ), .abb_re (abb_re2 ),
.ab_pow3_im (ab_pow3_im2 ), .abb_im (abb_im2 ),
.ab_pow4_re (ab_pow4_re2 ), .ab_pow3_re (ab_pow3_re2 ),
.ab_pow4_im (ab_pow4_im2 ), .ab_pow3_im (ab_pow3_im2 ),
.ab_pow5_re (ab_pow5_re2 ), .ab_pow4_re (ab_pow4_re2 ),
.ab_pow5_im (ab_pow5_im2 ), .ab_pow4_im (ab_pow4_im2 ),
.ab_pow6_re (ab_pow6_re2 ), .ab_pow5_re (ab_pow5_re2 ),
.ab_pow6_im (ab_pow6_im2 ), .ab_pow5_im (ab_pow5_im2 ),
.ab_pow7_re (ab_pow7_re2 ), .ab_pow6_re (ab_pow6_re2 ),
.ab_pow7_im (ab_pow7_im2 ), .ab_pow6_im (ab_pow6_im2 ),
.b_pow8_re (b_pow8_re2 ), .ab_pow7_re (ab_pow7_re2 ),
.b_pow8_im (b_pow8_im2 ), .ab_pow7_im (ab_pow7_im2 ),
.IIRout_p0 (IIRout_p0[2] ), .b_pow8_re (b_pow8_re2 ),
.IIRout_p1 (IIRout_p1[2] ), .b_pow8_im (b_pow8_im2 ),
.IIRout_p2 (IIRout_p2[2] ), .IIRout_p0 (IIRout_p0[2] ),
.IIRout_p3 (IIRout_p3[2] ), .IIRout_p1 (IIRout_p1[2] ),
.IIRout_p4 (IIRout_p4[2] ), .IIRout_p2 (IIRout_p2[2] ),
.IIRout_p5 (IIRout_p5[2] ), .IIRout_p3 (IIRout_p3[2] ),
.IIRout_p6 (IIRout_p6[2] ), .IIRout_p4 (IIRout_p4[2] ),
.IIRout_p7 (IIRout_p7[2] ) .IIRout_p5 (IIRout_p5[2] ),
.IIRout_p6 (IIRout_p6[2] ),
.IIRout_p7 (IIRout_p7[2] )
); );
IIR_top inst_iir_top_3 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_3 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re3 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im3 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re3 ), .a_re (a_re3 ),
.b_im (b_im3 ), .a_im (a_im3 ),
.ab_re (ab_re3 ), .b_re (b_re3 ),
.ab_im (ab_im3 ), .b_im (b_im3 ),
.abb_re (abb_re3 ), .ab_re (ab_re3 ),
.abb_im (abb_im3 ), .ab_im (ab_im3 ),
.ab_pow3_re (ab_pow3_re3 ), .abb_re (abb_re3 ),
.ab_pow3_im (ab_pow3_im3 ), .abb_im (abb_im3 ),
.ab_pow4_re (ab_pow4_re3 ), .ab_pow3_re (ab_pow3_re3 ),
.ab_pow4_im (ab_pow4_im3 ), .ab_pow3_im (ab_pow3_im3 ),
.ab_pow5_re (ab_pow5_re3 ), .ab_pow4_re (ab_pow4_re3 ),
.ab_pow5_im (ab_pow5_im3 ), .ab_pow4_im (ab_pow4_im3 ),
.ab_pow6_re (ab_pow6_re3 ), .ab_pow5_re (ab_pow5_re3 ),
.ab_pow6_im (ab_pow6_im3 ), .ab_pow5_im (ab_pow5_im3 ),
.ab_pow7_re (ab_pow7_re3 ), .ab_pow6_re (ab_pow6_re3 ),
.ab_pow7_im (ab_pow7_im3 ), .ab_pow6_im (ab_pow6_im3 ),
.b_pow8_re (b_pow8_re3 ), .ab_pow7_re (ab_pow7_re3 ),
.b_pow8_im (b_pow8_im3 ), .ab_pow7_im (ab_pow7_im3 ),
.IIRout_p0 (IIRout_p0[3] ), .b_pow8_re (b_pow8_re3 ),
.IIRout_p1 (IIRout_p1[3] ), .b_pow8_im (b_pow8_im3 ),
.IIRout_p2 (IIRout_p2[3] ), .IIRout_p0 (IIRout_p0[3] ),
.IIRout_p3 (IIRout_p3[3] ), .IIRout_p1 (IIRout_p1[3] ),
.IIRout_p4 (IIRout_p4[3] ), .IIRout_p2 (IIRout_p2[3] ),
.IIRout_p5 (IIRout_p5[3] ), .IIRout_p3 (IIRout_p3[3] ),
.IIRout_p6 (IIRout_p6[3] ), .IIRout_p4 (IIRout_p4[3] ),
.IIRout_p7 (IIRout_p7[3] ) .IIRout_p5 (IIRout_p5[3] ),
.IIRout_p6 (IIRout_p6[3] ),
.IIRout_p7 (IIRout_p7[3] )
); );
IIR_top inst_iir_top_4 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_4 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re4 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im4 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re4 ), .a_re (a_re4 ),
.b_im (b_im4 ), .a_im (a_im4 ),
.ab_re (ab_re4 ), .b_re (b_re4 ),
.ab_im (ab_im4 ), .b_im (b_im4 ),
.abb_re (abb_re4 ), .ab_re (ab_re4 ),
.abb_im (abb_im4 ), .ab_im (ab_im4 ),
.ab_pow3_re (ab_pow3_re4 ), .abb_re (abb_re4 ),
.ab_pow3_im (ab_pow3_im4 ), .abb_im (abb_im4 ),
.ab_pow4_re (ab_pow4_re4 ), .ab_pow3_re (ab_pow3_re4 ),
.ab_pow4_im (ab_pow4_im4 ), .ab_pow3_im (ab_pow3_im4 ),
.ab_pow5_re (ab_pow5_re4 ), .ab_pow4_re (ab_pow4_re4 ),
.ab_pow5_im (ab_pow5_im4 ), .ab_pow4_im (ab_pow4_im4 ),
.ab_pow6_re (ab_pow6_re4 ), .ab_pow5_re (ab_pow5_re4 ),
.ab_pow6_im (ab_pow6_im4 ), .ab_pow5_im (ab_pow5_im4 ),
.ab_pow7_re (ab_pow7_re4 ), .ab_pow6_re (ab_pow6_re4 ),
.ab_pow7_im (ab_pow7_im4 ), .ab_pow6_im (ab_pow6_im4 ),
.b_pow8_re (b_pow8_re4 ), .ab_pow7_re (ab_pow7_re4 ),
.b_pow8_im (b_pow8_im4 ), .ab_pow7_im (ab_pow7_im4 ),
.IIRout_p0 (IIRout_p0[4] ), .b_pow8_re (b_pow8_re4 ),
.IIRout_p1 (IIRout_p1[4] ), .b_pow8_im (b_pow8_im4 ),
.IIRout_p2 (IIRout_p2[4] ), .IIRout_p0 (IIRout_p0[4] ),
.IIRout_p3 (IIRout_p3[4] ), .IIRout_p1 (IIRout_p1[4] ),
.IIRout_p4 (IIRout_p4[4] ), .IIRout_p2 (IIRout_p2[4] ),
.IIRout_p5 (IIRout_p5[4] ), .IIRout_p3 (IIRout_p3[4] ),
.IIRout_p6 (IIRout_p6[4] ), .IIRout_p4 (IIRout_p4[4] ),
.IIRout_p7 (IIRout_p7[4] ) .IIRout_p5 (IIRout_p5[4] ),
.IIRout_p6 (IIRout_p6[4] ),
.IIRout_p7 (IIRout_p7[4] )
); );
IIR_top inst_iir_top_5 ( IIR_top #(
.clk (clk ), .data_out_width (temp_var_width )
.rstn (rstn ), ) inst_iir_top_5 (
.en (en ), .clk (clk ),
.IIRin_p0 (IIRin_p0 ), .rstn (rstn ),
.IIRin_p1 (IIRin_p1 ), .en (en ),
.IIRin_p2 (IIRin_p2 ), .IIRin_p0 (IIRin_p0 ),
.IIRin_p3 (IIRin_p3 ), .IIRin_p1 (IIRin_p1 ),
.IIRin_p4 (IIRin_p4 ), .IIRin_p2 (IIRin_p2 ),
.IIRin_p5 (IIRin_p5 ), .IIRin_p3 (IIRin_p3 ),
.IIRin_p6 (IIRin_p6 ), .IIRin_p4 (IIRin_p4 ),
.IIRin_p7 (IIRin_p7 ), .IIRin_p5 (IIRin_p5 ),
.IIRin_p0_r2 (IIRin_p0_r[1]), .IIRin_p6 (IIRin_p6 ),
.IIRin_p1_r4 (IIRin_p1_r[3]), .IIRin_p7 (IIRin_p7 ),
.IIRin_p2_r6 (IIRin_p2_r[5]), .IIRin_p0_r2 (IIRin_p0_r[1] ),
.IIRin_p3_r8 (IIRin_p3_r[7]), .IIRin_p1_r4 (IIRin_p1_r[3] ),
.IIRin_p4_r10 (IIRin_p4_r[9]), .IIRin_p2_r6 (IIRin_p2_r[5] ),
.IIRin_p5_r12 (IIRin_p5_r[11]), .IIRin_p3_r8 (IIRin_p3_r[7] ),
.IIRin_p6_r14 (IIRin_p6_r[13]), .IIRin_p4_r10 (IIRin_p4_r[9] ),
.a_re (a_re5 ), .IIRin_p5_r12 (IIRin_p5_r[11] ),
.a_im (a_im5 ), .IIRin_p6_r14 (IIRin_p6_r[13] ),
.b_re (b_re5 ), .a_re (a_re5 ),
.b_im (b_im5 ), .a_im (a_im5 ),
.ab_re (ab_re5 ), .b_re (b_re5 ),
.ab_im (ab_im5 ), .b_im (b_im5 ),
.abb_re (abb_re5 ), .ab_re (ab_re5 ),
.abb_im (abb_im5 ), .ab_im (ab_im5 ),
.ab_pow3_re (ab_pow3_re5 ), .abb_re (abb_re5 ),
.ab_pow3_im (ab_pow3_im5 ), .abb_im (abb_im5 ),
.ab_pow4_re (ab_pow4_re5 ), .ab_pow3_re (ab_pow3_re5 ),
.ab_pow4_im (ab_pow4_im5 ), .ab_pow3_im (ab_pow3_im5 ),
.ab_pow5_re (ab_pow5_re5 ), .ab_pow4_re (ab_pow4_re5 ),
.ab_pow5_im (ab_pow5_im5 ), .ab_pow4_im (ab_pow4_im5 ),
.ab_pow6_re (ab_pow6_re5 ), .ab_pow5_re (ab_pow5_re5 ),
.ab_pow6_im (ab_pow6_im5 ), .ab_pow5_im (ab_pow5_im5 ),
.ab_pow7_re (ab_pow7_re5 ), .ab_pow6_re (ab_pow6_re5 ),
.ab_pow7_im (ab_pow7_im5 ), .ab_pow6_im (ab_pow6_im5 ),
.b_pow8_re (b_pow8_re5 ), .ab_pow7_re (ab_pow7_re5 ),
.b_pow8_im (b_pow8_im5 ), .ab_pow7_im (ab_pow7_im5 ),
.IIRout_p0 (IIRout_p0[5] ), .b_pow8_re (b_pow8_re5 ),
.IIRout_p1 (IIRout_p1[5] ), .b_pow8_im (b_pow8_im5 ),
.IIRout_p2 (IIRout_p2[5] ), .IIRout_p0 (IIRout_p0[5] ),
.IIRout_p3 (IIRout_p3[5] ), .IIRout_p1 (IIRout_p1[5] ),
.IIRout_p4 (IIRout_p4[5] ), .IIRout_p2 (IIRout_p2[5] ),
.IIRout_p5 (IIRout_p5[5] ), .IIRout_p3 (IIRout_p3[5] ),
.IIRout_p6 (IIRout_p6[5] ), .IIRout_p4 (IIRout_p4[5] ),
.IIRout_p7 (IIRout_p7[5] ) .IIRout_p5 (IIRout_p5[5] ),
.IIRout_p6 (IIRout_p6[5] ),
.IIRout_p7 (IIRout_p7[5] )
); );
assign sum_IIRout_p0 = IIRout_p0[0] + IIRout_p0[1] +IIRout_p0[2] +IIRout_p0[3] +IIRout_p0[4] +IIRout_p0[5]; assign sum_IIRout_p0 = IIRout_p0[0] + IIRout_p0[1] +IIRout_p0[2] +IIRout_p0[3] +IIRout_p0[4] +IIRout_p0[5];