Hi Ken,
Thanks for the pointer. I updated the code to plot transition filter output. I was wrong, transition filter is giving the rise/fall delay as expected as shown in attached waveforms. Not sure why it is not being reflected in "PH" node output?
analog begin
I(PH,PGND) <+ 100.0p*ddt(V(PH,PGND));
I(PGND,PH) <+ is*(limexp(V(PGND,PH)/(N*$vt))-1.0) + V(PGND,PH)*1p;
ss_test=transition(LSG_switch,0,500.0p,500.0p);
I(PH,PGND) <+ V(PH,PGND)/ss_test;
end
As you can see in attached waveforms, I do see some fall time at the end of 500ps delay on PH node. All I want here is total 500ps smooth fall time curve(as seen on 'ss_test' real variable) instead of just 500ps propagation delay.
Also here are the simulator timepoints captured from irun.log:
Code: tran: time = 1.257 us (2.51 %), step = 6.754 ns (13.5 m%)
tran: time = 3.846 us (7.69 %), step = 111.9 ns (224 m%)
tran: time = 6.254 us (12.5 %), step = 191.2 ns (382 m%)
tran: time = 8.83 us (17.7 %), step = 274.7 ns (549 m%)
tran: time = 11.42 us (22.8 %), step = 340.8 ns (682 m%)
tran: time = 14.09 us (28.2 %), step = 369.8 ns (740 m%)
tran: time = 16.48 us (33 %), step = 235.9 ns (472 m%)
tran: time = 18.86 us (37.7 %), step = 198.4 ns (397 m%)
tran: time = 21.28 us (42.6 %), step = 363.6 ns (727 m%)
tran: time = 24.15 us (48.3 %), step = 420.5 ns (841 m%)
tran: time = 26.27 us (52.5 %), step = 423.8 ns (848 m%)
tran: time = 28.82 us (57.6 %), step = 426.7 ns (853 m%)
tran: time = 31.39 us (62.8 %), step = 429.7 ns (859 m%)
tran: time = 33.98 us (68 %), step = 433.6 ns (867 m%)
tran: time = 36.6 us (73.2 %), step = 439.8 ns (880 m%)
tran: time = 38.83 us (77.7 %), step = 450.9 ns (902 m%)
tran: time = 41.54 us (83.1 %), step = 344.2 ns (688 m%)
tran: time = 43.95 us (87.9 %), step = 349.4 ns (699 m%)
tran: time = 46.27 us (92.5 %), step = 32.55 ns (65.1 m%)
tran: time = 48.8 us (97.6 %), step = 192 ns (384 m%)
Any further help in debug will be greatly appreciated. Thanks.