From d64bde36cc74e0bbe0e3518c2a7b0a110398ba18 Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Tue, 19 Jan 2021 08:16:35 +0100
Subject: [PATCH] Added g_pfs_bypass option as generic.

---
 .../lofar1/pfb2/src/vhdl/pfb2_unit.vhd        | 42 ++++++++++---------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/applications/lofar1/pfb2/src/vhdl/pfb2_unit.vhd b/applications/lofar1/pfb2/src/vhdl/pfb2_unit.vhd
index c51c6277e8..be145f288f 100644
--- a/applications/lofar1/pfb2/src/vhdl/pfb2_unit.vhd
+++ b/applications/lofar1/pfb2/src/vhdl/pfb2_unit.vhd
@@ -37,23 +37,25 @@ USE pft2_lib.pft_pkg.ALL;
 
 ENTITY pfb2_unit IS
   GENERIC (
-    g_nof_streams    : NATURAL := 1;    -- number of pfb2 instances, 1 pfb2 per stream
-    g_nof_points     : NATURAL := 1024;
+    g_nof_streams     : NATURAL := 1;    -- number of pfb2 instances, 1 pfb2 per stream
+    g_nof_points      : NATURAL := 1024;
 
     -- pfs
-    g_pfs_nof_taps   : NATURAL := 16;
-    g_pfs_in_dat_w   : NATURAL := 12;
-    g_pfs_out_dat_w  : NATURAL := 18;
-    g_pfs_coef_dat_w : NATURAL := 16;
+    g_pfs_bypass      : BOOLEAN := FALSE;
+    g_pfs_nof_taps    : NATURAL := 16;
+    g_pfs_in_dat_w    : NATURAL := 12;
+    g_pfs_out_dat_w   : NATURAL := 18;
+    g_pfs_coef_dat_w  : NATURAL := 16;
   
     -- pft2
-    g_pft_mode       : PFT_MODE_TYPE := PFT_MODE_REAL2;
-    g_pft_switch_en  : STD_LOGIC := '1';
-    g_pft_out_dat_w  : NATURAL := 18;
+    g_pft_mode        : PFT_MODE_TYPE := PFT_MODE_REAL2;
+    g_pft_switch_en   : STD_LOGIC := '1';
+    g_pft_stage_dat_w : NATURAL := c_pft_stage_dat_w;  -- c_pft_stage_dat_w = 20 in pft_pkg.vhd
+    g_pft_out_dat_w   : NATURAL := 18;
     
     -- sst
-    g_sst_data_w     : NATURAL := 64;   -- nof bits for the SST power values
-    g_sst_data_sz    : NATURAL := 2     -- nof MM 32b words to fit g_sst_data_w
+    g_sst_data_w      : NATURAL := 64;   -- nof bits for the SST power values
+    g_sst_data_sz     : NATURAL := 2     -- nof MM 32b words to fit g_sst_data_w
   );
   PORT (
     dp_rst           : IN  STD_LOGIC;
@@ -85,18 +87,20 @@ BEGIN
   gen_pfb2: FOR I IN 0 TO g_nof_streams-1 GENERATE
     u_pfb2 : ENTITY work.pfb2
     GENERIC MAP (
-      g_nof_points     => g_nof_points,
+      g_nof_points      => g_nof_points,
   
       -- pfs
-      g_pfs_nof_taps   => g_pfs_nof_taps,
-      g_pfs_in_dat_w   => g_pfs_in_dat_w,
-      g_pfs_out_dat_w  => g_pfs_out_dat_w,
-      g_pfs_coef_dat_w => g_pfs_coef_dat_w,
+      g_pfs_bypass      => g_pfs_bypass,
+      g_pfs_nof_taps    => g_pfs_nof_taps,
+      g_pfs_in_dat_w    => g_pfs_in_dat_w,
+      g_pfs_out_dat_w   => g_pfs_out_dat_w,
+      g_pfs_coef_dat_w  => g_pfs_coef_dat_w,
     
       -- pft2
-      g_pft_mode       => g_pft_mode,
-      g_pft_switch_en  => g_pft_switch_en,
-      g_pft_out_dat_w  => g_pft_out_dat_w
+      g_pft_mode        => g_pft_mode,
+      g_pft_switch_en   => g_pft_switch_en,
+      g_pft_stage_dat_w => g_pft_stage_dat_w,
+      g_pft_out_dat_w   => g_pft_out_dat_w
     )
     PORT MAP (
       dp_rst        => dp_rst,
-- 
GitLab