Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] SPICE models of transistors in Cadence for TSMC350nm

Status
Not open for further replies.

dreamyboy_999

Member level 2
Joined
Mar 1, 2014
Messages
47
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
414
I am doing some simulations in using Cadence Virtuoso and ADE. I am using TSCM350 nm kit. I need to see what model file is used to nch,pch transistors that I instantiate. In the properties of the transistors I see nothing relating the model. When I looked at the model libraries included in the simulator, I found a generic BSIM3v3 model provided by the foundry. However when I look at the file, there are several models for 3.3 V nch and pch transistors. Is there any way to understand which one is used by the transistor symbol that I instantiate? I tried to generate the netlist, however in the netlist it is only refering to the transistor as 'nch' or 'pch'. There are several nch, pch models in the library...nch:1,nch:2,nch:3
 

First, all the model files you're using for the simulation should be included somewhere in the ADE state whether it's under Model Libraries section or somewhere else. As far as the models from foundries I've used are considered there's no embedded model that needs no reference library, there might be cases where that happens though.

The best way to see which model is being used is just checking the netlist file. It should include the parameter definitions passed to the models and the models themselves.

Model files usually have subsections, even for the same device to accurately define its properties which may be different depending on parameters you want to use in your design. nch:1 may cover short channel while nch:2 is taking care of longer channel devices (it's just an example I don't have a clue about what differences they may have in TSMC035.)

Finally, to see how the symbol you use actually refers to a model you need to check its CDF file. It has to be there somewhere. Although I'm fairly confident it'll be there I actually have never looked for the model in the CDF of a foundry provided transistor. The generic transistor in analogLib definitely has it though, I'm just not sure if your foundry provided components work the same way.
 
Last edited:

In the generated netlist, I just see 'nch' without any numbering......I opened the CDF properties, I cannot see the numbering there either...I have enclosed a screen shot of CDF properties of the nch mosfet. Screenshot.png
 

Have you checked the nch model? As I said before there might be a statement in the model file that shows which section is referring to what kind of device. It'd probably in the first actual line in the model declaration and it'd probably be limiting width or length of the devices for each section in the model. When a parameter is passed to it, the model file will use parameters from the respective section.

In the netlist you should see exactly which model file is included but not the logical decisions made inside the model file, and in the CDF you can see how the model file is associated with the symbol you're using. I assumed you were asking more than one thing.

Edit: Ok, I shook off my laziness and checked out the TSMC018 model I had access to. You should look for LMIN, LMAX, WMIN, WMAX statements. They are the parameters that define which one is being used. And for a little bit more information check out **broken link removed**
 
Last edited:
Have you checked the nch model? As I said before there might be a statement in the model file that shows which section is referring to what kind of device. It'd probably in the first actual line in the model declaration and it'd probably be limiting width or length of the devices for each section in the model. When a parameter is passed to it, the model file will use parameters from the respective section.

In the netlist you should see exactly which model file is included but not the logical decisions made inside the model file, and in the CDF you can see how the model file is associated with the symbol you're using. I assumed you were asking more than one thing.

Edit: Ok, I shook off my laziness and checked out the TSMC018 model I had access to. You should look for LMIN, LMAX, WMIN, WMAX statements. They are the parameters that define which one is being used. And for a little bit more information check out **broken link removed**
I looked at the model file. I see the properties WMAX,WMIN,LMAX,.... for different nch models, however I do not see any logical statements on how they are used....Maybe I should refer to the agilent link that you send me to see which model is used based on the input parameters (L,W). But it would be great if I could find it in the model file..
 

They are pretty much self explanatory. Between the ranges defined in each bin corresponding parameters are used. They're implemented as part of the BSIM model, so no additional logical statement is needed. As a parameter is passed to the model simulator takes in the correct bin. It may or may not report which bin it's using, I'm not sure.
 
Last edited:
They are pretty much self explanatory. Between the ranges defined in each bin corresponding parameters are used. They're implemented as part of the BSIM model, so no additional logical statement is needed. As a parameter is passed to the model simulator takes in the correct bin. It may or may not report which bin it's using, I'm not sure.

Are the parameters corresponding to the appropriate bin simply used? What is this interpolation thing about? (the link that you sent me about parameter binning). The reason I ask is that another corporation is doing some HSPICE simulation using the spice model that I am using and they are getting slightly different results. They were not sure which instance of the nch and pch to use, and I just told them to use the bin which matches the transistor W,L. So the simulator is not doing any interpolation between the bins?
 

You need to refer to the BSIM manual or something for exact implementation. It definitely needs to interpolate the effective W and L but how it works is beyond my expertise. I wouldn't want to give wrong directions.
 

You need to refer to the BSIM manual or something for exact implementation. It definitely needs to interpolate the effective W and L but how it works is beyond my expertise. I wouldn't want to give wrong directions.

I am not clear about one thing. Where is the interpolation used? For calculating W,L or interpolating between the parameters of the bin?
 

I do not know, I need to check the manual.

Logically if there's a parameter that depends on Leff or Weff it'll probably get interpolated, for the rest there's not much you can do so they'll just be whatever in the parameters. It's just a guess though I do not know.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top