• 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. Custom IC Design
  3. input and output noise simulation with Spectre Noise analysis...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 127
  • Views 30165
  • 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

input and output noise simulation with Spectre Noise analysis?

isazulkc
isazulkc over 14 years ago
Hi, I would like to know if the output noise (V-rms) obtained when I simulate the output noise of a circuit with Spectre simulator (Noise) include the noise of ALL the components referred to the output ? In fact I got some inconsistant result when comparing the input and output noise (V-rms) given by the simulator. I got 1.4 mV-rms at the output while I have 13 mV-rms as input refered noise. I know input referred noise give the input equivalent noise (anasimhelp) considering a noise-free circuit, but I am note sure for the output noise. Thanks for your help!! Best regards
  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    The noise analysis in spectre (and indeed other simulators) compute primarily the noise at the output of the circuit, from all noise sources in the circuit. The only reason for noise not being included is if the noise on that component has been specifically disabled (for example, the instance parameter isnoisy=no has been set). The way it works is to compute the magnitude of the noise at the noise source (i.e. at the device) based on the bias point (if that matters - for example, for shot noise), and also compute the transfer function from the noise source (i.e. at the device) to the output. The noise powers at the output are then summed, and the total output noise computed.

    The input referred noise (which is a secondary output) is computed by taking the total output noise, and dividing it by the gain from the output back to the input that you specified on the noise analysis.

    If your circuit has attenuation, then the input referred noise at the input will be larger than at the output.

    You can use the noise contribution table (Results->Print->Noise Contributions) or the results browser to look at the noise contributions (at the output of the circuit) from each noise source in the circuit. This is a useful debugging tool to find out where the noise is coming from (or not!).

    You could also compare the gain with (say) an xf analysis to see what the gain is in the circuit, so you can see if it is attenuating. If it's not meant to attenuate, maybe you specified the wrong nodes, or maybe the circuit is not biased properly (so check the operating  point; it's amazing how often people don't check that, and commonly do things like forget to connect the supplies up. We've all done it!)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • potsticker
    potsticker over 12 years ago

     hi Andrew,

    i found this post to be very similar to the question i have on hand so I am replying to it.
    (please let me know if i should start a new thread)

    Question: in the noise simulation, is there anyway to retreive the original device noise itself.

    for example, the simulation noise summary can report M1 contribute 2.5e-22 to the output, but how can i found out what the M1 device noise is itself before it is multiplied by the transfer function ?

    thanks
    Frank

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

    Frank,

    The pnoise analysis has a feature called "noise separation" which does precisely this - gives you the noise contribution from each sideband, but also gives the noise at the device, plus the gain from the device to the output as separate quantities. Conventional "ac" noise analysis doesn't provide this unfortunately - you only get the  noise contribution at the output.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • potsticker
    potsticker over 12 years ago

    thank you very much Andrew.

    I understand that this is not available from the GUI, but if you know of any function or script i can use to retreieve individual device noise from the ac. noise sim I would appreciate it. I assume the ac. noise sim does indeed calaculate indivdual noise first?

    thx

    Frank

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • potsticker
    potsticker over 12 years ago

     hi Andrew,

     i did ended up running pss and pnoise on the circuit and was able to retrieve the individual device noise. thanks Andrew

    ttyl

     

    Frank

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

    Hi Frank,

    potsticker said:
    I understand that this is not available from the GUI, but if you know of any function or script i can use to retreieve individual device noise from the ac. noise sim I would appreciate it. I assume the ac. noise sim does indeed calaculate indivdual noise first?

     

    Whilst this is computed inside the simulator, there's no option to output the date. You'll need to contact customer support to request this enhancement (which seems quite sensible and consistent to have to me).

    Glad you managed to use pss/pnoise as an alternative.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Lancehp
    Lancehp over 10 years ago

    Hi Andrew,

    I know this is an old thread but just wanted to give it a shot. For some of us that don't have access to the ADE in cadence, can you please elucidate how to write the code to do noise analysis in spectre. So for example i have a TIA (inverter with resistor feedback) driven by an ideal current source to model the reversed biased diode current, if i wanted to do a noise analysis as a function of frequency to computer the input referred noise current, do i insert an "iprobe" at the input between the ideal current source and gate of the inverter? And how exactly do i set instance parameter isnoisy=no for the feedback resistor for example. say my netlist looks like this for example (used spice syntax for device definitions)

    Mn out in1 VSS VSS

    Mp out in1 VDD VDD

    Rfb out in1 300

    //current source

    Idriver int VSS 10u

    ip (int  in1) iprobe

    //Question 1

    Did i specify the iprobe correctly?

    //Question 2

    How do i specify noise analysis to be included in my AC frequency sweep  (I am not using ADE, purely spectre netlist)

    //Question 3

    How do i specify not to include the noise contribution of the resistor feedback Rfb using isnoisy=no ?


    If i need to use pnoise analysis please address the questions similarly.

    Thanks!

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

    Posting on the end of an old thread clearly didn't get a quick answer - I don't know why you did this (the forum guidelines explain why you shouldn't)?

    1. There's no need to create an iprobe, since to compute input referred noise, you need to specify the input source - which can be a current source. In fact I don't think it would work with a noise analysis anyway to use the iprobe.
    2. You should specify your noise analysis in spectre syntax:
      noise (out 0) noise start=1 stop=1G dec=10 iprobe=Idriver
    3. Just add isnoisy=no on the end of the Rfb line. Personally I wouldn't mix spectre and SPICE syntax, but it does work fine in this case.

    Your transistors don't have model names or sizes defined, but I assume this is just to illustrate what you're doing.

    For pnoise, you'd have to also set up a pss analysis too. Look at "spectre -h pss" and "spectre -h pnoise" for details on using these analyses. Or for some command line examples, you could look at: Simulating switched-capacitor filters with SpectreRF

    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