Home > Community > Forums > Custom IC Design > Changing instance model by alter statement

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Changing instance model by alter statement 

Last post Fri, Jan 18 2013 3:40 AM by Andrew Beckett. 3 replies.
Started by ChrisEAS 17 Jan 2013 04:29 AM. Topic has 3 replies and 670 views
Page 1 of 1 (4 items)
Sort Posts:
  • Thu, Jan 17 2013 4:29 AM

    • ChrisEAS
    • Top 500 Contributor
    • Joined on Thu, Jul 7 2011
    • Dresden, Saxony
    • Posts 18
    • Points 270
    Changing instance model by alter statement Reply

    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 

    • Post Points: 20
  • Thu, Jan 17 2013 5:29 AM

    Re: Changing instance model by alter statement Reply

    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.

    • Post Points: 20
  • Fri, Jan 18 2013 12:25 AM

    • ChrisEAS
    • Top 500 Contributor
    • Joined on Thu, Jul 7 2011
    • Dresden, Saxony
    • Posts 18
    • Points 270
    Re: Changing instance model by alter statement Reply

     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 

    • Post Points: 20
  • Fri, Jan 18 2013 3:40 AM

    Re: Changing instance model by alter statement Reply

    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.

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by ChrisEAS at 17 Jan 2013 04:29 AM. Topic has 3 replies.