From 5b8998242290251c96e0936163aa900482c470f7 Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Tue, 29 Jan 2019 14:46:06 +0000 Subject: [PATCH] Added remark on status of this component and alternative component. --- libraries/base/dp/src/vhdl/dp_deinterleave.vhd | 7 +++++++ libraries/base/dp/src/vhdl/dp_folder.vhd | 6 ++++++ libraries/base/dp/src/vhdl/dp_unfolder.vhd | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/libraries/base/dp/src/vhdl/dp_deinterleave.vhd b/libraries/base/dp/src/vhdl/dp_deinterleave.vhd index baf896a249..750c3e3138 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 c1248ec565..7dc4310594 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 b03cb5bba5..12c8f77283 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 ( -- GitLab