Doubt in create_map in uvm_ral

Hi all
i have written a ral code consists of only memory
basically i created a memory of address size of 32 bit and data of 32’bit (4 bytes of data) when i am writing a data to 'h2 using .write method the adapter is getting a value 'h2*4 address
if i make no_of bytes in create_map as 'h1 the driving address is passing with out multiplication
i needed a code modification where address is taken without multiplication but no_of_bytes of data stored should be 32(4 bytes)

memory block code in picture

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.