• 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 instance model by alter statement

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 14200
  • 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 instance model by alter statement

ChrisEAS
ChrisEAS over 12 years ago

For a corner simulation, I would like to change the model name of a single instance. I can easily be done using SKILL, but I would like to use the Spectre alter statement for that. Is there a way to do it? Maybe something like that ...

alter1 dev=M0 param=model value=new_model_name 

 - Chris 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    I don't believe this is possible (I may be wrong; I don't really have the bandwidth to explore and test this). I'd suggest you go via customer support for this one.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChrisEAS
    ChrisEAS over 12 years ago

     Thanks, I might ask there.

    Another problem I ran into: I would like to parametrise a model, so I created an inline subcircuit containing only a model statement as described in the manual. Then I instantiate the model subcircuit and use the instantiated model for my device as follows: 

     

    inline subckt new_model_subckt
      parameters dvt=0
      model new_model_subckt old_model vth0=0.5+dvt
    ends new_model_subckt

    new_model new_model_subckt

    M0 (net1 net2 0 0) new_model l=1u w=1u

     

    However, Spectre doesn't seem to like it and stops halfway through without an error message. Do you have an idea what's wrong here? Is there a way to parametrise a model without having to create a subcircuit containing the device instance?

    Chris 

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

    Chris,

    If you're going to use an inline subckt to do this, you have to have the right number of pins for the subckt, the parameters defined, and an instance of the new model:

    inline subckt new_model_subckt (d g s b)
    parameters w=2u l=2u dvt=0
    // based on original model
    model new_model orig_model vth0=0.5+dvt
    // instantiate the model. Note that the instance name should
    // match the inline subckt name. Also needs to pass all the parameters in
    new_model_subckt (d g s b) new_model w=w l=l
    ends new_model_subckt

    M0 (net1 net2 0 0) new_model_subckt l=1u w=1u

    Something like that.

    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