The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> zero diagonal found in Jacobian error
https://designers-guide.org/forum/YaBB.pl?num=1255713335

Message started by lbtroy on Oct 16th, 2009, 10:15am

Title: zero diagonal found in Jacobian error
Post by lbtroy on Oct 16th, 2009, 10:15am

Hi all,

Currently I have a chargepump that charges to a loop filter(made out of verilog ams coded caps and resistors) when a switch opens. As it open, my outputs blows up to almost infinity. Does anyone know if there is a good way to resolve this?

///////////////////////////////////////////////////////////////////////////////////////////////////
at the chargepump end: i have

     if(V(tune_mode) < (dvdd - 0.1))
           I(ftunem,avss) <+ 0;
     else      
                 V(ftunem,avss) <+ 0.65;
       if(V(tune_mode) < (dvdd - 0.1))
               I(ftunep,avss) <+ 0;
     else
           V(ftunep,avss) <+ 0.65;
//////////////////////////////////////////////////////////////////////////////////////////////////////
at the loop filter end: i have
               if(V(tune_mode) < (V(avdd) - 0.1))
                     V(ftunem,ftunem_fil) <+ 0 ;
           else
                 I(ftunem,ftunem_fil) <+ 0;
               if(V(tune_mode) < (V(avdd) - 0.1))
                       V(ftunep,ftunep_fil) <+ 0 ;
               else
                       I(ftunep,ftunep_fil) <+ 0;


Thank you

Title: Re: zero diagonal found in Jacobian error
Post by boe on Oct 16th, 2009, 10:38am

lbtroy,
In general, hard switching between voltage sources and current sources often causes convergence problems. This also applies to nodes with infinite impedance (i=0).

Further, for V(tune_mode) < min(V(avdd), V(dvdd))-0.1,
ftunem is HiZ, and ftunem_filt is shorted to ftunem_filt,
while for V(tune_mode) > max(V(avdd), V(dvdd))-0.1,
ftunem is at 0.65 V, but ftunem_filt is HiZ...
I do not see why you need two nodes here. I would connect ftunem/p directly to the loopfilter and put the switch in the pump (by defining output current appropriately)...
BOE

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.