The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Modeling >> Semiconductor Devices >> BSIM3v3 C-code call from MATLAB https://designers-guide.org/forum/YaBB.pl?num=1160906650 Message started by Visjnoe on Oct 15th, 2006, 3:04am |
Title: BSIM3v3 C-code call from MATLAB Post by Visjnoe on 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 |
Title: Re: BSIM3v3 C-code call from MATLAB Post by Geoffrey_Coram on 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. |
Title: Re: BSIM3v3 C-code call from MATLAB Post by Visjnoe on 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 :)) Kind Regards Peter |
Title: Re: BSIM3v3 C-code call from MATLAB Post by Geoffrey_Coram on 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 |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |