• 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. Insert variable in CIW.

Stats

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

Insert variable in CIW.

denis1235
denis1235 over 5 years ago

Hi, All!

I'm a new SKILL developer, and i have one question.

Does Skill have a command for inserting data in CIW, similarly in C++, with command "cin>>"?

Or I should just assign value of variable manually, as Variable = "Value"?

 

Best Regards, 

Denis.

  • Cancel
Parents
  • mbracht
    mbracht over 5 years ago

    Hi Denis,

    To read from standard in you do
    (gets result piport)
    ...with whatever you type going to result. So that'd be the equivalent of cin>> in C++. However I don't understand what that's got to do with assigning a value to a variable, I mean you just type the variable and it's value into the CIW and that's it.

    Max

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • denis1235
    denis1235 over 5 years ago in reply to mbracht

    I mean that in C++, if I want to assign a value of variable, i write:

    cout<<"Value of this variable:";

    cin>>var;

    And until I insert this value, terminal will wait this. Does SKILL have such analog? Or I can insert value just Variable = "value"?

    Denis

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 5 years ago in reply to denis1235

    Can you please explain why you want to do this. Why not just type
    variable=value
    You need to explain the use case. Why buffer a value in a stream and then in a second step read from that stream?

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • denis1235
    denis1235 over 5 years ago in reply to mbracht

    Below, I attached part of my script, with it I set a new values of CellType and SiteDefinition. I did it, but for inserting new values, need uncomment few strings and enter new values instead value in quotes, as *VAR", or *SITE_NAME* and so on. And my colleague want insert new values from CIW. And I tried make it with standard type in CIW, but for her it looks like not comfortable. So I tried do it with equivalent in C++.

    My realization:

    ;IF YOU WANT TO CHANGE SITE DEFINITION, UNCOMMENT 2 NEXT STRING AND TO SET VARS:(*SITE_NAME*),(*SITE_ORIGIN*),(*SITE_ROTATE*) TO REQUIRED VALUES
    ;SiteDefinition = '(("*SITE_NAME*" (*SITE_ORIGIN*) "*SITE_ROTATE*"))
    SITE = window~>topCellView->sitePattern=SiteDefinition

    ;FOR SETTING NEW VALUE FOR -CLASS-, UNCOMMENT NEXT STRING AND WRITE NEW NAME INSTEAD *VAR*
    ;window~>topCellView->cellType = "*VAR*"

    Denis

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 5 years ago in reply to denis1235

    Denis,

    Both << as well as >> are overloaded operators in C++ which is a concept that is neither supported in SKILL nor in SKILL++ (at least as far as I know...).
    So the gets() solution I gave you earlier is getting closest to what you want. However this is a rather unusual way in virtuoso so I strongly recommend to read the variable value through a form.

    regards
    Max

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • denis1235
    denis1235 over 5 years ago in reply to mbracht

    Thx you, Max!

    I'm glad for your help!

    Kind regards,
    Denis

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • denis1235
    denis1235 over 5 years ago in reply to mbracht

    Thx you, Max!

    I'm glad for your help!

    Kind regards,
    Denis

    • 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