The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 19th, 2024, 8:43pm
Pages: 1
Send Topic Print
EKV VerilogA model from simucad (Read 6324 times)
VerilogANovice
New Member
*
Offline



Posts: 9
Mountain View
EKV VerilogA model from simucad
Feb 16th, 2007, 11:56pm
 
Hi,

Recently I got the VerilogA model from simucad website. I can't find the included "constants.h" file. Does anyone know where I can find it?

Also, there is a system call "$sit_get_prev", what does it mean?

Thanks a lot.
Back to top
 
 
View Profile   IP Logged
Daniel_Platte
Junior Member
**
Offline



Posts: 11
Munich/Germany
Re: EKV VerilogA model from simucad
Reply #1 - Feb 17th, 2007, 1:37am
 
As far as I know, all $sit_* functions are extensions provided by Silvaco (for device modeling purposes). From their website, you could also obtain some device models (including EKV) after free registration. Anyway, those functions will probably only be supported by Silvaco tools...

Cheers
Daniel
Back to top
 
 
View Profile   IP Logged
VerilogANovice
New Member
*
Offline



Posts: 9
Mountain View
Re: EKV VerilogA model from simucad
Reply #2 - Feb 17th, 2007, 10:30am
 
Thanks. So, is there any equivalent function in Verilog-A? Consider the following statement:

Q = C * (VG-VS - ($sit_get_prev(VG,1) - $sit_get_prev(VS,1))) + $sit_get_prev(Q,1);

Is there a way to write it in Verilog-A?
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: EKV VerilogA model from simucad
Reply #3 - Feb 17th, 2007, 6:41pm
 
What Silvaco is doing is not valid modeling. The approach they are taking is going to result in serious charge conservation errors. The correct way to handle this is to use the EKV charge equations directly. When you do this the charge conservation errors go away, as does the need for the special non-standard function.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: EKV VerilogA model from simucad
Reply #4 - Feb 19th, 2007, 4:31am
 
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.
Back to top
 
 

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



Posts: 1999
Massachusetts, USA
Re: EKV VerilogA model from simucad
Reply #5 - Feb 19th, 2007, 4:35am
 
VerilogANovice wrote on Feb 16th, 2007, 11:56pm:
I can't find the included "constants.h" file. Does anyone know where I can find it?


This file may also be called "constants.vams" and is generally found in the "include" path of your simulator.  The file contents are actually specified in the Verilog-AMS LRM (http://www.verilog.org/verilog-ams/htmlpages/public-docs/lrm/2.2/AMS-LRM-2-2.pdf...).  You should be a little careful, though, because some of the physical constants have different values in some implementations: eg, some simulators use the value for `P_Q (elementary charge) that was used in Spice; the LRM uses values from NIST.
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.