]> jspc29.x-matter.uni-frankfurt.de Git - soda.git/commitdiff
This works... now and then. Trbnet can quite reliably be started with optical link...
authorPeter Lemmens <p.j.j.lemmens@rug.nl>
Thu, 26 Sep 2013 08:15:31 +0000 (10:15 +0200)
committerPeter Lemmens <p.j.j.lemmens@rug.nl>
Thu, 26 Sep 2013 08:15:31 +0000 (10:15 +0200)
13 files changed:
soda_client.ldf
soda_client.lpf
soda_source.ldf
soda_source.lpf
source/TB_soda_chain.vhd
source/posedge_to_pulse.vhd
source/soda_components.vhd
source/soda_packet_builder.vhd
source/soda_reply_handler.vhd
source/soda_source.vhd
source/soda_superburst_gen.vhd
source/trb3_periph_sodaclient.vhd
source/trb3_periph_sodasource.vhd

index 874c4b515f5e8fb39069ee9bdafa2bc5f9bc4181..9b9b10f06eb372493627caaff2b80ad1bff221a9 100644 (file)
         <Source name="soda_client.lpf" type="Logic Preference" type_short="LPF">
             <Options/>
         </Source>
+        <Source name="soda_client_probe.rvl" type="Reveal" type_short="Reveal">
+            <Options/>
+        </Source>
+        <Source name="trb3_soda_client.xcf" type="Programming Project File" type_short="Programming">
+            <Options/>
+        </Source>
     </Implementation>
     <Strategy name="Strategy1" file="soda_client1.sty"/>
 </BaliProject>
index 2de909cd6b5ef6f88db70c61819a12b236929c63..8a14f16a18b620acfa9c6768df0524492a8ec5da 100644 (file)
@@ -1,3 +1,4 @@
+rvl_alias "clk_raw_internal" "clk_raw_internal";
 BLOCK RESETPATHS ;
 BLOCK ASYNCPATHS ;
 BLOCK RD_DURING_WR_PATHS ;
@@ -264,3 +265,4 @@ MULTICYCLE FROM CELL "THE_SODA_SOURCE/sci*" 20 ns;
 MULTICYCLE TO CELL "THE_SODA_SOURCE/wa_pos*" 20 ns;
 
 MULTICYCLE TO CELL "THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50 ns;
+BLOCK JTAGPATHS;
index a9f9e315c700382f798d4d19d4d496443a422ae5..369f753d0236e06d2565d7088112b1e9b439cecb 100644 (file)
@@ -17,9 +17,6 @@
         <Source name="source/soda_superburst_gen.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
-        <Source name="source/soda_packet_handler.vhd" type="VHDL" type_short="VHDL">
-            <Options/>
-        </Source>
         <Source name="source/soda_packet_builder.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
         <Source name="source/serdes_sync_downstream.ipx" type="IPX_Module" type_short="IPX">
             <Options/>
         </Source>
-        <Source name="../trbnet/trb_net_components.vhd" type="VHDL" type_short="VHDL">
+        <Source name="source/soda_SOB_faker.vhd" type="VHDL" type_short="VHDL">
+            <Options/>
+        </Source>
+        <Source name="source/soda_calibration_timer.vhd" type="VHDL" type_short="VHDL">
+            <Options/>
+        </Source>
+        <Source name="source/soda_reply_handler.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
         <Source name="../trbnet/trb_net16_term_buf.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
+        <Source name="../trbnet/trb_net_components.vhd" type="VHDL" type_short="VHDL">
+            <Options/>
+        </Source>
         <Source name="../trbnet/trb_net_CRC.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
         <Source name="../trbnet/special/spi_flash_and_fpga_reload.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
-        <Source name="source/soda_reply_handler.vhd" type="VHDL" type_short="VHDL">
+        <Source name="../trbnet/media_interfaces/ecp3_sfp/sfp_1_200_int.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
-        <Source name="source/soda_calibration_timer.vhd" type="VHDL" type_short="VHDL">
+        <Source name="source/posedge_to_pulse.vhd" type="VHDL" type_short="VHDL">
             <Options/>
         </Source>
