]> jspc29.x-matter.uni-frankfurt.de Git - dirich.git/commitdiff
Add override option for Link control signals in combiner
authorJan Michel <j.michel@gsi.de>
Tue, 18 Jul 2017 16:41:56 +0000 (18:41 +0200)
committerJan Michel <j.michel@gsi.de>
Tue, 18 Jul 2017 16:44:30 +0000 (18:44 +0200)
combiner/combiner.vhd

index e06a4b13fcb88e0130d2eb6f46ec4cb824a4c748..872fceb1d2041ca54add42e5d06503193b0782a7 100644 (file)
@@ -144,7 +144,9 @@ architecture arch of combiner is
   signal med_stat_op          : std_logic_vector (INTERFACE_NUM*16-1 downto 0);
   signal med_ctrl_op          : std_logic_vector (INTERFACE_NUM*16-1 downto 0);
   signal rdack, wrack         : std_logic;  
-  
+  signal back_master_ready_i  : std_logic_vector(12 downto 1);
+  signal back_slave_ready_i   : std_logic_vector(12 downto 1);
+  signal master_ready_override_i : std_logic_vector(12 downto 1);
   
 begin
 
@@ -241,18 +243,18 @@ THE_MEDIA_4_DOWN_A : entity work.med_ecp3_sfp_sync_4
     TX_DLM_WORD        => open,
     
     --SFP Connection
-    SD_PRSNT_N_IN(0)  => BACK_SLAVE_READY(7),
-    SD_PRSNT_N_IN(1)  => BACK_SLAVE_READY(8),
-    SD_PRSNT_N_IN(2)  => BACK_SLAVE_READY(11),
-    SD_PRSNT_N_IN(3)  => BACK_SLAVE_READY(12),
-    SD_LOS_IN(0)      => BACK_SLAVE_READY(7),
-    SD_LOS_IN(1)      => BACK_SLAVE_READY(8),
-    SD_LOS_IN(2)      => BACK_SLAVE_READY(11),
-    SD_LOS_IN(3)      => BACK_SLAVE_READY(12),
-    SD_TXDIS_OUT(0)   => BACK_MASTER_READY(7),
-    SD_TXDIS_OUT(1)   => BACK_MASTER_READY(8),
-    SD_TXDIS_OUT(2)   => BACK_MASTER_READY(11),
-    SD_TXDIS_OUT(3)   => BACK_MASTER_READY(12),
+    SD_PRSNT_N_IN(0)  => back_slave_ready_i(7),
+    SD_PRSNT_N_IN(1)  => back_slave_ready_i(8),
+    SD_PRSNT_N_IN(2)  => back_slave_ready_i(11),
+    SD_PRSNT_N_IN(3)  => back_slave_ready_i(12),
+    SD_LOS_IN(0)      => back_slave_ready_i(7),
+    SD_LOS_IN(1)      => back_slave_ready_i(8),
+    SD_LOS_IN(2)      => back_slave_ready_i(11),
+    SD_LOS_IN(3)      => back_slave_ready_i(12),
+    SD_TXDIS_OUT(0)   => back_master_ready_i(7),
+    SD_TXDIS_OUT(1)   => back_master_ready_i(8),
+    SD_TXDIS_OUT(2)   => back_master_ready_i(11),
+    SD_TXDIS_OUT(3)   => back_master_ready_i(12),
     
     --Control Interface
     BUS_RX             => bussci_rx(0),
@@ -293,18 +295,18 @@ THE_MEDIA_4_DOWN_B : entity work.med_ecp3_sfp_sync_4
     TX_DLM_WORD        => open,
     
     --SFP Connection
