• 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. How to use BSIM-CMG models to build and simulate FinFET...

Stats

  • Locked Locked
  • Replies 19
  • Subscribers 129
  • Views 32031
  • 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

How to use BSIM-CMG models to build and simulate FinFET circuits

Ahmed Taha
Ahmed Taha over 12 years ago

Hi All,

I need to simulate FinFET based circuits

I have BSIM-CMG codes and models from www-device.eecs.berkeley.edu/.../

this includes veriloga files.va and files.include and model card.nmos files

I tried several methods to add these in Cadence, but still something missing 

so I am asking about the right way to add such files to enable circuit simualtion. 

 if any one managed to do this before, could help.

Thanks 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    It should not be necessary to use the VerilogA models, since bsimcmg is built in to spectre (MMSIM11.1  contains the latest version of bsimcmg, 106.1 (as mentioned on the page you gave).

    You can run the examples as provided directly in spectre (I commented out the .hdl lines, but even with the .hdl line it runs). Whether the results are as expected is another matter, but then these are slightly artificial examples.

    For example: spectre inverter_transient.sp

    If you're talking about ADE, you can add the model file (modelcard.nmos) directly in ADE in Setup->Model Libraries. You'd probably need to create a transistor component (based on nmos4 maybe) with the right parameters, since bsimcmg has different parameters than most MOS models (see "spectre -h bsimcmg" - it doesn't have w and l, but has w,d, nf, nfin etc). 

    Best is to get the models from the foundry process you're using.

    Andrew.

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ahmed Taha
    Ahmed Taha over 12 years ago
    Thank you very much for your reply.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tkhan
    tkhan over 12 years ago

    Andrew Beckett said:

    since bsimcmg has different parameters than most MOS models (see "spectre -h bsimcmg" - it doesn't have w and l, but has w,d, nf, nfin etc).

     

    I believe you meant l, d, nf, nfin, etc? BSIM-CMG does not use 'w' to define device geometry.

    Best,
    Tarek

     

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

    Yes, it was a typo in my response.

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

    Ahmed,

    I am trying to include the BSIMCMG106.1.0 model into cadence. I want to know if you got success in doing so. I need your help in this regard.

    Thank you. 

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

    So what is your problem? As I mentioned before, spectre supports bsimcmg:

    UNIX> spectre -h bsimcmg

    **************
    Device bsimcmg
    **************

    bsimcmg model (For more information, please refer to bsimcmg model manual or contact info@cadence.com
    )
    The available versions are 105.01, 105.02, 105.03, 105.031, 105.04, 106.0 and 106.1.
    This device is supported within altergroups.

    Synopsis:
    Name ( d g s e ) ModelName <parameter=value> ...

    Model Synopsis:
    model ModelName bsimcmg <parameter=value> ...

    ...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ahmed Taha
    Ahmed Taha over 12 years ago

    Well, i just did some trials, that is what i did:

    - I created a new cell view with verilogA type (since the availlable models are verilogA in the Berkeley site)

    - This will generate for you the basic terminals of the device s,d,g,e , then u can creat a and save it.

    - Then open a schematic cell view, and insert yr new FinFET symbol (u just created) in whatever topology.

    - There is a parameter files for n-type and p-type u have to attache them otherwise when u run the simulation they would appear as undefined design varialbles that u have to put them manually. 

    - I performed a DC and Transient simulation however i had some problems doing AC analysis.

    I am not sure about what i did right or not or missed something....!!

    I dont think that my cadence version support BSIMCMG as abuilt in library

    Also i think that Synopsys , HSPICE supports CMG libraries too. 

    Good luck 

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

    I see very little point in using the VerilogA implementation of the model. bsimcmg is built-in to spectre in MMSIM72, MMSIM101, MMSIM111, and MMSIM121 (that's the last four major releases;  MMSIM72 was released in 2009, so it's been there for a while).

    So Cadence has supported this for some time.

    I've not tried using the VerilogA model (for some time), but to be honest, you would be far better off using the optimized production versions. I can't see much point in sticking to a simulator release which is more than 4 years old if you don't have access to it right now? I suspect that you would need a similarly aged version of HSPICE to support this natively too, if you're using HSPICE.

    Kind Regards,

    Andrew.

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

     

    Sir,How did u identify whether the FinFET symbol is n-type or p-type after the VerilogA file is imported . Bcoz the VerilogA file gives a black box only with four terminals s,d,g,e. Then how do i use this black box in an inverter circuit and simulate it using spectre. Kindly suggest me some idea for the same.

    Regards

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ahmed Taha
    Ahmed Taha over 12 years ago
    Hi Pretty,

    1- If u opened the technical manual, page 95, u will find a parameter called: 
    DEVTYPE ='1' for NMOS or '0' for PMOS
    To reach this parameter, after u created the symbol, insert it in cell view and click 'q' for the instance properties , u will find a list called CDF parameter of view  choose Verilog a instead of Use Tools filter  , a list of parameters will appear, look for DEVTYPE and edit it.
    (to know about the other parameters look in the technical manual)
    2-So now u have n and p devices u can implement yr inverter.
    3-If u have access to Synopsys tools, I think they have CMG libraries built in.
      
    Best Regards. 
    Ahmed  
    • 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