OpenCores
URL https://opencores.org/ocsvn/udp_ip_stack/udp_ip_stack/trunk

Subversion Repositories udp_ip_stack

[/] [udp_ip_stack/] [trunk/] [rtl/] [vhdl/] [IPv4_RX.vhd] - Diff between revs 18 and 24

Show entire file | Details | Blame | View Log

Rev 18 Rev 24
Line 235... Line 235...
              set_error_code    <= '1';
              set_error_code    <= '1';
              set_frame_err_cnt <= INCR;
              set_frame_err_cnt <= INCR;
              set_ip_rx_start   <= CLR;
              set_ip_rx_start   <= CLR;
              set_data_last     <= '1';
              set_data_last     <= '1';
              next_rx_state     <= IDLE;
              next_rx_state     <= IDLE;
 
              rx_count_mode     <= RST;
              set_rx_state      <= '1';
              set_rx_state      <= '1';
            else
            else
              case rx_count is
              case rx_count is
                when x"000c" =>
                when x"000c" =>
                  if mac_data_in /= x"08" then  -- ignore pkts that are not type=IP
                  if mac_data_in /= x"08" then  -- ignore pkts that are not type=IP
Line 273... Line 274...
              set_error_code    <= '1';
              set_error_code    <= '1';
              set_frame_err_cnt <= INCR;
              set_frame_err_cnt <= INCR;
              set_ip_rx_start   <= CLR;
              set_ip_rx_start   <= CLR;
              set_data_last     <= '1';
              set_data_last     <= '1';
              next_rx_state     <= IDLE;
              next_rx_state     <= IDLE;
 
              rx_count_mode     <= RST;
              set_rx_state      <= '1';
              set_rx_state      <= '1';
            else
            else
              case rx_count is
              case rx_count is
                when x"0000" =>
                when x"0000" =>
                  if mac_data_in /= x"45" then  -- ignore pkts that are not v4 with 5 header words
                  if mac_data_in /= x"45" then  -- ignore pkts that are not v4 with 5 header words
Line 371... Line 373...
              set_ip_rx_start <= CLR;
              set_ip_rx_start <= CLR;
              rx_count_mode   <= RST;
              rx_count_mode   <= RST;
              set_data_last   <= '1';
              set_data_last   <= '1';
              if mac_data_in_last = '1' then
              if mac_data_in_last = '1' then
                next_rx_state   <= IDLE;
                next_rx_state   <= IDLE;
 
                rx_count_mode   <= RST;
                set_ip_rx_start <= CLR;
                set_ip_rx_start <= CLR;
              else
              else
                next_rx_state <= WAIT_END;
                next_rx_state <= WAIT_END;
              end if;
              end if;
              set_rx_state <= '1';
              set_rx_state <= '1';
Line 385... Line 388...
                error_code_val    <= RX_EC_ET_USER;
                error_code_val    <= RX_EC_ET_USER;
                set_error_code    <= '1';
                set_error_code    <= '1';
                set_frame_err_cnt <= INCR;
                set_frame_err_cnt <= INCR;
                set_ip_rx_start   <= CLR;
                set_ip_rx_start   <= CLR;
                next_rx_state     <= IDLE;
                next_rx_state     <= IDLE;
 
                rx_count_mode     <= RST;
                set_rx_state      <= '1';
                set_rx_state      <= '1';
              end if;
              end if;
            end if;
            end if;
        end case;
        end case;
 
 
Line 399... Line 403...
          set_data_last <= '1';
          set_data_last <= '1';
          next_rx_state <= WAIT_END;
          next_rx_state <= WAIT_END;
          set_rx_state  <= '1';
          set_rx_state  <= '1';
        else
        else
          next_rx_state <= IDLE;
          next_rx_state <= IDLE;
 
          rx_count_mode <= RST;
          set_rx_state  <= '1';
          set_rx_state  <= '1';
        end if;
        end if;
 
 
 
 
      when WAIT_END =>
      when WAIT_END =>
Line 410... Line 415...
          when NO_EVENT =>              -- (nothing to do)
          when NO_EVENT =>              -- (nothing to do)
          when DATA =>
          when DATA =>
            if mac_data_in_last = '1' then
            if mac_data_in_last = '1' then
              set_data_last   <= '1';
              set_data_last   <= '1';
              next_rx_state   <= IDLE;
              next_rx_state   <= IDLE;
 
              rx_count_mode   <= RST;
              set_rx_state    <= '1';
              set_rx_state    <= '1';
              set_ip_rx_start <= CLR;
              set_ip_rx_start <= CLR;
            end if;
            end if;
        end case;
        end case;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.