I'm simply simulating pss and pnoise for a port/vsource, with added phase noise "freq, noise(dBc)" pairs.
In my testbench, there's only the vsource and it's labelled output, and gnd.
In ade, I setup pss output as voltage between vsource positive and vsource negative(gnd), no input.
But the simulation result in Direct Plot -> pnoise -> Phase Noise gives me a straight line with same value for all frequencies.
Then it means either the added Phase Noise pairs don't work, or there's sth wrong with my simulation.
Could you please tell me why?
Thank you very much.
Here's my testbench and vsource setup (when I use port, the setup is almost the same, only with a 50 Ohm impedance for the port)
Here's the ade setup for pss and pnoise:
Here's the simulation result plot of phase noise:
First of all, which spectre version are you using? Also, which IC version?
Secondly, you probably should be doing the pnoise as a relative sweep around the 1st harmonic, so that 10->1M would cover the range in your SSB description of the phase noise. When I do this, I get exactly the right shape. I'm using SPECTRE161 together with IC617 (recent hotfixes of both).
Finally, the noise temperature has no meaning for vsource (only for port) because there's no impedance in the port. I'll be filing a CCR to have that removed from the vsource in analogLib because it makes no sense (you get a warning from spectre telling you that it's an invalid parameter).
Thank you very much Andrew! It is indeed the problem with pnoise "freq sweep", and when I set it to "relative" I got the correct result as yours. However, now I'm confused with 2 things: 1. Even if I didn't use "relative", shouldn't I still get a result with a double-side-band-shape overshoot around 100MHz when I plot Phase Noise? Why in my previous posted result(10Hz to 1GHz), there's no such skirt around 100MHz? 2. How should I set up pnoise if I want to simulate a PLL frequency synthesizer? E.g. a PLL with 100MHz input and 1GHz output. The beat frequency will be 100MHz, but pnoise/output will be set to 1GHz output nodes. If use "relative freq sweep" for 1st harmonic, this "1st harmonic" is 100MHz, while actually I'd like to get the SSB spectrum around 1GHz when I plot Phase Noise. Should I use "relative sweep at 10th harmonic" in this case? Thanks again!
Thanks a lot Andrew! I'm using Virtuoso 6.1.6 and MMSIM/spectre 13.1
Now I found a very weird thing:
Since I'm designing and simulating a PLL now, I was using an ideal VCO (verilog-A), and pss can converge and give result.
But when I changed it to be transistor-level real VCO, even though pss can converge, I found the pss gives wrong result:
1. "Direct Plot -> pss -> voltage -> time" for VCO output node is not oscillating (red plot below), the DC value of it indeed should be 0.5V;
2. I have confirmed with transient simulation that it can oscillate, and the whole PLL loop can lock;
3. "Direct Plot -> tstab -> PSS Transient V" for VCO output node is correct and consistent with transient simulation result. (You can see the DC level is 0.5V, and it has a start up time around 2.5ns)
The weird thing is that the pss can even converge while @20ns the PLL loop is not locked yet (can be verified in transient.)
And I guess the pss result previously with ideal VCO is also wrong.
My PLL is a 100MHz input, 40.5GHz output one. I'm using the previously mentioned 100MHz sine PORT as input.
Here's my setup for pss:
My questions is:
1. Why pss/voltage/time for VCO output is like that? Is there anything wrong with my setup? Why it's not consistent with transient sim result?
2. Since I give a tstab in pss setup, when plotting pss/voltage/time, should the x-axis be from tstab(or the stable moment when convergence happens) to tstab+beat_period, instead of 0 to beat_period?
This is very hard to diagnose without seeing the circuit and setup in more detail, but I will make these points:
This would be better dealt with via customer support because then hopefully you can share the circuit.