How to change severity of "UVM_ERROR: get: unable to locate hdl path"

When I use UVM_BACKDOOR for RAL, I get this “UVM_ERROR: get: unable to locate hdl path”.
I would rather change to UVM_FATAL so I know immediately there’s an error in the RAL path.
Anyone know how to change this? An example would be great.

Thanks.

In reply to Will Y.:
You can use the command line to change Errors in to Fatal

vsim +uvm_set_severity=uvm_test_top.*,,UVM_ERROR,UVM_FATAL

where this the particular message ID comming from UVM_RAL

Is there a way to change the settings before I access RAL and change it back to the normal in the code and not at command line.
Thanks.

In reply to Will Y.:

set_report_severity_id_override

Hi Dave,
It’s not working for me. I don’t think I’m using the correct ID.
The error I’m getting is

UVM_ERROR: get: unable to locate hdl path test.DUT_TOP.tmp.buffer.wrCountTmp

Either the name is incorrect, or you may not have PLI/ACC visibility to that name

I’m trying to convert UVM_ERROR to UVM_FATAL.
I tried to find the ID by using regmodel.buffer.get_full_name(). Don’t think it’s correct.

Any idea how I should go about getting the ID for uvm_reg in uvm_reg_block?

Thanks.

-Will

*In reply to Will Y.:*Show the complete error message you want to change.

I’m not sure I understand.
This is the only message that is getting reported that I would like to change from

UVM_ERROR: get: unable to locate hdl path test.DUT_TOP.tmp.buffer.wrCountTmp

Either the name is incorrect, or you may not have PLI/ACC visibility to that name

to

UVM_FATAL: get: unable to locate hdl path test.DUT_TOP.tmp.buffer.wrCountTmp

Either the name is incorrect, or you may not have PLI/ACC visibility to that name

In reply to Will Y.:

OK. Looks like this error message is coming directly from the DPI-C code in UVM 1.1.

274  if(r == 0)
  275   {
  276       vpi_printf((PLI_BYTE8*) "UVM_ERROR: get: unable to locate hdl path %s\n", path);
  277       vpi_printf((PLI_BYTE8*) " Either the name is incorrect, or you may not have PLI/ACC visibility to that name\n");
  278     // Exiting is too harsh. Just return instead.
  279     // tf_dofinish();
  280     return 0;
  281   }
  282   else

So you will need to uncomment the tf_dofinish() routine.

UVM 1.2 uses a proper UVM report to issue the message and you will be able to change the severity.

Thanks. Now it totally makes sense.

Hi Dave,
I’ve installed Questa 10.5c Linux 64 using QUESTA_UVM-1.2.3.
As far as I can tell, I’m using UVM-1.2.

The error is still the same.

UVM_ERROR: Unable to read value from ‘test.DUT_TOP.tmp.buffer_wrCountTmp’

Either the path is incorrect, or you may not have PLI/ACC visibility to that object.

Seems like this is still coming from the DPI-C code.
Anything I’m missing?

Sorry, the message is not exactly the same.

Unable to read value from
vs.
unable to locate hdl path

It doesn’t look to be in the new UVM1.2 reporting format

In reply to Will Y.:
The QUESTA_UVM package is an additional package to the UVM package. The UVM version default is still 1.1d. Please see the user manual for changing the default or contact your vendor directly.

Hi Dave,
I believe I am using UVM-1.2.
I did the change in my modelsim.ini file to
;mtiUvm = $MODEL_TECH/…/uvm-1.1d
mtiUvm = $MODEL_TECH/…/uvm-1.2

The transcript log is indicating uvm-1.2.
ie,
:

Loading /opt/tools/mentor/questasim/10.5c/questasim/uvm-1.2/linux_x86_64/uvm_dpi.so

:
:

UVM_INFO verilog_src/uvm-1.2/src/base/uvm_root.svh(392) @ 0: reporter [UVM/RELNOTES]

----------------------------------------------------------------

UVM-1.2

(C) 2007-2014 Mentor Graphics Corporation

(C) 2007-2014 Cadence Design Systems, Inc.

(C) 2006-2014 Synopsys, Inc.

(C) 2011-2013 Cypress Semiconductor Corp.

(C) 2013-2014 NVIDIA Corporation

----------------------------------------------------------------

:
:

UVM_INFO verilog_src/questa_uvm_pkg-1.2/src/questa_uvm_pkg.sv(215) @ 0: reporter [Questa UVM] QUESTA_UVM-1.2.3

:

In reply to Will Y.:
In UVM 1.2 that message is replaced with

if(r == 0)
  {
      const char * err_str = "set: unable to locate hdl path (%s)\n Either the name is incorrect, or you may not have PLI/AC
C visibility to that name";
      char buffer[strlen(err_str) + strlen(path)];
      sprintf(buffer, err_str, path);
      m_uvm_report_dpi(M_UVM_ERROR,
                       (char*) "UVM/DPI/HDL_SET",
                       &buffer[0],
                       M_UVM_NONE,
                       (char*)__FILE__,
                       __LINE__);
    return 0;
  }

Somehow, you are not picking up the right DPI library. This forum is not for tool specific help, you will need to contact your vendor directly.

Ok. Thanks for your help.