-        <Source name="source/soda_SOB_faker.vhd" type="VHDL" type_short="VHDL">
+        <Source name="soda_source.lpf" type="Logic Preference" type_short="LPF">
             <Options/>
         </Source>
-        <Source name="../trbnet/media_interfaces/ecp3_sfp/sfp_1_200_int.vhd" type="VHDL" type_short="VHDL">
+        <Source name="soda_source_probe.rvl" type="Reveal" type_short="Reveal">
             <Options/>
         </Source>
-        <Source name="soda_source.lpf" type="Logic Preference" type_short="LPF">
+        <Source name="trb3_soda_source.xcf" type="Programming Project File" type_short="Programming">
             <Options/>
         </Source>
     </Implementation>
index 2de909cd6b5ef6f88db70c61819a12b236929c63..8a14f16a18b620acfa9c6768df0524492a8ec5da 100644 (file)
@@ -1,3 +1,4 @@
+rvl_alias "clk_raw_internal" "clk_raw_internal";
 BLOCK RESETPATHS ;
 BLOCK ASYNCPATHS ;
 BLOCK RD_DURING_WR_PATHS ;
@@ -264,3 +265,4 @@ MULTICYCLE FROM CELL "THE_SODA_SOURCE/sci*" 20 ns;
 MULTICYCLE TO CELL "THE_SODA_SOURCE/wa_pos*" 20 ns;
 
 MULTICYCLE TO CELL "THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50 ns;
+BLOCK JTAGPATHS;
index 0ada9e4662fcbde92e1674b86e63bdc18dcd3ee3..52967e6e3569ffb6bbee824f1a182dbe24767aa2 100644 (file)
@@ -18,8 +18,8 @@ end entity;
 architecture TestBench of TB_soda_chain is\r
 \r
  -- Clock period definitions
- constant sysclk_period: time:= 5ns;
- constant sodaclk_period: time:= 4.999ns;
+ constant sysclk_period: time:= 10ns;
+ constant sodaclk_period: time:= 5ns;
 \r
 \r
 --Inputs
