General Description: When packets are received, the last EOP seems to be stuck in the SnkFFDat the bus. SnkFFValid is also de-asserted at this time.
This issue can occur when SnkFFRdEn_n is de-asserted too early. SnkFFValid is a derivative of SnkFFRdEn_n, and when SnkFFRdEn_n is de-asserted, SnkFFValid will de-assert one clock cycle later.
The data sheet recommends that SnkFFRdEn_n be de-asserted one clock cycle after SnkFFAlmostEmpty_n is asserted. However, SnkFFRdEn_n should be a function of SnkFFAlmostEmpty_n and SnkFFEmpty. The design example that is provided with the v5.0 core (pl4_design_example.pdf) contains an example of this state machine on pages 5 and 6. Please follow the circuit illustrated in this example, which prevents SnkFFRdEn_n from being de-asserted too early.
Future versions of the data sheet will be updated to include this information.