You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a bug when small data transfers are too close (in the same direction) probably for RX and TX.
If you face this bug, the workaround for TX is to put the small packets in a buffer and send them at once, for RX, data should be read in a similar manner.
Since this bug is not in my use case, I won't fix it, but feel free to participate.
The text was updated successfully, but these errors were encountered:
RandomReaper
changed the title
ft245_sync_if may loose some bytes on close small data transfer
ft245_sync_if.vhd: may loose some bytes on close small data transfer
Oct 5, 2017
I think this is related to the following bug in the description:
When you have two transfers separated by a few clocks, and the first transfer fills the FT FIFO, you'll lose one byte.
This is because the first transfer will make TXE# go inactive, but the input FFs will delay it. So when the FSM sees the second transfer will go to the STATE_WRITE state. The problem is that as soon as we get there we realize that TXE# is no longer active. So we don't send data to the FT. The problem is that we retired one byte.
The solution is to set the write_failed condition when we retired a value in the previous cycle and now we see TXE# deasserted.
There is a bug when small data transfers are too close (in the same direction) probably for RX and TX.
If you face this bug, the workaround for TX is to put the small packets in a buffer and send them at once, for RX, data should be read in a similar manner.
Since this bug is not in my use case, I won't fix it, but feel free to participate.
The text was updated successfully, but these errors were encountered: