In reply to atanu.biswas:
You are expecting word addressing A@0, B@1, but it looks like your tool is expecting byte addressing A@0, B@2. Byte addressing is also the default scheme used by uvm_reg. Your tool should be able to control which addressing scheme is being used, so you should contact your vendor for support with that.
However, regardless of which tool you use to generate a reg model, or whether you build your model by hand, the address scheme is controlled by the byte_addressing parameter to the uvm_reg_map::configure function, which defaults to 1.
// From class uvm_reg_map
function void configure(
uvm_reg_block parent,
uvm_reg_addr_t base_addr,
int unsigned n_bytes,
uvm_endianness_e endian,
bit byte_addressing = 1
)