• 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. How to mirror VHDL signal in verilog Top Test bench

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 66
  • Views 20117
  • 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

How to mirror VHDL signal in verilog Top Test bench

Sowmya Reddy
Sowmya Reddy over 17 years ago

Hi I am writing a test bench to test VHDL design For which I need to access few signals in the design hierarchy How to mirror them, I used nc_mirror, but got errors. Help me Thanking Venkat Reddy Uppala

  • Cancel
  • tpylant
    tpylant over 17 years ago

     What kind of problem are you having? There is pretty good documentation on nc_mirror in the NC-Verilog and NC-VHDL manuals if you just need some examples.

     

    Tim

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sowmya Reddy
    Sowmya Reddy over 17 years ago
    Hi

    Thank you  for your response

    Briefly I will explain my problem

    1) My design is in VHDL

    2) My test bench is in verilog.

    3) In my testbench, after writing few registers in my design

    4) I have to check whether a particular pin of a module deep in hierarchy is set (or ) not

    How I did

    nc_mirror("ba8p_ready", "pali_digit_inst:pali_inst:HS_P_TESTSITE_C:ba8p:hc:hssprtready", "");

    pali_digit_inst  is instantiation of a verilog file and from pali_inst the design starts which is in VHDL.

    I am getting the following error while elaborating

    ncelab: *E,CUVMUR: instance 'pali_epp_test' of design unit 'nc_mirror' is unresolved in 'work.pali_epp_test:module'.

    I have read ncvlog version 5.5 june 2005

    I also have read ncvhdl version 5.5 june 2005

    But could not resolve

    I also tried

    assign ba8p_ready = pali_digit_inst:pali_inst:HS_P_TESTSITE_C:ba8p:hc:hssprtready;

    But it is giving compilation errors.

    Could you please help me resolve this
    Regards
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tpylant
    tpylant over 17 years ago

     A couple of clarifications:

    1. I assume you meant "$nc_mirror" instead of "nc_mirror" since "nc_mirror" is a VHDL command
    2. I assume "pali_digit_inst" is instantiated from the testbench and the testbench is "pali_epp_test"

     If those two assumptions are correct, then try using full pathnames for the $nc_mirror command:

    •  $nc_mirror("pali_epp_test.ba8p_ready", "pali_epp_test.pali_digit_inst:pali_inst:HS_P_TESTSITE_C:ba8p:hc:hssprtready", "");

    Here is the help message for your error in case it might provide more insight:

    % nchelp ncelab cuvmur
    ncelab/cuvmur =
            An instance of a unit could not be resolved in the libraries,
            where unit is defined in Verilog to be either a module,
            macromodule, primitive, interface or program block or a config.
            In VHDL a unit would be either an entity or a configuration.
            It is also possible that a 5.X configuration view could not be
            resolved in the libraries.
            The error could arise because the Verilog/VHDL unit or the
            5.X configuration view being instantiated in the Verilog
            module needs to be built. A rebuild is needed if a new
            version of the software was installed after the last build.
            Another reason for the problem could be an incorrect or missing
            library name, in which case it could be resolved by supplying
            the correct library name.

    Tim

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • adua
    adua over 16 years ago

    Venkat,

    The problem in your case is that the path specified in your nc_mirror is not correct. You need to get the correct path.

    The most likely cause seems to be that the vhdl top path starts with a ":" So instead of the top level entity/architecture, you replace it with ":"

    Moreover, there are a few easy ways to find out the correct path with the help of tool:

    a) Open the Simvision design browser (ncsim -gui or irun -gui) and drill down to the signal and then see its correct path from Right click menu "Describe" option. You can get the correct pathname which is printed in the console window.

    b) On the ncsim tcl prompt (ncsim -tcl or irun -tcl), confirm the path by doing "describe <objectname>" to confirm the path.

    c) Use the tcl find command to find the path name of object.

    I hope it helps.

    rgds,

    Amit.

    • 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