@@ -61,6 +61,7 @@ begin
        THE_SODA_SOURCE : soda_source
                port map(
                        SYSCLK                                  => sys_clk_S,
+                       SODACLK                                 => soda_clk_S,
                        RESET                                           => rst_S,
                        CLEAR                                           => '0',
                        CLK_EN                                  => '1',
index 1bdc601bfa632ae39de8ad9c058866143ff4f584..6e51e678ff32c11f31bab7161da270b725f47a4d 100644 (file)
@@ -19,53 +19,54 @@ use IEEE.STD_LOGIC_ARITH.all;
 use IEEE.STD_LOGIC_UNSIGNED.all;
 
 entity posedge_to_pulse is
-       port (
-               clock_in     : in  std_logic;
-               clock_out     : in  std_logic;
-               en_clk    : in  std_logic;
-               signal_in : in  std_logic;
-               pulse     : out std_logic
-       );
+               port (
+                       IN_CLK                  : in  std_logic;
+                       OUT_CLK                 : in  std_logic;
+                       CLK_EN                  : in  std_logic;
+                       SIGNAL_IN               : in  std_logic;
+                       PULSE_OUT               : out std_logic
+               );
 end posedge_to_pulse;
 
 architecture behavioral of posedge_to_pulse is
 
-  signal resetff       : std_logic := '0';
-  signal last_signal_in        : std_logic := '0';
-  signal qff   : std_logic := '0'; 
-  signal qff1  : std_logic := '0'; 
-  signal qff2  : std_logic := '0'; 
-  signal qff3  : std_logic := '0'; 
-begin  
+       signal resetff                          : std_logic := '0';
+       signal last_signal_in   : std_logic := '0';
+       signal qff                                      : std_logic := '0'; 
+       signal qff1                                     : std_logic := '0'; 
+       signal qff2                                     : std_logic := '0'; 
+       signal qff3                                     : std_logic := '0'; 
+       begin  
 
-process (clock_in)
-begin
-       if rising_edge(clock_in) then
-               if resetff='1' then
-                       qff <= '0';
-               elsif (en_clk='1') and ((signal_in='1') and (qff='0') and (last_signal_in='0')) then 
-                       qff <= '1';
-               else
-                       qff <= qff;
+       process (IN_CLK)
+       begin
+               if rising_edge(IN_CLK) then
+                       if resetff='1' then
+                               qff <= '0';
+                       elsif (CLK_EN='1') and ((SIGNAL_IN='1') and (qff='0') and (last_signal_in='0')) then 
+                               qff <= '1';
+                       else
+                               qff <= qff;
+                       end if;
+                       last_signal_in <= SIGNAL_IN;
                end if;
-               last_signal_in <= signal_in;
-       end if;
-end process;
-resetff <= qff2;
+       end process;
 
-process (clock_out)
-begin
-       if rising_edge(clock_out) then
-               if qff3='0' and qff2='1' then 
-                       pulse <= '1'; 
-               else 
-                       pulse <= '0';
+       resetff <= qff2;
+
+       process (OUT_CLK)
+       begin
+               if rising_edge(OUT_CLK) then
+                       if qff3='0' and qff2='1' then 
+                               PULSE_OUT       <= '1'; 
+                       else 
+                               PULSE_OUT       <= '0';
+                       end if;
+                       qff3 <= qff2;
+                       qff2 <= qff1;
+                       qff1 <= qff;
                end if;
-               qff3 <= qff2;
-               qff2 <= qff1;
-               qff1 <= qff;
-       end if;
-end process; 
+       end process; 
 
 
 end behavioral;
index 3825aad3d39c6386aa0261fa14987c752df330fc..a378d25396a7c48d48a8aea084f9197b6bc3d2b9 100644 (file)
@@ -42,7 +42,7 @@ package soda_components is
                        CLEAR                                                   : in    std_logic; -- asynchronous reset
                        CLK_EN                                          : in    std_logic;
                        --Internal Connection
-                       LINK_PHASE                                      : natural range 0 to 1 := 0;
+                       LINK_PHASE_IN                           : in    std_logic_vector(1 downto 0) := (others => '0');
                        SODA_CMD_STROBE_IN              : in    std_logic := '0';       -- 
                        START_OF_SUPERBURST             : in    std_logic := '0';
                        SUPER_BURST_NR_IN                       : in    std_logic_vector(30 downto 0) := (others => '0');
@@ -251,7 +251,7 @@ package soda_components is
                        IN_CLK                  : in  std_logic;
                        OUT_CLK                 : in  std_logic;
                        CLK_EN                  : in  std_logic;
-                       SINGAL_IN               : in  std_logic;
+                       SIGNAL_IN               : in  std_logic;
                        PULSE_OUT               : out std_logic
                );
        end component;
index d86a6b0b9fa130f81803fdc7f2a5ed0b9b051d3f..3f68c1e335a9916a94c68e75c917cdaf75996616 100644 (file)
@@ -1,6 +1,7 @@
 library ieee;\r
 use ieee.std_logic_1164.all;\r
 use ieee.numeric_std.all;\r
+use ieee.std_logic_unsigned.all;
 \r
 library work;
 use work.trb_net_std.all;
@@ -15,7 +16,7 @@ entity soda_packet_builder is
                CLEAR                                                   : in    std_logic; -- asynchronous reset\r
                CLK_EN                                          : in    std_logic; \r
                --Internal Connection\r
-               LINK_PHASE                                      : natural range 0 to 1 := 0;
+               LINK_PHASE_IN                           : in    std_logic_vector(1 downto 0) := (others => '0');
                SODA_CMD_STROBE_IN              : in    std_logic := '0';       -- \r
                START_OF_SUPERBURST             : in    std_logic := '0';\r
                SUPER_BURST_NR_IN                       : in    std_logic_vector(30 downto 0) := (others => '0');\r
@@ -80,13 +81,13 @@ begin
                                case packet_state_S is\r
                                        when c_IDLE     =>\r
                                                if (START_OF_SUPERBURST='1') then
-                                                       if (LINK_PHASE=0) then\r
+                                                       if (LINK_PHASE_IN = "00") then\r
                                                                packet_state_S  <= c_BST1;
                                                        else
                                                                packet_state_S  <= c_WAIT4BST1;
                                                        end if;\r
                                                elsif (soda_cmd_strobe_S='1') then\r
-                                                       if (LINK_PHASE=0) then\r
+                                                       if (LINK_PHASE_IN = "00") then\r
                                                                packet_state_S  <= c_CMD1;\r
                                                        else
                                                                packet_state_S  <= c_WAIT4CMD1;
@@ -94,14 +95,8 @@ begin
                                                else
                                                        packet_state_S  <=      c_IDLE;
                                                end if;\r
---                                     when c_IDLE     =>\r
---                                             if (START_OF_SUPERBURST='1') then\r
---                                                     packet_state_S  <= c_BST1;\r
---                                             elsif (soda_cmd_strobe_S='1') then\r
---                                                     packet_state_S  <= c_CMD1;\r
---                                             end if;\r
                                        when c_WAIT4BST1        =>\r
-                                               if (LINK_PHASE=0) then\r
+                                               if (LINK_PHASE_IN = "00") then\r
                                                        packet_state_S  <= c_BST1;
                                                else
                                                        packet_state_S  <= c_WAIT4BST1;
@@ -127,7 +122,7 @@ begin
                                                        packet_state_S  <= c_CMD1;\r
                                                end if;\r
                                        when c_WAIT4CMD1        =>\r
-                                               if (LINK_PHASE=0) then\r
+                                               if (LINK_PHASE_IN = "00") then
                                                        packet_state_S  <= c_CMD1;\r
                                                else
                                                        packet_state_S  <= c_WAIT4CMD1;
index db11bd898b80f9c762e6a08b6a3cf3e69e29a7c4..3c341ae93f7ff2ad7473e1912979c153cdf6e477 100644 (file)
@@ -15,13 +15,10 @@ entity soda_reply_handler is
                CLEAR                                                   : in    std_logic; -- asynchronous reset
                CLK_EN                                          : in    std_logic;
                --Internal Connection
---             LAST_PACKET     _IN                     : in    t_PACKET_TYPE_SENT      := c_NO_PACKET;
                EXPECTED_REPLY_IN                       : in    std_logic_vector(7 downto 0) := (others => '0');
                RX_DLM_IN                                       : in    std_logic       := '0';
                RX_DLM_WORD_IN                          : in    std_logic_vector(7 downto 0)    := (others => '0');
                REPLY_VALID_OUT                 : out std_logic := '0';
---             SUPERBURST_ERROR_OUT            : out std_logic := '0';
---             CRC_ERROR_OUT                           : out std_logic := '0';
                REPLY_OK_OUT                            : out std_logic := '0'
        );
 end soda_reply_handler;
index e7aa09b08aba6d2cb16313b3b38f5f8ee7ef2271..ded23a014f9396375b57c14bdb1ad0eba213c054 100644 (file)
@@ -1,6 +1,7 @@
 library ieee;
 use ieee.std_logic_1164.all;
 use ieee.numeric_std.all;
+use ieee.std_logic_unsigned.all;
 
 library work;
 use work.trb_net_std.all;
@@ -35,18 +36,8 @@ end soda_source;
 
 architecture Behavioral of soda_source is
 
-component posedge_to_pulse is
-       port (
-               clock_in     : in  std_logic;
-               clock_out     : in  std_logic;
-               en_clk    : in  std_logic;
-               signal_in : in  std_logic;
-               pulse     : out std_logic
-       );
-end component;
-
        --SODA
-       signal link_phase_S                                     : natural range 0 to 1 := 0;
+       signal link_phase_S                                     : std_logic_vector(1 downto 0) := (others => '0');
        signal soda_cmd_word_S                          : std_logic_vector(30 downto 0) := (others => '0');
        signal soda_cmd_strobe_S                        : std_logic := '0';
        signal soda_cmd_strobe_sodaclk_S        : std_logic := '0';     
@@ -57,7 +48,7 @@ end component;
        type t_STATES is (SLEEP,RD_RDY,WR_RDY,RD_ACK,WR_ACK,DONE);
        signal CURRENT_STATE, NEXT_STATE: t_STATES;
 
-       signal last_packet_sent_S               : t_PACKET_TYPE_SENT    := c_NO_PACKET;
+--     signal last_packet_sent_S               : t_PACKET_TYPE_SENT    := c_NO_PACKET;
 
        -- slave bus signals
        signal bus_ack_x                                        : std_logic;
