• 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. Custom IC SKILL
  3. Use terminal net name as value for an instance's CDF pa...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 2601
  • 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

Use terminal net name as value for an instance's CDF parameter

dontpanic
dontpanic over 10 years ago

Hi all! I am trying to find a way to use the name of the net that is connected to an instance's terminal, as a string value for one of the instance's CDF parameters. 

In particular, I have a verilog-A component "sample2disk(vIN)" which when instantiated in an schematic samples and dumps to a text file the voltage "vIN" at its input port. This cell has a string parameter "signal_name" which I use to generate the output file name. The component works fine, but currently I need to hard-code the "signal_name" parameter for every instance of this component that I use in an schematic. For example, if I have 2 instances of this component connected to the signals "stage1_vout" and "stage2_vout" in my schematic, then I would need to hard-code these names as values for the corresponding "signal_name" parameters. Instead, I would like to use a skill function that returns automatically these signal names so that they don't not remain hardcoded, allowing for a correct operation when reusing this cell multiple times in an schematic or when copying and pasting across schematics.

I would be really grateful if someone could please help me to figure out how to achieve this behavior (if possible at all).

Thanks in advance for any help!

Cheers,

Jorge.

  • Cancel
Parents
  • dontpanic
    dontpanic over 10 years ago
    Dear Andrew,

    thank you so much for your reply and the sample code; it achieves exactly what I meant. Even though I admit it's still a little cryptic for me (never saw before any netlisting functions!), I was able to modify it for the case of a multi-port component, and also to automatically determine the parent cellview name and library path at netlist time, for which I used the functions "nlGetTopCellName(nlGetDesign(nlGetNetlister(inst)))" and "dbFullLibPath(nlGetLibName(inst))". Before I tried to enter these functions as values in the respective component's CDF, but without any success (even after checking the "parse as CEL" option in the associated CDF properties). I guess this means it's not possible to use skill functions as values in an instance's CDF fields, right?

    Thanks again for your help; it's really appreciated.

    Cheers,

    Jorge.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • dontpanic
    dontpanic over 10 years ago
    Dear Andrew,

    thank you so much for your reply and the sample code; it achieves exactly what I meant. Even though I admit it's still a little cryptic for me (never saw before any netlisting functions!), I was able to modify it for the case of a multi-port component, and also to automatically determine the parent cellview name and library path at netlist time, for which I used the functions "nlGetTopCellName(nlGetDesign(nlGetNetlister(inst)))" and "dbFullLibPath(nlGetLibName(inst))". Before I tried to enter these functions as values in the respective component's CDF, but without any success (even after checking the "parse as CEL" option in the associated CDF properties). I guess this means it's not possible to use skill functions as values in an instance's CDF fields, right?

    Thanks again for your help; it's really appreciated.

    Cheers,

    Jorge.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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