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

Added more checks in fft_r2_parameter_asserts().

parent 87708450
No related branches found
No related tags found
No related merge requests found
......@@ -47,7 +47,7 @@ package fft_pkg is
constant c_fft : t_fft := (true, false, true, 0, 4, 0, 1024, 8, 14, 0, c_dsp_mult_w, 2, true, 56, 2);
-- Check consistancy of the FFT parameters
function fft_r2_parameter_asserts(g_fft : t_fft) return boolean; -- the return value is void
function fft_r2_parameter_asserts(g_fft : t_fft) return boolean; -- the return value is void, because always true or abort due to failure
-- Definitions for fft slv array (an array can not have unconstraint elements, so choose sufficiently wide 32 bit slv elements)
subtype t_fft_slv_arr is t_slv_32_arr; -- use subtype to ease interfacing to existing types and to have central definition for rtwo components
......@@ -68,6 +68,16 @@ package body fft_pkg is
begin
-- nof_points
assert g_fft.nof_points=2**ceil_log2(g_fft.nof_points) report "fft_r2: nof_points must be a power of 2" severity failure;
-- wb_factor
assert g_fft.wb_factor=2**ceil_log2(g_fft.wb_factor) report "fft_r2: wb_factor must be a power of 2" severity failure;
-- nof_chan
if g_fft.nof_chan>0 then
assert g_fft.wb_factor=1 report "fft_r2: nof_chan > 0 is only supported for wb_factor = 1" severity failure;
end if;
-- use_fft_shift
if g_fft.use_fft_shift=true then
assert g_fft.wb_factor=1 report "fft_r2 : use_fft_shift for complex input is only supported for wb_factor=1" severity failure;
end if;
-- use_reorder
if g_fft.use_reorder=false then
assert g_fft.use_separate=false report "fft_r2 : without use_reorder there cannot be use_separate for two real inputs" severity failure;
......@@ -75,7 +85,7 @@ package body fft_pkg is
end if;
-- use_separate
if g_fft.use_separate=true then
assert g_fft.use_fft_shift=false report "fft_r2 : with use_separate there cannot be use_fft_shift for real input" severity failure;
assert g_fft.use_fft_shift=false report "fft_r2 : with use_separate there cannot be use_fft_shift for two real inputs" severity failure;
end if;
return true;
end;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment