The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 28th, 2024, 12:50am
Pages: 1
Send Topic Print
resrtiction on analog derivative operator (Read 4074 times)
Aigneryu
Senior Member
****
Offline



Posts: 102

resrtiction on analog derivative operator
Dec 09th, 2006, 5:39pm
 
Dear All,

 Recently I use the verilog-A MOS transistor model written by Geoffrey_Coram in this forum, I found spectre complains
about the derivative operator because it tried to solve the gm symbolically by using ddx.

After I read a little bit about the ddx operator, I still cannot understand why. Does anybody has ever used this operator?
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: resrtiction on analog derivative operator
Reply #1 - Dec 11th, 2006, 4:56am
 
Spectre tends to be a little nit-pickier than other simulators ... technically, it may be correct in complaining about use of ddx() in a conditional, but the Verilog-AMS committee has agreed that the restriction is not necessary, and ddx() will no longer be subject to those restrictions in the next LRM.
Back to top
 
 

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



Posts: 102

Re: resrtiction on analog derivative operator
Reply #2 - Dec 11th, 2006, 2:26pm
 
Thanks Geoffrey,

 So does that mean, there is no problem with that code itself but on spectre? because I can never get it correctly compiled.
I have to remark the conditional def in order to get it work. Is that true?
Since you said that it should be correct to use ddx in a conditional, what should I do with it?

The error message said " The first argument specified for ddx operator contains an expression that cannot be symbollically calculated", but after I back trace the equations for Ids, I think it should be symbolically solvable.

It there any way I can do for this?
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: resrtiction on analog derivative operator
Reply #3 - Dec 12th, 2006, 5:56am
 
Aigneryu -
I think the last time I tried this model, __VAMS_COMPACT_MODELING__ was not pre-defined by Spectre, so the ddx() was `ifdef'ed out.  I just tried it with more current version of the simulator and got the same message you got; tried again with an engineering release and it compiled fine.  So, you may need to disable the noise until you can get an updated version of Spectre.  (You can replace the gm = ddx(...) line with gm = 0;)

-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.