diff --git a/rtl/z_dsp/TailCorr_top.v b/rtl/z_dsp/TailCorr_top.v index b469746..0410316 100644 --- a/rtl/z_dsp/TailCorr_top.v +++ b/rtl/z_dsp/TailCorr_top.v @@ -30,58 +30,94 @@ // Synthesizable (y/n): // Other: //-FHDR-------------------------------------------------------------------------------------------------------- - -parameter data_in_width = 16; -parameter max_coef_width = 32; -parameter frac_data_out_width = 20;//X for in,5 -parameter frac_coef_width = 31;//division -parameter feedback_width = 36; -parameter data_out_width = 36; -parameter saturation_mode = 0; -parameter out_reg = 1; - module TailCorr_top - ( -input clk, -input rstn, -input en, -input tc_bypass, -input signed [data_in_width-1:0] din_re, -input signed [data_in_width-1:0] din_im, -input signed [frac_coef_width:0] a0_re, -input signed [frac_coef_width:0] a0_im, -input signed [frac_coef_width:0] b0_re, -input signed [frac_coef_width:0] b0_im, -input signed [frac_coef_width:0] a1_re, -input signed [frac_coef_width:0] a1_im, -input signed [frac_coef_width:0] b1_re, -input signed [frac_coef_width:0] b1_im, -input signed [frac_coef_width:0] a2_re, -input signed [frac_coef_width:0] a2_im, -input signed [frac_coef_width:0] b2_re, -input signed [frac_coef_width:0] b2_im, -input signed [frac_coef_width:0] a3_re, -input signed [frac_coef_width:0] a3_im, -input signed [frac_coef_width:0] b3_re, -input signed [frac_coef_width:0] b3_im, -input signed [frac_coef_width:0] a4_re, -input signed [frac_coef_width:0] a4_im, -input signed [frac_coef_width:0] b4_re, -input signed [frac_coef_width:0] b4_im, -input signed [frac_coef_width:0] a5_re, -input signed [frac_coef_width:0] a5_im, -input signed [frac_coef_width:0] b5_re, -input signed [frac_coef_width:0] b5_im, -output signed [15:0] dout, -output saturation_0, -output saturation_1, -output saturation_2, -output saturation_3, -output saturation_4, -output saturation_5 + clk, + rstn, + en, + tc_bypass, + din_re, + din_im, + a0_re, + a0_im, + b0_re, + b0_im, + a1_re, + a1_im, + b1_re, + b1_im, + a2_re, + a2_im, + b2_re, + b2_im, + a3_re, + a3_im, + b3_re, + b3_im, + a4_re, + a4_im, + b4_re, + b4_im, + a5_re, + a5_im, + b5_re, + b5_im, + dout, + saturation_0, + saturation_1, + saturation_2, + saturation_3, + saturation_4, + saturation_5 ); +parameter integer data_in_width = 16; +parameter integer max_coef_width = 32; +parameter integer frac_data_out_width = 20;//X for in,5 +parameter integer frac_coef_width = 31;//division +parameter integer feedback_width = 36; +parameter integer data_out_width = 36; +parameter integer saturation_mode = 0; +parameter integer out_reg = 1; + +input clk; +input rstn; +input en; +input tc_bypass; +input signed [data_in_width-1:0] din_re; +input signed [data_in_width-1:0] din_im; +input signed [frac_coef_width:0] a0_re; +input signed [frac_coef_width:0] a0_im; +input signed [frac_coef_width:0] b0_re; +input signed [frac_coef_width:0] b0_im; +input signed [frac_coef_width:0] a1_re; +input signed [frac_coef_width:0] a1_im; +input signed [frac_coef_width:0] b1_re; +input signed [frac_coef_width:0] b1_im; +input signed [frac_coef_width:0] a2_re; +input signed [frac_coef_width:0] a2_im; +input signed [frac_coef_width:0] b2_re; +input signed [frac_coef_width:0] b2_im; +input signed [frac_coef_width:0] a3_re; +input signed [frac_coef_width:0] a3_im; +input signed [frac_coef_width:0] b3_re; +input signed [frac_coef_width:0] b3_im; +input signed [frac_coef_width:0] a4_re; +input signed [frac_coef_width:0] a4_im; +input signed [frac_coef_width:0] b4_re; +input signed [frac_coef_width:0] b4_im; +input signed [frac_coef_width:0] a5_re; +input signed [frac_coef_width:0] a5_im; +input signed [frac_coef_width:0] b5_re; +input signed [frac_coef_width:0] b5_im; +output signed [15:0] dout; +output saturation_0; +output saturation_1; +output saturation_2; +output saturation_3; +output saturation_4; +output saturation_5; + wire signed [data_in_width-1:0] IIRin_re; wire signed [data_in_width-1:0] IIRin_im; wire signed [data_out_width-1:0] dout_0;