]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
direct port for internal SCTRL added
authorMichael Boehmer <mboehmer@ph.tum.de>
Wed, 20 Jul 2022 09:49:28 +0000 (11:49 +0200)
committerMichael Boehmer <mboehmer@ph.tum.de>
Wed, 20 Jul 2022 09:49:28 +0000 (11:49 +0200)
gbe_trb_ecp3/base/gbe_med_fifo.vhd

index bec81637f002cd0126100f227599251cbf597ba4..23afea00dee4e7687092593c5e6584555813573b 100644 (file)
@@ -11,7 +11,8 @@ use work.med_sync_define_RS.all;
 
 entity gbe_med_fifo is
   generic(
-    LINKS_ACTIVE          : std_logic_vector(3 downto 0) := "1111"
+    LINKS_ACTIVE          : std_logic_vector(3 downto 0) := "1111";
+    SNIFFER_PORT          : integer range 0 to 3         := 0
   );
   port(
     RESET                 : in  std_logic;
@@ -36,13 +37,20 @@ entity gbe_med_fifo is
     SD_PRSNT_N_IN         : in  std_logic_vector(3 downto 0)          := (others => '1');
     SD_LOS_IN             : in  std_logic_vector(3 downto 0)          := (others => '1');
     SD_TXDIS_OUT          : out std_logic_vector(3 downto 0);
+    -- internal sniffer port
+    MAC_RX_DATA_OUT       : out std_logic_vector(7 downto 0);
+    MAC_RX_WRITE_OUT      : out std_logic;
+    MAC_RX_EOF_OUT        : out std_logic;
+    MAC_RX_ERROR_OUT      : out std_logic;
     -- SerDes control
     TX_PLOL_LOL_OUT       : out std_logic;
     TX_PCS_RST_IN         : in  std_logic;
     RX_LINK_READY_OUT     : out std_logic_vector(3 downto 0);
     TX_LINK_READY_IN      : in  std_logic;
+    -- Status
     PCS_AN_READY_OUT      : out std_logic_vector(3 downto 0); -- for internal SCTRL
     LINK_ACTIVE_OUT       : out std_logic_vector(3 downto 0); -- for internal SCTRL
+    TICK_MS_IN            : in  std_logic;
     -- Debug
     STATUS_OUT            : out std_logic_vector(4 * 8 - 1 downto 0);
     DEBUG_OUT             : out std_logic_vector(63 downto 0)
@@ -244,7 +252,7 @@ architecture gbe_med_fifo_arch of gbe_med_fifo is
 --  attribute BBOX   of ddmtd_arch : architecture is "2,2";
 
 begin
-  
+
   gbe_serdes: entity serdes_gbe_4ch_ds
   port map(
     -- CH0 --
@@ -680,6 +688,12 @@ begin
     
   end generate CHANNEL_GEN;
 
+  MAC_RX_DATA_OUT  <= mac_rx_data((SNIFFER_PORT + 1) * 8 - 1 downto SNIFFER_PORT * 8);
+  MAC_RX_WRITE_OUT <= mac_rx_wr(SNIFFER_PORT);
+  MAC_RX_EOF_OUT   <= mac_rx_eof(SNIFFER_PORT);
+  MAC_RX_ERROR_OUT <= mac_rx_err(SNIFFER_PORT);
+
+  
   THE_LED_TIMER_PROC: process( CLK_125 )
   begin
     if( rising_edge(CLK_125) ) then