The Designer's Guide Community Forum
Simulators >> RF Simulators >> tran - tstab - pss - hb different results

Message started by Horror Vacui on Sep 28th, 2019, 8:42am

Title: tran - tstab - pss - hb different results
Post by Horror Vacui on Sep 28th, 2019, 8:42am

Hi everyone,

I've just faced a discrepancy between the time domain solutions of tran, pss with shooting method and its tstab and hb analysis of spectre for the very same testbench. I've attached the time domain waveform for the same signal. Only the last period is shown for tstab and tran anlysis, but I can confirm that the values are already settled. All four are different. What I find surprising is, that the average value of the periodic solution is very far away from the output of the tstab result. In my understanding the average value should be (near) the end solution of the tstab.

I find these results shocking, and they decimated my trust in the simulators in general. So far I believed that transient and shooting PSS have the same simulation method and thus accuracy.
Therefore I would like hear any advice to avoid or notice such issues in time.

The analyses setup:

tran tran stop=500n errpreset=moderate write="spectre.ic" \
   writefinal="spectre.fc" annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
pss  pss  fund=1G  harms=11  errpreset=moderate  tstab=500n
+    saveinit=yes  annotate=status  maxiters=1000
hb  hb  tstab=500n  saveinit=yes  autoharms=yes  autosteady=yes
+   oversample=[1]  fundfreqs=[(1G)]  maxharms=[5]  errpreset=moderate
+   annotate=status

The circuit contains an nport with an s-parameter file, and I had only a vsin sinusoidal source in the testbench. I tested the nport alone in a different testbench, and there the results were the same in every analysis. The simulator was spectre 64bit. The results does not change with +aps and ++aps arguments. The only warning message was about extrapolating the s-parameters to DC.

Title: Re: tran - tstab - pss - hb different results
Post by Horror Vacui on Sep 28th, 2019, 11:31am

I've spotted a possible issue, which might explain some of the deviations. In the first plots the frequency was the first frequency point in the s-parameter file - I wanted to reduce the simulation time for transient - , and therefore it might have been subject to some curve fitting, and inverse DFT. (Not sure how spectre handles the frequency domain data in the transient) So I've rerun the simulation with a frequency closer to the mid frequency in the s-parameter file and it got better, though there were still deviations.

Title: Re: tran - tstab - pss - hb different results
Post by Horror Vacui on Sep 28th, 2019, 11:38am

I've also extracted an equivalent spectre netlist from the EM simulator, and the results are much better. I am completely satisfied with the matching of outputs.

I do not know what conclusion should I draw from the issue,probably something like these:
- Always simulate designs including S-parameter files in different ways: harmonic balance and transient, to make sure the results are correct
- If possible avoid S-parameter files in any non-frequency domain simulations (=tran). Unfortunately in high frequency or mm-Wave design it is a de-facto data interchange format. This was a revelation for me, because I believed that "transient is always right".

I think I have found my workaround for the issue I have faced, but still, I will gladly read any of remarks and comments. I hope there is some value in these posts.

PS: I have not found a way to attach a second picture to the post.

Title: Re: tran - tstab - pss - hb different results
Post by Frank Wiedmann on Sep 30th, 2019, 3:18am

S-parameter files will only work reliably with (shooting) pss if you use bbspice interpolation.

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