]> jspc29.x-matter.uni-frankfurt.de Git - trb3sc.git/commitdiff
first compiling version of CTS
authorMichael Boehmer <mboehmer@ph.tum.de>
Fri, 26 Nov 2021 20:23:33 +0000 (21:23 +0100)
committerMichael Boehmer <mboehmer@ph.tum.de>
Fri, 26 Nov 2021 20:23:33 +0000 (21:23 +0100)
cts/trb3sc_cts.prj
cts/trb3sc_cts.vhd

index 33eaea24b6723482777b48ea886da1ca58d066f1..08d4f6c8b08090c157b663aaf9b894091a9cb359 100644 (file)
@@ -133,17 +133,11 @@ add_file -vhdl -lib work "../../trbnet/trb_net16_addresses.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/med_sync_define_RS.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/rx_control_RS.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/tx_control_RS.vhd"
-add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/rx_reset_fsm_RS.vhd"
-add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/tx_reset_fsm_RS.vhd"
+add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/main_rx_reset_RS.vhd"
+add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/main_tx_reset_RS.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/sci_reader_RS.vhd"
+add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/rx_lsm_RS.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/med_sync_control_RS.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp3_sfp/serdes_sync_0.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp3_sfp/serdes_sync_3.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp3_sfp/serdes_sync_4.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp3_sfp/serdes_sync_4_slave3.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/med_ecp3_sfp_sync_RS.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/med_ecp3_sfp_sync_4.vhd"
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/med_ecp3_sfp_sync_4_slave3.vhd"
 
 add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp3_sfp/serdes_sync_all_RS.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/med_ecp3_sfp_sync_all_RS.vhd"
index b32bbaf01f02d296f50c0f14adeec89ead14e514..74693694c8753c040a1153b2d1b1d2edf85dd10f 100644 (file)
@@ -11,7 +11,7 @@ use work.trb3_components.all;
 use work.trb_net16_hub_func.all;
 use work.version.all;
 use work.trb_net_gbe_components.all;
-use work.med_sync_define.all;
+use work.med_sync_define_RS.all;
 use work.cts_pkg.all;
 
 entity trb3sc_cts is
@@ -231,6 +231,15 @@ architecture trb3sc_arch of trb3sc_cts is
   
   signal destroy_link_i              : std_logic;
   
+  signal tx_pll_lol_qd_b_i           : std_logic;
+  signal rst_qd_c_i                  : std_logic;
+  signal tx_pcs_rst_ch_c_i           : std_logic;
+  signal sync_tx_quad_i              : std_logic;
+  signal link_tx_ready_i             : std_logic;
+  signal tx_reset_i                  : std_logic;
+
+  signal debug_i                     : std_logic_vector(31 downto 0);
+
 begin
 
 ---------------------------------------------------------------------------
@@ -293,84 +302,76 @@ THE_CLOCK_RESET :  entity work.clock_reset_handler
 ---------------------------------------------------------------------------   
 gen_PCSB : if USE_BACKPLANE = c_NO and USE_ADDON = c_NO generate
 
