Hi Jon,
Which OSVVM VC are you using?
For AXI4 Manager, it writes a U to memory in locations when WSTRB is 0. The U will not be stored in memory. For reading, there is no indication the data is valid or not. Hence, if your burst FIFO is organized as words, you will need to exclude those bits from comparing to X”020100–“. The ‘-‘ is allowed with VHDL-2008. If your burst FIFO is organized as bytes, the unused bytes will not be in the FIFO. Of the FIFO handles words, no special handling is done for the first and last words to mark unused bytes – (AxiStream does do this though, not sure why similar logic was not added for AXI FULL reads – if you want to be able to do this, fill out an issue report on it.)
For AXI4 Memory, if WSTRB is 0, the byte will not be stored in memory. On reading, the value will be a U if it was not written by an operation previous to this one.
Best Regards,
Jim