URL
https://opencores.org/ocsvn/udp_ip_stack/udp_ip_stack/trunk
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;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.