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

Added tb to verify output data for nof_chan>0.

parent fc84ac02
No related branches found
No related tags found
No related merge requests found
...@@ -59,6 +59,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS ...@@ -59,6 +59,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS
true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2, true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb1_two_real_4channels : t_wpfb := (1, 32, 2, 1,
16, 1, 8, 16, 16,
true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
-- wb 4, two real -- wb 4, two real
CONSTANT c_wb4_two_real_1024 : t_wpfb := (4, 1024, 0, 1, CONSTANT c_wb4_two_real_1024 : t_wpfb := (4, 1024, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
...@@ -74,6 +79,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS ...@@ -74,6 +79,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS
true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2, true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb4_two_real_4channels : t_wpfb := (4, 32, 2, 1,
16, 1, 8, 16, 16,
true, false, true, 16, 16, 1, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
-- wb 1, complex reordered -- wb 1, complex reordered
CONSTANT c_wb1_complex_1024 : t_wpfb := (1, 1024, 0, 1, CONSTANT c_wb1_complex_1024 : t_wpfb := (1, 1024, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
...@@ -92,6 +102,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS ...@@ -92,6 +102,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS
true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2, true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb1_complex_4channels : t_wpfb := (1, 32, 2, 1,
16, 1, 8, 16, 16,
true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
-- wb 1, complex fft_shift -- wb 1, complex fft_shift
CONSTANT c_wb1_complex_fft_shift : t_wpfb := (1, 32, 0, 1, CONSTANT c_wb1_complex_fft_shift : t_wpfb := (1, 32, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
...@@ -130,6 +145,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS ...@@ -130,6 +145,11 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS
true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2, true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb4_complex_4channels : t_wpfb := (4, 32, 2, 1,
16, 1, 8, 16, 16,
true, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
-- wb 4, complex fft_shift -- wb 4, complex fft_shift
CONSTANT c_wb4_complex_fft_shift : t_wpfb := (4, 32, 0, 1, CONSTANT c_wb4_complex_fft_shift : t_wpfb := (4, 32, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
...@@ -137,19 +157,24 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS ...@@ -137,19 +157,24 @@ ARCHITECTURE tb OF tb_tb_wpfb_unit_wide IS
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
-- wb 4, complex without reorder -- wb 4, complex without reorder
CONSTANT c_wb4_complex_flipped_1024 : t_wpfb := (4, 1024, 0, 1, CONSTANT c_wb4_complex_flipped_1024 : t_wpfb := (4, 1024, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2, false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb4_complex_flipped_64 : t_wpfb := (4, 64, 0, 1, CONSTANT c_wb4_complex_flipped_64 : t_wpfb := (4, 64, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2, false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb4_complex_flipped : t_wpfb := (4, 32, 0, 1, CONSTANT c_wb4_complex_flipped : t_wpfb := (4, 32, 0, 1,
16, 1, 8, 16, 16, 16, 1, 8, 16, 16,
false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2, false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_wb4_complex_flipped_channels : t_wpfb := (4, 32, 2, 1,
16, 1, 8, 16, 16,
false, false, false, 16, 16, 0, c_dsp_mult_w, 2, true, 56, 2,
c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);
CONSTANT c_dm_1 : natural := 1; -- diff margin (for stage_dat_w >> c_dsp_mult_w) CONSTANT c_dm_1 : natural := 1; -- diff margin (for stage_dat_w >> c_dsp_mult_w)
CONSTANT c_dm_3 : natural := 3; -- diff margin (for 32 point dm=2 appears sufficient, for 1024 point dm=3 is sufficient) CONSTANT c_dm_3 : natural := 3; -- diff margin (for 32 point dm=2 appears sufficient, for 1024 point dm=3 is sufficient)
CONSTANT c_dm_5 : natural := 5; -- diff margin (for 32 point dm=2 appears sufficient, for 1024 point dm=3 is sufficient) CONSTANT c_dm_5 : natural := 5; -- diff margin (for 32 point dm=2 appears sufficient, for 1024 point dm=3 is sufficient)
...@@ -276,13 +301,15 @@ BEGIN ...@@ -276,13 +301,15 @@ BEGIN
u_act_wb1_two_real_chirp_1024 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real_1024, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp_1024, 204800, c_zero, 51200, c_un, 0, 51200, FALSE); u_act_wb1_two_real_chirp_1024 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real_1024, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp_1024, 204800, c_zero, 51200, c_un, 0, 51200, FALSE);
-- * 32 point -- * 32 point
u_act_wb1_two_real_chirp : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp, 6400, c_impulse_chirp, 6400, c_un, 0, 6400, FALSE); u_act_wb1_two_real_chirp : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp, 6400, c_impulse_chirp, 6400, c_un, 0, 6400, FALSE);
u_act_wb1_two_real_a0 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_zero, 6400, c_impulse_chirp, 6400, c_un, 0, 6400, FALSE); u_act_wb1_two_real_a0 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_zero, 6400, c_impulse_chirp, 6400, c_un, 0, 6400, FALSE);
u_act_wb1_two_real_b0 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp, 6400, c_zero, 6400, c_un, 0, 6400, FALSE); u_act_wb1_two_real_b0 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_sinusoid_chirp, 6400, c_zero, 6400, c_un, 0, 6400, FALSE);
u_rnd_wb4_two_real_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_two_real, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE); u_rnd_wb4_two_real_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_two_real, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
u_rnd_wb4_two_real_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_two_real_4streams, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE); u_rnd_wb4_two_real_noise_channels : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_two_real_4channels, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
u_rnd_wb1_two_real_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE); u_rnd_wb4_two_real_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_two_real_4streams, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
u_rnd_wb1_two_real_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real_4streams, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE); u_rnd_wb1_two_real_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
u_rnd_wb1_two_real_noise_channels : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real_4channels, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
u_rnd_wb1_two_real_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_two_real_4streams, c_dm_5, c_pre_ab, c_pre_c, c_noise, 1600, c_dc_agwn, 1600, c_un, 0, 1600, TRUE);
-- Complex input data -- Complex input data
-- * 1024 point -- * 1024 point
...@@ -296,14 +323,17 @@ BEGIN ...@@ -296,14 +323,17 @@ BEGIN
u_act_wb4_complex_flipped_noise_64 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_flipped_64, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex_64, 3200, 3200, FALSE); u_act_wb4_complex_flipped_noise_64 : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_flipped_64, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex_64, 3200, 3200, FALSE);
-- * 32 point -- * 32 point
u_act_wb4_complex_chirp : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor_chirp, 6400, 6400, FALSE); u_act_wb4_complex_chirp : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor_chirp, 6400, 6400, FALSE);
u_act_wb4_complex_flipped : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_flipped, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor_chirp, 6400, 6400, FALSE); u_act_wb4_complex_flipped : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_flipped, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor_chirp, 6400, 6400, FALSE);
u_rnd_wb1_complex_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE); u_rnd_wb4_complex_flipped_channels : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_flipped_channels, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor_chirp, 6400, 6400, FALSE);
u_rnd_wb4_complex_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE); u_rnd_wb1_complex_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE);
u_rnd_wb1_complex_fft_shift_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex_fft_shift, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE); u_rnd_wb4_complex_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE);
u_rnd_wb4_complex_fft_shift_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_fft_shift, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE); u_rnd_wb1_complex_fft_shift_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex_fft_shift, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE);
u_rnd_wb1_complex_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE); u_rnd_wb4_complex_fft_shift_phasor : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_fft_shift, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_phasor, 1600, 1600, TRUE);
u_rnd_wb1_complex_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex_4streams, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE); u_rnd_wb1_complex_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
u_rnd_wb4_complex_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE); u_rnd_wb1_complex_noise_channels : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex_4channels, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
u_rnd_wb4_complex_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_4streams, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE); u_rnd_wb1_complex_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb1_complex_4streams, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
u_rnd_wb4_complex_noise : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
u_rnd_wb4_complex_noise_channels : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_4channels, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
u_rnd_wb4_complex_noise_streams : ENTITY work.tb_wpfb_unit_wide GENERIC MAP (c_wb4_complex_4streams, c_dm_3, c_pre_ab, c_pre_c, c_un, 0, c_un, 0, c_noise_complex, 1600, 1600, TRUE);
END tb; END tb;
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