• 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 6354
  • 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
Parents
  • 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
Reply
  • 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
Children
No Data

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