Geoffrey_Coram
|
Ken is correct: Silvaco/Simucad are not modeling the devices correctly.
When they originally "translated" the models (several years ago, early 2004), I told them about the problem, and suggested that they not use the $sit_ functions in places where they were not needed. BSIM3 and later (including EKV) models are all charge based, and if you contact the EKV authors, you can get the full model in valid Verilog-A (after signing an NDA).
The origin of the problem is that Silvaco started with the Spice3 C code, which does some of the numerical integration inside the models (NIntegrate) rather than letting the simulator handle it. In the early models (MOS level 1 and 3, for example -- which Silvaco also translated), the Spice2 code actually has capacitance models that can't be integrated to get the charge (the differentials Cxy are not "exact" meaning you can't find one Q(d,g,s,b) such that all capacitances are the appropriate partial derivatives). The $sit_ functions allowed Silvaco to replicate the functionality of the Spice C code.
I think Silvaco started with the "easy" models and got into a bad habit (capacitance formulation). I think you'll find the BSIM3 and 4 models on their web site do not contain proprietary extensions.
|