TailCorr/rtl/z_dsp/IIR_top.v

588 lines
32 KiB
Verilog

module IIR_top #(
parameter data_out_width = 18
,parameter coef_width = 32
,parameter a0_width = 32
,parameter b0_width = 29
,parameter b0_i_width = 29
,parameter b0_o_width = 19
,parameter a1_width = 19
,parameter b1_width = 19
,parameter b1_i_width = 19
,parameter b1_o_width = 19
,parameter a2_width = 21
,parameter b2_width = 21
,parameter b2_i_width = 19
,parameter b2_o_width = 19
,parameter a3_width = 21
,parameter b3_width = 21
,parameter b3_i_width = 19
,parameter b3_o_width = 19
,parameter a4_width = 20
,parameter b4_width = 20
,parameter b4_i_width = 19
,parameter b4_o_width = 18
,parameter a5_width = 21
,parameter b5_width = 21
,parameter b5_i_width = 18
,parameter b5_o_width = 18
,parameter a6_width = 21
,parameter b6_width = 21
,parameter b6_i_width = 18
,parameter b6_o_width = 18
,parameter a7_width = 22
,parameter b7_width = 22
,parameter b7_i_width = 18
,parameter b7_o_width = 18
,parameter a8_width = 23
,parameter b8_width = 23
,parameter b8_i_width = 18
,parameter b8_o_width = 18
,parameter a9_width = 24
,parameter b9_width = 24
,parameter b9_i_width = 18
,parameter b9_o_width = 18
,parameter a10_width = 25
,parameter b10_width = 25
,parameter b10_i_width = 18
,parameter b10_o_width = 18
,parameter a11_width = 26
,parameter b11_width = 26
,parameter b11_i_width = 18
,parameter b11_o_width = 18
,parameter a12_width = 27
,parameter b12_width = 27
,parameter b12_i_width = 18
,parameter b12_o_width = 18
,parameter a13_width = 28
,parameter b13_width = 28
,parameter b13_i_width = 18
,parameter b13_o_width = 18
,parameter a14_width = 29
,parameter b14_width = 29
,parameter b14_i_width = 18
,parameter b14_o_width = 18
,parameter a15_width = 29
,parameter b15_width = 29
,parameter b15_i_width = 18
,parameter b15_o_width = 18
)
(
input rstn
,input clk
,input en
,input signed [15 :0] IIRin_p0 // x(8n+9)
,input signed [15 :0] IIRin_p1 // x(8n+10)
,input signed [15 :0] IIRin_p2 // x(8n+11)
,input signed [15 :0] IIRin_p3 // x(8n+12)
,input signed [15 :0] IIRin_p4 // x(8n+13)
,input signed [15 :0] IIRin_p5 // x(8n+14)
,input signed [15 :0] IIRin_p6 // x(8n+15)
,input signed [15 :0] IIRin_p7 // x(8n+16)
,input signed [15 :0] IIRin_p8 // x(8n+9)
,input signed [15 :0] IIRin_p9 // x(8n+10)
,input signed [15 :0] IIRin_pa // x(8n+11)
,input signed [15 :0] IIRin_pb // x(8n+12)
,input signed [15 :0] IIRin_pc // x(8n+13)
,input signed [15 :0] IIRin_pd // x(8n+14)
,input signed [15 :0] IIRin_pe // x(8n+15)
,input signed [15 :0] IIRin_pf // x(8n+16)
,input signed [15 :0] IIRin_p0_r2 // x(8n+9) delay 2M -> x(8n- 7)
,input signed [15 :0] IIRin_p1_r4 // x(8n+10) delay 4M -> x(8n-22)
,input signed [15 :0] IIRin_p2_r6 // x(8n+11) delay 6M -> x(8n-37)
,input signed [15 :0] IIRin_p3_r8 // x(8n+12) delay 8M -> x(8n-52)
,input signed [15 :0] IIRin_p4_r10 // x(8n+13) delay 10M -> x(8n-67)
,input signed [15 :0] IIRin_p5_r12 // x(8n+14) delay 12M -> x(8n-82)
,input signed [15 :0] IIRin_p6_r14 // x(8n+15) delay 14M -> x(8n-97)
,input signed [15 :0] IIRin_p7_r16 // x(8n+16) delay 16M -> x(8n-112)
,input signed [15 :0] IIRin_p8_r18 // x(8n+15) delay 18M -> x(8n-127)
,input signed [15 :0] IIRin_p9_r20 // x(8n+14) delay 20M -> x(8n-142)
,input signed [15 :0] IIRin_pa_r22 // x(8n+13) delay 22M -> x(8n-157)
,input signed [15 :0] IIRin_pb_r24 // x(8n+12) delay 24M -> x(8n-172)
,input signed [15 :0] IIRin_pc_r26 // x(8n+11) delay 26M -> x(8n-187)
,input signed [15 :0] IIRin_pd_r28 // x(8n+10) delay 28M -> x(8n-202)
,input signed [15 :0] IIRin_pe_r30 // x(8n+9) delay 30M -> x(8n-217)
,input signed [31 :0] a_re
,input signed [31 :0] b_re
,input signed [31 :0] ab_re
,input signed [31 :0] abb_re
,input signed [31 :0] ab_pow3_re
,input signed [31 :0] ab_pow4_re
,input signed [31 :0] ab_pow5_re
,input signed [31 :0] ab_pow6_re
,input signed [31 :0] ab_pow7_re
,input signed [31 :0] ab_pow8_re
,input signed [31 :0] ab_pow9_re
,input signed [31 :0] ab_powa_re
,input signed [31 :0] ab_powb_re
,input signed [31 :0] ab_powc_re
,input signed [31 :0] ab_powd_re
,input signed [31 :0] ab_powe_re
,input signed [31 :0] ab_powf_re
,input signed [31 :0] b_pow16_re
,input signed [31 :0] a_im
,input signed [31 :0] b_im
,input signed [31 :0] ab_im
,input signed [31 :0] abb_im
,input signed [31 :0] ab_pow3_im
,input signed [31 :0] ab_pow4_im
,input signed [31 :0] ab_pow5_im
,input signed [31 :0] ab_pow6_im
,input signed [31 :0] ab_pow7_im
,input signed [31 :0] ab_pow8_im
,input signed [31 :0] ab_pow9_im
,input signed [31 :0] ab_powa_im
,input signed [31 :0] ab_powb_im
,input signed [31 :0] ab_powc_im
,input signed [31 :0] ab_powd_im
,input signed [31 :0] ab_powe_im
,input signed [31 :0] ab_powf_im
,input signed [31 :0] b_pow16_im
,output signed [data_out_width-1 :0] IIRout_p0 // y(8n-8)
,output signed [data_out_width-1 :0] IIRout_p1 // y(8n-23)
,output signed [data_out_width-1 :0] IIRout_p2 // y(8n-38)
,output signed [data_out_width-1 :0] IIRout_p3 // y(8n-53)
,output signed [data_out_width-1 :0] IIRout_p4 // y(8n-68)
,output signed [data_out_width-1 :0] IIRout_p5 // y(8n-83)
,output signed [data_out_width-1 :0] IIRout_p6 // y(8n-98)
,output signed [data_out_width-1 :0] IIRout_p7 // y(8n-113)
,output signed [data_out_width-1 :0] IIRout_p8 // y(8n-128)
,output signed [data_out_width-1 :0] IIRout_p9 // y(8n-143)
,output signed [data_out_width-1 :0] IIRout_pa // y(8n-158)
,output signed [data_out_width-1 :0] IIRout_pb // y(8n-173)
,output signed [data_out_width-1 :0] IIRout_pc // y(8n-188)
,output signed [data_out_width-1 :0] IIRout_pd // y(8n-203)
,output signed [data_out_width-1 :0] IIRout_pe // y(8n-218)
,output signed [data_out_width-1 :0] IIRout_pf // y(8n-233)
);
wire signed [b0_o_width- 1:0] IIRout_p0_re;
wire signed [b1_o_width- 1:0] IIRout_p1_re;
wire signed [b2_o_width- 1:0] IIRout_p2_re;
wire signed [b3_o_width- 1:0] IIRout_p3_re;
wire signed [b4_o_width- 1:0] IIRout_p4_re;
wire signed [b5_o_width- 1:0] IIRout_p5_re;
wire signed [b6_o_width- 1:0] IIRout_p6_re;
wire signed [b7_o_width- 1:0] IIRout_p7_re;
wire signed [b8_o_width- 1:0] IIRout_p8_re;
wire signed [b9_o_width- 1:0] IIRout_p9_re;
wire signed [b10_o_width- 1:0] IIRout_pa_re;
wire signed [b11_o_width- 1:0] IIRout_pb_re;
wire signed [b12_o_width- 1:0] IIRout_pc_re;
wire signed [b13_o_width- 1:0] IIRout_pd_re;
wire signed [b14_o_width- 1:0] IIRout_pe_re;
wire signed [b15_o_width- 1:0] IIRout_pf_re;
wire signed [b0_o_width- 1:0] IIRout_p0_im;
wire signed [b1_o_width- 1:0] IIRout_p1_im;
wire signed [b2_o_width- 1:0] IIRout_p2_im;
wire signed [b3_o_width- 1:0] IIRout_p3_im;
wire signed [b4_o_width- 1:0] IIRout_p4_im;
wire signed [b5_o_width- 1:0] IIRout_p5_im;
wire signed [b6_o_width- 1:0] IIRout_p6_im;
wire signed [b7_o_width- 1:0] IIRout_p7_im;
wire signed [b8_o_width- 1:0] IIRout_p8_im;
wire signed [b9_o_width- 1:0] IIRout_p9_im;
wire signed [b10_o_width- 1:0] IIRout_pa_im;
wire signed [b11_o_width- 1:0] IIRout_pb_im;
wire signed [b12_o_width- 1:0] IIRout_pc_im;
wire signed [b13_o_width- 1:0] IIRout_pd_im;
wire signed [b14_o_width- 1:0] IIRout_pe_im;
wire signed [b15_o_width- 1:0] IIRout_pf_im;
IIR_Filter_p16#(
.coef_width ( coef_width ),
.b_pow16_width ( b0_width ),
.ab_pow_width ( a0_width ),
.temp_var_width ( b0_i_width ),
.data_out_width ( b0_o_width )
)inst_iir_p0(
.rstn ( rstn ),
.clk ( clk ),
.en ( en ),
.dinp0 ( IIRin_pf ),
.dinp1 ( IIRin_pe ),
.dinp2 ( IIRin_pd ),
.dinp3 ( IIRin_pc ),
.dinp4 ( IIRin_pb ),
.dinp5 ( IIRin_pa ),
.dinp6 ( IIRin_p9 ),
.dinp7 ( IIRin_p8 ),
.dinp8 ( IIRin_p7 ),
.dinp9 ( IIRin_p6 ),
.dinpa ( IIRin_p5 ),
.dinpb ( IIRin_p4 ),
.dinpc ( IIRin_p3 ),
.dinpd ( IIRin_p2 ),
.dinpe ( IIRin_p1 ),
.dinpf ( IIRin_p0 ),
.a_re ( a_re ),
.ab_re ( ab_re ),
.abb_re ( abb_re ),
.ab_pow3_re ( ab_pow3_re ),
.ab_pow4_re ( ab_pow4_re ),
.ab_pow5_re ( ab_pow5_re ),
.ab_pow6_re ( ab_pow6_re ),
.ab_pow7_re ( ab_pow7_re ),
.ab_pow8_re ( ab_pow8_re ),
.ab_pow9_re ( ab_pow9_re ),
.ab_powa_re ( ab_powa_re ),
.ab_powb_re ( ab_powb_re ),
.ab_powc_re ( ab_powc_re ),
.ab_powd_re ( ab_powd_re ),
.ab_powe_re ( ab_powe_re ),
.ab_powf_re ( ab_powf_re ),
.b_pow16_re ( b_pow16_re ),
.a_im ( a_im ),
.ab_im ( ab_im ),
.abb_im ( abb_im ),
.ab_pow3_im ( ab_pow3_im ),
.ab_pow4_im ( ab_pow4_im ),
.ab_pow5_im ( ab_pow5_im ),
.ab_pow6_im ( ab_pow6_im ),
.ab_pow7_im ( ab_pow7_im ),
.ab_pow8_im ( ab_pow8_im ),
.ab_pow9_im ( ab_pow9_im ),
.ab_powa_im ( ab_powa_im ),
.ab_powb_im ( ab_powb_im ),
.ab_powc_im ( ab_powc_im ),
.ab_powd_im ( ab_powd_im ),
.ab_powe_im ( ab_powe_im ),
.ab_powf_im ( ab_powf_im ),
.b_pow16_im ( b_pow16_im ),
.dout_re ( IIRout_p0_re ),
.dout_im ( IIRout_p0_im )
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a1_width ),
.b_width (b1_width ),
.cascade_in_width (b1_i_width ),
.data_out_width (b1_o_width )
) inst_iir_p1(
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p0_r2 ), // x(8n-7)
.dout_r1_re (IIRout_p0_re ), // Re(y(8n-8))
.dout_r1_im (IIRout_p0_im ), // Re(y(8n-8))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p1_re ), // Re(y(8n-23))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p1_im ) // Re(y(8n-23))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a2_width ),
.b_width (b2_width ),
.cascade_in_width (b2_i_width ),
.data_out_width (b2_o_width )
) inst_iir_p2 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p1_r4 ), // x(8n-22)
.dout_r1_re (IIRout_p1_re ), // Re(y(8n-23))
.dout_r1_im (IIRout_p1_im ), // Re(y(8n-23))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p2_re ), // Re(y(8n-38))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p2_im ) // Re(y(8n-38))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a3_width ),
.b_width (b3_width ),
.cascade_in_width (b3_i_width ),
.data_out_width (b3_o_width )
) inst_iir_p3 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p2_r6 ), // x(8n-37)
.dout_r1_re (IIRout_p2_re ), // Re(y(8n-38))
.dout_r1_im (IIRout_p2_im ), // Re(y(8n-38))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p3_re ), // Re(y(8n-53))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p3_im ) // Re(y(8n-53))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a4_width ),
.b_width (b4_width ),
.cascade_in_width (b4_i_width ),
.data_out_width (b4_o_width )
) inst_iir_p4 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p3_r8 ), // x(8n-52)
.dout_r1_re (IIRout_p3_re ), // Re(y(8n-53))
.dout_r1_im (IIRout_p3_im ), // Re(y(8n-53))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p4_re ), // Re(y(8n-68))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p4_im ) // Re(y(8n-68))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a5_width ),
.b_width (b5_width ),
.cascade_in_width (b5_i_width ),
.data_out_width (b5_o_width )
) inst_iir_p5 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p4_r10 ), // x(8n-67)
.dout_r1_re (IIRout_p4_re ), // Re(y(8n-68))
.dout_r1_im (IIRout_p4_im ), // Re(y(8n-68))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p5_re ), // Re(y(8n-83))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p5_im ) // Re(y(8n-83))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a6_width ),
.b_width (b6_width ),
.cascade_in_width (b6_i_width ),
.data_out_width (b6_o_width )
) inst_iir_p6 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p5_r12 ), // x(8n-82)
.dout_r1_re (IIRout_p5_re ), // Re(y(8n-83))
.dout_r1_im (IIRout_p5_im ), // Re(y(8n-83))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p6_re ), // Re(y(8n-98))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p6_im ) // Re(y(8n-98))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a7_width ),
.b_width (b7_width ),
.cascade_in_width (b7_i_width ),
.data_out_width (b7_o_width )
) inst_iir_p7 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p6_r14 ), // x(8n-97)
.dout_r1_re (IIRout_p6_re ), // Re(y(8n-98))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p7_re ), // Re(y(8n-113))
.dout_r1_im (IIRout_p6_im ), // Re(y(8n-98))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p7_im ) // Re(y(8n-113))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a8_width ),
.b_width (b8_width ),
.cascade_in_width (b8_i_width ),
.data_out_width (b8_o_width )
) inst_iir_p8 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p7_r16 ), // x(8n-112)
.dout_r1_re (IIRout_p7_re ), // Re(y(8n-113))
.dout_r1_im (IIRout_p7_im ), // Re(y(8n-113))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p8_re ), // Re(y(8n-128))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p8_im ) // Re(y(8n-128))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a9_width ),
.b_width (b9_width ),
.cascade_in_width (b9_i_width ),
.data_out_width (b9_o_width )
) inst_iir_p9 (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p8_r18 ), // x(8n-127)
.dout_r1_re (IIRout_p8_re ), // Re(y(8n-128))
.dout_r1_im (IIRout_p8_im ), // Re(y(8n-128))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_p9_re ), // Re(y(8n-143))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_p9_im ) // Re(y(8n-143))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a10_width ),
.b_width (b10_width ),
.cascade_in_width (b10_i_width ),
.data_out_width (b10_o_width )
) inst_iir_pa (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_p9_r20 ), // x(8n-142)
.dout_r1_re (IIRout_p9_re ), // Re(y(8n-143))
.dout_r1_im (IIRout_p9_im ), // Re(y(8n-143))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pa_re ), // Re(y(8n-158))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pa_im ) // Re(y(8n-158))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a11_width ),
.b_width (b11_width ),
.cascade_in_width (b11_i_width ),
.data_out_width (b11_o_width )
) inst_iir_pb (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_pa_r22 ), // x(8n-157)
.dout_r1_re (IIRout_pa_re ), // Re(y(8n-158))
.dout_r1_im (IIRout_pa_im ), // Re(y(8n-158))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pb_re ), // Re(y(8n-173))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pb_im ) // Re(y(8n-173))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a12_width ),
.b_width (b12_width ),
.cascade_in_width (b12_i_width ),
.data_out_width (b12_o_width )
) inst_iir_pc (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_pb_r24 ), // x(8n-172)
.dout_r1_re (IIRout_pb_re ), // Re(y(8n-173))
.dout_r1_im (IIRout_pb_im ), // Re(y(8n-173))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pc_re ), // Re(y(8n-188))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pc_im ) // Re(y(8n-188))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a13_width ),
.b_width (b13_width ),
.cascade_in_width (b13_i_width ),
.data_out_width (b13_o_width )
) inst_iir_pd (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_pc_r26 ), // x(8n-187)
.dout_r1_re (IIRout_pc_re ), // Re(y(8n-188))
.dout_r1_im (IIRout_pc_im ), // Re(y(8n-188))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pd_re ), // Re(y(8n-203))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pd_im ) // Re(y(8n-203))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a14_width ),
.b_width (b14_width ),
.cascade_in_width (b14_i_width ),
.data_out_width (b14_o_width )
) inst_iir_pe (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_pd_r28 ), // x(8n-202)
.dout_r1_re (IIRout_pd_re ), // Re(y(8n-203))
.dout_r1_im (IIRout_pd_im ), // Re(y(8n-203))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pe_re ), // Re(y(8n-218))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pe_im ) // Re(y(8n-218))
);
IIR_Filter_p1 #(
.coef_width (coef_width ),
.a_width (a15_width ),
.b_width (b15_width ),
.cascade_in_width (b15_i_width ),
.data_out_width (b15_o_width )
) inst_iir_pf (
.clk (clk ),
.rstn (rstn ),
.en (en ),
.din_re (IIRin_pe_r30 ), // x(8n-217)
.dout_r1_re (IIRout_pe_re ), // Re(y(8n-218))
.dout_r1_im (IIRout_pe_im ), // Re(y(8n-218))
.a_re (a_re ),
.b_re (b_re ),
.dout_re (IIRout_pf_re ), // Re(y(8n-233))
.a_im (a_im ),
.b_im (b_im ),
.dout_im (IIRout_pf_im ) // Re(y(8n-233))
);
assign IIRout_p0 = IIRout_p0_re[b0_o_width-1 : b0_o_width-data_out_width]; // y(8n-8)
assign IIRout_p1 = IIRout_p1_re[b1_o_width-1 : b1_o_width-data_out_width]; // y(8n-23)
assign IIRout_p2 = IIRout_p2_re[b2_o_width-1 : b2_o_width-data_out_width]; // y(8n-38)
assign IIRout_p3 = IIRout_p3_re[b3_o_width-1 : b3_o_width-data_out_width]; // y(8n-53)
assign IIRout_p4 = IIRout_p4_re[b4_o_width-1 : b4_o_width-data_out_width]; // y(8n-68)
assign IIRout_p5 = IIRout_p5_re[b5_o_width-1 : b5_o_width-data_out_width]; // y(8n-83)
assign IIRout_p6 = IIRout_p6_re[b6_o_width-1 : b6_o_width-data_out_width]; // y(8n-98)
assign IIRout_p7 = IIRout_p7_re[b7_o_width-1 : b7_o_width-data_out_width]; // y(8n-113)
assign IIRout_p8 = IIRout_p8_re[b8_o_width-1 : b8_o_width-data_out_width]; // y(8n-128)
assign IIRout_p9 = IIRout_p9_re[b9_o_width-1 : b9_o_width-data_out_width]; // y(8n-143)
assign IIRout_pa = IIRout_pa_re[b10_o_width-1 : b10_o_width-data_out_width]; // y(8n-158)
assign IIRout_pb = IIRout_pb_re[b11_o_width-1 : b11_o_width-data_out_width]; // y(8n-173)
assign IIRout_pc = IIRout_pc_re[b12_o_width-1 : b12_o_width-data_out_width]; // y(8n-188)
assign IIRout_pd = IIRout_pd_re[b13_o_width-1 : b13_o_width-data_out_width]; // y(8n-203)
assign IIRout_pe = IIRout_pe_re[b14_o_width-1 : b14_o_width-data_out_width]; // y(8n-218)
assign IIRout_pf = IIRout_pf_re[b15_o_width-1 : b15_o_width-data_out_width]; // y(8n-233)
endmodule