• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Mixed-Signal Design
  3. How can I give Addictive White Gaussian Noise(AWGN) as an...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 65
  • Views 6353
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How can I give Addictive White Gaussian Noise(AWGN) as an INPUT?

Surya Kiran
Surya Kiran over 10 years ago

Hi,

I am Using Cadence Virtuoso 6.1

I am designing front end design and I need to add an AWGN as an input to verify it, I am using Spectre Simulator for this design.

Please help me with this.

Thank you

Surya

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Surya,

    In analogLib, you could use vsource. Vsource has a number of options to add random noise. Check out parameters isnoisy, noisefile, noisevec, noisetype, noiseinterp, rjseed rjrms, pjamp, pjfreq, pjtype.

    You could also use a VerilogA model:

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

    module noisesrc (op);
    output op;
    electrical op;

    analog begin
      @(initial_step) $display("Noise arg is ",sqrt(4*`P_K*$temperature*50.0),"V/sqrt(Hz)");
      V(op) <+ white_noise(4*`P_K*$temperature*50.0);
    end

    endmodule

    This is a small signal noise source for "noise" analysis. If using transient, you could use a verilogA model using $rdist_normal() - but not sure what your requirements are (you could also use transient noise with one of the above sources).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Surya Kiran
    Surya Kiran over 10 years ago

    Andrew, 

    Thank you for your reply. 

    I am using transient analysis and I want to check my design by giving Addictive white gaussian noise(AWGN) as an input.

    When I select Vsource from the analoglib, it is not giving me all those parameter you mentioned above

    Here I don't understand what to choose in Noise entry method (File or Noise/Frequency points).

    and the above model You gave is for the noise analysis, but what changes do I have to make to use it in transient analysis and where should I include $rdist_normal() in the Code.

    Surya.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Surya,

    Probably the simplest is for you to be using a recent enough version of both the IC tools and MMSIM so that the prbs (Pseudo-Random Binary Source) options are available?

    Also, the Verilog-A code I gave will work if you enable transient noise. I don't have time right now to produce an example using $rdist_normal.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • danglanggao
    danglanggao over 9 years ago

    Andrew,

    My IC version is 615, and the version of MMSIM is 10.1, I still can't find the "inoisy" plugin. and when i try to add noise/freq pairs, the transient simulation result shows that the added information doesn't make effect. So how could i get a white Gaussian noise added to a supply source when doing transient simulation? Only verilog-A model?

    BTW, I'm doing a PLL simulation, and I want to know the effect of supply noise on PLL's output 's jitter performance. 

    Hoping your reply!

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    I'm sure this should work because vsource has supported isnoisy (not that you'd have to set it anyway, because provided you've set the noise source parameters and are actually running transient noise, this should work).

    So what does your tran analysis statement look like in the input.scs file?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information