Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all articles
Browse latest Browse all 4922

Convergence difficulties in Verilog A while using equivalent differential equation instead of laplace_nd function

$
0
0

Hi

I was using a laplace_nd function to realize a CTLE block as follows

V(vp) <+ laplace_nd((0.5*(V(INP)- V(INN)))*rl*gmn , hn , hd);
V(vn) <+ laplace_nd((0.5*(V(INN)- V(INP)))*rl*gmn , hn , hd);

whre hn, hd are declared as "real hn[0:2], hd[0:3];"

It worked well without any sort of convergence difficulties in bot AC and transient simulations. But since I wanted to change the values of hn and hd in between the transient simulation, I changed the laplace_nd function into equivalent differential equation as given below

V(vp) <+ ((0.5*gmn*rl*(hn[0]*V(vip)+hn[1]*V(vipd)+hn[2]*V(vipdd)))-hd[1]*V(vpd)-hd[2]*V(vpdd)-hd[3]*V(vpddd))*(1/hd[0]);
V(vn) <+ ((0.5*gmn*rl*(hn[0]*V(vin)+hn[1]*V(vind)+hn[2]*V(vindd)))-hd[1]*V(vnd)-hd[2]*V(vndd)-hd[3]*V(vnddd))*(1/hd[0]);

where

V(vip) <+ V(INP)- V(INN);
V(vin) <+ V(INN)- V(INP);
V(vipd) <+ ddt(V(vip));
V(vipdd) <+ ddt(V(vipd));
V(vind) <+ ddt(V(vin));
V(vindd) <+ ddt(V(vind));
V(vpd) <+ ddt(V(vp));
V(vpdd) <+ ddt(V(vpd));
V(vpddd) <+ ddt(V(vpdd));
V(vnd) <+ ddt(V(vn));
V(vndd) <+ ddt(V(vnd));
V(vnddd) <+ ddt(V(vndd));

The modified model showed exactly same AC response without any convergence difficulties. But it is showing convergence difficulties in transient simulations of same conditions (blowup parameter of nature Voltage was increased to accommodate high values coming to third derivative terms in the differential equation). How can I make the differential equation as convergable as the laplace_nd function.

Thanks and Regards

Quilon


Viewing all articles
Browse latest Browse all 4922

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>