From 907763dc1f66a55b106c3f5f7734844360b1c788 Mon Sep 17 00:00:00 2001
From: "joachim.schmidt" <joachim.schmidt@hesge.ch>
Date: Fri, 10 Sep 2021 10:05:08 +0200
Subject: [PATCH] Update scalp_aurora_phy

---
 .../src/hdl/scalp_aurora_phy.vhd              | 92 ++-----------------
 1 file changed, 8 insertions(+), 84 deletions(-)

diff --git a/ips/hw/scalp_aurora_phy/src/hdl/scalp_aurora_phy.vhd b/ips/hw/scalp_aurora_phy/src/hdl/scalp_aurora_phy.vhd
index 064050f..7163313 100644
--- a/ips/hw/scalp_aurora_phy/src/hdl/scalp_aurora_phy.vhd
+++ b/ips/hw/scalp_aurora_phy/src/hdl/scalp_aurora_phy.vhd
@@ -15,7 +15,7 @@
 -- Tool version: 2020.2
 -- Description: scalp_aurora_phy
 --
--- Last update: 2021-05-19
+-- Last update: 2021-09-07
 --
 ---------------------------------------------------------------------------------
 
@@ -39,7 +39,8 @@ entity scalp_aurora_phy is
     generic (
         C_DEBUG_MODE                 : boolean := false;
         C_RX_FIFO_MODE               : boolean := true;
-        C_RX_FIFO_RST_DONE_DLY_TICKS : integer := 100);
+        C_RX_FIFO_RST_DONE_DLY_TICKS : integer := 100;
+        C_RX_FIFO_CTRL_TLAST         : boolean := true);
 
     port (
         -- Clocks
@@ -223,65 +224,9 @@ architecture arch of scalp_aurora_phy is
     signal WestFifoTXS2MxD          : t_axi4s2m                                     := C_NO_AXI4_S2M;
 
     -- Attributes
-    attribute mark_debug                : string;
-    attribute keep                      : string;
+    attribute mark_debug : string;
+    attribute keep       : string;
     --
-    -- attribute mark_debug of RXFifoResetDonexD        : signal is "true";
-    -- attribute keep of RXFifoResetDonexD              : signal is "true";
-    -- attribute mark_debug of RXFifoResetDoneDelayedxD : signal is "true";
-    -- attribute keep of RXFifoResetDoneDelayedxD       : signal is "true";
-    -- North
-    -- attribute mark_debug of NorthTXM2SxD : signal is "true";
-    -- attribute keep of NorthTXM2SxD       : signal is "true";
-    -- attribute mark_debug of NorthTXS2MxD : signal is "true";
-    -- attribute keep of NorthTXS2MxD       : signal is "true";
-    -- attribute mark_debug of NorthRXM2SxD : signal is "true";
-    -- attribute keep of NorthRXM2SxD       : signal is "true";
-    -- attribute mark_debug of NorthTXNFCM2SxD          : signal is "true";
-    -- attribute keep of NorthTXNFCM2SxD                : signal is "true";
-    -- attribute mark_debug of NorthTXNFCS2MxD          : signal is "true";
-    -- attribute keep of NorthTXNFCS2MxD                : signal is "true";
-    -- attribute mark_debug of NorthRXNFCM2SxD          : signal is "true";
-    -- attribute keep of NorthRXNFCM2SxD                : signal is "true";
-    -- East
-    -- attribute mark_debug of EastTXM2SxD : signal is "true";
-    -- attribute keep of EastTXM2SxD       : signal is "true";
-    -- attribute mark_debug of EastTXS2MxD : signal is "true";
-    -- attribute keep of EastTXS2MxD       : signal is "true";
-    -- attribute mark_debug of EastRXM2SxD : signal is "true";
-    -- attribute keep of EastRXM2SxD       : signal is "true";
-    -- attribute mark_debug of EastTXNFCM2SxD           : signal is "true";
-    -- attribute keep of EastTXNFCM2SxD                 : signal is "true";
-    -- attribute mark_debug of EastTXNFCS2MxD           : signal is "true";
-    -- attribute keep of EastTXNFCS2MxD                 : signal is "true";
-    -- attribute mark_debug of EastRXNFCM2SxD           : signal is "true";
-    -- attribute keep of EastRXNFCM2SxD                 : signal is "true";
-    -- South
-    -- attribute mark_debug of SouthTXM2SxD : signal is "true";
-    -- attribute keep of SouthTXM2SxD       : signal is "true";
-    -- attribute mark_debug of SouthTXS2MxD : signal is "true";
-    -- attribute keep of SouthTXS2MxD       : signal is "true";
-    -- attribute mark_debug of SouthRXM2SxD : signal is "true";
-    -- attribute keep of SouthRXM2SxD       : signal is "true";
-    -- attribute mark_debug of SouthTXNFCM2SxD          : signal is "true";
-    -- attribute keep of SouthTXNFCM2SxD                : signal is "true";
-    -- attribute mark_debug of SouthTXNFCS2MxD          : signal is "true";
-    -- attribute keep of SouthTXNFCS2MxD                : signal is "true";
-    -- attribute mark_debug of SouthRXNFCM2SxD          : signal is "true";
-    -- attribute keep of SouthRXNFCM2SxD                : signal is "true";
-    -- West
-    -- attribute mark_debug of WestTXM2SxD : signal is "true";
-    -- attribute keep of WestTXM2SxD       : signal is "true";
-    -- attribute mark_debug of WestTXS2MxD : signal is "true";
-    -- attribute keep of WestTXS2MxD       : signal is "true";
-    attribute mark_debug of WestRXM2SxD : signal is "true";
-    attribute keep of WestRXM2SxD       : signal is "true";
-    -- attribute mark_debug of WestTXNFCM2SxD           : signal is "true";
-    -- attribute keep of WestTXNFCM2SxD                 : signal is "true";
-    -- attribute mark_debug of WestTXNFCS2MxD           : signal is "true";
-    -- attribute keep of WestTXNFCS2MxD                 : signal is "true";
-    -- attribute mark_debug of WestRXNFCM2SxD           : signal is "true";
-    -- attribute keep of WestRXNFCM2SxD                 : signal is "true";
 
 begin
 
@@ -593,6 +538,9 @@ begin
                 WestRXFifoStatusxAS  : WestRXFifoStatusxDO  <= WestRXFifoStatusxD;
 
                 ScalpAuroraPhyRxFifoxI : entity work.scalp_aurora_phy_rx_fifo
+                    generic map (
+                        C_CTRL_TLAST => C_RX_FIFO_CTRL_TLAST)
+
                     port map (
                         -- Clocks and Reset
                         RXClkxCI           => AuroraClkOutxC.UserClkxC,
@@ -910,33 +858,9 @@ begin
                 attribute mark_debug : string;
                 attribute keep       : string;
                 -- North
-                -- attribute mark_debug of NorthNFCStatexDP  : signal is "true";
-                -- attribute keep of NorthNFCStatexDP        : signal is "true";
-                -- attribute mark_debug of NorthProgFullxSP  : signal is "true";
-                -- attribute keep of NorthProgFullxSP        : signal is "true";
-                -- attribute mark_debug of NorthProgEmptyxSP : signal is "true";
-                -- attribute keep of NorthProgEmptyxSP       : signal is "true";
                 -- East
-                -- attribute mark_debug of EastNFCStatexDP   : signal is "true";
-                -- attribute keep of EastNFCStatexDP         : signal is "true";
-                -- attribute mark_debug of EastProgFullxSP   : signal is "true";
-                -- attribute keep of EastProgFullxSP         : signal is "true";
-                -- attribute mark_debug of EastProgEmptyxSP  : signal is "true";
-                -- attribute keep of EastProgEmptyxSP        : signal is "true";
                 -- South
-                -- attribute mark_debug of SouthNFCStatexDP  : signal is "true";
-                -- attribute keep of SouthNFCStatexDP        : signal is "true";
-                -- attribute mark_debug of SouthProgFullxSP  : signal is "true";
-                -- attribute keep of SouthProgFullxSP        : signal is "true";
-                -- attribute mark_debug of SouthProgEmptyxSP : signal is "true";
-                -- attribute keep of SouthProgEmptyxSP       : signal is "true";
                 -- West
-                -- attribute mark_debug of WestNFCStatexDP   : signal is "true";
-                -- attribute keep of WestNFCStatexDP         : signal is "true";
-                -- attribute mark_debug of WestProgFullxSP   : signal is "true";
-                -- attribute keep of WestProgFullxSP         : signal is "true";
-                -- attribute mark_debug of WestProgEmptyxSP  : signal is "true";
-                -- attribute keep of WestProgEmptyxSP        : signal is "true";
 
             begin  -- block RXBackPressurexB
 
-- 
GitLab