Doubt in create_map in uvm_ral

When you call create_map, there is another option you can set: byte_addressing. It defaults to 1, but I think you’ll want to set it to 0. That will make it so each bus address refers to a block determined by the bus width (n_bytes) instead of the default 1 byte. Then also change your mem’s n_bits to 32, and I think you’ll have what you’re after.