-THE_MEDIA_PCSB : entity med_ecp3_sfp_sync_all_RS
-  generic map(
-    IS_MODE            => (c_IS_UNUSED, c_IS_UNUSED, c_IS_UNUSED, c_IS_MASTER)
-  )
-  port map(
-    CLK_REF_FULL       => clk_full_osc,
-    SYSCLK             => clk_sys,
-    RESET              => reset_i,
-    CLEAR              => clear_i,
-    --Internal Connection TX/RX
-    MEDIA_MED2INT(3)   => med2int(0),
-    MEDIA_INT2MED(3)   => int2med(0),
-    --Sync operation
-    RX_DLM_OUT(2 downto 0)      => open,
-    RX_DLM_OUT(3)               => rx_dlm_i,
-    RX_DLM_WORD_OUT(2 downto 0) => open,
-    RX_DLM_WORD_OUT(3)          => open,
-    TX_DLM_IN(2 downto 0)       => (others => '0'),
-    TX_DLM_IN(3)                => tx_dlm_i,
-    TX_DLM_WORD_IN              => x"aa_aa_aa_aa",
-    WORD_SYNC_IN                => '1',
-    WORD_SYNC_OUT               => open,
-    SYNC_TX_PLL_IN              => clk_full_osc,
-    SYNC_TX_PLL_OUT             => open,
-    DESTROY_LINK_IN(2 downto 0) => (others => '0'),
-    DESTROY_LINK_IN(3)          => destroy_link_i,    
-    --SFP Connection
-    SD_PRSNT_N_IN(0)   => '1',
-    SD_LOS_IN(0)       => '1',
-    SD_TXDIS_OUT(0)    => open,
-    SD_PRSNT_N_IN(1)   => '1',
-    SD_LOS_IN(1)       => '1',
-    SD_TXDIS_OUT(1)    => open,
-    SD_PRSNT_N_IN(2)   => '1',
-    SD_LOS_IN(2)       => '1',
-    SD_TXDIS_OUT(2)    => open,
-    SD_PRSNT_N_IN(3)   => SFP_MOD0(1),
-    SD_LOS_IN(3)       => SFP_LOS(1),
-    SD_TXDIS_OUT(3)    => SFP_TX_DIS(1),
-    --Control Interface
-    BUS_RX             => bussci2_rx,
-    BUS_TX             => bussci2_tx,
-    -- Status and control port
-    STAT_DEBUG         => open,
-    CTRL_DEBUG         => open
-  );
+  THE_MEDIA_PCSB : entity med_ecp3_sfp_sync_all_RS
+    generic map(
+      SIM_MODE           => 0,
+      IS_MODE            => (c_IS_UNUSED, c_IS_UNUSED, c_IS_UNUSED, c_IS_MASTER),
+      IS_WAP_ZERO        => 1
+    )
+    port map(
+      -- Clocks and reset
+      CLK_REF_FULL       => clk_full_osc,
+      SYSCLK             => clk_sys,
+      RESET              => reset_i,
+      CLEAR              => clear_i,
+      -- Media Interface TX/RX
+      MEDIA_MED2INT(0)   => open, 
+      MEDIA_MED2INT(1)   => open,
+      MEDIA_MED2INT(2)   => open,
+      MEDIA_MED2INT(3)   => med2int(0),
+      MEDIA_INT2MED(0)   => open,
+      MEDIA_INT2MED(1)   => open,
+      MEDIA_INT2MED(2)   => open,
+      MEDIA_INT2MED(3)   => int2med(0),
+      -- Sync operation
+      RX_DLM_OUT(0)      => open,
+      RX_DLM_OUT(1)      => open,
+      RX_DLM_OUT(2)      => open,
+      RX_DLM_OUT(3)      => rx_dlm_i,
+      RX_DLM_WORD_OUT    => open,
+      TX_DLM_IN          => tx_dlm_i,
+      TX_DLM_WORD_IN     => x"aa",
+      RX_RST_OUT         => open,
+      RX_RST_WORD_OUT    => open,
+      TX_RST_IN          => '0',
+      TX_RST_WORD_IN     => x"00",
+      WORD_SYNC_IN       => '1', -- CTS MASTER
+      WORD_SYNC_OUT      => open,
+      MASTER_CLK_IN      => clk_full_osc, -- CTS MASTER
+      MASTER_CLK_OUT     => open,
+      MASTER_RESET_OUT   => open,
+      DESTROY_LINK_IN(0) => '0', 
+      DESTROY_LINK_IN(1) => '0',
+      DESTROY_LINK_IN(2) => '0',
+      DESTROY_LINK_IN(3) => destroy_link_i,
+      LINK_TX_READY_IN   => link_tx_ready_i,
+      TX_PLL_LOL_OUT     => tx_pll_lol_qd_b_i,
+      TX_RESET_OUT       => tx_reset_i, -- BUG???
+      SYNC_TX_PLL_IN     => sync_tx_quad_i,
+      RST_QUAD_IN        => rst_qd_c_i,
+      RST_TX_PCS_IN      => tx_pcs_rst_ch_c_i,
+      --SFP Connection
+      SD_PRSNT_N_IN(0)   => '1',
+      SD_LOS_IN(0)       => '1',
+      SD_TXDIS_OUT(0)    => open,
+      SD_PRSNT_N_IN(1)   => '1',
+      SD_LOS_IN(1)       => '1',
+      SD_TXDIS_OUT(1)    => open,
+      SD_PRSNT_N_IN(2)   => '1',
+      SD_LOS_IN(2)       => '1',
+      SD_TXDIS_OUT(2)    => open,
+      SD_PRSNT_N_IN(3)   => SFP_MOD0(1),
+      SD_LOS_IN(3)       => SFP_LOS(1),
+      SD_TXDIS_OUT(3)    => SFP_TX_DIS(1),
+      --Control Interface
+      BUS_RX             => bussci2_rx,
+      BUS_TX             => bussci2_tx,
+      -- Status and control port
+      STAT_DEBUG         => open,
+      CTRL_DEBUG         => open,
+      DEBUG_OUT          => debug_i
+    );
 
