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