From 77cd752e7ff12ff540e0fa95da51f3c6743cccd8 Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Tue, 19 Jan 2021 08:11:42 +0100
Subject: [PATCH] Corrected use of SHIFT_SVEC(), by first resizing to output
 word width.

---
 applications/lofar1/pfb2/src/vhdl/pfb2.vhd | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/applications/lofar1/pfb2/src/vhdl/pfb2.vhd b/applications/lofar1/pfb2/src/vhdl/pfb2.vhd
index 248c6324f8..54ce610ba7 100644
--- a/applications/lofar1/pfb2/src/vhdl/pfb2.vhd
+++ b/applications/lofar1/pfb2/src/vhdl/pfb2.vhd
@@ -69,7 +69,6 @@ ARCHITECTURE str OF pfb2 IS
   SIGNAL pfs_in_dat_y       : STD_LOGIC_VECTOR(g_pfs_in_dat_w-1 DOWNTO 0);
   SIGNAL pfs_in_val         : STD_LOGIC;
   SIGNAL pfs_in_sync        : STD_LOGIC;
-    
   SIGNAL fil_out_dat_x      : STD_LOGIC_VECTOR(g_pfs_out_dat_w-1 DOWNTO 0);
   SIGNAL fil_out_dat_y      : STD_LOGIC_VECTOR(g_pfs_out_dat_w-1 DOWNTO 0);
   SIGNAL fil_out_val        : STD_LOGIC;
@@ -113,8 +112,8 @@ BEGIN
   END GENERATE;
   
   no_pfs : IF g_pfs_bypass=TRUE GENERATE
-    fil_out_dat_x <= SHIFT_SVEC(pfs_in_dat_x, g_pfs_in_dat_w - g_pfs_out_dat_w);  -- < 0 is shift left, > 0 is shift right
-    fil_out_dat_y <= SHIFT_SVEC(pfs_in_dat_y, g_pfs_in_dat_w - g_pfs_out_dat_w);  -- < 0 is shift left, > 0 is shift right
+    fil_out_dat_x <= SHIFT_SVEC(RESIZE_SVEC(pfs_in_dat_x, g_pfs_out_dat_w), g_pfs_in_dat_w - g_pfs_out_dat_w);  -- < 0 is shift left, > 0 is shift right
+    fil_out_dat_y <= SHIFT_SVEC(RESIZE_SVEC(pfs_in_dat_y, g_pfs_out_dat_w), g_pfs_in_dat_w - g_pfs_out_dat_w);  -- < 0 is shift left, > 0 is shift right
     fil_out_val   <= pfs_in_val;
     fil_out_sync  <= pfs_in_sync;
   END GENERATE;
-- 
GitLab