UVM Register Backdoor SystemVerilog support routines.

These routines provide an interface to the DPI/PLI implementation of backdoor access used by registers.

Default is backward compatible -- NO DPI Backdoor.  If you are not using backdoor access, there is nothing you need to do.

If you want to use the DPI Backdoor API, then compile your SystemVerilog code with the vlog switch

vlog ... +define+BACKDOOR_DPI ...

If you DON’T want BACKDOOR_DPI, you don’t have to define anything.

If you always want BACKDOOR_DPI, then in this file, you can add a line like to avoid having to supply the vlog compile-time switch.  Uncomment the following line to have BACKDOOR_DPI on by default.

`define BACKDOOR_DPI
Summary
UVM Register Backdoor SystemVerilog support routines.
These routines provide an interface to the DPI/PLI implementation of backdoor access used by registers.
Variables
UVM_REGISTER_MAX_WIDTHThis parameter will be looked up by the DPI-C code using: vpi_handle_by_name( “uvm_register_pkg::UVM_REGISTER_MAX_WIDTH”, 0);
Methods
uvm_register_check_hdl()The path argument is looked up using vpi_get_handle().
uvm_register_set_hdl()This routine sets the value of a named path, using the PLI.
uvm_register_get_hdl()This routine gets the value of a named path, using the PLI.

UVM_REGISTER_MAX_WIDTH

parameter int UVM_REGISTER_MAX_WIDTH = `UVM_REGISTER_MAX_WIDTH

This parameter will be looked up by the DPI-C code using: vpi_handle_by_name( “uvm_register_pkg::UVM_REGISTER_MAX_WIDTH”, 0);

uvm_register_check_hdl()

import "DPI-C" function int uvm_register_check_hdl(string path)

The path argument is looked up using vpi_get_handle().  If the path is found, return 1, otherwise return 0.

uvm_register_set_hdl()

import "DPI-C" function void uvm_register_set_hdl(
   string path,
   logic[`UVM_REGISTER_MAX_WIDTH-1:0] value
)

This routine sets the value of a named path, using the PLI.  Lookup ‘path’, and assign value.

uvm_register_get_hdl()

import "DPI-C" function void uvm_register_get_hdl(
   string path,
   output logic[`UVM_REGISTER_MAX_WIDTH-1:0] value
)

This routine gets the value of a named path, using the PLI.  Lookup ‘path’ and return the value.

parameter int UVM_REGISTER_MAX_WIDTH = `UVM_REGISTER_MAX_WIDTH
This parameter will be looked up by the DPI-C code using: vpi_handle_by_name( “uvm_register_pkg::UVM_REGISTER_MAX_WIDTH”, 0);
import "DPI-C" function int uvm_register_check_hdl(string path)
The path argument is looked up using vpi_get_handle().
import "DPI-C" function void uvm_register_set_hdl(
   string path,
   logic[`UVM_REGISTER_MAX_WIDTH-1:0] value
)
This routine sets the value of a named path, using the PLI.
import "DPI-C" function void uvm_register_get_hdl(
   string path,
   output logic[`UVM_REGISTER_MAX_WIDTH-1:0] value
)
This routine gets the value of a named path, using the PLI.