The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 12:27am
Pages: 1
Send Topic Print
Modelling OTA with "piece-wise" transfer func (Read 3853 times)
DaffyDuck
New Member
*
Offline



Posts: 6

Modelling OTA with "piece-wise" transfer func
Apr 06th, 2008, 5:52pm
 
Hi,

I was trying to model in Verilog-A a differential OTA by the equations

  ΔId = K.ΔVin.√( 4*Iss/(2.K) - sq(ΔVin) )   for   |ΔVin| <= √2.(Veff)  -- (1)

  ΔId = Iss     for   |ΔVin| >  √2.(Veff)  -- (2)

  ΔId = -Iss    for   |ΔVin| <  √2.(Veff)  -- (3)

Simulating in transient mode with the OTA in a negative feedback configuration, I got convergence problems. I had to change (1) such that      ΔId = K.ΔVin.√abs( 4*Iss/(2.K) - sq(ΔVin) )    to get around the convergence problems.  

But this method failed when I used the OTA in a switch-cap circuit at the top-level. There were no error messages, but the output was wrong and it started to occur when   |ΔVin| <= √2.(Veff)  .

Anyone knows the way to get around such problems of "piece-wise" functions? Apologize if I got the term "piece-wise" wrong, but I hope u get the idea. Thanks!!
Back to top
 
 
View Profile   IP Logged
Stefan
Senior Member
****
Offline



Posts: 124

Re: Modelling OTA with "piece-wise" transfer func
Reply #1 - Apr 7th, 2008, 1:37am
 
You should smoothen the corners of your piecewiese definition by using a tanh-expression for example.
That way you shouldn't run into your convergence problems.
Back to top
 
 
View Profile 16731287   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: Modelling OTA with "piece-wise" transfer func
Reply #2 - Apr 7th, 2008, 7:26am
 
Smoothing is rarely, if ever, needed. I suspect the key here is not to make your transfer curve smooth, but to make it continuous. What is ΔId when ΔVin == √2×Veff? It should be Iss, is it?

-Ken
Back to top
 
 
View Profile WWW   IP Logged
DaffyDuck
New Member
*
Offline



Posts: 6

Re: Modelling OTA with "piece-wise" transfer func
Reply #3 - Apr 7th, 2008, 9:45pm
 
ΔId is Iss when ΔVin == √2×Veff in the equations. But I discovered that instead of comparing at    ΔVin == √2×Veff, I was comparing at   ΔVin == 2*√2×Veff ....

Thanks for the help!  :)

One last question - does anyone know under what kind of conditions will messages like
 "Zero diagonal found in Jacobian at 'O1P' and 'O1P' " start popping out?

Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: Modelling OTA with "piece-wise" transfer func
Reply #4 - Apr 8th, 2008, 2:05pm
 
It generally means that O1P has suddenly become floating.

-Ken
Back to top
 
 
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.