simon2
Junior Member
![* *](https://designers-guide.org/forum/Templates/Forum/default/starblue.gif)
Offline
Posts: 27
Southampton, United Kingdom.
|
Imtired et al, there is a simpler, more direct way to do transient noise sims: use a pwlfile controlled source in spectre, or a pwl file with a list of time, voltage pairs which may take either random time or voltage values, or random values for both. I use excel to write these values to a text file for editing in a wordpad for inclusion in the simulation netlist as part of an independent source's pwl definition.
As already mentioned, reltol, vntol etc need to be set correctly to enable the noise contribution to the circuit is above the simulator limits - also, these values can be used constructively to truncate the noise to speed up simulation runs. For some simulation runs you will find it is more efficient to inject noise using the Thevenin equivalent current as this may make the noise injection to signal ratio smaller, easing the reltol, pivtol etc settings.
In terms of analyzing the results: you can use FFTs to find the PSD but these tend to be processor intensive functions - if you can translate the PSD into an equivalent jitter spec, than you can use eye-diagrams to analyze the data much more efficiently: you can then use "measure" or (a crossing point detector) to build a historgram of the circuits' behaviour.
Even in "noddy-spice" this technique works. If you don't have an "eye function" you can use:
sweep* (atan(tan(PI(TIME/sweep * delay/sweep - 0.5))))/PI +0.5)
where "TIME" is SPICE's internal time variable, "sweep" is the time across which the waveform repeats, "delay" is the initial delay time before the waveform becomes repetitive, and PI is 3.1415926... as usual and for some versions of SPICE will need to be declared as a variable in the .PARAM line.
With a little thought you will find that you don't have to use specialized mixed-mode simulators to do noise analysis in transient sims, simple versions of spice are also capable of doing this.
Cheers, SimonH.
|