Is it possible to swap the bytes in a UVVM axi-stream transmit?
And if so, how
What I mean: if write a single value 0x"CAFEBABE" like this:
axistream_transmit(AXISTREAM_VVCT, 0, x"CAFEBABE", "sending", C_SCOPE);
that then the tdata(31:0) would also be
Or in other words, is there a config flag for big-endian or little-endian?
There is a byte order in the BFM configuration you should be able to use (byte_endianness). Please see page 3 in the BFM QR.
I found it.
Apparently the default changed, w.r.t. to the documentation.
Documentation says FIRST_BYTE_LEFT, while the code shows LOWER_BYTE_LEFT.
And these are apparently defined in uvvm_util\src\types_pkg.vhd
Anyway, this does the trick:
shared_axi_stream_vvc_config(1).bfm_config.byte_endianness := FIRST_BYTE_RIGHT;