• 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. What the functionality of form attribute "?basename"

Stats

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

What the functionality of form attribute "?basename"

JamesJames
JamesJames over 1 year ago

Hi,

I'm just curious the functionality of "?basename" of a form that created by "hiCreateAppform" or "hiCreateLayoutForm", can anyone explain this with some example code? I would be much appreciate. 

Thanks,

James

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    James,

    I've never used ?baseName in the last 30 years (I'd never even noticed its existence!).

    As far as I can tell, it's useful if you use hiStoreFormLocation - the form location for all forms with the same baseName is then stored. This is used by Options→Save Session in the CIW (which I think pretty much nobody uses) so that you can restore form locations in the next session by using virtuoso -restore sessionFile. The baseName is then useful for the situation when you have multiple uniquely generated forms (e.g. with ?name gensym(...) to ensure you can have more than one at once) - the location information can be stored for a common base. If you don't use ?baseName it would just store the location for the form symbol.

    The documentation is pretty terrible on this argument - I'll request it is improved. I might have got the above wrong, but from a quick look through the code I think that's what it's for!

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JamesJames
    JamesJames over 1 year ago in reply to Andrew Beckett

    Thanks Andrew, thanks share your information.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AH202408041425
    AH202408041425 over 1 year ago

    The ?basename functionality in a form created by hiCreateAppform or hiCreateLayoutForm is used to retrieve the base name of the form. This is typically useful when you need to access or manipulate the form's properties or methods dynamically.

    Here's a simple example to illustrate how ?basename works:

    // Assuming you have created a form using hiCreateAppform
    var myForm = hiCreateAppform("myFormName", {
    // form properties and configurations
    });

    // Use ?basename to get the base name of the form
    var baseName = myForm.?basename;

    // Example of using the base name in a function
    function displayFormBaseName(form) {
    console.log("The base name of the form is: " + form.?basename);
    }

    displayFormBaseName(myForm);
    • Cancel
    • Vote Up -1 Vote Down
    • Cancel
  • skillUser
    skillUser over 1 year ago in reply to AH202408041425

    I'm sorry but the above is confusing and misleading: 'var' and 'function' are not SKILL commands, and the syntax that you have used is not SKILL either - what language is this supposed to be, and how would it be used with a SKILL-based form?

    Best regards,

    Lawrence

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to skillUser

    Lawrence,

    I’d ignore it as it looks as if it was generated by chatGPT or similar. The comment characters are also wrong and it is nonsense…

    I do wonder what the point of answering questions like this is!

    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