Backdoor Read using read and peek method

Do I need to setup any path to able to backdoor read register via .read or .peek API? I am able to read/write registers via front door. I get a error message “No back door access available to register”. Do I need to set any path or update model to support backdoor access?

In reply to superUVM:

Have you read the UVM Cookbook section on Registers? Specifically the section on backdoor access?

Thanks for pointing me to cookbook. Can I add add_hdl_path and add_hdl_path_slide outside build method? e.g. from test bench since it is not part of model like reg_model.add_hdl_path(…).

In reply to superUVM:

No, because once lock_model() is called, the register model can’t be changed.

The typical register use model is to have a spreadsheet or other source document that defines the register definitions, and a tool is used to translate that document to the UVM register map. These tools will support most of the UVM register features.

Check your tool documentation to see if such a tool is provided.