-    SD_PRSNT_N_IN(0)  => BACK_SLAVE_READY(9),
-    SD_PRSNT_N_IN(1)  => BACK_SLAVE_READY(10),
-    SD_PRSNT_N_IN(2)  => BACK_SLAVE_READY(3),
-    SD_PRSNT_N_IN(3)  => BACK_SLAVE_READY(4),
-    SD_LOS_IN(0)      => BACK_SLAVE_READY(9),
-    SD_LOS_IN(1)      => BACK_SLAVE_READY(10),
-    SD_LOS_IN(2)      => BACK_SLAVE_READY(3),
-    SD_LOS_IN(3)      => BACK_SLAVE_READY(4),
-    SD_TXDIS_OUT(0)   => BACK_MASTER_READY(9),
-    SD_TXDIS_OUT(1)   => BACK_MASTER_READY(10),
-    SD_TXDIS_OUT(2)   => BACK_MASTER_READY(3),
-    SD_TXDIS_OUT(3)   => BACK_MASTER_READY(4),
+    SD_PRSNT_N_IN(0)  => back_slave_ready_i(9),
+    SD_PRSNT_N_IN(1)  => back_slave_ready_i(10),
+    SD_PRSNT_N_IN(2)  => back_slave_ready_i(3),
+    SD_PRSNT_N_IN(3)  => back_slave_ready_i(4),
+    SD_LOS_IN(0)      => back_slave_ready_i(9),
+    SD_LOS_IN(1)      => back_slave_ready_i(10),
+    SD_LOS_IN(2)      => back_slave_ready_i(3),
+    SD_LOS_IN(3)      => back_slave_ready_i(4),
+    SD_TXDIS_OUT(0)   => back_master_ready_i(9),
+    SD_TXDIS_OUT(1)   => back_master_ready_i(10),
+    SD_TXDIS_OUT(2)   => back_master_ready_i(3),
+    SD_TXDIS_OUT(3)   => back_master_ready_i(4),
     
     --Control Interface
     BUS_RX             => bussci_rx(1),
@@ -345,18 +347,18 @@ THE_MEDIA_4_DOWN_D : entity work.med_ecp3_sfp_sync_4
     TX_DLM_WORD        => open,
     
     --SFP Connection
-    SD_PRSNT_N_IN(0)  => BACK_SLAVE_READY(6),
-    SD_PRSNT_N_IN(1)  => BACK_SLAVE_READY(5),
-    SD_PRSNT_N_IN(2)  => BACK_SLAVE_READY(2),
-    SD_PRSNT_N_IN(3)  => BACK_SLAVE_READY(1),
-    SD_LOS_IN(0)      => BACK_SLAVE_READY(6),
-    SD_LOS_IN(1)      => BACK_SLAVE_READY(5),
-    SD_LOS_IN(2)      => BACK_SLAVE_READY(2),
-    SD_LOS_IN(3)      => BACK_SLAVE_READY(1),
-    SD_TXDIS_OUT(0)   => BACK_MASTER_READY(6),
-    SD_TXDIS_OUT(1)   => BACK_MASTER_READY(5),
-    SD_TXDIS_OUT(2)   => BACK_MASTER_READY(2),
-    SD_TXDIS_OUT(3)   => BACK_MASTER_READY(1),
+    SD_PRSNT_N_IN(0)  => back_slave_ready_i(6),
+    SD_PRSNT_N_IN(1)  => back_slave_ready_i(5),
+    SD_PRSNT_N_IN(2)  => back_slave_ready_i(2),
+    SD_PRSNT_N_IN(3)  => back_slave_ready_i(1),
+    SD_LOS_IN(0)      => back_slave_ready_i(6),
+    SD_LOS_IN(1)      => back_slave_ready_i(5),
+    SD_LOS_IN(2)      => back_slave_ready_i(2),
+    SD_LOS_IN(3)      => back_slave_ready_i(1),
+    SD_TXDIS_OUT(0)   => back_master_ready_i(6),
+    SD_TXDIS_OUT(1)   => back_master_ready_i(5),
+    SD_TXDIS_OUT(2)   => back_master_ready_i(2),
+    SD_TXDIS_OUT(3)   => back_master_ready_i(1),
     
     --Control Interface
     BUS_RX             => bussci_rx(3),
@@ -366,6 +368,10 @@ THE_MEDIA_4_DOWN_D : entity work.med_ecp3_sfp_sync_4
     STAT_DEBUG         => open, --med_stat_debug(63 downto 0),
     CTRL_DEBUG         => open
   );   
+
+  
+BACK_MASTER_READY <= back_master_ready_i or master_ready_override_i;
+back_slave_ready_i <= BACK_SLAVE_READY;
   
 ---------------------------------------------------------------------------
 -- Hub
@@ -511,6 +517,7 @@ end generate;
       HEADER_IO   => header_io,
       ADDITIONAL_REG(0)           => led_off_i,
       ADDITIONAL_REG(2 downto 1)  => trigger_select_i,
+      ADDITIONAL_REG(15 downto 4) => master_ready_override_i,
       ADDITIONAL_REG(27 downto 16)=> enable_ldo_i,
       --LCD
       LCD_DATA_IN => lcd_data,