Jump to content

[cadence]*F,CUVUNF happens when irun 09.20-s024 on `uvm_blocking_put_imp_decl(_reg)


Recommended Posts

Cadence expert,

My implementation works in IES/0920_s12, but fails when chaning to IES/0920_s24, the error message is like below, could anyone give some help? and thanks!

ncelab: *F,CUVUNF (ahb_rgm_master_squr.sv, 2|31): Hierarchical name component lookup failed at 'UVM_IMPLEMENTATION.

ahb_rgm_master_squr.sv

line 2: `uvm_blocking_put_imp_decl(_reg)

Thank you so much!

Link to comment
Share on other sites

Several experiments:

1. RGM xbus example passed in 09.20-s024.

2. The same error also happens if run my test with the version 09.20-s019

3. The test works with the version 09.20-s014

Questions:

1. Is there any chance for me to learn more about the error message?

2. Any hint to solve this problem?

Link to comment
Share on other sites

I have seen similar problems before when uvm is imported in the compilation unit scope and for some reason the name lookup for ius can't find some of the identifiers. One thing to try for a workaround is to explicitly import that symbol in the ahb_rgm_master_squr.sv file. Do something like:

import uvm_pkg::UVM_IMPLEMENTATION;

Or, you can just try importing uvm_pkg::* in that file.

You should also file a ticket with Cadence to get the issue resolved.

john

Link to comment
Share on other sites

This is just a workaround. It looks like there is probably a bug in the symbol lookup code in IUS. I am guessing that you are probably importing uvm_pkg::* inside of the compilation unit scope but your class definition that uses the _decl is in another scope. I recall a similar issue about 6 months ago. I will try to create a testcase to reproduce the issue, but if you can contact the Cadence customer support with a failing testcase, that will speed the process up.

Link to comment
Share on other sites

  • 7 months later...

Same kind of problem happens again when IES/1020_s15 and UVM10p1, more and more lines are needed when the same error happens.

import uvm_pkg::*;

import uvm_pkg::UVM_NONE;

import uvm_pkg::UVM_ERROR;

import uvm_pkg::UVM_LOW;

import uvm_pkg::UVM_FATAL;

Although it works, however it looks very strange. hope Cadence could fixs it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...