From ec72ff755171fefa8e07368f5669bdf7a845ff7c Mon Sep 17 00:00:00 2001 From: dada Date: Thu, 13 Mar 2025 11:31:31 +0800 Subject: [PATCH] parameterize modules --- rtl/z_dsp/IIR_Filter_p1.v | 4 +- rtl/z_dsp/IIR_Filter_p8.v | 8 +- rtl/z_dsp/IIR_top.v | 8 +- rtl/z_dsp/TailCorr_top.v | 578 +++++++++++++++++++------------------- 4 files changed, 305 insertions(+), 293 deletions(-) diff --git a/rtl/z_dsp/IIR_Filter_p1.v b/rtl/z_dsp/IIR_Filter_p1.v index 1b1429c..e6c6f01 100644 --- a/rtl/z_dsp/IIR_Filter_p1.v +++ b/rtl/z_dsp/IIR_Filter_p1.v @@ -32,9 +32,9 @@ // Other: //-FHDR-------------------------------------------------------------------------------------------------------- module IIR_Filter_p1 #( - parameter data_in_width = 16 + parameter coef_width = 32 +,parameter data_in_width = 16 ,parameter cascade_in_width = 37 -,parameter coef_width = 32 ,parameter temp_var_width = cascade_in_width - 1 ,parameter data_out_width = cascade_in_width - 2 ) diff --git a/rtl/z_dsp/IIR_Filter_p8.v b/rtl/z_dsp/IIR_Filter_p8.v index c337109..762f219 100644 --- a/rtl/z_dsp/IIR_Filter_p8.v +++ b/rtl/z_dsp/IIR_Filter_p8.v @@ -32,12 +32,10 @@ // Other: //-FHDR-------------------------------------------------------------------------------------------------------- module IIR_Filter_p8 #( - parameter data_in_width = 16 -,parameter coef_width = 32 -,parameter frac_data_out_width = 20//X for in,5 -,parameter frac_coef_width = 31//division -,parameter temp_var_width = 42 + parameter coef_width = 32 +,parameter data_in_width = 16 ,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) ( diff --git a/rtl/z_dsp/IIR_top.v b/rtl/z_dsp/IIR_top.v index f874101..d9bcd91 100644 --- a/rtl/z_dsp/IIR_top.v +++ b/rtl/z_dsp/IIR_top.v @@ -32,8 +32,8 @@ //-FHDR-------------------------------------------------------------------------------------------------------- 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 @@ -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 ), .rstn (rstn ), .en (en ), diff --git a/rtl/z_dsp/TailCorr_top.v b/rtl/z_dsp/TailCorr_top.v index f724225..c7fd5d3 100644 --- a/rtl/z_dsp/TailCorr_top.v +++ b/rtl/z_dsp/TailCorr_top.v @@ -32,7 +32,7 @@ //-FHDR-------------------------------------------------------------------------------------------------------- module TailCorr_top #( - parameter temp_var_width = 23 + parameter temp_var_width = 22 ) ( input rstn @@ -364,298 +364,310 @@ end -IIR_top inst_iir_top_0 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re0 ), - .a_im (a_im0 ), - .b_re (b_re0 ), - .b_im (b_im0 ), - .ab_re (ab_re0 ), - .ab_im (ab_im0 ), - .abb_re (abb_re0 ), - .abb_im (abb_im0 ), - .ab_pow3_re (ab_pow3_re0 ), - .ab_pow3_im (ab_pow3_im0 ), - .ab_pow4_re (ab_pow4_re0 ), - .ab_pow4_im (ab_pow4_im0 ), - .ab_pow5_re (ab_pow5_re0 ), - .ab_pow5_im (ab_pow5_im0 ), - .ab_pow6_re (ab_pow6_re0 ), - .ab_pow6_im (ab_pow6_im0 ), - .ab_pow7_re (ab_pow7_re0 ), - .ab_pow7_im (ab_pow7_im0 ), - .b_pow8_re (b_pow8_re0 ), - .b_pow8_im (b_pow8_im0 ), - .IIRout_p0 (IIRout_p0[0] ), - .IIRout_p1 (IIRout_p1[0] ), - .IIRout_p2 (IIRout_p2[0] ), - .IIRout_p3 (IIRout_p3[0] ), - .IIRout_p4 (IIRout_p4[0] ), - .IIRout_p5 (IIRout_p5[0] ), - .IIRout_p6 (IIRout_p6[0] ), - .IIRout_p7 (IIRout_p7[0] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_0 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re0 ), + .a_im (a_im0 ), + .b_re (b_re0 ), + .b_im (b_im0 ), + .ab_re (ab_re0 ), + .ab_im (ab_im0 ), + .abb_re (abb_re0 ), + .abb_im (abb_im0 ), + .ab_pow3_re (ab_pow3_re0 ), + .ab_pow3_im (ab_pow3_im0 ), + .ab_pow4_re (ab_pow4_re0 ), + .ab_pow4_im (ab_pow4_im0 ), + .ab_pow5_re (ab_pow5_re0 ), + .ab_pow5_im (ab_pow5_im0 ), + .ab_pow6_re (ab_pow6_re0 ), + .ab_pow6_im (ab_pow6_im0 ), + .ab_pow7_re (ab_pow7_re0 ), + .ab_pow7_im (ab_pow7_im0 ), + .b_pow8_re (b_pow8_re0 ), + .b_pow8_im (b_pow8_im0 ), + .IIRout_p0 (IIRout_p0[0] ), + .IIRout_p1 (IIRout_p1[0] ), + .IIRout_p2 (IIRout_p2[0] ), + .IIRout_p3 (IIRout_p3[0] ), + .IIRout_p4 (IIRout_p4[0] ), + .IIRout_p5 (IIRout_p5[0] ), + .IIRout_p6 (IIRout_p6[0] ), + .IIRout_p7 (IIRout_p7[0] ) ); -IIR_top inst_iir_top_1 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re1 ), - .a_im (a_im1 ), - .b_re (b_re1 ), - .b_im (b_im1 ), - .ab_re (ab_re1 ), - .ab_im (ab_im1 ), - .abb_re (abb_re1 ), - .abb_im (abb_im1 ), - .ab_pow3_re (ab_pow3_re1 ), - .ab_pow3_im (ab_pow3_im1 ), - .ab_pow4_re (ab_pow4_re1 ), - .ab_pow4_im (ab_pow4_im1 ), - .ab_pow5_re (ab_pow5_re1 ), - .ab_pow5_im (ab_pow5_im1 ), - .ab_pow6_re (ab_pow6_re1 ), - .ab_pow6_im (ab_pow6_im1 ), - .ab_pow7_re (ab_pow7_re1 ), - .ab_pow7_im (ab_pow7_im1 ), - .b_pow8_re (b_pow8_re1 ), - .b_pow8_im (b_pow8_im1 ), - .IIRout_p0 (IIRout_p0[1] ), - .IIRout_p1 (IIRout_p1[1] ), - .IIRout_p2 (IIRout_p2[1] ), - .IIRout_p3 (IIRout_p3[1] ), - .IIRout_p4 (IIRout_p4[1] ), - .IIRout_p5 (IIRout_p5[1] ), - .IIRout_p6 (IIRout_p6[1] ), - .IIRout_p7 (IIRout_p7[1] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_1 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re1 ), + .a_im (a_im1 ), + .b_re (b_re1 ), + .b_im (b_im1 ), + .ab_re (ab_re1 ), + .ab_im (ab_im1 ), + .abb_re (abb_re1 ), + .abb_im (abb_im1 ), + .ab_pow3_re (ab_pow3_re1 ), + .ab_pow3_im (ab_pow3_im1 ), + .ab_pow4_re (ab_pow4_re1 ), + .ab_pow4_im (ab_pow4_im1 ), + .ab_pow5_re (ab_pow5_re1 ), + .ab_pow5_im (ab_pow5_im1 ), + .ab_pow6_re (ab_pow6_re1 ), + .ab_pow6_im (ab_pow6_im1 ), + .ab_pow7_re (ab_pow7_re1 ), + .ab_pow7_im (ab_pow7_im1 ), + .b_pow8_re (b_pow8_re1 ), + .b_pow8_im (b_pow8_im1 ), + .IIRout_p0 (IIRout_p0[1] ), + .IIRout_p1 (IIRout_p1[1] ), + .IIRout_p2 (IIRout_p2[1] ), + .IIRout_p3 (IIRout_p3[1] ), + .IIRout_p4 (IIRout_p4[1] ), + .IIRout_p5 (IIRout_p5[1] ), + .IIRout_p6 (IIRout_p6[1] ), + .IIRout_p7 (IIRout_p7[1] ) ); -IIR_top inst_iir_top_2 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re2 ), - .a_im (a_im2 ), - .b_re (b_re2 ), - .b_im (b_im2 ), - .ab_re (ab_re2 ), - .ab_im (ab_im2 ), - .abb_re (abb_re2 ), - .abb_im (abb_im2 ), - .ab_pow3_re (ab_pow3_re2 ), - .ab_pow3_im (ab_pow3_im2 ), - .ab_pow4_re (ab_pow4_re2 ), - .ab_pow4_im (ab_pow4_im2 ), - .ab_pow5_re (ab_pow5_re2 ), - .ab_pow5_im (ab_pow5_im2 ), - .ab_pow6_re (ab_pow6_re2 ), - .ab_pow6_im (ab_pow6_im2 ), - .ab_pow7_re (ab_pow7_re2 ), - .ab_pow7_im (ab_pow7_im2 ), - .b_pow8_re (b_pow8_re2 ), - .b_pow8_im (b_pow8_im2 ), - .IIRout_p0 (IIRout_p0[2] ), - .IIRout_p1 (IIRout_p1[2] ), - .IIRout_p2 (IIRout_p2[2] ), - .IIRout_p3 (IIRout_p3[2] ), - .IIRout_p4 (IIRout_p4[2] ), - .IIRout_p5 (IIRout_p5[2] ), - .IIRout_p6 (IIRout_p6[2] ), - .IIRout_p7 (IIRout_p7[2] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_2 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re2 ), + .a_im (a_im2 ), + .b_re (b_re2 ), + .b_im (b_im2 ), + .ab_re (ab_re2 ), + .ab_im (ab_im2 ), + .abb_re (abb_re2 ), + .abb_im (abb_im2 ), + .ab_pow3_re (ab_pow3_re2 ), + .ab_pow3_im (ab_pow3_im2 ), + .ab_pow4_re (ab_pow4_re2 ), + .ab_pow4_im (ab_pow4_im2 ), + .ab_pow5_re (ab_pow5_re2 ), + .ab_pow5_im (ab_pow5_im2 ), + .ab_pow6_re (ab_pow6_re2 ), + .ab_pow6_im (ab_pow6_im2 ), + .ab_pow7_re (ab_pow7_re2 ), + .ab_pow7_im (ab_pow7_im2 ), + .b_pow8_re (b_pow8_re2 ), + .b_pow8_im (b_pow8_im2 ), + .IIRout_p0 (IIRout_p0[2] ), + .IIRout_p1 (IIRout_p1[2] ), + .IIRout_p2 (IIRout_p2[2] ), + .IIRout_p3 (IIRout_p3[2] ), + .IIRout_p4 (IIRout_p4[2] ), + .IIRout_p5 (IIRout_p5[2] ), + .IIRout_p6 (IIRout_p6[2] ), + .IIRout_p7 (IIRout_p7[2] ) ); -IIR_top inst_iir_top_3 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re3 ), - .a_im (a_im3 ), - .b_re (b_re3 ), - .b_im (b_im3 ), - .ab_re (ab_re3 ), - .ab_im (ab_im3 ), - .abb_re (abb_re3 ), - .abb_im (abb_im3 ), - .ab_pow3_re (ab_pow3_re3 ), - .ab_pow3_im (ab_pow3_im3 ), - .ab_pow4_re (ab_pow4_re3 ), - .ab_pow4_im (ab_pow4_im3 ), - .ab_pow5_re (ab_pow5_re3 ), - .ab_pow5_im (ab_pow5_im3 ), - .ab_pow6_re (ab_pow6_re3 ), - .ab_pow6_im (ab_pow6_im3 ), - .ab_pow7_re (ab_pow7_re3 ), - .ab_pow7_im (ab_pow7_im3 ), - .b_pow8_re (b_pow8_re3 ), - .b_pow8_im (b_pow8_im3 ), - .IIRout_p0 (IIRout_p0[3] ), - .IIRout_p1 (IIRout_p1[3] ), - .IIRout_p2 (IIRout_p2[3] ), - .IIRout_p3 (IIRout_p3[3] ), - .IIRout_p4 (IIRout_p4[3] ), - .IIRout_p5 (IIRout_p5[3] ), - .IIRout_p6 (IIRout_p6[3] ), - .IIRout_p7 (IIRout_p7[3] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_3 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re3 ), + .a_im (a_im3 ), + .b_re (b_re3 ), + .b_im (b_im3 ), + .ab_re (ab_re3 ), + .ab_im (ab_im3 ), + .abb_re (abb_re3 ), + .abb_im (abb_im3 ), + .ab_pow3_re (ab_pow3_re3 ), + .ab_pow3_im (ab_pow3_im3 ), + .ab_pow4_re (ab_pow4_re3 ), + .ab_pow4_im (ab_pow4_im3 ), + .ab_pow5_re (ab_pow5_re3 ), + .ab_pow5_im (ab_pow5_im3 ), + .ab_pow6_re (ab_pow6_re3 ), + .ab_pow6_im (ab_pow6_im3 ), + .ab_pow7_re (ab_pow7_re3 ), + .ab_pow7_im (ab_pow7_im3 ), + .b_pow8_re (b_pow8_re3 ), + .b_pow8_im (b_pow8_im3 ), + .IIRout_p0 (IIRout_p0[3] ), + .IIRout_p1 (IIRout_p1[3] ), + .IIRout_p2 (IIRout_p2[3] ), + .IIRout_p3 (IIRout_p3[3] ), + .IIRout_p4 (IIRout_p4[3] ), + .IIRout_p5 (IIRout_p5[3] ), + .IIRout_p6 (IIRout_p6[3] ), + .IIRout_p7 (IIRout_p7[3] ) ); -IIR_top inst_iir_top_4 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re4 ), - .a_im (a_im4 ), - .b_re (b_re4 ), - .b_im (b_im4 ), - .ab_re (ab_re4 ), - .ab_im (ab_im4 ), - .abb_re (abb_re4 ), - .abb_im (abb_im4 ), - .ab_pow3_re (ab_pow3_re4 ), - .ab_pow3_im (ab_pow3_im4 ), - .ab_pow4_re (ab_pow4_re4 ), - .ab_pow4_im (ab_pow4_im4 ), - .ab_pow5_re (ab_pow5_re4 ), - .ab_pow5_im (ab_pow5_im4 ), - .ab_pow6_re (ab_pow6_re4 ), - .ab_pow6_im (ab_pow6_im4 ), - .ab_pow7_re (ab_pow7_re4 ), - .ab_pow7_im (ab_pow7_im4 ), - .b_pow8_re (b_pow8_re4 ), - .b_pow8_im (b_pow8_im4 ), - .IIRout_p0 (IIRout_p0[4] ), - .IIRout_p1 (IIRout_p1[4] ), - .IIRout_p2 (IIRout_p2[4] ), - .IIRout_p3 (IIRout_p3[4] ), - .IIRout_p4 (IIRout_p4[4] ), - .IIRout_p5 (IIRout_p5[4] ), - .IIRout_p6 (IIRout_p6[4] ), - .IIRout_p7 (IIRout_p7[4] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_4 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re4 ), + .a_im (a_im4 ), + .b_re (b_re4 ), + .b_im (b_im4 ), + .ab_re (ab_re4 ), + .ab_im (ab_im4 ), + .abb_re (abb_re4 ), + .abb_im (abb_im4 ), + .ab_pow3_re (ab_pow3_re4 ), + .ab_pow3_im (ab_pow3_im4 ), + .ab_pow4_re (ab_pow4_re4 ), + .ab_pow4_im (ab_pow4_im4 ), + .ab_pow5_re (ab_pow5_re4 ), + .ab_pow5_im (ab_pow5_im4 ), + .ab_pow6_re (ab_pow6_re4 ), + .ab_pow6_im (ab_pow6_im4 ), + .ab_pow7_re (ab_pow7_re4 ), + .ab_pow7_im (ab_pow7_im4 ), + .b_pow8_re (b_pow8_re4 ), + .b_pow8_im (b_pow8_im4 ), + .IIRout_p0 (IIRout_p0[4] ), + .IIRout_p1 (IIRout_p1[4] ), + .IIRout_p2 (IIRout_p2[4] ), + .IIRout_p3 (IIRout_p3[4] ), + .IIRout_p4 (IIRout_p4[4] ), + .IIRout_p5 (IIRout_p5[4] ), + .IIRout_p6 (IIRout_p6[4] ), + .IIRout_p7 (IIRout_p7[4] ) ); -IIR_top inst_iir_top_5 ( - .clk (clk ), - .rstn (rstn ), - .en (en ), - .IIRin_p0 (IIRin_p0 ), - .IIRin_p1 (IIRin_p1 ), - .IIRin_p2 (IIRin_p2 ), - .IIRin_p3 (IIRin_p3 ), - .IIRin_p4 (IIRin_p4 ), - .IIRin_p5 (IIRin_p5 ), - .IIRin_p6 (IIRin_p6 ), - .IIRin_p7 (IIRin_p7 ), - .IIRin_p0_r2 (IIRin_p0_r[1]), - .IIRin_p1_r4 (IIRin_p1_r[3]), - .IIRin_p2_r6 (IIRin_p2_r[5]), - .IIRin_p3_r8 (IIRin_p3_r[7]), - .IIRin_p4_r10 (IIRin_p4_r[9]), - .IIRin_p5_r12 (IIRin_p5_r[11]), - .IIRin_p6_r14 (IIRin_p6_r[13]), - .a_re (a_re5 ), - .a_im (a_im5 ), - .b_re (b_re5 ), - .b_im (b_im5 ), - .ab_re (ab_re5 ), - .ab_im (ab_im5 ), - .abb_re (abb_re5 ), - .abb_im (abb_im5 ), - .ab_pow3_re (ab_pow3_re5 ), - .ab_pow3_im (ab_pow3_im5 ), - .ab_pow4_re (ab_pow4_re5 ), - .ab_pow4_im (ab_pow4_im5 ), - .ab_pow5_re (ab_pow5_re5 ), - .ab_pow5_im (ab_pow5_im5 ), - .ab_pow6_re (ab_pow6_re5 ), - .ab_pow6_im (ab_pow6_im5 ), - .ab_pow7_re (ab_pow7_re5 ), - .ab_pow7_im (ab_pow7_im5 ), - .b_pow8_re (b_pow8_re5 ), - .b_pow8_im (b_pow8_im5 ), - .IIRout_p0 (IIRout_p0[5] ), - .IIRout_p1 (IIRout_p1[5] ), - .IIRout_p2 (IIRout_p2[5] ), - .IIRout_p3 (IIRout_p3[5] ), - .IIRout_p4 (IIRout_p4[5] ), - .IIRout_p5 (IIRout_p5[5] ), - .IIRout_p6 (IIRout_p6[5] ), - .IIRout_p7 (IIRout_p7[5] ) +IIR_top #( + .data_out_width (temp_var_width ) +) inst_iir_top_5 ( + .clk (clk ), + .rstn (rstn ), + .en (en ), + .IIRin_p0 (IIRin_p0 ), + .IIRin_p1 (IIRin_p1 ), + .IIRin_p2 (IIRin_p2 ), + .IIRin_p3 (IIRin_p3 ), + .IIRin_p4 (IIRin_p4 ), + .IIRin_p5 (IIRin_p5 ), + .IIRin_p6 (IIRin_p6 ), + .IIRin_p7 (IIRin_p7 ), + .IIRin_p0_r2 (IIRin_p0_r[1] ), + .IIRin_p1_r4 (IIRin_p1_r[3] ), + .IIRin_p2_r6 (IIRin_p2_r[5] ), + .IIRin_p3_r8 (IIRin_p3_r[7] ), + .IIRin_p4_r10 (IIRin_p4_r[9] ), + .IIRin_p5_r12 (IIRin_p5_r[11] ), + .IIRin_p6_r14 (IIRin_p6_r[13] ), + .a_re (a_re5 ), + .a_im (a_im5 ), + .b_re (b_re5 ), + .b_im (b_im5 ), + .ab_re (ab_re5 ), + .ab_im (ab_im5 ), + .abb_re (abb_re5 ), + .abb_im (abb_im5 ), + .ab_pow3_re (ab_pow3_re5 ), + .ab_pow3_im (ab_pow3_im5 ), + .ab_pow4_re (ab_pow4_re5 ), + .ab_pow4_im (ab_pow4_im5 ), + .ab_pow5_re (ab_pow5_re5 ), + .ab_pow5_im (ab_pow5_im5 ), + .ab_pow6_re (ab_pow6_re5 ), + .ab_pow6_im (ab_pow6_im5 ), + .ab_pow7_re (ab_pow7_re5 ), + .ab_pow7_im (ab_pow7_im5 ), + .b_pow8_re (b_pow8_re5 ), + .b_pow8_im (b_pow8_im5 ), + .IIRout_p0 (IIRout_p0[5] ), + .IIRout_p1 (IIRout_p1[5] ), + .IIRout_p2 (IIRout_p2[5] ), + .IIRout_p3 (IIRout_p3[5] ), + .IIRout_p4 (IIRout_p4[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];