Skip to content
Snippets Groups Projects
Commit 9b661fc6 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Removed g_r2_mul_extra_w because it more clear to increase stage_dat_w.

parent 6b3a3db1
No related branches found
No related tags found
1 merge request!225Round outside separate function in output quantizer, to avoid more inaccurate...
...@@ -32,7 +32,6 @@ entity rTwoSDFStage is ...@@ -32,7 +32,6 @@ entity rTwoSDFStage is
g_stage_offset : natural := 0; -- The Stage offset: 0 for normal FFT. Other than 0 in wideband FFT g_stage_offset : natural := 0; -- The Stage offset: 0 for normal FFT. Other than 0 in wideband FFT
g_twiddle_offset : natural := 0; -- The twiddle offset: 0 for normal FFT. Other than 0 in wideband FFT g_twiddle_offset : natural := 0; -- The twiddle offset: 0 for normal FFT. Other than 0 in wideband FFT
g_scale_enable : boolean := TRUE; -- g_scale_enable : boolean := TRUE; --
g_r2_mul_extra_w : natural := 0; -- extra bits at rTwoMult output to improve FFT stage output requantization
g_pipeline : t_fft_pipeline := c_fft_pipeline -- internal pipeline settings g_pipeline : t_fft_pipeline := c_fft_pipeline -- internal pipeline settings
); );
port ( port (
...@@ -70,8 +69,8 @@ architecture str of rTwoSDFStage is ...@@ -70,8 +69,8 @@ architecture str of rTwoSDFStage is
signal weight_re : wTyp; signal weight_re : wTyp;
signal weight_im : wTyp; signal weight_im : wTyp;
signal mul_out_re : std_logic_vector(out_re'length-1 + g_r2_mul_extra_w downto 0); signal mul_out_re : std_logic_vector(out_re'length-1 downto 0);
signal mul_out_im : std_logic_vector(out_im'length-1 + g_r2_mul_extra_w downto 0); signal mul_out_im : std_logic_vector(out_im'length-1 downto 0);
signal mul_out_val : std_logic; signal mul_out_val : std_logic;
signal quant_out_re : std_logic_vector(out_re'range); signal quant_out_re : std_logic_vector(out_re'range);
...@@ -170,7 +169,7 @@ begin ...@@ -170,7 +169,7 @@ begin
u_requantize_re : entity common_lib.common_requantize u_requantize_re : entity common_lib.common_requantize
generic map ( generic map (
g_representation => "SIGNED", g_representation => "SIGNED",
g_lsb_w => c_r2_stage_bit_growth + g_r2_mul_extra_w, g_lsb_w => c_r2_stage_bit_growth,
g_lsb_round => TRUE, g_lsb_round => TRUE,
g_lsb_round_clip => FALSE, g_lsb_round_clip => FALSE,
g_msb_clip => FALSE, g_msb_clip => FALSE,
...@@ -191,7 +190,7 @@ begin ...@@ -191,7 +190,7 @@ begin
u_requantize_im : entity common_lib.common_requantize u_requantize_im : entity common_lib.common_requantize
generic map ( generic map (
g_representation => "SIGNED", g_representation => "SIGNED",
g_lsb_w => c_r2_stage_bit_growth + g_r2_mul_extra_w, g_lsb_w => c_r2_stage_bit_growth,
g_lsb_round => TRUE, g_lsb_round => TRUE,
g_lsb_round_clip => FALSE, g_lsb_round_clip => FALSE,
g_msb_clip => FALSE, g_msb_clip => FALSE,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment