Axistream Byte order

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
x"CAFEBABE"
and not
x"BEBAFECA"

Or in other words, is there a config flag for big-endian or little-endian?

Rgds,
Eric

Hi Eric,

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.

Br,
Marius

Hi Marius,

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;
Rgds,
Eric

1 Like