The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> Noise simulation using Verilog-A
https://designers-guide.org/forum/YaBB.pl?num=1466763115

Message started by giuls on Jun 24th, 2016, 3:11am

Title: Noise simulation using Verilog-A
Post by giuls on Jun 24th, 2016, 3:11am

Hi everyone,

I'm really really new to verilog-A and I need to do a noise simulation of a circuit containing a certain device.

By reading different articles or documentation in general, I've noticed that there are some functions in verilog-A, like white_noise(), flicker_noise(), that can be used for this purpose.
But i'm not able to find out what they actually do, for instance:

I(ia)<+white_noise(4*`P_K*T);

(ia in this case should be a signal port)Does this line add a noise current generator, which generates a current equals to 4*K*T (where K is the boltzmann constant and T is the temperature) to the node "ia"?

If that's so, How can i add, for example, a noise current generator which generates a shut noise (with a Power Spectral Density of 2*q*Id where q is the electron charge, and Id is the drain current)?

would this line:

I(d)<+white_noise(2*q*id);

be correct for that? (my doubt here is that the shut noise does not have a gaussian statistic, like the white noise, but a poissonian one)

Thank you for your help.

Title: Re: Noise simulation using Verilog-A
Post by Ken Kundert on Jun 25th, 2016, 11:36am

Shut noise?  Do you mean shot noise? Let's assume you do, because I have never heard of shut noise.

Code:
I(ia) <+ white_noise(4*`P_Q*ic)

You've got it. Your right that white_noise models a Gaussian process, but that is the right model for shot noise.

It is my understand shot noise is a Poisson process for individual electrons, but when considering the electrons in mass the distribution becomes Gaussian due to the law of large numbers.  This is described in the Wikipedia article on shot noise:

Quote:
For large numbers, the Poisson distribution approaches a normal distribution about its mean, and the elementary events (photons, electrons, etc.) are no longer individually observed, typically making shot noise in actual observations indistinguishable from true Gaussian noise.


-Ken

Title: Re: Noise simulation using Verilog-A
Post by giuls on Jun 27th, 2016, 1:31am

Yes, i meant shot noise, i just typed it wrong.

Ok so I can use the white_noise function for this kind of noise too.

So if I'd like to add another noise source, for example a flicker noise, i should use:

I(ia)<+flicker_noise((AH*ID2)/f)

(where AH is a constant which depends on the material, and f is the frequency, infact the flicker noise is inversely proportional to it)

Is that right?

Thank you for your answer :)

Title: Re: Noise simulation using Verilog-A
Post by Geoffrey_Coram on Jun 27th, 2016, 8:03am

I'd really suggest you download a copy of the Verilog-AMS Language Reference Manual; it's free from
http://www.accellera.org/downloads/standards/v-ams

The LRM will tell you the definition:

---
   flicker_noise ( pwr , exp [ , name ] )
which generates pink noise with a power of pwr at 1Hz which varies in proportion to 1/f exp.
---
Note that you don't provide the frequency; the simulator plugs it in for you.

Title: Re: Noise simulation using Verilog-A
Post by giuls on Jun 27th, 2016, 8:26am

Thank you, I've downloaded the reference manual and I gave a look to the noise paragraph, but I'll surely look more into it.

Title: Re: Noise simulation using Verilog-A
Post by iVenky on Jun 15th, 2017, 8:59am


Ken Kundert wrote on Jun 25th, 2016, 11:36am:
Shut noise?  Do you mean shot noise? Let's assume you do, because I have never heard of shut noise.

Code:
I(ia) <+ white_noise(4*`P_Q*ic)

You've got it. Your right that white_noise models a Gaussian process, but that is the right model for shot noise.

It is my understand shot noise is a Poisson process for individual electrons, but when considering the electrons in mass the distribution becomes Gaussian due to the law of large numbers.  This is described in the Wikipedia article on shot noise:

Quote:
For large numbers, the Poisson distribution approaches a normal distribution about its mean, and the elementary events (photons, electrons, etc.) are no longer individually observed, typically making shot noise in actual observations indistinguishable from true Gaussian noise.


-Ken


I am facing an issue with the white noise verilog a model. It works well for transient simulation, but when I run it with pss/pnoise, it's not considering the white noise in the verilogA model. Do you know if there is any option that I should enable?

Thanks!

Title: Re: Noise simulation using Verilog-A
Post by Geoffrey_Coram on Jun 16th, 2017, 5:03am

The noise sources in Verilog-A were originally intended for small-signal ac noise simulations, such as you might do in Spice. Those simulators that support "transient noise" presumably also extended the VA noise sources to work in transient. Transient noise is a little tricky: you have to generate new samples frequently enough to get the power spectrum flat to high enough frequency, without causing convergence problems from the values jumping around.

Are you trying to do transient noise in a PSS? Or are you trying to do a PSS without noise, and then add the small-signal PNoise (which is a small-signal analysis but on the time-varying "operating point" of the PSS)?

Title: Re: Noise simulation using Verilog-A
Post by iVenky on Jun 16th, 2017, 8:44am

Hi,

Thanks for the reply. I am trying to do pss analysis first and then pnoise. I don't need to have noise in the pss analysis simulation. I am interested in finding the phase noise for the circuit so I want the pnoise sim to consider the effect of noise in the verilogA model. I ran the sim but it looks like pnoise doesn't consider the effect of noise due to this verilogA model.

Title: Re: Noise simulation using Verilog-A
Post by Ken Kundert on Jun 16th, 2017, 9:10am

First off, you should start your own thread rather than simply add on to someone else's, even if your question is related. By changing the subject of an existing you make it very confusing to follow.

Second, if you want some help, you are going to have to give us more information. We've gone as far as we can with the little that you have said.

-Ken

Title: Re: Noise simulation using Verilog-A
Post by Geoffrey_Coram on Jun 22nd, 2017, 7:21am

You could try setting up some test simulations:
1) normal resistor in pss/pnoise
- make sure your pss/pnoise is set up correctly
2) verilog-a definition of resistor in pss/pnoise
- should match 1)
3) standard diode in pss/pnoise
- using time-varying source, so pss is non-trivial and noise is bias-dependent
4) verilog-a diode in pss/pnoise
- a little tricky to get a complete diode model in Verilog-A

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