Doesn't seem to be documented in the TRM, but it looks like pktend should not be asserted if the transfer is a whole number of 512-byte buffers.
status = flReadRegister(fpgaLink, 1000, 0x02, 512, dataBuf, &error);
status = flReadRegister(fpgaLink, 1000, 0x02, 2, dataBuf, &error);
This came up in the UMDKv2 VHDL and I fixed it by having two STATE_END_WRITE states:
1) For transfers where the last block is shorter than 512 bytes -> assert pktend
2) For transfers where the last block is exactly 512 bytes -> do not assert pktend
Doesn't seem to be documented in the TRM, but it looks like pktend should not be asserted if the transfer is a whole number of 512-byte buffers.
status = flReadRegister(fpgaLink, 1000, 0x02, 512, dataBuf, &error); status = flReadRegister(fpgaLink, 1000, 0x02, 2, dataBuf, &error);
This came up in the UMDKv2 VHDL and I fixed it by having two STATE_END_WRITE states: 1) For transfers where the last block is shorter than 512 bytes -> assert pktend 2) For transfers where the last block is exactly 512 bytes -> do not assert pktend