When I use an SPI-4.2 v6.0 sink core, I see improper concatenation of the packets when SOP spacing is violated and if the first packet is not terminated properly with EOP.
Example scenario that displays this problem:
Sink Core receives on RDat:
- Packet 1 is sent on Channel 0F with 2 bytes and is not terminated properly (no EOP).
- Packet 2 is sent on Channel 12 with 1 byte and is terminated properly.
- Note that the SOP spacing is violated, and the first packet does not terminate on a credit boundary.
When coming out of the back end, SnkFFData contains:
<0280 0000 0000 0000 0100 0000 0000 0000>
The SnkBusErr will be flagged to indicate the SOP spacing violation as expected, but the two packets are improperly concatenated and sent on Channel 0F.
To prevent this problem, avoid violating the SOP spacing rule, which requires 8 cycles between SOP indications. If you have packets smaller than 8 bytes, properly terminate them with an EOP.