• 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. Communication between e and SV

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 64
  • Views 13420
  • 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

Communication between e and SV

YM KIM
YM KIM over 15 years ago

Hello all,

I'd like to implement interface channel between e and SV and followings are candidates. Which one do you think the most efficient?
Or else ways? Any ideas will be welcomed.

1. Using ports in Specman 

2. DPI

3. VPI

Thank you.

  • Cancel
  • StephenH
    StephenH over 15 years ago

    What sort of efficiency are you after? ;-)

    I guess if you hand-crafted some bit of DPI or VPI code you might possibly get it a shade faster than the core tools can do, but you'd have spent many hours doing it, and it wouldn't be a generic solution. I'd recommend that you use e ports; you have a choice of method ports or TLM ports.

    Using these takes just seconds to hook up, it's easy to maintain, and you won't waste hours trying to get (and keep) it working.

    I used both e-SV method ports and TLM ports for the first time a few months ago, on a USB project, and was up and running really quickly just from the examples in the docs.

    You need to be using at least IES 8.2 for TLM ports to work.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • YM KIM
    YM KIM over 15 years ago

    What I meant was time, effort, performance so your guess was correct!! :-) Thank you for your quick reply.

    How about interface between C and SV? Do you think still VPI is needed? or DPI might be a solution on that?

    Now I'm thinkg about common library, written in C, that can be used in several interface , e-SV and C-SV. I'd like to have other's ideas.

    Thank you!

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StephenH
    StephenH over 15 years ago

    I'm no expert, but what I've seen so far suggests DPI can do the majority of things an everyday user would want, but sometimes you might need to augment it with some VPI to do things to the simulator core, e.g. turning on/off assertions or executing simulator-specific features like TCL commands. The answer will really depend on what you need to achieve.

    If what you're most worried about is how to pass transaction data between e, SV and C, I'd expect the TLM ports to be of most use, since they are truly language-neutral and were designed for that purpose. It also means less work yourself to interface the data types etc.

    • 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