The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> Problem with flicker_noise and white_noise
https://designers-guide.org/forum/YaBB.pl?num=1186064709

Message started by feihudui on Aug 2nd, 2007, 7:25am

Title: Problem with flicker_noise and white_noise
Post by feihudui on Aug 2nd, 2007, 7:25am

hallo,

i have just tried to add white noise to the resistance model with Verilog-Ams, so my code

`include "constants.vams"
`include "disciplines.vams"

module restest (p,n);

inout p,n;
electrical p,n;
electrical pi;
parameter real r=1.0k;

analog begin

V(p,pi) <+ I(p,pi)*r;
V(pi,n) <+ white_noise(4*`P_K*$temperature*r,"thermal");

end

endmodule

but it does not work. If i removed the noise statements, it functions. Analog, i want to bring flicker_noise to my VCO model. I have the same problem.

Title: Re: Problem with flicker_noise and white_noise
Post by Marq Kole on Aug 2nd, 2007, 8:31am

Is the noise meant for small-signal noise analysis? white_noise will only give a result in a SPICE .NOISE analysis (or equivalent in other simulators.

B.t.w.: You can use a single branch instead of one with an internal node:


Code:
V(p,n) <+ I(p,n)*r;
V(p,n) <+ white_noise(4*`P_K*$temperature*r,"thermal");


That saves an internal node...

Title: Re: Problem with flicker_noise and white_noise
Post by Geoffrey_Coram on Aug 6th, 2007, 6:28am

Marq is correct; I suspect actually that the internal node is causing trouble in this case (though it shouldn't).  The curious thing about the contribution operator (<+) is that it accumulates; it's not an assignment.

You could also try the conductance formulation:

Code:
I(p,n) <+ V(p,n) / r;
I(p,n) <+ white_noise(4*`P_K*$temperature / r,"thermal");

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