]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
*** empty log message ***
authorhadeshyp <hadeshyp>
Thu, 19 Jul 2012 11:35:53 +0000 (11:35 +0000)
committerhadeshyp <hadeshyp>
Thu, 19 Jul 2012 11:35:53 +0000 (11:35 +0000)
gbe2_ecp3/trb_net16_gbe_frame_receiver.vhd
gbe2_ecp3/trb_net16_gbe_main_control.vhd
gbe2_ecp3/trb_net16_gbe_response_constructor_SCTRL.vhd
gbe2_ecp3/trb_net16_gbe_transmit_control.vhd

index caa937e76bd15e55df6ebc3d6667e60a71164cb1..7fb7f207862a5731f237a66d0fd896f45caadc20 100644 (file)
@@ -169,7 +169,7 @@ begin
                        state <= x"3";
                        if (remove_ctr = x"03") then  -- counter starts with a delay that's why only 3
                                -- destination MAC address filtering here 
-                               if (saved_dest_mac = g_MY_MAC) or (saved_dest_mac = x"ffffffffffff") then
+                               if (saved_dest_mac = g_MY_MAC) then --or (saved_dest_mac = x"ffffffffffff") then
                                        filter_next_state <= REMOVE_SRC;
                                else
                                        filter_next_state <= DECIDE;
index 3f078c58e90fcbc1855fc1d16ac1b9b534b50c14..b3fda9b9fe193574b8ec853e07f9bba9289a23dc 100644 (file)
@@ -551,7 +551,7 @@ begin
                        if (PCS_AN_COMPLETE_IN = '0') then
                                link_next_state <= INACTIVE;
                        else
-                               if (wait_ctr = x"3baa_ca00") then
+                               if (wait_ctr = x"0000_ca00") then
                                        link_next_state <= GET_ADDRESS;
                                else
                                        link_next_state <= WAIT_FOR_BOOT;
index 04248877031a0b15af580c686d21823ff27d57b2..19b366ed3b912bcf409fe69dbf4e374fbad8d401 100644 (file)
@@ -138,6 +138,7 @@ signal fifo_rd_q               : std_logic;
 signal too_much_data           : std_logic;
 
 signal divide_ctr              : std_logic_vector(7 downto 0);
+signal divide_temp_ctr         : std_logic_vector(15 downto 0);
 
 
 begin
@@ -261,13 +262,28 @@ end process TOO_MUCH_DATA_PROC;
 
 DIVIDE_CTR_PROC : process(CLK)
 begin
-       if (RESET = '1') or (dissect_current_state = IDLE) then
-               divide_ctr <= (others => '0');
-       elsif (dissect_current_state = SAVE_RESPONSE) and (tx_data_ctr(10 downto 0) = b"101_0111_1000") then
-               divide_ctr <= divide_ctr + x"1";
+       if rising_edge(CLK) then
+               if (RESET = '1') or (dissect_current_state = IDLE) then
+                       divide_ctr <= (others => '0');
+               elsif (dissect_current_state = SAVE_RESPONSE) and (divide_temp_ctr = b"101_0111_1000") then
+                       divide_ctr <= divide_ctr + x"1";
+               end if;
        end if;
 end process DIVIDE_CTR_PROC;
 
+DIVIDE_TEMP_CTR_PROC : process(CLK)
+begin
+       if rising_edge(CLK) then
+               if (RESET = '1') or (dissect_current_state = IDLE) then
+                       divide_temp_ctr <= (others => '0');
+               elsif (tx_fifo_wr = '1') and (divide_temp_ctr /= b"101_0111_1000") then
+                       divide_temp_ctr(15 downto 1) <= divide_temp_ctr(15 downto 1) + x"1";
+               elsif (tx_fifo_wr = '1') and (divide_temp_ctr = b"101_0111_1000") then
+                       divide_temp_ctr <= x"0002";
+               end if;
+       end if;
+end process DIVIDE_TEMP_CTR_PROC;
+
 -- total counter of data transported to frame constructor
 TX_LOADED_CTR_PROC : process(CLK)
 begin
@@ -320,7 +336,7 @@ begin
        end if;
 end process FRAME_SIZE_PROC;
 
-TC_UDP_SIZE_OUT     <= tx_data_ctr - divide_ctr(7 downto 1);
+TC_UDP_SIZE_OUT     <= tx_data_ctr - divide_ctr;
 
 
 TC_FLAGS_OFFSET_OUT(15 downto 14) <= "00";
index 4f1a982c5c95824345aa0bff004be72277018961..307c9ecdab2b87c31568a2f26fb8df549a912bec 100644 (file)
@@ -238,11 +238,11 @@ begin
 
        if (MC_FRAME_TYPE_IN = x"0008") then  -- in case of ip
                FC_IP_SIZE_OUT  <= MC_IP_SIZE_IN;
-               if (MC_UDP_SIZE_IN > g_MAX_FRAME_SIZE) then
-                       FC_UDP_SIZE_OUT <= MC_UDP_SIZE_IN; -- - x"1";
-               else
+               --if (MC_UDP_SIZE_IN > g_MAX_FRAME_SIZE) then
+               --      FC_UDP_SIZE_OUT <= MC_UDP_SIZE_IN; -- - x"1";
+               --else
                        FC_UDP_SIZE_OUT <= MC_UDP_SIZE_IN;
-               end if;         
+               --end if;               
        else
                FC_IP_SIZE_OUT <= temp_frame_size; --MC_FRAME_SIZE_IN;
                FC_UDP_SIZE_OUT <= temp_frame_size; --MC_FRAME_SIZE_IN;