• 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. assign value to the variables!

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 16993
  • 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

assign value to the variables!

imagesensor123
imagesensor123 over 14 years ago

 Hi everyone,

     I have create a two deminationed array, I can get each value  by typing a[m][n] in CIW, and now, I want to assign these value to a lot of variables which are  parameters variable in my shematic, such as a transistor's length "M1_length", and i want to assign a[3][3]  to this variable, but when i try changing the varaibles value through typing a[3][3] in the expression field, it can't work corectlyin analogArtist(push the edit variable button in analogartist),does anyone who know how to do this. in a word, i want to assign a value careated in some function to the shematic primitive parameters variable. thanks

Regards,

zfeng

  • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi everyone,

         does anyone know how to assign a value(store in value matrix,such as a[0][3]=0.5u) to the design variable like w1(width of a transistor), it want to do this by typing some command in CIW or using skill function. thanks

    Regards,

    zfeng

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

    Zfeng,

    Asking the same question twice in different threads doesn't increase the likelihood of it being answered.

    If it's for an existing ADE session, you could use the SKILL function asiSetDesignVarList() (first argument should be the current session, for example asiGetCurrentSession() , and the second argument is the list of design variables and values - I suggest using asiGetDesignVarList() to figure out what it looks like). See the documentation on these features.

    If it's in an OCEAN script, you could simply do:

    desVar("varName" a[0][3])

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago
    Hi Andrew,
       thanks,in fact i want to do a parametric simulation, the sweep data is from a matrix which is create by some function in ADE session and stored in memory. I have tried the first method, i used the function asiAddDesignVarList() to update the existing variable value, but the accepted data is just "real value"(I think), because there is an error when i generate the nestlist after i assign a new value to an existing variable through asiAddDesignVarList("light" "a[0][3]") , it seems that the "a[0][3]" is passed to light not the value of the a[0][3] (0.5u). i can make sure the syntax is right, but i am not sure if this method can pass the value of a[0][3].
       about the second method, I will try later. sorry for asking the same question in two posts!

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

    The problem is that you have quotes around the array expression.

    You'd have to do:

    asiAddDesignVarList(asiGetCurrentSession() list(list("light" aelSuffixNotation(a[0][3]))))

    Or similar. The aelSuffixNotation is just a way to convert the number to a string - could do that numerous ways.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi Andrew,

        I have tryed your method, it work well for my purpose, i'am very appreciated of your help. 

    Thanks a lot!

    Regards,

    zfeng

    • 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