The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 8:22pm
Pages: 1
Send Topic Print
BSIM3v3 C-code call from MATLAB (Read 931 times)
Visjnoe
Senior Member
****
Offline



Posts: 233

BSIM3v3 C-code call from MATLAB
Oct 15th, 2006, 3:04am
 
Hello,

I was wondering if anyone has ever interfaced MATLAB and the BSIM3/4 C-code implementation. More specifically, call this C-code to determine Ids for given W,L. This would allow simulation-accurate sizing from withing a scripting environment.

Kind Regards

Peter
Back to top
 
« Last Edit: Oct 15th, 2006, 10:34am by Visjnoe »  
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: BSIM3v3 C-code call from MATLAB
Reply #1 - Oct 16th, 2006, 4:57am
 
If you're in an academic setting, you can probably use the Silvaco/Simucad BSIM3/4 Verilog-A code ("not for commercial use" and you have to register).  Since you don't actually need the derivatives for a Newton solver (just evaluating Ids for given W,L -- and biases), you can probably pretty quickly convert the V-A code to MATLAB (MUCH more quickly than convering C code).   Prof. Roychowdhury at U Minn was using a Verilog-A version of BSIM3 to interface with some MATLAB functions for obtaining dc convergence using some new homotopy algorithms; you might try contacting him to see if he converted V-A to MATLAB or has some other way of evaluating V-A from MATLAB.

Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Visjnoe
Senior Member
****
Offline



Posts: 233

Re: BSIM3v3 C-code call from MATLAB
Reply #2 - Oct 16th, 2006, 10:43am
 
Hi Geoffrey,

thanks for the pointer towards the Silvaco open-source model. I saw in the comment that you contributed personally to this.

I browsed quickly through the code and have some questions:

1. Is it correct that this code is only valid for some transistor model (e.g. thick oxide NMOS)?
   I assume the very long list of parameters has to be adapted very every technology and transistor type.

2. I think not all of this code and/or parameters are required to generate Idsat for a given W/L and bias voltages (correct me if I'm wrong).
   My first impression is that the essential code for Idsat is rather limited. I sure do hope not all the code has to be used (although conversion  
   to MATLAB will not be difficult, just a bit of hard work Smiley)

Kind Regards

Peter  
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: BSIM3v3 C-code call from MATLAB
Reply #3 - Oct 17th, 2006, 4:45am
 
Hi, Peter -
BSIM3 has been used down even to 90nm CMOS, I believe.  Of course, depending on your application, you may find problems even in larger geometries; my company (Analog Devices) needed to enhance the model for high-precision circuits in 180nm (0.18u).

The code has a parameter TYPE that you can set to -1 to simulate PMOS.  And yes, you have to set (extract) a bunch of parameters for the model to match data for a given technology.

A fair number of the parameters are used for the diodes (body-drain, body-source), current and capacitance.  Oh, yes, and there's a lot of the code used for the CAPMOD channel charge/capacitance.  I see a comment in the copy I have
 // C-V model
(capacitance as a function of voltage), and you can delete that section (all the way down to and including the four lines after // Add depletion capacitance) if you just want Ids.  There aren't that many parameters used only in the C-V model, though, so you won't save much in that regard.

-Geoffrey
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.