• 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. Issue with Level=3 MOS model in Spectre

Stats

  • Replies 16
  • Subscribers 126
  • Views 3295
  • Members are here 0

Issue with Level=3 MOS model in Spectre

milind123
milind123 4 months ago

Hi, 

    I am trying to simulate the FET model that I downloaded from the manufacturer. I have always been able to use Spice models by using the statement:

simulator lang=spice

before the model. But this time it complained on a statement:

B11 3 2 I= V(13,0)*I(V11)

It said that the master was unknown. After struggling a bit I decided to just write the model subckt as spectre syntax. I did that. For 2 .model statements inside I just put the "simulator lang=spice" statement before them and then

"simulator lang=spectre" after them

This helped the simulation to run but the FET characteristics are totally off. I know the model is fine since I simulated it in Spice. The FET characteristic is totally set by the nmos .model defined in the subcircuit. The model is a level=3 model and now I am considering whether I need to translate the model to Spectre. But I am not able to find how to translate a level=3 spice model to spectre because don't know what master name to use in the model statement.

Any guidance in this would be greatly appreciated.

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 4 months ago in reply to milind123
    milind123 said:
    So this is something that is different even though we are importing a Spice model I did not know that the Spice defaults are not known by Spectre

    The challenge is that the very many SPICE implementations have varied since the first versions from Berkeley 50 years ago. The major differences tend to be between those that focus on integrated circuits (which was, after all, the original purpose of SPICE (Simulation Program with Integrated Circuit Emphasis) such as HSPICE, Spectre, AFS and those which focus on discrete designs such as PSPICE, LTSPICE and the newer QSPICE (of course, there are many others in both camps). Foundries tend to produce models characterised for Spectre or HSPICE - these do have differences here and there but are usually relatively small. MOS models in the IC world would never rely on a default value of W or L, often because in many SPICE simulators it is configurable.  SPICE 2G6 and HSPICE have the .OPTION DEFW/DEFL and in HSPICE I believe the defaults are 100u for each. 

    The use of the "B" prefix is a classic example of the deviation between SPICE variants. SPICE3 (I think) introduced behavioural sources with B (and LTSPICE/QSPICE follow that), whereas HSPICE used B for IBIS (and Spectre supports that in SPICE mode).

    Spectre is not based on the same code as Berkeley SPICE, and so has never just inherited the same settings as SPICE. It doesn't have DEFW/DEFL options and you normally never see MOS instances without specified W and L.

    In the discrete world of course, the W and L of the transistor is within the device and probably not that useful to expose, so the parameters for the model may have been normalised to the simulator default (maybe 1 for W and L, I'm not sure) but also some of the other parameters may have different defaults too in the models. Given that I don't have access to QSPICE (in fact its existence was news to me, although I think the author is the same as for LTSPICE so I'd expect them to be similar in modelling conventions), comparing the differences between the defaults and model implementation is hard. 

    With PSPICE, we can handle that with Spectre since we have the detailed knowledge of how that differs from traditional SPICE. Spectre's SPICE language tends to follow SPICE 2G6/HSPICE conventions for the most part.

    milind123 said:
    If I create a Pspice cell view would that be equivalent to pspice_include?

    Yes. You'd see that the contents of the pspice view would get included into the netlist via a pspice_include automatically when netlisted.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • milind123
    milind123 4 months ago in reply to Andrew Beckett

    Thank you very much for the detailed response Andrew. My knowledge about the difference between Spice and Spectre is all from Ken Kundert's excellent book - "The Designer's Guide to Spice and Spectre" but didn't know about these details. This is good to know.

    Yes Qspice is also made by Mike Engelhardt the author of LTSpice. It is fairly new but is much more versatile and has some very impressive features like making subcircuits in C and verilog easier.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • milind123
    milind123 4 months ago in reply to Andrew Beckett

    One follow up question. I do see external models for Pspice which are encrypted. Would those be workable in Spectre? What would be the process to import them?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann 4 months ago in reply to milind123

    Yes, encrypted PSPICE models are supported, see page 9 of https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000056SHEAY (PSPICE is also a Cadence product).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 4 months ago in reply to milind123

    Also, I tried using your model within a file (e.g. myModel.psp) and including it via pspice_include (ii.e. Pspice Files on Setup->Simulation Files). I see that doing this changes the default W and L to 100u and also alters the mobility value (u0) - so there is some difference in the modelling too (it adds a pspice compatibility flag). Doing that gives me this graph for the current:

    That appears to be what you're expecting. Maybe using the model you have with the B changed to I for the behavioural source might be enough for it to work - if you use it as a PSPICE model. However, getting an official PSPICE model would be better still.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • milind123
    milind123 4 months ago in reply to Andrew Beckett

    Thank you Frank for confirming. Thank you Andrew for making it work! I followed your guidelines and am able to make it work. I will check if I can get the model for Pspice.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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