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_TX.vhd] - Diff between revs 8 and 10

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 8 Rev 10
Line 365... Line 365...
                                ip_tx_data_out_ready <= mac_data_out_ready and mac_data_out_ready_reg;          -- in this state, we are always ready to accept user data for tx
                                ip_tx_data_out_ready <= mac_data_out_ready and mac_data_out_ready_reg;          -- in this state, we are always ready to accept user data for tx
                                if mac_data_out_ready = '1' then
                                if mac_data_out_ready = '1' then
                                        if ip_tx.data.data_out_valid = '1' or tx_count = x"000" then
                                        if ip_tx.data.data_out_valid = '1' or tx_count = x"000" then
                                                -- only increment if ready and valid has been subsequently established, otherwise data count moves on too fast
                                                -- only increment if ready and valid has been subsequently established, otherwise data count moves on too fast
                                                if unsigned(tx_count) = unsigned(ip_tx.hdr.data_length) then
                                                if unsigned(tx_count) = unsigned(ip_tx.hdr.data_length) then
 
                                                        -- TX terminated due to count - end normally
                                                        set_last <= '1';
                                                        set_last <= '1';
                                                        set_chn_reqd <= CLR;
                                                        set_chn_reqd <= CLR;
                                                        tx_data <= ip_tx.data.data_out;
                                                        tx_data <= ip_tx.data.data_out;
                                                        next_tx_result <= IPTX_RESULT_SENT;
                                                        next_tx_result <= IPTX_RESULT_SENT;
                                                        set_tx_result <= '1';
                                                        set_tx_result <= '1';
                                                        next_tx_state <= IDLE;
                                                        next_tx_state <= IDLE;
                                                        set_tx_state <= '1';
                                                        set_tx_state <= '1';
 
                                                elsif ip_tx.data.data_out_last = '1' then
 
                                                        -- TX terminated due to receiving last indication from upstream - end with error
 
                                                        set_last <= '1';
 
                                                        set_chn_reqd <= CLR;
 
                                                        tx_data <= ip_tx.data.data_out;
 
                                                        next_tx_result <= IPTX_RESULT_ERR;
 
                                                        set_tx_result <= '1';
 
                                                        next_tx_state <= IDLE;
 
                                                        set_tx_state <= '1';
                                                else
                                                else
 
                                                        -- TX continues
                                                        tx_count_mode <= INCR;
                                                        tx_count_mode <= INCR;
                                                        tx_data <= ip_tx.data.data_out;
                                                        tx_data <= ip_tx.data.data_out;
                                                end if;
                                                end if;
                                        end if;
                                        end if;
                                end if;
                                end if;

powered by: WebSVN 2.1.0

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