• 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. Definitions of Viva calculator data access functions

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 144
  • Views 14941
  • 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

Definitions of Viva calculator data access functions

jayager
jayager over 9 years ago

Hello!

I am using Spectre to run a simulation on a design--it is a standard potential/flow model, but the variables are different. I have been asked to define a new set of data access functions for Viva Calculator, e.g. RT() for the node potential vs. time.

I have found asiDefineDataAccessFunction in the manual, but it seems to only allow the existing defined access functions to be redefined. I tried a little bit of handwaving, where I located the VT function with asiGetDataAccessFunction, and then asiDefined'ed RT to it--it threw no errors, but didn't work in the calculator either.

Also, I have the pipe dream of adding this RT() to the schematic access toolbar in the Viva calculator.

Here's some code, as run in CIW:

> o_tool = asiGetTool('analog)
stdobj@0x165f5d88

> daf = asiGetDataAccessFunction( o_tool 'VT )
asiDataVT

> asiDefineDataAccessFunction( o_tool 'RT 'asiDataVT )
asiDataVT

> daf = asiGetDataAccessFunction( o_tool 'RT )
asiDataVT

However, after I did this, I tried it out in ADE, but it couldn't find RT as an access function.

1) Is what I'm doing possible? asiDefine' seemed to not complain, even though the manual says it shouldn't necessarily work.
2) Is there a tutorial on this somewhere?
3) If it is possible, what am I doing wrong?
4) If it is possible, is it then possible to modify the schematic access toolbar in Calculator to include it, or is this merely all a pipe dream?

Thanks in advance!

--Jeremy

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Jeremy,

    It would be possible to define a custom calculator function that would allow you to click on a net in the schematic and have that fed to your function. It's rather awkward doing this before IC617, but in IC617 it's easy to define a new function from the Calculator UI. Then when the form for that function appears in the calculator and you click in the field for the net name, you could then click on the net in the schematic. Underneath it would probably just do getData(), but if you wanted something that appears to the user as if they are using a specific function for that potential, you could make it that way.

    The behaviour would be similar to the "Spectre RF Functions" category. 

    So for example, you could create this function and put it in a file:

    procedure(CCFpotential(netName analysis)
      getData(netName ?result analysis)
    )

    Then in the calculator:

    Click on the "fx" button in the function panel at the bottom (i.e. next to the cyclic field where it says "Special Functions"). This brings up a new form:

    Give the path to the CCFpotential code that I gave above, and then click on the Create New button. This reads the arguments from the function in the file, and starts creating the inputs for each argument. I then changed the first to Net and the second to Cyclic and gave it the list of choices:

    OK the forms, and then in the Custom Functions category you'd have CCFpotential as a function that you can pick. If you pick the netName field, you can click on the net in the schematic. The analysis name can be chosen from the cyclic field choices.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Jeremy,

    It would be possible to define a custom calculator function that would allow you to click on a net in the schematic and have that fed to your function. It's rather awkward doing this before IC617, but in IC617 it's easy to define a new function from the Calculator UI. Then when the form for that function appears in the calculator and you click in the field for the net name, you could then click on the net in the schematic. Underneath it would probably just do getData(), but if you wanted something that appears to the user as if they are using a specific function for that potential, you could make it that way.

    The behaviour would be similar to the "Spectre RF Functions" category. 

    So for example, you could create this function and put it in a file:

    procedure(CCFpotential(netName analysis)
      getData(netName ?result analysis)
    )

    Then in the calculator:

    Click on the "fx" button in the function panel at the bottom (i.e. next to the cyclic field where it says "Special Functions"). This brings up a new form:

    Give the path to the CCFpotential code that I gave above, and then click on the Create New button. This reads the arguments from the function in the file, and starts creating the inputs for each argument. I then changed the first to Net and the second to Cyclic and gave it the list of choices:

    OK the forms, and then in the Custom Functions category you'd have CCFpotential as a function that you can pick. If you pick the netName field, you can click on the net in the schematic. The analysis name can be chosen from the cyclic field choices.

    Regards,

    Andrew.

    • 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