In what cases we use unions in verification.?

If there are multiple data types delcared in a union ,When we try to update a value in a union the othere is lost. also they create a single memory for the entire union unlike structures where each data type has it’s own memory.

So can any one tell how union would be helpful in verification…?

To start, I would suggest reading a few previous posts on the forum, for example:

Additionally, I recommend reading some examples of union usage in System-Verilog available on the web.

SystemVerilog unions come in two forms: unpacked and packed. Unpacked unions are a software concept for sharing memory space of variables with different data types using the same memory pointer. Since the memory layout of SystemVerilog data types in undefined, and there are no pointers, unpacked unions have limited use (when the different types need to share common header data, and when using the DPI C interface).

Packed unions represent different layouts for the same bit-stream of data. This means packed unions are restricted to other bit-level types (no reals or dynamic types). This allows you to reference a particular field of a register by a symbolic name as well as a bit position in an array.,