• 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. Parameterizing PSP model card parameters, for ADE parametric...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 9698
  • 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

Parameterizing PSP model card parameters, for ADE parametric Analysis

araol
araol over 3 years ago

Hello,

If I am using a PSP model in Virtuoso. I have a .scs model file under Spectre>models, with a bunch of model parameters. Am I able to parameterize those model card parameters, so that I can run parametric analysis in ADE? 

For example, this PSP model has a kvt mis-match parameter. Currently, if I want to study the effect of the kvt parameter in current mirror mismatch, as an example; I have to open the FET .scs file each run and change the model parameter value and then re-run my current mirror ADE simulation. 

However, I am curious if it's possible to make that PSP .scs model card parameter (e.g. kvt), a variable I can run parametric analysis on. Like how I might do parametric analysis on gate length.   

Hopefully this was clear? Thanks.

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    You can edit the model file, make the kvt parameter value some variable name, and then add that as a design variable in ADE and sweep it.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • araol
    araol over 3 years ago in reply to Andrew Beckett

    Hi Andrew, thanks for your suggestion. 

    I tried to make the kvt parameter in the .scs file a variable. And then in the ADE XL editor, I added that design variable. I ran monte carlo analysis (ADEXL) on a simple nmos testbench, to get it's DC operating point and see how the Std Dev of OP(.... "vth") will change with different kvt values. In the image below - to the right is the psp .scs file for my FET, and to the left is the ADE XL editor where I included that kvt design variable.

    When I change the kvt_var design variable in the ADE XL editor, my Std Dev does not change in the .mc run. However, when if I manually edit the kvt parameter in the .scs file direclty. Then I see a change in Std Dev from the .mc run. So, I know that changing the parameter in the .scs file will effect my Std Dev result. But what I am not understanding/doing properly is turning that kvt parameter into a variable. So is it possible, and how do I make that kvt parameter a design variable which I can then use for parametric analysis ? 

    I haven't been able to find others who have done this. This post from 8 years ago indicates it's not possible? but this was 8 years ago: How to do a parametric analysis for a model parameter ?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • araol
    araol over 3 years ago in reply to Andrew Beckett

    Hi Andrew, thanks for your suggestion. 

    I tried to make the kvt parameter in the .scs file a variable. And then in the ADE XL editor, I added that design variable. I ran monte carlo analysis (ADEXL) on a simple nmos testbench, to get it's DC operating point and see how the Std Dev of OP(.... "vth") will change with different kvt values. In the image below - to the right is the psp .scs file for my FET, and to the left is the ADE XL editor where I included that kvt design variable.

    When I change the kvt_var design variable in the ADE XL editor, my Std Dev does not change in the .mc run. However, when if I manually edit the kvt parameter in the .scs file direclty. Then I see a change in Std Dev from the .mc run. So, I know that changing the parameter in the .scs file will effect my Std Dev result. But what I am not understanding/doing properly is turning that kvt parameter into a variable. So is it possible, and how do I make that kvt parameter a design variable which I can then use for parametric analysis ? 

    I haven't been able to find others who have done this. This post from 8 years ago indicates it's not possible? but this was 8 years ago: How to do a parametric analysis for a model parameter ?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to araol

    The post you reference (the second answer from Shawn) indicates that it can work - the response from Quek was specifically stating about string parameters (not sure why it says that, since the original post didn't mention strings, but perhaps it was edited). Even then you can certainly sweep string parameters (maybe you couldn't at the time, but it's worked for many years).

    I don't have enough information to go on with your description above - I can't see the whole setup and understand if if there's any mistakes.

    I suggest you contact customer support - there's no reason why this shouldn't be possible and should work. This is not that unusual - many have done this (as have I). A number of PDKs are even set up to allow you to vary certain model parameters this way.

    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