In https://github.com/VUnit/vunit/blob/master/examples/vhdl/array_axis_vcs/src/fifo.vhd#L44
assert always (not rst and wr -> not (d ?= dx or d ?= du))@rising_edge(clkw)
report "wrote X|U to FIFO";
With "?=" when one operand is an 'X' or a 'U' it only returns '1' when the other value is a '-', otherwise, it returns 'X' or 'U'. Probably not what you want
I think you need a regular "="
In https://github.com/VUnit/vunit/blob/master/examples/vhdl/array_axis_vcs/src/fifo.vhd#L44
assert always (not rst and wr -> not (d ?= dx or d ?= du))@rising_edge(clkw)
report "wrote X|U to FIFO";
With
"?="when one operand is an'X'or a'U'it only returns'1'when the other value is a'-', otherwise, it returns'X'or 'U'. Probably not what you wantI think you need a regular
"="