The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Behavioral Models >> Small Signal Noise Treatment in Verilog-A for Cadence Spectre PSS Analysis.
https://designers-guide.org/forum/YaBB.pl?num=1445269490

Message started by cheap_salary on Oct 19th, 2015, 8:44am

Title: Small Signal Noise Treatment in Verilog-A for Cadence Spectre PSS Analysis.
Post by cheap_salary on Oct 19th, 2015, 8:44am

See "rfLib/osc" shipped with Cadence IC Tool sets.

You can see following code.

Quote:
isource #(.type("sine"), .ampl(sqrt(2.0)*sqrt(4*`db10_real(power-30)/rout)), .fundname(fundname), .freq(freq) ) is1(gnd,out);

//form the integral of noise
I(int) <+ white_noise(amp*amp*kw*kw, "osc");
I(int) <+ flicker_noise(amp*amp*kf*kf, 1, "osc");
I(int) <+ 1/(2*`M_PI)*ddt(V(int));

I(out) <+ V(out)/rout;
vc = sqrt(2.0)*V(int)/amp;

//insert the phase noise into the real signal
$cds_set_rf_source_info(fundname, freq);
I(out) <+ -amp*cos(2*`M_PI*freq*$abstime)*sin(vc);
In this case, large signal and small signal noise are separately.

This model works correctly for both HB and Shooting PSS, although I don't confirm its validity for both HB and Shooting QPSS.
I can understand a treatment of this separate modeling of large signal and small signal noise in Small Signal Noise Analysis subjected to Large Signal Steady State Analysis.

On the other hand, in fairly old "rfLib/osc", I can see different modeling like following.

Quote:
//capacitor to the ground
`define CAPG(p, val) I(p) <+ val*ddt(V(p))

//form the integral of noise
I(int) <+ white_noise(amp*amp*kw*kw, "osc");
I(int) <+ flicker_noise(amp*amp*kf*kf, 1, "osc");
`CAPG(int, 1/(2*`M_PI));
     
I(out) <+ V(out)/rout;
vc = sqrt(2.0)*V(int)/amp;

//insert the phase noise into the real signal
$cds_set_rf_source_info(fundname, freq);
I(out) <+ -amp * sin(2*`M_PI*freq*$abstime + vc);
In this case, large signal and small signal noise are modeled mixedly.
This model also works correctly for both HB and Shooting PSS.
However it is very difficult to understand small signal treatment in mixed modeling of large signal and small signal noise.

Anyway in any cases, model can't work correctly without "$cds_set_rf_source_info(fundname, freq);".
So such mixed modeling of large signal and small signal noise can't be valid except for Cadence Spectre.

Don't you think mixed modeling of large signal and small signal noise should be used even for Cadence Spectre ?

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