diff --git a/libraries/base/dp/src/vhdl/dp_deinterleave.vhd b/libraries/base/dp/src/vhdl/dp_deinterleave.vhd index baf896a249ee69dc41a358bbdbaa85f56d97ea72..750c3e3138db7d1abddbe66355a9cd425a8e6c74 100644 --- a/libraries/base/dp/src/vhdl/dp_deinterleave.vhd +++ b/libraries/base/dp/src/vhdl/dp_deinterleave.vhd @@ -31,6 +31,13 @@ USE work.dp_stream_pkg.ALL; -- . Deinterleave the input into g_nof_out outputs, outputting g_block_size_int words before switching to next output. -- Description: -- . DP wrapper for common_deinterleave +-- +-- Status (erko): +-- . Obselete, do not use in new designs. Instead use: +-- - dp_deinterleave_one_to_n.vhd for 1 to N, preserves all sosi fields +-- - dp_unfolder.vhd for 1 to power of 2, but only preserves the valid +-- . The tb_tb_dp_deinterleave_interleave_to_one.vhd shows that dp_deinterleave.vhd fails if the +-- snk_in.valid is random. ENTITY dp_deinterleave IS GENERIC ( diff --git a/libraries/base/dp/src/vhdl/dp_folder.vhd b/libraries/base/dp/src/vhdl/dp_folder.vhd index c1248ec565b03b71590bec6068a6e9320b7fb9d0..7dc43105941414691e4adbc8f0163b52b6f1e3cc 100644 --- a/libraries/base/dp/src/vhdl/dp_folder.vhd +++ b/libraries/base/dp/src/vhdl/dp_folder.vhd @@ -43,6 +43,12 @@ USE dp_lib.dp_stream_pkg.ALL; -- . g_nof_inputs=10, g_nof_folds=4 -> nof_outputs= 1 -- . g_nof_inputs=10, g_nof_folds<0 -> nof_outputs= 1 -- . This entity recursively instantiates (registered) stages of itself when folding streams multiple times. +-- +-- Remark: +-- . Use dp_deinterleave_n_to_one.vhd when: +-- - for 1 to N, so any N >= 1 (so not only powers of 2) +-- - when all sosi fields need to be preserved (so not only the valid) +-- - if flow control is needed ENTITY dp_folder IS GENERIC ( diff --git a/libraries/base/dp/src/vhdl/dp_unfolder.vhd b/libraries/base/dp/src/vhdl/dp_unfolder.vhd index b03cb5bba577f6453fb42bf452d5f44877c9984d..12c8f772836f463ab1ae9d02875a23c3365ee46c 100644 --- a/libraries/base/dp/src/vhdl/dp_unfolder.vhd +++ b/libraries/base/dp/src/vhdl/dp_unfolder.vhd @@ -31,6 +31,11 @@ USE dp_lib.dp_stream_pkg.ALL; -- . Unfold n input streams into n*2, n*2*2, n*2*2*2, .. output streams -- Description: -- . Reversed operation of dp_folder. +-- Remark: +-- . Use dp_deinterleave_one_to_n.vhd when: +-- - for 1 to N, so any N >= 1 (so not only powers of 2) +-- - when all sosi fields need to be preserved (so not only the valid) +-- - if flow control is needed ENTITY dp_unfolder IS GENERIC (