• 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. Get user input with GUI in the runtime

Stats

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

Get user input with GUI in the runtime

sbkuizlzl
sbkuizlzl over 3 years ago

Hi all.

I'm using Virtuoso IC6.1.8-500.19 and I am writing the SKILL script that needs to take user's input in the runtime.

At first, I implemented it by using gets function and got the input from CIW. It works well.

However, I want to take the input with GUI. 

A trick I can think is that call break to halt the function right after hiDisplayForm, and if the callback is called by clicking "OK", take the value from the form as below.


procedure(test_gui()

    formId = gui_body()

    break()

    want_value = formId-><some_field>->value

);procedure

procedure(gui_body()

prog((formId)

    /* Some field

    ....

    */

    formId = hiCreateLayoutForm(... ?callback "continue()" ...)

    hiDisplayForm(formId)

    return(formId)

);prog

);procedure


But I don't think it is a good way. Is there a way to achieve it?

  • Cancel
Parents
  • AurelBuche
    AurelBuche over 3 years ago

    Hi, I guess what you just need is the 'modal dialogStyle argument:

    This should do what you expect:

    (defun prompt nil
      "Prompt user, return typed string"
      (let ((form (hiCreateLayoutForm 'custom_prompt "Prompt"
                    (hiCreateFormLayout 'main_layout ?items (list (hiCreateStringField ?name 'input ?prompt "Input")))
                    ?dialogStyle 'modal
                    ?buttonLayout 'OKCancel
                    ?buttonDisabled '(Help)
                    )))
        (hiDisplayForm form)
        form->input->value))

    Cheers,

    Aurélien

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • AurelBuche
    AurelBuche over 3 years ago

    Hi, I guess what you just need is the 'modal dialogStyle argument:

    This should do what you expect:

    (defun prompt nil
      "Prompt user, return typed string"
      (let ((form (hiCreateLayoutForm 'custom_prompt "Prompt"
                    (hiCreateFormLayout 'main_layout ?items (list (hiCreateStringField ?name 'input ?prompt "Input")))
                    ?dialogStyle 'modal
                    ?buttonLayout 'OKCancel
                    ?buttonDisabled '(Help)
                    )))
        (hiDisplayForm form)
        form->input->value))

    Cheers,

    Aurélien

    • 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