@@ -102,7 +93,7 @@ begin
                        CLEAR                                           =>      '0',
                        CLK_EN                                  => CLK_EN,
                        --Internal Connection
-                       LINK_PHASE                              =>      link_phase_S,
+                       LINK_PHASE_IN                   =>      link_phase_S,
                        SODA_CMD_STROBE_IN      => soda_cmd_strobe_sodaclk_S,
                        START_OF_SUPERBURST     => start_of_superburst_S,
                        SUPER_BURST_NR_IN               => super_burst_nr_S,
@@ -120,7 +111,6 @@ begin
                        CLEAR                                                   =>      '0',
                        CLK_EN                                          =>      '1',
                        --Internal Connection
---                     LAST_PACKET                                     =>      last_packet_sent_S,
                        EXPECTED_REPLY_IN                       => expected_reply_S,
                        RX_DLM_IN                                       => RX_DLM_IN,
                        RX_DLM_WORD_IN                          => RX_DLM_WORD_IN,
@@ -158,31 +148,15 @@ begin
        begin
                if rising_edge(SODACLK) then
                        if( RESET = '1' ) then
-                               link_phase_S    <= 0;
+                               link_phase_S    <= (0 => '1', others => '0');
                        elsif (link_phase_S < 1) then
                                link_phase_S    <= link_phase_S + 1;
                        else
-                               link_phase_S <= 0;
+                               link_phase_S <= (others => '0');
                        end if;
                end if;
        end process;
 
------------------------------------------------------------
---     Transmission history for reply-checking                                 --
------------------------------------------------------------
---     packet_history_proc : process(SYSCLK)
---     begin
---             if rising_edge(SYSCLK) then
---                     if( RESET = '1' ) then
---                             last_packet_sent_S      <= c_NO_PACKET;
---                     elsif (start_of_superburst_S='1') then
---                             last_packet_sent_S      <= c_BST_PACKET;
---                     elsif (soda_cmd_strobe_S='1') then
---                             last_packet_sent_S      <= c_CMD_PACKET;
---                     end if;
---             end if;
---     end process;
-
 ---------------------------------------------------------
 -- RegIO Statemachine
 ---------------------------------------------------------
@@ -248,12 +222,14 @@ begin
        end case;
 end process TRANSFORM;
 
-posedge_to_pulse1: posedge_to_pulse port map(
-               clock_in => SYSCLK,
-               clock_out => SODACLK,
-               en_clk => '1',
-               signal_in => soda_cmd_strobe_S,
-               pulse => soda_cmd_strobe_sodaclk_S);
+soda_cmd_strobe_posedge_to_pulse: posedge_to_pulse 
+       port map(
+               IN_CLK          => SYSCLK,
+               OUT_CLK         => SODACLK,
+               CLK_EN          => '1',
+               SIGNAL_IN       => soda_cmd_strobe_S,
+               PULSE_OUT       => soda_cmd_strobe_sodaclk_S
+       );
 
 ---------------------------------------------------------
 -- data handling                                       --
