• 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. How to fill a stringField of a form by selecting a net from...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 144
  • Views 13721
  • 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

How to fill a stringField of a form by selecting a net from the schematic?

Baiyuzhong
Baiyuzhong over 11 years ago
Hello, 
I  created a string field and a button for a form using the following codes. What I want to do is that when clicking the button, it will lead me to the shematic and allow me selcect a net. Then the name of the selected net will appear at the stringFiled. How can I do that? Could somebody help me on this issue? Thanks In advance.
 
myVdd = hiCreateStringField(
?name  'Vdd
?prompt "Power Supply:"
?defValue "vdd!"
 )
 
slectVddButton = hiCreateButton(
?name 'slectVdd
?buttonText "Select"
?callback "chooseNet()"
) 
  • Cancel
  • berndfi
    berndfi over 11 years ago
     1 procedure( getNetName( )
     2     let( ( selSet )
     3
     4     selSet = geGetSelSet()
     5
     6     if( car( selSet~>net ) then
     7         if( onep( length( selSet ) ) then
     8             printf( "Net name: %s\n" car( selSet~>net~>name ) )
     9         else
    10             warn( "More than one net selected\n" )
    11         ) ;; close if        
    12     else
    13         warn( "Selected set is not a net\n" )
    14     ) ;; close if
    15
    16     ) ;; close let
    17 ) ;; close procedure  
    18   
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Baiyuzhong
    Baiyuzhong over 11 years ago
    Thanks for  your reply. Actually I know how to use geGetSelSet() to obtain a net name, but it is based on you have a selected a net in the schematic at first. Let me restate my problem more clear.
     
    My issue is that I created a form using the following code with one string field and one button named "Select";  the default  value of the string field is "vdd!". What I want to implement is when I click the "Select" button, the active window will change to a schematic and it will wait until I choose a net. After I sucessfully choose a net from the schematic, the active window should change to my form and the selected net name will automatically appear at my string field.
     
    myVdd = hiCreateStringField(
    ?name  'Vdd
    ?prompt "Power Supply:"
    ?defValue "vdd!")
     
    slectVddButton = hiCreateButton(
    ?name 'slectVdd
    ?buttonText "Select"
    ?callback "getNetName()") 

    hiCreateAppForm( 
    ?name 'testForm
    ?formTitle "selectNet"
    ?fields list(
    list( myVdd 15:10 200:25 100)
    list( slectVddButton 220:10 50:25 ))
    )
    hiDisplayForm(testForm)
     
    The issue that stuggles me is that how to automatically change the active window from the form to the schematic and form the schematic to the form and how to let the system wait my mouse action until I selcet a net.
     
    Thanks! 
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • berndfi
    berndfi over 11 years ago

    The net selection and back propagation ( form->filed->value = netName ) actually should be

    handled by your “getNetName” callback.

    You can prompt for a selection there, maybe make use of an enter function (enterPoint).

    I don’t have a complete solution, just want to point you how to get the net name.

    Just posting the form code anyhow does not help the community here, because the

    main functionality related to your question should be included in the callback function. 

    • 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