---  THE_MEDIA_PCSB : entity work.med_ecp3_sfp_sync_RS
---    generic map(
---      SERDES_NUM    => 3,
---      IS_SYNC_SLAVE => c_NO
---    )
---    port map(
---      CLK_REF_FULL       => clk_full_osc,
---      CLK_INTERNAL_FULL  => clk_full_osc,
---      SYSCLK             => clk_sys,
---      RESET              => reset_i,
---      CLEAR              => clear_i,
---      --Internal Connection
---      MEDIA_MED2INT      => med2int(0),
---      MEDIA_INT2MED      => int2med(0),
---      --Sync operation 
---      RX_DLM_OUT         => rx_dlm_i,
---      RX_DLM_WORD_OUT    => open,
---      TX_DLM_IN          => tx_dlm_i,
---      TX_DLM_WORD_IN     => x"aa",
---      DESTROY_LINK_IN    => destroy_link_i,
---      --SFP Connection
---      SD_PRSNT_N_IN      => SFP_MOD0(1),
---      SD_LOS_IN          => SFP_LOS(1),
---      SD_TXDIS_OUT       => SFP_TX_DIS(1),
---      --Control Interface
---      BUS_RX             => bussci2_rx,
---      BUS_TX             => bussci2_tx,
---      -- Status and control port
---      STAT_DEBUG         => open,
---      CTRL_DEBUG         => open
---    );    
   PCSSW       <= "01001110"; --SFP2 on B3, AddOn on D1      
 
   THE_SYNC_PROC: process( clk_sys )
@@ -381,21 +382,40 @@ THE_MEDIA_PCSB : entity med_ecp3_sfp_sync_all_RS
   end process THE_SYNC_PROC;
 
   --HDR_IO(10 downto 1) <= (others => '0');
-  HDR_IO(10)   <= '0';
-  HDR_IO(9)    <= '0';
-  HDR_IO(8)    <= '0';
-  HDR_IO(7)    <= '0';
-  HDR_IO(6)    <= '0';
-  HDR_IO(5)    <= '0';
-  HDR_IO(4)    <= '0';
-  HDR_IO(3)    <= '0';
-  HDR_IO(2)    <= rx_dlm_i;
-  HDR_IO(1)    <= tx_dlm_i;
+  HDR_IO(10)   <= clear_i; --debug_i(4);
+  HDR_IO(9)    <= reset_i; --debug_i(3);
+  HDR_IO(8)    <= debug_i(2);
+  HDR_IO(7)    <= debug_i(1);
+  HDR_IO(6)    <= debug_i(0);
+  HDR_IO(5)    <= tx_pll_lol_qd_b_i;
+  HDR_IO(4)    <= link_tx_ready_i;
+  HDR_IO(3)    <= sync_tx_quad_i;
+  HDR_IO(2)    <= tx_pcs_rst_ch_c_i;
+  HDR_IO(1)    <= rst_qd_c_i;
 
   destroy_link_i <= common_ctrl_reg(88);
 
 end generate;
 
+  THE_MAIN_TX_RESET: main_tx_reset_RS
+  generic map(
+    SIM_MODE    => 0
+  )
+  port map(
+    CLEAR                => clear_i,
+    LOCALCLK             => clk_full_osc,
+    TX_PLL_LOL_QD_A_IN   => '0',
+    TX_PLL_LOL_QD_B_IN   => tx_pll_lol_qd_b_i,
+    TX_PLL_LOL_QD_C_IN   => '0',
+    TX_PLL_LOL_QD_D_IN   => '0',
+    TX_CLOCK_AVAIL_IN    => '1', -- CTS MASTER
+    RST_QD_C_OUT         => rst_qd_c_i,
+    TX_PCS_RST_CH_C_OUT  => tx_pcs_rst_ch_c_i,
+    SYNC_TX_QUAD_OUT     => sync_tx_quad_i,
+    LINK_TX_READY_OUT    => link_tx_ready_i,
+    STATE_OUT            => open
+  );
+  
 ---------------------------------------------------------------------------
 -- PCSC   4 downlinks
 ---------------------------------------------------------------------------