Hello Peter,
In UDP_TX.vhd you have the code:
when SEND_USER_DATA => udp_tx_data_out_ready <= '1';
However, it seems to me that it should be:
when SEND_USER_DATA => udp_tx_data_out_ready <= ip_tx_data_out_ready;
Otherwise if the ip layer happens not to be ready for data, udp_tx would accept it from the user but unable to forward it to the ip layer.
Of this I'm not sure, it is just something I noticed while going through the code.
For some reason after posting some parts of the code did not appear as written, so I'll repost without copy-pasting (it seems you can't edit posts here):
In UDP_TX.vhd you have the code:
when SEND_USER_DATA => udp_tx_data_out_ready <= '1';
However, it seems to me that it should be:
when SEND_USER_DATA => udp_tx_data_out_ready <= ip_tx_data_out_ready;
Otherwise if the ip layer happens not to be ready for data, udp_tx would accept it from the user but unable to forward it to the ip layer.
Of this I'm not sure, it is just something I noticed while going through the code.
For some reason after posting some parts of the code did not appear as written, so I'll repost without copy-pasting (it seems you can't edit posts here):
In UDP_TX.vhd you have the code:
<code> when SEND_USER_DATA => udp_tx_data_out_ready <= '1'; </code>However, it seems to me that it should be:
<code> when SEND_USER_DATA => udp_tx_data_out_ready <= ip_tx_data_out_ready; </code>Otherwise if the ip layer happens not to be ready for data, udp_tx would accept it from the user but unable to forward it to the ip layer.
Of this I'm not sure, it is just something I noticed while going through the code.
For some reason after posting some parts of the code did not appear as written, so I'll repost without copy-pasting (it seems you can't edit posts here):
In UDP_TX.vhd you have the code:
when SEND_USER_DATA => udp_tx_data_out_ready (assign) '1';
However, it seems to me that it should be:
when SEND_USER_DATA => udp_tx_data_out_ready (assign) ip_tx_data_out_ready;
Otherwise if the ip layer happens not to be ready for data, udp_tx would accept it from the user but unable to forward it to the ip layer.
Of this I'm not sure, it is just something I noticed while going through the code.
Your analysis is correct. This is now fixed in svn r17