• 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. Usage of asiSelectInst()

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 14148
  • 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

Usage of asiSelectInst()

kaeptnbalu
kaeptnbalu over 14 years ago

Hello dear friends of fancy SKILL programming,

 i tried the whole afternoon to get the asiSelectInst() function to do what it should, but...

*Error* No method supplied for generic function asiGetSimName

 I traced  asiGetSimName(), and usually the forms (e.g. "Analysis -> Choose...") call it succesfully with a simulation object, returning the simulator name (spectre in my case). I also saw Andrew's hint from 2004 to try something like  MYform->asiSession=asiGetCurrentSession(), but no luck :-(

 Here are some snippets from my code:

 ...

  instanceName=hiCreateStringField(
        ?name 'instanceName
        ?prompt "Instance"
        ?editable 'nil
        ?value "*** empty ***"
       )
        selectButton=hiCreateButton(
                ?name 'selectButton
                ?buttonText "Select Instance..."
                ?callback "asiSelectInst('instanceName ?prompt \"Select instance...\" ?form 'iastoolsAOForm)"
        )

...

    unless(boundp('iastoolsAOForm)
        iastoolsAOCreateForm(myADESession)
        )
    hiDisplayForm(iastoolsAOForm)
    iastoolsAOForm->asiSession = myADESession

...

 This code calls asiGetSimName() if I press my select button - but without argument, thus leading to the error message from above. So, how exactly do I bind my session to my form? Or how should I call my form to avoid this issue? I also tried to set astiSession as done e.g. for the direct plot field.

 Any help appreciated :-)

 thanks,

Martin

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Martin,

    It's either because you didn't set the asiSession property on your form, or it was set to nil - maybe asiGetCurrentSession() returned nil? Did you have the ADE or associated schematic window as the current window when you called asiGetCurrentSession().

    I just tried code like yours and it worked.

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Martin,

    Actually looked at your code again, and it's because you have:

    ?callback "asiSelectInst('instanceName ?prompt \"select instance...\" ?form 'iastoolsForm)"

    It should be:


    ?callback "asiSelectInst('instanceName ?prompt \"select instance...\" ?form iastoolsForm)"

    Ie no quote before the form variable given as the ?form arg.

    Regards,
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kaeptnbalu
    kaeptnbalu over 14 years ago

     Ooops, stupid mistake regarding the little ' - I'll give it a try tomorrow and hope that it will work. I'll let you know...

    I am sure that myADESession is set properly, as I set it as argument for my procedure, directly from the menu (and already am able to parse the outputs). Is there any specific reason I should rather get it via asiGetCurrentSession?

     Best regards,

    Martin

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Martin,

    Getting the session the way you're doing it is fine.

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kaeptnbalu
    kaeptnbalu over 14 years ago

    Hello Andrew,

     Ok,I got it working, I used iasAOForm->asiSession = asiGetCurrentSession(), while I use the sevSession() to retrieve the outputs.

    Unfortunately with this aprroach I lose the information about window where the instance I chose is in. For now, that's fine for some testing, but I will have to find a smart way to find exactly the instance I clicked on, including its cellview.

     

    Thanks a lot,
    Martin

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Martin,

    Not sure why you would lose track of that - the information on the design is associated with the sev or ADE session object. 

    Anyway, hopefully you've resolved your problem by now. If not, maybe you can clarify exactly what the remaining issue is by illustrating it with some code?

    Regards,

    Andrew.

    • 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