@@ -274,8 +250,6 @@ posedge_to_pulse1: posedge_to_pulse port map(
                        elsif( (store_wr = '1') and (SODA_ADDR_IN = "0001") ) then
                                soda_cmd_strobe_S       <= '0';
                                LEDregister_i           <= SODA_DATA_IN;
---                     elsif( (store_wr = '1') and (SODA_ADDR_IN = "0010") ) then
---                             TEST_LINE_i                     <= SODA_DATA_IN;
                        else
                                soda_cmd_strobe_S       <= '0';
                        end if;
@@ -297,15 +271,12 @@ posedge_to_pulse1: posedge_to_pulse port map(
                                buf_bus_data_out        <= calib_register_S;
                        elsif( (store_rd = '1') and (SODA_ADDR_IN = "0011") ) then
                                buf_bus_data_out        <= LEDregister_i;
---                     elsif( (store_rd = '1') and (SODA_ADDR_IN = "0011") ) then
---                             buf_bus_data_out        <= TEST_LINE_i;
                        end if;
                end if;
        end process THE_READ_REG_PROC;
  
 -- output signals
        LEDS_OUT                        <= LEDregister_i(3 downto 0);
---     TEST_LINE               <= TEST_LINE_i(15 downto 0);  
        SODA_DATA_OUT   <= buf_bus_data_out;
        SODA_ACK_OUT    <= bus_ack;
 
index 2bad6c7469580a188eae56b4df046912b5e73ad3..94f2553abc9c7ac556a4f58b9de2e42a5aade711 100644 (file)
@@ -2,7 +2,7 @@ library ieee;
 use ieee.std_logic_1164.all;
 use ieee.numeric_std.all;
 use IEEE.STD_LOGIC_ARITH.ALL;
-use ieee.std_logic_signed.all;
+use ieee.std_logic_unsigned.all;
 
 library work;
 use work.trb_net_std.all;
index d9c7e5860bcb03c278265e9e85a84c4847949208..d6c282f7e3ee5bbac4530c59e550be086bb3fab7 100644 (file)
@@ -280,7 +280,7 @@ end generate;
 ---------------------------------------------------------------------------
   THE_ENDPOINT : trb_net16_endpoint_hades_full_handler
     generic map(
-               USE_CHANNEL               => (c_YES,c_YES,c_NO,c_YES),
+--             USE_CHANNEL               => (c_YES,c_YES,c_NO,c_YES),
                REGIO_NUM_STAT_REGS       => REGIO_NUM_STAT_REGS,  --4,    --16 stat reg
                REGIO_NUM_CTRL_REGS       => REGIO_NUM_CTRL_REGS,  --3,    --8 cotrol reg
                ADDRESS_MASK              => x"FFFF",
index 3a91b430ad8b13a70f05539ff7c281e2dfece28c..ab2a5893237630daca6367c6b3c9a5e265237971 100644 (file)
@@ -216,12 +216,7 @@ architecture trb3_periph_sodasource_arch of trb3_periph_sodasource is
 
        --SODA
        signal SOB_S                                                    : std_logic := '0';
---     signal soda_cmd_word_S                          : std_logic_vector(31 downto 0) := (others => '0');
---     signal soda_cmd_strobe_S                        : std_logic := '0';
---     signal SOS_S                                                    : std_logic := '0';
---     signal super_burst_nr_S                         : std_logic_vector(30 downto 0) := (others => '0');             -- from super-burst-nr-generator
---     signal dlm_word_S                                               : std_logic_vector(7 downto 0)  := (others => '0');
---     signal dlm_valid_S                                      : std_logic;
+
        
 begin
 ---------------------------------------------------------------------------
@@ -454,10 +449,12 @@ THE_HUB : trb_net16_hub_base
       BUS_TIMEOUT_OUT(2)                  => open,
       BUS_TIMEOUT_OUT(3)                  => open,
       
-               BUS_DATA_IN(0*32+31 downto 0*32)    => spimem_data_out,
-      BUS_DATA_IN(1*32+7 downto 1*32)     => sci1_data_out,
-      BUS_DATA_IN(2*32+7 downto 2*32)     => sci2_data_out,
-      BUS_DATA_IN(3*32+31 downto 3*32)    => soda_data_out,
+               BUS_DATA_IN(0*32+31     downto 0*32)    => spimem_data_out,
+      BUS_DATA_IN(1*32+7       downto 1*32)    => sci1_data_out,
+      BUS_DATA_IN(1*32+31      downto 1*32+8)  => (others => '0'),
+      BUS_DATA_IN(2*32+7       downto 2*32)    => sci2_data_out,
+      BUS_DATA_IN(2*32+31      downto 2*32+8)  => (others => '0'),
+      BUS_DATA_IN(3*32+31      downto 3*32)    => soda_data_out,
       
                BUS_DATAREADY_IN(0)                 => spimem_dataready_out,
       BUS_DATAREADY_IN(1)                 => sci1_ack,
@@ -573,7 +570,7 @@ THE_SYNC_LINK : med_ecp3_sfp_sync_down
 
 THE_SOB_SOURCE : soda_start_of_burst_faker
        port map(
-               SYSCLK                                          => clk_raw_internal,
+               SYSCLK                                          => soda_rx_clock_half,  --clk_raw_internal,
                RESET                                                   => reset_i,
                SODA_BURST_PULSE_OUT            => SOB_S
        );