• 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. Way to automatically print the noise summary after noise...

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 125
  • Views 16895
  • 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

Way to automatically print the noise summary after noise analysis

sidm
sidm over 3 years ago

Hi All,

I am performing noise analysis on a circuit using IC618 and as of now printing the total integrated noise summary after every iteration using the Results -> Print option.

Is there a way to automatically print the noise summary after noise analysis instead of having to do this every time using the Results -> Print -> Noise summary menu ?

thanks in advance.

regards

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear sidm,

    sidm said:
    Is there a way to automatically print the noise summary after noise analysis instead of having to do this every time using the Results -> Print -> Noise summary menu ?

    Yes. You may add the following expression as an output expression in Assembler or Explorer where fmin_Hz and fmax_Hz are the numerical values in Hertz  that you would enter on the Print Noise Summary GUI shown in Figure 1. In the example I show in Figure 2 and Figure 3 are the Noise Summary output and the Calculator output for the expression with integration limits fmin_Hz = 1e-03 Hz and fma_Hz  = 1e9 Hz. Note the total integrated noise of both is identical.

    integ((getData("out" ?result "noise")**2) fmin_Hz fmax_Hz nil )

    I hope this is what you are looking to do sidm.

    Shawn

    Figure 1

    Figure 2

    Figure 3

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sidm
    sidm over 3 years ago in reply to ShawnLogan

    Thank you for the reply but when trying the above expression I am getting the below error in CIW - will be helpful if you can suggest what is going wrong.

    expression evaluation failed: val is not legal.
    expression evaluation failed: integ((getData("vop" ?result "noise")**2) 0.1 500 nil )

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to sidm

    The output of a noise analysis is always called "out". It's not the name of the output signal, because when you set up the noise analysis you tell it where the output is, and all the noise contributors are computed to that specified output node. It's only possible to get the output-referred noise at a single pre-defined output, so specifying the node name makes no sense. 

    The problem is you've changed your expression to use "vop" instead of "out", and that's incorrect. Change it back to "out" and it should work.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to sidm

    Dear sidm,

    sidm said:
    Thank you for the reply but when trying the above expression I am getting the below error in CIW - will be helpful if you can suggest what is going wrong.

    The error is due to the fact that you did not use the expression I provided. It should read:

    integ((getData("out" ?result "noise")**2) 0.1 500 nil )

    and not:

    integ((getData("vop" ?result "noise")**2) 0.1 500 nil )

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sidm
    sidm over 3 years ago in reply to Andrew Beckett

    thank you very much for the reply Andrew. Actually initially I had used the expression as it is with the "out" but I was getting the same error hence I changed it to vop.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to sidm

    Dear sidm,

    sidm said:
    Actually initially I had used the expression as it is with the "out" but I was getting the same error hence I changed it to vop.

    Is the context of the Calculator (assuming you are using the expression in the calculator) set to the noise database? It will be helpful if you provide more information on where you are using the expression and the context of the command. More specifically, if you add the following to the command, this will force it to use the directory in which the noise results exist:

    integ((getData("out" ?result "noise" ?resultsDir "<UNIX_path_to_psf file that contains_your_noise_simulation_result>")**2) 0.1 500 nil )

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to sidm

    Dear sidm,

    sidm said:
    Actually initially I had used the expression as it is with the "out" but I was getting the same error hence I changed it to vop.

    Is the context of the Calculator (assuming you are using the expression in the calculator) set to the noise database? It will be helpful if you provide more information on where you are using the expression and the context of the command. More specifically, if you add the following to the command, this will force it to use the directory in which the noise results exist:

    integ((getData("out" ?result "noise" ?resultsDir "<UNIX_path_to_psf file that contains_your_noise_simulation_result>")**2) 0.1 500 nil )

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • sidm
    sidm over 3 years ago in reply to ShawnLogan

    thank you very much for information Andrew & Shawn,

    Yes the expression is working with out.

    How would the expression change for computing integrated noise that is not squared i.e. the V option instead of V^2 ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to sidm

    Dear sidm,

    sidm said:
    Yes the expression is working with out.

    Wonderful!! Thank you for letting us know!

    sidm said:
    How would the expression change for computing integrated noise that is not squared i.e. the V option instead of V^2 ?

    Please think about what you are asking, and I believe you will be able to figure this out. You still need to integrate the noise over a frequency range of interest to determine the squared voltage. Since noise is a random process, the voltage of interest is defined as the square root of the integrated voltage in v^2 (i.e.,  an "rms" value). Hence, referring the the table from the Calculator in Figure 1 where the expressions I used to calculate the voltages in both V^2 and V are shown and adjacent each result, note that the results are identical to those in the Noise Summary "Results Display Window" from the Print->Noise Summary GUI. I hope this provides a clear enough answer and is consistent with your understanding too sidm.

    Shawn

    Figure 1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sidm
    sidm over 3 years ago in reply to ShawnLogan

    thank you very much Shawn.

    • 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