• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. NCELAB WOUPSR errors

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 65
  • Views 14345
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NCELAB WOUPSR errors

Ian88
Ian88 over 7 years ago

I have a UVM testbench which gives the following errors when I compile:

$cast(arg, tr); // Need run-time casting because at compile time T1 can be scalar.
|
ncelab: *E,WOUPSR (/vl/edatools/extern/Cadence/INCISIV/15.2/087/tools/methodology/UVM/CDNS-1.1d/sv/src/tlm1/uvm_tlm_ifs.svh,229|12): A reference to an entire unpacked struct/union is not permitted in this context [SystemVerilog].

However, the code it points to is in the UVM base class library that comes with the installation. Clearly the problem is not with the uvm base class library, but the code in my testbench that calls the function.

Is there any way I can get Incisive to be more verbose in reporting the error and point me to the root cause of the problem in my testbench code?

  • Cancel
  • StephenH
    StephenH over 7 years ago

    Unfortunately this is as much information as you can get for that exact error (I feel your pain, I've hit it a few times myself). The problem is caused by a multi-language TLM extension that is in the Incisive bundled version of UVM.

    Look in your code for any place where an unpacked struct is used with any kind of TLM port. If you know the code it shouldn't be too hard to find.

    You might also try adding +define+ML_UVM_DISABLE to your compilation command; this turns off the multi-language TLM extensions in UVM.

    If that doesn't help, try to find the offending struct and replace it with (or wrap it with) a class.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ian88
    Ian88 over 7 years ago in reply to StephenH

    Ok, I found it and changed to a packed struct which fixed the problem. Thanks for your help.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information