The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jun 30th, 2022, 1:06pm
Pages: 1
Send Topic Print
Small Signal Noise Treatment in Verilog-A for Cadence Spectre PSS Analysis. (Read 447 times)
cheap_salary
Senior Member
****
Offline



Posts: 162

Small Signal Noise Treatment in Verilog-A for Cadence Spectre PSS Analysis.
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 ?
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2022 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.