• 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 Design
  3. Changing a group of parameters using Dynamic Parameter option...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 125
  • Views 24260
  • 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

Changing a group of parameters using Dynamic Parameter option available in .tran

Debasish
Debasish over 10 years ago

Hi,

Dynamic parameter allows changing only one parameter during .tran? Is there a way to change a group of design parameters (like 3) using dynamic parameter option?

Regards

Debasish

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    There's no form entry to do a dynamic parameter sweep over multiple parameters, but it's easy to do with the help of an include file. The idea is that you can sweep over a paramset, and it's this paramset that you need to define in an external file.

    So, create yourself a file called (say) paramset.scs (the name isn't important, but make sure that it ends in .scs so that it is interpreted in spectre syntax). Then have contents similar to this:

    myset paramset {
      time errpreset      isnoisy avdd
      0    liberal        0      1.0
      100u conservative   1     1.0
      200u conservative   1     1.05
    }

    Then reference this file via Setup->Model Libraries in ADE. Now you have a paramset named myset available.

    Rather than checking the "dynamic parameters" checkbox on the tran analysis form in ADE, go to the Options button on the tran form, and then the Misc tab. At the bottom, there's an additionalParams field. In here, type paramset=myset and this will tell transient analysis to sweep over these three parameters during the transient. You're changing errpreset (which affects accuracy), isnoisy (which allows you to turn on and off transient noise, assuming you've set up transient noise), and a design variable called avdd.

    Hope that helps

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up +2 Vote Down
    • Cancel
  • Debasish
    Debasish over 10 years ago
    This is what I was looking for. Thanks Andrew!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • foxbei1983
    foxbei1983 over 6 years ago in reply to Andrew Beckett

    hi,

    if I want to run the following settings every 1ms, what should i do?

    myset paramset { 
      time errpreset      isnoisy avdd
      0    liberal        0      1.0
      100u conservative   1     1.0
      200u conservative   1     1.05

    }

    regards,

    fancy

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to foxbei1983

    Hi Fancy,

    The forum guidelines ask you not to post on the end of an old thread as it muddies the response for anyone else searching for a solution.

    Assuming that what you're asking for is a way to repeat the sequence every 1ms (so it returns to liberal with isnoisy off at 0, 1ms, 2ms, 3ms etc, to conservative with isnoisy on at 100u, 1.1m, 2.1m etc), then the only way of doing that is to expand out the table. 

    This is a slightly odd requirement - will it really help that much (presumably you want to do this to speed the simulation up)? I suggest you contact customer support so that your exactly requirements can be discussed to determine if this would be the best approach or if an enhancement is needed for Spectre to provide a way to do this.

    By the way, as a side note in this thread, during the IC617 hotfix stream, the tran analysis in ADE now supports defining multiple parameters on the form so there's then no need to create a paramset via an include file to achieve the variation of more than one parameter at once.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dspias
    dspias over 6 years ago in reply to Andrew Beckett

    Can I list more than 1 parameter sets  in the additionalParams field? for example myset0 and myset1.... How? 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to dspias

    No, because Spectre doesn’t support having two paramsets on a transient analysis. Not really sure why you’d want to do this anyway because presumably it’s easy enough to create a single paramset.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dspias
    dspias over 6 years ago in reply to Andrew Beckett

    The reason I thought it would be useful is: For example if I have 2 groups of 4bit trim settings that I'll change at different times. If I could put each 4bit trim group in a different paramset, then I don't have to type extra trim values for the simulation time that doesn't overlap.  here's an example

    myset paramset {

    time   a b c d   W X Y Z 

    001    0 0 1 0   0 0 0 0

    005    0 1 1 0   0 0 0 0

    008    0 1 1 0   1 0 0 1

    009    0 1 1 0   1 0 1 1

    }

    As opposed to two sets ( don't have to include the extra bits of signals that don't change at similar times ). 

    myset_abcd paramset {

    time   a b c d   

    001    0 0 1 0   

    005    0 1 1 0  

    }

    myset_WXYZ paramset {

    time   W X Y Z  

    008    1 0 0 1   

    009    1 0 1 1  

    }

    For many more parameters and time stamps more parameter sets would help organize the file.

    Thank you, first for the original solution and then for the answer to my question.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to dspias

    This is not a good use of dynamic parameters, since these are presumably changing digital lines which would have to change voltage from one level to another. Dynamic parameters cause an instantaneous change and so can lead to convergence difficulties if they are too major, as changing from a low to a high could be.

    Assuming that these are setting the voltage on voltage sources to drive a bit high or low, it would be better to omit the voltage sources and then use a vector input instead (on Setup->Simulation Files) which would allow you to have a digital vector which changes at different times to drive your various trim bit settings. Then  you can control the rise and fall times of those signals and make it far more like real life whilst not giving the analog solver a hard time by introducing sudden discontinuities in the signals.

    Regards,

    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