I need to simulate FinFET based circuits
I have BSIM-CMG codes and models from http://www-device.eecs.berkeley.edu/bsim/?page=BSIMCMG_LR
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.
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.
In reply to Andrew Beckett:
Andrew Beckettsince 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).
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.
In reply to tkhan:
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.
In reply to SHEKHARvnit:
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 email@example.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> ......
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.
In reply to Ahmed Taha:
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.
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.
In reply to Pretty:
I dont know, it should work
Try to select yr symbol, right click and choose properties
Ahmed Taha- 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 followed your instructions but I do not know how to attach the parameter files. Can you help me?
In reply to teosm:
me too :)
I tried to attach it but I did not manage, I inserted them manually from the file
But there should be a way.
Did you insert them manually in ADE? If you did so, I don't think there is any distinction possible between NMOS and PMOS. If you copied into verilogA files, which file did you copy them to? I tried but I get a lot of errors.