• 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. Can I force or probe a signal in vhdl module from verilog...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 64
  • Views 17228
  • 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

Can I force or probe a signal in vhdl module from verilog top testbench?

archive
archive over 18 years ago

At 2/07/2007 10:01 AM a message was posted to a thread you were tracking. -- RE: Using the Forum by hubertx

Can I force or probe a signal in vhdl module from verilog top testbench?
I heard some simulator has its own way to do that easily, can you give me a example code to do that with ncsim?


Originally posted in cdnusers.org by foster
  • Cancel
  • archive
    archive over 18 years ago

    Hi Hubert,

    from a VHDL module you can probe/force any VHDL or Verilog signal using ncmirror and ncforce, refer to the following documentation:

    http://sourcelink.cadence.com/docs/files/Release_Info/Docs/ncvhdl/ncvhdl5.83/applications.html#1044121

    There is no mechanic to access a VHDL object from a Verilog module today.

    As a workaround you may instantiate a VHDL Mirror component inside your Verilog module. Inside this VHDL component you can use the ncmirror and ncforce functions as described above and connect the probed/force signals through the ports to local Verilog signals.

    F.


    Originally posted in cdnusers.org by foster
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Actually you can access a VHDL object from a Verilog testbench using the $nc_force or $nc_mirror routines. They're relatively new to NC-Verilog. I just looked them up and I see that they're documented in Chapter 19 of the NC-Verilog Simulator Help manual.


    Originally posted in cdnusers.org by TAM
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Thank you very much, I'll try that.


    Originally posted in cdnusers.org by hubertx
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hi,
    we are facing a similar isue. We need to check connectivity between a source signal which is instantiated in a VHDL module and a destination signal which is instantiated in a Verilog noe. It is not clear if and how to use $nc_force command, which requires a value ('0|1)) iwith Formal Verification tool. Does soembody have ever tried that?


    Originally posted in cdnusers.org by maurizios
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    In response to forcing signals in Formal, this cannot be done. To check connectivity, you would write a property to ensure the two signals are always the same like:

    // psl verify_signals : assert always (siga == sigb);

    If the source of the signal is a port of a module you can blackbox the module driving the signal or just use [b]cutpoint[/b] to free the driven signal from being driven by the design. Now IFV will drive this signal as a free input signal and allow you to verify the connectivity to the destination. Does this explaination make sense to you?


    Originally posted in cdnusers.org by jb
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Related to the last couple of posts, there was a paper presented at CDNLive in SJ last year regarding connectivity checking.
     
    Session 1.8: Formal Analysis of Padring Mux-Logic Using IFV (Incisive Formal Verifier)

    It talks about using Formal Analysis and assertions as a much more efficient way to solve the connectivity problem.  You might find it useful. It can be found at:

    http://www.cdnusers.org/CDNLive/SiliconValley2006Proceedings/tabid/366/Default.aspx?topic=Functional%20verification


    Originally posted in cdnusers.org by ccc
    • 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