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

Clarified constant naming for header in data files.

parent cc2a8409
No related branches found
No related tags found
No related merge requests found
......@@ -154,13 +154,13 @@ architecture tb of tb_fft_r2_par is
constant c_nof_lines_header : natural := 2;
constant c_nof_lines_a_wg_dat : natural := g_data_file_a_nof_lines; -- Real input A via in_re, one value per line
constant c_nof_lines_a_pfft_dat : natural := g_data_file_a_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_a_header_wg : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_a_pfft_header : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_b_wg_dat : natural := g_data_file_b_nof_lines; -- Real input B via in_im, one value per line
constant c_nof_lines_b_pfft_dat : natural := g_data_file_b_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_b_header_wg : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_b_pfft_header : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_c_wg_dat : natural := g_data_file_c_nof_lines; -- Complex input, two values per line (re, im)
constant c_nof_lines_c_pfft_dat : natural := g_data_file_c_nof_lines; -- Full spectrum, two values per line (re, im)
constant c_nof_lines_c_header_wg : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
constant c_nof_lines_c_pfft_header : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
constant c_gap_factor : natural := sel_a_b(g_enable_in_val_gaps, 3, 1);
......@@ -442,15 +442,15 @@ begin
begin
-- read expected output data from file
if c_in_complex then
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_header_wg, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_pfft_header, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines-1 loop
expected_data_c_re_arr(I) <= expected_data_c_arr(2*I);
expected_data_c_im_arr(I) <= expected_data_c_arr(2*I+1);
end loop;
else
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines/c_nof_complex-1 loop
expected_data_a_re_arr(I) <= expected_data_a_arr(2*I);
......
......@@ -189,13 +189,13 @@ architecture tb of tb_fft_r2_pipe is
constant c_nof_lines_header : natural := 2;
constant c_nof_lines_a_wg_dat : natural := g_data_file_a_nof_lines; -- Real input A via in_re, one value per line
constant c_nof_lines_a_pfft_dat : natural := g_data_file_a_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_a_header_wg : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_a_pfft_header : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_b_wg_dat : natural := g_data_file_b_nof_lines; -- Real input B via in_im, one value per line
constant c_nof_lines_b_pfft_dat : natural := g_data_file_b_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_b_header_wg : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_b_pfft_header : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_c_wg_dat : natural := g_data_file_c_nof_lines; -- Complex input, two values per line (re, im)
constant c_nof_lines_c_pfft_dat : natural := g_data_file_c_nof_lines; -- Full spectrum, two values per line (re, im)
constant c_nof_lines_c_header_wg : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
constant c_nof_lines_c_pfft_header : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
-- signal definitions
signal tb_end : std_logic := '0';
......@@ -393,15 +393,15 @@ begin
begin
-- read expected output data from file
if c_in_complex then
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_header_wg, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_pfft_header, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines-1 loop
expected_data_c_re_arr(I) <= expected_data_c_arr(2*I);
expected_data_c_im_arr(I) <= expected_data_c_arr(2*I+1);
end loop;
else
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines/c_nof_complex-1 loop
expected_data_a_re_arr(I) <= expected_data_a_arr(2*I);
......
......@@ -30,9 +30,10 @@
-- a combination of fft_r2_pipe and fft_r2_par.
-- The fft_r2_wide does support use_reorder.
-- The fft_r2_wide does support use_separate.
-- The fft_r2_wide does support nof_chan>0.
-- The fft_r2_wide does support input flow control with invalid gaps in the
-- input.
-- The fft_r2_wide only supports nof_chan=0, because the concept of channels
-- is void when wb_factor > 0.
--
-- For more description see tb_fft_r2_pipe.vhd.
--
......@@ -144,7 +145,7 @@ architecture tb of tb_fft_r2_wide is
constant c_use_fft_shift : boolean := false;
constant c_fft_r2_check : boolean := fft_r2_parameter_asserts(g_fft, c_use_fft_shift);
constant c_nof_channels : natural := 1;
constant c_nof_channels : natural := 1; -- fixed g_fft.nof_chan=0, because the concept of channels is void when wb_factor > 1
constant c_nof_data_per_block : natural := g_fft.nof_points * c_nof_channels;
constant c_nof_valid_per_block : natural := c_nof_data_per_block / g_fft.wb_factor;
......@@ -156,19 +157,20 @@ architecture tb of tb_fft_r2_wide is
constant c_in_dat_w : natural := g_fft.in_dat_w;
constant c_out_dat_w : natural := g_fft.out_dat_w;
-- Data file access
-- Data file access (Header + WG data + PFFT data)
constant c_nof_lines_header : natural := 2;
constant c_nof_lines_a_wg_dat : natural := g_data_file_a_nof_lines; -- Real input A via in_re, one value per line
constant c_nof_lines_a_wg_header : natural := c_nof_lines_header;
constant c_nof_lines_a_pfft_dat : natural := g_data_file_a_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_a_header_wg : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_a_pfft_header : natural := c_nof_lines_header + c_nof_lines_a_wg_dat;
constant c_nof_lines_b_wg_dat : natural := g_data_file_b_nof_lines; -- Real input B via in_im, one value per line
constant c_nof_lines_b_wg_header : natural := c_nof_lines_header;
constant c_nof_lines_b_pfft_dat : natural := g_data_file_b_nof_lines/c_nof_complex; -- Half spectrum, two values per line (re, im)
constant c_nof_lines_b_header_wg : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_b_pfft_header : natural := c_nof_lines_header + c_nof_lines_b_wg_dat;
constant c_nof_lines_c_wg_dat : natural := g_data_file_c_nof_lines; -- Complex input, two values per line (re, im)
constant c_nof_lines_c_wg_header : natural := c_nof_lines_header;
constant c_nof_lines_c_pfft_dat : natural := g_data_file_c_nof_lines; -- Full spectrum, two values per line (re, im)
constant c_nof_lines_c_header_wg : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
constant c_gap_factor : natural := sel_a_b(g_enable_in_val_gaps, 3, 1);
constant c_nof_lines_c_pfft_header : natural := c_nof_lines_header + c_nof_lines_c_wg_dat;
-- signal definitions
signal tb_end : std_logic := '0';
......@@ -280,10 +282,10 @@ begin
begin
-- read input data from file
if c_in_complex then
proc_common_read_integer_file(g_data_file_c, c_nof_lines_header, g_data_file_nof_lines, c_nof_complex, input_data_c_arr);
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_wg_header, g_data_file_nof_lines, c_nof_complex, input_data_c_arr);
else
proc_common_read_integer_file(g_data_file_a, c_nof_lines_header, g_data_file_nof_lines, 1, input_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_header, g_data_file_nof_lines, 1, input_data_b_arr);
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_wg_header, g_data_file_nof_lines, 1, input_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_wg_header, g_data_file_nof_lines, 1, input_data_b_arr);
end if;
wait for 1 ns;
in_re_arr <= (others=>(others=>'0'));
......@@ -423,15 +425,15 @@ begin
p_expected_output : process
begin
if c_in_complex then
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_header_wg, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
proc_common_read_integer_file(g_data_file_c, c_nof_lines_c_pfft_header, g_data_file_nof_lines, c_nof_complex, expected_data_c_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines-1 loop
expected_data_c_re_arr(I) <= expected_data_c_arr(2*I);
expected_data_c_im_arr(I) <= expected_data_c_arr(2*I+1);
end loop;
else
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_header_wg, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
proc_common_read_integer_file(g_data_file_a, c_nof_lines_a_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_a_arr);
proc_common_read_integer_file(g_data_file_b, c_nof_lines_b_pfft_header, g_data_file_nof_lines/c_nof_complex, c_nof_complex, expected_data_b_arr);
wait for 1 ns;
for I in 0 to g_data_file_nof_lines/c_nof_complex-1 loop
expected_data_a_re_arr(I) <= expected_data_a_arr(2*I);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment