The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 28th, 2024, 10:20am
Pages: 1
Send Topic Print
Noise simulation using Verilog-A (Read 8956 times)
giuls
New Member
*
Offline



Posts: 3

Noise simulation using Verilog-A
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.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Noise simulation using Verilog-A
Reply #1 - 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
Back to top
 
 
View Profile WWW   IP Logged
giuls
New Member
*
Offline



Posts: 3

Re: Noise simulation using Verilog-A
Reply #2 - 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 Smiley
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: Noise simulation using Verilog-A
Reply #3 - 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.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
giuls
New Member
*
Offline



Posts: 3

Re: Noise simulation using Verilog-A
Reply #4 - 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.
Back to top
 
 
View Profile   IP Logged
iVenky
Senior Member
****
Offline



Posts: 101
Silicon Valley
Re: Noise simulation using Verilog-A
Reply #5 - 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!
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: Noise simulation using Verilog-A
Reply #6 - 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)?
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
iVenky
Senior Member
****
Offline



Posts: 101
Silicon Valley
Re: Noise simulation using Verilog-A
Reply #7 - 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.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Noise simulation using Verilog-A
Reply #8 - 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
Back to top
 
 
View Profile WWW   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: Noise simulation using Verilog-A
Reply #9 - 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
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 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.